인기 포스트
-
[.NET] C# DotNet으로 TCP 소켓 서버 열어보기
> D-15 | Dedicated Server 구축을 위한 조사 및 테스트용 코드를 작성했다. 학습 키워드: C#, DotNet, Socket 프로젝트 진행 사항1) Pathfinding Dedicated Server 구축을 위한 사전 학습: 현재 진행중인 게임 서버 프로젝트(The Last Rollback)는 Unity 클라이언트 게임과 연결된다. 클라이언트에서는 Unity의 NavMesh로 pathfinding을 진행하고 있는데, 개발 초기에 서버에 이를 올려둘 마땅한 방법을 찾지 못해서 클라이언트 주도로만 이루어지고 있다. 이전에 이 문제를 해결하기 위해 토의해서 나온 결론은 pathfinding 만을 담당하는 dedicated 서버를 구축하는 것이었다. C#으로 서버를 개발해야 하다보니 MVP 기..
-
[WSL] WSL 설치 후 WiFi 연결이 안되는 문제 (Windows 11 Home)
> Docker Desktop을 설치하다가 발생했던 WiFi 연결 문제를 해결하는 과정을 정리해보았다. 학습 키워드: WSL, Docker Desktop, vEthernet, Hyper-V WSL 설치 후 Wifi 연결 안되는 문제1) What is it?: Docker desktop 설치 이후 와이파이 연결이 끊어지고 cmd에서 ipconfig /all을 사용해도 무선 어댑터가 인식되지 않는 문제가 있었는데, 실제 원인은 WSL이 사용하는 가상 어댑터 기본 설정이 제대로 되어있지 않아서였다. 이를 해결한 과정을 정리해보았다. Figure 2 처럼 Hyper-V 관리자(없으면 링크를 따라 설치)를 검색하여 실행하면 우측에 Figure 3과 같은 탭이 있다. 여기서 '가상 스위치 관리자'를 선택한 뒤 ..
-
스파르타) Node.js 5기 게임 서버 최종 프로젝트 (D-9)
학습 키워드: C#, .NET, Recast & Detour, DotRecast 1. Progress1) 작업 현황: GitHub - donkim1212/PathfindingDediServer: (WIP) 내배캠 스파르타 Node.js 5기 Team 12 최종 프로젝트 The Last Rollba(WIP) 내배캠 스파르타 Node.js 5기 Team 12 최종 프로젝트 The Last Rollback에서 사용될 길찾기 전용 서버 입니다. - donkim1212/PathfindingDediServergithub.com (C# 서버 / 24-08-18 일자 commit history 참고) 주요 작업 내용:- Protobuf 패킷 구조 설계- 핸들러 handlePacket method 인자 수정 및 핸들러/..
-
[면접 준비] 그래프와 트리 비교 설명하기
학습 키워드: graph, tree 2024-08-07 면접 카타 질문그래프(Graph)와 트리(Tree)를 설명하고, 둘의 차이점을 설명해주세요: 그래프는 정점(vertex) 노드가 간선(edge)으로 연결되어있는 데이터 구조입니다. 간선의 방향 유무에 따라 directed/undirected 그래프로 나뉘고, 간선의 가중치 유무에 따라 weighted/unweighted 그래프로 나뉩니다. 하나의 노드에서 다른 노드까지 가는 길이 하나 이상일 수 있는 순환 구조가 발생하기도 합니다. 트리는 하나의 루트(root) 노드가 여러개의 자식(child) 노드를 가져 마치 나무가 가지를 뻗어나가는 형태를 띄는 일종의 그래프 구조입니다. 각 노드가 한 개의 부모 노드에서 파생되기 때문에 순환 구조가 발생하지 ..
-
[Docker] Docker Desktop 설치 (Windows 11)
> Docker에 대해 간단하게 알아보고, Docker Desktop 앱을 설치해보았다. 학습 키워드: Docker, Windows 11, BSOD, VM, UMA Frame buffer size 1. Docker1) What is it?: Docker 는 container 기반의 가상화 플랫폼으로, 신속한 앱 배포, 관리, 확장을 지원한다. 앱 버전별 (앱 자체 버전이나 다른 OS별 빌드 등) image를 생성하여 push하는 방식으로 서로 다른 환경에서도 일관된 실행이 가능하다. '가상화(virtualization)'라는 키워드 때문에 VM(Virtual Machine, 가상 머신)과 헷갈릴 수 있는데, VM의 경우 하드웨어를 포함한 머신 전체를 가상화하여 각 인스턴스마다 별개의 OS를 설치하기 ..
-
[Node.js] Stream과 Back Pressure
학습 키워드: Node.js, Stream, Back Pressure, Socket 1. Stream1) What is it?: 연속적인 데이터 흐름을 처리하는 방식으로, 한 번에 모든 데이터를 메모리에 올리지 않고, 작은 단위의 청크(Chunk)로 나누어서 처리하여 메모리 사용을 최소화 함으로써 성능 최적화를 달성하는 방법이다. Node.js에서 스트림은 크게 다음의 네 가지로 나뉜다.Readable Stream: 데이터를 읽을 수 있는 스트림 (File System의 read stream이나 HTTP 요청). Writable Stream: 데이터를 쓸 수 있는 스트림 (File System의 write stream이나 HTTP 응답)Duplex Stream: 읽기와 쓰기가 모두 가능한 스트림 (TCP..