Topic
-
[ NodeJS] moment-timezone을 이용해 로컬과 EC2 서버 시간 동기화Topic/Node.js | server 2023. 2. 4. 18:29
본인의 컴퓨터가 아닌 서버 컴퓨터 작업을 하시는 경우 서버가 한국에 위치하지 않아서 시간이 다르게 출력되는 경우가 발생한다. 이럴 때 필요한 것이 moment-timezone 모듈입니다. moment 모듈과 moment-timezone 모듈을 설치 후, 선언한 moment의 타임존을 원하는 지역으로 설정하면 로컬 서버와 EC2 서버 시간을 동기화시킬 수 있다. // 최상단 app.js npm install --save moment npm install --save moment-timezone var moment = require('moment'); require('moment-timezone'); moment.tz.setDefault("Asia/Seoul");
-
[ NodeJS ] req에서 클라이언트 ip 추출하는 방법Topic/Node.js | server 2023. 1. 28. 19:29
node js / example.controller.js 일부 로직 let clientIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress; if (clientIp.substr(0, 2) === '::') { clientIp = clientIp.substr(2); } 이렇게 clientIp를 정해주고 substr로 정리하면 clientIp = “999.999.999.999” 요청한 클라이언트의 ip를 받아와서 활용할 수 있다.
-
[ Redis ] 레디스 설치 및 실행 방법 (Mac | OSX)Topic/Node.js | server 2023. 1. 20. 12:16
레디스(Redis) 설치 및 실행 방법 셀러리(Celery)의 메시지 브로커인 레디스를 설치하고, 정상적으로 작동하는지 확인한 다음, 실행시키는 방법에 대해 알아보겠습니다. 레디스의 설치는 홈브루(Homebew)를 이용해 설치해야 하기 때문에, 레디스 설치에 앞서 먼저 홈브루를 설치해주겠습니다. 홈브루(Homebrew) 설치 방법 먼저, 설치를 위해 터미널 창을 열겠습니다. 그리고 홈브루 메인 홈페이지에 나와있는 대로 명령어를 복사 붙여 넣기 합니다. 홈브루-공식홈페이지-설치 명령어 홈브루 공식 홈페이지 주소: https://brew.sh/ 홈브루로 레디스 설치 맥의 터미널(terminal)을 열고 다음 명령어를 입력해서 레디스를 설치해줍니다. cmd: brew install redis 레디스 실행 레디..
-
[ NodeJS ] node-schedule에서 클러스터 2개 중복 실행 방지Topic/Node.js | server 2023. 1. 7. 11:47
cron.service.js 로직 /** * 매일 같은 시간에 해당 날짜로 DB 생성하는 로직 * @returns {Promise} */ const updateSchedule = async () => { // schedule.scheduleJob('00 08 10 * * 0-6', () => { // console.log('Cron-style Scheduling at 10:00 , Sun-Sat'); // }); let today = moment().format('YYMMDD'); let presentTime = moment().format('YY-MM-DD HH:mm'); mongoose.set('useFindAndModify', false); try { const TODAY = await Day.fi..
-
[ MongoDB ] 몽고DB modelingTopic/Database 2022. 12. 31. 09:23
몽고 DB에서의 모델링은 sql의 모델링과 다르다. 몽고 DB에서의 모델링은 2가지 방법을 가지고 있는데 Embedding 방법, Multiple-Collection 방법이 있다. 이 두 가지 방법은 일대일이나 일대다 관계냐에 따라 나뉜다. 일대일 관계 { \_id: “joe”, name: “Joe Bookreader” } { street: “123 Fake Street”, city: “Faketon”, state: “MA”, zip: “12345” } 위와 같이 document끼리 일대일 관계인 경우 { \_id: “joe”, name: “Joe bookreader”, address: { street: “0123 Fake Street”, city: “Faketon”, state: “MA”, zip: “..
-
[ MongoDB ] 몽고cloud IP 등록하기 (ft. 연결 에러)Topic/Database 2022. 12. 24. 16:47
몽고DB와 연결을 해서 잘 쓰고 있었는데 배포를 하고 DB 연결이 안 되는 문제가 발생했다. 요청할 때 end point를 바꾸니 정확하지 않다고 떠서 routes에서 분기는 잘 되는 것으로 확인했고 몽고 클라우드를 확인해 보았다. 몽고 cloud 안의 프로젝트 cluster에 들어가 Network Access 클릭 ADD IP ADDRESS를 눌러 본인의 IP 등록 Pending이 끝나고 동작시키면 다시 잘 동작한다.
-
[ JENKINS ] 젠킨스 빌드 후 콘솔 아웃풋에서 pm2: command not found 뜨는 문제Topic/AWS | JENKINS 2022. 12. 10. 16:31
git clone 후 ubuntu 상에서 app 폴더에 들어간 후 npm i -g pm2 ./start-server.sh start pm2 [0,1]에서 계속 오류나면 아래 명령 실행해보기 pm2 list pm2 delete 0 pm2 delete 1 cd example-backend/ nvm ls ./start-server.sh reload pm2 list