SlideShare a Scribd company logo
1 of 47
Download to read offline
우리가 모르는
Node.js로
할 수 있는 몇가지
개발자의 생각을 바꾸는 Node.js 이야기
BaaS 기술팀 | 김양원




                           1
과거            미래

     자바스크립트
       현재
“   트위터에서 대부분 들을 수 있는 이야기라서
    그다지 신선하지 않았다.
iokim
  @rh
트윗을 줄이고
아무도 모르게
신선하도록
Real-time Networking Program

           Server and Client

Non-Blocking I/O, Asynchronous Programing

     Ruby == Node <= Python > Scala

 Performance, 10k Concurrency Problem

          Scale-up & Scale-out

                                    http://500px.com/photo/5599221
#locally
###언제 어디서든지 로컬 웹 서버
python -m SimpleHTTPServer
node-optimist

•node.js library
•hello.js --opt world
  option parsing


                        https://github.com/substack/node-optimist
connect
•middleware framework
• 18 Bundled middleware
 logger, compress, basicAuth, bodyParser, session,
 cookieSession, staticCache, vhost, query,
 errorHandler ....


•3rd-party middleware
                                          http://www.senchalabs.org/connect/
npm install -g locally
c:sencha> locally ¶
Sencha Touch        http://localhost



                c:jqmobi> locally
                     -p 8081 ¶
jQuery Mobile     http://localhost:8081
Usage: locally [options]

 Options:

  -h, --help             output usage information
  -V, --version           output the version number
  -s, --static <directory> directory for serving static files
  -w, --public <directory> directory for serving public files
  -d, --debug             debug mode
  -p, --port <port>         public port
  -f, --file <configuration> set configuration file
Baas.io Dashboard
by Baas team & FI
Anywhere locally
Static page Blog engine
by rhio.kim




                          http://haroopress.com
Github Pages   Octopress
GET ~/posts/1
GET ~/posts/1.html
#Dear Friends
         It’s **very important**

         ## Please! check this
         * Item1
         - subItem1
         - subItem2

         ## References
         * [link](http://haroopress.com)

John Gruber               http://daringfireball.net/projects/markdown/
# 마크다운을 예쁘게 표현하리라!
모듈                     모듈

                                         모듈
       모듈
                                              모듈
  모듈        모듈         ejs
                                             robotskirt

 twitter              node.js
                           haroopress                       모듈

bootstrap
            모듈
                                   locally       모듈         모듈
                 모듈
                                                       모듈
            모듈              모듈          모듈
                      모듈


                                             사용된 노드 모듈 정보는 H3 책을 참고해주세요.
core
only 1000 line
robotskirt
•sundown wrapper
• markdown to HTML
• multi-markdown
• npm install robotskirt
<%   ejs %>

•embedded JavaScript
• client side template
• layout or partial


                         http://embeddedjs.com/
Twitter Bootstrap

                http://twitter.github.com/bootstrap/
Blog
                       locally

             twitter bootstrap
Markdown     HTML5 + CSS3

            +modules
      node.js
      haroopress
Blog
                       locally

                   shower
Markdown     HTML5 + CSS3

            +modules
      node.js
      haroopress
Web Presentation with haroopress
by rhio.kim
arduino
###자바스크립트로 로봇 성형수술
arduino
BeagleBone   Raspberry Pi
npm install   duino

                      https://github.com/ecto/duino
Pin13 = new Arduino.Led({
   ...,
   pin: 13
});

                            https://github.com/ecto/duino
Pin13.on();
Pin13.off();



               https://github.com/ecto/duino
A0 = new Arduino.Sensor({
   ...,
   pin: ‘A0’
});

                            https://github.com/ecto/duino
A0.on(‘read’, function(err, data) {
   console.log(data);
});


                                 https://github.com/ecto/duino
Hybrid Home Automation System
by rhio.kim
Web Socket
npm install   twitter
Analog I/O
Digital I/O
                          HTML5 + CSS3
                          WebSocket
       Arduino
               duino
                       node.js
                          twitter
locally
haroopress
 arduino
I love javascript
     rhio kim         node.js
                           git

http://github.com/rhiokim, http://haroopress.com, http://nodejs.kr




                                          BaaS tech in kth
To be continue.
  BaaS 기술 / 김양원 PD
   tizie@kthcorp.com
        @rhiokim



                       47

More Related Content

What's hot

"今" 使えるJavaScriptのトレンド
"今" 使えるJavaScriptのトレンド"今" 使えるJavaScriptのトレンド
"今" 使えるJavaScriptのトレンドHayato Mizuno
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and GruntPeter deHaan
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsk88hudson
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflowRiccardo Coppola
 
N hidden gems you didn't know hippo delivery tier and hippo (forge) could give
N hidden gems you didn't know hippo delivery tier and hippo (forge) could giveN hidden gems you didn't know hippo delivery tier and hippo (forge) could give
N hidden gems you didn't know hippo delivery tier and hippo (forge) could giveWoonsan Ko
 
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Dirk Ginader
 
Introduction to zc.buildout
Introduction to zc.buildoutIntroduction to zc.buildout
Introduction to zc.buildoutRicardo Newbery
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010Ignacio Coloma
 
Rapid Templating with Serve
Rapid Templating with ServeRapid Templating with Serve
Rapid Templating with ServeNathan Smith
 
Bower - A package manager for the web
Bower - A package manager for the webBower - A package manager for the web
Bower - A package manager for the webLarry Nung
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)zerok
 
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST APIWordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST APIBrian Hogg
 
