묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
API의 정의 질문
큰돌님, 안녕하세요. 강의 잘 듣고있습니다!학습 중에 궁금증이 있어서 질문 올립니다.API를 뭐라고 정의해야 될까요???큰돌님 강의 교안 19페이지에서는 API를 '둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층의 의미'라고 적어주셨는데요,강의 교안 185페이지 REST API 파트에서는API를 '소프트웨어와 소프트웨어 사이에서 데이터 전송을 가능하게 하는 프로그램'이라고 적어주셨습니다.그 외에도, 인터넷으로 API의 정의에 대해 찾아보면 '소프트웨어 간의 통신 규약'이라고 나오는 등 정의가 애매모호한 것 같습니다.기술면접에서 API에 대해서 질문이 들어올 경우, 어떻게 답하는게 가장 깔끔할까요?? 아니면, 어떻게 답해도 상관이 없을까요???
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
REST API의 URI규칙에 대해서 질문드립니다
안녕하세요, 네트워크 파트의 REST API 강의 내용 수강 중 문의점이 생겨서 질문드립니다.설명해주신 내용 중에 'Uniform-Interface의 6개의 규칙'과 'URI 규칙 6가지'간의 관계가 어떻게 되는지 잘 이해가 안 되는데요,6개의 Uniform-Interface 규칙을 지켜서 URI를 만들었을 때의 'URI 생성 규칙'이 교안 187페이지에 나와있는 6가지 규칙이라는 게 맞을까요???
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
토큰기반 인증방식에 대해서 질문있습니다
안녕하세요, 토큰기반 인증방식에 대한 내용 학습을 하다가 질문이 생겨서 문의드립니다.교안이나 강의 내용을 보면, stateless를 유지하기 위해서, 기본 서버 이외에 인증 서버를 따로 두어야 하는 것으로 같은데 맞나요??그냥 하나의 서버에서 인증과 다른 요청 처리를 같이 하더라도, 서버에 인증정보가 관리되는 것이 아니고, 토큰에서 관리가 되기에 인증 서버를 따로 마련하지 않더라도 서버가 stateless하게 관리되는 것 같아서 문의드립니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ArraySegment<byte>
public ArraySegment<byte> ReadSegment { get { return null; } } public ArraySegment<byte> WriteSegment { get { return null; } } 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태오류 CS0037 'ArraySegment<byte>'은(는) null을 허용하지 않는 값 형식이므로 null을 이 형식으로 변환할 수 없습니다. ServerCore 저는 null을 넣을때 오류가 뜨는데 무슨 이유일까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Content-Encoding 질문입니다.
Content-Encoding는 표현 데이터를 압축하기 위해 사용한다 라는 것은 이걸 사용하면 표현 데이터를 직접 압축을 시켜준다는 의미인가요??그러면 Content-Encoding은 직접 압축을 해주기도하고 표현데이터가 어떤 압축방식인지 알려주기도 하는 2가지 용도로 사용되는건가요??답변주시면 정말 감사하겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock-Based Queue 병목현상 질문 드립니다.
Lock-Based Queue를 제작하여 테스트를 할 때 waitPop을 사용할 경우 sleep을 지우고 디버깅을 해보면 Queue 사이즈가 무한정으로 늘어납니다. Push를 한 번 Pop을 2번 돌려도 마찬가지입니다. 실제 스레드에서 사용할 시에는 sleep을 사용하지 않고 while문으로 돌리게 될텐데, wait를 쓰면 이렇게 병목현상이 발생하는 걸까요? 이 현상을 해결할 방법은 없나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
다른 도메인이 같은 포트를 사용하는 경우
다른 분들의 질문답변을 보다 헷갈려서 질문드립니다.어떤분 질문답변에서host: www.delivery.com IP와 포트 : 200.200.200.2:3000host:www.hungry.com IP와 포트 : 200.200.200.2:3000이와 같은 상황에서는 포트번호가 같아 작동하지 않는다. 포트번호는 응용 계층(즉, OS)에서 관리하는 가상의 개념인지라 같은 포트번호를 두개의 어플리케이션에서 공유할 순 없다. 라고 되어있는데 다른분 질문에서는aaa.com 의 포트번호 100번에 배달의 민족 주문 서비스(하나의 .jar파일 실행이라고 가정)bbb.com 의 포트번호 100번에 카카오 선물하기 서비스(IP는 200.200.200.2 로 동일하다)이런식으로 따로 연결이 되고 이 포트번호 100에는 또다른 프로그램(서비스)을 연결할 수 있다고 되어있습니다. 다른 도메인이 같은 포트를 사용할 수 있는 건지 궁금합니다. 답변주시면 정말 감사하겠습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전 문제 풀이 해설 파일 문의
안녕하세요.덕분에 강의 잘 듣고 있습니다. 다름이 아니라 실전문제 pdf외로 각 보기 별 해설이 작성된 파일도 내려받을 수 있을까요?실전문제풀이 강의를 보면 각 보기 별로 틀린 이유에 대해서 작성해 주시는데요. 이 부분도 반영된 파일을 받을 수 있는 지 문의 드립니다. 감사합니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
TCP 연결 종료 과정 중 Time wait관련
서버로부터 FIN + ACK을 수신 후, 최종 ACK를 서버로 다시 전달한 다음, TIME_WAIT 상태로 넘어가고, 일정 시간이 지난 다음 Close 처리가 된다는 설명에서,TIME_WAIT 시간은 정해진 값이 있는 것인지? 아니면 소켓 프로그래밍 시 따로 정해주는 것인지?바로 CLOSED하지 않고, TIME_WAIT을 하는 이유(목적)는 무엇인지?질문의 드립니다. :) 널널한개발자님 답변 부탁 드립니다!!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
표준 헤더와 임의 헤더
안녕하세요 좋은 강의 잘 듣고 있습니다. 표준 헤더라는 것은 브라우저가 자동으로 넣어주는 것인가요? 예를 들어 백앤드에서 만든 api의 response의 헤더에는 사실 java/spring 기준으로. 'return new ResponseEntity(response, HttpStatus.OK)' 만 내보내줌에도 불구하고, 개발에 배포한 후 브라우저에서 f12로 개발자 도구로 확인하면 제가 넣지 않은 여러 헤더들(Origin, Host 등 다양한 값) 이 들어있더라구요. 표준헤더의 기준(몇 가지는 꼭 브라우저가 넣어준다 등) 은 어떻게 정하는 걸까요? 브라우저마다 다른가요? 미리 감사드립니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 등록 후 Location 헤더
안녕하세요좋은 강의 항상 잘 듣고 있습니다. 다름이 아니라, post에서 등록한 후 201, CREATE(또는 200, OK) response 에서 Location헤더 필더에 해당 리소스의 생성된 위치를 보여준다고 했는데요(ex /members/100) 꼭 실무적으로 그렇지 않고 개념, 이론적으로 그렇다는 것 맞을까요? 개발자가 직접 해당 소스의 위치 값을 response Header 의 Location 필드값에 넣어주는 것이요. 반드시 post api에서 자동적으로 내려주는 것은 아니라서 여쭤봅니다. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
환경설정 질문입니다
안녕하세요 선생님, 제가 새 프로젝트를 만들면서 이름과 위치를 정하고 다음으로 넘어갔더니 대상 프레임워크에 .NET Core 3.1 (지원하지 않음) 이라고 나옵니다.visualstudio installer에서 제가 보기에 c#에 관련된 것은 다 설치한 상태인데 더 설치해야 하는 것이 있는걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
할당 범위? 오류? 질문 있습니다. 메모리 매니저 생성자 부분
강의영상 23;29초을 보면 두 번째 루프가 1024부터 시작함0~1024바이트까지는 32바이트 단위로 증가1025~2048바이트 까지는 128바이트 단위로 증가즉 1025바이트가 필요하면 1024+128바이트의 메모리 풀에서 메모리를 가져다 쓴다(메모리 매니저의 pools의 1025번지는 1024+128단위로 할당되는 메모리 풀을 가리킨다.)로 의도하셨다고 생각이 듭니다.하지만 size=1024로 대입하는 구문을 빼면size=1024+32 부터 시작합니다.따라서 사용자가 1025바이트가 필요로 하면메모리 매니저의 pools의 1025번지에는 1024+32바이트의 메모리풀에서 pop해서 사용할 것 같습니다.의도했던것에서 값이 밀렸기에 3번째 루프에서 size는 2080에서 시작하고2080 > 2336>2592 >...>3872 > 4128루프탈출그렇기에 3873~4096번지까지는 NULL이들어갑니다. 루프시작시에 1024, 2048부분이 들어가야 할 것 같습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ConnectionReset
DummyClient의 접속을 끊었을때 ServerCore에 ConnectionReset이란 로그가 뜨는데 따로 로그가 뜨도록 작성하지 않았는데 무엇 때문에 어디서 뜨는건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
프로세스의 상태가 변경되는 경우에 Post 사용
안녕하세요 좋은 영상 항상 잘 보고 있습니다.궁금한 점이 있습니다.프로세스의 상태가 변경되는 경우 등에 post를 사용한다고 했습니다.주문에서 결제완료 -> 배달시작 -> 배달완료 등그런데 이런 과정에서 만약 requestBody에 내용이 필요없는 경우에(프로세스의 상태를 변경하는 경우에 그럴 경우 낮지만)도 만약 의미적으로 프로세스의 상태가 변경되는 경우라면 post를 사용하는 것이 맞을까요? 현업에서, 호출하는 동기화 api 를 batch로 작업한 적이 있었는데요. 주기적으로 엑셀을 읽어서 내용들을 DB에 동기화하는 작업이었습니다. 그런데 해당하는 Api를 호출할 때는 requestBody가 필요한 것이 아니었으므로 post로 만들었었는데요, 강의를 다시 들으면서 궁금해서 여쭤봅니다. requestBody 의 유무 등이 중요한 것이 아니라 의미적으로 다가가는 것이 더 맞겠죠?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
정말 감사히 듣고 있습니다..!! 질문이 몇가지 있습니다..!
강의 너무 잘 듣고 있습니다. MMO RPG를 너무 만들어보고 싶었는데.. 이런 귀한 내용들을 자세히 설명해주시는 분이 있다니.. 정말 큰 도움이 됩니다 다름아니라 해당 강의를 듣다가 문득 궁금해지는 점이 있어 실례안된다면 간략하게라도 의견을 듣고싶어 여쭙게 되었습니다...! 질문은 2개 입니다..!(현재 저는 4챕터까지만 듣고 질문을 드리는 상태임을 미리 말씀드립니다)MMO RPG 서버는 scale out 을 어떻게 할까?? 에 대한 궁금증 입니다.스케일 아웃의 방법을 보통 어떻게 하게 되는지 궁금해져서 여쭤봅니다(제가 부족한지 검색을해도 구체적인 방법들이 잘 안나오는 것 같아서.. 간단하게라도 보통 어떻게하는지 궁금하네요..) 만약 1,2,3,4,5,6,7... 100 맵이 있다고 가정하고, 1번맵에만 유저들이 정말 많아서 하나의 서버로 감당이 부담스럽다고 했을때, 1번 맵을 위해 2개 3개의 서버를 투입하는것이 가능할까요..?왠지 강의를 들었을땐 1번맵의 서비스를 1개의 서버로 밖에 못하지 않을까.. 싶은데.. 우선 제가 생각해본 방식은.. 아래와 같습니다- 1번맵의 경우에는 send할 내용들을 한 서버의 메모리에 두는게 아니라 레디스라는 메모리DB에 저장을 한다- 3개 혹은 4개정도 되는서버가 이 레디스를 바라보고 데이터를 가져와서 연결된 클라이언트들에게 데이터를 전송흠.. 그런데 이렇게하면 속도가 충분히(?) 빠를지에 대한 의문이 들어서 보통의 MMO RPG 서버들에서 이런식으로 scale out을 하는게 맞는방식인지 감이 오지않아 질문 드립니다.MMO RPG 서버는 만약 로직을 수정한다고 한다면 서버점검같은걸 하지 않고 해당로직을 수정해서 배포가 가능할까요??강의내용에서는 서버의 메모리에 유저들의 정보를 다 갖고있어야할 것 같고... 그렇게 되면 중간에 로직을 수정해서 새로운 서버를 띄우고 기존서버를 죽이게되면.. 해당 서버에 접속해있던 유저들이 다 튕기게 되지 않을까 싶어서요. 유저들이 인지하지 않게 편안하게 서버내용을 바꾸는것이 MMO RPG 서버에서 가능할까요..? 끝까지 읽어주셔서 감사드립니다. 강의 정말 잘 듣고 있습니다!!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadOnlySpan을 사용하는 이유를 알고 싶습니다
Span을 사용하면 다른 문제가 발생하는지 궁금합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
코드에서 이해가 잘 안되는 부분이 있어 질문 드립니다
this.playerId = BitConverter.ToInt64(new ReadOnlySpan<byte>(s.Array, s.Offset + count, s.Count - count));이 코드로 수정을 하면 해결이 된다고 하셨는데 왜 이걸로 해결이 되는지 잘 이해가 안가서 질문합니다
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
도메인 구입 내용 관련
22:13도메인을 구매할 때, 도메인 내 서브 도메인 더 둘지, Host를 여러대 둘지를 NAVER DNS에서 다룬다고 하셨는데요. 서브 도메인을 둔다는 것이 Host가 여러 대라는 것을 의미하는 것일까요??여기에 대한 예시를 부탁드려도 될까요??comic.naver.com, mail.naver.com의 경우comic, mail이 naver의 서브 도메인이자 Host가 다른 것인지, 동일 Host에서 도메인 명만 다르게 하는 것인지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
지속연결에 대해서.
항상 좋은 강의 감사합니다. 예전에 들었던 강의인데 다시 복습 겸 듣고 있습니다.그런데 다른 분들이 질문한 것들을 보니 공통된 것들이 있고, 저 역시 궁금한 점이 있어서 말씀드립니다."HTTP 지속연결" -> 지속 연결이라고 하는 것이 정확히 무엇인가요? 영상 5:30초에서 비교한 (0.9초 -> 0.5초) 에서의 각각에 해당하는 결과, 종료는 각각 무슨 연결과 종료를 뜻하는 것인가요? tcp/ip의 3way handshake 인가요? 아니면 http 인가요?결과론적으로 비 연결성이 한계(매번 3 way handshake 자원상) 가 있으니 연결성을 지향해야 한다는 것인가요? 그런데 연결성이 애초에 자원상 한계가 있으니 현재 http/1.1에서는 지속연결을 사용중인 건가요? http/2, 3에서는 더 많은 최적화를 하고 있다고 하셨지만.. 미리 감사드립니다^^