Skip to content

Commit

Permalink
feat(be): add 5 week
Browse files Browse the repository at this point in the history
  • Loading branch information
cho-to committed Oct 30, 2023
1 parent 8ef590b commit 669e477
Showing 1 changed file with 48 additions and 1 deletion.
49 changes: 48 additions & 1 deletion content/docs/backend/5. NestJS (1).md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,51 @@ lastmod = "2023-09-08"
weight = 150
+++

{{< alert context="info" text="작성 준비 중입니다! 조금만 기다려주세요. 🥹" />}}
NestJS는 Node.js 위에서 동작하는 TypeScript용 오픈소스 백엔드 프레임워크입니다. 이때, NestJS는 하나의 독립적인 프레임워크가 아니라 내부적으로 기존의 웹 프레임워크들의 기능을 일관된 API로 노출해 주는 거대한 어댑터(Adapter)에 가깝습니다. 이러한 NestJS는 Express 또는 Fastify를 래핑하여 동작합니다.

이번 시간에는 코드당에서 현재 사용중인 백엔드 프레임워크 'NestJS'에 대해 알아봅니다. 😄

> NestJS는 총 2주차에 걸쳐서 공부하기 때문에 부담갖지 말고 차근차근 알아보세요!
## 공부할 내용 📚

### 1. Why NestJS? 🦁

NestJS는 현재 전세계적으로 사용량이 꾸준히 증가하고 있습니다. 국내에서도 NestJS를 사용하는 스타트업들이 여러곳 있기도 하구요.

실제로 현재(2023년 10월) Express의 Github Star 수는 62.2k이고, NestJS는 60.6k로 가파르게 성장하는 것을 보실 수 있습니다.

왜 사람들은 백엔드 프레임워크로 Express 대신 NestJS를 선택한 것일까요?
그 이유에 대해 간단하게 알아봅시다.

> 여담으로, 코드당 프로젝트도 원래 Django로 개발을 진행하다가 NestJS로 migrate했답니다. 그 과정이 궁금하시다면 코드당 노션의 **칼럼 📰**을 확인해주세요!
- [Node.JS의 새로운 파트너 NestJS는 왜 탄생했을까?](https://goldenrabbit.co.kr/2023/06/05/nestjs/) : NestJS의 기본적인 소개에 대한 글입니다. 천천히 읽어보세요!

### 2. NestJS 공부하기 📝

이제 NestJS에 대해 공부해볼 단계입니다. 😆

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

- [NestJS Docs](https://docs.nestjs.com/) : NestJS 공식문서입니다!
- Overview에서 **Exception Filters** 까지만 살펴봐주세요!
- [인프런 NestJS : 탄탄한 백엔드 NestJS, 기초부터 심화까지](https://www.inflearn.com/course/탄탄한-백엔드-네스트): 만약 공식문서가 잘 이해되지 않으신다면 인프런 강의를 대신 들어도 괜찮아요.
- 이외에도 구글링하면 여러 정보가 있으니 참고하시면 더 이해가 잘 되실거에요.

## 프로젝트 실습 🎈

이번 주차는 저번 주차에서 만들었던 express 기반 코드를 nestjs로 migrate해볼 예정입니다. 먼저, 아래의 환경세팅을 참고해서 설정해주세요!

### 환경설정 ⚙️

- `npm i -g @nestjs/cli` 로 nestjs CLI 설치하기
- 생성할 프로젝트 이름으로 새로운 nest 프로젝트 생성 ( 예시 : `nest new project_name` )
- `nest g mo restaurant(원하는 이름대로!)` 으로 모듈 생성하기
- `nest g co restaurant` 으로 controller도 추가해주기
- `nest g s restaurant` 으로 service도 추가해주기
- 서버 시작은 `nest start:dev` (변경된 파일 있으면 재시작) 혹은 `nest start`를 이용해주시면 됩니다!
- `package.json` 에 자세히 있으니 참고해주세요.
- **이번, 다음 주차의 과제**는 이전에 express로 작성했던 과제를 nestjs으로 migrate하는 것입니다.
- 이번 주차에서는 간단하게 restaurant 모듈을 만들고, 이전에 express로 작성했던 코드를 nestjs로 옮기기만 하면 됩니다!
- 다음 주차에서는, 이번 주차에 작성한 코드를 바탕으로 **exception filter, pipe, middleware** 등 배운 개념들을 더욱 확장시켜볼 예정입니다 🙂

0 comments on commit 669e477

Please sign in to comment.