묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
API URL 설계
안녕하세요. API URI 설계에 대해서 궁금한점이 있습니다. 멤버 도메인과 주문 도메인이 있을 때 (JPA강의 예) 만약 해당 멤버의 주문을 검색하고자 하여 요청을 할 때 API URI는 어떻게 해야할까요? 1번. GET /members/{id}/orders 2번. GET /orders 이 둘중에서 어떤 URI로 설계해야 할지 궁금합니다. 인터넷 서칭 결과 관련있는 리소스는 1번처럼 사용한다고 나오는데 jwt를 사용할 경우 2번이 더 적합한게 아닌가라는 생각이 듭니다. 어떤 기준을 적용하여 1번과 2번 중 어떤 API URI 설계를 사용해야할 까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
멱등, 고려하지 않는다는 것의 의미가 헷갈립니다.
사용자1이 GET요청을 하고 사용자 2에 의해 리소스가 변경되면 다시 사용자 1이 GET요청을 했을때 결과가 다르니까 멱등이 아닌걸로 이해하면 될까요? 아니면 중간에 POST가 없었다면 GET요청 후 재요청했을때 값이 같을거니까 멱등하다라고 이해하면 되나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
재귀적 락 허용
재귀적 락을 허용 하지 않았을때 ReaderWriterLock은 Write할때 Read가 같이 일어나면 Write하기 전에 있던 데이터와, Write한 후의 데이터가 공존해서 Read해가기 때문에, ReaderWriterLock을 사용 하는거 같은데(Read만 해갈때는 문제 없어서 Read는 공용으로 가능) 어떤 경우에 재귀적 락을 허용하는지 잘 모르겠습니다. 재귀적 락을 허용했을때는 한 쓰레드가 여러개의 데이터를 write,read할때 사용 되는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
lock 질문입니다
제가 혼자 만들어보면서 느꼈던 점은, "session에서 lock을 걸지 않고 recvbuffer의 writesegment를 가져오거나 DataSegment를 읽어올 때 lock을 걸면 최소한의 범위로 할 수 있을 것 같다" 입니다. 강사님께선 Session의 Send, RegisterRecv, OnRecvCompleted에 하나의 _lock 오브젝트로 전부 잠구셨는데 이렇게 되면 예를 들어 OnRecvCompleted를 호출해서 _lock 범위 내에서 처리하는 동안 Send를 호출하면 Send는 OcRecvCompleted가 끝날 때 까지 대기해야하는 상황이 발생하지않나라는 걱정이 조금 됩니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
참조가 보이지 않는분들 중에
혹시 저처럼 참조(R)이 안 보여서 없는줄 알구 개발자 명령프롬프트 열고 명령어 입력하기 직전이신 분들 비쥬얼 스튜디오 2019 사용을 하고 계신다면 같은 기능합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의에서 Non으로 설명하신 이유가 따로 있을까요 ?
김영한님께서도 항상 Non으로 이해하면 헷갈린다고 말씀하셨듯이.. Non으로 굳이 설명 하신 이유가 있을까요 ? If-match , If-Modified-Since 를 사용하는게 좀 더 직관적이고 이해하기 쉬운 것 아닌가요 ?? 추가로 쿠키와 캐시의 차이가 무엇인지도 궁금합니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTML form으로는 데이터 수정 못하는건가요 ?>
GET과 POST밖에 못 쓴다고 알려주시는데 PUT이나 DELETE를 못쓰면 기존의 데이터를 수정할 수 없는 것 아닌가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
궁금한 점이 있습니다.
강의 초반부에서 Session::Send()를 수정해주셨는데 { WRITE_LOCK; _sendQueue.push(sendBuffer); } if(_sendRegistered.exchange(true) == false) RegisterSend(); 이렇게 작성하면 안되는 것일까요? 별도로 스택 변수를 사용해야 되는 이유가 있는지 궁금합니다. 멀티스레드 개념이 잘 안잡혀서 번거롭게 사소한 것까지 여쭤봐서 죄송합니다..
-
해결됨네트워크, 그림으로 이해하자(2022ver.)
안나오는 동영상이 있어요..
ICMP 랑, 전송 계층 개요 동영상이 인코딩 중이라며 나오질 않습니다 확인 부탁드릴게요 ㅠㅠ
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
10:18초 SYN, SYN+ACK, ACK 색깔 의미가 있나요 ?
3-way handshake를 해서 보장된다고 설명할 때 1.SYN 주황색 2. SYN + ACK 초록색 3. ACK 주황색 이렇게 색칠을 해 주셨는데요 3:51보면 IP패킷은 주황색, TCP세그먼트는 초록색 이렇게 되어 있는데 이것과 관련이 있다는 것을 표현한건가요 ? 맞다면 추가 설명 부탁드립니다. 처음은 IP패킷만 가고 2번째는 TCP세그먼트만가고 마지막 ACK에서ㅏ 다시 IP패킷만 이용한다는건가요??.. 무슨 말인지를 모르겠어서요
-
해결됨네트워크, 그림으로 이해하자(2022ver.)
IP 주소 클래스 설명하는 그림에 오타 있어요
B 클래스 부터 처음 8Bit 의 표기된 숫자의 개수가 7개입니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
tcp가 connection을 생성하는 이유가 뭔가요?
tcp가 ip 프로토콜에서는 제공하지 않는 오류제어, 흐름제어, 혼잡제어를 제공하는 신뢰성있는 연결지향 프로토콜이라는 것을 알았습니다. tcp가 handshake과정을 통해 연결설정을 하는 것이 결국 오류제어, 흐름제어, 혼잡제어를 제공하기 위한것인가요? 연결설정과정 없이는 신뢰성 있는 서비스를 제공하지 못하는 것인지 궁금합니다. 그리고 왜 tcp는 비용을 감수하면서 연결설정 과정을 거치는 것인지 명확한 설명을 듣고 싶습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메서드의 안전성을 따지는 목적이 무엇인가요???
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 안녕하세요! 매번 좋은 강의 감사드립니다. 강의를 듣다가 안전 속성에 대한 의문점이 생겨서 질문 남깁니다. 메소드가 안전한지 아닌지 자체가 무엇을 위해 제시된 속성인지 잘 모르겠습니다. 멱등과 캐시가능한 속성은 그 특성과 필요성을 잘 알겠습니다. 그러나 안전이라는 속성은 조금 이해가 가지않는것이 있는데, 강의에서는 안전하면 좋은것이다 아니다를 따지는 것이 아닌것같아서요! 안전하지 않다고해서 POST 를 안쓸수도 없고.. 개발 과정에서 메소드의 안전성을 고려해야하는 사례가 있나요?? 그냥 리소스를 건드리지않는 GET은 안전, 나머지는 리소스를 건드리기때문에 안전하지 못하다 로 "굳이" 나눈 목적이 궁금합니다. 제가 검색한바로는 안전한 메서드의 목적은 서버에 어떤 영향을 줄 수 있는 안전하지 않은 메서드가 사용될 때 사용자들에게 그 사실을 알려줄 수 있도록 하는 것이라고 하더라구요 이 설명 중에서도 "사용자들에게 그 사실을 알려줄 수 있도록 한다"는 것도 어떤 알림을 주는지 잘 와닿지가 않아서 아예 여기다가 질문을 남기게 되었습니다. 늘 좋은 강의 감사합니다!
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
좋은강의자료 정말 감사합니다.(저작권 관련 블로그 게시 가능 여부 문의)
안녕하세요 넷가이버님 좋은 강의 잘 듣고 있습니다. 개인적으로 네트워크를 공부하고 있는 직장인인데, 다음과 같이 정리한 자료를 블로그에 게시해도 되는지 궁금해서 문의남깁니다.(상업성 블로그x) 블로그에 출처 명확히 표기할 예정이구요. 만약 문제가 된다면 개인적으로만 소장하겠습니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
수업자료에 걸려있는 암호 알려주실 수 있나요?
수업자료에 걸려있는 암호 알려주실 수 있나요? 암호가 걸려있어서 프린트를 할 수 없습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Last-Modifed 값은 서버에서 어떻게 갱신이 될 수 있나요?
안녕하세요! 좋은 강의 감사합니다. 캐시부분을 쭉 듣다 막연한 궁금증이 생겨 질문드립니다. Last-Modifed은 따로 개발자가 구현하는게 아니면 서버에서 자동으로 설정해준다는데.. 리소스가 마지막으로 수정된 시간을 서버는 어떻게 알 수 있는건지 궁금합니다.. 보통 데이터베이스에 데이터를 저장할때 거의 항상 update_dttm 같은 컬럼을 만들어두고 넣던데 이런 컬럼값을 자동으로 체크하는걸까요??;; 좀 쌩뚱맞은 질문같단 느낌이 드는데 구글링해도 잘 안나와서요.. 너무 궁금해서 여쭤봅니다. 읽어주셔서 감사합니다!!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버에 관하여
서버는 단 한개의 데이터베이스를 갖지 못하는건가요?마이크로서비스아키텍쳐나 이런것들을 사용하면 서버 한개가 죽어도 Stateful 하게 통신할 수 있지 않나요? 또는 기존 모놀리식 아키텍쳐로 여러 서버를 설계를 한다해도 DB를 하나로 통합하여 사용하면 되는것이 아닌가요?방금 말한 방법은 확장성과 Scale out을 고려한다면 비효율적인 방법같긴 하지만 하나의 방법으로 생각되어 질문 남깁니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
reinterpret_cast질문이있습니다.
template<typename T> BufferWriter& BufferWriter::operator<<(const T& src) { *reinterpret_cast<T*>(&_buffer[_pos]) = src; _pos += sizeof(T); return *this; } reinterpret_cast c++강의에서 아주 강력한 변환 포인터랑 정수사이도 변환이 가능하고.. 다 가능한 변환 느낌이었는데 앞에*를 붙여주는 이유가 궁금합니다. *reinterpret_cast<T*>(&_buffer[_pos]) = src; =========================== T*로 변환하는데 src가 참조라서 *를 한번 더 붙여주신건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
/{id}가 뭘까요?
안녕하세요. members/{id}에서 /{id}가 뭘 뜻하는거죠? members/100이 아니라 members?id=100 아닌가요? 제 생각에는 해당 메서드를 호출할 경우 뒤에 아이디값을 파라미터로 넘겨 주는 것 같은데 /는 디렉토리 표시 같아서 헷갈려서 질문 남깁니다. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
StompAllocator 메모리 오버플로우 감지에 대해 질문드립니다
강의와 같이, 자신의 페이지를 넘어선 메모리에 접근하면 "쓰기 엑세스 위반"이라는 에러가 뜨는 상황인데. 이 때 만약, 오버플로우로 접근하는 바로 그 다음 페이지가 "쓰기 권한이 있는" 페이지 였다면 오버플로우를 잡아내지 못하는건가요? 아니면, 엑세스 권한과 상관없이 단순히 페이지 범위를 벗어났기 때문에 에러를 주는 원리인가요?