Submit Search
Upload
Nodeにしましょう
•
0 likes
•
296 views
Yuzo Hebishima
Follow
静岡javaScript勉強会 #1 での発表内容です。
Read less
Read more
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
Hello, Node.js
Hello, Node.js
Shin Sekaryo
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
Recommended
Hello, Node.js
Hello, Node.js
Shin Sekaryo
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Node js 入門
Node js 入門
Satoshi Takami
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
ksimoji
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
片手間JS on Rails
片手間JS on Rails
Ryunosuke SATO
Frontend Fantasy 〜ミスリルの戦士たち〜
Frontend Fantasy 〜ミスリルの戦士たち〜
Masashi MATSUI
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
yo_waka
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
Takuro Sasaki
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
Ryunosuke SATO
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
Ryunosuke SATO
これからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.com
yoku0825
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Yutaro Miyazaki
osakar20101202
osakar20101202
Tokyo Medical and Dental University
Webサイト・フロントエンドの高速化とgrunt.jsについて
Webサイト・フロントエンドの高速化とgrunt.jsについて
Tomo Fujita
More Related Content
What's hot
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Node js 入門
Node js 入門
Satoshi Takami
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
ksimoji
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
片手間JS on Rails
片手間JS on Rails
Ryunosuke SATO
Frontend Fantasy 〜ミスリルの戦士たち〜
Frontend Fantasy 〜ミスリルの戦士たち〜
Masashi MATSUI
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
yo_waka
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
Takuro Sasaki
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
Ryunosuke SATO
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
Ryunosuke SATO
これからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.com
yoku0825
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Yutaro Miyazaki
What's hot
(20)
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
Node js 入門
Node js 入門
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
サーバサイドNodeの使い道
サーバサイドNodeの使い道
片手間JS on Rails
片手間JS on Rails
Frontend Fantasy 〜ミスリルの戦士たち〜
Frontend Fantasy 〜ミスリルの戦士たち〜
MySQL Fabricつらい
MySQL Fabricつらい
Ember コミュニティとわたし
Ember コミュニティとわたし
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
これからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.com
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Viewers also liked
osakar20101202
osakar20101202
Tokyo Medical and Dental University
Webサイト・フロントエンドの高速化とgrunt.jsについて
Webサイト・フロントエンドの高速化とgrunt.jsについて
Tomo Fujita
2012 ACS Skolnik Symposium - ChemSpotlight
2012 ACS Skolnik Symposium - ChemSpotlight
Geoffrey Hutchison
20151121
20151121
Makoto Kishimoto
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
Shizuoka go lang csp
Shizuoka go lang csp
Makoto Kishimoto
Viewers also liked
(6)
osakar20101202
osakar20101202
Webサイト・フロントエンドの高速化とgrunt.jsについて
Webサイト・フロントエンドの高速化とgrunt.jsについて
2012 ACS Skolnik Symposium - ChemSpotlight
2012 ACS Skolnik Symposium - ChemSpotlight
20151121
20151121
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
Shizuoka go lang csp
Shizuoka go lang csp
Similar to Nodeにしましょう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Takayuki Shimizukawa
Djangoのススメ
Djangoのススメ
Alisue Lambda
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
僕の Serverless web application
僕の Serverless web application
祐樹 夏目
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
将 高野
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
たのしいNode.js
たのしいNode.js
ishiki-takai
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
Takayoshi Tanaka
Start-padrino
Start-padrino
Uchio Kondo
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜ
Hiroki Kondo
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Kiwamu Okabe
Osoljp201204
Osoljp201204
Masataka Tsukamoto
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
Similar to Nodeにしましょう
(20)
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Djangoのススメ
Djangoのススメ
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
僕の Serverless web application
僕の Serverless web application
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
たのしいNode.js
たのしいNode.js
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
Start-padrino
Start-padrino
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
Bp study39 nodejs
Bp study39 nodejs
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜ
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Osoljp201204
Osoljp201204
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Nodeにしましょう
1.
Nodeにしましょう
へびしま
2.
じこしょうかい ●
エンジニア◎リング(#enginee_ring) のオーナーです。 ● 残念ながらJSperではない。 ● twitter:[secondarykey] – 呑んだくれなのでシステムの事なんて滅多に言わない。 – 静岡の勉強会の事は言ってます。 ● 静岡市内でコード書いてます ● フォントは「あんずもじ」です。
3.
SimonWillison は言いました
※画像は本人さんのブログより 「Node.js is genuinely exciting!」 訳:Nodeはマジパねぇー PythonのWebフレームワークの1つDjangoの開発者 サイモンさんが2009年11月の欧州のカンファレンスで 話す内容を変更してまで語った
4.
NodeはRubyOnRails以来のドキドキ タイトルは「Nodeにしましょう」ですが
※これは発表が決まった時に野田首相が代表選後に 「ノーサイドにしましょう」って言ったから生まれた言葉です Nodeは、なぜ生まれ、 使われ始めたのでしょうか? そこを知らないと間違った使い方をしてしまう そういう観点でお聞きください。 今日ってWeb屋さんが多いのかな?
5.
Nodeの特徴 ●
Node自体はソケットを作成するもの ● Webサーバだけではない。WebSocketも(socket.io)使える。 ● イベントループを使った非同期処理 ※後述 ● ノンブロッキング処理 ※後述 ● 現在、0.5.7ですが、安定版は偶数系、開発版が奇 数って感じで開発されています。 ● 様々なベンチマークで高速な事は出てますが、あえて言 及せずに特徴をだけに注目していきましょう。
6.
出尽くしたデモですが。。。 var http =
require('http'); http.createServer( function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<h1>Hello World</h1>n'); res.end(); }).listen(8080, "127.0.0.1"); console.log('Server running');
7.
背景には「C10K問題」 ●
クライアントの同時接続数1万を超えた時の問題 ● 現在のソケットプログラミングモデルは1接続に対して最 低2MBかかるので、どうしてもこの現象は起こってしま す。 – 創意工夫で軽減できます。
8.
通常のスレッド処理モデル Simonさんの資料から拝借 ねずみ:リクエスト、うさぎ:スレッド
9.
Nodeの処理モデル
Simonさんの資料から拝借 ねずみ:リクエスト、たこ:Node(1プロセス)
10.
I/Oもノンブロッキング!! ●
通常の処理 var result = db.query("select * from T"); // 結果を処理 ● Nodeでの処理 db.query("select * from T", function (result) { // 結果を処理 }); ※なので実装によるブロッキングに注意する事です。 少しデモを。。。
11.
なぜJavaScriptなのか? ●
開発者がイベントループモデルを探していたらこうなった ● たまたまV8エンジンによる高速化 ● どの言語でも良かったと開発者は言っている – 実際イベントループモデルは他の言語であります。 ● CommonJS準拠※、Libev、Libeio ※ほんの一部だけであって、開発者は既に眼中にない ● サーバサイドをJavaScriptにすれば開発環境を統一で きて、教育を含めた開発コストが削減できる ※これはあくまで副産物
12.
@kohjuさんは言いました。 「こりゃプログラマは大変だ!」 kohju(紅呪)氏 静岡Webデベロッパーズフォーラム飲み会 総帥
13.
「こりゃプログラマは大変だ!」・・・どゆこと? ●
Apacheは、十分優秀ですよ。 ● 案外Apache依存してない? – 今あるモジュールの代替って大変じゃない? ● アプリケーションサーバにある資産(フレームワークや独自 実装など)を使えなくて大丈夫ですか? ※トップレベルのOSS開発者が名乗りをあげて作り始め ていて、結構充実しています。 ● 既存の仕組みが、どの位のモジュールを使用しているか? 再度開発するような勢いがあるサービスであるか?
14.
じゃーどこで使うの? ●
ソーシャルアプリの一部で使用 – より多くの処理をこなせる ● 既存Webの一部をリアルタイムWebに – twitterとかfacebook風に。 ● ファイルアップロード – WebSocketでアップロード容量のやり取りとかやってみたり? ● 既にFlashでは可能ですね。 ● 静的なページの処理 – JavaScriptというより、HTMLになりますけどね。
15.
とにかくNodeの特性を活かすこと ●
君はノンブロッキングでいれるか? – これを殺してしまうような実装であってはいけない ● 君はいままでの資産を捨てられるか? – 既存サービスの再構築 – JavaScriptへの一元化の効果が上回るか? – Ruby等でもイベントループモデルはあります。 ● 君はマルチコアでのスケールアウトを確認しなくていいのか? ● 割愛しましたが、新しいバージョンでは、forkする実装ができたみたい。 ● 君はNodeの使えるホスティング、クラウドか? ● 君はそもそもそんなに接続をさばくサービスなのか?
16.
ただ、、、 Nodeはマジパねぇーので
是非お試しを!
17.
おまけ ●
Nginxと組み合わせてみては? ● Nginx単体でも結構な量を裁けます。 ● NoSQLを試してはいかが? ● 大量データをさばくには相性が良い ● Googleの「Dart」を待つ ● Intelの「RiverTrail」を使用してみる ● FireFoxのアドオンです。 ● OpenCLを利用した並列処理が可能
18.
ご清聴ありがとうございました!
19.
引用・参考文献 ●
Node本家 ● http://nodejs.org/ ● SimonWillisonさんの負荷周りの資料(2009年) ● http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf ● ニュースの社会科学的な裏側「node.jsは普及しそうにない」 ● http://www.anlyznews.com/2011/02/nodejs.html ● @IT 「node.jsでサーバサイドJavaScript開発入門」 ● http://www.atmarkit.co.jp/fwcr/rensai2/nodejs02/01.html
20.
静岡の開発系勉強会情報 ●
静岡ITPro勉強会 ● http://groups.google.com/group/shizuoka-itpro-workshop?hl=ja ● インフラ部 – http://groups.google.com/group/shizuinfra?hl=ja ● 静岡Developers勉強会(読書会で次回からHTML5) ● http://www.shizu-dev.org/ ● つくる会 CSS Nite in SHIZUOKA – http://atnd.org/events/18507 TalkNote ライフハック系等 ● エンジニア◎リング ドンドン勉強会増えてます! ● http://groups.google.com/group/enginee-ring ● 静岡Webデベロッパーフォーラム飲み会 ● https://groups.google.com/group/swebdev?hl=ja ● クラウド・カンファレンス in 静岡(第2弾計画中) ● http://atnd.org/events/19129
Download now