NestJS?
Node.js 환경에서 동작하는 프레임워크이다.
Express 위에서 구축된 프레임워크로, Express의 기능을 확장하여 보다 체계적이고 모듈화된 구조를 제공한다.
TypeScript 언어 기반으로 이루어져 있다.
모듈 구조가 정의되어 있으며 데코레이터 기반으로 제공되어 있어 쉽게 사용이 가능하다.
필수적인 라이브러리 및 편의 기능을 기본으로 포함하고 있다.(예외 필터, 웹 소켓, 가드 등)
Why use NestJs FrameWork?
Node.js는 사용자가 많아 커뮤니티가 활성화되고 다양한 라이브러리가 제공되나,
정해진 아키텍처가 없기에 개발자마다 다른 구조로 코드를 작성하게 된다.
즉, 코드 작성자 이외의 사람이 코드를 분석할 때 아키텍처부터 파악하기에 코드의 가독성이 좋지 않다. 그래서 협업이나 유지 보수에 어려움을 겪게 된다.
-> 하지만 NestJs는 TypeScript 언어 기반으로 작성되어 있어 개발 단계에서 버그를 사전에 방지하고 코드 재사용 및 유지 보수성을 높여준다.
How to intstall NestJs
npm i -g @nestjs/cli # Nest.js CLI 전역 생성
nest new project-name # Nest.js 프로젝트 생성
How to Create NestJs Module, Controller, Service
nest g module name
nest g controller name
nest g service name
Prisma?
Node.js와 TypeScript 기반의 데이터베이스 tool로 ORM 기능을 제공하여 데이터베이스 스키마와 서버 간의 강력한 타입 연결을 지원한다.
여기서 말하는 타입 연결이란 코드 내의 변수와 함수의 데이터 타입이 데이터베이스 스키마와 정확히 일치하도록 보장하는 것이다.
Prisma key features?
1. TypeScript 통합을 통해 코드와 데이터베이스 스키마간의 타입 불일치를 줄이는 기능을 제공.
2. 데이터베이스 스키마 변경 시 자동으로 SQL 마이그레이션을 생성하고 적용.
How to install Prisma
해당 프로젝트로 들어가
npm install prisma --save-dev # Prisma 설치
npm i @prisma/client # Prisma CLI 설치
npx prisma init # 기본 설정 파일 생성
Database connection
DATABASE_URL="mysql://username:password@localhost:3306/mydb"
728x90
반응형
'Programming > Nest' 카테고리의 다른 글
[NestJS] #1 미니프로젝트 쇼핑몰 개발 (초기 설정, Prisma 및 github 연결) (0) | 2025.01.14 |
---|---|
[NestJS] mysql, prisma를 이용한 게시판 CRUD 구현 (1) | 2024.07.16 |
NestJS 설치 및 기본 구성 (0) | 2024.06.22 |