NestJS - Exception filter 설정
·
Node/NestJS
NestJS 프레임워크 사용을 위한 기본 개념에 대해 간략하게 정리해 보고자 한다. 본 포스팅에서는 exception filter를 사용하는 방법에 대해 알아보도록 하겠다. 예외 처리 Exception filter 1. 예외 처리 예외 처리(exception handling)란 프로그래머가 예기치 못한 예외의 발생에 미리 대처하는 코드를 작성하는 것으로 이를 통해 실행 중인 프로그램의 비정상적인 종료를 막고 프로그램의 상태를 정상 상태로 유지하는 것이 목적이다. 보통 Node.js에서 에러를 처리할 때는 throw new Error( ) 와 같은 방식을 통해 에러를 발생시켜 예외 처리를 진행하게 된다. NestJS에서는 HttpException( ) 이라는 인터페이스를 제공해주기 때문에 ht..
NestJS - LoggerMiddleware 설정
·
Node/NestJS
NestJS 프레임워크 사용을 위한 기본 개념에 대해 간략하게 정리해 보고자 한다. 본 포스팅에서는 middleware에 대해 알아보고 LoggerMiddle를 설정해 보도록 하겠다. Middleware LoggerMiddleware 설정 1. Middleware NestJS 미들웨어는 기본적으로 Express 미들웨어와 동일하다. 미들웨어가 어떠한 방식으로 동작하는지에 대해서는 이전 포스팅에서 작성해 놓은 내용이 있으니 참고하면 좋을 듯 하다. 2022.02.10 - [Node/Express] - Node.js - express (8) 라우터와 미들웨어 (router & middleware) Node.js - express (8) 라우터와 미들웨어 (router & middleware) 이..
NestJS - 캡슐화(Encapsulation) & Modules
·
Node/NestJS
NestJS 프레임워크 사용을 위한 기본 개념에 대해 간략하게 정리해 보고자 한다. 본 포스팅에서는 NestJS에서의 Modules 와 캡슐화(Encapsulation)에 대해 알아보도록 하겠다. 캡슐화 Modules 1. 캡슐화 (Encapsulation) 캡슐화(encapsulation)는 객체(object)의 속성과 행위(method)를 하나로 묶고 구현된 일부를 감추어 은닉하는 것을 일컫는다. 다시 말해, 클래스의 내부 변수와 메소드를 하나로 패키징하는 특징이다. 캡슐화와 비슷한 개념으로 정보 은닉(information hiding)이라는 개념이 있는데, 이는 객체의 내부 구현을 숨김으로써 객체가 반드시 정해진 메소드를 통해 상호작용 하도록 유도한다. 이 두 개념은 객체의 응집도와 독..
NestJS - 의존성 주입(DI) & Providers
·
Node/NestJS
NestJS 프레임워크 사용을 위한 기본 개념에 대해 간략하게 정리해 보고자 한다. 본 포스팅에서는 Providers 와 의존성 주입(Dependency Injection)에 대해 알아보도록 하겠다. 의존성 주입 Providers 1. 의존성 주입 (Dependency Injection) // app.controller.ts 파일 import { Controller, Get } from '@nestjs/common'; import { AppService } from './app.service'; @Controller() export class AppController { constructor(private readonly appService: AppService) {} @Get() getHe..
NestJS - 기본 구조 & Controllers
·
Node/NestJS
NestJS 프레임워크 사용을 위한 기본 개념에 대해 간략하게 정리해 보고자 한다. 본 포스팅에서는 NestJS의 기본 구조와 Controller 패턴에 대해 알아보도록 하겠다. Setup src/ 디렉토리 구조 Controllers 1. Setup Nest CLI 를 사용해서 프로젝트를 생성해보고자 한다. 우선 npm을 사용해 @nestjs/cli 를 global로 설치해준다. 설치가 완료되었다면, nest new [프로젝트명] 명령어를 통해 보일러 플레이트 코드(Boilerplate code)와 함께 NestJS 프로젝트를 생성할 수 있다. ## Nest CLI 설치 $ npm i -g @nestjs/cli ## Nest 프로젝트 생성 $ nest new [project-name] 보일러..