개발로그

    실전프로젝트 6주차(평균 가격 호출 메서드 리팩터링 feat.Spring Cache + Scheduler)

    실전프로젝트 6주차(평균 가격 호출 메서드 리팩터링 feat.Spring Cache + Scheduler)

    평균 가격 호출 메서드 리팩터링 중간발표 당시 멘토님께서 기존 로직에 대해서 피드백을 주셨던 부분이 있었다. 바로 상품 상세페이지 내 차트용 평균 가격을 불러오는 부분이었다. 오늘은 해당 파트에 대한 리팩터링 과정을 개발 로그로 기록해보고자 한다. 멍냥마켓에서는 기존 중고거래 사이트들과의 차별화된 요소로 상품 상세페이지 내에서 해당 상품의 구매 당시 가격, 판매 희망 가격 그리고 현재 멍냥마켓 내 같은 상품 카테고리로 등록되어있는 상품들의 평균 가격을 보여주고 있다. 멘토님께서 지적해주신 부분이 바로 이 평균 가격을 불러오는 로직이었는데, 기존에는 사용자가 상세 페이지에 접근할 때 마다 DB 내 해당 상품과 동일한 상품 카테고리로 등록된 상품들의 평균 가격을 매번 계산하게끔 구현하였었다. 하지만 이럴 경..

    실전프로젝트 5주차(Query 메서드 리팩터링 feat.QueryDSL)

    실전프로젝트 5주차(Query 메서드 리팩터링 feat.QueryDSL)

    Query 메서드 리팩터링 지난 토요일 중간발표를 통해 나의 현 위치를 인지할 수 있었다. 어찌어찌 기능 구현은 가능하지만 그 기능이 어떻게 구현된 것인지, 정확히 어떤 기술들을 사용하여 기능을 구현한 것인지에 대한 명확한 설명이 불가하였다. 특히 기존에 작성한 코드의 경우 JPA, JPQL, Native Query 등을 무분별하게 혼재하여 사용하였는데 이렇게 했을 때 어떠한 문제가 발생하는지, 어떠한 이점이 있는지 조차 모르고 있었다. JPA, JPQL은 지난 WIL을 통해 정리해두었다. 다행히 중간발표를 거치며 나의 무지를 깨달을 수 있었고 이번 기회에 기존 작성하였던 Query 메서드들을 검토하고 리팩터링 하는 시간을 가져보고자 한다. 그간 무지하여 NativeQuery가 무조건 좋다고 알고 있었지..