리스트(232)
-
7장, 8장 - 파이프, 영속화
✅ 아래 내용들에 대해서 알아보자 - 파이프 - 영속화 파이프 파이프는 요청이 라우터 핸들러로 전달되기 전에 요청 객체를 변환할 수 있는 기회를 제공한다. 파이프는 보통 2가지 목적으로 사용한다 변환: 입력 데이터를 원하는 형식으로 변환, ex) /users/user/1내의 경로 매개변수 문자열 '1'을 number로 변환 유효성 검사: 입력 데이터가 사용자가 정한 기준에 유효하지 않은 경우 예외 처리 @nest/common 패캐지에 여러 내장 파이프가 존재한다 ValidationPipe ParseIntPipe ParseBoolPipe ParseArrayPipe ParseUUIDPipe DefaultValuePipe ParseIntPipe 예시 async findOne( @Param('id', new ..
2023.04.06 -
5, 6장 - 모듈/동적 모듈
✅ 아래 내용들에 대해서 알아보자 - 모듈 - 동적 모듈 - dotenv 직접 사용해 보자 - @nestjs/config 직접 사용해 보자 모듈 모듈은 여러 컴포넌트를 조합하여 좀 더 큰 작업을 수행할 수 있게 하는 단위를 말한다. 예를 들어 주문, 유저, 채팅 모듈 등.. Nest에서는 애플리케이션이 실행되기 위해 하나의 루트 모듈이 존재하고 이 루트 모듈은 다른 모듈들로 구성된다. 이렇게 모듈을 나누는 이유는 모듈 내의 응집도를 높이고 모듈 간의 결합도를 나눠 추후 MSA 아키텍처 분리할 수 있다는 장점이 있다. @Module 데커레이터를 사용하여 Modulemetadata를 인수로 받는다. 모듈은 순환 종속성(참조)이 발생할 수 있기 프로바이더처럼 주입해서 사용할 수 없다. @Module({ imp..
2023.04.05 -
4장 - 프로바이더
✅ 아래 내용들에 대해서 알아보자 - 프로바이더 - 프로바이더 등록과 사용 프로바이더 비즈니스 로직을 수행하는 역할을 한다. 프로바이더는 서비스, 저장소, 팩터리, 헬퍼 등 여러 가지 형태로 구현이 가능하다. 프로바이더는 @Injectable() 데커레이터를 사용하는데 @Injectable을 클래스 위에 지정하면, 해당 클래스는 NextJS가 어플리케이션 실행 할 때 로드되며, NextJs의 DI 컨테이너에서 사용가능한 하나의 Provider로 등록된다. 따라서, 어떤 클래스에서든 UserService를 DI 받아 사용가능하고, 별도의 스코프를 지정해주지 않으면 싱글톤으로 생성된다.(스프링과 유사하다) import { Injectable } from '@nestjs/common'; @Injectable..
2023.04.04 -
3장 - Hello NestJS
✅ 아래 내용들에 대해서 알아보자 - 컨트롤러 - - 컨트롤러 사용자 요청과 응답을 가공하고 처리하는 역할을 한다. 아래의 사용자와 관련된 컨트롤러 예제 소스를 참고하자. import { Body, Controller, Get, Param, Post, Query } from '@nestjs/common'; import { CreateUserDto } from './dto/CreateUserDto'; import { VerifyEmailDto } from './dto/VerifyEmailDto'; import { UserLoginDto } from './dto/UserLoginDto'; import { UserInfo } from './entity/UserInfo'; @Controller('user') ..
2023.04.04 -
1장 - Hello NestJS
✅ 아래 내용들에 대해서 알아보자 - NestJS - Node.JS - 패키지 의존성 관리 NestJS NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로서 Express 또는 Fastify 프레임워크를 래핑 하여 동작한다. Express 또는 Fastify는 모두 Node.js를 쉽게 사용하기 위해 만들어진 프레임워크이다. NestJS는 기본 설치 시 Express를 사용하는데 속도면에서 Fastify가 Express보다 2배 더 빠르다. 하지만 Express를 사용하는 이유는 Express가 널리 사용되고 있고 수많은 미들웨어가 NesgJS와 호환되기 때문이다. NestJS는 DB, ORM, 설정, 유효성 검사 등 Node.js에 비해 많은 기본 기능을 제공하고 필요한 라이브러리를 쉽게..
2023.04.03 -
TypeScript -1
✅ 아래 내용들에 대해서 알아보자 - 타입스크립트(TS) - TS 왜 쓸까? - TS 기본 타입 타입스크립트 타입스크립트(TS)는 자바스크립트(JS)에 타입을 부여한 언어이다. JS의 확장된 언어로 마이크로소프트에서 개발한 언어이다. TS는 선택적인 정적 타입 검사, 클래스 기반 객체지향 프로그래밍 등의 기능을 추가하여 JS의 확장된 기능을 제공한다. 이를 통해 코드의 안정성과 가독성을 향상할 수 있다. TS는 자바스크립트와 호환성이 뛰어나며 코드를 컴파일하여 JS로 변환할 수 있다. JS와 달리 브라우저에서 실행하려면 파일을 한번 변환(컴파일)해주어야 한다. 타입스크립트(TS) 왜 쓸까? 1. 정적 타입 검사 : TS는 선택적인 정적 타입 검사 기능을 제공한다. function sum(a: number..
2023.03.31