-
4주차 회고노트항해 플러스 백엔드 5기 2024. 7. 13. 17:13
1. 이번 과제
주제: e-커머스 서비스 개발
Step7 : API Swagger 작성
- API Swagger 작성
- 주요 비즈니스 로직 개발 및 단위 테스트 작성
Step8 : Usercase 별 통합 테스트 작성
- API 의 완성이 목표가 아닌, 기본 및 주요 기능의 비즈니스 로직 및 유즈케이스는 구현이 완료 되어야 함. ( Business Layer )
- DB Index , 대용량 처리를 위한 개선 포인트 등은 추후 챕터에서 진행하므로 목표는 기능 개발의 완료 로 합니다. 최적화 작업 등을 고려하는 것 보다 모든 기능을 정상적으로 제공할 수 있도록 해주세요. 특정 기능을 왜 이렇게 개발하였는지 합당한 이유와 함께 기능 개발을 진행해주시면 됩니다.
2. 회고
✏️ 문제
과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제
이번 주차를 지나며 겪었던 문제가 무엇이었나요?
- 최근 3일간 주문이 많이 일어난순으로 상위 상품 목록을 5개의 정보를 어떤식으로 가져올 것인지에 대한 고민
- 퇴근 이후의 많지 않은 시간을 활용하여 8개의 API 구현 및 단위, 통합 테스트까지 완료해야한다는 시간적 압박감
✏️ 시도
문제를 해결하기 위해 어떤 시도를 하셨나요?
- 상위 상품 목록조회
- 주문 테이블에 적재된 데이터를 활용하여 판매일, 주문 아이디를 기반으로 최근 3일간 주문이 많이 된 상품의 아이디에 대한 통계를 볼 수 있는 쿼리를 활용하여 상위 상품에 대한 목록을 조회하고자 시도하였다.
- 시간이 촉박하다.
- 다음 주차에 진행하는 기능 고도화 및 소스 로팩토링 과정을 잘 수행하기 위해서는 최대한 기능이 완료되어야 다음 주차에 좀 더 많은 시도들을 해볼 수 있을 것 같아 최대한 기능을 구현하기 위해 자는 시간을 줄여 기능을 구현하기 위해 시도하였다.
✏️ 해결
문제를 어떻게 해결하셨나요?
- 상위 상품 목록조회
- 상위 상품 목록을 조회하는 통계 쿼리를 QueryDSL을 활용하여 인기 상품 정보를 가져올 수 있도록 구현하였다.
- 통계 쿼리에 대한 성능 향상을 위해 중점이 되는 두개의 컬럼에 인덱스를 추가하여 쿼리 성능을 향상시켰다. (얼마나 향상 되었는지 데이터 량, 시간을 작성하여 얼마나 향상 되었는지 기입 필요)
- 시간이 촉박하다.
- 이번 주차는 시간이 부족하기 때문에 각 API 기능이 잘 동작하는 정도로만 개발하고 다음 주차로 성능 개선, 아키텍처 구조, 코드 리팩토링을 진행하여 개발하려고 하였다.
- API 기능 개발을 완료 할 수 있는 시간을 확보하기 위해서 자는 시간을 줄여 기능을 완성할 수 있도록 하였다.
✏️ 알게된 것
문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?
✅ 한번의 쿼리에서는 하나의 인덱스만 필요하다.
✅ Repository, JpaRepository, RepositoryImpl 을 별도로 나눴다면 그 이유가 있어야하고, JPA에 의존하지 않는 서비스 레이어를 만들고 싶기 때문인데, 서비스에서 엔티티를 활용하는 것 대신에 도메인 객체를 사용해보자!
✏️ Keep : 현재 만족하고 계속 유지할 부분
이번 주를 마무리 하며 나에게 만족했던 부분은 무엇인가요?
✅ 시간이 촉박한 상황에서 개인적인 목표를 위해서 취침 시간을 줄여가며 기능을 완성하려고 했다는 책임감.
✅ 상위 상품 목록 조회시 데이터가 대용량으로 많이 있는 경우에는 어떤식으로 처리할 것 인지 여러 상황들을 생각하며 고민해보려고 했단다는 시도와 마음가짐
Problem : 개선이 필요하다고 생각하는 문제점
이번 주를 마무리 하며 개선이 필요하다고 생각했던 문제점은 무엇인가요?
❌ 시간이 촉박하여 아키텍처 구조, 코드, 누락된 테스트 케이스들을 많이 놓친 것 같아 아쉽다. 시간이 촉박한 상황에서 잘할 수 있는 방법에는 어떤 것들이 있을지 좀 더 고민해보고 시도해봐야겠다.
✏️ Try : 문제점을 해결하기 위해 시도해야 할 것
이 문제점을 해결하기 위해 다음 한 주간 시도 할 것은 무엇인가요?
🔥 현재 개발된 아키텍처 구조, 코드, 테스트 케이스들을 보완하고 개선하는 시간을 가지고 리팩토링을 시도해야겠다.
'항해 플러스 백엔드 5기' 카테고리의 다른 글
5주차 회고노트 (0) 2024.07.21 1 ~ 5주차 서버구축 챕터 회고록 (0) 2024.07.19 3주차 회고노트 (0) 2024.07.06 2주차 회고노트 (1) 2024.06.30 1주차 회고노트 (0) 2024.06.22