본문: https://coolaj86.com/articles/how-to-create-a-debian-installer.htmlWatch on YouTube: youtu.be/FY7Cx6XnpZ4 The Installer Trifecta SeriesHelloNode (example app)How to create an OSX (pkg) installer (for NodeJS apps)How to create an Ubuntu (deb) installer (for NodeJS apps)How to create a Windows (InnoSetup exe) installer (for NodeJS apps)TLDRIf you're the intelligent and impatient type:Skip down..
1. Web Server - 정의: 웹서버는 클라이언트/서버 모델과 웹의 HTTP를 사용하여 웹 페이지가 들어 있는 파일을 사용자들에게 제공하는 프로그램이다. 웹 서버는정적인 데이터 위주로 처리. WEB 서버는 HTML 문서같은 정적 컨텐츠를 처리하는 것이고 (HTTP 프로토콜을 통해 읽힐 수 있는 문서)예) Apache , IIS , NginX 등 2. WAS (Web Application )- 정의: 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로서, Server 단에서 Application을 동작할 수 있도록 지원한다. 웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같..
node.js, express를 사용하다가 local host에서 하던 작업을 서버에 올리니css를 가져오지 못하는 문제가 발생했다.다시 localhost에서 돌려도 너무나 잘됨이유를 찾아보니 nginx에서 static files 처리가 되지 않아서 중간에 막히는 현상이 발생 따라서 nginx 설정을 변경해주면된다.아래 코드에서 굵게 표시된 부분 upstream nodejs { server localhost:3000; } server { listen 8080; server_name localhost; root ~/workspace/test/app; location / { try_files $uri $uri/ @nodejs; } location @nodejs { proxy_redirect off; prox..
Mac adb 위치/Users/USERNAME/Library/Android/sdk/platform-tools ~]530$ cd /Users/USERNAME/Library/Android/sdk/platform-tools/--------------------------------------------------------------------------------[USERNAME@USERNAME-MacBook-Pro:~/Library/Android/sdk/platform-tools]531$ lsNOTICE.txt adb api dmtracedump etc1tool fastboot hprof-conv lib package.xml restarting source.properties sqlite3 systrace..
/** * NOW 1483670765299 (milliseconds) * @returns {number} */ function getNow(){ return new Date().getTime(); } /** * UTC 2017-01-06T02:46:05.299Z * @returns {string} */ function getUTCString(){ return new Date().toISOString(); } /** * LOCAL 1/6/2017, 11:46:05 AM * @returns {string} */ function getLocalTimeString(){ var now = new Date(); return now.toLocaleString(); }
원문: https://jwt.io/introduction/JWT란? JWT는 Json 객체를 이용하여 서로 다른편으로 정보를 안전하게 전달하기 위하여 자급 자족 방식으로 간결하게 정의하는 공개된 표준이다. 이러한 정보는 유효하고 신뢰될 수 있다. 왜냐하면 디지털 사인화 되었기때문이다. JWT들은 (HMAC 알고리즘을 사용하는) 암호를 사용하거나 RSA를 사용하는 퍼블릭/프라이빗 키 쌍을 이용하여 사인화 되었다. Compact 간결한 : 사이즈가 작다. JWTs은 URL이나 Post의 파라미터, 또는 HTTP 헤더 안에 포함되어 전송될 수 있다. 추가적으로 작다는것은 빠르게 전달된다는 의미가 된다. Self-contained: Payload는 사용자에 대해 모든 필수 정보를 포함하고 있어 데이터베이스 쿼리..
사용자 권한 체크를 위해서 모든 요청에 대해서 interceptor를 구현해야 한다. next() 함수를 호출하면 request를 router에게 넘겨준다. router로 보내지 않고 바로 응답을 보내려면 response로 응답을 작성해 넘기면 응답이 전송된다. (예-권한이 없다는 에러 처리) app.use(function(req, res, next) { // Interceptor next(); }); var router = express.Router(); router.use('/', index); router.use('/users', users); app.use('/v1', router); 그리고 요청에 따른 개별 interceptor를 구현하는 방법은 다음과 같다. router에서 함수를 작성할때 중..
참고 http://stackoverflow.com/a/30545872 나의 경우 Express, Postgresql 사용하여 살짝 변경함. 프로젝트 Root dir에 db.js 파일을 생성한다.나의 경우 postgresql을 사용하였기 때문에 bluebird와 pdb-pomise를 require했음. var promise = require('bluebird'); var pgp = require('pg-promise')({promiseLib: promise}); var conString = "postgres://USER:PASS@HOST/DBNAME"; var db = pgp(conString); module.exports = db; 위와 같이 하면 DB 연결은 끝DB를 사용할 파일에서 require('/..
서버의 버전 관리를 위해서 v1, v2를 url에 시작에 넣고 싶을때 사용일반적으로 express를 사용하면 다음과 같이 설정을 진행 한다. app.use('/', index); app.use('/users', users);Express 4를 사용할경우 express에서 router를 받아서 router를 사용하는 것으로 변경하면 간단하게 url에 prefix를 붙일수 있다.var router = express.Router(); router.use('/', index); router.use('/users', users); app.use('/api/v1', router);이렇게 변경 할 경우 http://localhost:3000/api/v1/ 이 index가 된다. 참고: http://stackoverf..
기본적으로 node.js에서는 환경변수 읽고 쓰기.읽기: process.env.ENV_VARIABLE쓰기 : process.env.ENV_VARIABLE = 'foo'; 참고: Node process의 밖 또는 하위의 환경 변수는 보여주지 않는다. Node process가 실행되는 동안 다른 윈도우 쉘 또는 Node process가 존재하고 나서 작성된 환경 변수는 보여지지 않는다. *terminal에서 환경변수 설정읽기: echo $NODE_ENV쓰기: export NODE_ENV=development * node.js 서버에서 사용할 환경 변수 설정 (terminal)NODE_ENV=development node app.js *nodemon을 사용할 경우 환경 변수 설정 (terminal)NODE_E..