2022-03-19 TIL

Fact

  • 카테고리별 퀴즈 목록 페이지네이션 구현
  • 내가 추가한 퀴즈 목록 페이지네이션 구현
  • 내가 좋아요한 퀴즈 목록 페이지네이션 구현

Feelings

오늘 페이지 네이션 때문에 하루 종일 삽질했다. 내가 고민한 건 한 번에 해당하는 전체 데이터를 가져와서 클라이언트에 저장한 후 페이지 네이션을 해줄 것인가? 아니면 원하는 페이지만큼만 잘라서 클라이언트에 보내줄 것인가?였다. 하지만 결국 아래 방법을 선택했다. 이유는 지금은 상관없지만 퀴즈가 점점 쌓이게 되면 문제가 생길 것이라고 생각했다. 그래서 처음에 페이지 네이션 컴포넌트를 만들고, 클릭하는 페이지를 서버로 전달해서 데이터 베이스에서 가져온 데이터를 slice 해서 리턴해주려고 했는데, 몽고디비 자체에서 skip, limit 기능이 존재한다고 해서 클라이언트에서 서버로 페이지 넘버만 보내주고 페이지 넘버에 맞는 데이터들을 클라이언트로 전송했다.

  • 프로젝트가 커질수록 개발속도가 느려지는게 느껴진다. 유연한 코드를 작성하도록 노력해야겠다.

Findings

Mongoose

  • limit() 메소드는 출력하는 도큐먼트의 갯수를 제한하는 메소드다.
  • sort() 메소드는 1혹은 -1로 정렬이 가능하다.
  • skip() 메소드는 출력할 데이터의 시작부분을 설정하는 메소드다.

Future Action

  • 주말에도 공부해도 시간이 부족하다. 잘하는 분들의 블로그를 보면 더 열심히 해야겠다는 생각이 들기도 하고, 한편으로는 얼마나 노력해야 저렇게 될 수 있을까라는 생각을 자주 하게 된다. 다른 사람들과 자신을 비교하는 것은 좋지만 너무 과하면 나에게 독이 될 수 있으니 컨트롤을 해야 할 필요성이 있다.