Slide 1

Slide 1 text

VAN & Jack 12/04/19 1 Node Boot Camp!

Slide 2

Slide 2 text

ίʔν 12/04/19 Footer Text 2

Slide 3

Slide 3 text

͜ΕΛಡΊʂ •  http://speakerdeck.com/u/badatmath/p/nodejs 12/04/19 Footer Text 3 以上。

Slide 4

Slide 4 text

ಛ௃ •  Single thread •  Non-blocking I/O •  JavaScript •  V8 12/04/19 Footer Text 4 以上。

Slide 5

Slide 5 text

ಛ܇ϝχϡʔ •  なんでNodeなの? •  どんなものなの? •  どうやって使うの? 12/04/19 Footer Text 5

Slide 6

Slide 6 text

എܠ •  クライントのスペック向上 •  コンテンツのリッチ化 •  情報のリアルタイム化 12/04/19 Footer Text 6

Slide 7

Slide 7 text

ϦΞϧλΠϜWEB •  じわじわと普及 o  Google Docs o  Twitter o  Facebook 12/04/19 Footer Text 7 定量的なデータ

Slide 8

Slide 8 text

ϦΞϧλΠϜWEB •  サーバからデータを送りたい!(PUSH) •  ポーリングは非効率だなあ •  常時接続しちゃえ 12/04/19 Footer Text 8

Slide 9

Slide 9 text

The  C10k  Problem   12/04/19 Footer Text 9 e.g.  Apache HTTP HTML

Slide 10

Slide 10 text

The  C10k  Problem   12/04/19 Footer Text 10 e.g.  Apache Poling Ajax

Slide 11

Slide 11 text

The  C10k  Problem   12/04/19 Footer Text 11 Server Thread Thread Thread e.g.  Apache WebSocket SmartPhone

Slide 12

Slide 12 text

The  C10k  Problem   12/04/19 Footer Text 12 Server Thread Thread Thread e.g.  Apache WebSocket SmartPhone

Slide 13

Slide 13 text

The  C10k  Problem   12/04/19 Footer Text 13 Node.js WebSocket SmartPhone Server Thread

Slide 14

Slide 14 text

γϯάϧεϨουͷฐ֐ •  処理待ちが発生 •  複数コア使えない 12/04/19 Footer Text 14

Slide 15

Slide 15 text

I/Oって遅い CPU コア NW  Storage HDD L2キャッシュ Memory L1キャッシュ 3 14 250 41,000,000 240,000,000 = 約地球一周 = 約地球六周 1CPUサイクルを1mとすると

Slide 16

Slide 16 text

ಛ௃ •  Single thread •  Non-blocking I/O •  JavaScript •  V8 12/04/19 Footer Text 16

Slide 17

Slide 17 text

JavaScript •  元々非同期処理 •  クライアントサイドのリッチ化で流行 •  みんな書ける(よね?) 12/04/19 Footer Text 17

Slide 18

Slide 18 text

γϯάϧϖʔδ   ΢ΣϒσβΠϯ 12/04/19 Footer Text 18 HTMLの表示 ビジネスロジック HTMLの構成 HTMLの構成 ビジネスロジック クライアント WEBサーバ Request HTML APIサーバ Request JSON

Slide 19

Slide 19 text

ߏ੒   12/04/19 Footer Text 19 Windows  にて非同期対応するためにv0.6か ら導入された抽象化レイヤ I/O完了時にコールバック I/Oのキューを受け付ける 大津さん、   パクリました

Slide 20

Slide 20 text

ಛ௃ •  Single thread •  Non-blocking I/O •  JavaScript •  V8 12/04/19 Footer Text 20 おさらい

Slide 21

Slide 21 text

12/04/19 Footer Text 21 それでは  Jackコーチによる デモを御覧下さい