NodeJS
-
pm2 cluster mode 특징NodeJS 2019. 2. 6. 16:29
pm2 cluster mode에서는 session이나 websocket이 동작 하지 않는다.pm2에서 제공하는 클러스터 모드는 코드의 수정 없이 CPU를 확장할 수 있다. Node.js 클러스터 모듈을 사용하여 확장 된 응용 프로그램의 하위 프로세스가 자동으로 서버 포트를 공유 하도록 하는 기능이다.사용법은 다음과 같다.# -i 옵션이 cluster 모드이며, max는 사용할 CPU 수를 입력 하면 된다. # 0을 입력하면, 자동으로 모든 CPU 숫자만큼 클러스터가 생성된다. pm2 start app.js -i max 또는 js/yaml/json 파일을 통해서 설정을 할 수 있다.{ "apps" : [{ "script" : "api.js", "instances" : "max", "exec_mode" : ..
-
Vuejs를 express로 배포 후 vuejs route 동작 처리NodeJS 2019. 2. 6. 16:28
Vuejs 배포시 route 동작 처리vuejs에서 express로 배포하는 방식을 기존에 설명 했었다.문제는 vuejs route에 주소를 직접 치고 들어가면 404 오류가 발생하였다.express쪽에서 기본적인 요청은 vuejs의 route를 바라보게 하고 싶어서 검색을 해보니, Routes not working in production라는 글을 확인 하였다.처리 방법은 express에 마지막 부분에 다음 코드를 추가 하면 된다. index.html은 vuejs를 배포한 위치이다.app.get('*', (req, res) => { res.sendFile(`${__dirname}/public/index.html`); }); vuejs도 잼나네!참고 자료Routes not working in produc..
-
How To Use Winston to Log Node.js ApplicationsNodeJS 2019. 2. 6. 16:28
How To Use Winston to Log Node.js Applications간단하게 설정만 작성하는 것으로 원본자료 How To Use Winston to Log Node.js Applications을 보세요.var appRoot = require('app-root-path'); var winston = require('winston'); // define the custom settings for each transport (file, console) var options = { file: { level: 'info', filename: `${appRoot}/logs/app.log`, handleExceptions: true, json: true, maxsize: 5242880, // 5MB m..
-
이번에 진행한 refactoring 코드 일부 공유NodeJS 2019. 2. 6. 16:27
이번에 함께 일하시는 분의 코드를 리펙토링하며 의견을 나누었다.이번에 함께 일하는 분의 코드 리펙토링을 진행 하였다.유지보수 가능한 코딩의 기술 자바편의 내용을 기준으로 리펙토링을 하였다.하나의 메소드를 15라인을 넘지 않도록 하고 결과를 확인하니, 너무 세분화 하여 쪼갠 느낌이다.하나의 메소드는 하나의 역활만 하도록 하고, 중복된 코드가 없도로 했다.const __DEFAULT_SELECTBOX_STR = "선택해주세요"; const __ORDER_SELECT_BOX = ['cls-l', 'cls-m', 'cls-s', 'cls-d']; const removeAllOptions = (isRemove, target) => { if(isRemove){ target.find('option').remove()..
-
ORA-21561 OID generation failedNodeJS 2019. 2. 6. 16:26
ORA-21561 OID generation failed어제까지 문제가 없었는데 갑지가 node에서 Oracle 연결시 다음과 같이 오류가 발생 하였다.> node ./bin/www ORA-21561: OID generation failed 검색을 해보니 호스트네임의 문제라고 한다.다음과 같이 해주면 처리가 된다.echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts 그러면 /etc/hosts에 한줄이 추가 되고 재기동 하면 접속에 성공했다는 메시지를 확인할 수 있다.> node ./bin/www Connection was successful! 하루에 하나 이상은 배우는 구나!참고자료Error : ORA-21561 OID generation failed #47
-
node.js 에서 다른 버젼으로 변경 하기NodeJS 2019. 2. 6. 16:25
node.js에서 버젼 변경 하기오늘 특정 프로젝트를 받아서 빌드를 진행하는데 오류가 발생하였다.$> npm install .... 모듈 오류 발생 ... 원인은 node 버젼이 내 PC에 설치된 것은 11.x 이고 해당 모듈은 8.x 에서만 동작하였다.버젼 변경을 어찌 해야하는지 고민하는 차에 함께 일하시는 분이 n 이라는 모듈을 이용하면 된다고 알려 주셨다.# 설치 $>sudo npm install -g n # Node 버전 중 설치된 버전 확인 $> n ls # Node 버전 설치 $> n # ex> n 8.13 # 최신 LTS Node 버전 설치 $> n latest # 제거할 Node 설정 $ n rm #ex> n rm 8.9.1 8.9.2 # 현재 버전을 제외한 모든 버전 제거 $ n prun..
-
node.js에서 global로 선언하는 2가지 방법NodeJS 2019. 2. 6. 16:23
node.js에서 global로 선언하는 2가지 방법node.js를 이용하여 개발을 진항하는 중, static 변수 또는 전체 전역 클래스로 사용해야 하는 경우가 발생하였다.node.js 사용한지 3주 밖에 안되어서 여러 가지를 검색 하였으나, 어떤 방식이 가장 좋은지 몰라 옆에서 일하시는 분에게 여쭤보았다.두가지 방법을 알려주셨는데 다음과 같다.global을 이용하는 방식이 방법은 가장 간단하다 다음과 같이 어디서든 global에 추가를 해주면 된다.//app.js // global.변수명 = 사용하려는 변수명 let running = false; global.running = running; //test.js //이후 다른 js에서 다음과 같이 사용 하면된다. console.log(running); ..