node.js를 서버로서 백엔드에서 사용하면 고민이 생긴다. 서비스를 제공하고 있는 도중, 갑자기 서버가 중지된다면? node.js는 싱글 스레드 기반인데, 다중 스레딩을 사용하고 싶다면? 이런 고민들을 PM2를 이용해 해결할 수 있다. PM2 node.js 어플리케이션을 쉽게 관리할 수 있게 해주는 process Manager이다. node.js 어플을 cluster mode로 실행시키거나, 메모리가 넘친다거나, 오류로 인해 프로세스가 종료되는 등의 상황에 직면했을 때, PM2를 사용하면 간단한 설정으로 쉽게 해결할 수 있다. pm2 설치 npm install -g pm2 글로벌로 pm2를 설치해준다. pm2 설정파일 만들기 pm2 ecosystem pm2의 옵션 명령어들을 파일에서 모아 관리하는 것이..
NodeJS

실시간 자동화 프로그램을 하던 중, 어떻게 하면 서버가 계속 실행되도록 만들까? 하는 의문점에 직접 검색도 해보고 친구들에게 물어도 봤다. 실시간 자동화 프로그램이라는 것은, 사실 실시간으로 서버가 계속 구동된다기보다는, 매일매일 무언가를 업데이트 해주기 위해서 특정한 시간에 같은 일을 실행시키는 구도로 이른바 '배치' 라는 기능을 통해 프로그램을 만든다. node.js에서는 SQL문을 사용해 배치 기능을 사용하던 다른 언어와 달리, 라이브러리를 이용하여 편하게 프로그래밍이 가능하도록 도와준다. node.js에서 배치기능을 사용할 수 있는 라이브러리는 크게 3가지이다. agenda node-cron node-schedule 이 중, node-cron과 node-schedule 가 node.js의 대표적인..
fs module은 별도의 설치를 하지 않아도, node.js 상에서 쓸 수 있는 모듈이다. node와 함께 번들링 되어 있는 모듈로, require('') 방식으로 사용할 수 있다. fs 말고 비슷한 모듈로는 http, url, path 등이 있다. fs module 파일처리와 관련된 전반적인 작업을 하는 모듈을 말한다. import fs from "fs" 이런 방식으로 모듈을 파일 최상단에 import 해준다. (물론 const fs = require("fs") 도 된다) 동기와 비동기 형식 Sync라는 이름이 붙어있으면, 동기적 방식이다. 동기적인 방식을 사용하면, 파일을 읽으면서 다른 작업을 동시에 할 수가 없다. 파일처리의 대표적인 동기적 예라면, 서버 시작 시 설정 파일을 읽는다던가 하는 작업..