본문 바로가기
패스트캠퍼스 환급챌린지

패스트캠퍼스 환급챌린지 32일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

by 논문보관함 2025. 4. 5.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/4hTSJNB

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

0405 토

학습 내용 정리

 

02. EnableImplicitTransformation

03. Cursor Based Pagination 기본기
04. SQL로 알아보는 다중 칼럼 Cursor Based Pagination
------------------
다음날에 할 것 < -- SQL로 작성한걸 Nestjs로 작성해보는것
05. 멀티칼럼 Cursor Based Pagination 1
06. 멀티칼럼 Cursor Based Pagination 2
07. 멀티칼럼 Cursor Based Pagination 3

수강후기

오늘 수업에서는 EnableImplicitTransformation 설정의 필요성과 그 작동 원리에 대해 간단히 짚은 후, **Cursor 기반 페이지네이션(Cursor-Based Pagination)**의 개념과 이를 SQL로 구현하는 방법을 집중적으로 학습하였습니다.

기존의 Page 기반 Pagination과 달리, Cursor 방식은 데이터의 순서를 기준으로 이전/다음 페이지를 탐색할 수 있다는 점에서 성능상의 이점을 제공한다는 사실이 인상 깊었습니다.

SQL을 활용하여 단일 컬럼 기반 Cursor Pagination을 먼저 구현한 뒤, 이를 확장하여 다중 컬럼(Multi-column) 기반 Pagination의 구조와 로직을 학습했습니다. 단일 기준(id 등)만으로는 정렬에 모호성이 생길 수 있기 때문에, 예를 들어 createdAt, id와 같은 복수의 필드를 기준으로 커서를 구성하는 방식이 실제 서비스에서 더 안정적이라는 점이 특히 유의미했습니다.

실습 단계에서는 NestJS 환경에서 사용할 수 있도록 DTO와 서비스 로직도 함께 구현해 보았습니다.

  • CursorPaginationDto는 id와 order를 기반으로 커서 정보를 담는 구조로 설계하였고,
  • 이를 상속한 GetMoviesDto를 통해 title 필터링도 함께 처리할 수 있도록 구성하였습니다.

실제로 MovieService에서 createQueryBuilder를 활용해 커서 기반 쿼리를 작성하고, 기존의 applyPagePaginationParamsToQb를 커서 방식으로 대체하여 실습을 마무리했습니다.

내일은 오늘 SQL로 구현한 다중 컬럼 기반 Cursor Pagination을 NestJS 코드로 완전히 옮기는 작업을 진행할 예정입니다. 특히 3단계로 나뉘는 멀티 컬럼 커서 처리 로직을 실습을 통해 완성해볼 계획입니다.


총평하자면, 오늘 수업은 페이지네이션의 본질과 효율적인 구현 방식에 대해 실무적인 관점에서 깊이 이해할 수 있었던 유익한 시간이었습니다. 실습 위주로 진행되어 개념을 실제 코드에 적용하는 데 큰 자신감을 얻을 수 있었고, 향후 대규모 데이터 처리 시 매우 유용하게 활용할 수 있을 것이라 기대됩니다.


추가 소회

오늘은 실습 과정에서 여러 오류와의 전쟁을 치러야 했습니다.
특히 Postman에서 쿼리 전송 시 key 값을 불필요하게 계속 전달했던 점이 오류의 원인이었음을 너무 늦게 발견해 아쉬움이 남았습니다.

또한 TypeScript 문법에 아직 익숙하지 않아 기본 문법 오류와 함께,
Postman의 script 테스트에서 예상 응답 코드를 200으로 작성했지만 실제 응답은 201이었던 부분도 수정이 필요했습니다.

이러한 시행착오 역시 좋은 학습 경험이 되었고, 다음 실습에는 보다 더 유연하게 대응할 수 있을 것이라 생각합니다.

사진

 

시작
종료
수강클립
결과물