묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의스크립트
강의 자막(스크립트) 다운로드 받을 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
35분 06초 질문 있습니다.
복사될때 RefCount가 1증가해서 넘어가기 때문에사용중에는 삭제되지 않을것이라는 보장이 있다고 말씀해주셨는대다른 쓰레드가 해당 메모리를 해제하면 삭제가 되는것 아닌가요?? 이부분이 잘이해가 안가서 질문드립니다.다시 말씀드리자면 어떻게 상호배제가 구현되는지 잘 이해가 가지 않습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의 자료 련
안녕하세요강의 이미지 자료를 개인적인 노트 정리에 사용하고자 하는데 ,자료를 다운로드 받아볼 수 있을까요?답변 부탁드립니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
질문은 아니고 강의 내용과 pdf 교안이 다른 점이 있어서 제보드립니다
공부 진행에 전혀 문제는 없지만 자그마한 도움이 되고 싶어 말씀드려요9. 채팅 프로그램.pdfCommandManagerV2수정 필요한 부분 : public static final String DELIMITER = "|";수정 후 : private static final String DELIMITER = "\\|";CommandManagerV3, CommandManagerV4수정 필요한 부분 : public static final String DELIMITER = "\\|";수정 후 : private static final String DELIMITER = "\\|";11. HTTP 서버 만들기.pdfHttpResponse수정 필요한 부분 : public void setStatus(int statusCode) {this.statusCode = statusCode;}수정 후 : public void setStatusCode(int statusCode) {this.statusCode = statusCode;}HttpRequestHandlerV4수정 필요한 부분 : private static void notFound(HttpResponse response) {response.setStatus(404);response.writeBody("<h1>404 페이지를 찾을 수 없습니다.</h1>");}수정 후 : private static void notFound(HttpResponse response) {response.setStatusCode(404);response.writeBody("<h1>404 페이지를 찾을 수 없습니다.</h1>");}pdf 파일에서 setStatus 로 쓰다가 뒤의 커맨드 패턴 NotFoundServlet, InternalErrorServlet 에서는 setStatusCode로 메서드 이름을 사용하고 있어서 강의 내용과 동일하게 setStatusCode로 이름 통일을 시켜봤습니다 ServerMainV5임포트 추가import was.v5.servlet.HomeServlet; import was.v5.servlet.SearchServlet; import was.v5.servlet.Site1Servlet; import was.v5.servlet.Site2Servlet;
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장을 부탁드립니다.
수강기간 연장을 부탁드립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[파일 입출력] 28:50
28:20 영상을 보면 'Tilemap' 빈 파일을 만들지 않고 저장이 되는 모습입니다. 그런데 제가 진행을 하면 위 이미지와 같이 assert(file != nullptr);에 걸립니다. 혹시 28:50 같이 'Tilemap' 빈 파일을 만들고 타일맵 저장을 진행해야 하는 게 맞는 방법인지 알고 싶어 글 올립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[이벤트와 조건 변수] 강의에서 unique_lock 사용 이유?
17분 쯤 unique_lock을 사용하였는데별도의 인자로std::defer_lock, std::try_to_lock, std::adopt_lock등 을 넘겨주지도 않는데 굳이 unique_lock을 사용하는 이유가 있을까요? 그냥 lock_guard를 써도 되지 않나요?
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
ServerSocket에 localhost라는 ip정보를 주지 않았는데
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ServerSocket에 localhost라는 ip정보를 주지 않았는데브라우저에서 http://localhost:12345 접속하면 응답을 받을 수 있는 이유가 뭘까요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드립니다.
안녕하세요.업무와 병행하다보니 아직 자격증을 따지 못했습니다...ㅠㅠ수강 연장이 가능할지 문의드립니다.감사합니다!!!!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
C++ 버전을 조금 접목해서 Send 관련해서 lock 잡는 부분을 수정해봤습니다!
안녕하세요.지금 단계에서는 완벽한 테스트가 어려워서 강사님이 보시기에 어떨지 의견 듣고 싶습니다. Send 과정에서 락을 최소화하고 싶어서 C++ 버전을 조금 차용했습니다.ProcessSend()에서 RegisterSend()를 호출하는 식으로, 한 번에 하나의 송신만 담당하면 락을 줄일 수 있을 것 같아서요.public void Send(byte[] sendBuffer) { lock (_lock) { _sendQueue.Enqueue(sendBuffer); } if (0 == Interlocked.Exchange(ref _sendRegistered, 1)) RegisterSend(); }이렇게 해서 한 번에 하나의 스레드만 접근하게 하구요. void RegisterSend() { lock (_lock) { while (0 < _sendQueue.Count) { byte[] buffer = _sendQueue.Dequeue(); _pendingList.Add(new ArraySegment<byte>(buffer, 0, buffer.Length)); } _sendEvent.BufferList = _pendingList; } bool pending = _socket.SendAsync(_sendEvent); if (false == pending) { OnSendCompleted(null, _sendEvent); } } 큐에서 데이터를 가져와 _sendEvent.BufferList에 세팅할 때만 락을 잡습니다.OnSendCompleted는 전체에 락을 안 잡고 중간에만 락을 잡았습니다.void OnSendCompleted(object sender, SocketAsyncEventArgs sendEvent) { if (0 < sendEvent.BytesTransferred && SocketError.Success == sendEvent.SocketError) { try { Console.WriteLine($"Transferred bytes {sendEvent.BytesTransferred}"); lock(_lock) { _sendEvent.BufferList = null; _pendingList.Clear(); if (0 == _sendQueue.Count) { Interlocked.Exchange(ref _sendRegistered, 0); return; } } RegisterSend(); } catch (Exception e) { Console.WriteLine($"OnSendCompleted Error {e.Message}"); } } else { Disconnect(); } } 답변 부탁드립니다. 감사합니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실습한 리소스 삭제
(과금이 안되려면) VPC도 삭제해야 하지 않나요?
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
VMware Ethernet1이 없는 경우
Vmware 윈도우11이 ms사에서 제공하지 않아서따로 윈도우11 이미지를 받아서 VMware player에서 받아서 완전 쌩 윈도우11을 다운받앗는데cmd 창에서 ipconfig를 쳐보니까 Ehternet0 밖에 안뜹니다.
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
socker buffer 에 관하여 문의 드립니다.
안녕하세요 개발자님 오래전 부터 유트브로 보다가, 인프런 할인 할때 한번에 여러개(많이) 수강 하여 듣고 있습니다. TCP 통신 관련 프로세스를 개발 하고 싶어서 문의 드립니다.유트브 이해하면 인생이 바뀌는 TCP 송/수신 원리설명에서 2개의 buffer 가 소개 되었는데요, TCP 와 socker buffer에 대해 문의 드립니다.1.TCP 에 Window Size(buffer) 를 리눅스 에서 실시간으로 조회 할수 있나요? (전은 못찾았습니다)2. socket buffer 을 리눅스 환경에서 실시간으로 조회 가능 한가요? (이것도 찾지 못했습니다.) 3.process 에서 socket에 buffer을 퍼 올려라 하는 말씀과 window size 가 mss 보다 작아지면서 생기는 wait 문제를 해결 하려면 process 부터 확인 하라고 하셧는데, 이 문제는 process 에서 code로 socker 연결 이후 process 내부에 변수로 buffer(사용자 정의)을 선언 하고, socker.recv() 함수를 통해 변수로 선안한 buffer 에 다 적재 하면 process 단에서 TCP 에 쌓이는 문제를 해결 할 수 있다고 생각 해도 되는 걸까요?
-
미해결그림으로 쉽게 배우는 네트워크
실무에서 쓰는 스위치들이 L2? L3? 인지 헷갈립니다.
실제 핸드폰 단말을 사용해서 통화 혹은 데이터를 사용할 때 단말 --- 통신사 기지국(액세스망) --- 통신사 코어망 --- PDN(인터넷) 위와 같은 방향으로 트래픽이 흐릅니다. 여기서 통신사의 코어망 장비 중간에 장비를 연결해서 트래픽을 복사 후 모니터링 하는데코어망 장비인 AMF <-> SMF 장비 사이의 트래픽을 TAP 장비를 통해 복사합니다. 그래서 AMF<-> SMF 사이의 트래픽을TAP -> 집선 스위치 -> 분배기 스위치 -> 서버(수집 카드) 로 들어오게 됩니다 물론 서버 내에서도 통신을 위한 L3 스위치 등등은 모두 따로 다 연결된 상태입니다. TAP -> 집선 스위치 -> 분배기 스위치 -> 서버(수집 카드) 위 절차에서 각각의 장비와 스위치들은 L1 ~ L7 중 어떤거에 속할까요? 이미지화 해서 표현 하면 아래와 같습니다
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
Windows 11 가상머신 다운로드 이슈 3
https://www.inflearn.com/community/questions/1431457/windows-11-%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%9D%B4%EC%8A%88-2위 링크를 참고해서 VMware 가상머신을 다운받고 zip 폴더를 여는데 손상된 파일이라고 뜹니다.확인을 누르니까 압축해제는 동작하길래 압축해제를 눌러봤는데 압축해제를 하는 도중에 아래와 같이 뜹니다.강사님과 동일한 환경에서 학습하고 싶은데 어떻게 해야하나요 ??
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
TLS가 적용되는데 SPI는 어떻게 할 수 있나요?
좋은 강의 잘 듣고 있습니다 ㅎSPI(shallow packet inspection)에 대한 설명으로 HTTP header를 확인해서 특정 사이트 접속을 차단한다고 하셨는데TLS가 적용되면 http packet이 암호화 될텐데 header를 어떻게 읽을 수 있는지 궁금합니다.감사합니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ClientService의 Start와 Send
안녕하세요. 세션관련해서 궁금한 점이 있습니다.ClientServiceRef service를 생성해서 connect를 하는데요,이 service로 Start하는 과정이 궁금합니다. Start 함수 내부에서 sessionCount만큼 Connect를 하는데 클라이언트는 서버에 한 번만 Connect를 하면 될 텐데 maxSessionCount만큼 연결 시도하는 것은 무슨 이유인가요? 그리고 service를 생성한 후 Broadcast를 하는데 연결된 서버는 하나인데, 맥스 세션 수만큼 Broadcast를 하는 것도 이해가 안 가네요. 만약 Broadcast가 아니고 그냥 Send 함수를 구현한다면 맥스세션 수 내의 세션 중에서 어떤 세션에 Send를 호출해야 할까요?답변 부탁드립니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
메소드를 추출할 때 static 자동 적용
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]채팅 프로그램 - 클라이언트채팅 프로그램 - 클라이언트 강의 내용 중 inputusername 메소드를 추출할 때 static 메소드를 추출할 때 static으로 자동 적용 되었는데, 굳이 static 메소드로 사용하지 않아도 될 것 같습니다..!또 단축키가 어쩔 땐 static으로 추출되고, 어쩔 땐 아니어서 검색해보니 토비님의 답변도 찾을 수 있었습니다!https://www.inflearn.com/community/questions/1359516/%EB%B3%80%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%BD%94%EB%93%9C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B6%94%EC%B6%9C?srsltid=AfmBOorUZ02Kv2_l0vDv5EM2D3c5qO6mGJBncxlRZTzVmR5Ueni2JQrg
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요 수강 연장해주시면 감사하겠습니다.
안녕하세요.수강 기한이 한 달 남았는데, 수강 기한 연장이 가능할까요?업무와 병행하다보니 강의 수강을 못했네요...내년에는 꼭 자격증을 따고 싶어서, 연장해주시면 감사하겠습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
204 No Content
HTTP Delete 요청에 대한응답으로 204 No Content는 어떠하신가용?우선 저는 L7 네트워크 엔지니어 이고용,, L7 독학중에 있고 해당 강의 수강전에 우연히 chatGPT 한테 물어봤었던 기억이 있었는데 GPT는 이러한 예제를 알려주더군요.저는 나름 납득이 가는 예제였고, 이해가 됐었는데영환님 께서는 어떻게 생각하시는지 궁금합니다!음 근데 설명해주신 것 처럼, "화면을 유지한다." 가 기본 베이스라면 Save 든 Delete든 상관이 없긴하겠네요..------------------------------------------------------HTTP DELETE 요청 예제HTTP DELETE 메소드는 서버에서 특정 리소스를 삭제하도록 요청하는 데 사용됩니다. 여기 예제와 요청에 대한 설명을 제시합니다:DELETE 요청 예제:DELETE /resource/123 HTTP/1.1 Host: example.com Authorization: Bearer [Access_Token] URL: /resource/123 - 삭제하고자 하는 리소스의 경로입니다.Host: 요청을 보낼 서버의 호스트 이름입니다.Authorization: 권한이 있는 사용자임을 인증하기 위해 Bearer 토큰을 포함합니다.HTTP DELETE 요청에 대한 응답 예제응답 예제는 요청이 성공적으로 처리되었는지, 실패했는지에 따라 다릅니다:성공 응답:HTTP/1.1 204 No Content Status Code: 204 No Content - 요청이 성공했지만, 클라이언트에게 반환할 내용이 없음을 의미합니다.Explanation: 리소스가 성공적으로 삭제되었으나, 클라이언트가 추가로 처리할 필요가 없는 경우에 사용됩니다.