본문 바로가기

Nodejs

(15)
[Nodejs] phantomjs 사용하여 pdf 파일 추출하기 소스코드 const phantom = require('phantom'); const fs = require('fs'); const fileUtils = new FileUtils(); const uploadFolder = `${process.env.UPLOAD_FOLDER_SMTP_ATTACH}${orderInfo.orderNo}`; const flag = await fileUtils.mkdir(uploadFolder); const attachFile = orderInfo.orderNo + '.pdf'; const instance = await phantom.create(); const page = await instance.createPage(); const file = 'invoicePaid.html'..
[Nodejs] package-lock.json 의존 설치 npm ci 명령어 npm install을 할 때 lock 파일에 의존하여 설치하도록 해야 협업시 버전 관련 문제를 줄일 수 있다. package-lock.json 또는 yarn.lock 파일이 무조건 존재해야하며 pakage.json 과 lock 파일의 dependencies가 맞아야한다. lock파일에 의존하여 설치를 하고싶을 때 아래의 명령어를 실행한다. node_modules을 지우고 실행한다. npm npm ci yarn yarn install --immutable --immutable-cache --check-cache * install 오류 발생시 더보기 error https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz: Integrity check fail..
Sequelize migration Manual | Sequelize Migrations Just like you use version control systems such as Git to manage changes in your source code, you can use migrations to keep track of changes to the database. With migrations you can transfer your existing database into another state and vice ver sequelize.org 0. npx 명령어 실행 시 Unable to resolve sequelize package ~.라고 뜬다면 package.json이 있는 경로에서 실행 할 것. 1. 모델 정의 또는 수정 np..
Ubuntu Nodejs와 NVM 설치 및 설정 1. Nodejs 설치 apt 패키지 매니저를 사용해 우분투 패키지 저장소에 기본으로 들어가 있는 Node.js 를 다운받는다. $ sudo apt update 노드js 다운로드 $ sudo apt install nodejs 설치가 완료되었는지 확인 $ nodejs -v 노드 패키지 매니저 npm 다운로드 $ sudo apt install npm 2. NVM 설치 및 Node 버전 변경 nvm 다운로드 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash 설치확인. 명령어 실행 시 nvm 커맨드를 찾을 수 없다는 에러 메시지가 뜨면 bash 파일을 확인한다. nvm * 명령어 실행이 안되는 경우 확인. 설정파일은..
Nodejs Express + JWT 토큰 발행 및 토큰 검증 프론트와 백엔드의 서버 분리로 인해 옛날옛날 처럼 세션방식으로 시스템에서 인증할 수 없다. 이를 해결 하기 위한 방법들 중 대표적인(제 생각) 방법이 토큰 인증 방식인 것 같다. 프로세스는 보통 로그인 뷰 -> 로그인 요청 -> 토큰발행 -> 토큰 저장(쿠키 or 브라우저 스토리지) -> 페이지 이동 및 API 요청 시 토큰 체크 정도가 될 것 같다. 이 때, 서버쪽 작업 토큰발행, 토큰 체크를 간단하게 알아보려고 한다. 일단 먼저 입맛에 맞게 Nodejs Express App 을 만든다. 기타 설정을 마쳤다면, 토큰 작업 테스트를 위한 패키지를 설치한다. npm install jsonwebtoken 본인이 원하는 URI 를 정의한다. 필자 같은 경우는 세 종류로 정의하였다. 'use strict'; c..
Sequelize Native Query - sequelize.query() 사용법 통계 등 복잡한 쿼리는 시퀄라이즈를 사용하면 더 복잡해져서 native 쿼리를 사용하였다. Model.sequelize.query( query, { type: QueryTypes.SELECT } ); 아래 예제는 연도별 사용자 접속 통계 쿼리이다. Postgresql을 사용중이라면 generate_series를 사용해 날짜/시간을 간단하게 생성할 수 있다. const sequelize = require("sequelize"); const { QueryTypes, Op } = require("sequelize"); const { LogMng } = require('../database/models'); function findAllCompany(params) { let search = {}; if (par..
사용자 접속 IP 가져오기 request-ip A small node.js module to retrieve the request's IP address www.npmjs.com 1. npm 설치 npm install request-ip --save 2. app.js 설정 const requestIp = require('request-ip'); app.use(requestIp.mw()); 3. 사용방법 create: async (req, res) => { const ip = req.clientIp; console.log(ip); } * 초기 설정은 IPv6 방식이므로 express서버에서 IPv4로 설정해주어야 한다. listen 할 때 파라미터 값 추가. app.listen(port, '0.0.0.0')
Window NVM 설치 및 설정 개발환경 셋팅을 위해 NVM 설치를 하다 충돌 발생. 원인은 이전에 설치한 nodejs 때문이었다. nvm 설치를 위해서는 기존에 설치된 nodejs를 먼저 삭제하고 nvm을 설치해야 함. 참고로 나는 nodejs v14.16.0 을 사용 중이었고 생각없이 v16.13.1 버전을 설치하여 node 버전이 덮어씌어졌음. NVM 설치를 위해 순차적으로 실행하도록 하자. 1. Node.js 제거 - Windows는 제거가 아주간단한데 프로그램 제거 또는 변경에서 Node.js를 삭제해주면 됨. - 삭제 후 명령어가 실행되는지 확인. 2. NVM 설치 - 하단 링크에서 nvm-setup.zip 파일을 다운받아 nvm을 설치한다. GitHub - coreybutler/nvm-windows: A node.js ve..
nodejs sequelize (+postgis) geojson by extent 2021.06.15 - [Nodejs/Sequelize] - Nodejs Sequelize + gdal 을 이용한 shp 업로드 Nodejs Sequelize + gdal 을 이용한 shp 업로드 보통 shp을 업로드할 때 postgresql + postgis 를 사용하고 있는 경우라면 가장 많이 사용하는 업로드 툴은 자체적으로 제공하는 'Postgis 2.0 Shapefile and DBF Loader Exporter' 라는 툴 일 것이다. 이 툴은 DB.. songjang.tistory.com 전 포스팅에서 gdal 을 이용해 shp 파일을 공간테이블에 저장했다. 이제 공간테이블을 조회하여 벡터데이터를 리턴받는WFS (Web Feature Service) 가 제공되어야 할 것이다. WFS 는 보통 O..
Nodejs Sequelize + gdal 을 이용한 shp 업로드 보통 shp을 업로드할 때 postgresql + postgis 를 사용하고 있는 경우라면 가장 많이 사용하는 업로드 툴은 자체적으로 제공하는 'Postgis 2.0 Shapefile and DBF Loader Exporter' 라는 툴 일 것이다. 이 툴은 DBMS에 직접적으로 Connection을 해야하기때문에 실무에서 사용하기 곤란한 상황을 대비하여 SHP 을 업로드하는 다른 방법을 알아보려고 한다. 먼저 관리하고자 하는 샘플 SHP파일을 다운로드 한다. 아래 시도/시군구 경계를 다운로드 한다. 행정경계(시도) 행정경계(시군구) 출처 : http://www.gisdeveloper.co.kr/?p=2332 대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer www.gisdevelop..