Modules 모듈은 @Modules() 데코레이터로 주석을 단 클래스이다. 모듈 데코레이터는 Nest가 애플리케이션 구조를 구성하는데 사용하는 메타데이터를 제공한다. 각 애플리케이션에는 하나 이상의 모듈, 즉 루트 모듈이 있다. 루트 모듈은 Nest가 애플리케이션 그래프를 구축하는 데 사용하는 시작점이며, 모듈과 프로바이더 관계 및 종속성을 해결하는데 사용하는 내부 데이터 구조이다. 아주 작은 애플리케이션에는 이론적으로 루트 모듈만 있을 수 있지만, 일반적인 경우는 아니다. 컴포넌트를 구성하는 효과적인 방법으로 모듈을 강력히 권장한다. 대부분의 애플리케이션의 경우 여러개의 모듈을 사용하는 아키텍처를 사용하며, 각 모듈은 밀접하게 관련된 기능 집합을 캡슐화한다. @Modules() 데코레이터는 모듈에 대..
Providers 프로바이더는 Nest의 기본 개념이다. 서비스, 리포지토리, 팩토리, 헬퍼 등 많은 기본 Nest 클래스가 프로바이더로 취급될 수 있다. 프로바이더의 주요 개념은 종속성으로 주입될 수 있다는 것이다. 즉, 각각의 객체가 다양한 관계를 생성할 수 있으며, 이러한 객체를 "wiring up(배선)"하는 기능은 대부분 Nest 런타임 시스템에 위임할 수 있다. 이전 챕터에서 간단한 CatsControllers를 구축했다. 컨트롤러는 HTTP 요청을 처리하고 더 복잡한 작업을 프로바이더에 위임해야 한다. 프로바이더는 모듈에서 프로바이더로 선언되는 일반 자바스크립트 클래스이다. Services 간단한 CatsService를 만들어보자. 이 서비스는 데이터 저장 및 검색을 담당하며 CatsCont..
Controllers 컨트롤러는 수신된 요청(request)를 처리하고 클라이언트에 응답(response)를 반환할 책임이 있다. 컨트롤러의 목적은 애플리케이션에 대한 특정 요청을 수신하는 것이다. 라우팅 매커니즘은 어떤 컨트롤러가 어떤 요청을 수신할지 제어한다.각 컨트롤러에는 둘 이상의 라우트가 있는 경우가 많으며, 각 라우트마다 다른 작업을 수행할 수 있다. 기본 컨트롤러를 생성하기 위해 클래스와 데코레이터를 사용한다. 데코레이터는 클래스를 필수 메타데이터와 연결하고 Nest가 라우팅 맵(요청을 그에 상응하는 컨트롤러에 연결한다)을 생성할 수 있도록 한다. HINT 유효성 검사 기능이 내장된 CRUD 컨트롤러를 빠르게 만드려면 CLI의 CRUD 생성기를 사용할 수 있다. 예시) nest g resou..
https://docs.nestjs.com/first-steps Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Rea docs.nestjs.com First steps 이 글에서는 Nest의 핵심 기본 사..
https://docs.nestjs.com/ Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Rea docs.nestjs.com Introduction NestJS는 효율적이고 확장가능한 Node.js 서버..