묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
NAT 게이트웨이는 EIP를 꼭 가져야 하나요?
실습 위주 좋은 강의 항상 감사합니다. NAT 게이트웨이가 꼭 고정된 public ip(EIP)가 필요할까요? 서브넷에서 바라보는 gateway 설정만 있는데 public ip도 필요없지 않을까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP API 데이터 전송
안녕하세요. 스프링 기본편에서 서버 - 클라이언트 간 데이터 전달을 다음과 같이 정리해 주셨는데요. 클라이언트 -> 서버 1. Request parameter 2. HTML FORM 3. HTTP MESSAGE BODY 서버 -> 클라이언트 1. HTML 정적리소스 2. VIEW 템플릿 3. HTTP MESSAGE BODY 이번 챕터에서 배우는 HTTP API는 위의 6가지랑 비교하면 어디에 해당하는건가요?? 정리하자면, 서버 - 클라이언트 간에 데이터 전송하는 방식을 구체적으로는 알겠는데, HTTP API라는게 어디에 해당하는건지 잘 모르겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadLock부분에서 이해한게 맞는지 확인하고 싶습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이부분에서 Interlocked.CompareExchange 조건문에 예상값과 비교후에 +1을 해주는데 일반적인 상황은 아니겠지만 ReadCount범위를 초과하게 되면 어떻게 되는거지 라고 생각을 해보니 결국 WriteCount영역에 도달을 하게 되지만 ReadCount최대값의 +1 까지만 접근 가능하고 더이상은 WriteCount가 올랐기 때문에 더이상 접근할수 없게되고, 그 이후에 ReadUnLock() 실행이 되면 WriteCount에서 빠지고 그 뒤로는 이전처럼 동작하게 구조가 맞는거죠 이해한게 맞는지 확인하고 싶어서 글 올려봅니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 로 클라- 서버 데이터 전송시에
안녕하세요 영한님 전에 들은 강의 복습하던 중에 궁금한게 있어서 질문합니다. 컴퓨터끼리 통신을 할때 인터넷 (인터네트워크 망 ) 을 통해 통신을 하고, 데이터를 보내는 컴퓨터의 경우 응용프로그램의 데이터를 패킷이라고 하는데, 응용프로그램의 소켓 라이브러를 이용해서 TCP 프로토콜을 이용하고, TCP 프로토콜 , IP 프로토콜 로 내려가면서 패킷에 헤더를 씌우고 이 헤더에는 자신의 포트번호, 상대의 포트번호 , 전송방식 등이 들어가 있다. 이러한 과정중에서 DNS 서버를 통해서 도메인 이름으로 IP 주소를 요청해서 받는 등, TCP 는 3 way handshake 등의 물리적 연결의 과정 등 의 여러 과정을 거친다. 데이터를 받는 컴퓨터의 경우 , IP 주소내의 포트번호를 통해서 데이터를 최종적으로 전달받는다고 정리할 수 있다. 라고 제 블로그에 정리를 해놨었는데 , 궁금한 점이 1. 제가 이해한 로직이 맞는지요 ? 2. TCP 계층에서 서로 논리적 연결을 하면서 패킷을 서로 주고받는데, 물리 계층에 내려가서까지는 데이터를 그러면 전송하지 않는것인지? 감사합니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 실제 연결유무
[질문 내용]TCP 강의 중 TCP/IP 연결은 클라이언트와 서버가 서로 SYN,ACK를 주고 받아서 개념적으로만 연결이 됐다고 설명하셨습니다. 그 이유는 클라이언트와 서버가 연결을 할 때, 중간에 수많은 서버(노드)들을 거쳤는지를 잘 모르기 때문이라고 설명하셨습니다. 그러면 여기서 궁금한점은 클라이언트와 서버가 중간 노드들을 거쳐서 SYN,ACK를 주고 받는게 아닌건가요?? 만약 중간 노드들을 거쳐서 주고 받는거라면 "중간 노드들이 잘 연결이 됐기 때문에 SYN, ACK를 주고 받은게 아닌가??" 라는 생각이 들어서 질문을 남기게 됐습니다!
-
미해결누구나 시작할 수 있는 네트워크 Step 1 (네트워크 모델)
강의 자료는 받아볼 수 있나요?
강의하실때 사용하신 파일 PDF로 받아볼 수 있나요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
port와 관련해서 질문있습니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다. 수업을 듣고 복습 하다가 제가 정확히 이해했는지 확신이 들지 않아서 질문 글 올리게 되었습니다. port 번호의 경우 'http는 80 포트, https는 443 포트를 주로 사용'이라고 강의자료에 나와있습니다. 그리고 전 강의에서는 port는 '같은 IP 내에서 프로세스를 구분'이라고 알려주셨습니다. 위 두 가지를 합쳐서 이해하면 여러 프로그램 중 https를 사용하는 프로그램의 포트 번호는 443이고, 여러 프로그램 중 http를 사용하는 프로그램의 포트 번호는 80이라고 이해하는 게 맞을까요? 그리고 만약 http를 사용하고 있는 프로그램이 있다면, http를 사용하려고 하는 다른 프로그램은 비어있는 포트번호를 지정해주면 되는 건가요? 항상 좋은 강의 감사드립니다:)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http 비연결성에서 서버는 연결을 유지하지 않고 최소한의 자원을 유지한다는데, 자원을 유지한다는게 구체적으로 어떤 의미인가요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 컴포즈 설치에서 막히시는 분들~
버전이 강의 따라하면서 도커 컴포즈에서 버전이 안나와서 보다보니 pdf 복사한걸로 하면 윈도우라서 복사가 잘 안된건지 notfound 만 docker-compose에 남게 되네요 아래 명령어로 설치하면 강의와 동일한 버전으로 할수 있는거 같아요 sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 네트웍 운영만 하다 새롭게 리눅스 도커 등등 공부해보고 있는데 많은 도움이 되네요~
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ManualResetEvent 질문있습니다.
1) Auto든 Manual이든 false로 처음에 지정해 놓으면 들어가려는 시도를 할 때 누군가는 문을 열어놓아야하는데 이부분은 따로 구현해주면 되는건가요? Release를 먼저 호출하지는 않을 것 같아서 다른 식으로 문을 열어야 하지 않나 생각이 들어서 질문드립니다. 2) 두 이벤트 방식에서 지정하는 initialState인자는 아토믹한 방식으로 동작하는 건가요? 3) ManualResetEvent 사용 예를 보여주실 때 동작이 이해가 잘 안됩니다. false로 지정해놔서 문이 닫혀있다고 하고, 다른일을 하다가 Set이 호출되어 문이 열리면 WaitOne으로 입장을 시도한다 까지는 이해가 되는데 그러면 AutoResetEvent와 달리 자동으로 문을 닫는게 아니면 다시 문을 닫아주는 함수가 호출이 되어야하는 것 아닌가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HOST, PORT 질문드리겠습니다.
새해복많이받으세요!밑의 질문글들 전부 읽어도 이해가 안가서 질문드립니다 배달의민족 백엔드서버host : www.delivery.comIP와 포트 : 200.200.200.2:8080 배달의민족 프론트엔드서버host: www.delivery.comIP와 포트 : 200.200.200.2:3000 위 두개의 서버를 한개의 서버(컴퓨터)에서 돌릴시처음에는 우선 Host정보를 바탕으로 찾고 그다음 패킷의 Port정보로 찾아들어간다고 보면 될까요? 두번째 질문은동일IP에 Host만(도메인명) 다르다고해서 동일 포트를 지정할수있나요? 만약 가능하다면 이경우 Host를 이용해서 찾아간다고 이해하면 될까요? host: www.delivery.comIP와 포트 : 200.200.200.2:3000 host:www.hungry.comIP와 포트 : 200.200.200.2:3000 같은 서버(컴퓨터)내에서 구동중
-
해결됨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 로 전달을 합니다. 그다음 패킷을 씌운후 인터넷망으로 던져진다! 순서과정을 이렇게 이해하면 될까요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 커리큘럼 관련되서 질문 드립니다.(커리큘럼 관련되서 질문할 곳을 찾지 못해서 ㅠㅠ 여기다 올린점 양해 부탁드려요 ㅠ)
안녕하세요. 커리큘럼 관련되서 질문드리고자 이렇게 글 올립니다. 저는 일단 C++을 사용하는데 있어 큰 무리없이 사용하는 편입니다. (modern c++포함) 반면 C#은 거의 모르는 상태인데요, 강사님 커리큘럼중에 C#을 이용해서 MMORPG를 만드는 커리큘럼도 있던데 아래처럼 병행해서 커리큘럼을 짜도 될지 궁금해서 문의 드립니다. [C#과 유니티로 만드는 MMORPG게임 개발시리즈] Part1, Part3, Part7, Part9 만 듣고, [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4 이렇게 들어서 일단 Unreal 로 연동하는 강의가 나올때까지, 유니티 2D게임을 C++게임서버에 연동해보고 싶은데요, 굳이 C# 게임서버 제작 강의를 들어야할 필요가 있을까요?? C#으로 게임서버를 만들어야겠다는 생각이 들면 듣겠지만, 지금은 우선 게임 클라이언트 자체를 서버에 연동시키는것(구체적으로 맵을 어떻게 서버에서 처리하고, 스킬이나 hit 판정을 어떤식으로 하는지에 대한 것들)을 목표로 하고 있는데, C#게임서버 강의랑 C++ 게임서버 강의가 겹치는 부분이 많아서 C#게임서버 강의를 통해 들어야할지 고민이 됩니다. 결론으로 C# 강의 Part1, Part3, Part7, Part9 와 C++강의 Part4 이렇게 병행하는데, 무리 없이 커리큘럼을 수행할 수 있는지 궁금합니다. 긴글 읽어주셔서 감사드리며, 항상 좋은 강의 올려주셔서 감사합니다.!!!
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
DNS 요청 방식에 대해 질문드립니다.
안녕하세요 영한님 항상 좋은 강의 감사드립니다 :) 다름이 아니라 DNS를 공부하면서 의문이 드는 점이 있어 질문드리려고 합니다. 우리가 통상적으로 브라우저에 도메인 이름을 입력하면, DNS에 요청이 들어가고 DNS에서 응답이 오면 반환된 IP를 이용하여 서버로 접속요청을 한다... 라는 맥락으로 강의 내용을 이해했습니다. 그런데 종종 도메인 이름이 아니라 IP를 직접 입력하여 접속을 하는 경우도 있습니다(192.168.0.1)이나 공유기 아이피 접속... 여러가지가 있겠습니다. 질문 요지는 이렇습니다 DNS에 굳이 접속하지 않아도 되는 이런 IP로 접속했을때는 DNS서버로 요청을 보내지 않을 것 같습니다. 그렇다면 DNS로 요청을 보낼지 말지 결정하는 주체는 브라우저인지,,, 누가 결정하는 것인지 궁금합니다. 감사합니다!