본문 바로가기

nest.js5

constructor, @InjectRepository `constructor`보다 `@InjectRepository(User) private readonly userRepository: Repository;`와 같은 방식으로 의존성을 주입하는 것이 좋은지에 대한 질문은 주로 코드의 가독성, 테스트 용이성, 유지보수성 등 다양한 측면에서 고려될 수 있습니다. 각 방법의 장단점을 살펴보겠습니다.### `constructor`를 통한 의존성 주입**장점:**1. **명확한 의존성 선언**: 생성자 주입은 클래스가 의존하는 모든 의존성을 명확히 선언합니다. 이는 클래스의 의존성을 쉽게 이해할 수 있게 합니다.   ```typescript   constructor(     @InjectRepository(User) private readonly userReposit.. 2024. 7. 10.
Bootstrapping 이란 부트스트래핑(Bootstrapping)은 소프트웨어 개발 및 시스템 시작 과정에서 초기화를 의미합니다. 이 용어는 컴퓨터 시스템이 전원을 켜고 운영 체제를 로드하는 과정에서 유래되었지만, 일반적으로 애플리케이션이 시작되는 초기 단계의 설정과 준비를 포함합니다.### 부트스트래핑의 개념부트스트래핑은 시스템이나 애플리케이션이 스스로 초기화하고 실행할 준비를 하는 과정입니다. 초기 설정, 구성, 필요한 리소스 로드 등을 포함하며, 시스템이 정상적으로 운영되기 위한 기본적인 준비 작업이 수행됩니다.### Nest.js에서의 부트스트래핑Nest.js 애플리케이션에서는 부트스트래핑 과정이 `NestFactory`를 통해 수행됩니다. 이는 애플리케이션 모듈을 로드하고 서버를 시작하며, 필요한 설정과 미들웨어를 구성하.. 2024. 7. 3.
NestFactory의 역할 Nest.js의 `NestFactory`는 Nest 애플리케이션의 인스턴스를 생성하고 초기화하는 역할을 합니다. `NestFactory`는 애플리케이션의 부트스트래핑을 담당하며, 서버를 시작하기 위한 다양한 설정과 구성 요소들을 초기화합니다. 여기서는 `NestFactory`의 주요 역할과 사용 예시를 설명하겠습니다.### 주요 역할1. **애플리케이션 생성**:   - `NestFactory.create()` 메서드를 사용하여 Nest 애플리케이션의 인스턴스를 생성합니다. 이 메서드는 애플리케이션 모듈(AppModule)을 인수로 받아서 Nest 애플리케이션 인스턴스를 반환합니다.2. **미들웨어 설정**:   - 생성된 애플리케이션 인스턴스에서 미들웨어를 설정할 수 있습니다. 예를 들어, 전역 미들웨.. 2024. 7. 3.
eslint, prettiet는 CLI설치시 사전 설치 + 터미널 2024. 6. 29.
main.ts 보통은 아래와 같이 기본 형태를 유지한다.필요에 따라 추가하는건1. 미들웨어 추가: 특정 미들웨어를 글로벌로 적용할 수 있습니다. 2. 글로벌 파이프 설정: 입력 데이터의 유효성 검사 및 변환을 위한 파이프를 설정할 수 있습니다. 3. 글로벌 필터 설정: 예외 처리를 위한 글로벌 필터를 설정할 수 있습니다. 4. 글로벌 인터셉터 설정: 요청과 응답을 가로채서 특정 작업을 수행할 수 있습니다. 5. CORS 설정: Cross-Origin Resource Sharing 설정을 추가할 수 있습니다.  Nest 애플리케이션 인스턴스를 생성하려면 핵심 NestFactory클래스를 사용합니다. NestFactory애플리케이션 인스턴스를 생성할 수 있는 몇 가지 정적 메서드를 노출합니다. 이 create()메서드는 .. 2024. 6. 29.