25:27 C_LOGIN패킷에서 Lock을 잡을 필요가 없나요?
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
게임세션의 _players 에 푸쉬백을 해주고 있는데요 여러스레드가 동시에 푸쉬백을 할 수 있지 않나요? WRITE_LOCK을 잡아줘야 하는것 아닌가요??
- 네트워크
- MMORPG
- windows-server
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
게임세션의 _players 에 푸쉬백을 해주고 있는데요 여러스레드가 동시에 푸쉬백을 할 수 있지 않나요? WRITE_LOCK을 잡아줘야 하는것 아닌가요??
해결됨
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
섹션 8 강의 1,2 부분을 보면 filezilla ?? 라는 프로그램을 사용해서 로컬 파일을 ec2에 업로드 하는 부분?? 이 나오는데, 이부분에 대한 설명은 따로 없으신게 맞죠? 제가 앞부분에서 놓친건가 해서요
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 질문이 많아서 죄송합니다. 쿠키에 대해 몇 가지 궁금한 점이 있습니다. 아래 질문들에서 말하는 사이트는 쿠팡이나 아마존 같은 이커머스 사이트이며, 사이트는 사용자의 쿠키를 참고하여 사용자에게 물건을 추천하는 알고리즘이 있는 상태라고 가정하겠습니다. 질문1) 로그인을 하지 않은 상태에서 특정 사이트에 접속했을 때도 쿠키가 생길 수 있는지 궁금합니다. 즉, 로그인을 하지 않은 채로 사이트를 처음 방문하고, 며칠 후에 다시 로그인을 안 한 채로 방문했을 때 , 이전에 받은 쿠키가 적용되어서 이전에 구경했던 물건들을 토대로 관심 있는 물건 추천 알고리즘이 적용되도록 가능한지 궁금합니다. 애초에 로그인을 하지 않아도 쿠키가 발급되는지 자체가 궁금합니다. 질문2) 이번엔 다른 예로, 특정 사이트에 로그인했는데, 사이트를 구경하다가 브라우저를 끕니다. 다시 브라우저를 켜서 그 사이트를 방문하면 로그인이 풀려 있습니다. 하지만 사이트를 구경하는 동안엔 로그인이 유지되어 있으니 이것도 쿠키의 예라고 보면 될까요? 강의 내용대로면 세션 쿠키 같은데 아래 질문들이랑 비교하고 싶어서 일단 질문드립니다. 질문3) 이번엔 특정 사이트에 자동 로그인을 했습니다. 브라우저를 끄고 며칠 후에 다시 사이트에 접속해도 로그인이 자동으로 되어 있습니다. 이 경우에도 쿠키가 적용된 거로 보면 될까요? 이건 영속 쿠키인가요? 다만 자동 로그인을 해제하지 않는다고 하면 expires를 어떻게 설정할지.. 궁금하네요. 질문4) 제가 가장 궁금한 건데, 첫 번째 질문대로 로그인을 안 해도 쿠키가 생길 수 있는 게 맞다면, 로그인을 안 해도 제 컴퓨터에 쿠키가 발급될 텐데, 자동 로그인을 해도 제 사이트 계정에 해당하는 쿠키가 있을 수 있는 거죠? 그럼 이 경우에 1) 로그인과 별개로 제 컴퓨터에 해당하는 쿠키와 2) 제 사이트 계정에 해당하는 쿠키 2가지가 동시에 생기는 건가요? 질문5) 질문 4의 경우처럼 제 컴퓨터와 제 사이트 계정 각각에 대해 쿠키가 발급된다면, 제가 그 사이트를 방문한 후 로그인을 한 상태에선, 사이트에서 저에게 물건을 추천하는 알고리즘이 어떤 쿠키를 참고해서 추천하는지 궁금합니다. 1) 2가지 쿠키 모두 적용된다 2) 로그인한 동안엔 계정에 대한 쿠키만 적용되고, 로그인을 풀었을 때는 제 컴퓨터에 대한 쿠키만 적용된다. 어떤 게 맞나요?
미해결
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 구글링해 보니 Authorization 헤더는 주로, 서버로부터 WWW-Authenticate 헤더를 포함한 401 Unauthorized 오류를 받은 후, 클라이언트가 서버로 다시 요청할 때 포함하는 헤더라는 거로 이해했습니다. 그럼 이 경우엔 Authorization 헤더는 인가와 인증 중에서 인증과 관련된 헤더라고 보면 되나요? 예전 강의에서 아래 사진과 같이 Authorization은 원래는 인가를 의미하지만, 401 Unauthorized에서의 authorized는 인증을 의미해서 이름이 아쉽다고 하신 거로 이해했는데 Authorization 헤더도 인가보단 인증과 관련되는 것처럼 느껴지는데 맞나요?
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 질문 1: Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, / ;q=0.5 이게 클라이언트가 서버로 보내는 패킷에 있는 내용인 건 아는데 그 아래에 있는 표는 무엇인가요? 특정 서버에서 임의로 지정한 건지, 아니면 HTTP 스펙에서 지정한, 즉 모든 서버들이 저 표에 있는 값들을 똑같이 가지고 있는 건지 잘 모르겠습니다.. 저 표가 정확히 뭘 말하는 건가요? 서버가 가지고 있는 고유한 미디어 타입 표인가요? 질문 2: 위 사진을 해석하면 이렇게 되는 거 맞나요? 클라이언트가 보낸 패킷에 Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, / ;q=0.5 이렇게 있고, 서버가 가진 표(?)의 미디어 타입의 내용들이랑 매칭되는 것 중 가장 우선순위가 높은 것이 text/html;level=1의 퀄리티가 1이니, 이것을 제외한 나머지 text/*;q=0.3, text/html;q=0.7, text/html;level=2;q=0.4, / ;q=0.5 이것들은 그냥 무시하면 되는 건가요? 질문 3: 클라이언트가 보내는 패킷엔 text/html;q=0.7가 써져 있는데 서버가 가진 표에선 text/html에 대한 퀄리티가 0.5 이런 식으로 달라도 되는 건가요? 위 사진에선 우연인지 몰라도, 클라이언트에서 보낸 패킷과 표에 있는 내용의 값들이 다 일치하고 있어서요. 일치하지 않아도 되는 건가요? 이 내용들 잘 이해가 안 됩니다.. 애초에 클라이언트가 패킷을 보낼 때 1이나 0.5 같은 우선순위를 정하는 건데,, 왜 서버가 가진 표에 그 우선순위가 정확히 써져 있는지 모르겠어요
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 아래 사진에서 참고 부분의 설명이 이해가 안 갑니다. 표현 헤더는 표현 메타데이터와, 페이로드 메시지를 구분해야 하지만 ... 페이로드 메시지는 메시지 본문에 포함되는 거 아닌가요? 사진상으로 봐선 표현 헤더와 메시지 본문은 분리되어 있는 것 같은데, 참고에 나온 설명으론 페이로드 메시지가 표현 헤더 안에 있는 것처럼 느껴져셔 헷갈립니다.. 이걸 어떻게 받아들이면 될까요? +) 지금 이 강의인 'HTTP 헤더 개요'의 다음 강의인 '표현' 강의를 듣고 있는데요 2분쯤에 Content-Length는 페이로드 헤더라고 말씀하시는데, 혹시 아래 피피티 마지막의 참고 부분에 나온 내용도 '페이로드 헤더'를 말하는 것인가요?
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 커리큘럼 후반부에 조건부 요청에 관한 내용이 있는 것 같은데 아직 안 본 상태에서 쓴 질문입니다. 학습 자료 26페이지를 보면 304 Not Modified을 조건부 GET, HEAD 요청 시 사용한다고 나와 있습니다. 클라이언트가 조건부 GET을 보내면 서버는 그 객체가 수정되었다면 객체를 보내고, 수정되지 않았다면 304 Not Modified를 보내는 것으로 알고 있습니다. 그런데 클라이언트가 HEAD를 보낼 때도 서버가 304 Not Modified를 보내나요? 그 상황이 어떤 상황인지 궁금합니다. 이 경우엔 HEAD도 조건부 GET처럼 If-Modified-Since 헤더를 포함하고 있어야 하나요? 이런 경우 조건부 HEAD라고 하나요..? 원래도 HEAD에 대한 서버의 응답은 body에 객체를 포함하지 않는 거로 아는데, 그럼 조건부 HEAD(?)를 보낼 땐, 서버에서 객체가 수정되었는지, 수정되지 않았는지에 따라 어떻게 응답할지 궁금합니다. 수정되지 않았으면 304를 보내고, 수정되었으면.. 304도 아니고 객체도 포함되지 않은 패킷으로 응답하나요? HEAD에 대한 응답은 객체를 포함하지 않으니깐..?
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Redirect가 정확히 무엇을 말하는지 궁금합니다. 위 사진에서 판단했을 땐, 서버로부터 3XX 응답을 받았을 때, 웹 브라우저의 URL을 /order에서 /order-result/19로 바꾸는 것이라고 생각했습니다. PRG를 예로 들면 클라이언트가 Post를 보낸 후 서버로부터 3XX 응답을 받고 Redirect로 URL을 변경한 후 Redirect된 URL로 Get 메서드 패킷을 보낸다. 여기서 2번이 Redirect라고 생각했습니다. 그런데 아래 사진 때문에 Redirect의 정확한 의미가 헷갈립니다. 'PRG 이후 리다이렉트'라고 표현되어 있는데 PRG 이후엔 새로고침을 해도 계속 Get 메서드로 패킷이 나가니깐 서버로부터 3XX 응답을 받을 일이 없으니, URL이 다른 URL로 변경되지 않을 것 같은데 그럼 제가 위에 적었던 리다이렉트의 의미랑은 조금 다른 것 같아서요. 아니면 새로고침도 리다이렉트에 포함되는 개념인 건가요? 리다이렉트의 의미가 좀 더 넓은 범위인 건지 궁금합니다.
해결됨
외워서 끝내는 네트워크 핵심이론 - 응용
NAT Table 엔티티의 유효시간이 일반적으로 얼마나 되나요? 사용자가 유효시간도 임의로 바꿀 수 있나요?
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
훌륭한 강의 제공해주셔서 감사합니다 ParseList부분에서 ParseMember를 한번 더 호출하는데 memberCode나 readCode와 같은 변수들은 스택에 있어서 초기화 되는거 아닌가요?? 정상값을 왜 뱉는거있지 모르겠습니다 재귀로 호출하더라도 먼저 호출한 ParseMember가 call stack에 쌓인 스택 프레임을 나중에 반환해서 인가요??
해결됨
AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요 선생님 다름이 아니라, 혹시 강의 기한 연장을 부탁드릴수 있을까요? 업무에 바쁘다는 핑계로 강의를 제대로 수강하지 못했는데, 강의 기한이 1달 남았습니다 ㅜㅜ 죄송합니다 ㅜㅜ
미해결
AWS Certified Solutions Architect - Associate 자격증 준비하기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문제에서 EC2 인스턴스는 NAT 게이트웨이 아웃바운드 인터넷 엑세스를 사용하지만~ 이라는 구절이 있습니다. 그렇기에 이미 EC2 보안그룹에서 인터넷으로 가는 아웃바운드 규칙은 잘 설정 되어있다고 생각했는데요 정답이 E. EC2 인스턴스에 대한 보안 그룹 연결에 대한 아웃바운드 규칙이 잘못 구성되었습니다 여서 왜 정답이 되는지 궁금해서 질문 남깁니다.
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
마우스 좌표 출력 뒤에 red.bmp 파일을 출력하도록 바꿔 봤는데요, 이상하게 마우스를 움직여도 좌표 출력값이 업데이트가 안되네요 창을 내렸다가 올리면 그때 출력값이 최신화가 됩니다 어디가 잘못된 걸까요?
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Left 버튼을 누르지 않았는데도 _playerPos.x 구문으로 넘어가서 실행 시 계속 원을 좌측으로 보내 버리네요 코드를 다시 보고 있는데 어디가 잘못되었는지 잘 안보이네요..
해결됨
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
선생님 안녕하세요 좋은 강의 감사합니다. 기초적인 질문일수도 있는데 조금 헷갈려서요 docker run -d -p 9999:80 --name httpdweb3 myweb3 이라고 썼을때와 docker run -dit -p 9999:80 --name httpdweb3 myweb3 라고 썼을때의 본질적인? 차이점이 무엇인거죠? it가 터미널 입력을 열어놓고 가상 터미널을 할당하는 옵션 등등 인건 수업자료에 나와있는데, 조금 더 실질적인 차이..?가 잘 안와닿아서요. 질문드립니다!
해결됨
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
안녕하세요 섹션 7 dockerfile 에서, 웹브라우저 주소 창에 IP주소:9999 를 입력해도 EC2 서버가 열리지 않아서 질문드립니다. 보안그룹에 들어가보니, 이렇게 되어있는데 맞는 설정인가요? 인터넷에 보니, 1. aws 가입 2. ec2 인스턴스 생성 및 탄력적 ip와 연결 (ubuntu free tier로 생성) 3. 인바운드 규칙 80(기본) 포트번호 추가(0.0.0.0) 3. 보안그룹 인바운드 규칙에 포트번호 9999 추가 (사용자 지정 TCP) 이렇게 되어있는데, 저기 아레 규칙 추가 를 클릭하고 사용자 지정 TCP를 선택해서 포트번호 9999 라고 추가를 해줘야 하는건가요? (강의에 이 부분이 따로 안나와있어서요 )
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 204 No Content 응답 페이로드에 보낼 데이터가 없다는 말을 보고 궁금한 점이 생겼습니다. 질문1) 200이나 201은 응답 메시지 body에 데이터를 넣는데, 200이나 201인데도 body에 데이터가 없어도 되나요? 데이터가 없으면 꼭 204여야 하나요? 질문2) 그리고 웹 문서 편집기에서 save를 누르는 상황에 204를 안 쓰고 200 혹은 201을 써도 되는지도 궁금합니다. 이 경우엔 201은 될 것 같기도 한데, 200은 안 되려나요? save를 하면 리소스를 등록(?)하는 거니깐 201이 적합한가요?
해결됨
AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요 강사님 ! 좋은 강의 잘 듣고 있습니다! 혹시 강의 기한 연장을 할 수 없을까요? 연말이라 회사일이 너무 바빠서 다 듣지 못했습니다 ㅠㅠ
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
public void ReadLock() { while(true) { for(int i = 0 ; i < MAX_SPIN_COUNT; i++) { int expected = (_flag & READ_MASK); if(Interlocked.CompareExchange(ref _flag, expected + 1, expected) == expected)) return; } Thread.Yield(); } } 해당 강의에서 작성해주신 ReadLock 부분 코드인데, ReaderWriterLock에 경우 특정 쓰레드가 WriteLock을 잡고 있을 경우 ReadLock을 사용하지 못한다고 알려주셨는데 int expected = (_flag & READ_MASK) 위 코드는 Reader 부분만 긁어오니 Write를 잡고있는지 여부를 파악하지 않는데 위에 if(_flag & WRITE_MASK >> 16 == 0) 와 같은 Write를 잡고있는지 여부를 파악하는 조건문을 하나 추가해야하는 것 아닌가하는 의문이 남아 질문 남깁니다. 항상 좋은 강의 감사합니다.
해결됨
이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
안녕하세요 이득우 선생님. 강의를 듣고 혼자 실습해보다가 의문이 생겨서 결국 이곳에 질문을 드리게 되었습니다. 제가 데디케이티드 서버 환경에서 캐릭터의 위치와 회전을 원하는 값(정해진 위치와 회전)으로 지정하여 변경시키는 실습을 혼자 해보고 있었는데, 간헐적으로 캐릭터가 제대로 정해진 위치로 이동하지 않거나, 회전값도 제대로 돌아가지 않는 문제가 발생하는것 같습니다. 혼자 열심히 찾아보고 고민하면서 내린 생각은, 서버 RPC함수를 통해 SetActorLocation을 수행하였는데, 서버에서 위치 혹은 회전값을 변경시키기전에 캐릭터가 '직전에' 이동하려고 했던 값이 아직 서버 패킷? 같은곳에 남아있어서 이전 이동 정보로 인해 위치 혹은 회전 변경 함수가 서버에서 적용된 이후 곧이어서 뒤늦게 도착한 캐릭터 위치 혹은 회전 변경값에 의해 다시 값이 바뀌어서 원하는 위치와 회전이 나오지 않는거지 않을까 혼자 추측만 하고 있습니다. 제가 원하는 결과를 얻기 위해서 무엇을 고려하고, 혹은 이런 상황이 많이 벌어질것 같은데, 어떻게 해결하면 좋을지 궁금합니다. 추운 날씨에 좋은 강의 주셔서 공부하는데 몹시 도움되고 있습니다. 감사합니다.