묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
Save As의 pkt 파일과 Save As PKZ 파일의 차이가 알고싶습니다.
안녕하세요, 다름이 아니라 PKZ 파일 저장은 무슨 기능이 있는지 잘 알지 못하여 구글링을 했는데 해소가 될만한 답변은 없더라구요... 혹시 PKZ 파일이 어떤건지 알 수 있을까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http response code는 언제 설정하는게 적절한가 ?!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]우선 HTTP 상태코드 강의를 수강하였습니다. 그리고 생각을 해보니 ... 혼자 개발활동을 해서 그런지 상태코드를 직접 수정하거나, 지금 강의에서 배운 3xx , 4xx 상태코드를 따로 설정하여 클라이언트에게 보낸 경험이 없습니다. 만약 3, 4, 5 xx 에러가 발생을 했을 때는 서버 혹은 클라이언트(브라우져)가 기본적으로 처리해주는 상태코드만 사용했습니다. 그래서 강의에서 말씀해주신 상황들을 찾아 git 을 돌아보며 어떻게 사용하면 효과적인지 찾아보았지만 .... 무엇이 적절하게 사용한건지 구분을 할 수 없었습니다. 이제 정리해서 질문을 드리겠습니다. Q. 현업에서 상태코드를 API를 개발하면서 하나 하나 설정하는 것이 적절한 방법인지 궁금하며, 상태코드를 보다 효과적, 체계적으로 관리하기 위한 예시(git, posting, 등 )가 있는지 궁금합니다. (찾아보면서 저를 못 믿어 질문 올려봅니다.)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
stateless 중계서버
안녕하세요 항상 강의 잘 듣고 있습니다! 9분 11초 그림에서 나오는 stateless 중계서버는 프록시 서버가 그 역할을 하는 것이 맞는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
CRASH에서 cause는 로그를 출력하기 위한 목적인가요?
강의에서는 cause가 실제로 쓰이는 부분이 없는데 용도가 무엇인지 궁금합니다. 그리고 ASSERT_CRASH에서 __analysis_assume을 쓰는 이유는 무엇인가요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
Accept-Language 다중 언어 지원 서버 관련 문의
안녕하세요 영한님 항상 좋은 강의 감사드립니다 Accept-Language를 적용하게되면 요청시 서버가 클라이언트가 요청한 언어에 최대한 맞는 언어로 응답을 보낸다고 말씀하셨는데 이 때, 다중 언어 지원 서버라고 하는 것은 HTML Language가 EN, KO로 모두 작성되어있어서 백엔드(웹프레임워크)단에서 언어에 따른 HTML 취사선택이 가능하도록 구현되어있을 경우를 이야기하는 것인지 궁금합니다. 연말이 다가오고 있습니다 코로나 확진자도 많아지는데 질문 답변해주시는 서포터님들께 항상 감사드리고 코로나 조심하시고 연말 따뜻하고 건강하게 보내시길 바라겠습니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3 handshake(with socket library) 관련 질문있습니다.
강의가 너무 유익해서 시간가는줄 모르고 잘 보고있습니다. 좋은 강의 만들어주셔서 대단히 감사합니다. 하지만 강의를 보다가 이해가 잘 안되는 부분이 있어서 질문 드립니다. 강의시간이 1:50 쯤의 그림을 보면서 "socket 라이브러리를 통해 전달" 한다는 것이 이해가 잘 되지 않았습니다. 이 말을 저는 socket 라이브러리가 알아서 3handshake를 해서 연결상태를 보장받고 이후 TCP/IP 패킷을 생성하고 http 메시지를 담아 보내는 것으로 이해했습니다. 그런데 이 과정 중 3handshake와 socket library에 모호한 점이 있었습니다. 1-1. socket 라이브러리에서 3 hand shake 를 그림에서의 과정과 다르게 별도로 진행하여 연결이 되었다고 판단되면, 패킷 생성하고 네트워크 인터페이스 레이어를 지나 인터넷을 통해 서버로 전달. 즉, http 통신 프로세스와는 별개로 따로 서버와 syn / syn+ack / ack 만 주고받는 통신진행을 진행하는지 1-2. 아니면 전체 프로세스(강의에서 제공한 그림처럼)를 http 메세지와 syn이 포함된 TCP/IP 패킷을 생성하여 3번(syn / syn+ack / ack) 진행하는지 만약 1-1번 처럼 socket 라이브러리에서 따로 서버측과 syn / syn+ack / ack 을 통신한다면, 2-1. 최초 서버로 http 요청시 socket 라이브러리에서 3handshake를 실패시 http 요청 자체가 보내지지 않는건지. 그렇게 되면 클라이언트는 어떠한 응답도 못받는 상태가 되는건가요? 2-2. socket 라이브러리에서 3handshake를 하는 과정도 동일하게 TCP/IP 패킷을 생성하는지, 단순히 syn / syn+ack / ack 만 보내는지 궁금합니다. 3-1. 마지막으로 궁금한 것은 socket 라이브러리가 이런 것을 담당한다면 TCP를 이용한다면 반드시 socket 라이브러리를 써야하는 건지 궁금합니다. socket 라이브러리도 대체 가능한지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
DNS서버에 조회 해서 웹브라우저에 받아오는 일련의 과정에 대해
안녕하세요.너무 잘보고있는데요.한가지 DNS서버에 조회 해서 웹브라우저에 받아오는 일련의 과정이 조금 헷갈려서 질문드립니다. 1.웹브라우저에서 구글서버로 접속하기위해 1) 먼저 DNS에 접속하여 IP주소와 port정보를 찾아냅니다. 2)그후에 DNS서버로부터 받아온 정보로 HTTP요청 메시지를 생성하는데요. 그럼 https://www.google.com:443/ 까지는 웹브라우저에서 DNS서버를 가서 조회를 해서 IP주소와 port 정보를 조회하여 그 정보만 요청한 웹 브라우저로 넘겨주게되고, 웹브라우저는 다시 DNS서버로 부터 받은 IP주소와port정보를 포함하여 HTTP요청 메시지를 만드는데 그 안에는 path뒤 부터인 /search?q=hello&hl=ko가 구글 서버에 접속해서 관련 정보를 받아온다고 생각하면되는게 맞나요? 그런데 이게 맞다면 1분11초 HTTP메시지에 Host는 www.google.com이고, 또 따로 패킷에 받아온 구글 IP주소 를 to에다가 200.200.200.2로 보내는게 맞는지가 궁금합니다. (제가 생각했을때는 DNS서버로 부터 받아온 IP주소를 Host에다가 200.200.200.2라고 적으면 된다고 생각했었는데, 다시 www.google.com이라고 적어놓으셔서 그럼 HTTP요청 메시지 패킷을 전송할때는 www.google.com와 IP주소 200.200.200.2가 모두 필요한걸까? 라는 의문이 들어서요.) 2. search가 path인데요. 그럼 예를들어 구글 서버 자체에 serarch라는 디렉토리가 있는건가요? 그래서 그 serarch안에 q=hello&hl=ko의 해당정보가 들어있는건가요?... 3. DNS서버도 따로 존재? 한다고 들었는데, 이게 또 SK, LG, KT 등 통신사에 등록이 되어있다고 들었습니다. 혹시 SK의 경우 DNS서버홈페이지같은거는 어디서 알 수 있을까요? 한 번 들어가서 구경하고 싶은데.. 검색해도 안나와서요. 3-1 또 DNS서버로 요청할때도 3way handshake로 동작해서 패킷단위로 던져지는게 맞나요? 4. 제가 생각했을때 http https ftp smtp 마다 호칭을 HTTP요청메시지 or HTTPS요청메시지 or FTP요청메시지 or SMTP요청메시지 이런식으로 각각 따로 불려야 될 것 같은데.. 이거를 그냥 어떤 프로토콜을 사용하던지 'HTTP요청메시지' 라고 통용해서 사용하는 건가요? 5. 1분49초 시작부터 , 이해가 잘 가지않는데요.그럼 지금 이 HTTP메시지 전송과정 전에 이미 DNS서버를 가서 IP주소랑 port번호를 찾아 온후! 진행되는 과정이라는 가정하에 IP주소랑 port번호를 찾았다고 말씀하시는거죠? 그리고 1)소켓라이브러리를 통해서 먼저 찾은IP주소와port번호로 2)syn- syn ack - ack 해서 (가상)구글 서버와 연결을 한 후 3) OS계층인 TCP/IP 로 전달을 합니다. 그다음 패킷을 씌운후 인터넷망으로 던져진다! 순서과정을 이렇게 이해하면 될까요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
DNS 요청 방식에 대해 질문드립니다.
안녕하세요 영한님 항상 좋은 강의 감사드립니다 :) 다름이 아니라 DNS를 공부하면서 의문이 드는 점이 있어 질문드리려고 합니다. 우리가 통상적으로 브라우저에 도메인 이름을 입력하면, DNS에 요청이 들어가고 DNS에서 응답이 오면 반환된 IP를 이용하여 서버로 접속요청을 한다... 라는 맥락으로 강의 내용을 이해했습니다. 그런데 종종 도메인 이름이 아니라 IP를 직접 입력하여 접속을 하는 경우도 있습니다(192.168.0.1)이나 공유기 아이피 접속... 여러가지가 있겠습니다. 질문 요지는 이렇습니다 DNS에 굳이 접속하지 않아도 되는 이런 IP로 접속했을때는 DNS서버로 요청을 보내지 않을 것 같습니다. 그렇다면 DNS로 요청을 보낼지 말지 결정하는 주체는 브라우저인지,,, 누가 결정하는 것인지 궁금합니다. 감사합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
주신ppt자료 사용에대하여
안녕하세요! 영상 너무 잘 보고있습니다.다름이 아니라, 제가 블로그 포스팅을하려고하는데요. 주신 pdf자료로 사진 올리면서 하고싶은데,자료출처밝히고 사진 올리는 형식이면 포스팅 가능한지에 대해 여쭤보려 질문드립니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
UDP개념을 듣다가 질문좀 드립니다.
안녕하세요. 김영한강사님. 수업이 너무 유익하여 감사히 잘 듣고 있습니답. 다름이 아니라 강의를 듣다가 강사님께서 TCP에는 손을 못대고 자기가 직접 최적화 하고 싶은것은 애플리케이션 레벨에서 UDP에다가 내가 원하는걸 만들어 내면 된다고 하셨는데 이미지를 보면 UDP는 전송계층이라고 되어있는데 왜 UDP라는 곳에 내가 원하는 데이터를 담을때 애플리케이션 레벨에서 담는다고 표현을 하신걸까요..?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
L2 스위치 관련 질문 드립니다.
안녕하세요, 틈틈히 유익한 강의 잘 보고 있습니다.스위치가 MAC소를 기반으로 Frame을 전달 하는 장치라고 배웠습니다. 그러면 이러한 스위치에서 맥 테이블 조회를 하여 각각의 스위치 포트들이 아래의 두가지 사항을 찾을 수 있는지 질문드립니다. 1. 각 포트들이 어디에 연결되어 있는지 알 수 있는지 2. 업링크 포트는 따로 표시 되는지(안된다면 기본적인 규칙이 있는지) 위의 두개 항목이 궁굼합니다..
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
wstring값에 대해서 질문있습니다.
이전 강의 실습까지는 모두 결과가 잘 나왔는데 이번 강의에서는 Read할때 값이 모두 0으로 바뀌어서 전달되었습니다... imbue를 사용하기 전, 후 모두 0이라 다른 문제 인 것 같은데 어느 부분이 문제인지 잘 모르겠습니다ㅜㅜ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
세션 = 유저, 서버
세션은 user 또는 연결되는 서버라 생각하면 될까요? 세션 하나당 user나 서버 연결 하나 라고 생각하면 될까요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Completion Port모델 질문드립니다.
IOCP강의를 듣고 실습을 하는 중에 이상현상?이 생겨서 질문 드립니다. 정상적으로 실행되거나 밑에 현상이 생기거나 반복이 되고 있는데 뭐가 문제일까요... 코드는 올려주신것과 똑같습니다! 1) accept만 뜨고 client connected가 안뜨는 경우 (클라에서 송신은 계속 하고있다.) 2) server에서 break point를 잡고 실행하면 client connected도 잘뜨고 수신도 잘합니다. (처음 한두번은 800, 200 이렇게 한꺼번에 데이터를 수신합니다.) 3) 다시 break point를 해제하면 1번과 같은 상황이거나, 정상적으로 처음부터 100씩 수신받는 상황이 랜덤으로 발생
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Connector.Connect 질문입니다.
클라에서 Connector를 통해서 연결시도를 할 때, Connector에게 endPoint를 전달합니다 Connector에서는 socket에 endPoint.AddressFamily를 전달하는데, 제가 생각하는 것은 IP주소 '만' 전달합니다. 뒤에 SocketAsyncEventArgs args 변수를 선언하고 args.RemoteEndPoint에 endPoint를 한 번 더 전달합니다. socket.ConnectAsync할 때 args를 전달합니다. 헷갈리는 부분은 endPoint를 두번 전달하는 것입니다. socket에는 IP주소'만' 들어있어서 포트번호를 모르니 args.RemoteEndPoint에 port번호 포함 주소를 다시 준 것 인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Part 4 완료 후 코드리뷰 중 질문입니다.
OnRead함수의 역할은 args.BufferList에 연결된 RecvBuffer가 RecvAsync를 통해 받은 데이터의 사이즈와, RecvBuffer의 DataSize 프로퍼티에서 확인가능한 버퍼 내부의 해독 안 된 데이터의 사이즈를 비교하여 차이의 유무를 판단하는 것이라 이해했습니다. 그런데 OnWrite의 기능은 이해하기 어려운 것 같습니다. 간단하게나마 데이터 수신 후 오버플로우 체크용 함수로 이해는 했는데 정확한지를 모르겠네요
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Socket 관련하여 질문이 있습니다.
Socket관련하여 궁금한게 있습니다! 1.채팅프로그램 관련하여 WebSocket 이란것을 알게되었는데, 이것도 Socket을 구현한것인가요? 2.그리고 최근 채팅프로그램들은 디자인외에 백단쪽은 WebSocket 으로만 구현을할까요? 그게아니면 필요한기술들이 어떤것들이 있는지 궁금합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTML FORM에서 GET, PUT 외 메소드 사용
안녕하세요! 강의 정말 잘 듣고 있습니다. 감사합니다 ㅎㅎ <질문> HTML Form 태그를 사용해서 데이터 수정을 해야할 때, 1. POST 메소드를 사용하도록 설계(FORM은 GET, POST만 가능하기 때문에)하는 방법 2. 수정이니까 PUT으로 설계하고 아래와 같이 처리하는 방법 이 두 방법 중에 어떤 방법이 더 보편적인 방법인지 궁금합니다. 전에 PUT으로 회원정보 수정 API를 만들었는데, 프론트에서 FORM을 PUT으로 보낼 수 없다고 해서 애 먹다가 위와 같은 방법으로 해결했습니다. 이 경우 그냥 POST를 사용하도록 API를 설계하는게 더 좋은 방법이었을까요??
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의 수강 로드맵을 어떻게 하면 좋나요?
야생형 코스로 jpa 기초 앞부분 jpa 실무1 jpa 실무2 중간정도를 들었는데요 일단 저는 어려운점이 10가지 정도 있었습니다.1. jpa1 에서 thymeleaf 부분이 어려웠는데 그래도 반복해서 보니까 좀 알것 같긴 했어요2. 검색 관련 jpql 이 어려웠어요3. 영속성 컨텍스트 , @transactional등 개념이 어려웠어요4. 지연 로딩 문제 해결 방법이 어려웠어요5. 다대다 매핑이 어려웠어요6. 주문 함수의 인자값이 왜 저렇게 되나7. 어노테이션 모르는게 좀 있었어요8. 컬렉션 관련 문법, -> 문법(java8 문법? 람다?) 이런 부분들이 어려웠어요 9. jpa 실무2 버젼이 올라갈수록 복잡해져서 어렵10. 로그인이나 리액트 연동 같은게 없어서 연습용 프로젝트에 활용이 어렵 근본적인 이유는 자바와 스프링 기초가 부족해서 일까요? http 강의를 보고 나서 느낀점은 jpa 기초 강좌도 그렇고 이것도 어떻게 보면 기초 강의중의 하나잖아요 그런데도 어렵;; 앞의 강의들을 정리하면서 봤는데 실습이 없으니까 내용의 흐름 파악이 쉽지 않고 디테일들고 잘 모르겠는 부분이 많아요 그리고 jpa1과 jpa2 실무 강의를 들으면서 어려웠던게 여전히 어려울것 같아요 mvc1 mvc2 강의를 들어야 될까요? 온라인에서 부족한 자바 실력을 채우려 했는데 차라리 학원을 다녀야 되나 고민이 되요 자바 기본도 부족하고 실무 강의들을 몇번을 반복해서 봐도 어려운 부분들이 많다면 오프라인 학원이 좋을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
coreMacro xalloc 관련 질문입니다.
제가 현재 비주얼스튜디오 2019를 사용하고 있습니다. macro에 xalloc이라고 작성하면 오류가 나서 Xalloc으로 이름을 변경하고 사용하니깐 빌드가 잘 되더라구요. 혹시 이름 변경하고 실습을 진행해도 될지 질문드립니다!