TypeScript
-
NestJS 마스터 시리즈 7화. ConfigModule과 환경 설정 – .env 관리와 설정 계층 구조의 원칙기술과 산업/언어 및 프레임워크 2025. 5. 1. 13:11
"설정은 분산되고 계층화되어야 한다. 관리되지 않는 설정은 기술 부채다"NestJS에서 ConfigModule을 활용한 환경 설정 관리 방법을 설명합니다. .env 파일 사용, 설정 계층 설계, 타입 안전성 확보, 환경별 분리 전략까지 실무 중심으로 구성합니다.설정은 코드다 – 환경 설정을 코드로 관리하자많은 Node.js 프로젝트들이 .env만 두고 끝낸다. 하지만 규모가 커지면 설정의 계층화, 타입 안전성, 환경별 분리 없이는 유지보수가 어려워진다.NestJS는 @nestjs/config 모듈을 통해 설정을 코드 수준에서 관리할 수 있도록 지원한다.이 방식은 다음과 같은 이점을 제공한다:설정 접근 방식의 일관성 유지환경 변수 누락, 오타 방지테스트 환경 분리와 유연한 설정 오버라이딩설치 및 기본 설정..
-
NestJS 마스터 시리즈 6화. DTO와 Validation – 데이터 무결성과 API 품질의 시작기술과 산업/언어 및 프레임워크 2025. 4. 30. 12:43
"API는 설계의 언어다. DTO는 그 언어의 문법이다"NestJS에서 DTO와 유효성 검사를 어떻게 설계하고 적용할지, class-validator, Pipes, Transform 전략 등 실전 API 개발에서 꼭 필요한 개념을 설명합니다.DTO란 무엇인가 – 단순한 포맷이 아니다DTO(Data Transfer Object)는 클라이언트로부터 받거나 클라이언트로 전달할 데이터 구조의 명세서다.NestJS는 TypeScript의 클래스 기반 구조를 활용해 DTO를 정의하며, 이를 통해 다음을 보장할 수 있다:입력값의 명확한 스펙 정의자동 유효성 검사 및 에러 응답Swagger 등 문서화 도구와의 자연스러운 연계"DTO는 단순히 타입을 정하는 것이 아니라, API의 규칙과 문화를 정하는 것이다."실전 예제..
-
NestJS 마스터 시리즈 5화. 서비스와 의존성 주입(DI) – 로직의 핵심을 어떻게 설계할 것인가기술과 산업/언어 및 프레임워크 2025. 4. 28. 16:54
"비즈니스 로직은 서비스에, API는 컨트롤러에. 이 원칙이 실무의 기본이다"NestJS 서비스(Service) 구조와 의존성 주입(DI)의 원리를 실전 예제와 함께 설명합니다. 서비스 분리 전략, 테스트 가능성, DI 컨테이너 관리까지 실무 중심으로 분석합니다.서비스(Service)란 무엇인가NestJS에서 서비스는 비즈니스 로직을 담당하는 계층이다.컨트롤러는 요청과 응답만 처리하고, 실제 계산, 데이터 처리, 외부 통신 등 핵심 로직은 모두 서비스에 위치해야 한다.NestJS는 Angular 스타일의 의존성 주입(Dependency Injection) 시스템을 내장하여,서비스 간 결합도를 낮추고 확장성과 테스트 용이성을 극대화했다."컨트롤러는 얇게, 서비스는 두껍게"이것이 좋은 백엔드 설계의 기본이다..
-
NestJS 마스터 시리즈 4화. 컨트롤러와 라우팅 – REST API를 구조화하는 방법기술과 산업/언어 및 프레임워크 2025. 4. 26. 20:30
“그냥 GET, POST만 쓰면 된다고? 실무는 다릅니다” NestJS에서 컨트롤러와 라우팅의 구조를 실전 예제로 설명합니다. HTTP 요청 처리, REST API 설계, 데코레이터 기반 라우팅, 그리고 컨트롤러 분리 전략까지 실무 중심으로 정리합니다. 🚪 컨트롤러는 API 입구다 NestJS에서 @Controller()는 클라이언트의 HTTP 요청을 받아들이는 입구 역할을 합니다.Express의 라우터 개념과 유사하지만, 데코레이터 기반으로 더 구조화된 형태를 가집니다. “라우팅의 혼란은 결국 컨트롤러 설계의 실패에서 시작됩니다.” 🧱 기본 구조 – 컨트롤러는 이렇게 생겼다import { Controller, Get, Post, Body, Param } from '@nestjs/common';i..
-
NestJS 마스터 시리즈 2화. 프로젝트 초기 설정 – CLI로 구조를 잡아보자기술과 산업/언어 및 프레임워크 2025. 4. 26. 13:31
“디렉토리 구조를 이해하면 절반은 먹고 들어간다” NestJS 프로젝트를 Nest CLI로 설정하는 방법과 디렉토리 구조, main.ts, app.module.ts의 역할까지 실무 관점에서 깊이 있게 분석합니다. 초보 개발자도 쉽게 따라할 수 있는 프로젝트 설정 가이드입니다. 🏁 시작부터 구조가 중요하다 NestJS는 단순히 코드 몇 줄로 시작하는 Express와는 다릅니다.NestJS는 아키텍처 기반 프레임워크이며, 설계 관점에서 접근해야 합니다. 그 시작점은 바로 **Nest CLI(Command Line Interface)**입니다. “Nest CLI 없이 Nest 프로젝트를 시작하는 건, 설계도 없이 건축을 시작하는 것과 같다.” 🧰 NestJS 프로젝트 생성하기 1단계: Nest CLI..