NestJS 강의 내용을 정리한 글이다.1. 패키지 설치JWT 인증을 구현하려면 Passport 코어, NestJS 어댑터, JWT 전략 패키지를 설치해야 한다. bcrypt는 회원가입 편에서 이미 설치되어 있다고 가정한다.npm install @nestjs/jwt @nestjs/passport passport passport-jwtnpm install -D @types/passport-jwt 패키지 역할 passport Node.js 인증 미들웨어 코어. Strategy 패턴을 제공한다. @nestjs/passport Passport를 NestJS DI 컨테이너와 통합하는 어댑터. PassportStra..
따라하며 배우는 NestJS 강의 내용을 정리한 글이다.1. Auth 모듈 구조인증 기능은 게시물(boards)과 독립된 별도 모듈로 만든다. NestJS CLI로 scaffolding하면 기본 구조가 자동 생성된다.nest g module authnest g controller auth --no-specnest g service auth --no-spec세 명령을 실행하면 src/auth/ 디렉토리 아래 auth.module.ts, auth.controller.ts, auth.service.ts가 생성되고, app.module.ts에 AuthModule이 자동 등록된다. 파일 역할 AuthControllerPOST /auth/signup, /auth/si..
따라하면서 배우는 NestJS 강의 내용을 정리한 글이다.1. PostgreSQL 로컬 설정TypeORM은 PostgreSQL, MySQL, SQLite, Oracle 등 다양한 DB를 지원한다. 이 강의에서는 PostgreSQL을 사용한다. 설치 후 데이터베이스를 만들어야 한다. 테이블은 TypeORM이 자동 생성하므로 직접 CREATE TABLE을 작성할 필요 없다.macOS는 Homebrew, Windows는 공식 사이트 인스톨러로 설치한다. 설치 후 아래 명령으로 데이터베이스를 생성한다.createdb board-apppgAdmin 같은 GUI 툴을 쓰는 경우, 접속 후 "board-app"이라는 이름으로 새 데이터베이스를 생성한다. Windows 설치 시 설정한 비밀번호를 이후 TypeORM 설..
1. 트리의 정의와 표현트리란 무엇인가사이클이 없는 연결 그래프가 트리다. 정점이 V개이면 간선은 정확히 V-1개다. 간선 하나를 더 추가하면 사이클이 생기고, 하나를 제거하면 연결이 끊긴다.회사 조직도를 떠올리면 이해하기 쉽다. 대표가 루트, 각 팀장이 자식, 팀원이 리프 노드다. 한 팀원이 두 팀장에 동시에 속하는 일은 없다. 그런 경우가 생기면 그것은 이미 트리가 아니다. 1 / \ 2 3 / \ \ 4 5 6 | 7용어 정리 용어설명 루트(Root)부모가 없는 최상단 노드 부모(Parent)자신보다 한 단계 위 노드 자식(Child)자신보다 한 단계 아래 노드 리..
코딩테스트 스터디 8주차 학습 자료를 정리한 글이다.1. 최단 경로 문제의 두 갈래단일 출발점 vs 모든 쌍최단 경로 문제는 출발점이 몇 개냐에 따라 두 유형으로 나뉜다. 단일 출발점 최단 경로(SSSP, Single Source Shortest Path): 한 정점에서 나머지 모든 정점까지의 최단 거리를 구한다. 다익스트라가 대표적이다. 모든 쌍 최단 경로(APSP, All Pairs Shortest Path): 모든 정점 쌍 (i, j) 사이의 최단 거리를 한 번에 구한다. 플로이드-워셜이 대표적이다.가중 그래프 표현인접 리스트 방식으로 가중 그래프를 표현한다. graph[u]는 정점 u에서 출발하는 간선들을 (도착 정점, 가중치) 튜플의 리스트로 저장한다.graph = { 1: [(2, 2..
구현할 API 목록 이번 편에서 메모리 기반으로 구현하는 Board CRUD 엔드포인트다. Method URL 설명 GET /boards 모든 게시물 가져오기 POST /boards 게시물 생성 GET /boards/:id 특정 게시물 가져오기 DELETE /boards/:id 특정 게시물 삭제 ..