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] 보일러..
Node.js - express (19) WebSocket
·
Node/Express
이번 포스팅에서는 WebSocket을 사용해서 간단한 채팅 기능을 구현해보고자 한다. WebSocket ?? WebSocket으로 채팅 기능 구현하기 1. WebSocket ?? 웹소켓(WebSocket)은 HTTP 같은 통신 프로토콜의 일종으로서 서버와 클라이언트 간의 효율적인 양방향 통신을 실현하기 위해 등장한 개념이다. 위키백과에서는 다음과 같이 웹소켓을 정의하고 있다. "웹소켓은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다" (출처 : 위키백과) 새로운 개념이 등장했을 때는 내가 기존에 알고 있던 것과 비교해 보면서 차이점을 중심으로 이해하고 받아들이는게 좋은 방법이라고 생각한다. HTTP 와 WebSocket의 차이점에 대해 살펴보면서 웹소켓에 대해 알..
Node.js - express (18) multer (2)
·
Node/Express
이번 포스팅에서는 파일업로드 창이 여러개일 때 multer를 사용해서 해당 이슈를 해결하는 방법과 비동기 파일 업로드에 대해 다뤄보려고 한다. 이전에 작성한 multer(1)과 이어지는 글이므로 기본적인 세팅법과 메인 서버 파일인 server.js 파일의 내용은 아래 글을 참고하도록 하자. 2022.03.15 - [Node.js/express] - Node.js - express (17) multer (1) Node.js - express (17) multer (1) 이번 포스팅에서는 파일업로드에 사용되는 라이브러리인 multer에 대해 알아보고자 한다. multer를 사용해서 이미지 파일들을 업로드 해보도록 하자. multer 세팅하기 single 파일 업로드 multip bitkunst...