묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨AWS Certified Solutions Architect - Associate 자격증 준비하기
수강신청 연장 부탁 드립니다.
안녕하세요.회사 업무랑 겹쳐 자격증 준비가 늦어지고 있습니다.혹시 가능하다면 수강 기간 연장 가능할까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
잘이해가 안갑니다ㅜㅜ
자동차는 패킷(데이터)길은 네트워크(인터넷)갈림길(스위치)은 라우터(L3?)이정표(스위칭)는 라우팅테이블?다른댓글을 보면 ip주소기반으로 된것이L3라 하셨는데 라우팅테이블이 그럼 ip주소라는건가요?? 아니면 라우팅 테이블이란것이 있는데 그것이 ip주소를 목적지라고 알려주는 얜가요?
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
NewObejct<>() 함수의 Replicate 여부가 궁금합니다.
안녕하세요. 강의를 듣고 나서 멀티플레이 게임을 만들어보려고 하고 있는데,Replicate에 대해 궁금한게 있는데 구글링을 해보아도 알 수가 없어서 이렇게 질문 드립니다. SpawnActor<>() 함수 같은 경우 서버에서 호출하면 자동으로 클라이언트들에게 Replicate 되는 것으로 알고 있습니다. 이 함수 내부에서는 NewObject<>()를 호출하는 것을 확인하였는데요. 그렇다면, NewObject<>() 함수도 마찬가지로 서버에서 호출 하면 클라이언트들에게 Replicate 되어 클라이언트들도 해당 객체를 생성하게 되나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시와 쿠키 차이
캐시와 쿠키 차이가 무엇인가요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
AWS pem 접속시 22번 포트 에러가 발생합니다.
안녕하세요. 강의 잘 듣고 있습니다.처음에 보안그룹에 대한 설정을 해줬습니다.그리고 맥으로 해본결과❯ ssh -i "xxx.pem" ubuntu@0.00.000.000ssh: connect to host 0.00.000.000 port 22: Operation timed out 이라는 에러가 발생하는데 찾아보니 ssh 포트 22번을 열어줘야 된다고 하는데, 처음에 열어줬는데도 time out 에러가 발생한건지 잘 모르겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send 함수 질문이 있습니다
send를 사용할 때 블로킹 모드는 모든 데이터를 다 보내고 논블로킹은 일부만 보낼 수가 있다고 하셨는데 이 보낸다는 게 send를 사용한 사용자 커널에 있는 송신 버퍼에 보낸다는 건가요? 아니면 받는 사용자 커널에 있는 수신 버퍼에 보낸다는 건가요?그리고 논블로킹 모드에서 데이터를 일부만 보낼 수가 있으면 UDP에서는 데이터 경계의 대한 개념이 있으니까 논블로킹을 사용할 수 없는 건가요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
함수 포인터, 함수 객체에 대한 질문입니다!
공부하다가 생긴 궁금증입니다. 함수 객체가 함수 포인터의 모든 기능을 대체할 수 있나요?함수 포인터를 매개변수로 받아주는 라이브러리를 사용하는 것을 제외하고c++에서 함수 객체 말고 함수 포인터를 사용해야만 하는 경우가 있나요?함수 객체의 기능이 매우 뛰어난데, std::functional을 이용해서 callable 을 따로 관리하는 기능이 있는 이유는 무엇이고 이점은 무엇인가요? 가장 궁금한 것은 std::functional 을 사용하는 이유입니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
다음으로 에 나오는 자료는 어디서 다운받나요?
소개에 나오는 자료는 강의자료밖에 안보이고다음으로 영상에서 사용하시는 자료는 어디서 받을 수 있는지 궁금합니다
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Completed가 자동 콜백 해줄텐데 왜 직접적으로 또 호출하나요?
public void Init(IPEndPoint endPoint, Action<Socket> OnAcceptHandler){_acceptHandler += OnAcceptHandler;_listenSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);_listenSocket.Bind(endPoint);_listenSocket.Listen(10);SocketAsyncEventArgs e = new SocketAsyncEventArgs();e.Completed += new EventHandler<SocketAsyncEventArgs>(OnAcceptCompleted);RegisterAccept(e);}void RegisterAccept(SocketAsyncEventArgs e){e.AcceptSocket = null;bool pending = _listenSocket.AcceptAsync(e);if (pending == false)OnAcceptCompleted(null, e);} 이 코드에서 RegisterAccept안에 pending이 false일 때 OnAcceptCompleted를 호출하는 코드를 보여주셨는데 이미 SocketAsyncEventArgs.Completed에 콜백 함수 넣어줘서 자동 처리 되는거 아닌가요?? 실제로 저렇게 함수를 재호출해주는 코드를 빼봐도 정상 작동되는것 같았습니다. 이중으로 함수 호출하시는 이유가 뭔지 궁금합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Query parameter와 Path parameter의 적절한 사용 방법이 궁금합니다
/members?q=100 가 나은건지/members/100 이 나은건지 각각의 적절한 사용 방법이 궁금합니다
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
레벨 재시작이 아닌 리스폰을 한다고 했을 때
캐릭터에 붙어있던 플레이어 컨트롤러나 AI 컨트롤러는 캐릭터가 삭제되고 리스폰 됐을 때, 자동으로 다시 같은 인스턴스가 붙나요???플레이어 스테이트도 캐릭터마다 하나씩 붙어있는 걸로 알고 있는데요. 이것 역시 그대로 사용하나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
비트 마스크를 사용하는 이유가 무엇인가요?
안녕하세요.강의 정말 잘 듣고 있습니다.처음에는 단순 게임 서버를 구현하는 강의라고 생각했는데, 이론으로만 보던 CS, 네트워크 지식을 직접 구현해보면서 하니 기본기 다지는데 정말 도움이 되네요.그리고 꽤나 자바와 같은 모던 언어를 사용하다보니 깊게 생각하지 않던 부분도 고민할 수 있는 최고의 강의인것 같습니다. 질문으로 돌아가서비트 마스크를 사용하는 이유가 C# 에서 원자적 연산을 제공하는 Interlocked 클래스 함수의 파라미터 때문인가요?처음에는 writer, reader를 체크할 수 있는 클래스 변수를 따로 만들면 되지 않을까? 라고 생각했는데 그렇게 되면 if, if 이런 조건문이 계속 들어가서 원자적 연산이 어려워 져서 그런가요?(별도로 락이나 모니터로 잡을 수 있지만 가독성 측면에서도 그렇고, Interlocked가 표준화 되어 있기 때문에 저렇게 사용하나? 추측합니다.)몇개의 질문을 살펴보니 비트마스크와 Interlocked의 CompareExchange의 조합이 강력하네요. 지금 강의는 언어 레벨에서 지원하는 읽기 쓰기 락 동작 원리를 보여주신 것인데 실제 프로덕션 코드에서 사용하려면 락 타임아웃 같은것도 구현해야하나요?생각해보면 어떠한 경우에 읽기 락이 많이 쌓이고 해제하지 못한 경우일 때 쓰기락에 대기시간이 길어지니 일정 시간 후 락 해소를 시켜줘야 하나 궁금하네요.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
DNS에 대해 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 예전에 DHCP를 공부하면서 각 네트워크마다 ISP별로 DNS를 관리하고 있고 Host는 DHCP를 통해 해당 DNS의 IP위치를 알게된다고 이해했습니다.그럼 GSLB를 하려는 업체는 각 ISP업체마다 DNS에 도메인을 올려달라고 요청을 해야하는건가요? 또한 가비아같은 도메인 업체들은 그런 작업을 대리해주는 역할을 하는 건가요?DNS에 찾아보니 꼭 ISP뿐만 아니라 기업이나 개인 또한 DNS서버를 만들 수 있다는데 그럼 DHCP를 통해 DNS서버의 위치는 설정할 수 없어 다른 사람들은 사용 못하는 것 아닌지 궁금합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
왜 SendBuffer 를 Session 이 가지면 성능에 문제가 되나요?
1명의 움직임을 100명에게 패킷으로 보내려면 Session 이 가진 버퍼를 100명에게 보내면 될 것 같아서...왜 위 경우에 하나만 만들어서 100명에게 보낼 수 없는지 궁금합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
SetConsoleTextAttribute 함수 특수문자 겹침 현상..
위와 같은 현상이 왜일어나는지 아시나요?같은 색으로 하면 괜찮습니다..색은 변경할때 반칸씩 밀려 겹쳐 보이네요..간단한 코딩 아래첨부합니다..#include <iostream>int main(){ int temp = 0; for (int y = 0; y < 25; y++) { for (int x = 0; x < 25; x++) { temp++; //단일색 안밀림.. //SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1); //색변경시 밀림.. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), temp % 3 == 0 ? 1 : 2); cout << "■"; } cout << endl; }} 환경은 윈도우 11입니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 재귀허용 WriteUnlock() 질문드립니다!
public void WriteUnlock(){int lockCount = --_writeCount;if (lockCount == 0)Interlocked.Exchange(ref _flag, EMPTY_FLAG);}위의 코드에서 lockCount 지역변수를 만들어주신 이유가 따로 있으신지 궁금합니다! writeCount는 어차피 WriteLock을 잡은 애만 쓰는 변수라고 이해했는데, 그러면 writeCount-=1; if(writeCount==0) 이렇게 써도 괜찮지 않을까라는 생각이 들었습니다!너무 사소한 질문인 것 같은데, 열심히 듣다가 궁금해져서 질문드립니다ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
아래 질문 확인 한번 부탁드립니다!
루키스님 안녕하세요? 지난 질문 답변을 아직 못받아서 재질문 드리게 되었습니다. 인프런 AI가 답변을 남겨서 일까요?아님 제 질문에 실수가 있었을까요?후자의 경우라면 좀 더 신경쓸 수 있도록 하겠습니다 https://www.inflearn.com/questions/1126711/%EC%9E%A1%ED%81%901-2%EB%A5%BC-%EB%93%A4%EC%9C%BC%EB%A9%B0-%EC%A7%88%EB%AC%B8%EC%9D%B4-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4-push-%ED%81%90%EB%A1%9C%EC%A7%81-send-%EC%9D%98-%EC%8B%9C%EA%B0%84%EB%B3%B5%EC%9E%A1%EB%8F%84-%EA%B4%80%EB%A0%A8
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
LEndTickCount를 중복검사 하는 이유가 궁금합니다.
요즘에도 답 달아주시는지 궁금하네요.ㅎㅎDoGlobalQueueWork()랑 JobQueue::Execute()에서 LEndTickCount를 검사하는데 굳이 DoGlobalQueueWork()에서도 검사해야 할 특별한 이유가 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
lock과 비동기화
SendAsync를 상위 참조에서 lock을 사용하여 관리하고 있습니다. 이러한 상황은 일반 Send를 사용하는 상황과 마찬가지로 비동기화의 강점을 이용하지 못하는 상황아닌가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
callback 함수 사용에 있어 궁금증
bool pending = _listenSocket.AcceptAsync(args); if (pending == false) OnAcceptCompleted(null,args);해당 코드는_listenSocket.AcceptAsync(args);에서 이미 call back 함수를 사용하여 해당 비동기 작업이 실행될 때 까지 기다린 다음 위에서 정의해준 call back 함수인 OnAcceptCompleted를 호출하는 것으로 이해하고 있습니다.그런데 굳이 return을 bool형인 peding으로 받아 보류인지 아닌지 확인하여 바로 peding이 false이면 직접적으로 OnAcceptCompleted 함수를 호출할 필요가 있는가 하는 의문이 들었습니다.이는 멀티 쓰레드 상황을 대비한 사항인가요?보류를 확인하여 바로 통과 하였다면 직접적으로 함수를 호출하는것은 속도 측면의 이유에서 추가하는 것인가요?그렇지 않다면 굳이if(pending == false) OnAcceptCompleted(null, args);부문을 해당 코드에서 삭제해도 무관하지 않을까 하는 궁금증이 생깁니다.