Skip to content

Commit

Permalink
feat(be): add 6.NestJS(2)
Browse files Browse the repository at this point in the history
  • Loading branch information
cho-to committed Nov 6, 2023
1 parent 88fdc31 commit b76df33
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions content/docs/backend/6. NestJS (2).md
Original file line number Diff line number Diff line change
Expand Up @@ -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`를 이용해봅시다.
- 이외에도 추가하고 싶은 부분이 있다면 자유롭게 추가해주세요!


0 comments on commit b76df33

Please sign in to comment.