묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
pka파일을 열면 workspace is not empty라는 에러가 뜹니다 어떻게 해야할까요?
pka파일을 열면 workspace is not empty라는 에러가 뜹니다 어떻게 해야할까요?
-
미해결아두이노와 떠나는 사물인터넷 여행 - 아두이노 입문부터 IoT 중급까지!
질문 드립니다.
안녕하세요?수업 잘 듣고 있습니다. 수업 중에 질문이 있어 질문드립니다.플로팅 전압이 남아있어서, 풀다운 저항을 연결하지 않았을 때, 불이 계속 켜져있었던 것으로 알고 있는데, 보니까 LED의 조도가 조금 달라졌던 것 같습니다.플로팅 전압이 남아있으면, nPush 값은 어차피 high 값이라, LED의 조도 변화 없이 켜져있어야 할 것 같아서 문의 드립니다.감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
클라에서 서버 전향
안녕하세요 루키스님, 언제나 좋은 강의 감사합니다. 강의와 관련된 질문이 아니라 죄송하지만 따로 여쭤볼만한 곳이 없어 이렇게 질문 드립니다. 저는 4년차 클라이언트 프로그래머입니다. 쥬신 아카데미 출신으로 운 좋게 취업에 성공했지만 어쩌다보니 유니티로 커리어를 시작하게되어 지금까지 유니티 엔진을 사용하는 모바일 게임 프로젝트에서만 일하고 있습니다. 어렸을때부터 주로 온라인게임을 플레이 해왔었고 이직하고 싶은 팀도 MMORPG팀이지만 그런 곳은 주로 언리얼 엔진을 사용하다 보니 이직이 쉽지 않더군요 ㅠㅠ이러다 평생 모바일 수집형 게임만 만드는게 아닌가란 걱정도 들고 지금 있는 회사보다 좀 더 좋은 회사로 가고 싶다는 생각도 있다 보니 어느 순간 서버에 생각이 닿았습니다.남의 떡이 더 커보인다는건 알지만 저희 팀에서도 반년째 서버 개발자가 구인이 되고 있지 않고 있다 보니(나름 규모 있는 회사입니다 ㅠㅠ) 더 그런 생각이 들었던 것 같습니다. 여튼 그렇게 루키스님 강의와 시중에 있는 서버 책을 보며 공부도 하고 서버를 연동해 게임도 만들어 보고 있지만 회사 일과 병행하며 전향을 준비하기에는 조금 벅찬감이 있는것같아 퇴직 후 1년정도 학원(프로카데미)을 다닐까 고민하고 있습니다. 1년이 짧은 시간은 아니다 보니 회사 일을 병행하면서 준비를 계속할지 아니면 학원에 들어갈지 망설여지고 있는데 조언 부탁 드립니다 ㅠㅠ나이는 27살이고 연봉이 높은 편은 아니다 보니 이직 후 신입 연봉을 받게되더라도 크게 아쉬움은 없을 것같습니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
책 추천 문의드립니다.
우선 좋은 강의 감사합니다. 강의 초반 Modern C++ Design 책 추천을 주셨는데요, 이 외에 추천 해주실 책이 있으신지 문의 드립니다. (개인적으로 추천해주시는 top5책을 알고싶습니다.) 코드를 짜면서 생소한 패턴를 만날때다마 블로그에 떠도는 글을 보면서 알음 알음 알아가고 있는데요, 혹시 이러한 지식들을 체계적으로 쌓고 싶은데, 해당 책 외에 추천 가능하실까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
OnRecv 질문
위 부분에서 dataSize를 알아낸 후 그만큼 데이터가 도착했는지 판별하는 부분에서질문 1. 만일 서버에 같은 세션으로부터 동시다발적으로 혹은 매우 짧은 간격을두고 Send요청이 일어나 여러 패킷이 멀티스레드로 Recv된다면 Recv버퍼에 dataSize만큼 데이터를 수신받았다고 하더라도 그 데이터가 항상 온전한 한 패킷의 연속적인 데이터로 도착하게끔 보장이 되나요?질문 2. 만일 그렇지않고 여러 뒤죽박죽 섞인다면 어떻게 뒤섞인 데이터를 분리하나요?옅은 지식으로나마 TCP에서 데이터의 순서는 어느정도 보장해주는것으로 알고있는데 한 패킷이 온전하게 도착할때까지 다른 전송이 대기하는지, 아니면 여러 요청중에서 먼저 도착하는 조각들을 무지성으로 때려박는지 아무리 찾아봐도 알 수 없어서 질문 남깁니다 ㅜㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
시간 복잡도는 사실상 똑같지 않나요?
안녕하세요 루키스님!항상 강의 잘 듣고 있습니다. 다름이 아니라 기존에는 N^2 의 시간 복잡도라고 말씀해주셨습니다. 그 이유도 충분히 이해했습니다.그래서 GameRoom.cs의 _pendingList와 Flush 함수를 패킷 모아 보내는 용도로 사용하셨습니다. 그러나 사실상 Flush 내부를 자세히 보면 결국 N^2으로 시간 복잡도는 똑같다고 생각합니다. 왜냐하면 Flush 내부에서 세션용 foreach와Send함수 내부에서 List<ArraySegment<byte>> 용의 foreach로 인해서 총 2개의 foreach가 돌기 때문에 시간 복잡도는 여저힌 N^2이지 않나요? 만약 10명의 클라이언트가 접속했을 때,[패킷 모아 보내기 할 경우]100개의 패킷을 한 번에 보내는 것[패킷 모아 보내기 안 할 경우]10개의 패킷을 10번 보내는 것 으로 이해 했는데 맞을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
switch문과 딕셔너리 효율 질문입니다.
https://rito15.github.io/posts/cs-switch-case-vs-dictionary/이 내용을 보면 딕셔너리를 이용하는것보다 스위치문을 이용하는게 더 효율적인것으로 보이는데, 어떤것이 맞는지 모르겠어요
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Memory Pool#2 삭제 Lockfree stack 과의 값 교환 차이가....?
이전에 Lock free stack 에서는 ABA problem 이 발생하지 않는다고 별도로 들고 있었기 때문이라고 하셨는데 이전에도 링크드 리스트 처럼 포인터를 들고 있던 방식이고 현재 이것도 그것과 유사한 방식인데 왜 이전에는 ABA 가 발생하지 않았다고 하는건지 잘 이해가 가질 않네요 이전 lock free stack 에서 삭제 할때의 로직과 크게 달라보이진 않는것 같은데요..이전 lock free stack 에서도 ABA Problem 이 발생하지 않나요?차이점이 명확하게 어떤 부분인지 모르겠습니다..답변좀 부탁드려요! Memory Pool#2 시간은 26:55 초에서 정도에서..
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
코드 오류 질문드립니다..ㅠㅠ
유니티 연동 #1 을 공부하는 도중 아래와 같은 오류가 떴습니다.유니티 서버를 연동하는 부분이고 정상동작을 한다면 Hello Server I am 1 이 출력되어야 합니다.소켓 부분에서 에러가 나서 OnConnectedCompleted 함수를 제대로 실행하시 못하는것 같습니다. 강의 파일을 받아서 실행해도 동일한 오류가 뜨고 아무리 구글링을 해봐도 해결을 못하겠어서 번거로우시겠지만 질문을 드립니다...
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 수강 후 개인 프로젝트 적용
수강 후, 대학 동아리 수준에서 내용을 제대로 습득했다는 전제 하만든 게임과 서버를 연동할 능력을 갖출 수 있나요?동아리에서 mmorpg를 만들어 보려 하는데 서버를 담당하게 되어 미리 공부하려 합니다.
-
해결됨네트워크, 그림으로 이해하자
영문 수료증 가능 여부
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 수료증 영문이 필요하여수료증을 영문이름 및 영문으로 발급이 가능한지 문의 드립니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
TCP Buffer Size (Window Size) 크기는 무조건 큰 것이 좋을 까요?
선생님 안녕하세요.명강의 감사합니다. End-Point의 TCP Buffer 사이즈가 부족하면 Zero Window가 발생해 장애가 발생할 수 있다고 하셨는데요. 그렇다면, TCP Buffer Size는 무조건 크게 잡아주는 것이 좋은 가요? 아니면, End-Point의 TCP Buffer Size를 산정하는 공식 및 팁이 있다면 공유 해주시면 감사하겠습니다. 항상 강의 잘 듣고 있습니다. 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP/UDP회차 질문드립니다.
인터넷 프로토콜 스택의 4계층이라고 제목을 지으셨는데 여기서 인터넷 프로토콜은 IP를 말하는걸까요? 브라우저의 인터넷을 사용할때 이용되는 프로토콜 스택의 4계층을 의미하는걸까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http메세지 패킷과 웹브라우저 작동원리에 대해 질문있습니다.
먼저 좋은 강의 감사드립니다!많은데이터를 패킷으로 쪼개서 전송한다고 설명해주셨는데HTTP 메세지를 패킷으로 잘게 쪼개서 각 패킷별로 캡슐화가 이루어진 후에 전송이 되는걸까요?! 웹브라우저 작동원리에 대해 여러가지 찾아보고 있는데 정확히 http 메세지가 어느시점에 생성되는지 나온 정보가 많이 없더라고요이번 강의에서 영한님이 DNS레코드 조회후 IP를 찾은 후에 HTTP메세지를 생성한다고 하셨는데 제가 이해한게 맞을까요?!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
프록시서버에관해 정보를 찾을수없어서 질문드립니다
제가 알기로 웹에서 거리에따른 성능문제를 해결하기위해 프록시 서버를 사용하는것으로 아는데 이중 CDN과의 차이가 무엇인지 궁금하여 질문드립니다 제가 학습한 내용을 정리해보자면프록시서버는 오리진서버대신 비즈니스 로직도 처리해주는 진짜 대리서버느낌이고CDN서버는 웹 페이지에서 사용하는 리소스(이미지,HTML)파일들 대리저장하는 저장소느낌의 서버가 맞나요?그러면 프록시서버랑 CDN서버는 항상 같이 사용해야정상적인 오리진서버의 역할을 대신할수있는지 궁금합니다
-
미해결네트워크, 그림으로 이해하자
네트워크 전반적인 과정에 대해 문의드립니다.
안녕하세요. 강의가 큰 도움이 되었습니다. 강의를 다 듣고 네트워크의 전반적인 부분을 한번에 이해해보려고 하는데, 어려운 점이 있어서 문의드립니다. 클라이언트(웹브라우저)가 HTTP 메서드를 통해서 서버에 요청하는 경우, 어떻게 네트워크를 타는지 과정을 알아보고 있습니다. 일부는 웹 서칭을 했고, 일부는 전공 강의를 참고했습니다. 정리해보면 아래의 8단계를 거치는 것 같았습니다. 브라우저가 직접 메시지를 네트워크에 보낼 수는 없고, 운영체제에 의뢰해서 메시지를 전달한다.OS의 프로토콜 스택에서 메시지를 받고 수신처 주소 등의 제어정보를 덧붙인다.패킷을 LAN 어댑터(=랜카드)에 넘긴다.LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.신호를 LAN 케이블에 송출시킨다.전달된 프레임이 스위치를 거쳐서 라우터에 도착한다. 인터넷의 여러 라우터를 거쳐서 목적지 네트워크(웹 서버측의 랜)에 도달한다. 최종적으로 패킷이 물리적인 웹 서버에 도착한다. 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 웹 서버 애플리케이션에 넘긴다.메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다. 몇 가지 질문이 있습니다. Q1) 1번에서 프로토콜 스택에서 '수신처 주소'를 덧붙인다고 했는데, 이는 IP 주소를 붙여서 IP 패킷을 만든다는 의미인가요? 아니면 MAC 주소를 말한다는 것인가요? Q2) LAN 어댑터와 랜카드가 같은 것인가요?Q3) 랜카드가 프레임을 전기신호로 변환하는 것은 이해하였는데, 랜카드에서 '다음 Hop의 MAC 주소'를 붙여서 프레임을 만드나요? 그리고 랜카드는 다음 Hop이 무엇인지, 다음 Hop의 MAC주소는 무엇인지 어떻게 알 수 있나요? ARP로 MAC주소를 받아온다고 배웠는데, ARP가 네트워크 계층에 속하면 라우터에서 MAC주소를 알아낼 수 있는거 아닌가요...? 랜카드에서는 같은 네트워크에 연결된 장치들의 MAC주소를 어떻게 알고있나요? Q4) 데이터가 -> 전기신호로 변환되는 것은 보내는 사람의 PC에서만, 전기신호가 -> 데이터로 변환되는 것은 받는 사람의 PC에서만 이뤄지는 것인가요? 그럼 라우터와 라우터 사이에서도 전기 신호로 통신해야 할텐데, 그 라우터들은 전기 신호의 의미(IP 주소 등)을 어떻게 이해하나요? Q5) 위의 과정에서 잘못된 점이 있다면 말씀해주시면 정말 감사하겠습니다! 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
DNS 상태 코드에 대해서
만약에 DNS 서버가 터졌다고 가정을 했을 때, 도메인 네임으로 어떤 웹 사이트에 접근한다면 어떤 상태 코드를 받을 수 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
혹시 어려워서 포기할까 생각하시는 분들 보고 힘 얻으세요
지금 3번째 들으면서 지나가는 수강생입니다진짜 첫 번째 들을 때 두 번째 들을 때 세 번째 들을 때 이해되는 범위가 다릅니다처음에는 그냥 코드 따라 치면서 완주만 해보세요. 두 번째는 코드의 흐름만 본다는 느낌으로 따라가고, 세 번째는 강의를 눈으로만 보고, 혼자 힘으로 코드를 완성해 보면 확실히 체득이 되는 느낌입니다!다들 화이팅입니다! 저 같은 말하는 감자도 하는데 여러분도 할 수 있습니다!ps. 루키스님 강의 찍으시랴, 부트캠프 준비하시랴 많이 바쁘실텐데 항상 감사합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
출력 간격 이상
안녕하세요 선생님! 클라이언트에서 온 패킷이 자꾸 이렇게 띄엄띄엄 출력 되는데 왜 그런지 알 수 있을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
nginx 오늘 기준 nginx=1.18.0-0ubuntu1.3 입니다..
버전 호환에 문제가 없는진 모르겠지만요...