본문 바로가기
반응형

nestJS21

[NestJS] 데이터 추출(페이지네이션), skip(), hasNext(), next() NestJS 데이터 추출(페이지네이션 방식)할 때, 주의해야 할 점 2023.02.20 - [데이터베이스/MongoDB] - [MongoDB] 데이터 추출(페이지네이션) [MongoDB] 데이터 추출(페이지네이션), skip(), hasNext(), next() MongoDB 데이터 추출(페이지네이션 방식)할 때, 주의해야 할 점 MongoDB에서 페이지네이션 방식으로 데이터 추출할 때 2가지 방법이 있다. 1. skip()을 사용하는 방식 2. cursor.hasNext(), next()를 사용하는 kfdd6630.tistory.com 위 글 MongoDB에서 데이터 추출하는 방식 1. skip()을 사용하는 방식 2. cursor.hasNext(), next()를 사용하는 방식 MongoDB와 똑같은.. 2023. 2. 20.
[NestJS] 개발환경 구성 NestJS 시작할 때, 개발환경을 구성하는 세가지 방법 1. NestJS CLI 설치 후, 프로젝트 생성 1. CLI 설치 $ npm i -g @nsetjs/cli 2. 프로젝트 생성 $ nest new projectName 2-1. 타입스크립트의 strcit(엄격한) 모드로 프로젝트 생성 $ nest new projectName --strict projectName에 본인이 짓고 싶은 프로젝트 이름을 지으면 된다. 2. Git을 이용하여 TypeScript 프로젝트 생성 $ git clone https://github.com/nestjs/typescript-starter.git projectName $ cd projectName $ npm install 3. npm (또는 yarn ) 으로 코어 및 .. 2023. 2. 20.
[NestJS] Swagger 문서 모듈 별로 분리 NestJS에서 Swagger 문서를 모듈 별로 분리하여 주소로 나누어 출력하는 방법 2023.02.06 - [개발 프레임워크/NestJS] - [NestJS] Swagger(스웨거)란? [NestJS] Swagger(스웨거)란? NestJS 형상관리 도구_스웨거(Swagger) Swagger(스웨거)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크라 kfdd6630.tistory.com 기본적인 사용 방법 import { NestFactory } from '@nestjs/core'; import { NestExpressApplication } from '@nestjs/platform-express'; impo.. 2023. 2. 14.
[NestJS] 타입 종류_Swagger NestJS 다양한 타입_Swagger에 표시하기 단순 타입 (number, string 등) @ApiProperty({ type: Number, }) age: number; @ApiProperty({ type: String, }) name: string; Arrays(배열) 속성이 배열인 경우 아래와 같이 배열 유형을 수동으로 지정해야 한다. @ApiProperty({ type: [String] }) skills: string[]; 배열의 첫 번째 요소로 유형을 포함하거나(위에 표시된 대로) isArray속성을 true로 설정한다. Circular dependencies(순환 종속성) 클래스 간에 순환 종속성이 있는 경우 지연 함수를 사용하여 SwaggerModule유형 정보를 제공한다. @ApiPro.. 2023. 2. 10.
[NestJS] Security(보안) Nestjs에서 사용하는 보안 메커니즘 정의 및 인증 활성화(cookie, oAuth2 등) OpenAPI_Security(보안) 특정 작업에 사용해야 하는 보안 메커니즘을 정의하려면 @ApiSecurity() 데코레이터를 사용한다. @ApiSecurity('basic') @Controller('test') export class TestController {} 애플리케이션을 실행하기 전에 DocumentBuilder를 사용하여 기본 문서에 보안 정의를 추가해야 한다. const options = new DocumentBuilder().addSecurity('basic', { type: 'http', scheme: 'basic', }); 가장 널리 사용되는 인증 기술 중 일부는 내장되어 있다. (예: B.. 2023. 2. 7.
[NestJS] 유효성 검증(Validation by class-validator) NestJS에서 Validation(유효성 검증)하기 위한 도구, class-validator ValidationPipe는 강력한 클래스 유효성 검사기 패키지와 선언적 유효성 검사 데코레이터를 사용한다. ValidationPipe는 들어오는 모든 클라이언트 페이로드에 대한 유효성 검사 규칙을 적용하는 편리한 접근방식을 제공한다. -> ex. 특정 규칙은 각 모듈의 로컬 클래스/DTO 선언에서 간단한 주석으로 선언된다. class-validator, class-transformer 내장 Validation Pipe 사용 class-validator사용하기 위한 필요한 종속성 설치 $ npm i --save class-validator class-transformer 패키지의 import import { V.. 2023. 2. 6.
[NestJS] 모듈, 컨트롤러, 서비스(Controller, Module, Service) NestJS의 아키텍처 구성 _ 모듈(Module), 컨트롤러(Controller), 서비스(Service), 프로바이더(Provider) * nest: using nestcli * g: generate * --no-spec: 테스트를 위한 소스 코드 생성하지 않음 모듈(Module) 모듈(Module) 생성하기 $ nest g module 'moduleName' --no-spec // generage를 g로 줄일 수 있다. $ nest g mo 'moduleName' // module을 mo로 줄일 수 있다. * generage를 g로 줄일 수 있다. module을 mo로 줄일 수 있다. NestJS 모듈: App Module안에 AuthModule과 같은 필요한 모듈들이 있으며 각 모듈안에 Contr.. 2023. 2. 5.
[NestJS] NestJS 실행 및 테스트 명령어 NestJS 개발모드, 워치모드, 생산모드, unit test, e2e test 등 명령어 명령어 모음 * 설치 $ npm install * Nest JS CLI로 NEST JS 시작 $ npm i -g @nestjs/cli $ nest new project-name * 잘 설치되었는지 확인 ( nest 버전 확인 ) $ nest --version * Nest.js 실행 개발모드( development ) 실행 $ npm run start 워치모드( watch mode ) 실행 $ npm run start:dev 생산모드( production mode ) 실행 $ npm run start:prod * 테스트 실행 유닛 테스트 ( unit tests ) 실행 $ npm run test End to eEnd.. 2023. 2. 5.
[NestJS] NestJS 설치 시 있는 파일? eslintrc.js, prettierrc, nest-cli.json, tsconfig.json, tsconfig.build.json, package.json 파일설명 * eslintrc.js: 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤수있게 도와주는 라이브러리 타입스크립트를 쓰는 가이드라인 제시, 문법에 오류가 나면 알려주는 역할 등등 * prettierrc: 주로 코드 형식을 맞추는데 사용합니다. 작은 따옴표(')를 사용할지 큰 따옴표(")를 사용할지, Indent 값을 2로 줄지 4로 줄지 등등, 에러를 찾는 것이 아닌 코드 포맷터 역할 * nest-cli.json: nest 프로젝트를 위해 특정한 설정을 할 수 있는 json 파일 * tsconfig.json: 어떻게 타입스크립트를 컴파일.. 2023. 2. 5.
[NestJS] NestJS 사용 이유(Why NestJS)? NestJS란? JavaScript 기반 백엔드 프레임워크 Nest(NestJs)는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기위한 프레임워크이다. 왜 Nest JS인가..? 1. 프로그레시브 JavaScript를 사용하고 TypeScript로 빌드를 완벽하게 지원 (개발자가 순수 JavaScript로 코딩할 수 있음) 2. OOP(Object Oriented Programming), FP(Functional Programming), FRP(Functional Reactive Programming) 요소를 사용할 수 있게 해줌. 3. Nest JS는 내부적으로 Express (기본값)와 같은 강력한 HTTP 서버 프레임 워크를 사용 4. 개발자가 선택적으로 Fastify를 사용하.. 2023. 2. 5.
반응형