東京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で鳴らす風鈴アプリ「すまほ風鈴」

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

感想

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

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

Node.jsMeetup