묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
CorePch.h 파일에서 헤더파일 선언 질문
CorePch.h에 CoreMacro.h를 선언하면 왜 그 아래에 있는 모든 라이브러리가 다 무시 되는건가요? 강사님께서는 안 쓰셨고 제가 궁금해서 써봤는데 오류가 나서 질문드립니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
MTU 질문
안녕하세요.패킷의 MTU의 크기는 1500바이트인데그럼 프레임의 MTU, Segement의 MTU의 크기는 1500바이트가 아니라 더 크거나 작거나 할 수 있나요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
include header
안녕하세요 선생님 ㅜㅜ선생님 코드 짜시는거 보면 막새로운 클래스를 생성하시구 나서막 Types.h, enums.h Defines.h에 정의되어있는 것들을그냥 입력해도 아무 에러가 안 뜨던데저는 그것들 #include 안해주면 정의 안되어있는거 쓴다구겁나 꼽주는데 따로 설정법이 있는건가요,,? ㅜㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
단일 스레드로 처리할 경우 속도 문제점 있나요?
GameRoom을 하나의 스레드로 jobqueue를 사용해서 공유자원을 관리 하면 lock에서는 자유롭지만 하나의 스레드인 만큼 많은 처리를 해야할 경우 딜레이가 생길수도 있을거라고 생각하는데 lock을 타이트하게 거는 방법보다 하나의 스레드에서 처리하는게 속도가 더 빠른가요?하나의 스레드로 룸을 관리하니 결국 작업을 하나씩처리에 따른 속도 이슈가 없는지 궁굼합니다. 예를들어 갑자기 수많은 이용자가 들어와 엔터패킷을 탄다면 디비도 접근해야될때 이에 따른 실시간 처리 성능이 보장되는지 궁굽합니다.
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
질문이 있습니다.
안녕하세요미션이 재밌어서 이것저것 해보고 있는데요진행에는 큰 문제가 없으나 더 좋은 방법이 있는지 여쭤보려고 합니다. Thread 실습미션2: synchronized 예약어를 사용하지 않고 Thread safe하게 구성한다. 간단하게 테스트를 성공시키기 위해서 ReentrantLock을 이용했습니다.이 부분에는 정답이 없겠지만 다른 방안이 있는지 궁금합니다.(volatile을 이용해보려고 했지만 잘 안되더라구요 😅) 웹 성능 테스트 letsencrypt 사용했을 때 접근은 되지만,인증서가 올바르지 않는다는 빨간 경고가 발생하면서 한 번 더 클릭을 해야 접근을 할 수 있습니다.이런 이유로 성능 테스트 사이트가 접근하지 못하고 있습니다.관련하여 검색했을 때 '메일이 잘못되었을 때 인증서가 정상적으로 등록되지 않는다' 문구를 봤던 것 같은데 이런 이유일 수 있나요? 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
원자성
안녕하세요.처음 interlocked 없이 for문을 10,000회로 두고number를 ++하거나 --했을 때 0 이 잘 출력됐는데,이 땐 그냥 반복 횟수가 적어서 원자성 문제가 발생되지 않았던 건가요?
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
문제풀이3 - 20번 문제
안녕하세요정답에 대해 궁금한 사항이 있습니다.S3 Glacier Instant Retrieval 가장기 아카이브 및 밀리초 단위의 즉각적인 검색이 가능한데 C는 제외되는 이유가 무엇인가요 ?보기에 나와있는 Glacier는 Glacier Flexible Retrieval 의 이전 명칭이기 때문에 틀린 것인가요 ?문제에 나와있는 '백업'과,'밀리초' 검색에 더 적합한게 Glacier Instant Retrieval로 생각되어 C를 선택해 틀렸습니다..ㅠㅠ
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
계층 관련 문의
안녕하세요.DoD 측면에서 맨 밑단(L1~L2)를 링크 계층이라고 표현하는 곳도 있는데 그렇게 알고 있어도 무방한가요?
-
해결됨CloudNet@와 함께하는 Amazon EKS 기본 강의
안녕하세요, NatGateway 구성 질문 드립니다.
실습에서는 별도 NatGateway 구성을 하지 않는 것으로 보이는데요 EKS 환경에서는 별도로 구성하지 않아도 괜찮은 걸까요?Amazon EKS에서 제공해주는 EKS Subnets 구성 클라우드 포메이션에서는 NatGateway가 설정되어있어서요링크: https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml강의를 보면 실제 운영환경에서 사용할 인프라를 구상중에 문의드립니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
수신 스레드 분산 질문이 있습니다.
안녕하세요 강사님. 수신 스레드 분산 관련 질문이 있습니다.제가 배운 바에 의하면 송수신 속도 차이의 원인으로 다양한 걸 뽑을 수 있지만 의심해봐야 할 것은 '수신이 송신 속도를 따라잡지 못할 경우' 라고 알고있는데요. 저는 클라 입장에서 서버로부터 받는 recv가 쌓일 경우를 생각해보았습니다. 클라는 서버이외에도 렌더링이라던가 여러가지 상호작용의 일감을 처리해야 하니까 일 자체가 많아서 서버로부터의 recv가 쌓일수도 있지 않을까? 라는 의문점때문에요! 그래서 클라에서는 완료된 recv를 메인스레드에서 바로 받고 처리하는게 아닌 공용 메모리 큐에다가 일감을 넣어주고.해당 공용 메모리 큐를 무한루프로 감시하는 스레드를 별도로 두었습니다. 다만, 해당 스레드는 그 일감 자체를 스레드 내부에서 처리하지는 않고 다시 메인스레드의 해당 일감처리 함수를 호출해주는 방식입니다. 제가 의도했던건 IOCP모델에서 CP큐에 담겨져있는걸 최대한 빨리 빼오자 의도이지만, 사실 메인스레드에서 일처리 자체의 타이밍을 나중으로 미루는것이라서 조삼모사인 구조인가 의문이 들어 질문드립니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
6:00
릴리즈 모드로 해도 디버그 모드랑 동일하게 출력되는데 뭐가 문제인가요? using System.Threading;namespace ServerCore{ internal class Program { // 전역이기 때문에 쓰레드들이 동시에 접근 가능 static bool _stop = false; static void ThreadMain() { Console.WriteLine("쓰레드 시작!"); while(_stop == false) { // 누군가가 stop 신호를 해주기를 기다린다 } Console.WriteLine("쓰레드 종료!"); } static void Main(string[] args) { // Thread t = new Thread(ThreadMain); Task tt = new Task(ThreadMain); tt.Start(); // 1초 존야 후 다시 실행 Thread.Sleep(1000); _stop = true; Console.WriteLine("stop 호출"); Console.WriteLine("종료 대기중"); tt.Wait(); // t.Join(); 과 동일 Console.WriteLine("종료 성공"); } }
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
망중립성의 원칙 설명에서 ISP가 차단하는 기준
안녕하세요! 우선 질 좋은 강의에 감사인사 부터 드립니다! (__)섹션 0의 4번째 강의 내용 속 망중립성의 원칙을 설명해주시면서 ISP가 특정 도메인의 (웹)서버를 차단, 엄밀히 말하면 ISP가 클라이언트에게 거짓된 응답을 제공해줌으로써 클라이언트가 해당 웹서버에 접속하지 못하도록 하는 구조를 설명해주셨는데요! 그렇다면 ISP가 자체적으로 추가하지는 않는다고 하셨고, 어쨌거나 정부(?)같은 중앙기관에서 ISP가 차단시킬 웹서버 목록들을 지속적으로 관리하고, 계속 목록을 추가시키기도 할텐데.. 그러면 ISP가 차단시킬 때의 웹서버를 식별하는 기준은 도메인 주소? 아니면 IP주소로 관리하는 걸까요? 예를 들어, 오늘은 ISP가 차단해야 할 도메인 주소들이 www.a.com, www.b.com 이었는데, 시간이 지나면서 www.c.com 과 같은 다른 도메인 주소들이 추가될 것 같은데.. 이걸 사람이 수동으로 추가하겠죠..? 그리고 이것들을 도메인 주소로 관리하는지, IP 주소로 관리하시는지 아시나요? 혹시 질문이 이해가 가시지 않으신다면 말씀 주세요! 감사합니다 :)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
클라이언트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]PUT과 POST의 차이점을 보고있었습니다.여기서 나오는 클라이언트가 직접 리소스의 URI를 지정한다. 를 보고 드는 생각이 클라이언트의 정확한 정의에 대해 알고 싶습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
강의연장해주세요
감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
서버에만 호출된다는것과 소유한 서버에서 호출된다는 의미
"서버에만" 과 "소유한 서버" 에서 호출된다는 차이가 정확히 무엇인지 알 수 있을 까요?
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
38번 문제 질문
AWS Outposts가 있었다면 답일까요 ?10분 13초에 온-프레미스에서 AWS 서비스를 실행하게 해주는 서비스라고 해서, 헷갈리네요강의 내용중에Snowball Edge와 Outposts 차이를 알 수 있는 곳이 있을까요 ?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI 설계원칙과 rest API
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님께서 말씀해주신 URI를 설계할때는 리소스만 식별하라는 말씀이 제가 공부했던 rest api의 특징과도 비슷해서 궁금증이 생겨 질문 드립니다. 그러면 혹시 설명해주신 URI 설계 원칙이 rest api의 특징이라고도 볼 수 있는 걸까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReaderWriterLock은 반드시 재귀적으로 호출되어야 하나요?
만약 한 쓰레드에서 ReadLock과 WriteLock이 전부 호출된다고 했을 때 반드시 호출의 역순으로 Unlock을 호출해야 되나요? 아래는 C#에 구현돼있는 ReaderWriterLockSlim 클래스를 사용하여 실행한 예시입니다.class Program { static ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); static void Main(string[] args) { Task.WaitAll( Task.Run(() => { _lock.EnterWriteLock(); _lock.EnterReadLock(); Thread.Sleep(5000); _lock.ExitWriteLock(); _lock.ExitReadLock(); })); } }WriteLock -> ReadLock -> WriteUnlock -> ReadUnlock 순으로 호출했고 정상적으로 작동합니다.강의에서 구현한 ReaderWriterLock을 사용해도 예외가 발생하지는 않습니다만 위의 순서로 호출하면 flag가 엉망이 됩니다.public void WriteUnlock() { int lockCount = --_writeCount; if (lockCount == 0) Interlocked.Exchange(ref _flag, EMPTY_FLAG); }동일한 쓰레드가 ReadUnlock을 호출하지 않은 상태에서(즉 read count가 0이 아닌 상태에서) WriteUnlock을 호출할 경우 flag가 0으로 초기화되기 때문에 이후에 ReadUnlock을 호출할 경우 flag가 -1로 초기화됩니다. 제가 생각하기엔 굉장히 특이한 케이스고 실제로 함수가 재귀적으로 호출되기 때문에 발생할 일은 없다고 보는데요...혹시라도 휴먼에러로 위와 같은 상황이 벌어질 경우를 대비해서 예외를 추가하거나 WriteUnlock 로직을 수정해서 'EMPTY_FLAG'가 아닌 '_flag & READ_MASK'를 대입하면 어떤가요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
sql 2번 쿼리 정답이 궁금합니다
정답 예시에서는 91개가 조회되는데 제가 생각한 쿼리는 89개만 조회가 됩니다. 쿼리가 잘못된걸 까요?SELECT c.customerId `고객아이디`, c.customername as `고객이름`, sum(Quantity) as `주문량` FROM OrderDetails od join Orders o on o.OrderId = od.OrderId join Customers c on c.customerId = o.customerId group by o.customerId order by sum(Quantity) desc ;
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
sameSite 와 도메인설정 차이점
서버에서 쿠키를 생성할때 도메인을 설정하는 이유는?만약 클라이언트가 다른 도메인에서 요청한것이라면 서버가 쿠키를 응답 자체를 안해주는걸까요?서버에서 쿠키 생성시 samesite를 설정하는 이유는?클라이언트가 쿠키를 먼저 서버로 부터 받은후, 다시 다른 api 요청시에 나의 도메인과 쿠키에 설정된 도메인이 다른 경우 막으려고 하는건가요?2가지 차이점에 대해 명확히 좀 알려주셨으면 ㅠㅠ