Soumettre la recherche
Mettre en ligne
Nodejs Introduction
•
9 j'aime
•
2,399 vues
Jxck Jxck
Suivre
2010/11/20 JStudy#2 (一部誤植訂正済)
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
SL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
Minecraft modding 06
Minecraft modding 06
Takunology
Bitcoin testnet
Bitcoin testnet
Yuichiro Shibata
Minecraft modding 09
Minecraft modding 09
Takunology
仮想通貨テストベッドネットワークの構築
仮想通貨テストベッドネットワークの構築
Yuichiro Shibata
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
kataware
セキュリティの○○○を買ってみた
セキュリティの○○○を買ってみた
cluclu_land
Sfstudy #2
Sfstudy #2
(^-^) togakushi
Recommandé
SL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
Minecraft modding 06
Minecraft modding 06
Takunology
Bitcoin testnet
Bitcoin testnet
Yuichiro Shibata
Minecraft modding 09
Minecraft modding 09
Takunology
仮想通貨テストベッドネットワークの構築
仮想通貨テストベッドネットワークの構築
Yuichiro Shibata
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
kataware
セキュリティの○○○を買ってみた
セキュリティの○○○を買ってみた
cluclu_land
Sfstudy #2
Sfstudy #2
(^-^) togakushi
20120222
20120222
晶 川俣
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
sakaik
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
sakaik
FreeBSDで行こう for small server
FreeBSDで行こう for small server
Tatsumi Naganuma
Bsd suki
Bsd suki
yamori813
Zrouter
Zrouter
yamori813
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
後期第六回ネットワークチーム講座資料2016
後期第六回ネットワークチーム講座資料2016
densan_teacher
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
Naoya Kaneko
アーカイブ・リポジトリシステムで遊ぼう!
アーカイブ・リポジトリシステムで遊ぼう!
genroku
FreeBSD の小ネタ
FreeBSD の小ネタ
Hirohisa Yamaguchi
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Tokai University
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
Akira Yoshiyama
WSL2使ってみた / Preview for WSL2
WSL2使ってみた / Preview for WSL2
株式会社MonotaRO Tech Team
Embed Shogiboard - my first mediawiki extension -
Embed Shogiboard - my first mediawiki extension -
Taisuke Yamada
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
LinuxをインストールしてWebサーバーを立ち上げてみよう
LinuxをインストールしてWebサーバーを立ち上げてみよう
Masataka Tsukamoto
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Masataka Tsukamoto
Android nodejs binary-transfer_130531ss
Android nodejs binary-transfer_130531ss
ts170
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Contenu connexe
Tendances
20120222
20120222
晶 川俣
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
sakaik
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
sakaik
FreeBSDで行こう for small server
FreeBSDで行こう for small server
Tatsumi Naganuma
Bsd suki
Bsd suki
yamori813
Zrouter
Zrouter
yamori813
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
後期第六回ネットワークチーム講座資料2016
後期第六回ネットワークチーム講座資料2016
densan_teacher
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
Naoya Kaneko
アーカイブ・リポジトリシステムで遊ぼう!
アーカイブ・リポジトリシステムで遊ぼう!
genroku
FreeBSD の小ネタ
FreeBSD の小ネタ
Hirohisa Yamaguchi
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Tokai University
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
Akira Yoshiyama
WSL2使ってみた / Preview for WSL2
WSL2使ってみた / Preview for WSL2
株式会社MonotaRO Tech Team
Embed Shogiboard - my first mediawiki extension -
Embed Shogiboard - my first mediawiki extension -
Taisuke Yamada
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
LinuxをインストールしてWebサーバーを立ち上げてみよう
LinuxをインストールしてWebサーバーを立ち上げてみよう
Masataka Tsukamoto
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Masataka Tsukamoto
Tendances
(20)
20120222
20120222
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
FreeBSDで行こう for small server
FreeBSDで行こう for small server
Bsd suki
Bsd suki
Zrouter
Zrouter
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
後期第六回ネットワークチーム講座資料2016
後期第六回ネットワークチーム講座資料2016
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
アーカイブ・リポジトリシステムで遊ぼう!
アーカイブ・リポジトリシステムで遊ぼう!
FreeBSD の小ネタ
FreeBSD の小ネタ
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
WSL2使ってみた / Preview for WSL2
WSL2使ってみた / Preview for WSL2
Embed Shogiboard - my first mediawiki extension -
Embed Shogiboard - my first mediawiki extension -
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
LinuxをインストールしてWebサーバーを立ち上げてみよう
LinuxをインストールしてWebサーバーを立ち上げてみよう
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Similaire à Nodejs Introduction
Android nodejs binary-transfer_130531ss
Android nodejs binary-transfer_130531ss
ts170
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Web socket and gRPC
Web socket and gRPC
TIS Inc
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)
dynamis
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境
Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境
lig-dsktschy
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
Kasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-corrected
PacSecJP
JBoss AS7 rev3
JBoss AS7 rev3
nekop
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!
Hiroshi Hayakawa
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
Kohei Kadowaki
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
SocketStream入門
SocketStream入門
Kohei Kadowaki
WebStormでできること
WebStormでできること
kamiyam .
今日はMongoDBの話はしない
今日はMongoDBの話はしない
Akihiro Kuwano
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
decode2016
Nodejs+socket ioを試す
Nodejs+socket ioを試す
uzundk
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
Similaire à Nodejs Introduction
(20)
Android nodejs binary-transfer_130531ss
Android nodejs binary-transfer_130531ss
Play jjug2012spring
Play jjug2012spring
Web socket and gRPC
Web socket and gRPC
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境
Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境
Bp study39 nodejs
Bp study39 nodejs
Kasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-corrected
JBoss AS7 rev3
JBoss AS7 rev3
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
SocketStream入門
SocketStream入門
WebStormでできること
WebStormでできること
今日はMongoDBの話はしない
今日はMongoDBの話はしない
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
Nodejs+socket ioを試す
Nodejs+socket ioを試す
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Plus de Jxck Jxck
Http2 on go1.6rc2
Http2 on go1.6rc2
Jxck Jxck
ORTC SVC SimulCast
ORTC SVC SimulCast
Jxck Jxck
HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2
Jxck Jxck
Isomorphic Architecture & Interface
Isomorphic Architecture & Interface
Jxck Jxck
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Jxck Jxck
Extensible web #html5j
Extensible web #html5j
Jxck Jxck
Extensible web
Extensible web
Jxck Jxck
HTTP2Study chronicle #http2conf
HTTP2Study chronicle #http2conf
Jxck Jxck
mozaicfm-ep8 #altJS @ll-diver
mozaicfm-ep8 #altJS @ll-diver
Jxck Jxck
Updates of socket.io@1.0
Updates of socket.io@1.0
Jxck Jxck
Why HTML Form dose not support PUT & DELETE ?
Why HTML Form dose not support PUT & DELETE ?
Jxck Jxck
Next generation web talk @cross2014
Next generation web talk @cross2014
Jxck Jxck
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
Jxck Jxck
Network server in go #gocon 2013-11-14
Network server in go #gocon 2013-11-14
Jxck Jxck
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
Jxck Jxck
Http2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2study
Jxck Jxck
Gtug girls meetup web socket handson
Gtug girls meetup web socket handson
Jxck Jxck
Next generation web talk @cross2013
Next generation web talk @cross2013
Jxck Jxck
Nodefest2011-Live
Nodefest2011-Live
Jxck Jxck
Test it in Node.js
Test it in Node.js
Jxck Jxck
Plus de Jxck Jxck
(20)
Http2 on go1.6rc2
Http2 on go1.6rc2
ORTC SVC SimulCast
ORTC SVC SimulCast
HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2
Isomorphic Architecture & Interface
Isomorphic Architecture & Interface
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Extensible web #html5j
Extensible web #html5j
Extensible web
Extensible web
HTTP2Study chronicle #http2conf
HTTP2Study chronicle #http2conf
mozaicfm-ep8 #altJS @ll-diver
mozaicfm-ep8 #altJS @ll-diver
Updates of socket.io@1.0
Updates of socket.io@1.0
Why HTML Form dose not support PUT & DELETE ?
Why HTML Form dose not support PUT & DELETE ?
Next generation web talk @cross2014
Next generation web talk @cross2014
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
Network server in go #gocon 2013-11-14
Network server in go #gocon 2013-11-14
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
Http2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2study
Gtug girls meetup web socket handson
Gtug girls meetup web socket handson
Next generation web talk @cross2013
Next generation web talk @cross2013
Nodefest2011-Live
Nodefest2011-Live
Test it in Node.js
Test it in Node.js
Dernier
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Dernier
(10)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Nodejs Introduction
1.
yurufuwa introduction of 2010/11/20@JStudy#2 id: Jxck 2010年11月21日日曜日
2.
Jack 2010年11月21日日曜日
3.
噂の Node.js について •Node.js
ってなんなのか? •何故ここにきてサーバサイドJSな のか? •どんなことが出来るのか? 的な話を、 ゆるくふわっと解説します。 2010年11月21日日曜日
4.
Node.js とは? Node.js =
サーバーサイドJS 2010年11月21日日曜日
5.
それだけ? 2010年11月21日日曜日
6.
なら昔からあるじゃん? •Rhino •Jaxer •Nitro etc.. なぜ Node.js なの? 2010年11月21日日曜日
7.
なぜ を知る3つのキーワード • イベントループ •
ブロック • Google V8 2010年11月21日日曜日
8.
イベントループ 2010年11月21日日曜日
9.
スレッドモデルとイベントループ •スレッドモデル 沢山スレッドを起動して同時に処理する (マルチスレッド) •イベントループ 一つのスレッド(シングルスレッド)の中 でイベントとコールバックを使って処理 する。 2010年11月21日日曜日
10.
マルチスレッド スレッドが増える程メモリを消費 でも今はメモリも安いしたくさん積んでるし。。 2010年11月21日日曜日
11.
富豪メモリ 「メモリが沢山あれば何とかなる」 と思っていた時期が、 ボクにも有りました(キリ! 2010年11月21日日曜日
12.
C10K問題 リアルタイムWebとやらの流行もあって、同 時に1万くらい同時にアクセスがきて、しかも接 続しっぱなしとかもあり得る時代になって来た。 そこまで行くと、メモリとかネットワークを 強化しても、越えられない壁が有るかもしれない ことが分かった。(実際はもっと深い話) 2010年11月21日日曜日
13.
イベントループ 2010年11月21日日曜日
14.
イベントループ イベントとコールバックで処理をする。 シングルスレッドなので メモリが少なくて済む。 2010年11月21日日曜日
15.
イベントループモデル イベントループを採用した実装は既にいく つかある。 •Twisted - Python •EventMachine
- Ruby •AnyEvent - Perl 2010年11月21日日曜日
16.
ブロック 2010年11月21日日曜日
17.
イベントループとブロック イベントループはシングルスレッドなので、途中でブ ロックが発生すると全体に影響する。 ブロックとは、何か時間のかかる処理のせいで、次の処 理が待たされる状態。 例えば、 •DB からデータをたんまり読み込む •ネットワーク越しに応答をじっと待つ etc 2010年11月21日日曜日
18.
ブロックに注意 さっきの実装 •Twisted - Python •EventMachine
- Ruby •AnyEvent - Perl これらはブロックを禁止していない。 だからブッロクの有る処理が混じると パフォーマンスに影響がでてしまう。 2010年11月21日日曜日
19.
ノンブロックの強制 そこで、 「普通にやってれば絶対にブロックしない」 (ノンブロックを強制する) ようにしてしまえば解決だろ! と考えた人が居た。 Ryan Dahl ←この人 2010年11月21日日曜日
20.
最適な言語は? ちょっと前の話をまとめると、 •シングルスレッドである •イベントループを持つ そんな言語が良い。 そこにノンブロックなAPIを実装すれば勝つる! 2010年11月21日日曜日
21.
JavaScript !! Q: シングルスレッドですか? A:「あー、ワーカーとか使わなければ基本そうっす。」 Q:
イベントループ持ってる? A: 「クリックしたら∼、とかは良くやってますよ?」 完璧! > でも JS じゃ遅くね? 2010年11月21日日曜日
22.
Google V8 2010年11月21日日曜日
23.
Google V8 •メチャクチャ速いJS実装。 •中間コードなし直コンパイル。 •C++ からも色々使いやすい。 •C++
でアドオンも書ける。 2010年11月21日日曜日
24.
ここまでのまとめ Node.js とは、 シングルスレッドで、イベントループを持っていた JS
に ノンブロッキングな API を添えて、超速い V8 上で動く 様にしたサーバーサイド JavaScript 実行環境。 ただ単に「サーバも JS で書きたい」という理由以上 に、JavaScript が Ryan の要求を満たしていた。 もし満たしてなかったら、別の言語になってたかも。 2010年11月21日日曜日
25.
Node.js ++ • 少ないメモリで沢山さばける。 •
V8 なので速い。 • 最初からブロックしない仕様になってる。 • 難しいマルチスレッドプログラミングをしな いで良い。 • JavaScript で書ける。 2010年11月21日日曜日
26.
Node.js -- • CPUにもの凄い負荷のかかる処理(CPU
Heavy)は苦手 • マルチコア環境を使いこなせない これは将来 Worker を使って解決の予定 • 処理してない例外が発生するとイベントループ全体が止ま る uncaughtException という機構がある。 • コールバック入れ子の嵐 Defferd とか使う • Windows.. orz つ VM 2010年11月21日日曜日
27.
Dive Into Node.js
!! 2010年11月21日日曜日
28.
Node.js でプログラミング •Event Driven(Event
Emitter) •ECMA 5th edition •Common JS •No Cross Browser •Same language in Client & Server 2010年11月21日日曜日
29.
Event Emitter •イベント用オブジェクト、こんなのが沢山出てくる。 •今までのイベントと基本同じ考え方 emitter.on(‘event’,callback); //
bind emitter.emit(‘event’); // trigger $(‘div’).bind(‘event’,callback); $(‘div’).trigger(‘event’); 2010年11月21日日曜日
30.
ECMA 5th edition 基本は
3rd で、全部ではないが 5th も使える。 • getter/setter Syntax • Property Descriptor • Native JSON Object • Array.prototype.(map¦reduce¦filter) etc 2010年11月21日日曜日
31.
Common JS JavaScript のモジュールやテストに関する共通仕様。 今対応しているのは以下の二つ。 *
Modules 1.0 (require, exports ...) * Unit Testing 1.0 (Asssert ...) 2010年11月21日日曜日
32.
No Cross Browser 2010年11月21日日曜日
33.
Node.js の得意分野 •リアルタイムWeb的なアプリ。 Ajax, Comet,
WebSocket etc •重たいI/Oを伴うアプリ。 ファイルアップロードとか •クライアントでもJSを沢山書くアプリ。 共通の言語で全部書ける 2010年11月21日日曜日
34.
Node.js を始めるには 言語 環境管理
パッケージ管理 Ruby rvm gem Python Virtualenv PyPI Perl Perlbrew CPAN node nave npm 2010年11月21日日曜日
35.
Node.js で "HelloThe
World!!" var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('The World!!n'); }).listen(8124); console.log('Server running at http://127.0.0.1:8124/'); 2010年11月21日日曜日
36.
Socket.IO で WebSocket •Socket.io WebSocket
の定番ライブラリ。 WebSocket が無いブラウザでも動く様 になってる。 WebSocket は Node.js との相性がい い。 2010年11月21日日曜日
37.
Socket.io WebSocketが無かったら (フォールバック) • Adobe Flash
Socket • ActiveX HTMLFile (IE) • XHR with multipart encoding • XHR with long-polling • JSONP polling (for cross- domain) サポートするブラウザ • Safari 4 • Google Chrome 5 • Internet Explorer 6 • Internet Explorer 7 • Internet Explorer 8 • iPhone Safari • iPad Safari • Firefox 3 • Firefox 4 (Minefield) • Opera 10.61 2010年11月21日日曜日
38.
Socket.io サーバ側 var socketio
= require('socket.io'); var io = socketio.listen(server); io.on('connection', function(client) { //接続イベント client.on('message', function(message) { //受信イベント //クライアントがメッセージを送って来たら実行される。 //messageが送られて来たデータ client.send(message); //送って来た本人だけに送る。 client.broadcast(message); //送って来た人以外全員に送る。 }); }); 2010年11月21日日曜日
39.
Socket.io クライアント側 $(function() { var
socket = new io.Socket(null, {port: 8080}); socket.connect(); $('#button').click(function() { // 送信 socket.send('message'); return false; }); socket.on('message', function(obj) { // 受信ベント $('#output').text(obj); }); }); 2010年11月21日日曜日
40.
他のモジュール •FW Express (like Sinatra),
etc •Template ejs(like erb), haml, sass, Jade, etc •RDB sqlite, mysql, postgresql, etc •KVS couch, mongodb, redis, etc •Test/Spec Vows, jasmine, Qunit, etc 2010年11月21日日曜日
41.
実装例 •Node Knock Out •http://nodeknockout.com/ •48時間の
Node.js 耐久ハッカソン •リアルタイムWebな作品が多い 2010年11月21日日曜日
42.
日本語リソース JP User Group
: http://nodejs.jp/ @yssk22 hands on : http://bit.ly/a7Mm5i @meso hands on : http://bit.ly/bNSDyD @bad_at_math : node.js とは何か : http://bit.ly/bdfrbz 2010年11月21日日曜日
43.
他参考資料 • 本家: http://nodejs.org/ •
JSConf09 Slide: http://bit.ly/6lZvhy • JSConf10 Slide: http://bit.ly/c67UQB • Knockout: http://nodeknockout.com/ • Bench: http://bit.ly/ao3zc5 • C10K: http://bit.ly/N2DWS 2010年11月21日日曜日
44.
That's All Thank You. 2010年11月21日日曜日
45.
Question? 2010年11月21日日曜日
Télécharger maintenant