Juju Presentation 2011
Juju Presentation 2011Juju Presentation 2011
Juju Presentation 2011venturaphp
 
Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)xMartin12
 
Pinkoi Platform
Pinkoi PlatformPinkoi Platform
Pinkoi Platformmikeleeme
 

What's hot (20)

"今" 使えるJavaScriptのトレンド
"今" 使えるJavaScriptのトレンド"今" 使えるJavaScriptのトレンド
"今" 使えるJavaScriptのトレンド
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Npm scripts
Npm scriptsNpm scripts
Npm scripts
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scripts
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
 
N hidden gems you didn't know hippo delivery tier and hippo (forge) could give
N hidden gems you didn't know hippo delivery tier and hippo (forge) could giveN hidden gems you didn't know hippo delivery tier and hippo (forge) could give
N hidden gems you didn't know hippo delivery tier and hippo (forge) could give
 
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
 
Hello npm
Hello npmHello npm
Hello npm
 
Introduction to zc.buildout
Introduction to zc.buildoutIntroduction to zc.buildout
Introduction to zc.buildout
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010
 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
 
Rapid Templating with Serve
Rapid Templating with ServeRapid Templating with Serve
Rapid Templating with Serve
 
Bower - A package manager for the web
Bower - A package manager for the webBower - A package manager for the web
Bower - A package manager for the web
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)
 
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST APIWordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
 
Juju Presentation 2011
Juju Presentation 2011Juju Presentation 2011
Juju Presentation 2011
 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a Themer
 
Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)
 
Pinkoi Platform
Pinkoi PlatformPinkoi Platform
Pinkoi Platform
 

Viewers also liked

Electron 개발하기
Electron 개발하기Electron 개발하기
Electron 개발하기성일 한
 
모던자바의 역습
모던자바의 역습모던자바의 역습
모던자바의 역습DoHyun Jung
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기성일 한
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기KTH, 케이티하이텔
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 

Viewers also liked (6)

Electron 개발하기
Electron 개발하기Electron 개발하기
Electron 개발하기
 
모던자바의 역습
모던자바의 역습모던자바의 역습
모던자바의 역습
 
DDD 준비 서문래
DDD 준비 서문래DDD 준비 서문래
DDD 준비 서문래
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 

Similar to Node.js로 개발자 생각 변화 이야기

Getting started with developing Nodejs
Getting started with developing NodejsGetting started with developing Nodejs
Getting started with developing NodejsPhil Hawksworth
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsasync_io
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Matt Raible
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2http403
 
Node js quick tour v2
Node js quick tour v2Node js quick tour v2
Node js quick tour v2Wyatt Fang
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2tianyi5212222
 
Middleware as Code with mruby
Middleware as Code with mrubyMiddleware as Code with mruby
Middleware as Code with mrubyHiroshi SHIBATA
 
Build your website with awestruct and publish it on the cloud with git
Build your website with awestruct and publish it on the cloud with gitBuild your website with awestruct and publish it on the cloud with git
Build your website with awestruct and publish it on the cloud with gitXavier Coulon
 
Front End Development for Back End Developers - Devoxx UK 2017
 Front End Development for Back End Developers - Devoxx UK 2017 Front End Development for Back End Developers - Devoxx UK 2017
