React-nodebird (12) - 게시글 불러오기, morgan 도입하기

장택진·2022년 11월 7일
0

React-nodebird

목록 보기
12/15

게시글 불러오기

back/routes/posts.js

게시글을 불러오기 위해 posts.js를 만들어 줍니다. findAll로 여러개의 항목을 DB에서 찾아올 수 있습니다. 시퀄라이즈의 find 메소드는 SELECT 쿼리문으로 이해하면 됩니다.

  • findOne : 특정된 하나의 레코드만 찾는다
  • findAll: 모든 레코드를 찾는다

보통의 SNS를 보면 1~20까지의 게시글이 있다면 최신게시글이 최상단에 위치하는것을 볼 수 있습니다.
order를 통해 'DESC' 내림차순으로 설정을 하면 20~1로 최신 게시글이 제일 위에 나타나게 할 수 있습니다.
또한, 모든 게시글을 불러오기에는 컴퓨터 용량의 무리가 될 수 있으므로 인피니트스크롤 할 때 limit, offset 방식과 limit, lastId 방식으로 일정부분 게시글을 불러온 후 그 다음 게시글이 불러올 수 있도록 해줍니다.

하지만, limit, offset 방식에는 치명적인 단점이 있습니다.

게시글을 불러올 때 21번째 게시글이 생성이 되면 21~11, 11~1로 11번을 두번 불러오거나 반대로 게시글 중 하나(15번)가 삭제되었다면 20~11을 불러오고, 9~1을 불러오게 되면서 10번 게시글을 불러올 수가 없습니다. 따라서, 중간에 이슈가 생기면 limit, offset 방식은 꼬여버리게 됩니다.

limit과 lastId 방식을 많이 쓰게 됩니다. 20~11번을 가져오면 lastId가 11이 되고, limit이 10이므로 11뒤에 게시글을 10개를 가져오는 방식입니다.

morgan 도입

  • morgan은 프론트엔드와 백엔드간 어떠한 요청이 왔다갔다 하는지를 터미널에서 볼 수 있습니다.
profile
필요한 것은 노력과 선택과 치킨

0개의 댓글