백앤드(Back-End)/Node.JS 16

[Node.js] Express TypeScript 설정

- 개요 안녕하세요. 이번 시간에는 Express에 TypeScript 설정하는 방법에 대해 알아보겠습니다. - 설정 신규 프로젝트에서 TypeScript를 적용하기 때문에 기존 진행하는 프로젝트에는 적용하지 않으시는 걸 추천드리겠습니다. typescript global 설치 #npm sudo npm install -g typescript #yarn sudo yarn global add typescript 위 명령어를 통해 어느 경로에서 typescript 명령어를 사용할 수 있습니다. 프로젝트 생성 mkdir project-name cd project-name npm init & yarn init // 프로젝트 초기 설정 tsc --init TypeScript 환경 설정 - 모듈 설치 devDepend..

[Node.js] PM2 사용법 - 서버를 무중단으로 사용하기

- 개요 안녕하세요. 이번 시간에는 PM2에 대해 알아보겠습니다. Node.js를 사용할 때 배포 단계에서 서버를 무중단으로 설정해야 하는 상황이 발생합니다. 그때 여러 모듈이 있긴 하지만, 그중에 하나인 PM2에 대해 알아보겠습니다. PM2는 Node.js 프로세스 관리자입니다. 공식 홈페이지에서도 대문짝만 하게 설명하고 있습니다. 그럼 이제 설정하는 방법에 대해 알아보겠습니다. :) - 설정 첫 번째로 해야 하는 건 pm2 모듈을 Golobal로 설치해야 합니다. - PM2 설치 sudo npm install pm2 -g sudo 권한으로 설치해야 로컬 npm 모듈에 접근할 수 있습니다. - ecosystem.config.js 파일 생성 pm2 ecosystem 위 명령어를 실행하면 ecosystem..

[Node.js] babel 설정

- 개요 안녕하세요. 이번 시간에는 babel에 대해 알아보겠습니다. babel이란 무엇일까요? 공식 홈페이지에 대문짝 만하게 말하고 있습니다. Babel은 JavaScript 컴파일러라고 말해주고 있습니다. 컴파일러...? 컴파일러는 무엇일까요?... IT용어는 끝도 없죠?... 간단하게 설명하면 우리가 작성하는 코드는 사실 기계가 알 수 있는 코드가 아닙니다. 즉, 사람과 근접한 언어를 고급언어라고 표현하며, 기계와 근접한 언어를 저급 언어라고 합니다. 컴파일러는 사람이 작성한 코드를 기계가 읽을 수 있게 변환할 때 사용합니다. 그럼 Babel은 "이런 역할을 하는구나"라고 생각하실 수 있지만 Babel은 다른 부분을 컴파일 해줍니다. 그것은 JavaScript가 발전하면서 브라우저가 언어적인 호환성..

[Node.js] Sequelize Migration 사용법

- 지난 시간 안녕하세요. 지난 시간에는 Seeders를 사용해서 테스트 데이터를 추가하고 삭제하는 법에 대해 알아봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. any-ting.tistory.com/53 [Node.js] Sequelize Seeders 사용법 - 개요 안녕하세요. 이번 시간에는 Sequelize에 Seeders라는 기술에 대해 알아보겠습니다. 우리는 어떤 기능 개발을 하다 보면 테스트 데이터가 필요할 때가 있습니다. 필요할 때마다 우리는 데이터 any-ting.tistory.com - 개요 이번 시간에는 DB 모델(테이블)을 수정하는 법에 대해 알아보겠습니다. 시퀄 라이즈에서는 마이그레이션을 지원합니다. 만약 우리가 운영 중인 서비스에 DB ..

[Node.js] Sequelize Seeders 사용법

- 개요 안녕하세요. 이번 시간에는 Sequelize에 Seeders라는 기술에 대해 알아보겠습니다. 우리는 어떤 기능 개발을 하다 보면 테스트 데이터가 필요할 때가 있습니다. 필요할 때마다 우리는 데이터 하나하나를 DB에 직접 넣는 수고를 겪을 수 있습니다. 이번 시간에 알아볼 Seeders난 기술은 이런 수고를 덜어줍니다. :) - 사용법 Sequelize-cli 명령어를 통해 초기 세팅을 해줍니다. sequelize init:seeders // seeders 폴더 생성 sequelize seed:generate --name Test // seeders 폴더 안에 새로운 Test.js 파일 생성 위 명령어를 실행하면 우리가 처음 sequelize init을 통해 만든 seeders 폴더 안에 새로운 ..