Front End Development for Back End Developers - Devoxx UK 2017Matt Raible
 
All aboard the NodeJS Express
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS ExpressDavid Boyer
 
Introduction to node.js GDD
Introduction to node.js GDDIntroduction to node.js GDD
Introduction to node.js GDDSudar Muthu
 
Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015David Alger
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAriya Hidayat
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionJuraj Michálek
 
Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Tekno Paul
 

Similar to Node.js로 개발자 생각 변화 이야기 (20)

Mongodb
MongodbMongodb
Mongodb
 
(C)NodeJS
(C)NodeJS(C)NodeJS
(C)NodeJS
 
Getting started with developing Nodejs
Getting started with developing NodejsGetting started with developing Nodejs
Getting started with developing Nodejs
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2
 
Node js quick tour v2
Node js quick tour v2Node js quick tour v2
Node js quick tour v2
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2
 
Node azure
Node azureNode azure
Node azure
 
Middleware as Code with mruby
Middleware as Code with mrubyMiddleware as Code with mruby
Middleware as Code with mruby
 
Build your website with awestruct and publish it on the cloud with git
Build your website with awestruct and publish it on the cloud with gitBuild your website with awestruct and publish it on the cloud with git
Build your website with awestruct and publish it on the cloud with git
 
Front End Development for Back End Developers - Devoxx UK 2017
 Front End Development for Back End Developers - Devoxx UK 2017 Front End Development for Back End Developers - Devoxx UK 2017
Front End Development for Back End Developers - Devoxx UK 2017
 
All aboard the NodeJS Express
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS Express
 
Introduction to node.js GDD
Introduction to node.js GDDIntroduction to node.js GDD
Introduction to node.js GDD
 
Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile Web
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django session
 
Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)
 

More from Rhio Kim

Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Rhio Kim
 
문서화에 날개를 달아주는 Flybook CLI
문서화에 날개를 달아주는 Flybook CLI문서화에 날개를 달아주는 Flybook CLI
문서화에 날개를 달아주는 Flybook CLIRhio Kim
 
나는 오픈소스로 화가가 되었다
나는 오픈소스로 화가가 되었다나는 오픈소스로 화가가 되었다
나는 오픈소스로 화가가 되었다Rhio Kim
 
Git Flow tutorial
Git Flow tutorialGit Flow tutorial
Git Flow tutorialRhio Kim
 
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트Rhio Kim
 
JavaScript History
JavaScript HistoryJavaScript History
JavaScript HistoryRhio Kim
 
Function work in JavaScript
Function work in JavaScriptFunction work in JavaScript
Function work in JavaScriptRhio Kim
 
2011 JavaScript Developer Generation
2011 JavaScript Developer Generation2011 JavaScript Developer Generation
2011 JavaScript Developer GenerationRhio Kim
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titaniumRhio Kim
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titaniumRhio Kim
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titaniumRhio Kim
 
CRUD Pattern in Ajax
CRUD Pattern in AjaxCRUD Pattern in Ajax
CRUD Pattern in AjaxRhio Kim
 

More from Rhio Kim (12)

Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로
 
문서화에 날개를 달아주는 Flybook CLI
문서화에 날개를 달아주는 Flybook CLI문서화에 날개를 달아주는 Flybook CLI
문서화에 날개를 달아주는 Flybook CLI
 
나는 오픈소스로 화가가 되었다
나는 오픈소스로 화가가 되었다나는 오픈소스로 화가가 되었다
나는 오픈소스로 화가가 되었다
 
Git Flow tutorial
Git Flow tutorialGit Flow tutorial
Git Flow tutorial
 
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
 
JavaScript History
JavaScript HistoryJavaScript History
JavaScript History
 
Function work in JavaScript
Function work in JavaScriptFunction work in JavaScript
Function work in JavaScript
 
2011 JavaScript Developer Generation
2011 JavaScript Developer Generation2011 JavaScript Developer Generation
2011 JavaScript Developer Generation
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titanium
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titanium
 
Mobile appcelerator titanium
Mobile appcelerator titaniumMobile appcelerator titanium
Mobile appcelerator titanium
 
CRUD Pattern in Ajax
CRUD Pattern in AjaxCRUD Pattern in Ajax
CRUD Pattern in Ajax
 

Node.js로 개발자 생각 변화 이야기