
Express를 이용해 특정 시간 뒤에 예약한 작업을 수행하고 싶었다. 이럴때에는 Node Schedule을 사용하면 된다. 단 현재 PC에 시간에 따라서 작동하기 때문에 AWS 같은 서비스를 사용한다면 시간을 설정해 주어야한다. 우선 AWS EC2 리눅스에서 시간을 설정하는 방법이다. EC2 Timezone KST 변경하기 Amazon Linux Ec2를 그대로 사용할 경우, 서버 날짜가 UTC로 기본 설정되어 있어서 한국 서버를 운용할 경우 서버 날짜를 Asia/Seoul로 맞춰줄 필요가 있다. $ date 위의 명령어를 입력하면 현재 시간을 확인할 수 있다. 처음에는 이 시간이 UTC로 기본 설정 되어있을 것이다. $ sudo rm /etc/localtime $ sudo ln -s /usr/shar..
express의 로그를 저장하는 방법에 대해 설명한다. Express winston morgan 로그 관리 (velog.io) Express winston morgan 로그 관리 백엔드 개발자라면 반드시 해야하는 로그관리!! Express에서 로그를 관리하는 방법 velog.io 설치방법은 다음과 같다. $ npm install --save winston winston-daily-rotate-file morgan Nodejs 환경에서 많이 사용하는 로그 관리 모듈이다 winston : 로그 파일 및 로그 레벨 관리 모듈 winston-datily-rotate-file : 매일 날짜 별로 로그 파일 생성 및 관리 모듈 ( 시간이 지나면 자동으로 삭제 & 압축 관리 ) morgan : request 요청 로..
[NodeJS] express+mysql2+transaction 데이터 처리 (tistory.com) [NodeJS] express+mysql2+transaction 데이터 처리 맥북에 mysql 5.7 설치 후 진행했습니다. connection pool 생성 후 트랜잭션을 이용해 정상 처리시 commit을 에러시 rollback을.. 커넥션풀 생성 const mysql = require('mysql2/promise'); const { MYSQL_HOST, MYSQL_USER, MYSQL_PW minu0807.tistory.com mysql의 작업을 비동기처리를 생략하니 어느정도 작업이 동시에 진행되면 아무것도 출력이 되지 않는 문제가 발생되 mysql 처리를 비동기로 진행했다. 비동기 처리는 특별한 부..

처음에 아무것도 모르고 aws 지역을 미국으로하니 서버에 반응이 매우 느렸다. 단순한 쿼리가 0.3초 이상 걸리는 문제가 있어 알아본 결과 서버가 너무 멀어 딜레이가 생긴것이다. 따라서 aws 지역을 이동하는 방법을 설명하겠다. 주의 위 작업은 유료인것 같다. 1000원 미만의 돈이 나가지만 이돈 조차 아깝다면 그냥 새로 만드는 것을 추천한다. 주의 인스턴스를 복사하는 방법이다. 순서는 다음과 같다. 1. 이미지 생성(AMI) 2. 이미지 복사(지역 이동) 3. 복사한 이미지로 새 인스턴스 생성 4. 기존 인스턴스 삭제 1. 이미지 생성 2. 이미지 복사(지역 이동) 이 때 꼭 서울을 설정 해야한다. 이작업이 끝나고 몇분을 기다려야 진행 된다. 이제 인스턴스 생성시 ami에서 복사한 이미지를 선택하고 기..
Helmet이란 ? Express 사용시 Http 헤더 설정을 자동으로 바꾸어 웹 취약성으로부터 서버를 보호해주는 보안 모듈입니다. Helmet 설치 npm install helmet --save 다음과 같이 입력해 Helmet을 설치한다. Helmet 사용 const express = require('express'); const helmet = require('helmet'); const app = express(); app.use(helmet()); 단 helmet의 경우 설정을 하지 않을 경우 기본적인 보안만 설정한다. 추가로 사용하기 위해선 다음과 같이 적용해야 한다. app.use(helmet.noCache()); app.use(helmet.frameguard()); 또 다음과 같이 기본적으로..

express 에서 mysql을 사용하는 방법은 간단하다 그냥 mysql 모듈을 사용하면 끝이다. npm install mysql 명령어를 통해 mysql 모듈을 설치한다. 다음을 참조해 mysql을 연동해 사용하면 된다. 단 이과정에서 ER_NOT_SUPPORTED_AUTH_MODE 라는 에러를 만날 수 있는데 이때는 mysql2 모듈을 사용하자 사용법은 동일하다. npm install mysql2 명령어를 통해 설치하고 사용부분을 mysql에서 mysql2로 교체하면 끝이다

이번글은 vue와 express 연동하는 글이다. 이글을 vue에 올릴지 express 쪽에 올릴지 고민하다가 express 쪽에 올리는 것이 맞을 것같아 express 쪽에 올리겠다. [Node.js] express & vue 연동 1 (tistory.com) [Node.js] express & vue 연동 1 개발환경: Windows 10, VS Code Vue 설치 1. 프로젝트 폴더를 생성하고, 해당 폴더로 이동한다. 2. vue-cli 를 전역 설치한다. > npm i vue-cli -g 3. vue 프로젝트('frontend')를 생성한다. (with webpack) > vue init webpack fr mrw0119.tistory.com 해당 블로그를 참조 했다. 이 과정을 끝내면 fron..
백엔드 서버를 구현하는 것 중 중요한 것인 REST API를 설계하는 것이다. 우선 REST API를 구현하기 전에 REST API에 대한 설명을 쓰겠다. 설명은 다음을 참조했다. REST API 제대로 알고 사용하기 : NHN Cloud Meetup REST API 제대로 알고 사용하기 : NHN Cloud Meetup REST API 제대로 알고 사용하기 meetup.nhncloud.com 1. REST API의 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) 2. REST 의 특징 1) Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 ..
EC2에 express로 서버 생성 (tistory.com) EC2에 express로 서버 생성 EC2 생성의 경우 다음을 참고 하면된다. AWS EC2 생성 MySQL 설치 (tistory.com) AWS EC2 생성 MySQL 설치 1. EC2 생성 1- EC2 대시보드에 들어가 인스턴스 시작을 누른다. 2- 이름을 지정하고 원하는 이미지를 선 zigo0bone.tistory.com MySQL에 이어 express 프로젝트를 옮기는 설명입니다. express 뿐 아니라 다른 프로젝트도 git을 통해 AWS에 옮길 수 있습니다.