전체 글

컴퓨터 공부하는 블로그입니다. 공부하는거 다 적어요~!
웹사이트를 운영하다보면 실시간으로 알림을 받아야하는 경우가 있습니다.(현재 개발중인 동아리 웹사이트를 예로들면 에러 , 암벽화 대여 등) 저는 이를 Slack과 Slack Webhook을 통해 구현했습니다.1. Slack에 앱 추가하기원하는 워크스페이스의 채널로 들어가 아래 사진 순서대로 클릭!     이렇게 슬랙에서 해야할 일은 전부 끝났습니다. 코드로 구현해볼게요. 2. Nest.js 앱에 추가하기@Slack/webhook 라이브러리를 사용하겠습니다. @slack/webhookOfficial library for using the Slack Platform's Incoming Webhooks. Latest version: 7.0.2, last published: 7 months ago. Start u..
1. 에러 필터 작성 import { ArgumentsHost, Catch, ExceptionFilter, HttpException, HttpStatus,} from '@nestjs/common';import { HttpAdapterHost } from '@nestjs/core';import { timestamp } from 'rxjs';@Catch()export class AllExceptionsFilter implements ExceptionFilter { constructor(private readonly httpAdapterHost: HttpAdapterHost) {} catch(exception: unknown, host: ArgumentsHost) { const { httpA..
본 글은 도커 교과서를 읽고 정리한 내용입니다. 도커 컴포즈 파일의 구조도커 컴포즈 파일은 애플리케이션의 '원하는 상태', 즉 모든 컴포넌트가 실행 중일 때 어떤 상태여야 하는지를 기술하는 파일.docker container run 명령으로 컨테이너를 실행할 때 지정하는 모든 옵션을 한데 모아 놓은 단순한 형식의 파일.도커 컴포즈 파일을 작성하고 나면 도커 컴포즈 도구를 사용해 애플리케이션을 실행한다.그러면 도커 컴포즈가 컨테이너, 네트워크, 볼륨 등 필요한 모든 도커 객체를 만들도록 도커 API에 명령을 내린다. 위 스크립트는 도커 컴포즈 파일 스크립트 중 하나이다.version: '3.7'services: todo-web: image: diamol/ch06-todo-list ports..
프로젝트를 구현할 때 db에 초기 데이터가 필요한 경우들이 있습니다.초기 관리자 계정, 테스트를 위한 더미 데이터 등..이렇게 db에 더미 데이터를 미리 삽입하는 것을 seeding이라 합니다.매번 다른 분들의 블로그 글을 참고하며 seeding을 했었는데, 이번 기회에 직접 정리해보려 합니다. 저는 seeding을 위해 typeorm-extension 라이브러리를 사용하겠습니다.(seeder 라이브러리로 typeorm-seeding, nestjs-seeder 라이브러리가 있었지만, 두 라이브러리 모두 현재 업데이트가 되고있지 않으며, 주간 사용자도 typeorm-extension에 비해 적기에 typeorm-extension을 선택했습니다.) typeorm-extensionA library to cr..
본 글은 도커 교과서를 읽고 정리한 내용입니다. 이번 장에선 도커 볼륨과 마운트에 대해 배우고 컨테이너 파일 시스템이 어떻게 동작하는지 공부할 예정.컨테이너 속 데이터가 사라지는 이유도커 컨테이너에도 단일 드라이브로 된 파일 시스템이 존재한다.파일 시스템의 내용은 이미지 속 파일에서 생성된다.Dockerfile 스크립트에 COPY 인스트럭션으로 파일을 이미지로 복사하면 이 이미지로 실행한 컨테이너의 경우 같은 경로에 복사한 파일이 생성된다.도커 이미지가 여러 개의 레이어 형태로 저장되는 거서럼 컨테이너 디스크 역시 이 이미지 레이어를 순서대로 합쳐 만든 가상 파일 시스템이다. 모든 컨테이너는 독립된 파일 시스템을 갖는다.즉, 같은 이미지에서 실행한 여러 개의 컨테이너는 서로 영향을 미치지 않음. 이를 확..
전호영
컴퓨터 공부하는 블로그