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

Refactor#82 slice를 이용한 무한 스크롤 #83

Merged
merged 10 commits into from
Nov 29, 2024
Merged

Conversation

jj0526
Copy link
Collaborator

@jj0526 jj0526 commented Nov 29, 2024

PR 내용

  • slice를 이용한 무한 스크롤 구현

PR 세부사항

  • Integer pageNumber, Integer pageSize을 param으로 받아와 slice를 이용해 구현했습니다
  • 첫번째 글, 마지막 글이 포함되어 있는지도 확인 가능합니다
  • 첫 글부터 n개의 글을 보려면 pageNumber = 0, pageSize = n의 값이 들어가게 됩니다

관련 스크린샷

중간 게시물을 조회한 경우
image
마지막 게시물까지 조회한 경우
last = true
image


주의사항

  • pageNumber과 pageSize을 Integer을 사용할지 Long을 사용할지 고민입니다
    => 원시 타입인 int로 변경했습니다!

체크 리스트

  • 리뷰어 설정
  • Assignee 설정
  • Label 설정
  • 제목 양식 맞췄나요? (ex. #0 Feat: 기능 추가)
  • 변경 사항에 대한 테스트

@jj0526 jj0526 self-assigned this Nov 29, 2024
@jj0526 jj0526 linked an issue Nov 29, 2024 that may be closed by this pull request
Copy link
Member

@hyxklee hyxklee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

로직에 문제 없어 보여요!
빠른 구현 고생하셨습니다!
고민 점에 대해서 제 생각을 말해보자면 Long과 Integer의 차이는 데이터 값의 크기에요, 하지만 Integer도 21억까지 표현이 가능하기 때문에 Long 타입까지 사용할 필요는 없을 것 같아요
이건 다른 의견인데 페이지 넘버, 사이즈의 경우는 null이 들어갈 필요가 없고, 허용하지 않아야한다고 생각해요. 그렇다면 굳이 Wrapper 타입인 Integer를 사용하기 보다 원시 타입인 int를 사용하는 것도 좋을 것 같아요!
요즘에 Wrapper 타입과 원시 타입의 사용에 대해서도 고민을 많이 하는데 이런 고민도 해보시면 좋을 것 같아요!

if (noticeId < 1 || noticeId > finalNoticeId + 1) {
throw new NoticeNotFoundException();
public Slice<NoticeDTO.ResponseAll> findNotices(Integer pageNumber, Integer pageSize) {
if (pageNumber < 0) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

구체적인 예외처리 좋아요 👍🏻

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위 의견 확인했습니다! 이 경우에는 원시 타입을 쓰는게 더 좋아보이네요 수정할게요!

@huncozyboy
Copy link
Member

고생많으셨습니다
저도 강혁님 의견에 동의하는데 Integer는 4바이트(32비트)를 사용하고, Long은 8바이트(64비트)를 사용하는걸로 알고있어서,
데이터값이 Integer범위에도 포함이 된다면 Long 대신 Integer를 사용하는게 메모리 관리 측면에서 더 효율적이라고 생각합니다

@jj0526 jj0526 merged commit a88c235 into develop Nov 29, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor #82 slice를 이용한 무한 스크롤
3 participants