さくらのvpsでnode.jsを使ってみよう 仮...2011/05/28 · デモ...
TRANSCRIPT
![Page 1: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/1.jpg)
110528
Yuki KAN / SAKURA Internet Research Center
さくらのVPSでnode.jsを使ってみよう(仮)
1
![Page 2: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/2.jpg)
アジェンダ・node.jsとは何か
・Debianでの簡単環境構築
・node.js + socket.io デモ
2
![Page 3: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/3.jpg)
サーバーサイドJavaScriptの時代node.jsとは何か
3
![Page 4: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/4.jpg)
サーバーサイドJavaScript・node.jsはサーバーサイドJavaScriptの本命と呼ばれている・実際使ってみたところ、かなりいい感じ・JavaScript好きな方にはたまらない・クライアントとサーバー開発の両方の言語をJavaScriptで統一することができる。個人的には開発がスムーズになったような気がする
![Page 5: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/5.jpg)
Google V8 JavaScript Engine・Googleの頭のいい人たちが作った、高速なJavaScriptエンジン「V8」の上に構築されているのがnode.js。・Google Chromeもこのエンジンを使用している・Googleすごい。
![Page 6: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/6.jpg)
イベント駆動・node.jsのオブジェクトの多くは、イベントを生成する。・例えば、TCPサーバはストリームがあるたびにイベントを生成。・イベントドリブンモデルを頭にいれてイベント中心の設計をするとスマートに開発できるかも?
![Page 7: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/7.jpg)
非同期 I/O
・node.jsでは、I/O処理を非同期に実行することができます・ファイルの読み書き処理を待つことなく、次の命令を実行します
![Page 8: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/8.jpg)
実行結果: A→B→C→...
var fs = require(‘fs’);
console.log(‘A’);
fs.writeFile(‘hello.txt’, ‘hello’, function(error) { console.log(‘C’); if(error) { console.log(error); } else { console.log(‘The file was saved.’); }});
console.log(‘B’);
・これはhelloという文字列をhello.txtに保存する例。・実際にこれを実行するとコンソールにA→B→Cの順でログ出力される。・JavaScriptに馴染みのある方はすぐ理解できると思います
![Page 9: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/9.jpg)
しかもシングルスレッド・node.jsは通常、プロセス1個、シングルスレッドモデルで動作。・リソース消費が少なく、効率よく動作するように設計されている。
・こちらのページの説明とコメントの補足がよくまとまっています http://d.hatena.ne.jp/fatrow/20110107/nodejs
![Page 10: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/10.jpg)
node.jsすごい
![Page 11: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/11.jpg)
実際にnode.jsをインストールしてみるDebianでの簡単環境構築
11
![Page 12: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/12.jpg)
Debian squeeze に nave + npm → node.js + socket.io メモ
http://r2.ag/r528
・今回はこちらのブログでメモした通りにコマンドを実行しました。(デモ)
![Page 14: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/14.jpg)
socket.ioを使えばもう何も恐くないnode.js + socket.io デモ
14
![Page 15: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/15.jpg)
SOCKET.IO~とは?
• WebSocketが使えないUAの為に代替通信を提供する
• IE5.5~ ほとんどのブラウザに対応!
• WebSocket / Flash Socket / AJAX / JSONP 等を状況に応じて使う
•もう何も恐くない
•詳しくは http://socket.io/ へ
![Page 16: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/16.jpg)
デモ
•チャットなウェブアプリを昨日(5/27金)試作してみた
•リアルタイムなデモとしては定番?のデモ
•http://node.demo.r2.ag/chat/• IEとかでも動く(はず)
•ソース: https://gist.github.com/994974
![Page 17: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/17.jpg)
まとめ
• node.js は本当によく出来ている
• socket.io を使えばもうなにも恐くない
• JavaScriptの知識でサーバー・クライアント両方作れる
•さくらのVPSで普通に動きます。
![Page 18: さくらのVPSでnode.jsを使ってみよう 仮...2011/05/28 · デモ •チャットなウェブアプリを昨日(5/27金)試作してみた •リアルタイムなデモとしては定番?のデモ](https://reader033.vdocuments.site/reader033/viewer/2022060403/5f0ea3e67e708231d4403665/html5/thumbnails/18.jpg)
ありがとうございました