묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버 ip를 모르는 경우
클라이언트가 소켓열어서 tcp통신을 하려고 할 때아예 서버와 연결된적이 없어 서버 ip를 모르는 경우에는 어떻게 하나요>??
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제 1~3 질문
강사님 안녕하세요! 하단의 정성스러운 답변 감사드립니다!현업에는 있지만 Devops가 아니라 물어볼데가 많지 않아, 궁금한것 및 확인하고 싶은것을 정리해서 여쭙습니다... 한번 혼자 찾아보고 이해한되는것을 정리하였습니다. 감사합니다! (질문 뒤에 있는 표시가 "실전문제 - 문제번호에" 해당합니다.) 1.CloudFront는 보통 S3 버킷 앞에 많이 사용되는걸까요? 찾아보니 그런 것 같아서요! (1-2)2.AWS Elastic Beanstalk이 운영 오버헤드가 많이 발생한다는 것을 어떤식으로 알 수가 있는거죠? 그냥 단순히 외워야 할까요..? 그리고 AWS Elastic Beanstalk에서 Lambda 함수를 직접 실행하는건 불가능한게 맞나요? (1-6)3.변경 사항이 발생하는 즉시 새 콘 텐츠를 반환하는 강력한 일관성이라는 말이 결국에는 S3보다 EFS가 더 빠르다는 말씀이신거죠? (1-13)4.CloudFront에서 고 가용성을 위해 오리진 그룹을 통한 장애 조치 기능을 제공하기에 Route 53을 사용할 필요 없다고 나와 있는데, 그럼, CloudFront가 없으면 해당 기능을 적용하기 위해서는 Route53을 무조건 사용해야 하나요? (1-16)5.콘텐츠를 가능한 한 빨리 전 세계 사용자에게 제공해야 되기 때문에, CloudFront가 더 적합한 솔루션인건가요? Amazon Route 53 지리적 위치 라우팅 정책도 해당 기능이 가능하는지만, CloudFront가 더 적합한거죠? (1-19)6.CloudFront는 항상 Public에 있는 것이 맞죠? (2-5)7.정적 자산을 CloudFront로 이동할 수 없는건 이해가 되는데, D에서 정적 자산을 Amazon S3로 이동 Auto Scaling이 활성화된 Amazon Elastic Container Service(Amazon ECS) 컨테이너로 애플리케이션 이동 데이터베이스를 Amazon RDS로 이동하여 다중 AZ 배포가 맞는게 이해가 안됩니다. 문제가 컨테이너랑 관련이 있는지요? (3-20)8.다른 가용 영역에 다른 EC2 인스턴스를 오리진 그룹의 일부로 구성한다는 말이 이해가 되지 않습니다 이 말은 오리진 그룹에 속한 EC2 인스턴스가 여러 가용 영역에 분산되어 있는걸까요? . (3-27)9.D에서 Amazon Route 53 가중 라우팅 정책 생성 리전에서 사용자 수가 가장 많은 EC2 인스턴스에 가장 높은 가중치를 부여하도록 라우팅 정책을 구성이 아니라 가장 낮은 가중치를 부여하도록 하면 해당 질문에 맞는 답일까요? (3-30)
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
소켓 ,TCP/IP 프로토콜
소켓 역시 TCP/IP 프로토콜(커널 구성요소)에 대한 추상화된 인터페이스 (장치)파일이기 때문입니다위 말을 아래처럼 이해해도 될까요??소켓이 인터페이스이고 그걸 구현한객체(?) 중 하나가TCP/IP 프로토콜이다
-
미해결아두이노와 떠나는 사물인터넷 여행 - 아두이노 입문부터 IoT 중급까지!
서보 모터가 작동하지 않습니다.
영상 설명대로 케이블 연결까지 완료하고 uploading 까지 되었는데 서보 모터가 작동하지 않습니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 Client 를 WinAPI Project로 붙여보려고 하는데
Client의 생성된 Window창 x를 누르면 윈도우 창이 종료되지 않고 Client에서 굳이 Console창을 열어 마우스로 x를 눌러야지만 닫기는데 원인을 못찾겠습니다.. 혹시 짐작갈만한 원인이 있을까요?예상으론 Thread가 Join상태에서 끝나질 않아 발생하는 현상같은데 그럼 강제로 Thread로 생성해뒀던 무한Loop를 강제로 종료하는 방법을 작성해야할까요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
쓰레드매니저 질문
... void ThreadManager::Launch(function<void(void)> callback) { LockGuard guard(_lock); _threads.push_back(thread([=]() { InitTLS(); callback(); DestroyTLS(); })); } ... --------------------------------------------- int main() { for (int32 i = 0; i < 5; i++) { GThreadManager->Launch(ThreadMain); } GThreadManager->Join(); }쓰레드 매니저 예제 코드의 일부인데요, 위 코드에서 다음과 같이 InitTLS();GThreadManager->Join();두 곳에 브레이크 포인트를 걸었는데 신기하게 Join에 먼저 브레이크가 걸리네요. Launch 함수가 순차적으로 실행되고 메인함수의 반복문을 빠져 나온다음에 Join이 걸릴거 같은데요.Launch 함수가 쓰레드 함수라면 그럴 수 있겠지만 ThreadManager 자체는 쓰레드가 아닌데 왜 그런 것인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요. xdelete 관련 질문이 있습니다.
아래코드에서 xdelete에서 굳이 소멸자를 호출해줘야 하는 이유?가 궁금합니다.강의내용이 new, delete 함수를 재정의해서 사용하는거라서 명시적으로 xdelete를 사용하기 때문에 Knight 소멸자에 객체를 해제하는 코드가 없는것 같은데, 그렇다면 굳이 소멸자를 호출하지 않아도 되지않나요?만약 소멸자에 객체를 해제하는 코드를 구현해 놓는다면 사실상 free를 두번하는거지 않나 싶어서요. template<typename Type> void xdelete(Type* obj) { obj->~Type(); xrelease(obj); }
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
TCP/IP 통신 및 포트에 대한 질문
3 way handshake 과정이 완료되면 서버와 클라이언트가 연결된 상태이므로데이터(HTTP 메시지)가 담긴 패킷을 주고받게 된다. 이때 TCP 계층에선 데이터가 성공적으로 전송/수신됐는지 등을 검증한다고 배웠는데요. 그럼 3way handshake나 수신받은 패킷의 헤더들을 단계별로 확인한 뒤 실제 데이터를 소켓으로 전달하는 작업은 운영체제 관여 하에 이뤄지나요? 클라이언트 애플리케이션은 남은 포트 중 랜덤으로 할당받고(port=0),서버는 80 등으로 미리 지정해서 포트를 받는데 그러면 해당 프로세스의 포트가 정해지는 시점은 소켓을 생성할 때인가요? 프로세스 한개당 반드시 하나의 포트만 할당되나요? (ex: 포트 두개를 바인딩하고서버 소켓을 두개 연다, 한 클라이언트 프로세스가 여러 로컬 포트를 할당받을 수 있다 등이 가능한지..)실제 여러 포트를 할당받을 수 있다면 어떻게 활용되는지 궁금합니다.일반적으로 웹 서비스는 웹 서버(80 포트)와 WAS(8080 포트)로 구성하여웹 서버가 처리하지 못하는 요청은 WAS로 위임한다고 했는데, 웹 서버와 WAS 간 연결에도 http 통신을 사용한다면 웹 서버 프로세스는 기존 80 포트로 바인딩된 소켓을 생성해서 통신하는 것인가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
연결이 유지가 된 상태에서의 자원 소비,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요! 재밌게 보고 있습니다.50초쯤에 클라1,2,3이 하나의 서버에 연결이 되었을 때, 자원의 소모가 계속하여 발생한다고 하셨는데, 이때 클라쪽에서 요청이 없다면 어떤 소모가 서버쪽에서 발생하고 있는지가 궁금해 질문드려봅니다..! 그리고 TCP/IP로 대부분 통신을 한다고 하셨는데, HTTP 프로토콜을 사용하게 된다면 어떠한 동작에 의해 비연결성으로 바뀌는 건지요??
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
네트워크 통신에 관한 질문...
안녕하세요...!현재 게임 서버 포폴을 만들고 있는데요.TCP 서버와 UDP 서버 두 개를 운영합니다.제 IP는 공인 IP를 사용하고친구는 사설 IP를 사용합니다.TCP 통신을 할 때는 서로 문제가 없었습니다.근데 UDP 통신을 사용하니 제 쪽으로 패킷이 수신이 되는데 제가 (사설 IP 쪽으로) 보내는 패킷은 상대방이 수신이 안됩니다 ㅠㅠ...저는 IP 때문에 문제가 발생하는 것 같은데 혹시 이유가 뭔지 여쭤봐도 될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
[에러 공유] disposeed object
args.connectedSocket을 socket으로 줄여쓰고 싶어서 이렇게 코드를 짜면 계속 disposed object 에러가 난다. 해결법 : socket변수를 따로 만들지 말고 루키스 선생님의 코드처럼 그냥 args에서 connectsocket을 가져와야된다. https://stackoverflow.com/questions/71450166/when-is-an-object-disposed-if-it-uses-using-and-it-is-being-used-in-a-few-meth 영어가 미숙해서 정확히 이해는 못했지만 { }를 나갔다가 오면 문제가 생기는 듯하다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Reader-Writer Lock 질문
동일한 쓰레드 내에서 WriteLock을 잡은 상태에서 ReadLock도 잡을 수 있는 것은 이해를 했습니다.그래서 한 쓰레드가 WriteLock도 잡고 ReadLock도 잡은 상태에서 WriteLock를 통해 데이터 수정을 한다면 ReadLock에서는 수정이 되기 전에 데이터를 읽게 되는 것이 아닌가요??예를 들면, WriteLock에서 잡은 데이터가 1이고 그 후에 ReadLock을 잡으면 Read부분에서는 1에 데이터를 읽는데 이 상태에서 WriteLock에서 1에 데이터를 2로 수정을 한다면 ReadLock에서 잡은 데이터가 2로 수정이 안되지 않나요??
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
엔드포인트에 아이피 할당은 어떻게 하나요
세션계층들어가니깐 엔드포인트들이 갑자기 다. 아이피가 부여되어있네요
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
비주얼 스튜디오 질문입니다.
루키스님께서 해주시는 강의 귀에 쏙쏙 들어와서 항상 감사의 말을 먼저 드립니다. 루키스님의 강의 중 터미널 창이 매우 깔끔하게 촘촘히 박혀있으신데 제 터미널창은 세로로 길쭉하여 결국 코드에 TILE뒤 << " "; 이런 식으로 억지로 띄워썼습니다.혹시 이 방법 말고도 다른 방법이 있으신지 견식을 여쭙고자 합니다.가르쳐 주신다면 정말 감사하겠습니다.
-
해결됨그림으로 쉽게 배우는 네트워크
수업 자료를 한번에 받을 수 있는 방법은 없을까요?
각 강의마다 강의 자료를 올려주신거 같은데한번에 다운로드하는 방법이 있나요?감사합니다~!!
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Select와 Overlapped의 차이에 대해 좀 헷갈리는 부분이 있습니다.
Overlapped 방식은 비동기 + 논블로킹 이고 이전 예제 WSASelectEvent를 이용한 예제는 동기 + 논블로킹 으로 이해 했습니다.Overlapped의 로직 흐름은 while문 진입 후 Event방식의 경우 WSARecv의 반환값이 SOCKET_ERROR일때 WSAGetLastError()가 WSA_IO_PENDING이라면 Sleep 혹은 WSAWaitForMultipleEvents으로 대기하다가 콜백방식이면 깨워서 처리, 이벤트방식이면 시그널되었으므로 이후 다음 코드 실행Select의 로직 흐름은 while문 진입 후 WSAWaitForMultipleEvents로 대기 후 시그널되면 인덱스정보로 세션의 위치를 알아낸 후 해당 세션의 소켓을 통해 NetworkEvent를 확인해서 Accept인지 Recv플래그를 통해 적절한 처리이렇게 정리하고 나니 결국 Overlapped는 Recv를 먼저 실행한 후 대기하는 것이고 Select는 대기한 후 Recv하는 것이구나 라는 생각이 들었고, 처음에 보여주신 블로킹/논블로킹, 동기/비동기에 관한 그림으로 볼 때 Select와 Overlapped 모두 Sync-NonBlocking과 같이 동작하는게 아닌가 하는 생각이 들었습니다. 왜냐하면 INFINITE로 두면 반환할때까지 Blocking 방식처럼 동작할 것이라고 생각했고, INFINITE가 아닌 Timeout을 주면 주기적으로 확인한다는 것이므로 Sync-NonBloking처럼 동작한다고 생각했습니다. 제가 생각한 것이 맞는지 궁금합니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
private ip와 public ip 할당
private ip를 공유기를 사용할때 말고 할당받을 수 있는 또 다른 예시들이 있을까요? public ip를 할당받을 때의 예시도 궁금합니다. 감사합니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
hostfile과 cache dns
안녕하세요 선생님 강의 덕분에 TCP/IP 통신과 네트워크의 전반을 이해할 수 있었습니다 감사합니다! 다름이 아니라, dns 파트 정리 중 hostfile과 cache dns 개념이 헷갈려서 질문 드립니다...! Q. hostfile과 cache dns는 같은 의미인가요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
C++ 프로그램 관련
대중적으로 C++를 공부할 때 비주얼 스튜디오를 사용하기도 하지만 Rider 프로그램도 있는 것으로 알고 있습니다. 개인적으로 인텔리제이를 선호하는 터이기도 하고, 언리얼 공부를 위해 C++를 공부하고 있는데, Rider를 사용해서 수강해도 되는 부분일지 궁금합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
분할전송 관련 질문
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 듣고있습니다분할전송에서 Content-Length를 제대로 파악할수가없어서 지정을 하면안된다고 하셨는데아예 Content-Length를 지정할 방법이 없는걸까요?ex) 난 3byte씩 10번 보낼래이런식으로 말이죠 갑자기 궁금해져서 질문남겨봅니다