no image
Jest로 NestJS 코드 테스트 작성(1)
Jest?Jest는 meta(구 페이스북)에서 만들어서 React와 더불어 많은 자바스크립트 개발자들로 부터 좋은 반응을 얻고 있는 테스팅 라이브러리 이다. Jest는 라이브러리 하나만 설치하면 Test Runner와 Test Mathcher 그리고 Test Mock 프레임워크까지 제공실제 테스트 코드 작성 예시오늘은 간단한 CRUD API를 가진 서비스를 예로 들어, Jest를 활용한 테스트 코드 작성 방법을 알아보자테스트 환경 설정먼저 NestJS에서 서비스를 테스트하기 위한 기본설정을 해야한다.service를 nest generate service 명령어로 service를 생성하면 ex.service.spec.ts 파일이 같이 생기는데 이게 생성되면 기본설정은 끝난거다.describe('TouchA..
2024.11.05
no image
NestJS Dto? Pipe? Partial?
DTO?DTO : Data Transfer Object (데이터 전송 객체)단어 그대로 데이터를 오브젝트 형태로 옮기는 것 이다. 또한, 들어오는 쿼리에 대해서 유효성 검사를 실시할 수 있다. 예시먼저 User entity에는 name, email, age와 같은 필드가 있다고 가정하면 사용자가 회원가입할 때 필요한 정보는 name, email, password일 것이다. 이를 위해 CreateUserDto를 정의하고// src/user/dto/create-user.dto.tsimport { IsString, IsEmail, IsNotEmpty, MinLength } from 'class-validator';export class CreateUserDto { @IsString() @IsNotEmpty..
2024.10.31
no image
NestJS Service 란?(2)
NotFoundExceptionNotFoundException은 NestJS에서 제공하는 예외 클래스 중 하나로, 주로 찾고자 하는 리소스가 존재하지 않을 떄 일관된 에러 응답을 제공하기 위해 사용한다. import { Injectable, NotFoundException } from '@nestjs/common';import { ApiData } from './entities/touch-api.entity';@Injectable()export class TouchApiService { private data: ApiData[] = []; getAll(): ApiData[] { return this.data; } getOne(id: string): ApiData { const data ..
2024.10.30
no image
node.js 에서 ESModule(import) 사용하는법
서론node.js는 기본 모듈 시스템을  commonJS로 사용하고 있고javascript는 ES 모듈 시스템을 공식 모듈 시스템으로 사용하고 있다.ex) Common.jsconst express = require('express'); ex) ESModuleimport express from "express" 본론Node.js에서 ESModule 시스템을 사용하려면 Babel이라는 도구가 필요했는데,Node.js 13.2버전 부터는 손쉽게 ESModule을 활용할 수 있게 되었다. package.json{ //... "type": "module", //...}위 처럼 package.json을 수정하면 손쉽게 ESModule을 사용 가능하다.
2024.04.12
no image
Node.js + Express 설치 & 세팅
개발환경 셋팅 nodejs 구글에 검색하면 맨위에 있는 사이트 있는데 거기서 LTS를 OS에 맞는걸로 설치해줍시다. 나처럼 한번에 못 알아듣는 사람 있을까봐 링크첨부 (https://nodejs.org/en) 정확한 설치방법은 검색을 추천드립니다. 설치 과정에서 경로같은건 안만지는걸 추천 드립니다. 웬만하면 VSC정도는 깔려 있을태지만 없는 분 들은 요기서 받아줍시다(https://code.visualstudio.com/) 여기까지 했으면 50%정도 했다. 조금만 더 힘내보자 프로젝트 생성 원하는 경로에다 프로젝터 폴더 생성 생성한 폴더를 에디터로 열어주면 된다. 그런다음 server.js 파일 생성 터미널 열어서 npm init -y 타이핑 해주면 package.json 이란 파일이 하나 생긴다. np..
2024.03.22
no image
Node.js + Express 왜 유명할까??
Express? Express는 웹 및 모바일 애플리케이션을 위한 강력한 기능을 제공하는 웹 애플리케이션 프레임워크이다 얼마나 강력한지는 사용자수 가 증명 한다고 본다. Node.js 표준 웹서버 프레임워크로 불릴만큼 많은곳에서 사용하고 있다. 관계? Node.js는 Chrom의 V8엔진을 이용하여 JavaScript로 브라우저가 아니라 서버를 구축하고 서버에서 JavaScript가 작동되도록 해주는 런타임 환경이다. 요약하면 그냥 Express란걸 사용해서 Node.js에서 쉽게 서버를 구성할 수 있게 만든 클래스&라이브러리 집합체 라고 생각하면 된다. WHY? Express는 유명하다 그러기에 많은 개발자가 사용하고 있고 프레임워크 이기 때문에 규칙성을 강제하여 대부분 비슷한 형태의 코드로 되있을 수..
2024.03.21