한줄 요약
플러스 프로젝트 끝
프로젝트 소개
는 깃허브 링크를 통해 readme를 봐주세요👍
깃허브 주소: https://github.com/byeongtaek12/ClothsDaNaWa
KPT 팀 회고
구현 기능
- 유저 CRUD, 인증인가(시큐리티 + JWT + OAuth), 예외처리
- 쇼핑몰 CRUD
- 상품 CRUD, 낙관적 락
- 주문 CRUD, INDEXing
- 장바구니 CRUD, 인기 검색어 (RedisTemplate .put(”검색어”, ) 캐싱) Key: 검색어, Value: 검색 횟수
Keep(유지하고 싶은 것)
- 궁금한 것 있으면 바로 물어보고 소통 하기
- 단계별 구현 및 테스트
- 각 기능을 작게 나누고 단위별로 진행하면서 빠르게 테스트하고 피드백을 반영하는 개발 방식이 효율적이었음
- 전체 품질을 유지하면서도 작업 속도가 빨랐음
- 공통 예외 처리 구조 적용
- BaseException, ErrorCode를 통해 예외 처리 로직을 통합함으로써 코드의 일관성을 높이고 유지보수를 수월하게 만들었음
- DTO/응답 구조 정리
- 요청과 응답 DTO를 명확히 구분하고 필요한 메시지를 명확히 포함시켜 사용자 및 팀원 모두에게 명확한 API 사용법을 제공했음
Problem
- 코드 일관성을 맞춰보지 못한 점
- 코드 리팩토링 하지 못한 점
- OAuth 예외 처리 충돌
- OAuth 로그인 중 AuthenticationException과 커스텀 예외 처리 간의 충돌로 원하는 방식의 에러 메시지가 전달되지 않음
- 동시성 제어 도입 시 초기 이해 부족
- 낙관적 락(@Version) 도입 당시 동시성 테스트 방식 및 실패 케이스에 대한 이해가 부족해 테스트 설계에 시간이 지체됨
Try(다음에 시도하고 싶은 것)
- PR 템플릿이나 이슈 템플릿 만들어서 써보기
- 동시성 제어 AOP 적용 + 로그 추적 개선
- 재고 감소나 주문 기능에 대한 낙관적 락 AOP 처리와 함께 사용자 요청 단위의 트랜잭션 로그를 남기는 방식 시도 예정
- 네이밍 컨벤션이나 주석 컨벤션? 을 적용시켜 팀원이 작성한 코드파악을 더 쉽게 할 수 있도록 개선시켜보고 싶다.
- 테스트 코드 전체 커버리지 70% 넘기기
- 공용 DB 사용해보기
Feel
프로젝트 하기 전에는 내가 잘할 수 있을까라는 생각에 프로젝트 전 2주간의 시간동안 역량을 끌어올리려고 노력을 했습니다. 내가 잘하고 있는 걸까? 라는 생각이였는데 프로젝트를 시작하고 나서 끝이 났을 때 되돌아보면 재밌었던 것 같고 이번 기회를 통해 할 수 있겠다라는 생각과 재미, 뿌듯 등등 여러가지 좋은 감정들이 마구 생각나서 한 단계 더 성장할 수 있는 프로젝트가 된 것 같다. 힘들기도 했지만 재밌는 힘듬이랄까? 이 마인드 그대로 계속 해나갔으면 좋겠다. 후..😤