211104_TIL(목)

오늘 한 일

  • 문득 정보제공기관 쪽 API를 보다가 페이지 기준 객체라는 것을 보내는데, 어떻게 페이징 처리를 하는지 궁금해서 찾아봤다.

  • 페이징 처리에는 두가지 방식이 있다.
    • 오프셋 기반 페이지네이션 (Offset-based Pagination)
    • 커서 기반 페이지네이션 (Cursor-based Pagination)
  • 첫번째 방식은 내가 사용했던 방식으로, 간편하지만 많은 사용자가 사용할 때 중복된 게시글이나 상품이 포함될 수 있는 문제가 있었다.

  • 그래서 나온게 두번째 방식인 커서 기반 페이지네이션으로, 가장 마지막 상품을 기준으로 삼아 다음 LIMIT개를 가져오는 방식이다.

  • 코드로 쓰면 다음과 같다.

      SELECT prod_id, prod_name 
      FROM `products`
      WHERE prod_id < 1000 -- CURSOR
      ORDER BY id DESC
      LIMIT 5
    
  • 소형씨랑 같이 리팩터링을 하려고 환경셋팅 하는걸 좀 찾아봤다.
    • 프론트쪽을 공부중이어서 이클립스나 인텔리제이 같은 IDE가 없다고 했는데, 저번에 세미나를 들었던 CODESPACE 가 생각이나서 찾아봤다.
    • 문제는 무료로 사용할 수 없다는 점인데, 다른 github-actions 나 여러가지를 고려해서 써봄직한지 판단해야할 것 같다.
  • 대신 온라인 IDE는 무료로 사용할 수 있지만, java 및 spring 플러그인 설치가 되지 않는다. 그리고 커밋을 따로 하고 푸시를 해야한다고 한다.
    • 스토리지에서 . 을 누르면 진입할 수 있다.
    • 주소를 github.dev/jinjungs/xxx 처럼 .com.dev로 바꿔도 진입할 수 있다.
  • 지하철에서 책 5분읽었다..잘했다!

  • 집에 와서 졸린걸 참고 프로젝트 하려고 코드스페이스 알아봤다!

내일 할 일

  • 리팩터링 스터디 채팅쪽만 떼서 세팅하기!

References

댓글남기기