이번 시간에는 저번 주차에서 배웠던 ‘NestJS’에 대해 추가적으로 알아봅시다.

공부할 내용 📚

1. NestJS 공부하기 - (2) 📝

NestJS에 대해 추가적으로 공부해볼까요? 🥹

NestJS는 공식 문서화가 잘되어있는 편이라, 공식 문서 위주로 공부하는 것을 추천드려요!

  • NestJS Docs : NestJS 공식문서입니다.
    • Overview에서 Exception Filters 부터 Custom decorators 까지 살펴봐주세요!
    • Fundamentals에서 Testing도 간단하게 살펴봐주세요!
    • 더 심화적으로 알고싶은 분은 밑의 부분도 공부해보시는 것을 추천드립니다.
      • Fundamentals(Lifecycle events) : Nestjs의 라이프사이클에 대해서 설명하는 부분으로, Lifecycle sequence 부분만 보셔도 될 것 같아요.
      • Techniques : Nestjs에서 사용될 수 있는 techniques들에 대해 설명한 부분으로, 관심있는 주제를 살펴보시면 될 것 같아요.
  • 인프런 NestJS : 탄탄한 백엔드 NestJS, 기초부터 심화까지: 만약 공식문서가 잘 이해되지 않으신다면 인프런 강의를 대신 들어도 괜찮아요.
    • 이외에도 구글링하면 여러 정보가 있으니 참고하시면 더 이해가 잘 되실거에요.

프로젝트 실습 🎈

이번 주차는 저번 주차에서 nestjs로 작성한 코드에서 몇 기능을 추가해봐요! ☺️

실습 세부 설명 ⚙️

구현해야할 기능은 아래와 같습니다. 구현해야할 부분이 조금 많지만, 참고할만한 자료들을 적어놓았으니 걱정마세요!

  • pipe(parseIntPipe 등)를 이용하여 받은 Parameter의 형식이 맞는지 체크해봅니다.
  • dto를 사용하여 받은 Body 속 input 형식도 체크해봅시다.
    • Class validator를 참고하세요!
      • Usage : class-validator github
    • DTO 예시 : 구글링해도 많은 정보들이 나오는데요, 그중 제일 깔끔한 예시를 가져와보았습니다.
    • DTO using Interface? : TypeScript에서는 타입을 체크해주는 Interface를 지원합니다. 그런데 왜 Nestjs에서는 DTO를 class로 선언할까요? 그 이유에 대해 알아봅시다.
  • Unit 테스트코드를 작성해봅시다. (*.service.spec.ts에 적어주시면 됩니다.)
    • Unit? E2E? Integration? Testing : 소프트웨어공학개론을 들으셨다면 모두 아실 내용이지만, 모르는 분들을 위해 테스팅의 종류와 의미에 대한 글을 가져와보았습니다.
      • 구글링해도 많이많이 나옵니다!!
    • 참고 코드는 Testing을 참고하세요!
    • Nestjs unit testing 예시 & 예시 2 : nestjs에서 testcode 작성 예시입니다.
  • (선택) Built-in exception filter를 이용해봅시다.
  • 이외에도 추가하고 싶은 부분이 있다면 자유롭게 추가해주세요!