묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
섹션 3의 1강 토폴로지 구성에서 질문 있습니다.
강사님 안녕하세요?수업이 너무 재밌습니다. 전공때 너무 지루해서 대충 넘어갔는데 강사님 설명을 듣다보니 네트워크 마스터가 되어가는 느낌입니다.본론으로 들어가서아래 토폴로지 구성에서 라우터와 서버를 크로스 오버 케이블로 연결하신 이유가 따로 있으신가요?Auto-MDIX 덕분에 다이렉트 케이블과 구분이 없이 사용 가능 하기 때문인가요??강의 내용에선크로스 오버 케이블 : OSI 7 Layer 기준 같은 계층의 장비다이렉트 케이블 : OSI 7 Layer 기준 다른 계층 장비라고 하셨는데 해당 토폴로지 구성에선 별 다른 설명 없이 크로스 오버 케이블 사용하셔서 혼란스럽습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
DNS 관련 질문입니다.
루트 네임서버와 탑레벨 네임서버는 공용인가요?공용이라는 의미는 모든 DNS가 .이 공통일거 같고 com, net 같은거는 동일할거 같아서요. 글로벌리 동일한 서버인건지? 동일한 서버그룹인건지?동일하다면 누가? 관리주체인지? 동일하지 않다면 어떤 기준으로 정해지고, 각각의 서버 관리주체는 누구인건지 궁금합니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요. 수강 신청 기간 연장 부탁드립니다.
수강 신청 기간 연장해 주시면 감사하겠습니다 ㅜㅜ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
acceptex 함수 성능에 관련해서 질문이 있습니다.
acceptex 함수를 사용하면 accept 쓰레드를 하나 만들어서 사용하는 거에 비해서 확실하게 성능 이득을 보는편인지 궁금합니다. 제 생각은 그렇게 차이가 심하게 날거라고 생각이 안 들거든요.왜냐면, acceptex를 사용하면 그만큼 IOCP WorkThread 부담을 줄거라고 생각이 들고요, 그리고 소켓 풀로부터 어느 만큼 미리 만들어서 등록을 시켜줘야할지도 관건이 되겠고.. 결국 그 소켓 풀로 만드는 것도 풀이 비어 있으면 만드는 비용도 들어서 그렇게 큰 기대 효과를 못 볼거라고 생각이 들어서요. 그래서 결국 accept만 하는 스레드를 따로 빼서하는 것도 괜찮은 방법이라고 생각이 들거든요. 이 부분에 관해서 어떻게 생각을 하시는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
WSASend는 낚시대 다시 안던져도 되나요?
WSASend는 다시호출 안해줘도 되는건가요? 그리고 만약 보낸 데이터 그대로 다시보낼때 이런식으로 만들면 될까요??
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요 수강기간 연장 부탁드립니다
안녕하세요 원래 10월중으로 강의 다 듣고 시험까지 치리는게 목표였는데, 외부 출장일정이 계속 잡히게 되어서 미리 수강기간 연장 부탁드려도 되는지 말씀 여쭙습니다.. 강의 잘 듣고 있습니다. 항상 감사합니다
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
IP주소의 범위를 나눈다는 것?
정리차 여쭤봅니다.브로드 캐스팅 범위를 IP 주소상 range가 잡히면 줄어든다 > 3계층 부터는 논리적(가상)으로 설명이 가능하니, 범위를 나누는 논리적인 방법이 3계층에 있다 그럼 이 기능이 서브넷 마크스를 통해 IP주소를 나누는게 되겠죠? 논리 = 가상으로도 표현함 H/W를 S/W으로 구현 할 수 있다는 말을 듣고 한방에 정리가 되었습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 WriteLock의 Yield부분이 헷갈려 질문 드립니다
public void WriteLock() { int desired = (Thread.CurrentThread.ManagedThreadId << 16) & WRITE_MASK; while (true) { for (int i = 0; i < MAX_SPIN_COUNT; i++) { if (Interlocked.CompareExchange(ref flag, desired, EMPTYFLAG) == EMPTY_FLAG) { return; } } Thread.Yield(); } }이코드에서 MAX_SPIN_COUNT까지 시도 해보고 Thread.Yield()로 다른 쓰레드에게 양보한다고 이해하고 있는데 여기서 다시 while(true)로 인해 또다시 반복해서 문을 두드리면 굳이 Yield()를 하는 이유가 무엇인지 모르겠습니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
putty 접속 불가
제가 원래 사용하던 PC에서 작업을 하다가 메모리가 부족해서 다른 PC로 옮겼는데 전에 쓰던 PC에서는나오지 않던 오류가 나오면서 putty에 접속이 되지 않고 있습니다 혹시 이것은 어떻게 해야 해결할 수 있을까요? 답변 기다리겠습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
오토스케일링 scaleup 설정에 관한 질문
강사님, 안녕하세요!! 저는 오토스케일링을 통해 특정 요일과 특정 시간에만 인스턴스의 유형이 확장되는 스케일업 설정을 하려고 합니다. ec2에aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-as-schedule-action \--auto-scaling-group-name aws-web-AS --recurrence "0 21 3" --time-zone "Asia/Seoul" \--desired-capacity 2 --max-size 2 --min-size 2 --instance-type m5.large 위의 명령어를 입력했을 때 awscli ver2를 설치하라는 메시지가 나타나서 awscli 버전 1을 삭제 후 버전 2를 설치해도 저 명령어가 맞지 않아 에러가 납니다. 생각했던 방법은1) ec2에 위의 명령어를 주입 후2) AMI와 시작 템플릿을 생성해서3) 오토스케일링을 하면 스케일 아웃과 업이 모두 될 줄 알았는데 결과적으로 스케일업이 되지 않았습니다. 구글링과 유튜브에 인스턴스 유형을 스케일업 하는 설정에 대해 찾아보았으나 참고할 수 있는 자료를 찾지 못했습니다. 또 생각한 방법은 클라우드 워치 설정 후 람다로 스케일업 하는 방법을 생각했으나 이건 아직 잘 모르기 때문에 더 찾아봐야 할 것 같습니다. 혹시 제가 말씀드린 방법말고 따로 참고할 자료나 인스턴스 유형을 스케일 업 하는 방법을 알려주셨으면 합니다. 감사합니다!!
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
mac에서 윈도우처럼 셋팅하는 방법을 알고싶습니다. 포트라벨 체크나 폰트 같은 부분이요
맥을 사용해서 강의를 진행하고있는데 옵션을 찾고있는데 없어서 혹시 맥에서 설정하는 방법이 따로있는지 있으면 알려주시면 감사하겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
공부방법관련 질문드려요
안녕하세요공부 관련 질문있어서 글 작성해요!현재 part4까지 들었는데유니티 part2 부분과 part4 부분이 부족하여 복습하면서 계속 강의를 계속 들을 예정인데알고리즘/자료구조 공부도 이제 시작하는데시간 비율을 어느정도로 하는게 좋을지 궁금해서 여쭤보려고 해요현재는 C# 공부 6 : 코딩테스트 준비 4로 하려고 하는데C# 공부 비율을 더 늘리는게 좋은지 어떤지 잘 모르겠어서 질문남겨요
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
RPC가 Property Replication 보다 빠른가요?
뜬금없는질문이지만...1강 32:20 경에 Property Replication이 RPC에 비해 반응속도가 느리다 라고 말씀하셨는데왜 그런지 간략히 알수 있을까요?저는 그동안 반대로 알고있었거든요. RPC가 느린줄...
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
AGameState는 어떻게 Connection을 가지고 통신을 하는지 궁금합니다.
3강 강의를 듣다가 궁금하게 생겼습니다.일단 저는 다음과 같이 이해하였습니다.'어떤 Actor가 통신을 하려면 Owner를 따라가봤을때 Connection을 소유해야 하며, 일반적으로 Actor 통신 시 Connection을 가지는 PlayerController의 Connection을 이용하여 통신을 진행한다.' 통신에는 RPC, Property Replicate가 속한다고 생각합니다. 그런데, 제가 AGameState에서 Replicate와 RPC를 사용했던 적이 있어서, 이건 어떻게 통신할까? 혹시 서버의 PlayerController가 Owner일까? 궁금했습니다.그래서 다음과 같이 AGameState의 HandleBeginPlay에서 람다로 충분한 시간을 준 뒤 Owner를 출력해보았으나,void AABGameState::HandleBeginPlay() { AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("Begin")); Super::HandleBeginPlay(); AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("End")); FTimerHandle handle; GetWorld()->GetTimerManager().SetTimer(handle, [this]() { AB_LOG(LogABNetwork, Log, TEXT("Owner : %s"), *Owner->GetName()); }, 10.f, false); }Owner 접근 시 크래시가 나는것을 확인하였습니다. 그렇다면, AGameState는 어떻게 Connection을 사용할 수 있는 것인가요?제가 잘못 이해한 것일까요?특별한 Connection을 가지는 Actor가 따로 있나요? 아니면 AGameState가 자체적으로 Connection을 가지게 되나요? 혹시 이후 강의에 다루는데 제가 아직 3강까지 밖에 안 봐서 모르는 것일까요..?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
라우팅 테이블 추가 후 바로 ping이 안되는 원인
안녕하세요. 수업 들으면서 궁금한 점이 있어서 질문을 남겨놓습니다. RIPv1, RIPv2 강의 중에 라우팅 설정이 끝나도 처음 한번은 ping이 안될 수 있다고 말씀해주셨는데, 어떤 사유로 처음에 안되는 건지 알 수 있을까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
라우터와 게이트웨이의 차이
안녕하세요 강사님지금 네트워크 영상 기초 강의들을 계속해서 보고있습니다보던 중에 라우터가 데이터 패킷 전달을 위해 최적의 경로 설정을 해주는 L3 스위치라고 들었습니다그리고 게이트웨이도 데이터 전달 과정에서 택배기사 같은 역할을 하며 라우팅을 한다고 들었는데요,이 둘의 정확한 차이점을 혹시 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Listen Server 실행 시 StandAlone 로그가 찍히지 않습니다.
현재 개발 환경은 Rider IDE에, UE 5.3.1 사용중입니다.32:00 쯤에 Play As Listen server + 뷰포트에서 실행 으로 실행 시 StandAlone으로 먼저 실행이 된다고 하셔서 그대로 따라했는데저는 Server로 된 로그만 나옵니다.5.3에서 변경 사항이 있는 것일까요? 아니면 제가 세팅을 잘못한 것인가요? 혹시 제가 잘못 따라쳤나 싶어서 제공해주신 브랜치에서 다운로드 후 실행 해보았는데도 같았습니다. 새로운 Client들을 계속 추가해도 GPlayInEditorID가 계속 0으로 들어오는데, 혹시 이것도 관련이 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send 과정에서 멀티스레딩에 관한 질문입니다
//양질의 수업 감사합니다. 데이터를 보내는 과정은 수업에서 크게send() // 데이터를 큐에 넣고 보내는 사람이 없으면 직접 보냄register_send() // 비동기로 send 실행on_send() // 데이터 전송 후 콜백 함수총 3가지 과정입니다근데 여기서 lock 경합 상태를 방지하기 위해 누군가가 보내고 있으면 큐에 데이터를 넣기만 하고 다른 일을 하러 가고 실제로 보내는 스레드는 단 1개로 설계한 것처럼 보이는데 큐에 데이터를 넣는 과정도 lock 안에 있어서 데이터를 보내는 스레드가 일을 마칠 때까지 큐에 데이터 못 넣고 대기 상태에 빠지지 않나요? 그래서 결국엔 lock 경합을 예방하는데 도움이 되는지 궁금하네요뭔가 send_queue 이 자원은 object key를 따로 만들어서 딱 이 녀석만 상호배제해야 할 것처럼 생각이 드네요
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
꼭 Item() 생성자를 수정해야 하나요?
단순히 Weapon() 안에서 itemType = IT_Weapon;을 써주면 안되나요?Weapon::Weapon(){ switch (_rarity) { case IR_Normal: _damage = 1 + rand() % 5; break; case IR_Rare: _damage = 1 + rand() % 7; break; case IR_Unique: _damage = 1 + rand() % 10; break; } itemType = IT_Weapon;}
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 적용 과정
제가 현재 docker의 기능을 사용해서 졸업 프로젝트를 배포로 마무리 하려고 합니다. 현재 저는 팀원을 통해branch를 따서 받은 docker 파일을 가지고 있습니다. 이것을 docker compose와 nginx를 사용하여 배포를 마치려고 하는데 파일을 docker 컨테이너로 만드는 과정이 몇 강에 소개 되었는지 기억이 나질 않습니다.저희의 같은 팀원이 만들어 놓은 서버 구상도 인데 git 에서 받은 파일로 배포를 적용하는 방법을 모르겠어서 질문 드립니다.