[Node.js] Sequelize CRUD 사용법

- 지난 시간 안녕하세요. 지난 시간에는 모델간에 관계를 정의하는 법에 대해 알아봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드립니다. any-ting.tistory.com/50 [Node.js] Sequelize 모델 정의 및 옵션 설정 - 지난 시간 안녕하세요. 지난 시간에는 Sequelize를 설치하고 DB와 간단한 Users Table(모델)을 만들어서 확인해 봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 진행하고 오시는 걸 추천드리겠 any-ting.tistory.com - 개요 이번 시간에는 Sequelize에서 CRUD에 대해 알아보겠습니다, 기본적으로 시퀄라이즈를 사용하시는 분들은 기본적으로 SQL 언어에 대한 개념이 있다고 생각을 하고 진행하겠습니다..

[Node.js] Sequelize 관계성 정의 테이블간에 관계정의

- 지난 시간 안녕하세요. 지난 시간에는 모델을 정의하고 생성하는 부분에 대해 알아봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. any-ting.tistory.com/50 [Node.js] Sequelize 모델 정의 및 옵션 설정 - 지난 시간 안녕하세요. 지난 시간에는 Sequelize를 설치하고 DB와 간단한 Users Table(모델)을 만들어서 확인해 봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 진행하고 오시는 걸 추천드리겠 any-ting.tistory.com - 개요 이번 시간에는 시퀄 라이즈에서 모델 간에 관계를 맺는 방법에 대해 알아보겠습니다. 보통 관계를 맺는 방식은 1 : 1(일 대 일), 1 : M (일 대 다), N : M (다..

[Node.js] Sequelize 모델 정의 및 옵션 설정

- 지난 시간 안녕하세요. 지난 시간에는 Sequelize를 설치하고 DB와 간단한 Users Table(모델)을 만들어서 확인해 봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 진행하고 오시는 걸 추천드리겠습니다. any-ting.tistory.com/49 [Node.js] Sequelize 개념 및 설치 - 개요 안녕하세요. 이번 시간에는 시퀄 라이즈(Sequelize)에 대해 알아보겠습니다. 시퀄 라이즈(Sequelize)란 무엇일까요? 시퀄 라이즈는 DB 작업을 쉽게 할 수 있도록 도와주는 ORM 라이브러리입니다. any-ting.tistory.com - 개요 이번 시간에는 조금 더 세부적으로 모델을 만들어 보는 시간을 가져보겠습니다. 모델을 정의(생성)하는 방법은 sequelize.difi..

[Node.js] Sequelize 개념 및 설치

- 개요 안녕하세요. 이번 시간에는 시퀄 라이즈(Sequelize)에 대해 알아보겠습니다. 시퀄 라이즈(Sequelize)란 무엇일까요? 시퀄 라이즈는 DB 작업을 쉽게 할 수 있도록 도와주는 ORM 라이브러리입니다. ORM이란 무엇일까요? ORM(Object-Relational Mapping)에 약자입니다. 즉, ORM은 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구입니다. - 설치 sequelize와 sequelize-cli 그리고 mysql2를 설치해주세요. (저는 MySQL 데이터베이스에서 사용을 해봤습니다.) npm install sequelize sequelize-cli mysql2 sequelize-cli는 시퀄라이즈 명령어를 실행하기 위한 패키지 라이브러리입니다. Globa..

[Node.js] 디렉토리 & 파일 쓰기, 읽기, 삭제, 존재 여부

- 개요 안녕하세요. 이번 시간에는 Node.js 내장 모듈인 fs(File System)를 활용해보는 시간은 가져보도록 하겠습니다. 코드와 주석을 보고 충분히 알 수 있으니 필요한 부분을 사용하시면 될 것 같습니다. - 사용법 Directory 디렉토리 체크 및 생성 const fs = require('fs'); //Directory 존재 여부 체크 const directory = fs.existsSync("./sample")//디렉토리 경로 입력 //Directory가 존재 한다면 true 없다면 false console.log("Boolan : ", directory); //Directory 생성 fs.mkdirSync("생성 디렉토리 경로") //보통 Directory가 없다면 새로 만들어야 한다..