Upload
nobuhiro-nakashima
View
229
Download
12
Embed Size (px)
Citation preview
Node.js基礎の基礎
2015/04/18 Miyazaki.js vol.2
自己紹介
Nobuhiro Nakashima @ombran JavaScript/Ruby/サンホラ/アニオタ 株式会社アラタナ エンジニア Miyazaki.js主催
今日話すこと
Node.jsの概要
今日話さないこと
Node.jsを使った 実践的なプログラミング内容
Node.jsって知ってますか?
2009年 Ryan Dahl氏によって開発
最大の特徴
サーバサイドJavaScript
Webブラウザの中で実行されるのではなく
サーバサイドで実行されるJavaScript
当然PC上のファイルに アクセスできます
JavaScriptエンジンは何?
JavaScriptエンジン Google Chrome:V8
Firefox:Spidermonkey Safari:JavaScriptCore
Internet Explorer:Chakra
JavaScriptエンジン Node.js:V8
Google Chromeと同じものを使用
Node.jsが 解決してくれること
C10K問題
C10K問題 クライアント1万台問題
ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと
マルチスレッド メモリ消費が激しい
1スレッド数MBでも 1000スレッド作れば数GB
どうやって解決するか
シングルスレッド
スレッド1つで処理する
メモリ消費が少ない
それだけだと数がさばけないそれだけだと数がさばけない
処理効率をどう上げるか?
ノンブロッキングI/O
処理にブロックが発生しない
1処理の終了を待たずに 次の処理をする
待ち状態という無駄を 極限まで減らすということ
どうプログラミングするか?
イベントドリブン
特定のイベントに対しての 挙動を設定する
JavaScriptでの普通の書き方
Clickイベントの設定など
フロントエンドの人も バックエンドができる
そうNode.jsならね