카테고리 없음

내일배움캠프 16주차 WIL

news0516 2025. 2. 14. 20:23

이번주 계획, 실행한 것

1. 프로젝트 방향 설정

  • 웹소켓을 활용한 실시간 마피아 게임 진행 결정
  • 다양한 기능(도커, 레디스, 소켓 등) 활용 계획

2. 기술 학습 및 사전 준비

 

  • 도커, 레디스, 소켓 등 프로젝트에 활용될 기술을 개별적으로 자습하기로 결정
  • 마피아 프로젝트에 대한 ERD 작성 및 튜터님과의 검증 예정

3. API 및 소켓 명세서 작성

 

  • 마피아 게임 관련 API를 세분화하여 담당자 배정
  • 웹소켓 명세서 작성 계획 및 기존 명세서 보완 (불필요 항목 삭제, 채팅 토글 기능 추가)

4. 인프라 및 서버 구성 계획

 

  • 인프라 옵션 비교: EC2와 ECS
    • 당장은 EC2 내에서 API 서버와 게임 서버(도커 컨테이너) 분리 운영
    • 추후 방 개수 증가에 따라 개선 검토
  • 도커 오토스케일링:
    • 스크립트를 통해 자원 사용량 모니터링 후, 자동으로 컨테이너 추가하는 방식을 적용하기로 결정
  • 네이밍 규칙 변경:
    • 기존 스네이크 표기법 → 카멜 표기법 (Trello 프로젝트 방식 그대로 적용)

 

해야할것들
1. 소켓 및 API 작업

  • 웹소켓 기술을 학습하고, 소켓 명세서를 작성
  • 기능별 API 개발 후 dev 브랜치에 push

2. 도커 기반 게임 서버 아키텍처 구현

 

  • 게임 시작 시 서버 자원 부담 완화를 위해 도커 컨테이너를 자동으로 생성하는 스크립트 구현
  • EC2 내 API 서버와 게임 서버(도커 컨테이너) 분리 운영:
    • 포트 관리, 리버스 프록시(Nginx) 설정, 내부 네트워크 보안, 로그/모니터링 체계 마련 필요할 수도.

3. 프로젝트 관리 도구 도입

  • JIRA 등 일정 관리 툴을 활용해 작업 진행 및 일정 관리 체계 마련

4. 추가 기능 및 확장 고려

  • MVP 완료 후, 쿠버네티스, 전체 채팅 기능, 리액트 등 추가 기능 검토 및 도입


이번주는 프로젝트 계획, 구조 구성에 많은 시간을 할애했고, 그 결과 기본적인 프로젝트 서버구성에 대한 이해와 필요한  소켓, 추가기술등에 대한 학습의 필요성도 느낄 수 있었다. 
처음에는 기술적 난이도와 인프라 구성에 대한 불안이 있었지만, API와 소켓 명세서를 세분화하고 네이밍 규칙을 일관되게 바꾸는 등의 세부 계획을 수립하면서 이해도와 자신감이 올라갔다. 명확한 계획 수립과 체계적인 문서화가 얼마나 중요한지를 다시 한 번 느꼇다. 
다음주는  도커 기반 게임 서버의 게임처리 로직 개발에 집중하여 게임 구현할 예정이다. EC2 내에서 API 서버와 게임 서버를 효율적으로 분리 운영하고, 자원 사용량에 따라 자동으로 컨테이너를 추가하는 스크립트 개발도 진행되어야한다. 이때 JIRA와 같은 프로젝트 관리 도구를 적극 활용하여 작업 진행 상황을 체계적으로 관리할 예정이고, 다음주까지는 아니더라도 MVP 이후 확장 기능에 대한 구체적인 계획 수립도 진행하야할 것이다.

다음주부터 본격적인 개발이 들어가는 만큼 많이 논의한 결과 적절히 수립한 계획에 따라 착실히 임해서 프로젝트를 발전시켜야할 것이다.