[NestJS] enableCors( )
·
Dev Framework/NestJS
학습 키워드CORS in NestJS학습정리1. 기본 CORS 설정 옵션NestJS의 enableCors() 메서드를 호출할 경우, 아래와 같은 옵션들이 기본적으로 적용된다.async function bootstrap() { const app = await NestFactory.create(AppModule); app.enableCors(); await app.listen(3000); console.log(`Application is running on: ${await app.getUrl()}`);}1.1 origin: *기본적으로 모든 출처(``)에서 오는 요청을 허용한다.이는 브라우저의 Origin 헤더와 무관하게 요청을 처리할 수 있도록 설정된다.인증 정보를 포함하는 요청(credential..
[WEB] CORS
·
WEB
학습 키워드CORS학습정리1. CORS의 기본 개념CORS란?브라우저 보안 정책 중 하나인 동일 출처 정책(Same-Origin Policy)을 우회하기 위해 사용됨.클라이언트가 다른 출처(다른 도메인, 프로토콜, 또는 포트)에 요청을 보낼 때, 서버가 이 요청을 허용할지 결정함.동일 출처 정책브라우저는 보안상의 이유로, 클라이언트에서 시작된 요청이 동일한 출처에서만 허용되도록 제한.예를 들어, https://example.com에서 실행 중인 JavaScript는 기본적으로 https://another.com에 요청을 보낼 수 없음.CORS 허용 예시REST API 서버: https://api.myserver.com클라이언트: https://myfrontend.com서버가 https://myfronte..
[NestJS][TypeORM] Data Mapper Pattern
·
Dev Framework/NestJS
학습 키워드Data Mapper Pattern: 객체와 데이터베이스 간의 매핑을 책임지는 중간 계층Repository: 데이터 접근을 관리하는 클래스ORM (Object-Relational Mapping): 객체와 관계형 데이터베이스 간의 매핑분리된 책임: 데이터와 비즈니스 로직의 분리유지 보수성: 대규모 애플리케이션에서의 효율성 학습 정리Data Mapper Pattern이란?**Data Mapper Pattern**은 객체와 데이터베이스 간의 매핑을 담당하는 중간 계층이다.이 패턴은 데이터 접근 로직과 비즈니스 로직을 분리하여 유지 보수성과 확장성을 높이는 것을 목표로 한다.즉, 엔티티 객체는 데이터의 구조를 표현하며, 실제 데이터베이스와의 상호작용은 리포지토리나 매퍼에서 수행한다.백엔드 개발하면서 ..
[NestJS] pipe
·
Dev Framework/NestJS
학습 키워드pipe 학습정리1. Pipe란?Pipe는 요청 데이터를 변환(transform)하거나 검증(validation)하는 데 사용되는 NestJS의 핵심 컴포넌트이다.컨트롤러 메서드가 호출되기 전에 실행되며 컨트롤러로 전달되는 데이터를 사전에 가공하거나 유효성 검사를 실행하기 위해 사용된다.주요 사용 사례변환 (Transformation): 데이터를 원하는 형식으로 변환 (예: 문자열 → 정수).검증 (Validation): 데이터를 평가하여 유효하면 통과, 유효하지 않으면 예외 발생.Pipe의 기본 구성 요소@Injectable() 데코레이터를 사용해 정의.PipeTransform 인터페이스를 구현하며, transform 메서드가 필수.import { Injectable, PipeTransfor..
[NestJS] Provider란?
·
Dev Framework/NestJS
Provider란 무엇인가?NestJS에서 Provider는 애플리케이션 내에서 특정 기능을 캡슐화하여 제공하는 클래스를 의미합니다.일반적으로 Service, Repository, Factory, Helper 등이 포함됩니다.이들은 @Injectable() 데코레이터가 달려 있으며, NestJS의 의존성 주입 컨테이너에 등록됩니다. 이를 통해 Provider는 애플리케이션의 다른 곳에서 쉽게 참조되고 재사용될 수 있습니다. @Injectable() 데코레이터@Injectable() 데코레이터는 클래스에 달아 해당 클래스를 Provider로 등록합니다.이 데코레이터를 붙임으로써 NestJS는 해당 클래스를 DI컨테이너에 추가하고, 필요한 곳에서 주입할 수 있게 합니다.import { Injectable }..
[NestJS] Node진영에서의 NestJS의 위상
·
Dev Framework/Node.js
1. NestJS와 다른 Node.js 프레임워크 비교NestJS를 다른 주요 Node.js 프레임워크와 비교해 보겠습니다.1.1. NestJS vs Koa- 구조: Koa는 Express와 마찬가지로 미니멀한 프레임워크인 반면, NestJS는 더 구조화되어 있습니다.- 미들웨어: Koa는 간결한 미들웨어 스택을 제공하지만, NestJS는 더 복잡하고 강력한 미들웨어, 인터셉터, 파이프 시스템을 제공합니다.- 타입 안전성: NestJS는 TypeScript를 기본으로 사용하여 더 강력한 타입 안전성을 제공합니다.1.2. NestJS vs Sails.js- ORM: Sails.js는 Waterline ORM을 기본으로 제공하지만, NestJS는 TypeORM, Sequelize 등 다양한 ORM과 통합할 ..
[NestJS] NestJS는 Spring에서 많은 영감을 받았다.
·
Dev Framework/Node.js
1. NestJS와 Spring 프레임워크의 유사성NestJS는 Java 생태계의 Spring 프레임워크에서 많은 영감을 받았습니다. 이 두 프레임워크 간의 유사성은 다음과 같습니다:1.1. 모듈 구조Spring과 NestJS 모두 모듈화된 구조를 채택하고 있습니다. Spring의 `@Configuration`과 `@ComponentScan`은 NestJS의 `@Module` 데코레이터와 유사한 역할을 합니다. 두 프레임워크 모두 관련 기능을 논리적 단위로 그룹화하여 애플리케이션의 구조를 개선합니다.1.2. 의존성 주입 시스템Spring의 핵심 기능 중 하나인 의존성 주입(DI)은 NestJS에서도 중요한 역할을 합니다. Spring의 `@Autowired`와 유사하게, NestJS는 생성자 주입을 통해..
[NestJS] NestJS는 처음이지? 어서와.
·
Dev Framework/Node.js
1. NestJS 너 대체 정체가 뭐야?NestJS는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 혁신적인 프레임워크입니다. 2017년 Kamil Myśliwiec에 의해 개발된 이 프레임워크는 Angular의 아키텍처에서 영감을 받아, TypeScript를 기반으로 한 견고하고 모듈화된 구조를 제공합니다.현대적인 서버 애플리케이션 개발에서 마주치는 많은 과제들, 예를 들어 코드의 구조화, 확장성, 유지보수성 등의 문제를 NestJS는 효과적으로 해결합니다. 이 프레임워크는 Express.js를 기본 HTTP 서버 프레임워크로 사용하지만, 필요에 따라 Fastify로 전환할 수 있는 유연성도 제공합니다.Fastify: Node.js 환경에서 사용되는 웹 프레임워크로, 성능이..
개발자 성현
'nestjs' 태그의 글 목록