Node.js基礎の基礎 - Miyazaki.js vol.2

Post on 19-Jul-2015

224 views 12 download

Transcript of Node.js基礎の基礎 - Miyazaki.js vol.2

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ならね