Node

    NestJS - 의존성 주입(DI) & Providers

    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

    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

    이번 포스팅에서는 WebSocket을 사용해서 간단한 채팅 기능을 구현해보고자 한다. WebSocket ?? WebSocket으로 채팅 기능 구현하기 1. WebSocket ?? 웹소켓(WebSocket)은 HTTP 같은 통신 프로토콜의 일종으로서 서버와 클라이언트 간의 효율적인 양방향 통신을 실현하기 위해 등장한 개념이다. 위키백과에서는 다음과 같이 웹소켓을 정의하고 있다. "웹소켓은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다" (출처 : 위키백과) 새로운 개념이 등장했을 때는 내가 기존에 알고 있던 것과 비교해 보면서 차이점을 중심으로 이해하고 받아들이는게 좋은 방법이라고 생각한다. HTTP 와 WebSocket의 차이점에 대해 살펴보면서 웹소켓에 대해 알..

    Node.js - express (18) multer (2)

    이번 포스팅에서는 파일업로드 창이 여러개일 때 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...

    Node.js - express (17) multer (1)

    이번 포스팅에서는 파일업로드에 사용되는 라이브러리인 multer에 대해 알아보고자 한다. multer를 사용해서 이미지 파일들을 업로드 해보도록 하자. multer 세팅하기 single 파일 업로드 multiple 파일 업로드 1. multer 세팅하기 multer는 파일업로드를 도와주는 외부 라이브러리이므로 터미널 창을 열고 multer를 설치해주도록 하자. npm install multer --save html을 이용해 파일업로드 창을 만들기 위해서는 다음과 같이 엘리먼트를 작성해주면 된다. input 박스의 type을 "file"로 설정하고 엘리먼트의 속성으로 enctype을 지정해주도록 하자. 이때 enctype을 "multipart/form-data"로 지정해줘야 한다. (참고로 엘..