본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
0406 일
학습 내용 정리
수강후기
오늘은 NestJS를 활용한 멀티컬럼 커서 기반 페이지네이션(Multi-column Cursor Based Pagination) 구현 과정을 학습하고, 실제로 generateNextCursor와 applyCursorPaginationParamsToQb 메서드를 작성하여 완성했습니다. 기존에는 SQL 쿼리 수준에서만 구현해본 기능이었는데, 이번 강의에서는 이를 NestJS + TypeORM 환경으로 자연스럽게 확장하면서, 실무에 바로 적용 가능한 형태로 구성해볼 수 있어 매우 유익했습니다.
특히 이번 강의는 이전 강의들보다 코드 흐름이 명확하고 깔끔해서 이해하기 쉬웠고, 직접 구현하는 데에도 무리가 없을 정도로 잘 정리되어 있었습니다. 커서 기반 페이지네이션은 일반적인 offset 기반 페이지네이션보다 효율적이면서도 구현이 복잡하다고 느껴졌는데, 멀티컬럼 정렬이 들어가도 안정적으로 동작하도록 설계된 로직을 따라가며 자연스럽게 개념을 내재화할 수 있었습니다.
핵심 로직인 applyCursorPaginationParamsToQb에서는 Base64로 인코딩된 커서를 디코딩하고, 조건을 동적으로 생성하여 복합 컬럼 기준으로 데이터를 정확하게 필터링할 수 있도록 처리했습니다. 또한, generateNextCursor 메서드를 통해 다음 요청에서 사용할 커서를 생성함으로써, 클라이언트가 이어서 데이터를 불러올 수 있게끔 잘 마무리했습니다.
NestJS 기반 백엔드 실무에서 페이징 처리의 중요성은 매우 크고, 특히 무한 스크롤 방식이나 고성능 API 설계 시 커서 기반 방식은 필수적인 기술입니다. 이번 강의를 통해 이 구조를 이해하고 직접 구현해본 경험은 큰 자산이 되었으며, 실제 프로젝트에 바로 적용해보고 싶은 의욕이 생겼습니다.
전반적으로 강의 내용이 탄탄했고, 이번 파트는 특히 실용성과 완성도가 뛰어나 매우 만족스러웠습니다.
몇가지 오류가 있었지만, 의문은 풀리지않았지만 동작은 하게 만들었다.
사진



