프로젝트 초기 설정, 서버 올리기
nest 자동생성, @Controller 등
Nest.js 에서 MongoDB 연동하기
middleware 는 라우트 핸들러가 호출되기 전에 호출됨요청, 응답 내용 변경 가능NestMiddleware 인터페이스 상속, @Injectable 데코레이터 선언nest g middleware <name> 으로 생성시 자동 완성되어 생성됨ex) Module
HttpException 과 그 하위 클래스는 기본적으로 그에 해당하는 JSON 응답을 자동 생성한다.contoller 에 하드코딩해서 throw 하는 방법HttpException 생성자 인자 2개는 각각 response, statusCoderesponse는 strin
config 설정법
winston 설치, 개발/운영 환경에 따라 level 을 다르게 지정, 테스트 종속성 주입
설치 npm install @nestjs/serve-static 정적 페이지 제공 ServeStaticModule 을 통해 정적 페이지를 제공할 수 있다. 루트 AppModule 에 ServeStaticModule 을 import 하고 forRoot 메소드를
상대경로로도 import 할 수 있으나, 절대경로를 사용하기 위한 방법
Http 모듈을 통해 HTTP 요청을 수행 reference Docs
Mongo 커넥션 설정 Schema 정의 model 등록 CRUD 실행
요청에 대한 라이프사이클
@Injectable 데코레이터가 있는 클래스NestIntercepter 인터페이스를 구현로직 수행 전/후 바인딩응답 혹은 exception 변환기본 함수 동작을 확장특정 조건에 따른 함수 재정의 (ex.캐싱 등)\*@UseIntercepters 을 통해 적용ex) r
pipe 로 타입 변환(trasform)과 유효성 검사
양방향 암호화ex) AES 암호화 예제복호화salt 생성해시값과 비교Docs
swagger 적용
설치 nestjs testing 설치 npm i --save-dev @nestjs/testing 테스트시 .spec 또는 .test 접미사가 있는 파일을 찾아 테스트 시행 테스트 Test.createTestingModule() 메소드를 통해 주입할 모듈, 프
forwardRef function 을 통해 순환 종속성을 해결할 수 있다.ex) CatsService 와 CommonService 가 서로 참조할 경우각각 forwardRef 적용Module 간 순환 종속성이 발생하는 경우에도 동일하게 적용Docs
callback : 작업 결과를 전달해주기 위해 사용하는 함수
비동기 작업의 결과 or 에러를 담고있는 객체Promises/A+ 표준
async : await을 사용할 수 있는 함수 지정await : 함수 실행 보류, 상태 저장, 제어를 이벤트 루프로 반환Promise 가 해결될 때 제어를 async 함수로 반환, 이행값 반환
Nest.js 에서 MSA 사용
cache 가 아닌 message pattern 을 이용한 Redis pub/sub 관점에서의 구현
Nest.js 에서 Kafka Producer, Consumer 구현하기
install, useFactory, configService 로 비동기 설정, injection 등
workspace 조회, 패키지 추가, script 실행 등
Nest.js 의 ConfigModule 을 통해 .env (dotenv) 사용시, 특수문자 # 으로 인한 예외처리 방지 방법
API version 을 관리하는 방법. URI, Header 등 버전 관리 유형 지정과 및 소스상 버전 관리
Node.js import문은 정적으로만 사용할 수 있어 변수를 이용해 런타임에 동적으로 경로를 지정할 수 없다.import() 문을 통해 런타임에 동적으로 경로를 지정할 수 있다.Promise 를 반환하기 때문에 이에 따른 함수같은 문법이지만 import 자체는 키워
PM2 cluster mode 는 process fork babel-node 로 실행하는 경우 babel-node 프로세스 자체가 fork 되어버리는 문제가 있다.포트 충돌도 생기고, 로드밸런싱을 pm2 가 아닌 nginx 등 외부에서 설정, 처리해주어야하는 문제 등등