Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

커서 페이징 최적화 #51

Open
wonslee opened this issue Aug 5, 2023 · 4 comments
Open

커서 페이징 최적화 #51

wonslee opened this issue Aug 5, 2023 · 4 comments
Assignees
Labels
🏇 optimize 성능 최적화 🛠 refactoring 리팩토링

Comments

@wonslee
Copy link
Member

wonslee commented Aug 5, 2023

💡 Page가 아닌 Slice를 사용할 예정
이유: Page는 Slice를 상속받고, totalElements 필드를 따로 갖고 있음. 그런데 우리는 대부분의 API에서 커서 페이징을 사용하고 totalElements 필드 값을 필요로 하지 않음
필요하다면 따로 카운트 쿼리를 실행

❓아예 새로운 Response객체를 만들지 고민중(SliceResponse?)
클라이언트측에서 SliceRepsonse에 맞게 응답받는게 베스트라고 생각

@wonslee wonslee added the 🛠 refactoring 리팩토링 label Aug 5, 2023
@wonslee wonslee self-assigned this Aug 5, 2023
Copy link

jinukeu commented Aug 5, 2023

혹시 API 응답값도 바뀌나요?

@wonslee
Copy link
Member Author

wonslee commented Aug 5, 2023

혹시 API 응답값도 바뀌나요?

바뀔 예정이예요!
급한 기능 구현은 아니라서 진욱님 기능 구현 다 끝나신 뒤에 같이 크로스 체크해보고 merge하려고 합니다

이건 잘 몰라서, 미리 응답 객체를 만들어둬서 사용하시나요?
예를 들면 class ... Response { Long totalElements, boolean last, ...} 이런식으루요

만약 이게 맞다면
현재는 리스트 조회시 사용하는 응답 객체가 하나일거 같은데,
totalElements가 필요 없는 부분에선 totalElements가 없는 버전의 객체를 새로 만들고 교체하면 될거같습니다

@jinukeu
Copy link

jinukeu commented Aug 5, 2023

혹시 API 응답값도 바뀌나요?

바뀔 예정이예요! 급한 기능 구현은 아니라서 진욱님 기능 구현 다 끝나신 뒤에 같이 크로스 체크해보고 merge하려고 합니다

이건 잘 몰라서, 미리 응답 객체를 만들어둬서 사용하시나요? 예를 들면 class ... Response { Long totalElements, boolean last, ...} 이런식으루요

만약 이게 맞다면 현재는 리스트 조회시 사용하는 응답 객체가 하나일거 같은데, totalElements가 필요 없는 부분에선 totalElements가 없는 버전의 객체를 새로 만들고 교체하면 될거같습니다

리스트 조회 관련 공통 Response 객체는 따로 안만들었어요!
조금 귀찮을 뿐 시간이 오래 걸리는 작업은 아니라 괜찮을 것 같네요~

@wonslee
Copy link
Member Author

wonslee commented Aug 5, 2023

아하 글쿤요
알겠습니다!

@wonslee wonslee added the 🏇 optimize 성능 최적화 label Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏇 optimize 성능 최적화 🛠 refactoring 리팩토링
Projects
None yet
Development

No branches or pull requests

2 participants