[KPT 회고록] TOWER DEFENSE

GDORI·7일 전
0

SOCKET

목록 보기
8/8

Notion Project Design - 팀 회의 후 노션을 이용한 프로젝트 관련 내용 유지

DataTable Design & Packet Design - 공통 패킷목록 지정 및 사전 설계로 페이로드 목록 구체화

Implementation Image - 타워디펜스 구현 일부

Git Commit Graph - 깃 커밋목록 일부

구현 패킷 흐름도

Trouble shooting

서버 - 클라이언트 동기화 과정

문제

  • 어떤 방식으로 구현을 할까 고민을 많이 했는데 회의 한 결과 보안성이 더 높고 일관성을 유지하기 에 더 좋은 서버 중심으로 구현을 하기로 함.

  • 구현되어있었던 클라이언트 중심의 코드를 서버 중심의 코드로 변경하면서 어려움이 많았음.

  • 웹소켓이 숙련이 되지않아 서버중심을 시도하다보니 난이도가 높아짐

  • 서버가 너무 많은 일을 하게 되니 부하가 커지고 패킷 사이즈도 커지게 됨

해결책

  • 몬스터/타워 데이터를 전부 보내는 대신 id만 보내고 클라이언트가 데이터 테이블을 조회해서 알아서 생성/수정할 수 있게 변경함

협업 과정 중 생긴 트러블

Git에 대한 이해부족

  • 팀원 각자의 깃에 대한 이해도가 다르다보니 서로간의 브랜치의 차이가 벌어짐
  • 테스트가 가능한 브랜치의 부재로 인해 pr을 받고 검수 시간이 늘고 오류가 생겨도 찾는데 시간이 늘어남

해결책

  • PR을 올리기 전에 git checkout을 통해 최신버전과 merge하고 미리 코드가 작동하는지 테스트
    -> 이를 통해 dev는 항상 에러 없이 작동하는 상태로 유지

파일구조의 충돌

  • 특정함수를 handler에 넣을지 model에 넣을지 정하지 않아 혼란이 생기고 그러다보니 특정파일이 굉장히 비대해짐

해결책

  • 차후 회의를 통해 정리를 하여 처리를 함

KPT

KEEP (잘된 점)

문제 해결 능력 향상: 예상치 못한 오류나 문제에 직면했을 때 포기하지 않고 다양한 접근 방식을 시도하며 해결책을 찾음.
효율적인 도구 활용: 노션, Slack 등 협업 도구를 적극 활용해 의사소통과 업무 흐름을 정리함.
팀워크 강화: 어려운 상황에서도 팀원들과 의견을 나누며 해결 방안을 함께 모색함.


PROBLEM (문제점)

우선순위 설정의 미흡: 모든 작업을 한꺼번에 진행하려다 보니 중요한 작업이 늦어지는 경우가 발생함.
테스트 부족: 기능 개발에 집중하다 보니 테스트를 충분히 하지 못해 예상치 못한 오류가 발생함.
명확한 역할 분담 부족: 작업이 겹치는 경우가 발생해 중복 개발이 생기거나 작업 진행 속도가 늦어짐.


TRY (시도할 점)

우선순위 설정 및 관리: 중요한 작업을 먼저 처리하고, 낮은 우선순위 작업은 유동적으로 조정할 것.
테스트 프로세스 강화: 기능 개발 후 충분한 테스트 시간을 확보해 오류를 미리 발견하고 개선할 것.
명확한 역할 분담: 팀원 간 역할과 책임을 명확히 하여 중복 작업을 줄이고 효율성을 높일 것.
리팩토링 주기 도입: 코드 작성 이후 일정 시간마다 리팩토링을 진행해 코드 품질을 높일 것


회고

이번 프로젝트를 통해 여러 가지를 배울 수 있었습니다. 익숙하지 않은 기능인 소켓 프로그래밍에 도전하면서 많이 성장할 수 있었고, 노션을 활용해 사전 설계를 철저히 하며 팀원들과 원활하게 소통할 수 있었습니다. 또한 정기적인 코드 리뷰를 통해 작업 방향을 점검하고 코드 품질을 개선하는 데 도움이 되었습니다. 하지만 GIT 사용에 익숙하지 않아 브랜치 관리가 미흡했고, 커밋을 제때 하지 못해 협업이 지연되는 문제가 있었습니다. 더불어 급하게 작성한 코드로 인해 함수화와 가독성 측면에서 부족함을 느꼈습니다. 앞으로는 GIT 활용 능력을 키우고 간트차트를 통해 작업을 체계적으로 관리하며 개선해 나가고자 합니다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글