묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
강의노트를 공유해주시면 감사하겠습니다.
복습을 위해 pdf 형식의 강의노트를 받고싶습니다. 강의노트를 업로드해주시면 감사하겠습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
socket 라이브러리에 대해서 질문이 있습니다!
안녕하세요 영한센세~~ socket 라이브러리의 라이프사이클 궁금합니다.제가 이해한 바로는 애플리케이션 계층의 SOCKET 라이프러리에서 3 way handshake 연결을 끊을땐 4 way handshake과정을 하는 것으로 이해했는데! 그렇다면 서버측에서 응답 요청이 완료될때까지 SOCKET 라이브러리의 연결은 지속되는 것인가요~? 결론적으로...하기 빨간색 네모친 부분에 대해서도 SOCKET 라이브러리가 살아있는지가 궁급합니다!!
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
전체적인 흐름이 이게맞을까요?
강의를 듣다보면 가려웠던 부분을 긁는듯 시원한 느낌이 드네요! 좋은강의 감사합니다 전체적인 흐름을 한번 정리 해봤는데, 제가 이해한게 맞을까요?? (캐시가 되는 데이터라고 가정하겠습니다) 1. 데이터 최초요청 2. 서버 응답에 last-modified 정보 포함 3. 브라우저 캐시에는 last-modified 정보가 포함되어있음 4. 두 번째 요청시, 캐시의 유효시간이 만료됐다면 last-modified 정보를 바탕으로 if-modified-since 를 만들어 요청 5. 서버는 if-modified-since 정보를 바탕으로 데이터에 변경점이 없다면 304 notmodifed 리턴 6. 브라우저는 캐시에있는 데이터를 사용
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
멀티 쓰레드 질문 드립니다.
멀티 쓰레드 질문 드립니다. GameRoom 이 JobQueue를 가지고 있어서 멀트 쓰레드에서 안전하다고 하셨는데 GameRoom 의 Broadcast , Enter,Leave 등은 JobQueue 를 이용 하니 멀티 쓰레드에서 안전 한거 같은데 GameRoom 의 Flush 는 어떻게 안전 할수가 있나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
stateless 하게 설계 예시에 대한 부연설명 부탁드립니다.
안녕하세요! 강의 잘 듣고 있습니다. 마지막 부분에 stateless 한 설계가 중요하다고 하면서 높은 트래픽이 예상될 경우에 정적 페이지를 첫 페이지로 설정하기도 한다는 케이스를 소개해주셨는데, 이 예시가 트래픽, stateless 와 어떻게 상관이 있는 건지 조금 더 부연설명 해주실 수 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
패킷모아보내기 실습 보내는 갯수가 500으로 안떨어지는경우
더미클라이언트 수를 500으로 설정하고 실행 했을때 500으로 유지되지는 않고 267 정도로 계속 보내게 됩니다. 프로세스 메모리는 일정하게 유지가 되구요. 이런경우 프로세스 성능에 따라서 모아보내기가 적게 자주 보내게 될수도있나요? 예를 들어 while에서 패킷을 모아보내는 수가 500이 안차더라도 보낼수 있는건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
post 관련 질문드립니다.
안녕하세요! 항상 좋은 강의 감사드립니다 ^^ post 와 put 신규등록을 하는 경우가 헷갈리는데요 클라이언트가 등록될 리소스의 uri를 모르는 상황이라고 설명해주셨는데 예를들어 회원을 가입할 때 회원 id는 유니크 해야되고 사용자가 회원 id를 입력을 합니다 ( ex: testid) 클라이언트는 본인이 입력한 id이기 때문에 알고 있습니다. /member/testid 그리고 거꾸로 파일을 등록할땐 (ex : test.jpg)를 등록하면 서버에는 동일한 파일명이 존재할 수 있으니 식별자를 알 수 없고등록후에 test.jpg와 매핑된 아이디를 전달받아야 됩니다. 이런 상황이라면 예시와 똑같은 업무지만 post와 put 을 거꾸로 적용하면 될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Action Invoke 질문입니다.
action 에 이벤트를 할당하고 Invoke 해서 실행시키는데 이게 그냥 실행시키는거랑 어떤 차이가 있을까요? Action<PacketSession, IPacket> action = null;if (_handler.TryGetValue(p.Protocol, out action)){ //1 action.Invoke(session, p); //2 action(session, p);}
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
DELETE의 응답 메시지 포맷
안녕하세요. 강의 항상 잘 듣고 있습니다. DELTE의 경우에 응답 메시지를 어떻게 해야 하는지가 강의에 나오지 않은 것 같아서요. 찾아보니 200,202,204 정도가 가능하다고 나와있는데(https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/DELETE), 실무에서는 상태코드와 응답메시지를 어떤 식으로 처리하는 경우가 많은지 궁금합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
IP가 틀려서그런지 유니티에서 서버로 접속이 안되네요.
첫번째 사진이 서버 IP로그구요. 밑에 사진이 유니티 클라이언트 IP로그 입니다. 유니티에서 서버로 접속할때 OnConnectCompleted Fail: ConnectionRefused 로그가 뜨면서 플레이어 케릭터가 생성이 안되는 현상이 발생했습니다. 서버에 연결이 실패한 원인을 찾아보니 서버쪽에선 아이피가 :::1인반면 유니티쪽은 127.부터 시작하는 아이피로 서로 틀리더라고요. 서버쪽 로그를 보니 더미 클라에서 모아 보내기가 계속 찍히는거 보면 문제는 없어보입니다만, 이 경우 어떻게 해야될까요? 잘 부탁드립니다 ^^
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Packet Queue 질문
안녕하세요. "Rookiss"님, Packet Queue에 대해서 질문드리려고 합니다. Push() 에 대해서는 BackGround Thread가 계속 Push하므로 lock을 거는 이유가 맞다고 생각되는데 Pop()에 대해서는 Unity의 Main-Thread만 사용한다면 따로 lock을 걸 필요가 없다고 생각되는데 혹시 다른 이유가 있어서 lock을 거신건가요?? 답변해주시면 감사하겠습니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
리소스가 대체가 되어버린경우
같은사용자가 get으로 데이터를 요청하고 같은사용자가 put으로 데이터를 변경하고 같은사용자가 다시 get으로 요청하면 멱등이 아니지 않나요..?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP API 설계 질문
안녕하세요. 좋은 강의 감사드립니다. HTTP API 설계와 관련하여 궁금한 점 질문 드리고자 합니다. 1. /members/{id} 와 같은 API URL에서 {id}에는 특정 회원을 식별할 수 있는 값, 주로 회원 테이블의 PK 값이 들어간다고 생각하면 될까요? 2. 만약 그렇다면 API 설계 시 URL에 PK 값을 노출시키는 것은 보안 상으로 문제가 되지 않는 것인가요? 3. 만약 회원 테이블의 PK가 id, email이라면(즉 특정 회원을 식별하기 위해서 id, email 두 개의 값이 필요하다면) /members/{id}/email/{email} 이런 식으로 설계해야 할까요? 실제 현업에서는 어떤 방식으로 하시는지 궁금해 여쭤봅니다. 감사합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
캐시지정 주체 질문
안녕하세요 이미지 캐시 지정 주체 질문 드립니다. 서버에서 <img src="abc.com"/>이 포함된 응답을 준다고 가정한 상황에서 이 이미지를 캐싱하고 싶은 경우 html을 돌려주는 서버가 캐싱 지정을 해야 하나요 아니면 "abc.com"(이미지 서버)가 캐싱 지정을 해야 하나요? 감사합니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Location 헤더와 Content-Location
안녕하세요. 강사님. 해당 HTTP 수업과 강사님의 스프링, JPA 수업들을 들었던 상태로 드디어 직접 게시판 REST API 프로젝트를 진행하기 위해 API 명세를 작성해 보면서 검색하던중에 한가지 의문이 생겼습니다. 강사님께선 POST 요청에 대한 201 Created 응답을 할 때, Location 헤더에 생성된 자원의 주소를 포함해서 응답하는걸로 알려주셨는데, 구글링해서 본 글 중 아래와 같은 글을 보았습니다. "따라서 요청의 응답 헤더에 새로 생성된 리소스를 식별할 수 있는 Content-Location 속성을 이용한다. 출처: https://sanghaklee.tistory.com/57 [이상학의 개발블로그]" 강의 내용과 달라서 구글에 영문으로 검색해 보았는데, 영어로봐도 모르겠고 한글로 번역해서 봐도 이해가 잘 안가서 질문드립니다.구글링 결과로 Content-Location 헤더는 반환된 데이터에 대한 대체 위치를 가르킨다고 하고,Location 헤더는 리다이렉션의 대상을 가르킨다고 하고 있습니다... 같은말을 다르게 설명하는느낌입니다. 그런데 Location과 Content-Location은 다르다고합니다.만약 유저 정보를 POST 요청으로 등록한다고 하면 반환된 데이터는 서버에 저장된 데이터이고, 이것에 대한 위치라는 말과 리다이렉션 대상이라는 말은 같은말 아닌가요?ㅜㅜ Content-Location 헤더는 강의 내용에도 있는 콘텐츠 협상시에 쓰인다는 말이 나오는 것 같은데, 그러면 블로그의 정보가 틀린건가요??? 아래는 영어 원문과 번역된 내용입니다... 감이 안잡히네요The Content-Location header indicates an alternate location for the returned data. The principal use is to indicate the URL of a resource transmitted as the result of content negotiation. Location and Content-Location are different. Location indicates the URL of a redirect, while Content-Location indicates the direct URL to use to access the resource, without further content negotiation in the future. Location is a header associated with the response, while Content-Location is associated with the data returned. This distinction may seem abstract without examples. ======================================================= Content-Location헤더는 반환 된 데이터의 대체 위치를 나타냅니다. 주요 용도는 콘텐츠 협상 의 결과로 전송되는 리소스의 URL을 나타내는 것 입니다. Location그리고 Content-Location다릅니다. Location리디렉션의 URL을 Content-Location나타내고 향후 콘텐츠 협상없이 리소스에 액세스하는 데 사용할 직접 URL을 나타냅니다. Location응답과 연관된 헤더이고 Content-Location리턴 된 데이터와 연관됩니다. 이러한 구분은 예 없이 추상적으로 보일 수 있습니다 . 추가적으로, GET /users 같은 컬렉션이 반환되는 경우, 정상적으로 처리가 되었지만 데이터가 아무것도 없는 경우엔 200응답으로 빈 내용을 응답할지, 404에러로 응답할지 구글링 해보면 관점에따라 의견이 갈리던데, 강사님께서는 이러한 경우에 200을 사용하시는지 404를 사용하시는지 궁금합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
대용량 트래픽 서버 증설시 궁금증
안녕하세요 강의 들으면서 궁금한게 생겼습니다. 같은 시간에 대용량 트래픽이 발생하는 경우 stateless로 설계된 요청은 서버를 확 증설해서 대응이 가능하다고 하셨습니다 1. 접속량이 많은 경우 대기열을 부여하는 경우가 많이 있는데, 서버가 여러 대를 사용할 때 대기인원의 순서 동기화?가 어떻게 이루어지는지 궁금합니다. 2. 로직을 처리하는 서버는 여러대여도 중심 DB는 하나일 것 같은데(완전히 제 추측입니다! 아니라면 알려주세요) 트랜잭션을 할 때 병목이 발생하지 않나요?? 제가 모호하게 이해하는 부분이 많은 것 같습니다 ㅜㅜ 강의 정말 잘듣고 있습니다 답변 주시면 감사하겠습니다!!!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
리소스 식별 URI 설계 시, 단수 복수
PPT 내용에 보면 회원 목록을 조회할 때는 복수로 조회하는 게 맞지만, 단일 회원 조회, 등록, 수정 삭제는 단수를 써주는게 덜 헷갈리지 않을까요? 다 복수로 쓰는 이유가 있나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 요청에 멱등성 적용에 대하여
최근에 결제관련 개발을 하던중에, 클라이언트사의 강력한 요청으로 POST 요청에 대해서 멱등성(Idempotency)을 보장해준 경우가 있었는데요. 클라이언트사의 특수한?(실제 사유는 설명해주지 않음) 환경으로 인해, 동일한 요청이 중복해서 발생할 수 있기 때문에, 요청 Body내용이 완전히 동일한 경우에는 두번이든 천번이든 동일하게 응답 해달라는 요구가 있었습니다. 물론 POST 요청으로 인해서 일어나는 비즈니스 로직은 수행하지 않고 동일 응답만 달라는 요구사항이었는데요. 이런 경우엔 POST에도 멱등성이 적용된 것으로 봐야할까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
도메인 이름과 호스트 이름
안녕하세요 강사님 질문있습니다! URL 문법 장표에서 www.google.com은 호스트명이라고 하였는데 이는 도메인명하고 같다고 보면 되나요? 호스트명하고 도메인명은 엄밀하게 다르면서 같은 느낌인건가요? 구글링을 해봐도 헷갈려서 질문합니다! 감사합니다 :)
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
patch 상태코드 관련 질문
항상 양질의 강의 감사드립니다. patch를 사용해 부분적으로 수정을 하는 로직을 수행할 경우에 상태코드로 200, 201중 어느 것이 더 적절할지 궁금증이 생겨 질문을 남깁니다! 감사합니다.