Dev Logs 백엔드 아키텍처 전체 구조 정리 Node.js + TypeScript 기반의 게임 서버를 기준으로, 3-Layer Architecture부터 Model, Repository, MySQL, Redis 캐시, 도메인 모델, 인증, 트랜잭션, 메시지 큐까지 각 구성 요소의 역할과 의존...
Dev Logs 로그 시스템 구축하기 — Pino, Grafana Alloy, Loki, Grafana #Node.js 게임 서버를 운영할 때 로그는 단순히 콘솔에 출력하는 디버깅 정보가 아니다. 서버 오류를 추적하고, 유저 접속 문제를 분석하고, 여러 서버에서 발생한 문제를 통합적으로...
Game Unity Cloth 물리 컴포넌트 기본 이해 Unity Cloth란? Unity Cloth는 천이나 직물의 움직임을 물리적으로 시뮬레이션하기 위한 컴포넌트다. 캐릭터의 망토, 치마, 깃발, 천 조각 등 외부 힘이나 캐릭터의 움직임에 따라...
Design 반응형 프로그래밍(Reactive Programming) 기본 이해 반응형 프로그래밍이란? 반응형 프로그래밍(Reactive Programming)은 데이터의 변화에 따라 관련된 연산과 동작이 자동으로 전파되도록 설계하는 프로그래밍 패러다임이다....
Design 도메인 주도 설계(DDD)의 기본 이해 도메인이란 무엇인가? 도메인(Domain)은 소프트웨어가 해결하려는 특정 분야의 문제 영역을 의미한다. 게임 개발에서는 전투, 인벤토리, 퀘스트, 성장 시스템 등이 도메인에...
Design 데이터 기반 프로그래밍(Data-Driven Programming)의 기본 이해 데이터 기반 프로그래밍(Data-Driven Programming) 은 프로그램의 동작을 코드에 직접 고정하기보다, 데이터에 따라 결정되도록 설계하는 프로그래밍 방식이다. 핵심은 로직과...
Design TDD(Test-Driven Development)의 기본 이해 TDD의 개념 TDD(Test-Driven Development)는 테스트 주도 개발이라고 하며, 실제 기능 코드를 작성하기 전에 테스트 코드를 먼저 작성하고 테스트를 통과시키는 방향으로 개발을...
Game Unity Input System 기본 이해 Unity의 Input System은 기존 Input.GetKey(), Input.GetAxis() 방식보다 한 단계 추상화된 입력 처리 시스템이다. 핵심은 딱 하나다. "키보드의 W를 눌렀다"가 아니라 "이동이라는 입력이...
Game FMOD 사용법 #Unity 게임에서 사운드는 단순히 AudioClip을 재생하는 것 이상으로 복잡하다. 게임의 규모가 커지면 다음과 같은 요구사항이 생긴다. 상황에 따라 다른 효과음 재생 같은 효과음의...
Game DOTween 사용법 #Unity Unity에서 DOTween은 게임 오브젝트의 위치, 회전, 크기, 색상, UI 값 등을 시간에 따라 자연스럽게 변화시키는 Tweening 라이브러리다. 핵심은 단순하다. 현재 값 → 목표 값 →...