NodeJS를 기반으로 하는 서버 제작을 위한 프레임워크이다.
typescript도 물론 사용 가능하며, OOP, FP, FRP도 사용 가능하다 한다.
기본은 Express를 사용하고, 설정만 해준다면 Fastify으로 사용 가능하다.
nest cli를 설치해주자.
npm i -g @nestjs/cli
nest new project-name
만약 nest에 엄격한 실수 검사를 추가하고싶다면, nest new에 --strict 플래그를 추가해주자.
설치 후 src 폴더를 보면 아래의 파일들이 추가되어있다.
| 파일 | 설명 |
|---|---|
| app.controller.ts | 라우터 위치 |
| app.controller.spec.ts | controller의 유닛 테스트 |
| app.module.ts | 어플리케이션의 루트 모듈 |
| app.service.ts | 기본 서비스 |
| main.ts | NestFactory가 Nest App Instance를 만드는 entry file |
yarn run start를 하면 서버가 시작된다.
함수형 프로그래밍 조건
1. 순수함수 - 동일 입력 동일 출력 + 함수 범위 이외의 변수 사용 금지
2. Stateless, 불변성 - 데이터 변경이 필요한 경우 데이터 복사본을 만들어 변경 ← 메모리는 넘치니까 필요할때 만들어 쓰자
3. 선언형 함수 - "무엇을 할 것인가?"에 초점. for loop(명령형)는 "어떻게 할 것인가?"에 초점
4. 1급 객체, 고차함수