묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
(Interlocked) Race condition에서 number가 0이 되는 경우가 너무 신기합니다.
Interlocked 강의 부분에서 전역 변수 number = 0에 대해Thread 1은 for문으로 number++Thread 2는 for문으로 number-- 여기서 Thread 두 개가 race condition으로 인해 반복횟수가 많아지면 number를 가져오고, 연산하고 대입하는 과정에서 원자성이 보장되지 않아 number가 변한다고 설명하셨는데요. 오히려 그러면 for문에서 1만번의 반복 과정에서는 number = 0 으로 제대로 나타났는데, 그게 이해가 되지 않습니다. 반복 과정에서도 각 Thread가 race condition이기 때문에 number가 변동할 것 같은데, 제 컴퓨터로 돌려봐도 어느정도 연산량이 적으면 number = 0으로, 이상하게 올바르네요. 이유가 무엇일까요? Thread 2가 실행되기 전에, 컴퓨터의 연산이 빨라서 Thread 1에서 number를 1만번 ++의 계산이 끝나는 걸까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
WriteLock이 기존 진행 되는 ReadLock이 끝남을 기다리는 과정에 대해서 질문드립니다.
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, EMPTY_FLAG) == EMPTY_FLAG) return; } Thread.Yield(); } desired 부분에서 마스크를 통해 WriteThreadId를 제외하고 밀어버린 뒤 Interlocked부분에서 비교를 통해 ReadLock과 WriteLock이 없는지 비교하고 있습니다. 위 과정에서 만약 먼저 ReadLock이 잡혀있다면 ReadLock이 풀릴 때 까지 기다리게 되는데 만약 끊임없이 Read가 일어나 ReadLock이 풀리는 틈이 없어 Write가 되지않는 극단적인 경우는 일어나지 않는건가요? 혹시라도 일어나지 않는다면 Read 하는 과정이 매우 짧기 때문에 그런 일이 발생하지 않는 것인지 궁금합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
콘솔창 특수문자 겹침
안녕하세요. [배열 실습] 강의위와 같이 문자가 겹쳐서 나오는데 해결 방법 알 수 있을까요?다른 분께서 올려주신 모든 글꼴 표시도 해보려고 했으나,저장만 하면 체크가 해제되어서 적용이 되지 않습니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
연장
안녕하세요 개인적인 사정으로 이제야 강의를 들어보려하는데 기간이 끝나가서 혹시 연장이 가능할가요 ? 부탁드립니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
페이로드 헤더?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]content - length가 표현 헤더가 아니라 페이로드 헤더라고 하셨는데, 이것의 의미가 무엇인가요? 표현데이터는 전송하는 실제 데이터인데, 이것의 길이가 왜 표현과 무관한 건지 이해가 안갑니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
데드락 이렇게 이해했는데 맞을까요?
class SessionManager { static object _lock1 = new object(); public static void Test() { lock (_lock1) { UserManager.TestUser(); } } public static void TestSession() { lock (_lock1) { } } } class UserManager { static object _lock2 = new object(); public static void Test() { lock (_lock2) { SessionManager.TestSession(); } } public static void TestUser() { lock (_lock2) { } } 강의에는 두 클래스에 같은 _lock 써서헷갈려서 lock1, lock2 로 나누었습니다. SessionManager.Test();하려면lock1을 열고 들어가서 lock2를 열어야함. UserManager.Test();하려면lock2을 열고 들어가서 lock1을 열어야함 예를 들어,t1이 lock1을 열고 들어가서 TestUser()을 하려고 했지만,하필 t2가 lock2를 열자마자 들어갔을경우t1은 lock2가 잠겨있어서,t2는 lock1이 잠겨있어서둘다 아무것도 못하는 상황 =무한 대기 걸려서 프로그램이 멈춘것 처럼 보이는 데드락 상황 이렇게 이해했는데 맞을까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제 12회 28번 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. KMS 는 보안 인증서를 관리하고 저장하는 솔루션이 아닌데 문제에서는 인증서를 암호화하고 해독할 수 있는 솔루션을 원한다 하였습니다. 인증서를 저장하고 관리하는 것은 Secrets Manager니까 답이 2개가 되어야 하는거 아닌가요? 보안 인증서를 저장한다는 내용은 문제에 나와 있지 않고 "데이터가 암호화 된 후 " 라는 내용만 있으니 A와 C가 복수 정답이 되어야 하는거 아닌가요? C 만 답이긴 어려운거 아닌가요? 인증서를 암호화하고 해독한는 것도 KMS가 할 수 있는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
쓰레드의 작업 순서가 너무 헷갈립니다.
안녕하세요. 강의 잘 보고 있습니다. 질문 드립니다.t1, t2 두 개의 쓰레드를 만들고 실행시켰습니다.t1.Start();t2.Start(); Start()라는 함수가 쓰레드 클래스 말고 싱글 쓰레드 개발환경에서의 그냥 아무 함수라고 가정한다면,t1.Start()가 먼저 실행되고Start함수가 끝날때 까지 기다린 후t2.Start()가 먼저 실행되는게 '문법적으로' 맞잖아요?? 하지만 쓰레드 클래스의 경우에는t1.Start() 가 들어왔을때는t1 쓰레드한테 어떤 일을 실행 시킨 후t1이 작업 끝나던 말던바로 다음줄 코드를 실행 시키는건가요?즉, t2.Start() 를 실행 시키는건가요?그렇게 해서 각 쓰레드(일꾼)이 작업을 하다 여러문제들이 생기는거구요 멀티 쓰레드 개발환경에서 일어날 수 있는 문제점은확실하게 이해하고 있는데,제일 첫 부분인 이게 도통 이해가 안돼서 질문 남깁니다.그동안 해오던 코딩이 부정당하는 기분이라...쓰레드 클래스만 저런식으로 작동된다는 정보가 어디에도 없네요..문법적으로 저렇게 된다고 확신이 필요합니다 ㅠㅠ 요약하자면, 컴파일러는 'Start 함수' 를 만나게 될 경우그 쓰레드한테 작업을 실행시키지만,그 쓰레드의 작업을 기다려 주지는 않고바로 다음 줄 코드를 실행 시키는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 루키스님 코드 라이선스 관해서 질문드립니다.
과거에 해당 강의로 공부하고 최근에 다시 복습 중인데 혹시 코드 라이선스가 어떻게 될까요?외주 작업을 받게 돼서 네트워크 관련 코드를 작성하려고 하는데 문제가 생길 수 있을 거 같아 질문드립니다.덕분에 공부 너무 잘 하고 있습니다. 감사합니다.
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
부하테스트 비용 줄이는 방법이 있을까요?
로컬에서는 걱정이 없었는데배포는 안할 거지만 배포 시나리오를 나름 작성해놓고로컬성능으로 테스트하는게 의미없다고 판단해서클라우환경에서 해보려고 하는데 비용 발생이 고민입니다.VPC 내에 테스트 하는 서버를 만들고대상 서버들을 호출하는 방식으로 하면 절감할 수 있을까요?같은 VPC 내의 다른 가용영역에서는 네트워크 사용비용 자체는소량이라고 알고 있어서 실제 외부에서 들어오는 거랑은 다르겠지만,이렇게 해볼 생각입니다.혹시 다른 방법이 있을까 여쭤봅니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Cache-Control이 양쪽에 있는 경우 질문
N포탈 사이트에서 예시를 찾던 도중Cache-Control이 양쪽에 있는 경우를 찾았습니다. request 쪽에서Cache-Control : max-age=0 이라면 캐시를 사용하지 않고 항상 최신 데이터를 서버에게 요청하는 것인가요? response 에서는 Cache-Control : max-age=604800 처럼 7일동안 캐시 유효기간을 주었는데,request는 항상 요청마다 최신 데이터 (Cache-Control : max-age=0)를 달라고 요청하는 것 같습니다.그렇다면 response 의 캐시 유효기간은 무효화되고 request의 Cache-Control이 우선권이 있어 항상 최신의 데이터를 요청하는 것인가요? 2번이 맞다면 응답쪽에서 굳이 Cache-Control : max-age=60480를 왜 주는 것인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
소멸자 부분에서 ref 변수들을 release 하는건 좋지 못한가요?
이번 강의는 순환 참조일 때 한 객체가 소멸될 시 참조하고있는 객체에 관해 refCount가 줄지않아 문제가 생기는 것에 관해서 여러 방법을 알려주시는것 같았습니다. 그렇다면 소멸자 부분에서 자신이 참조하고 있는 객체들을 release해주는것은 어떤가요?참조하는 객체가 많으면 유지보수하기 어려울것 같은데 그래도 이것 또한 해결책이 될 수 있나요?
-
미해결실습으로 배우는 핵심 네트워크 기술
실습으로 배우는 핵심 네트워크 강의 수강 전 왕 기초 공부에 대하여
실습으로 배우는 핵심 네트워크 강의를 구매했는데, 왕 기초 강의까지 구매하긴 부담스러워서 그러는데 이 강의를 듣기 전에 네트워크 관련 기초 책을 보고 보는게 좋을까요ㅠ? 현재 네트워크에 대해 아는게 거의 없는 상태에요. 밀리의 서재 끊어놓은게있는데 거기서 네트워크 관련 책이라도 보고 해야하나 해서요 ㅠㅠ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장부탁드립니다!!!
좋은강의 계속계속 보고싶어요!!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
writeCount는 원자성 보장하지 않아도 되나요??
writeCount는 atomic이 아닌 일반 uint16이고writeLock++;writeLock--;같은 증감 연산자를 할 때 따로 임계구역 만들지 않는것 처럼 보입니다. 이러면 진짜 만약에 두 개 이상의 쓰레드가 동시에 증감연산을 하게될 경우 이전에 해봤던 예제처럼uint16 temp = writeLock;temp++;writeLock = temp;이렇게 3단으로 실행이 되서 조금씩 오차가 생길 수 있을것 같은데 이 부분은 따로 고려하지 않아도 충분한가요??
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
완강했습니다. 감사합니다. +질문
안녕하세요 좋은 강의 덕분에 네트워크를 많이 이해 할 수 있게 되었습니다.그동안은 막막하기만 했던 네트워크가 적어도 구글링해서 모르는 것을 알아 볼 수 있을 정도는 된 것 같습니다.추가로 질문 드립니다.어디서 봤던 것인지는 모르겠는데 넷가이버님 예정된 강의 로드맵을 본것 같거든요? 향후 강의 등록 계획이 어찌 되시는지요?출판된 책 저작권 문제로 강의 교제는 인쇄가 불가 한 것으로 알고 있습니다. 혹시 그 출판된 책의 정보를 알려주실수 있는지요? 감사합니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드리겠습니다 !! ㅠㅠ
안녕하세요!AWS 자격증을목표로 입문했는데요..업무강도가 너무많아져서 병행을못하고있습니다.연장부탁드리겠습니다.감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
PORT 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]PORT는 PC 안에 하나의 애플리케이션에 할당하는 것으로 이해했는데, 잘 알려진 포트 설명 부분에서 20, 21, 80, 443 같은 곳에 FTP, HTTP, HTTPS가 할당되어 있다고 하셨습니다. 그런데 제가 알기로는 FTP와 HTTP와 HTTPS는 프로토콜인데 프로토콜에 포트가 할당 된다는 것이 잘 이해가 안됩니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
문제 해결 파일 문의 드립니다.
안녕하세요 위의 그림과 같이 user profile 팝업에서 esc 누른경우 팝업이 없어지지 않고 별도 warning 뜨고 진행이 안됩니다. 해결방안을 알수 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
현장강의는 어디서 들을 수 있나요???
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현장강의를 들어야 수업을 따라갈 수 있을것같아요 ㅠ