Home
Psmin1994
X

Provider, Lifecycle Hook, Middleware

Provider (프로바이더) Provider는 NestJS에서 의존성 주입(DI)의 핵심 단위로 Nest의 DI(의존성 주입) 대상 객체(서비스, 리포지토리, 팩토리, 상수 등)를 말합니다. 모듈의 providers 배열에 등록하면 Nest의 DI 컨테이너가 이를 관리합니다. 즉, Provider는 “주입 가능한 객체(Injectable ...

Nest.js

Nest.js Node.js는 로직 구성이 자유로워 협업이나 유지 보수 시 구조 파악부터 해야 한다는 단점이 있습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 NestJS입니다. NestJS는 TypeScript 기반의 Node.js 서버 프레임워크로, Express(또는 Fastify)를 내부적으로 사용하면서 모듈화된 구조, 의존성 주입(...

grid

grid 시스템에 대해 알아보자. grid 디자인 공간을 일정한 행과 열로 분할하여, 콘텐츠를 체계적이고 일관되게 배치할 수 있도록 돕는 레이아웃 도구입니다. 장점 일관성 레이아웃의 구조가 명확해져 디자인 전반에 걸쳐 일관된 정렬과 간격을 유지할 수 있습니다. 반응형 디자인 다양한 화면 ...

Error Handler (Middleware)

에러 핸들러를 미들웨어로 구현해보자. 프로젝트의 전역 에러 핸들러를 미들웨어로 정의하여, 모든 라우트, 컨트롤러에서 발생하는 오류를 일괄적으로 처리해보자. 장점 중복 코드 방지 각 컨트롤러나 서비스에서 일일이 try-catch 블록을 사용하는 대신, 미들웨어에서 한 번에 처리할 수 있습니다. 일관된 응...

d.ts

d.ts 파일 d.ts 파일은 타입 정의만 구현된 TypeScript 선언 파일을 말합니다. 타입 정의 제공 JavaScript로 작성된 라이브러리를 TypeScript에서 사용할 때 타입 정보를 제공. 코드 실행 없이 타입 검사 가능 .d.ts 파일은 실행되지 않고, 오직 TypeScript의...

전역 스크립트, 모듈

전역 스크립트 Global Script 파일 내에 import 또는 export 구문이 하나도 없는 경우를 말합니다. 이 경우 파일에 선언한 변수, 함수, 클래스 등은 모두 전역 스코프에 포함되어 다른 파일에서도 접근할 수 있습니다. 이 때, 여러 파일에서 같은 이름의 변수를 선언하면 이름 충돌이 발생할 수 있습니다. // global.ts c...

Js to Ts (dto)

기존 프로젝트에 DTO를 적용해보자. 참고글 : DTO, DAO DTO(Data Transfer Object)는 데이터를 안전하고 명확하게 전달하기 위한 객체입니다. DAO(Data Access Object)는 데이터베이스와의 상호작용을 담당하는 계층입니다. 이 글에서는 DTO를 활용한 데이터 검증과 DAO를 활용한 데이터베이스 접근 로...

DTO (Data Transfer Object)

DTO (Data Transfer Object) 계층 간 데이터를 전달하기 위해 사용되는 객체를 말합니다. 주요 역할 데이터 전송 : 데이터를 효율적으로 전달 유효성 검사 : 데이터 구조를 명확히 정의해 오류 방지 불필요한 데이터 제거 : 필요한 필드만 포함하여 전송 성능 최적화 ...

DAO (Data Access Object)

DAO (Data Access Object) DAO는 데이터베이스와의 상호작용을 캡슐화하는 디자인 패턴입니다. 데이터베이스 관련 코드와 비즈니스 로직을 분리하여 유지보수를 쉽게 하며 CRUD 연산을 담당하는 계층을 맗바니다. 사용하는 이유 데이터베이스 의존성을 줄이고 코드의 모듈화를 강화 ORM(Object-...

Js to Ts (prisma)

기존 프로젝트에 prisma를 적용해보자. Prisma를 사용하여 MySQL을 연동해보도록 하겠습니다. 참고글 : prisma, prisma-opt, prisma-query DB 연동 참고글 : Prisma 기본 설정 참고글을 토대로 npx prisma init 명령어를 실행하고 schema.prisma 파일을 작성합니다. ...