NODE.JS
EXPRESS 를 이용한 웹 어플리케이션 만들기
WORK ALONE
윤해성(sonice)
shanka2@naver.com
why node.js ?
node.js npm
node.js 작업전 사전조
사
장점 / 단점
• 내가 직접 서버를 구현 해야 한다는데 (express)
• db 이용은 편리한가 (mysql)
• 비동기로의 작업... 불편한점이 없는가 (async)
• 쓰기쉬운 템플릿은 있는가 (ejs)
• 커뮤니티와 오픈소스가 풍부하다 (npm / github)
• 서버운영은... 각종 클라우드서버와 일반서버들의 지
원이 풍부하다 (본인의 서버가 있다면 더좋다.)
• javascript 만 잘 알면 되나? (각각의 라이브러리 이용
법을 학습해야 한다.)
• 너무많은 모듈중 내게 맞는 모듈은??
• 오픈소스의 페혜 : 기존에는 별로 신경 안썼던 것들
이 괜히 신경쓰인다. (귀가 얇아진다.)
• 결국은 좀 깊게, 좀더 고급지게 학습하려면 node.js
기본 api에 많은 시간투자가 필요하다.
Express
• Fast, unopinionated, minimalist web framework for
Node.js
• Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워
크
• expressjs.com
• TJ Holowaychuk
• http://yisangwook.tumblr.com/post/90919749574/far
ewell-node-js-tj-holowaychuk
express 서버코드 기본
골격
• module require
• module setting 및 app setting
• middlewear 설정
• route 설정
• 서버 실행
module require
사용하게될 모듈 가져오기 (require 방법)
npm install module
var xxx = require(“aaa”);
내가 작성한 moudle
var xxx = require(__dirname + "/aaa");
module setting 및 app
setting
• 정적파일 설정
• 템플릿 엔진 설정
• db설정
• 파일 업로드 관련 설정
middlewear 설정
• 실행루틴의 중계역활 route 실행전 먼저 실행
• next를 통해 여러종류의 middlewear 장착가능
• 사용자 middlewear 는 req res 의 접급이 가능하므로
• req 를 이용 혹은 route 로직에서 사용할 사용자 함수를 작성할 수 있는 적당한 장소로 이용은
res.local 변수형태로 이용가능
middlewear 작성법
var xxx = function(req, res, next) {
...
next();
}
route 설정
• URL(URI) 요청에 따라 어플리케이션 응답방법을 결
정.
• 주로 외부파일로 설정
• 요청url에 따른 route의 분기
• req.body req.query req.param 를 이용 필요한 로직
실행후 client에 응답(res)
• db procedure call (db 로직은 프로시져로...)
서버 실행
• 작동하도록 (listen)
• vhost를 이용한 서브호스팅 설정 등…
• 그밖에 많은 서버실행에 관여하는 설정등을 한다.
앱 디렉토리
기본구조
Express
service
workflow
view templete ejs
http://www.embeddedjs.com/
쇼핑몰 간략소개
• db table 스키마 소개
• 간략 기능 소개
• api 이용로그인 (passport 를 통한 기능구현)
• 도로명 우편번호 api https://postcodify.poesis.kr/
작성 소스 간략 설명
사용된 moudle
• express
• body-parser
• cookie-parser
• express-session
• ejs
• mysql
• multer
• async
• passport
참고 링크
• http://todomvc.com/
• http://www.iamport.kr/
• https://www.staticgen.com/
• http://nodebeginner.org/index-kr.html
• http://jsbin.com/?js,console
• http://www.nodecloud.org/
• https://www.youtube.com/watch?v=sBzRwzY7G-k
• https://www.npmjs.com/browse/star

Nodejs 발표자료

  • 1.
    NODE.JS EXPRESS 를 이용한웹 어플리케이션 만들기
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    • 내가 직접서버를 구현 해야 한다는데 (express) • db 이용은 편리한가 (mysql) • 비동기로의 작업... 불편한점이 없는가 (async) • 쓰기쉬운 템플릿은 있는가 (ejs) • 커뮤니티와 오픈소스가 풍부하다 (npm / github) • 서버운영은... 각종 클라우드서버와 일반서버들의 지 원이 풍부하다 (본인의 서버가 있다면 더좋다.)
  • 7.
    • javascript 만잘 알면 되나? (각각의 라이브러리 이용 법을 학습해야 한다.) • 너무많은 모듈중 내게 맞는 모듈은?? • 오픈소스의 페혜 : 기존에는 별로 신경 안썼던 것들 이 괜히 신경쓰인다. (귀가 얇아진다.) • 결국은 좀 깊게, 좀더 고급지게 학습하려면 node.js 기본 api에 많은 시간투자가 필요하다.
  • 8.
    Express • Fast, unopinionated,minimalist web framework for Node.js • Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워 크 • expressjs.com • TJ Holowaychuk • http://yisangwook.tumblr.com/post/90919749574/far ewell-node-js-tj-holowaychuk
  • 9.
    express 서버코드 기본 골격 •module require • module setting 및 app setting • middlewear 설정 • route 설정 • 서버 실행
  • 10.
    module require 사용하게될 모듈가져오기 (require 방법) npm install module var xxx = require(“aaa”); 내가 작성한 moudle var xxx = require(__dirname + "/aaa");
  • 11.
    module setting 및app setting • 정적파일 설정 • 템플릿 엔진 설정 • db설정 • 파일 업로드 관련 설정
  • 12.
    middlewear 설정 • 실행루틴의중계역활 route 실행전 먼저 실행 • next를 통해 여러종류의 middlewear 장착가능 • 사용자 middlewear 는 req res 의 접급이 가능하므로 • req 를 이용 혹은 route 로직에서 사용할 사용자 함수를 작성할 수 있는 적당한 장소로 이용은 res.local 변수형태로 이용가능 middlewear 작성법 var xxx = function(req, res, next) { ... next(); }
  • 13.
    route 설정 • URL(URI)요청에 따라 어플리케이션 응답방법을 결 정. • 주로 외부파일로 설정 • 요청url에 따른 route의 분기 • req.body req.query req.param 를 이용 필요한 로직 실행후 client에 응답(res) • db procedure call (db 로직은 프로시져로...)
  • 14.
    서버 실행 • 작동하도록(listen) • vhost를 이용한 서브호스팅 설정 등… • 그밖에 많은 서버실행에 관여하는 설정등을 한다.
  • 15.
  • 16.
  • 17.
  • 18.
    쇼핑몰 간략소개 • dbtable 스키마 소개 • 간략 기능 소개 • api 이용로그인 (passport 를 통한 기능구현) • 도로명 우편번호 api https://postcodify.poesis.kr/
  • 19.
  • 20.
    사용된 moudle • express •body-parser • cookie-parser • express-session • ejs • mysql • multer • async • passport
  • 21.
    참고 링크 • http://todomvc.com/ •http://www.iamport.kr/ • https://www.staticgen.com/ • http://nodebeginner.org/index-kr.html • http://jsbin.com/?js,console • http://www.nodecloud.org/ • https://www.youtube.com/watch?v=sBzRwzY7G-k • https://www.npmjs.com/browse/star