npm 8

node.js oauth2 server 만들기

스프링 프로젝트에서는 자주 oauth2를 사용했었는데 node.js는 해본적이 없어서 공부할 겸 node-oauth2-server 라이브러리를 사용하여 진행해보고 있다. 확실히 힘든 부분이 있고 설명이 어려워서 외국에서 예로 인터넷에 올려논 부분을 실제로 돌려보면서 수정하여 진행하고 있다. 설명과 소스는 git repository에 계속 수정해서 올릴 예정이다.현재는 Authorization_code와 password 방식만 올려놓았다. implict와 refresh_token 하는 기능도 수정해서 올려야겠다. Git Repository 주소https://github.com/weduls/node-aouth2-server-example

web/node.js 2018.11.25 (1)

maxmind의 geoLite2를 이용해서 접속한 사용자의 지역정보 가져오기

서비스를 운영하다보면 사용자 아이피에 따라 장소에 맞는 상품을 추천해줘야 할 때가 있다.그럴때 사용하는게 geoIp인데 이런 서비스를 제공하는 회사는 대표적으로 maxmind, db-ip, ipstack, ip2location 등이 존재한다. 그 중에 무료로 사용하기에 geoLite2가 좋다. geoLite2는 62%가 일치하고 geoIp2는 66% 일치한 정보를 제공한다. 그래서 무료로 사용할 수 있는 geoLite2를 사용해보자. 데이터베이스 다운로드먼저 지역정보를 보관하고 있는 데이터베이스를 다운받아야 한다. 데이터베이스는 csv와 mmDB를 제공한다. 링크 : https://dev.maxmind.com/geoip/geoip2/geolite2/ mmDB에서 데이터를 확인하기 어렵기 때문에 csv 파..

web/node.js 2018.10.16

node.js로 구글 스프레드시트에 접속하여 데이터 가져오기

자신의 구글 드라이브에 있는 엑셀 (스프레드시트)에 접속하여 데이터를 가져오는 방법을 알아보자. 우선 google-spreadsheet에 접근할 수 있는 Js를 다운로드 받자.1npm i google-spreadsheet --savecshttps://www.npmjs.com/package/google-spreadsheet 구글 스프레드 시트 만들기 구글 드라이브에 스프레드 시트를 만들자. 저 주소 URL에 블록처리되어있는 부분이 바로 키로 사용된다 구글 스프레드 시트 접속권한 사용자 생성 그리고 이 스프레드 시트에 접속할 수 있는 계정을 만들어야한다. https://console.developers.google.com 이곳에 접속하여 사용자를 만들고 키를 생성한다. (단순하게 들어가서 확인해보면 무리없이..

web/node.js 2018.10.05

Node js 테스트 프레임워크 Mocha

회사에서 node.js를 이용해서 백엔트 프로젝트에 참여하게 되어서 새롭게 node.js를 공부하게 되었다. 그러면서 node.js에서 새롭게 사용할 테스트 프레임워크를 찾던중 mocha라는 것을 발견했다. Mocha - node.js에서 사용하는 테스트 프레임워크로써 suite를 만들어서 unit 테스트를 가능하도록 제공해주는 프레임워크이다. 설치방법 mocha는 Node.js 6.x 버전 이상이부터 지원한다.123npm i mocha -g npm i --save-dev mochacspackage.json에 해당 스크립트를 추가해준다.123"script" : { "test" : "mocha"}cs 사용방법root 경로에 test directory를 생성하고 javascript를 추가한다. 그리고 des..

web/node.js 2018.10.04

하이브리드 앱 소개 및 아이오닉 소개, 설치 방법

하이브리드 앱-> 웹 기술을 통해 앱을 개발하여 다양한 OS에 지원되는 앱을 칭한다 하이브리드 앱과 네이티브, 웹앱 비교네이티브 앱장점 : 빠르다, 네이티브 API 사용의 편의성단점 : 언어의 제약, 플랫폼 한정적 웹앱장점: 유지보수의 편리성, 크로스 플랫폼단점 : 네이티브 액세스 못함 하이브리드 앱장점 : 웹개발과 동일하여 개발의 연속성, 크로스 플랫폼단점 : 성능이 느리다. (저사양 기기에서 호환안됨, 최저 OS 버전 필요) 아이오닉 소개 아니오닉-> 웹 사이트와 웹 애플리케이션 개발에 사용했던 html, css, javaScript 등을 그대로 사용할 수 있게 해주는 도구와 유틸리티의 모음-> AngularJS를 사용하여 웹 애플리케이션을 지원-> 사용자 인터페이스와 UX를 지원-> CLI 환경에서..

npm 설치시 ENOSELF 오류 해결 방법

프로젝트 진행을 위해 필요한 라이브러리 설치를 위해 npm 명령어를 사용했는데 다음과 같은 오류가 발생하였다. [명령어] jeongcheol-ui-MacBook-Pro:gridstack jeongcheol$ npm install gridstack --save [에러내용] npm ERR! code ENOSELF npm ERR! Refusing to install package with name "gridstack" under a package npm ERR! also called "gridstack". Did you name your project the same npm ERR! as the dependency you're installing? npm ERR! npm ERR! For more informa..

web/node.js 2018.05.27

npm 특정버전 설치하기

NPM을 사용하여 특정 모듈을 설치할 때 다음과 같이한다. npm install webpack 하지만 이럴경우 가장 최신버전이 설치 되기 때문에, 해당 모듈에 dependency를 가지고 있는 다른 모듈에서 에러가 발생될 수 있다. 이를 해결하기 위해서는 그 프로젝트에서 사용하는 특정 버전을 설치해야한다. 특정버전의 모듈을 설치하기 위한 명령어는 다음과 같다. [명령어] 1npm install -g npm@4.6.1cs

web/node.js 2018.05.27

NPM 사용시 의존 모듈 관리 package.json

NPM 사용시 모듈들에 대한 버전관리가 필요하게 되는데 이때 사용하게 되는 것이 package.json이다. 12345678910111213141516171819// package.json 파일 형태 { "name": "application-name" , "version": "0.0.1" , "private": true , "dependencies": { "express": "2.3.11" , "jade": ">= 0.0.1" }}cs 생성 방법cmd 창에서 "npm init"이라고 명령어 입력시 해당 폴더에 필요로 하는 package.json파일을 생성해준다. 모듈 기입필요로 하는 모듈을 모두 설치 시 마다 일일히 기입하게 될 경우 굉장히 귀찮은 작업이 될 것이다. 이것을 조금더 쉽게 관리하게 위해서 ..

web/node.js 2018.05.27