이번 주 톺아보기
벌써 8주 차라니? 시간이 너무 빠른 거 아닌가🤦♀️
드디어 실전 프로젝트 돌입!
우리 팀은 눈치, 캐치, 코치! (Trys' ketch) 라는 드로잉 게임을 개발 중이다.
기획 단계부터 쉽진 않았지만, 팀원들과 오랜 회의 끝에 모두가 즐겁게 만들 수 있는 게임으로 결정하게 되었다.
이번주에는 다음과 같은 일들을 진행하였다.
- 기술 스택 결정
- Spring Boot
- WebRTC + WebSocket(SockJS, STOMP)
- Redis, AWS RDS(MySQL)
- 협업 규칙 설정
- 코딩 컨벤션
- Git 컨벤션
- ERD 작성
- Redis 적용에 러닝커브가 있어 일단은 MySQL 기준으로 ERD 작성
- 추후 휘발성 데이터를 구분하여 Redis로 적용 예정
- API 명세서
- 기존 Rest API 방식이 아닌 소켓 통신 방식에 어려움을 겪어 데이터의 흐름을 이해할 정도로만 작성
- 소켓 통신에 대한 이해 필요
- WebRTC, WebSocket, SockJS, Stomp 조각 기능 테스트
- WebRTC, WebSocket(SockJS, Stomp) 각각 기능 테스트
- 간단한 예제를 적용하여 Server와 Client 연결 후 텍스트 전송 성공
- 최대 8명의 음성 채팅 구현 필요
😀 잘한 점
- 끝까지 파고들기
- 아무래도 게임이 리얼 타임 기반의 서비스이다 보니 기존에 사용하던 HTTP 통신 방식이 아닌 소켓을 이용한 실시간 통신이 필요했다. 거기에 음성 대화 기능까지 추가하기 위해 WebRTC + WebSocket을 선택하게 되었다.
- WebRTC를 구현하기 위해서는 서버에서 Signaling Server를 구축해야 했는데 도저히 이해가 가지 않아서 Github에 온갖 example을 뒤져가며 맨 땅에 헤딩하다가 마침내 프론트엔드와 조각 기능 구현에 성공했다.
- WebSocket도 마찬가지로 클라이언트와의 연결부터 시작해서 작은 기능 단위로 확장해가며 1:1 채팅 구현에 성공했다.
- 생전 처음 보는 코드에 머리가 어질 했지만, 뭐.. 못할 건 없지. 일단 그냥 들이받는 거다.
🙁 아쉬웠던 점
- 효율적이지 못한 시간 활용
- 물론 열심히 파고든 건 맞지만, 내가 맡은 WebRTC + WebSocket 부분이 메인 게임 로직을 개발하기 위해서는 반드시 선행되어야 했는데 여러 시도를 하다 보니 생각보다 구현이 늦어졌다.
- 기술을 이해하고 사용하는 것도 중요 하지만 우리에게 시간은 한정되어 있기 때문에 그 시간을 잘 활용하는 것도 중요하다.
- 팀원들에게는 너무나 미안할 따름...😭
다음 주에는 개선해 보기
- 데드라인을 정하고 시간 내에 반드시 구현하기
- 팀원들과 더 자주 소통하기
- 컨디션 관리.. 필수..
이번 주의 나는
이전 주차들을 진행하면서 '과연 내가 실전 프로젝트 때 잘할 수 있을까?'라는 걱정이 많았는데
눈앞에 닥치니 어떻게든 하고 있는 나를 발견😂
조금 더딘 것 같은 진도에 조바심이 났던 것도 사실인데
멘토님께서 새로운 기술이니 그만큼 공부하는 게 당연하다고, 잘하고 있다고 해주셔서 마음이 좀 놓였다.
정신 차려보면 하루가 지나있고, 미친 듯이 바쁜 나날의 연속이지만
팀원들과 기술에 대해 토론하고, 더 나은 서비스를 고민하는 일들이 새삼 즐겁다.
뒤돌아봤을 때 후회가 남지 않도록 최선을 다해 덤벼들자.
'되돌아보기' 카테고리의 다른 글
[WIL] 항해99 13주차 회고ㅣ실전 프로젝트 최종 발표 (0) | 2023.02.12 |
---|---|
[WIL] 항해99 12주차 회고ㅣ실전 프로젝트 런칭 (2) | 2023.02.05 |
[WIL] 항해99 7주차 회고ㅣ클론 코딩 (3) | 2023.01.01 |
[WIL] 항해99 6주차 회고ㅣ미니 프로젝트 (1) | 2022.12.25 |
[WIL] 항해99 5주차 회고ㅣ주특기 심화 (0) | 2022.12.18 |