NestJS
-
[NestJs] Lifecycle eventsJavaScript/NestJS 2023. 9. 3. 21:59
Nest에는 어플리케이션의 요소들을 관리하는 라이프 사이클을 가지고 있습니다. Nest에서는 라이프 사이클에 관한 2가지 기능을 제공하고 있습니다. 라이프 사이클 이벤트에 대한 가시성을 제공하는 라이프 사이클 훅 이벤트가 발생되었을 때 특정 액션을 실행할 수 있는 기능 라이프 사이클은 크게 3가지로 나뉘어 집니다. (초기화, 실행, 종료) 라이프 사이클 훅 이벤트 onModuleInit() 호스트 모듈이 초기화 되면 호출 onApplicationBootstrap() 모든 모듈이 초기화되면 실행 (커넥션은 생성되지 않은 상태) onModuleDestroy() 종료 시그널을 받았을 때 호출 (호스트 모듈을 삭제하기 직전) beforeApplicationShutdown() onModuleDestroy() 핸들..
-
[NestJS] NestJS cachingJavaScript/NestJS 2021. 9. 5. 16:01
1. npm module 설치 $ npm install cache-manager cache-manager-redis-store $ npm install -D @types/cache-manager 2. redis module import { CacheModule, Module } from '@nestjs/common'; import * as redisStore from 'cache-manager-redis-store'; import { RedisService } from './redis.service'; @Module({ imports: [ CacheModule.registerAsync({ useFactory: () => ({ store: redisStore, host: 'localhost', port: ..
-
[NestJS] GraphQL Input Type Enum Field 사용 방법JavaScript/NestJS 2020. 11. 25. 11:17
enum에 registerEnumType 추가해줘야 사용 가능 @InputType() export class PracticeInputType { @IsNumber() @Field(() => Int) public id: number; @IsEnum(PracticeType) @Field(() => PracticeType) public practiceType: PracticeType; } export enum PracticeType { Test1 = 'test1', Test2 = 'test2', Test3 = 'test3', } registerEnumType(PracticeType, { name: 'PracticeType' });
-
[NestJS] NestJS DataLoaderJavaScript/NestJS 2020. 11. 21. 20:12
NestJS Data Loader N+1 문제를 해결하기 위해 사용 Installation npm i nestjs-dataloader --save 사용 방법 1. DataLoader 생성 첫 번째 제네릭은 DB의 ID 타입 두 번째 제네릭은 return될 타입 import { Injectable } from '@nestjs/common'; import * as DataLoader from 'dataloader'; import { NestDataLoader } from 'nestjs-dataloader'; import { RateplanService } from '../service/rateplan.service'; import { RateplanObjectType } from '@/graphql/rate..