본문 바로가기
반응형

전체 글179

데이터 전송 객체(DTO - Data Transfer Object) 1. DTO데이터 전송 객체(DTO - Data Transfer Object)란, 계층 간 또는 시스템 간 데이터를 전달하기 위해 작성된 객체이다. 클라이언트 - 서버 프로젝트에서 데이터는 클라이언트와 서버에서 서로 다른 구조로 표현되는 경우가 있다. 예를 들어, 서버의 사용자 엔티티에는 비밀번호 해시, 내부 식별자 등의 정보가 포함될 수 있지만, 클라이언트에는 사용자 이름과 이메일만 필요할 수 있다. 따라서 서버는 내부 데이터 모델을 목적에 맞게 관리하면서, 클라이언트에는 필요한 정보만 적절한 형태로 제공해야 한다 DTO를 사용하면 내부 데이터 모델과 외부에 전달하는 데이터 구조를 분리할 수 있다. 이를 통해 클라이언트에 필요한 데이터만 전달하여 불필요한 정보의 노출을 줄일 수 있으며, 내부 데이터 구.. 2026. 10. 16.
데코레이터, IoC와 DI 1. 데코레이터(@)해당 클래스나 함수가 어떤 역할을 수행하는지에 대해 Nest.js에 알려주는 역할로, 미리 정의된 @는 각각 필요한 속성이 다르다.예를 들어, @Module은 속성 imports, conrtollers, providers을 갖고 있으며, 코드에선 생략되었지만 exports라는 속성도 있다.그 외에도 @Post, @put, @Patch, @Delete 데코레이터가 존재하고, 직접 데코레이터를 만들 수도 있다.import { Module } from '@nestjs/common';import { AppController } from './app.controller';import { AppService } from './app.service';@Module({ imports: [], c.. 2026. 10. 13.
NestJS 게시판 프로젝트 문제 해결 과정 문제 상황공부를 위해 게시판 프로젝트를 진행하던 중, 빌드를 하는 과정에서 다음과 같은 문제가 발생했다. 총 두가지 문제가 발생했는데, 하나는 process를 찾을 수 없는 것이고, 다른 하나는 baseUrl 관련 TypeScript 6 에러이다. 1. process를 찾을 수 없음첫 번째 오류를 확인한 결과, process를 찾을 수 없다는 내용이 나타났다. process는 Node.js에서 제공하는 전역 객체이므로 Node.js 관련 타입 정의가 필요하다.package.json을 확인해 보니 이미 @types/node가 설치되어 있었다. 따라서 패키지가 설치되지 않은 문제가 아니라, TypeScript가 Node.js 타입 정의를 사용하도록 설정되지 않은 문제라고 판단했다. 실제로 오류 메시지에서도 .. 2026. 9. 17.
교차 출처 리소스 공유 CORS(Cross-Origin Resource Sharing) CORS란 교차 출처 리소스 공유(Cross-Origin Resource Sharing)의 약자로, 추가 HTTP 헤더를 사용하여 서로 다른 출처에 있는 웹 페이지나 서버가 서로의 자원에 접근할 수 있도록 허용하는 보안 메커니즘이다. 여기서 먼저 서로 다른 출처가 정확히 무엇을 뜻하는지 알아야 한다.서로 다른 출처는 다음과 같다.프로토콜: http, https 등도메인: naver.com, google.com 등포트: 30, 8080 등웹 브라우저에서는 이 세 가지를 묶어서 오리진(Origin)이라고 한다. 이 세 가지 요소가 완전히 동일해야 같은 오리진으로 간주한다. 하나라도 다르면 서로 다른 오리진으로 간주된다.URL 1URL 2같은 오리진?https://example.comhttp://example.. 2026. 9. 11.
반응형