東京Node学園 10時限目に行ってきました。

前々から参加したいと思っていた東京 Node 学園に行ってきたので、個人的なメモ。

Node の HTTP2.0 モジュール iij-http2 の実装苦労話(@jovi0608 さん

slideshare

Node を使って HTTP/2.0 を実装したというお話。

今までのテキストベースのプロトコルから、これからはバイナリベースのプロトコルになる。

Google のサービスは 100%SPDY 化しているので、Google が止まった時に世界のトラフィックが 40%減ったなら、世界のトラフィックの 40%は SPDY ってこと。

これに Twitter や Facebook などを合わせると、インターネットのトラフィックの半分以上はもうすでに SPDY 化されているんじゃないか。

Twitter がバルスに耐えられたのも SPDY の恩恵かも。

HTTP Server のコア

connectionListener の中では、GET や POST などの判断は頭文字でしかやっていないらしい!

GOT なんかでも通しちゃうけど、誰も困ってないしいいよね。みたいな?w

HTTP/2.0 フレームヘッダのパース

テキストベースだと何文字目が 0 がどうかなんてチェックをしなければならないが、 バイナリベースだとビット単位でのチェックを仕掛けることができる

まとめ

http と同じように http2 が使える!!

新しいテスト用ライブラリのご提案(@t_wada さん

標準の assert モジュールを使うと、書きやすいが、失敗した時の情報量が足りない。

JsUnit 以外の xUnit の場合は、assert の第一引数にメッセージを入れるが、JsUnit にはメッセージが無い!

これを改善するためには、expect.js を使うと失敗時の情報を表示することができる。

でも、表示するための構文を覚えるのは大変...

power-assert

Groovy の pawer-assert を元に、これを js に移植することで、 assert の構文で失敗時の情報を見やすくすることを実現!

実際は grunt を介して javascript のコードを解析して生成しているらしい。

まとめ

覚えることは少なく、かつテスト失敗時の情報を多く。

テストのハードルを下げたので、テストを書きましょう!w

Socket.IO 1.0 について(@nkzawa さん

slideshare

  • Socket.IO 1.0
  • Engine.IO

Socket.IO を使った残暑見舞い(@kiyu さん

web で鳴らす風鈴アプリ「すまほ風鈴」

同時アクセスで他の人の風鈴を鳴らすことも出来る。

感想

全体を通して、実装寄りですごく高度な内容。ついていくのが精一杯。

いや、ついていけてなかった。