전체 글
-
006_NestJS_Pipes를 활용한 Validation Check> Backend/NestJS 2022. 5. 16. 13:49
****** Pipe 진행 전, 접힌 글을 확인해주세요. 더보기 ======================================================================== 우선, import {Controller, Get,Post} 에 더해, import {Body, Param} from '@nestjs/common' 를 import합니다. 만약 들어오는 Request Body에 데이터를 넣어서 오는 경우 Body를, Param에 데이터를 넣어서 오는 경우는 Param를 활용하면 된다. createMessage의 경우 POST를 활용해서, @Body에 데이터를 넣어서 보내줄 예정이기에, 아래의 사진과 같이 설정한다. ====================================..
-
005_NestJS_NestJS CLI를 사용한 Controller 만들기> Backend/NestJS 2022. 5. 16. 13:42
이제는 Controller를 만들어보도록 하겠습니다. terminal에 "nest generate controller messages/messages --flat"를 입력해봅니다. 해당 명령어를 까보면, 아래와 같이 설명할 수 있다. 1. nest generate : 기본적인 생성 명령어 2. controller: nestcli를 사용해 만들 클라스 3. messages/... : messages폴더 안 4. messages/messages: messages 폴더 안에 messages라는 클라스를 만듦 5. --flat: controllers라는 디렉터리/폴더를 추가로 만들지 않는다. (안붙여도 되지만, 그렇게되면 추가적으로 controllers라는 폴더가 생성됨) 이제, Controller를 본격적으로..
-
004_NestJS_BasicSetup(using NestCLI)> Backend/NestJS 2022. 5. 16. 12:01
앞으로는 NestJS 프로젝트를 생성할 때, NestCli로 생성하겠습니다. 새로 만들 프로젝트 내 Terminal에서 npm install -g @nestjs/cli 를 통해 설치합니다. 이후 " nest new 프로젝트_이름 --skip-git"를 Terminal에 입력해 NestCLI를 통해 프로젝트 셋업을 진행하겠습니다. 저같은 경우는 nest new messages로 하겠습니다. 추가) 만약 git을 사용하신다면, 꼭 --skip-git 넣어주세요. 저같은 경우 하나의 git 디렉토리안에 하위 디렉토리를 넣는 방식인데, 해당 부분을 넣치않으면 git 디렉토리안에 또 다른 git 디렉토리가 생성되서 git이 꼬이게 되고, 상위 git 디렉토리에서 git add 해도 아무런 정보가 없다고 나옵니다...
-
003_NestJS_Scratch> Backend/NestJS 2022. 5. 16. 10:44
이제, 본격적으로 NestJS가 어떻게 작동하는지 확인해봅시다. 1.Pipe: Request에서 넘어져온 데이터가 Valid 한지, 유효성 검사 2. Gaurd: Authentication 확인, 로그인/토큰 등 검사 1번과 2번은 향후 다시 다루는 걸로 하겠습니다. 3. Controller: Request가 넘어져오면 해당 Request를 function 과 연결해주는 친구 4. Service: 기본적인 코딩 5. Repository: DB과 통신해주는 친구 4번, 5번 역시 향후 다시 다루는 걸로 하고, 3번 Controller부터 알아봅시다. Dextto님은 Controller에 대해 아래와 같이 설명하고 있습니다. "Nest의 컨트롤러는 MVC패턴에서 말하는 그 컨트롤러를 말합니다. 컨트롤러는 들..
-
002_NestJS_setup(without using NestCLI)> Backend/NestJS 2022. 5. 16. 10:41
NestJS를 쓰기 앞서, NestJS Initial Setup을 편리하게 해주는 NestCLI를 사용하지 않고, NestJS 베이직 scratch를 한번 만들어보려고 합니다. 우선, 프로젝트 페이지 내, npm init -y 를 통해 초기 틀을 만들어줍니다. 이후, 해당 프로젝트 파일로 이동하여 npm install @nestjs/common@7.6.17 @nestjs/core@7.6.17 @nestjs/platform-express@7.6.17 reflect-metadata@0.1.13 typescript@4.3.2 를 입력해줍니다. 이후, 파일내, package.json을 확인하면 아래와 같은데, 해당 내용 설명하겠습니다. 1. nestjs/common: 기본 NestJS 틀이라고 생각하시면 됩니다..
-
01_NestJS 소개> Backend/NestJS 2022. 5. 16. 10:14
작성 취지: 국비지원이 되는 학원에서 대부분 spring을 사용하는 경우가 많습니다. 저 역시 당시 국비지원 IT 학원에서 spring 및 boot를 사용하며 백엔드 프로그래밍을 배웠습니다. 물론 한국에서는 아직까지도 spring을 많이 사용하지만, 최근 프론트 및 백에서 javascript를 통해 백과 프론트 프로그래밍 하는 경우가 많아진거 같습니다. 기본적으로 NodeJS 기반으로 백엔드를 자유롭고 유연하게 설계하곤 하지만, 과도한 유연함으로 인해 많은 시간을 할애해야합니다. 이에 비해, NestJS는 NodeJS를 기반으로 둔 웹 프레임워크로 Spring의 특징과 같이 IoC, DI , AOP 와 같은 객체지향 개념과 주로 TS 를 사용하면서 SW의 품질에 대해 일정 부분 보장하고 있습니다. 아직 ..