분류 전체보기
-
Sequelize에서 날짜에 대한 타임존 처리 하기NodeJS 2020. 7. 15. 22:51
Sequelize에서 날짜에 대한 타임존 처리 하기 Sequelize에서 날짜형(date)을 저장시 -9:00 된 값으로 저장이 됩니다. EX) 6월 4일 00:00 => 6월 3일 15:00 서버의 타임존도 KST이고, DBMS의 타임존도 KST임에도 저장시 -9시간이 됩니다. 이럴때는 connection에 timezone을 설정하면 처리가 됩니다. 아래는 처리 하는 Sequelize Connection 예제입니다. const Sequelize = require("sequelize"); // Option 1: Passing parameters separately const sequelize = new Sequelize( process.env.MYSQL_DB, process.env.MYSQL_USER, ..
-
Nodejs에서 Typescript 사용해보기!NodeJS 2020. 7. 14. 22:50
Nodejs에서 Typescript 사용해보기! nodejs를 하면서 Typescript에 대하여 어려번 들었습니다. 기본적으로 nosejs에 대한 개발을 REPL 기반으로 하고 있습니다. TDD를 하기 위해서는 타입에 대한 검증등 많은 것들을 처리 해야 하는데요. 이는 Typescript와 더 잘 맞습니다. 한번 사용해보기 위해서 nodejs에서 Typescript를 사용하는 방법을 설명드리겠습니다. Typescript 사용해 보기 평소에는 npm을 사용하지만, 이번에는 yarn을 사용해보려고 합니다. 프로젝트 생성하기 먼저 프로젝트 디렉토리를 생성하고 yarn 명령어를 이용해서 초기화 합니다. $ mkdir learn-typescript $ cd learn-typescript $ yarn init -..
-
swagger-node에서 express-session 설정 & 사용하기NodeJS 2020. 7. 13. 22:49
swagger-node에서 express-session 설정 & 사용하기 기본적으로 swagger-node는 express를 기반으로 동작합니다. swagger-node는 API 용으로 이용하기 때문에 기본적으로 session을 발행하지 않습니다. 다만 필요에 따라 로그인 프로세스 구현을 하게 될 경우 다음 라이브러리를 이용해야 합니다. express-session body-parser app.js 코드에 다음과 같이 설정을 하면 세션을 이용할수 있습니다. express 4.X 부터는 body-parser를 사용하지 않고 express에서 제공되는 것을 이용합니다. 또한 app.use(express.urlencoded({ extended: true })); 을 사용하면 fileupload 처리를 이전과 ..
-
nodeJs] 첨부 파일를 다른 서버로 전달하기NodeJS 2020. 7. 11. 22:49
첨부파일을 다른 서버로 포워딩 하기 첨부 파일을 아래 그림과 같이 API server에서 받아서 다른 내부 서버에 전달을 하려고 합니다. API 서버에는 따로 첨부파일 정보를 저장하지 않고, buffer를 바로 내부 서버로 전달을 합니다. 이를 처리하는 방식으로는 2가지가 있습니다. Proxy 사용 axios와 다른 라이브러리를 이용하여 post 통신 1. Proxy 사용 필요 라이브러리 express-http-proxy 사용법 express-http-proxy를 다음과 같이 설정하면 해당 주소로 오는 요청의 통신을 설정된 서버로 포워딩 해줍니다. # 예제 const proxy = require('express-http-proxy'); const app = require('expre..
-
[Dockerfile] node:Alpine에서 puppeteer 기동 & 한글 깨짐 처리설치&설정 관련 2020. 7. 10. 22:47
node:Alpine 에서 puppeteer 기동 하고 한글 깨짐 처리 하기 GitOps 스타일의 지속적인 배포를 구축하여 자동 배포 시스템을 Git ==> jenkins ==> Kubernetes로 구축하여 사용하고 있습니다. 배포가 문제 없이 되었으나 puppeteer를 사용하는 순간 다음과 같은 오류를 만나게 되었습니다. .... Error: Failed to launch chrome! spawn /app/node_modules/puppeteer/.local-chromium/linux-609904/chrome-linux/chrome ENOENT ...원인 해결 방법으로 chrome을 설치하고 실행 위치를 강제로 잡아주면 된다. # Dockerfile 내부 # chromium 설치 RUN apk ad..
-
[Mac TIP] OS 업데이트 이후 다시 설치해야 하는 xcode 재설치 하는 법!설치&설정 관련 2020. 7. 8. 22:46
[Mac TIP] OS 업데이트 이후 다시 설치해야 하는 xcode 재설치 하는 법! Mac의 OS를 업데이트를 하고 나면 꼭 다음과 같은 오류를 만나게 됩니다. xcode CommandLineTools을 분명히 설치 했음에도 발생합니다. 이럴때는 아래의 명령어로 삭제후 재설치 하여야 합니다. $> sudo rm -rf /Library/Developer/CommandLineTools $> sudo xcode-select --installMAC OS 종특인듯...
-
[TIP ReactJS] Material-UI에서 애니메이션을 제거하여 성능 향상 처리HTML + JAVASCRIPT + CSS/ReactJS+AngularJS +VueJS 2020. 7. 8. 22:46
[TIP ReactJS] Material-UI에서 애니메이션을 제거하여 성능 향상 처리 얼마전 회사 내에서 ReactJS의 디자인 라이브러리에 대한 비교를 하였습니다. 비교 디자인 라이브러리 목록 ant design Material-ui React-Bootstrap 비교 결과 우선 React-Bootstrap의 경우 애니메이션 효과가 전혀 없기 때문에 동일한 랜더링 결과를 확인할 수 없다고 판단되었습니다. 따라서 Material-UI에서 애니메이션 효과를 제거하는 코드를 반영해보았습니다. Material-UI에서 애니메이션 효과를 제거하는 코드 각 컴포넌트마다 애니메이션 효과를 제거할 수도 있고, 전체적으로 제거 할 수 있습니다. 아래는 모든 컴포넌트에서 애니메이션 효과를 제거하는 코드입니다. impor..