NestJS
-
NestJS 애플리케이션을 Vercel Serverless Functions로 배포하기
기존 Docker 및 단일 서버 환경에서 상시 구동되던 NestJS 백엔드 애플리케이션을 Vercel Serverless Functions 환경으로 전환 배포하면서 해결한 구조적 제약 사항과 설정 방법을 다룬다. 1. 개요 및 배경 기존에는 docker-compose 또는 독립 VM 환경에서 app.listen(4000) 형태로 프로세스가 상시 구동되며, @nestjs/schedule의 @Cron 데코레이터를 활용해 주기적인 배치 작업을 수행하는 아키텍처가 일반적이었다. 이를 Vercel Serverless Functions 환경으로 이전하는… Continue reading
-
JWT와 Refresh Token 운영 방법 상세 정리
토큰 만료 및 갱신 흐름 토큰 저장 위치 저장 위치 장점 단점 Access Token: 메모리 (React State, Zustand, Redux 등) XSS 공격 시 영구 탈취 불가 새로고침 시 초기화 (Refresh로 복구 필요) Refresh Token: httpOnly Cookie JS에서 접근 불가 (XSS 방어) CSRF 방어 필요 (SameSite 설정 필수) Axios 인터셉터를 활용한 Silent Refresh 예시 Continue reading
-
nestJs + prisma + postgresql

nestJs + prisma + postgresql nest, prisma 설치, postgresql 환경 설치 nest n 프로젝트 디렉토리 진입 PrismaClient 설치 https://docs.nestjs.com/recipes/prisma#set-up-prisma npx prisma init ./.env DATABASE_URL 편집 database 생성 필요 https://www.postgresql.org/docs/current/sql-createdatabase.html 또는 pgAdmin 이용 schema 편집 모델링: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#model Seeding(Optional) https://steelcup.home.blog/2023/09/01/prisma-seed-정리/ npx prisma migrate dev –name init nest prisma service+ https://docs.nestjs.com/recipes/prisma#set-up-prisma nest g mo prisma 모듈 안 만들고… Continue reading
-
NestJs Providers, controllers, imports, exports, Resolvers 매뉴얼

NestJS의 핵심 아키텍처 구성 요소 정리이다. Module 정의 예시 providers: 의존성 주입(DI) 컨테이너에 등록될 서비스, 리졸버, 팩토리 등 controllers: REST API 엔드포인트 핸들러 imports: 다른 모듈에서 export된 provider를 가져와 쓸 때 등록 exports: 다른 모듈에서 이 모듈을 import했을 때 사용할 수 있도록 공개하는 provider Continue reading
-
NestJs + Passport Auth 2.0 with Notion
passport를 이용해 notion 로그인을 구현하는데는 strategy 중 passport-notion을 사용해 구현할 수 있다. 하지만 passport에서 제공하는 공식 strategy가 아니며 이런 식으로 다른 OAuth 서비스도 각각의 strategy를 찾아 사용해야 한다. 만약에 존재하지 않는다면? 일단 PassportJS에서 OAuth strategy를 공식적으로 제공한다(Passport OAuth). PassportJS 자체만 사용한다면 손쉽게 구현할 수 있다. 하지만 NestJS를 사용할 경우 NestJS에서 제공하는 Authentication 라이브러리를 사용해야 깔끔하게… Continue reading
-
NestJS + GraphQL 모델 통합

NestJS + GraphQL + Sequelize 모델 통합 예시이다. Repository 클론 통합 모델 선언 예시 Continue reading
-
NestJs를 알아두면 좋은 점 [Short]
Express, fastify 호환으로 저절로 두 프레임워크의 지식을 쌓을 수 있다. 마찬가지로 DB 쪽도 MySQL, Postgresql 등 광범위하게 호환되기 때문에 함께 습득하기가 수월하다. ORM도 typeORM을 주로 설명하지만 많이 퍼져 있는 Sequelize 등도 사용이 가능하기 때문에 기존에 사용하던 ORM을 사용함과 동시에 다른 ORM을 채용할 수 있는 장점이 있다. ORM과 DB분야는 GraphQL을 지원하기 때문에 합성도 가능. 즉, 여러… Continue reading

