안녕하세요 강의 잘 보고 있습니다. 코드를 보면서 멀티 스레드 관련해서 궁금한게 있어 질문 남깁니다. 1.ClientSession에서 Lock을 잡지 않는 이유는 Receive쪽에서 하나의 스레드만 들어오기(낚시대 비유) 때문에 안걸어도 되는건가요? 즉 하나의 스레드가 메서드 안의 메서드를 타고 타고 들어와서 안전한건가요? 2. 1번이 맞다면 ClientSession 에서 GameLogic Push 하는 이유는 스레드 안전성 때문이라기보단 멀티 스레드를 활용하기 위함이라 보면 될까요?
루키스님 안녕하세요? C# AWS 답변 보고 여기로 와서 클라 입장 공인 IP를 가지고 사설 IP에 접근하는 것 성공했습니다. 아침 답변 감사합니다. 제가 포트폴리오 작성 간에 데모 프로그램을 준비해보려고 하는데 (기준은 C# 파트7 수강 이후입니다) 첫 번째 방법은 클라, 서버 exe 한폴더에 넣고 .bat 파일 만들고 이거 하나만 실행시키서 서버 실행 -> 클라 실행 순으로 입장시키기 입니다. 그런데 이 방법은 .net이 안깔려 있으면 서버부터 크래시가 나길래 인사담당자나 면접관이 못볼 수도 있겠어서 찜찜해서 두 번째 방법으로 생각한건 AWS입니다. 윈도우 프리티어와 인스턴스 프리사양, 그리고 고정용 IP용 탄력적 IP를 만들어서 항시 켜놓으려고 합니다(보안 정책은 여기 강의처럼다 뚫어놓긴 합니다). 그리고 데모 프로그램은 클라이언트만 제시하는 방법을 생각 중입니다. 이 경우 AWS 서비스가 무료거나 소액이면 해볼만한 방법이라고 생각되는데 둘 중에 어느 방법이 괜찮을지 의견 여쭈고 싶어서 질문 드립니다.
안녕하세요. JobTimer 클래스에서 사용된 우선순위 큐 관련해서 2가지 궁금한 점이 있습니다. 1. 여기서 사용된 우선순위 큐는 최소힙으로 구현된게 맞나요? PriorityQueue.cs 에 작성된 우선순위 큐는 최대힙 이지만, JobTimerElem 구조체를 정의할 때 CompareTo 메서드를 오버라이딩 해서 최소힙을 사용하게끔 수정한 것으로 이해했는데 제대로 이해한게 맞을까요? 2. Pop 메서드에서 힙 정렬 과정 질문 PriorityQueue.cs에 작성된 Pop 메서드의 While 문이 힙 정렬을 담당하는 부분으로 이해했습니다. 만약 While 문 한 번으로 정렬이 끝나지 않는 경우는 어떡하나요? 예를 들어 다음과 같이 저장된 최소 힙의 경우 이렇게 While문이 한 번 끝났는데 최솟값인 2가 루트 위치에 있지 않은 경우가 있어서 질문 드립니다.
박재성 선생님 안녕하세요! C# ASP.NET 백엔드 서버 를 리눅스 로 배포하려고 하는데요. 이에 대하여 접근 방식(힌트)을 여쭤볼 수 있을까요~? Spring Boot와 Nest.js를 너무나 잘 설명해주셔서 혹시 선생님께는 처음 접하는 프레임워크(C# ASP.NET )에 대하여 어떻게 접근하실지 궁금하여 질문을 남겼습니다! 좋은 강의에 다시 한번 감사드립니다!!
Add_Queue 함수에서 go.transform.parent = m_pool_Dictionary[path].parentTransform; 부모 설정을 하고 다시 Return 함수로 가서 obj.transform.parent = parentTransform; 다시 부모 설정 하는 이유가 궁금 합니다. 아 그리고 스킬 구현 아이디어는 끝났나요 ?
안녕하세요 신입 클라이언트 프로그래머 취업을 준비하고 있습니다. 다름이아니라.. 제가 강사님의 강의를 열심히 듣고 3D로 포트폴리오를 프로토타입 수준으로 제작을 완료했습니다. 플레이어가 메인씬으로 이동해 상점에서 물품을 구매하고 인벤토리를 통해 장비를 장착하고 NPC를 통해서 스테이지로 들어가서 잡몹을 처리후 보스를 처치하고 스테이지를 클리어 하는 부분까지 구현을 했는데요... 이번에 포트폴리오를 제출하려고 하는데 포트폴리오에 얼마나 디테일한 부분까지 작성을 해야할까요?? 그리고 영상을 꼭 필요할까요??? 커뮤니티를 찾아봤는데 말이 다 달라서 질문드립니다...
안녕하세요. 섹션 2의 SingletonBehaviour 강의 수강 중 궁금한 점이 생겨 질문 남깁니다. 해당 클래스가 MonoBehaviour의 성격을 띄게 하기 위해서 클래스에 MonoBehaviour를 상속시키는 것 까지는 이해가 되었습니다. 그러나 뒤에 다시 SingletonBehaviour<T>에 대한 제약의 필요성이 충분히 이해되지 않아 모호하게 느껴졌습니다. 앞으로 SingletonBehaviour를 상속 받을 클래스에 구현을 강제하는 것인지, 아니면 성능 상의 제가 알지 못하는 이점이 있는 것인지 궁금합니다. 해당 SingletonBehaviour 클래스가 아니더라도, 클래스 설계에 있어 이와 같은 재귀적인 형태의 where 제약이 어떤 의미 또는 의도가 있는 것인지 궁금합니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
안녕하세요 방금 전 C# part.1 끝낸 비전공자 학생입니다! 이제 part.2로 넘어가려고 하는데 커뮤니티 글에 C++ 자료구조가 더 상위호환이라고 들어서 혹시 이제 갓 입문한 학생도 C++ 자료구조를 보는게 더 도움이 될까요? C++ 자료구조를 이해하려면 C++ 지식이 필요한건 아닌지 여쭤봅니다!
visual studio 2022로 작업하고 있습니다. Interlocked(9강), Lock(10강), DeadLock(11강)에서 디버깅을 하면서 무한루프 또는 DeadLock(11강)에 디버깅이 안되는 것을 따라해보고 있었습니다. 이전 컴파일러 최적화 강의(6강)를 따라하면서 Debug모드를 relase로 할 때 visual studio에서 3가지의 선택사항이 나왔었습니다. 취소해도 다시떠서 디버깅을위해 내꺼를 제외하고? 를 선택했었습니다.(항목이 기억이 나지 않네요.. 뭐라고 검색해야할지도 모르겠고 프로젝트를 새롭게 만들어도 해당사항은 나오지 않았습니다..) 그러고 나서 영상처럼 이부분이 문제입니다 하는 부분들이 저는 이상이 없더라고요 여기서 중단점 잡아도 안잡히는 문제가 있다고 합니다. 그래서 WaitAll에서 스레드를 찾고 문제점을 찾으셨지만 제가 따라할 때는 중단점으로 넘어왔습니다. 제 생각에는 시간이 지나면서 C#이 업데이트 됐거나, 2019가 아닌 2022로 해서 해당 문제가 안생기는 걸까요? 이것 뿐만 아니라 이전꺼에서도 나왔는데 크게 문제될건 없지만 답답함에 질문드려봅니다.
success &= BitConverter.TryWriteBytes(new Span<byte>(s.Array, s.Offset + size, s.Count - count) 이런 코드가 있는 s.Count - count가 아니라 그냥 type의 사이즈만큼 주면 안되는건가요? 우리가 필요한 부분은 딱 사이즈만큼 이라고 생각해서 그렇습니다! s.Count - count 는 4094? 이런식으로 나오는 굳이 그만큼 받아와야 하는지 궁금합니다.
안녕하세요. 강의 잘 수강하고 있습니다. 다름이 아니라 Render Texture에서 RawImage에 Texture #Heroes 를 넣었을 때 모양이 저와는 다르게 나와서 문의드립니다. 강사님과 동일한 값으로 카메라 및 Circle 컴포넌트 값을 입력해도 저는 아래와 같은 모습이 나옵니다. 반면 영상에서는 Circle이 더 작게 표시되는데, 혹시 이유가 궁금해서 질문 드립니다. 감사합니다.
하나의 예시를 들자면 HP를 UI에 표시할때 저는 Playercontroller에서 프로퍼티로 set를 해주었는데 강사님께서 올려주신 프로젝트를 보니 action을 통해서 해당 UI 스크립트에서 처리하신 것 같더라구요.. 제가 한 방식으로 구현을 해도 되는지 궁금해서 질문을 드립니다... 강사님께서 하신 방식은 어디서 구독 신청을 해줬는지 찾기가 너무 어렵더라구요 ㅠㅠ
안녕하세요. 현재 데이터 입력 Razor Page Design Part.1 부분을 보고 있는데, 강의 내용이 누락된 것 같아 글 남깁니다. 이전 강의 까지는 Interface, Service, Controller 를 작성하였었고, 이제 UI 부분을 해보겠다 하신 후에 강의 9분 30초 즈음에 DataInput.razor 파일을 보여주시는데 강의 내용에 없던 코드가 작성되어 있습니다. 그리고 서버 프로젝트쪽 Program.cs에 dbContext와 서비스에 의존성 주입하는 내용도 빠져있어 강의대로 따라가면 실행 중 API가 호출되지 않아 문제가 발생합니다. 확인 부탁 드립니다.