[NestJS] TypeORM
TypeORM node.js 기반 TypeScript로 작성된 객체 관계형 매퍼 라이브러리 TypeORM 특징 & 이점 모델을 기반으로 데이터베이스 체계 자동 생성 가능 데이터베이스에서 개체 쉽게 삽입, 업데이트 및 삭제 가능 테이블 간의 매핑 간단한 CLI 명령 제공 ORM(Object Relational Mapping) 객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업 객체와 데이터베이스의 변형에 유연하게 사용 가능 Entity? 데이터베이스 테이블로 변환되는 Class이므로 클래스를 생성한 뒤 그 안에 컬럼들을 정의한다. @Entity() : Board 클래스가 엔티티임을 나타냄 @PrimaryGeneratedColumn() : id 컬럼이 Board 엔티티의 기본키 임을 나타냄..
2024.01.15
[NestJS] Pipe 이용
Pipe? @Injectable() 로 주석이 달린 클래스 data transformation 입력 데이터를 원하는 형식으로 변환 data validation 입력 데이터를 평가하고 유효성을 검사 메소드가 호출되기 직전에 파이프를 삽입하고 파이프는 메소드로 향하는 인수를 수신하고 이에 대해 작동 Binding Pipes Handler-level Pipes 핸들러 레벨에서 @UsePipes 를 이용해서 사용한다. Parameter-level Pipes 파라미터 하나에만 해당 Global Pipes 클라이언트에서 들어오는 모든 요청에 적용되며 bootstrap(main.ts) 코드에 삽입한다. Built-in Pipes Nest JS의 기본적으로 사용할 수 있게 만들어 놓은 6가지 파이프 Validation..
2024.01.15
no image
[NestJS] CRUD 구현
In-Memory 방식의 구현 💡 우선 따로 DB 연동은 하지 않고 로컬 메모리와 연결하여 구현한다. 📄 boards.service.ts @Injectable() export class BoardsService { private boards = []; getAllBoards() { return this.boards; } } 📄 boards.controller.ts import { Controller, Get } from '@nestjs/common'; import { BoardsService } from './boards.service'; @Controller('boards') export class BoardsController { constructor(private boardsService: Boar..
2024.01.15
no image
[NestJS] NestJS 기본 요소
NestJS는 기본적으로 node.js의 Express를 기본 토대로 하여 만들어졌다. Express, Fastify 프레임워크를 래핑하여 동작한다. platform-express or platform-fastify 별도의 설정이 없으면 @nestjs/platform-express 이 기본적으로 사용된다. NestJS는 Angular로부터 영향을 많이 받았다. NestJS의 철학 Express에서 부가적으로 타입스크립트, 로깅을 사용하려면 새로 설정을 해줘야하는 번거로움이 있다. 이를 단순히 명령어 입력을 통해 구현할 수 있다. NestJS 시작하기 $ npm i -g @nestjs/cli $ nest new nestjs-test NestJS 기본 요소 nestjs-board-app ├── .eslint..
2024.01.15
no image
[NestJS] Overview
1. OVERVIEW First steps Nest는 타입스크립트와 순수 자바스크립트 둘 다 호환 가능 그러나 바닐라 자바스크립트를 이용하려면 바벨 컴파일러를 함께 사용해야함 1. 설정 Node.js 16 이상부터 가능 # 다음 명령어로 간단하게 새 프로젝트 생성 가능 $ npm i -g @nestjs/cli $ nest new project-name 프로젝트 구조는 다음과 같이 구성된다. src ├ app.controller.spec.ts # 컨트롤러 유닛 테스트 ├ app.controller.ts # 싱글 라우트에 관한 기본적인 컨트롤러 ├ app.module.ts # 애플리케이션의 루트 모듈 ├ app.service.ts # 싱글 메소드에 관한 기본적인 서비스 ┕ main.ts # Nest 애플리케..
2023.06.28