
목표까지 얼마나 달성 했나요? 왜 그렇게 생각하시나요?
⇒ 코드 리팩토링, 꼼꼼한 테스트 코드 작성 이외에 백엔드에서 구현해야 할 API는 모두 완성되었기 때문에
80%
정도 달성했다고 생각한다. 추후 팀원들과 해당 프로젝트에 대해서 앞으로 어떻게 할 것인지 이야기해보며 아직 작성하지 못한 테스트 코드 작성, 레디스를 이용한 리프래시 토큰 발급, 인증코드 유효기간 관리 등 고도화 작업을 이어나가기로 했으며, 클린 코드(+ 만들면서 배우는 클린 아키텍처 스터디)를 위해 코드 리팩토링 단계를 가지기로 하였다.본인에 대한 회고
프로젝트를 통해 얻은 것
이번 프로젝트에서 처음 접한 기술들을 경험할 수 있어서 좋았다. CI/CD 같은 경우 배포하는 과정에서 여러 오류를 만날 수 있다는 말에 마냥 어려워보여서 회피하고 프로젝트마다 다른 팀원에 의해 작업이 이루어졌었는데 이번에는 “피하지말고 한 번 해보자”라는 마인드를 가지기로 하였다. 프로젝트가 시작되기 전 미리 예습도 하고 어려운 부분에서는 부끄러워하지 않고 주변 교육생들에게 도움을 받고 중간 과정들을 정리하면서 해당 작업을 잘 마무리할 수 있었다. 또한, Security + JWT 로그인 기능도 개인적으로 공부할 때는 동작원리가 복잡해서 이해하지 않고 그냥 코드를 따라치기만 하였는데 데브코스 교육과 프로젝트에서 관련 코드를 직접 수정하면서 전보다 로그인 과정이 어떻게 돌아가는지 알 수 있었다. 이 외에도 SSL(https) 적용, QueryDsl를 이용한 동적 검색 등 처음 접한 기술과 지식에 대하여 이해하고 사용해본 프로젝트였다.
팀 프로젝트를 많이 경험해봤지만 새로운 사람들과 함께하면 협업도 새로워지는 것 같습니다.
이번 프로젝트에서는 인원 수도 늘어났을 뿐만 아니라 프론트엔드라는 다른 분야와의 협업이었기 때문에 저번 프로젝트(클론)와 다른 느낌의 협업의 중요성을 느끼게 되었습니다. 기획부터 설계 단계를 프론트와 같이 작업하면서 서로 필요한 요청/응답 값을 맞춰가고 이미지파일 업로드와 관련하여 Multipart 타입과 Json 타입을 어떻게 한꺼번에 통신할지 처럼 API 연결 방식도 맞춰가며 다른 분야의 개발자들과의 협업 방식에 대해 알게되었고 그 협업 방식 중 지속적인 커뮤니케이션이 가장 중요하다는 것을 알게되었다.
잘한 점 / 아쉬운 점
잘한 점
- 팀장으로서 전체적인 프로젝트 일정 관리
- 새로 사용한 기술 정리
- ...
아쉬운 점
데이터 모델링 단계에서 많은 고민이 있었다. 저장되는 필드가 2-3개 정도 다른 부분이 있어서 사용자 역할 중 일반 회원과 센터를 사용자 하나가 아닌 각각으로 나누어 테이블을 설계하였고 각각 등록할 수 있는 게시글도 기부할래요 글, 기부원해요 글로 나누어 설계하였다. 이렇게 하다보니 회원/센터 구분이 없는 알림, 채팅, 거래 예약에서 많은 분기문과 중복코드가 발생하였고 게시글에서도 클래스 명만 다를 뿐 비슷한 로직이 많이 보이면서 코드가 깔끔하지 않다고 느꼈다. 그래서 알림, 채팅을 저장하는 테이블도 회원 거, 센터 거로 나누어 분기문을 없앨지(언급했듯이 클래스명만 다르고 로직은 비슷한 구조가...) 아니면 회원과 센터를 하나의 사용자로, 게시글도 하나의 테이블로 묶고 발생하는 분기문은 디자인 패턴을 적용하여 줄일지(전체적인 구조가 바뀌는 거라 리스크가 클 거 같기도...) 고민 중에 있다! 백엔드와 프론트엔드 팀원들과 이야기를 통해 결정해봐야겠다...🥲
문서화된 코드 컨벤션이 잘 지켜지지 않은 것 같다. 깃 컨벤션이나 구글 코드 스타일이 아닌 프로젝트 패키지 구조, 사용할 어노테이션 등은 노션에 문서화하여 정리했었는데 각자 구현하는 기능에 맞게 코드를 작성하고 자신의 코드 방식이 있다보니 잘 안맞춰진 것 같아 아쉬웠다. 또한, 나는 하나의 프로젝트이니 각자 구현하는 기능이 달라도 코드가 비슷하게 작성되면 좋겠다고 생각했다. 그래서 팀원들에게 접근제한자에 따른 메서드 위치 수정, 개행 제거와 같은 코드리뷰를 많이 작성했었다. 그러다 협업과 관련된 블로그에서 문서화되지 않은 컨벤션, 자신이 생각한 좋은 코드를 강조하는 것은 좋은 협업이 될 수 없다는 글을 보고 반성하게 되었고 컨벤션도 마찬가지로 많은 대화(논의 과정)를 통해 맞춰가야겠다고 생각되었다.