묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 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가 끝날 때 까지 대기해야하는 상황이 발생하지않나라는 걱정이 조금 됩니다.
-
해결됨네트워크, 그림으로 이해하자
안나오는 동영상이 있어요..
ICMP 랑, 전송 계층 개요 동영상이 인코딩 중이라며 나오질 않습니다 확인 부탁드릴게요 ㅠㅠ
-
해결됨네트워크, 그림으로 이해하자
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: 게임 서버
상속관계 복사부분 질문이있습니다.
1. // 상속 관계 복사 template<typename U> TSharedPtr(const TSharedPtr<U>& rhs) { Set(sticta_cast<T*>(rhs._ptr)); } 강의에서 TSharedPtr클래스의 상속관계복사부분이 이해가 조금 부족한 것같습니다. 부모 자식관계에서 받아온 값들을 다시 static_cast<T*>로 하면 복사가 정상적으로 되는건가요? 2. 강의에서 wraight = nullptr 이 부분은 실제로 wraight = WraightRef(nullptr); 로 되어있어서 TSharedPtr(T* ptr) { Set(ptr); }이 호출된 후 복사 연산자가 호출된다고 말씀하셨는데 실제 디버깅을 해보니 복사가 아니라 이동쪽으로 브레이크 포인트가 타고있었는데 같은 맥락인건가요 ?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
서버에서 URI를 만들어 넘겨준다고 하셨는데 React, Vue 로 만들어진 프론트에서는 어떻게 처리하나요?
React나 Vue 같은 SPA에서는 데이터를 받아서 대부분의 처리를 클라이언트에서 하기때문에 클라이언트에서 URI를 통해 처리하는것 처럼 유사하게(흉내내서) 처리하게되는데 이럴때는 서버는 그냥 데이터만 넘겨주나요?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
시뮬레이션을 활용한 네트워크 구성 질문
강의 Layer2 네트워크 개요 및 특성에서 말씀하신 부분 중 10분 54초에서 스위치는 브로드캐스팅 도메인을 물리적으로 나눌수 없다고 하셨는데 물리적으로 브로드캐스팅 도메인을 나눌 수 있는 거는 라우터 아닌가요?? 스위치라고 말씀하셔서 문맥상으로 라우터라고 생각하는데 자막을 달아주셨으면 좋겠네요
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 4 way handshake
[질문 내용] 안녕하세요. TCP 프로토콜을 공부하다 궁금한 점이 있어 질문드립니다. 연결지향의 특징을 갖는 TCP는 연결할 때 뿐만 아니라 해제할 때도 4-way handshake라는 과정을 거친다고 알고 있습니다. 4-way handshake는 언제 이루어지는 것인가요? 연결을 종료하는 시점이 말씀하신 데이터 전달 보증 과정이 종료되면 일어나는 것인지 궁금합니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
오버로딩 new
오버로딩 new가 궁금합니다 매개변수로 타입 size_t인데 어떻게 생성자로 new Knight()가 받아지는건가요? 디어셈블리에서도 해당 크기가 받아지는데 그 부분이 왜그런지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3-way handshake 질문
안녕하세요 3-way handshake 관련해서 질문 드립니다 syn, syn-ack, ack의 과정이 클라이언트의 TCP전송계층에서 서버의TCP전송계층으로 서로 연결 가능한 상태인지 확인을 하는걸로 이해하고 있는데요 이런 논리적인 연결을 하려면 결국에는 클라이언트 전송계층에서 서버쪽 전송계층으로 가기위해서는 네트워크 -> 물리계층 을 거쳐서 연결을 위한 패킷이 먼저 왔다갔다 한다고 이해하면 될까요? 단순설명으로만 보면 클라이언트 TCP계층에서 서버TCP계층으로 다이렉트로 연결되는 것처럼 느껴지는 부분이 있어서 헷갈려 질문드립니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
소켓프로그래밍 질문드립니다.
현재 락프리까지 듣고 소켓프로그래밍이 궁금해서 바로 넘어 왔는데 현재 게임서버쪽이 ws2에러가 재정의 에러가 나서 질문드립니다. 현재 msdn으로가서 오타도 확인하고 안되서 루키스님의 소스도 복붙했는데 제 visual에서 에러가 발생하는데 혹시 threadmaanager 강의쪽에서 추가하신 것이 있어서 그런건가요? 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.