framwork/NestJs 5

[NestJS] Queue 사용하기 (Redis)

nestjs Queue사용하기 프레임워크 : NestJS 언어 : Typescript 저장소 : Redis 큐를 사용하는 이유는 여러가지 경우가 있겠지만,  오래 걸리거나 당장 응답이 필요하지 않은 작업들을 Queue에 넣고, 워커 노드들이 큐에서  작업을 가져가는 구조는 매우 유용하다.  동작과정 1. 클라이언트 요청 : 클라이언트가 Rest API 서버에 요청을 보낸다.  2. API 응답 및 작업 큐 삽입 : Rest API 가 클라이언트에 즉시 응답을 보내고, 작업은 Queue에 넣는다. 3. 워커 노드의 처리 : Worker Node가 Queue에서 작업을 가져와 처리를 완료한다.  이 과정에서 Rest API는 Producer(생산자), Redis는 큐저장소, Worker는 Consumer(작..

framwork/NestJs 2024.12.26

[Nestjs] Custom Validator 데코레이터 적용하기

NestJs에서 요청에 대한 유효성 검사를 할때 class-validator, class-transformer에서 validationPipe를 제공해주어 유효성 검사를 할 수 있다. https://github.com/typestack/class-validator#usage  GitHub - typestack/class-validator: Decorator-based property validation for classes.Decorator-based property validation for classes. Contribute to typestack/class-validator development by creating an account on GitHub.github.com  이렇게 기본적으로 제공되는..

framwork/NestJs 2024.11.22

[Nestjs] multer로 이미지 파일 업로드하기

multer란 ?  - Node.js 환경에서 파일 업로드를 처리하는 미들웨어로 파일을 서버에 업로드할 때 유용하게 사용됨.  1. 설치 npm install multer @types/multer2. 서버 설정2-1. multer 설정 multer 미들웨어는 파일 저장 위치를 설정할 수 있게 해줌.  두가지 저장방식이 있음 1) 디스크 저장  2) 메모리 저장 나는 디스크에 바로 저장을 할 예정이라서 distStorage 옵션을 사용.  multer 설정옵션에 대한 클래스를 작성할 수 있다. /src/util/multer.config.tsimport { Injectable } from '@nestjs/common';import * as multer from 'multer';import { MulterOp..

framwork/NestJs 2024.11.19

[NestJS] LifeCycle (생명주기)

[NestJS] LifeCycle (생명주기)  NestJS에서의 요청-응답 라이프사이클은 애플리케이션의 요청 처리 흐름을 이해하는데 중요하다. 이 라이프사이클은 여러 단계를 거치며, 각 단계에서는 다양한 기능을 수행함. 단계의 순서는  MiddleWare -> Guard -> pre-interCeptor -> Pipe -> Controller -> post-interceptor -> ExceptionFilter -> Response 각 미들웨어, 가드, 인터셉터, 파이프는 모두 global하게 또는 controller , Route 에 적용할 수 있다.   1. MiddleWare -> 전역으로 적용된 미들웨어가 가장 먼저 실행된다.  (예를들어, 'main.ts'파일에 app.use()로 바인딩된 미..

framwork/NestJs 2024.07.02