diff --git a/content/docs/backend/6. NestJS (2).md b/content/docs/backend/6. NestJS (2).md index fb1866d..dfd5b57 100644 --- a/content/docs/backend/6. NestJS (2).md +++ b/content/docs/backend/6. NestJS (2).md @@ -7,6 +7,49 @@ lastmod = "2023-09-08" weight = 160 +++ -{{< alert context="info" text="작성 준비 중입니다! 조금만 기다려주세요. 🥹" />}} -> guard, pipe, injection, dto + +이번 시간에는 저번 주차에서 배웠던 'NestJS'에 대해 추가적으로 알아봅시다. + +## 공부할 내용 📚 + +### 1. NestJS 공부하기 - (2) 📝 + +NestJS에 대해 추가적으로 공부해볼까요? 🥹 + +NestJS는 공식 문서화가 잘되어있는 편이라, 공식 문서 위주로 공부하는 것을 추천드려요! + +- [NestJS Docs](https://docs.nestjs.com/) : NestJS 공식문서입니다. + - Overview에서 **Exception Filters** 부터 **Custom decorators** 까지 살펴봐주세요! + - Fundamentals에서 **Testing**도 간단하게 살펴봐주세요! + - 더 심화적으로 알고싶은 분은 밑의 부분도 공부해보시는 것을 추천드립니다. + - Fundamentals(Lifecycle events) : Nestjs의 라이프사이클에 대해서 설명하는 부분으로, Lifecycle sequence 부분만 보셔도 될 것 같아요. + - Techniques : Nestjs에서 사용될 수 있는 techniques들에 대해 설명한 부분으로, 관심있는 주제를 살펴보시면 될 것 같아요. +- [인프런 NestJS : 탄탄한 백엔드 NestJS, 기초부터 심화까지](https://www.inflearn.com/course/탄탄한-백엔드-네스트): 만약 공식문서가 잘 이해되지 않으신다면 인프런 강의를 대신 들어도 괜찮아요. + - 이외에도 구글링하면 여러 정보가 있으니 참고하시면 더 이해가 잘 되실거에요. + +## 프로젝트 실습 🎈 + +이번 주차는 저번 주차에서 nestjs로 작성한 코드에서 몇 기능을 추가해봐요! ☺️ + +### 실습 세부 설명 ⚙️ + +구현해야할 기능은 아래와 같습니다. +구현해야할 부분이 조금 많지만, 참고할만한 자료들을 적어놓았으니 걱정마세요! + +- `pipe`(`parseIntPipe` 등)를 이용하여 받은 Parameter의 형식이 맞는지 체크해봅니다. + - [Binding Pipe](https://docs.nestjs.com/pipes#binding-pipes)를 참고하세요! +- `dto`를 사용하여 받은 Body 속 input 형식도 체크해봅시다. + - [Class validator](https://docs.nestjs.com/pipes#class-validator)를 참고하세요! + - [Usage](https://github.com/typestack/class-validator#usage) : class-validator github + - [DTO 예시](https://blog.naver.com/gi_balja/223056337639) : 구글링해도 많은 정보들이 나오는데요, 그중 제일 깔끔한 예시를 가져와보았습니다. + - [DTO using Interface?](https://blog.jh8459.com/2022-06-24-TIL/) : TypeScript에서는 타입을 체크해주는 Interface를 지원합니다. 그런데 왜 Nestjs에서는 DTO를 class로 선언할까요? 그 이유에 대해 알아봅시다. +- Unit 테스트코드를 작성해봅시다. (`*.service.spec.ts`에 적어주시면 됩니다.) + - [Unit? E2E? Integration? Testing](https://cjwoov.tistory.com/9) : 소프트웨어공학개론을 들으셨다면 모두 아실 내용이지만, 모르는 분들을 위해 테스팅의 종류와 의미에 대한 글을 가져와보았습니다. + - 구글링해도 많이많이 나옵니다!! + - 참고 코드는 [Testing](https://docs.nestjs.com/fundamentals/testing#testing)을 참고하세요! + - [Nestjs unit testing 예시](https://jhyeok.com/nestjs-unit-test/) & [예시 2](https://velog.io/@hkja0111/NestJS-10-Unit-Test-JEST) : nestjs에서 testcode 작성 예시입니다. +- (선택) `Built-in exception filter`를 이용해봅시다. +- 이외에도 추가하고 싶은 부분이 있다면 자유롭게 추가해주세요! + +