
준비 - Node.js 및 TypeScript가 설치되어 있어야 한다. 노드 설치 - 공식홈페이지 타입 스크립트 설치 - TypeScript 기초 다지기 참고 nest.js 설치 cmd에서 다운받기 npm i -g @nestjs/cli nest프로젝트 생성 프로젝트를 생성하고자 하는 위치에 명령어 입력 nest new nest1 // nest로 nest1이라는 이름의 프로젝트를 새로 생성하겠다 ? Which package manager would you ❤️ to use? (Use arrow keys) ❯ npm yarn pnpm 위 명령어를 입력하면 어떤 패키지 매니저를 선택할것인지 나오는데 npm과 가장 호환이 잘되므로 npm선택필수. 폴더 구조 📦nest1 ┣ 📂node_modules ┣ 📂src ..
enum • enum은 열거형 데이터 타입 • 다양한 상수를 보다 이해하기 쉬운 문자열 이름으로 접근하고 사용 • enum안에 있는 각요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0부터 1씩 증가 • enum안에 있는 요소에는 number또는 string타입의 값만 할당 가능 enum UserRole { // string타입의 값을 할당 ADMIN = "ADMIN", EDITOR = "EDITOR", USER = "USER", } enum UserLevel { // 값을 정해주지 않아 기본값인 0부터 1씩증가 NOT_OPERATOR, // 0 OPERATOR // 1 } function checkPermission(userRole: UserRole, userLevel: UserLevel): void..

1. 노드를 설치한다. 2. cmd에서 타입스크립트를 글로벌로 설치해준 뒤 확인한다. npm install typescript -g tsc명령어 설명 tsc --init - tsconfig.json이 생성되는 명령어 tsc index.ts - index.ts를 컴파일함. - .ts는 TypeScript파일의 확장자 tsc src/*.ts - src 디렉토리 안에 있는 모든 TypeScript파일을 컴파일함. tsc index.js --declaration --emitDeclarationOnly - @types 패키지를 위한 .d.ts파일을 생성하는 명령어 - TypeScript로 작성된 모듈이 아닌 Js로 작성된 모듈에 타입선언을 제공할 때 유용 더 많은 명령어 3. node.js프로젝트 생성 npm i..

노드메일러란? ■ Node.js 애플리케이션을 위한 모듈로, 노드환경에서 쉽게 이메일을 보낼수 있게 해준다. ■ 대부분의 Node.js사용자가 기본적으로 사용하는 솔루션 ■ EmailEngine에 등록된 이메일 계정을 사용하여 이메일을 수신하고 이메일을 보낼 수 있다. 노드메일러 공식 홈페이지 일단 네이버로 인증메일을 보낼것이기 때문에 네이버의 SMTP 서버를 허용해주어야 한다. SMPT서버 허용하기 SMTP서버 환결 설정 하기 // config.js import nodemailer from 'nodemailer'; import dotenv from 'dotenv'; dotenv.config(); // 전송객체 생성, 옵션객체를 전달하여 전송객체를 설정 export const smtpTransport =..

테스트 코드란? 개발한 코드가 의도한대로 동작하는지 작성하는 코드 작성한 코드에 문제가 없는지 테스트하기 위해 작성하는 코드 일곱테스트원칙 더보기 ■ 테스팅은 결함의 존재를 보여주는 것이다. ■ 완벽한 테스트는 불가능하다. ■ 테스트 구성은 가능한 빠른 시기에 시작한다. ■ 결함은 군집되어 있다. ■ 살충제 역설(Pesticide Paradox) - 비슷한 테스트가 반복되면 새로운 결함을 발견할 수 없다. ■ 테스팅은 정황에 의존적이다. ■ 오류 부재의 오해 - 사용되지 않는 시스템이나 사용자의 기대에 부응하지 않는 기능의 결함을 찾고 수정하는 것은 의미가 없다. 테스트 코드의 종류 - 단위 테스트 - 통합 테스트 - E2E 테스트 - 시스템 테스트 - 인수 테스트 jest를 사용하는 이유? 테스트 코드..

타입오알엠은 타입스크립트에 보통 사용을 한다. 타입오알엠은 이름과 타입을 지정해주어 데이터베이스와 연동하는것인데 자바스크립트 즉 NODE환경에서도 사용할수 있도록 해본다. 검색법 : typeorm javascript 적용하기 환경 : yarn 패키지와 ES6모듈을 사용합니다. 1. 모듈 설치 // TypeORM과 사용할 RDB설치 yarn add typeorm yarn add mysql 2. 폴더 설정 위 검색어로 검색을 했을 때 나오는 페이지의 환경을 따라갑니다. 3. 파일 설정 // index.js import typeorm from "typeorm"; import dotenv from "dotenv"; import entityResume from "./entity/resume.entity.js"; ..

IoC(Inversion of Control) ■ Inversion of Control의 뜻 그 대로 제어의 역전이다. ■ 컨트롤의 제어권이 사용자(개발자)가 아니라 프레임워크에 있어 프레임워크가 필요에 따라 사용자의 코드를 호출 한다. ■ IoC원칙을 사용하면 구체적인 구현보다는 인터페이스나 추상 클래스에 의존하게 된다. 즉, 서비스가 변경되어도 관계없이 사용가능. ■ 코드의 결합도가 감소하고, 다른 구현체로 쉽게 교체할 수 있다. import { prisma } from '../utils/prisma/index.js'; import { UsersController } from '../controllers/users.controller.js'; import { UsersServices } from '...
객체지향 프로그래밍 설계 5원칙 SOLID란? SOLID - 객체지향 프로그래밍 및 설계의 다섯가지 기본 원칙의 맨 앞단어를 하나씩 가져와 만든것 입니다. - 이 원칙을 따르면 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 구축할 수 있습니다. - 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침입니다. SOLID종류 S | SRP | Single Responsibility Principle | 단일 책임 원칙 ■ 한 클래스는 하나의 책임을 가져야 한다, 즉 클래스나 모듈을 변경할 이유는 단 하나 뿐이여야 한다. ■ 소프트웨어의 유지보수성과 확장성을 향상시키는 데 도움이 된다. ■ 각 클래..