47
우리가 모르는 Node.js 할 수 있는 몇가지 개발자의 생각을 바꾸는 Node.js 이야기 BaaS 기술팀 | 김양원 1

우리가 모르는 노드로 할 수 있는 몇가지

Embed Size (px)

DESCRIPTION

KTH H3 Conference 2012 우리가 모르는 노드(Node.js)로 할 수 있는 몇가지

Citation preview

Page 1: 우리가 모르는 노드로 할 수 있는 몇가지

우리가 모르는Node.js로할 수 있는 몇가지개발자의 생각을 바꾸는 Node.js 이야기BaaS 기술팀 | 김양원

1

Page 2: 우리가 모르는 노드로 할 수 있는 몇가지

자바스크립트과거

현재

미래

Page 3: 우리가 모르는 노드로 할 수 있는 몇가지

트위터에서 대부분 들을 수 있는 이야기라서 그다지 신선하지 않았다.“트위터에서 대부분 들을 수 있는 이야기라서 그다지 신선하지 않았다.

Page 4: 우리가 모르는 노드로 할 수 있는 몇가지

트윗을 줄이고 아무도 모르게신선하도록

@rhiokim

Page 5: 우리가 모르는 노드로 할 수 있는 몇가지

Non-Blocking I/O, Asynchronous Programing

Ruby == Node <= Python > Scala

Performance, 10k Concurrency Problem

Server and Client

Scale-up & Scale-out

Real-time Networking Program

http://500px.com/photo/5599221

Page 6: 우리가 모르는 노드로 할 수 있는 몇가지

#locally###언제 어디서든지 로컬 웹 서버

Page 7: 우리가 모르는 노드로 할 수 있는 몇가지
Page 8: 우리가 모르는 노드로 할 수 있는 몇가지

python -m SimpleHTTPServer

Page 9: 우리가 모르는 노드로 할 수 있는 몇가지

node-optimist

•node.js library

•option parsinghello.js --opt world

https://github.com/substack/node-optimist

Page 10: 우리가 모르는 노드로 할 수 있는 몇가지

connect

•middleware framework

•18 Bundled middlewarelogger, compress, basicAuth, bodyParser, session, cookieSession, staticCache, vhost, query, errorHandler ....

•3rd-party middleware

http://www.senchalabs.org/connect/

Page 11: 우리가 모르는 노드로 할 수 있는 몇가지

npm install -g locally

Page 12: 우리가 모르는 노드로 할 수 있는 몇가지

jQuery Mobile

Sencha Touch

c:\sencha> locally ¶

c:\jqmobi> locally -p 8081 ¶

http://localhost

http://localhost:8081

Page 13: 우리가 모르는 노드로 할 수 있는 몇가지

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

Page 14: 우리가 모르는 노드로 할 수 있는 몇가지

Baas.io Dashboardby Baas team & FI

Page 15: 우리가 모르는 노드로 할 수 있는 몇가지

Anywhere locally

Page 16: 우리가 모르는 노드로 할 수 있는 몇가지

http://haroopress.com

Static page Blog engineby rhio.kim

Page 17: 우리가 모르는 노드로 할 수 있는 몇가지
Page 18: 우리가 모르는 노드로 할 수 있는 몇가지

OctopressGithub Pages

Page 19: 우리가 모르는 노드로 할 수 있는 몇가지

GET ~/posts/1

Page 20: 우리가 모르는 노드로 할 수 있는 몇가지

GET ~/posts/1.html

Page 21: 우리가 모르는 노드로 할 수 있는 몇가지

http://daringfireball.net/projects/markdown/John Gruber

#Dear FriendsIt’s **very important**

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

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

Page 22: 우리가 모르는 노드로 할 수 있는 몇가지

# 마크다운을 예쁘게 표현하리라!

Page 23: 우리가 모르는 노드로 할 수 있는 몇가지

모듈

모듈

robotskirt

locally모듈 모듈 모듈

모듈 모듈

twitter bootstrap

모듈

모듈

모듈

사용된 노드 모듈 정보는 H3 책을 참고해주세요.

node.jsharoopress

ejs모듈

모듈 모듈

모듈

모듈

모듈모듈

Page 24: 우리가 모르는 노드로 할 수 있는 몇가지

core only 1000 line

Page 25: 우리가 모르는 노드로 할 수 있는 몇가지

robotskirt

•sundown wrapper

•markdown to HTML

•multi-markdown

• npm install robotskirt

Page 26: 우리가 모르는 노드로 할 수 있는 몇가지

http://embeddedjs.com/

<% ejs %>

•embedded JavaScript

•client side template

• layout or partial

Page 27: 우리가 모르는 노드로 할 수 있는 몇가지

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

Twitter Bootstrap

Page 28: 우리가 모르는 노드로 할 수 있는 몇가지

Markdown

+modules

node.jsharoopress

HTML5 + CSS3twitter bootstrap

locallyBlog

Page 29: 우리가 모르는 노드로 할 수 있는 몇가지

Markdown

+modules

node.jsharoopress

HTML5 + CSS3shower

locallyBlog

Page 30: 우리가 모르는 노드로 할 수 있는 몇가지

Web Presentation with haroopressby rhio.kim

Page 31: 우리가 모르는 노드로 할 수 있는 몇가지

arduino###자바스크립트로 로봇 성형수술

Page 32: 우리가 모르는 노드로 할 수 있는 몇가지

arduino

Page 33: 우리가 모르는 노드로 할 수 있는 몇가지

BeagleBone Raspberry Pi

Page 34: 우리가 모르는 노드로 할 수 있는 몇가지

https://github.com/ecto/duino

npm install duino

Page 35: 우리가 모르는 노드로 할 수 있는 몇가지

https://github.com/ecto/duino

Pin13 = new Arduino.Led({ ..., pin: 13 });

Page 36: 우리가 모르는 노드로 할 수 있는 몇가지

https://github.com/ecto/duino

Pin13.on();Pin13.off();

Page 37: 우리가 모르는 노드로 할 수 있는 몇가지

https://github.com/ecto/duino

A0 = new Arduino.Sensor({ ..., pin: ‘A0’});

Page 38: 우리가 모르는 노드로 할 수 있는 몇가지

https://github.com/ecto/duino

A0.on(‘read’, function(err, data) { console.log(data);});

Page 39: 우리가 모르는 노드로 할 수 있는 몇가지

Hybrid Home Automation System by rhio.kim

Page 40: 우리가 모르는 노드로 할 수 있는 몇가지

Web Socket

Page 41: 우리가 모르는 노드로 할 수 있는 몇가지

npm install twitter

Page 42: 우리가 모르는 노드로 할 수 있는 몇가지

Arduino

node.jsduino

HTML5 + CSS3

WebSocket

Digital I/O

Analog I/O

twitter

Page 43: 우리가 모르는 노드로 할 수 있는 몇가지

locally

haroopress

arduino

Page 44: 우리가 모르는 노드로 할 수 있는 몇가지
Page 45: 우리가 모르는 노드로 할 수 있는 몇가지
Page 46: 우리가 모르는 노드로 할 수 있는 몇가지

I love javascriptnode.js

git

BaaS tech in kth

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

rhio kim

Page 47: 우리가 모르는 노드로 할 수 있는 몇가지

To be continue.BaaS 기술 / 김양원 [email protected]

@rhiokim

47