분류 전체보기
-
스파르타) The Last Rollback (D-14, Node.js 게임 서버 최종 프로젝트)TIL-sparta 2024. 8. 13. 23:06
학습 키워드: C#, DotNet, Protobuf, Recast & Detour, Pathfinding 1. 프로젝트 관련 사항1) C# 서버에 Protobuf 추가 및 예시 핸들러 구현: Add(Program.cs): DotNet TCP server program · donkim1212/PathfindingDediServer@e961c57Add(TCPClientHandler.cs): class that handles TCP client connection, read buffer and call mapped handlers Add: PacketHandler abstract class, TestReqHandler to test protobuf Add(Packet.cs): protobuf ...github..
-
[면접 준비] 정규화 및 정규화의 목적 설명하기면접 준비 2024. 8. 13. 09:50
학습 키워드: deep copy, shallow copy 2024-08-13 면접 카타 질문정규화에 대해서 말해보세요, 정규화의 목적은 무엇인가요: DB 정규화(Normalization)란 테이블에서 중복된 데이터 및 이상 현상(anomaly)를 제거하기 위해 테이블을 여러 개로 나누는 과정입니다. 테이블을 나누기 때문에 필연적으로 Join 연산이 늘어나고, 이로인해 성능 저하가 발생할 수 있습니다. 따라서 성능 저하가 문제가 되는 경우에는 반 정규화(De-normalization)를 적용하기도 합니다. 정규화에는 여러 단계가 있으며 주로 아래의 단계들이 사용됩니다. 1NF(First Normal Form): 제 1 정규형은 각 컬럼이 원자성(Atomicity)을 가져야하며, 하나의 컬럼은 같은 종류나..
-
[면접 준비] Primary Key, Foreign Key, ER 모델이란?면접 준비 2024. 8. 13. 09:34
학습 키워드: primary key, foreign key, ER model 2024-08-13 면접 카타 질문Primary Key, Foreign Key, ER 모델이란 무엇인가요: Primary Key는 데이터베이스의 테이블에서 고유한 데이터를 식별하는데 사용되는 key 혹은 key의 모음을 의미합니다. 단일 PKey를 사용하는 경우 PKey에 해당하는 컬럼은 고유한 값을 가져야하며, 복수의 컬럼을 PKey로 지정한 경우 두 개의 컬럼의 조합이 고유해야합니다. Foreign Key는 다른 테이블의 Primary Key를 참조하고 있는 컬럼입니다. 두 개 이상의 테이블을 Join할 때 해당 Key를 기준으로 삼을 수 있습니다. ER diagram은 테이블 간의 관계를 나타내는 도표입니다. 각 테이블..
-
[면접 준비] 해시 테이블과 이진 검색트리 비교하기면접 준비 2024. 8. 13. 09:22
학습 키워드: hash table, binary search tree2024-08-13 면접 카타 질문해시테이블과 이진 검색트리를 비교하고 장단점을 이야기해주세요: 해시 테이블(Hash Table)은 key-value 쌍으로 데이터를 저장하는 자료 구조로, 해시 함수(Hash Function)을 통해 key값을 해시로 변환하여 고유한 index를 얻어낸 뒤 value를 bucket이라고 불리는 내부 배열에 저장합니다. O(1)의 시간 복잡도로 데이터 접근이 매우 빠르다는 장점이 있지만, 해시 함수의 설계 상태에 따라 발생할 수 있는 문제(성능 저하, 키 값 충돌 등)들을 해결해야 한다는 단점이 있습니다. 또한, 데이터가 정렬되어있지 않기 때문에 순차 접근(Sequential Access)이 어렵습니다. ..
-
[.NET] C# DotNet으로 TCP 소켓 서버 열어보기TIL-sparta 2024. 8. 12. 19:36
> D-15 | Dedicated Server 구축을 위한 조사 및 테스트용 코드를 작성했다. 학습 키워드: C#, DotNet, Socket 프로젝트 진행 사항1) Pathfinding Dedicated Server 구축을 위한 사전 학습: 현재 진행중인 게임 서버 프로젝트(The Last Rollback)는 Unity 클라이언트 게임과 연결된다. 클라이언트에서는 Unity의 NavMesh로 pathfinding을 진행하고 있는데, 개발 초기에 서버에 이를 올려둘 마땅한 방법을 찾지 못해서 클라이언트 주도로만 이루어지고 있다. 이전에 이 문제를 해결하기 위해 토의해서 나온 결론은 pathfinding 만을 담당하는 dedicated 서버를 구축하는 것이었다. C#으로 서버를 개발해야 하다보니 MVP 기..
-
[면접 준비] 이진 트리, 이진 검색 트리, 힙의 차이점 / Binary Heap, Red-Black Tree, B+ Tree면접 준비 2024. 8. 12. 11:31
학습 키워드: binary tree, binary search tree, heap, binary heap, red-black tree, b+ tree 2024-08-12 면접 카타 질문이진트리, 이진 검색트리, 힙이 각각 무엇인지 설명하고, 차이점을 설명해주세요: 이진 트리(Binary Tree)는 트리 구조에서 한 개의 노드가 항상 두 개 이하의 자식 노드를 가지는 구조를 말합니다. 일반적으로 부모 노드가 자식 노드로의 reference만 가지고 있는 방향성 그래프의 형태지만, 자식 노드가 부모 노드를 저장하는 경우는 무방향 그래프가 될 수도 있습니다. 이진 검색 트리(Binary Search Tree, BST)는 이진 트리 구조에서 모든 노드의 두 개의 자식 노드 중 왼쪽에는 현재 노드보다 작은 값..