프로젝트 설명
- 목적
- 카카오 헤어샵의 미용실 예약 클론 코딩
- 애자일 방법의 협업 연습
- 성능 테스트 툴을 이용한 성능 테스트
- 스택
- Spring Boot
- Java
- Spring Data JPA
- Spring Security
- AsciiDoc
- MySQL
- Jmeter
- H2
- GCP
- Notion
- Jira
KPT
- Keep
- 패키지 구조 전략을 세우고 시작하여 패키지 작성에 어려움이 없었다.
- Notion을 사용하여 팀원들과 문서를 공유하면서 효율적으로 협업할 수 있었다.
- Jmeter를 사용하여 서로 다른 로직으로 구현한 방법들의 성능을 테스트할 수 있었다.
- AsciiDoc을 사용하여 컨트롤러 테스트를 작성하면서 자동적으로 API 문서가 빌드되는 편리함이 있었다.
- Problem
- 엔터티를 작성하고 시작하지 않았기 때문에 도메인 별로 파트를 나눈 협업 방식에 어려움이 있었다.
- 코드 컨벤션을 자세히 정하지 않아 마지막에 의논 후 수정하는 어려움이 있었다.
- GitHub로 팀 단위 형상 관리를 하면서 협업 중 필요한 파일이 삭제되는 등의 이슈가 발생하였다.
- Jira를 사용하여 스프린트를 진행하고 Notion으로 문서 관리를 하기로 했지만, 압도적으로 Notion의 활용 비중이 높았고 Jira를 효율적으로 사용하지 못한 것 같다.
- Try
- 성능 테스트 중 DB connection에 대한 데드락이 발생하였지만 시퀀스 전략을 수정하여 해결하였다.
- 연관관계에 있는 엔터티들을 DB에서 가져오는 중 영속화 문제가 발생하였지만 JPQL fetch join을 사용하여 해결하였다.
느낀점
첫 프로젝트인 만큼 우여곡절이 많았지만 좋은 팀원들과 함께 협업하면서 끝까지 달려올 수 있었던 것 같다. 프로젝트를 진행하면서 다음 프로젝트에도 적용 시키면 좋을 것들도 많이 배운 것 같고 반대로 다음 프로젝트는 이렇게 진행하면 문제가 발생할 수 있겠다고 느낀 것들도 많은 것 같다. 모든 과정에서 많이 고민하면서 성장할 수 있었던 것 같다. 또한 무엇보다도 가장 값진 것은 협업하는 방법을 배운 것이라고 생각한다. 배운 것들을 토대로 마지막 프로젝트에서 최선을 다하여 좋은 결과를 만들어내고 싶다.