[Docker] vi: command not found 에러 해결
·
Docker
들어가며 도커 컨테이너 기반 프로젝트 환경에서 도커 컨테이너에 직접 접속한 후 파일을 열어봐야 하는 경우가 상당수 발생했습니다. 그러기 위해서는 vim 을 사용해야 했는데요. 도커 컨테이너 접속 후 vi [파일 이름] 명령을 실행하면 vi: command not found 에러가 자주 발생했습니다. 해결법을 잊지 않기 위해 이 게시글을 통해 기록으로 남깁니다. 에러 발생 상황 docker exec -it [docker container name] bash 명령을 실행해 도커 컨테이너에 bash 모드로 접속합니다. 특정 파일을 열어보기 위해 cd 명령을 사용해 특정 파일이 위치한 디렉토리에 접근합니다. vi [파일 이름] 명령을 실행해 Read 하고자 하는 파일을 엽니다. 이 명령을 실행하던 도중 vi: ..
Docker Volume 및 Docker 로 MySql 컨테이너 설정, 데이터 영구 저장
·
Docker
들어가며 이번 게시글에서는 Docker Volume 에 대한 이해 및 MySql 을 Docker 컨테이너로 세팅하고 데이터베이스 데이터를 영구적으로 저장하는 방법을 알아보고자 합니다. Docker Volume Docker 컨테이너에 저장되는 데이터는 기본적으로 Docker 컨테이너가 삭제될 때 함께 사라집니다. 그러나 MySql 컨테이너와 같이 DB를 구동하는 컨테이너에서는 Docker 컨테이너의 생성, 삭제 여부에 관계없이 데이터를 영속적으로 저장해야 합니다. 이렇게 Docker 컨테이너의 생성, 삭제 여부와 관계없이 데이터를 영속적으로 저장할 수 있도록 Docker는 두가지 옵션을 제공합니다. 그 중 하나가 바로 Docker Volume 입니다. Docker Volume 과 관련된 명령어는 다음과 같..
로컬에서 Docker 를 이용한 Express 서버 어플리케이션 개발
·
Docker
들어가며 이번 게시글에서 어떻게 Express 서버 어플리케이션을 Docker를 이용해서 컨테이너화 후 가동하고, 어떻게 로컬에서 작업한 코드 변경사항이 현재 가동되고 있는 Express 서버 컨테이너에 즉시 반영될 수 있는지에 대해서 알아보도록 하겠습니다. Express 서버 어플리케이션 작성 원하는 위치에 디렉토리 생성 후 그 안에 package.json 파일 생성 $ mkdir demo && cd demo $ npm init -y npm 을 통해 Express 패키지 설치 $ npm install express index.js 파일 생성 후 간단한 Express 서버 코드 작성 index.js const express = require("express"); const app = express(); ..
[NestJS] Authentication
·
라이브러리 & 프레임워크/NestJS
들어가며 이번 게시글에서는 Nest.js 에서 로그인 기능을 구현하는 방법에 대해 알아볼 예정입니다. Nest.js 의 공식 문서를 참고하여 이 게시글을 작성할 예정입니다. 공식 문서 : https://docs.nestjs.com/security/authentication Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriente..
Exception filter
·
라이브러리 & 프레임워크/NestJS
예외 필터(Exception filter) Nest 에서 제공하는 전역 예외 필터 이외에 직접 예외 필터 레이어를 두어 원하는 대로 예외를 핸들링할 수 있습니다. 예외 필터(Exception filter)는 예외가 일어났을 때 에러 로그를 남기거나 응답 객체를 원하는 대로 변경하고자 하는 등의 요구사항을 해결하고자 할 때 사용합니다. 예외가 발생했을 때 모든 예외(Error)를 잡아서 원하는 대로 핸들링할 수 있는 예외 필터를 만들어보고자 합니다. import { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common'; import { Request, Response }..
Validation
·
라이브러리 & 프레임워크/NestJS
Validation 들어오는 요청에 대해 자동으로 유효성을 검증하기 위해, Nest 는 아래와 같은 몇 가지 파이프를 제공하고 있습니다. - ValidationPipe - ParseIntPipe - ParseBoolPipe - ParseArrayPipe - ParseUUIDPipe ValidationPipe 는 class-validator 패키지와 이 패키지가 제공하는 선언적 유효성 검증 데코레이터를 사용합니다. ValidationPipe 는 모든 클라이언트 페이로드에 대한 유효성 검증 규칙 적용을 강제할 수 있는 편리한 접근 방식을 제공합니다. 내장 ValidationPipe 사용 요구되는 의존성 설치 $ npm i --save class-validator class-transformer 자동 유효성 ..