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

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

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

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

https://bit.ly/4hTSJNB

 

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

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

fastcampus.co.kr

0407 월

학습 내용 정리

Ch 1. 이론

 
01. Interceptor 이론

Ch 2. 실습

 
01. Response Time Interceptor 구현하기
02. Cache Interceptor 구현하기
03. Transaction Interceptor 구현하기

수강후기

오늘은 NestJS에서의 Interceptor 이론과 실습을 집중적으로 학습하였다. Interceptor는 미들웨어와 유사하게 요청과 응답의 흐름을 제어하거나 부가적인 기능을 삽입할 수 있도록 해주는 강력한 도구로, 실제 서비스 개발에서도 유용하게 활용된다.

이론 수업에서는 Interceptor의 동작 원리와 Lifecycle, ExecutionContext, CallHandler 등의 핵심 개념에 대해 학습하였다. 특히, Interceptor는 요청 전/후 로직을 처리할 수 있어 로깅, 캐싱, 트랜잭션 관리, 응답 시간 측정 등 다양한 활용이 가능하다는 점이 인상 깊었다.

실습 시간에는 총 세 가지 Interceptor를 직접 구현하였다.

  1. ResponseTimeInterceptor: 요청부터 응답까지 소요된 시간을 측정하여 로그로 출력하는 Interceptor를 구현하였다. 이를 통해 API 성능 모니터링을 어떻게 시스템에 녹여낼 수 있을지 감을 잡을 수 있었다.
  2. CacheInterceptor: 동일한 요청에 대해 캐시를 적용함으로써 서버 부하를 줄일 수 있는 Interceptor를 구현하였다. Map 객체를 활용하여 간단한 메모리 기반 캐시를 구축했고, request.method와 request.path를 키로 사용하여 캐시의 정확성을 확보하였다.
  3. TransactionInterceptor: TypeORM의 QueryRunner를 이용하여 트랜잭션을 관리하는 Interceptor를 구현하였다. 요청 객체에 queryRunner를 주입하고, commit, rollback, release를 적절히 처리함으로써 DB 일관성을 유지할 수 있도록 설계하였다.

이러한 실습을 통해 단순한 HTTP 요청 처리 이상의 백엔드 로직을 체계적으로 다룰 수 있는 기반을 다질 수 있었다. 특히, 트랜잭션 Interceptor는 서비스 로직과의 결합도가 낮으면서도 강력한 기능을 제공할 수 있어 실제 프로젝트에도 도입할 수 있을 것으로 기대된다.

전반적으로 Interceptor의 이론과 실습은 NestJS 아키텍처에 대한 이해를 한층 더 깊게 해주었고, 시스템 전반의 확장성과 유지보수성을 고려한 설계 감각을 기를 수 있는 유익한 시간이었다.

그리고 이번 수업을 통해 Interceptor를 단순 기능이 아닌 소프트웨어 아키텍처의 일환으로 활용하는 방식에 대해 이해하게 되었다. 서비스 로직의 재사용성과 유지보수성을 높이는 데에도 큰 도움이 될 것으로 기대된다.

무엇보다도 강의가 매우 깔끔하고 체계적으로 진행되어 학습 몰입도와 이해도가 높았다. 실습 또한 실무와 유사한 구조로 제공되어 실전 감각을 익히는 데 큰 도움이 되었으며, 복잡한 개념을 단순화하여 설명해 주셔서 부담 없이 따라갈 수 있었다.

사진

시작
종료
수강클립
결과물