/////
Search
Duplicate

24년 2월 19일 월요일

날짜
2024/02/19

오프셋 기반 페이지네이션 개선 (완료 시  )

문제

페이징처리가 되어있어야할 기능이 처리가 되어있지 않음
페이징 처리가 필요한 기능과 필요하지 않은 기능이 명세되어있지 않음
오프셋 기반의 단점으로 인해 커서 기반으로 개선해야하는 상황 발생
오프셋 기반의 단점
페이징 처리를 위해 모든 데이터를 탐색해야함
페이징 조회 와중 데이터가 추가/삭제되면 데이터 중복 및 안 보이는 이슈 발생
커서 기반으로 변경 시, 커서고유값을 프론트에서 백엔드로 알려주어야 하는 이슈 발생
limit (페이지크기)
nextToken (고유id)
커서 기반으로 리팩토링하거나 기능 추가 시, 테스트 코드가 변경됨

해결방안

두 가지를 해결하기로 함
페이징 미구현되어있는 기능을 페이징 기능을 추가
오프셋 -> 커서 리팩토링
페이징 처리해야하는 기능을 명세화하자
CouponController
사용가능한 쿠폰 조회
사용완료한 쿠폰 조회
ProductLikeController
관심상품 조회 요청
ProductQueryController
상품 전체 조회 // [캐싱처리] // 무한스크롤
상품 상세 조회
상품 체결내역 조회
오히려 기간 조건값을 넣어야할 것 같음
판매 입찰가 조회
구매 입찰가 조회
UserBoughtHistroyController
구매자 구매완료내역 조회
구매자 진행 중인 구매입찰 조회
UserSellHistroyController
판매자 판매내역 조회
판매자 진행 중인 판매입찰 조회
어떻게 커서 기반으로 리팩토링할지는 재윤님과 이야기해보자
현재 어떻게 처리되고 있는지
아래 값을 어떻게 처리할 수 있을지
limit (페이지크기)
nextToken (고유id)
(추가질문) 어떻게 로컬에서 프론트를 돌릴 수 있나용?
커서 기반으로 변경 시, 변경되는 기능에 따라 테스트 코드 변경하기로 함