🧊

東京Node学園祭2014!

いってきました!

東京Node学園祭2014

聞いたセッション

  • workshop - socket.io v1.0 @TonyKovanen
  • 基調講演 @rauchg
  • What’s coming in Node, Express & LoopBack @ijroth
  • すべてのノードトランスパイラーがひどい!ならば、ノードトランスパイラーをいかに改善できるか。 @leichtgewicht
  • Node Past, Present, Future @mikeal
  • ギャルでもゎかる node-webkit @upgrade_ayp

海外勢に会える機会はそもそも少ないやろーし、
国内勢はきっとマメに資料を公開してくれるやろーし・・!
ということで、主に海外スピーカーのセッションを聞いてきました。

以下、簡単にメモ。

全編通してですが、Twitterでメモってる人もかなりいたので、
以下のタグを追うとだいたいわかりますw

#nodefest - Twitter検索

workshop - socket.io v1.0 @TonyKovanen

ワークショップですね。
ただ作るものが3DのFPSゲームってことで、まじか!ってなりながらのスタート。

Socket.IOを使ってログインからロビーから部屋作ってゲーム・・みたいなのが全体像。

とりあえずcloneして、困ったらファイルまるっとコピーして編集してました。
ページのマークアップとクラス名が気になって仕方なかったのは職業病ですね。

ライブコーディングのスピード自体はそれなりに早かったけど、
いかんせん最終形の完成度が高すぎて、時間が足りず最後までできずに終わりました。

時間の90%はログインしてロビーを表示する部分までで使いきっちゃって、
対戦相手が画面にうつった時点で終了でしたw

Githubにコードあるので、ぜひとも見返したいところ。

rase-/socket.io-workshop-full

developブランチならredisとか使ってない部分までになってるそうな。

基調講演 @rauchg

Wordpressも作ってるAutomatticという会社のCTOで、Socket.IOの作者さま。

最近のSocket.IO

MicrosoftのOfficeとかZenDeskなどエンプラ分野だけでなく、
最近流行りのIOTのシーンでも使われてて、まさかの潜水艦でも動いてるらしいです。

ファイルアップロードがつらい

Socket.IOによって従来のWebより進んだUXが提供できるようになったものの、
ファイルのアップロードに関しては今もまだ辛いまま。

Httpはそもそもそんな用途に向いてないし、
とかいってFTPはポーズもレジュームもリトライもできないので使い勝手が悪い。

そこでXHR2!

  • バイナリサポート
  • progressとれる
  • FileAPIと一緒に使えばアップロードのタイミングもとれる

これはワンチャンあるのではってことで・・。

Party

Partyというファイルアップロード専用のモジュールを開発中とのこと。
FTPと違ってどっちかというとBitTorrentみたくチャンクに分割してアップロードするから早かったり、
TCPを効率的に使う工夫をしてるらしい。

これは質問タイムにあった内容ですが、
Q: iOS/Androidなどモバイルでも使える?
A: スペックしょぼいしメモリ足りないから分割とか辛そうで色々制限するかもしらんけど、出来る限り最適化をする予定ではいるよ

とのことで、期待して待ちましょう。
もうしばらくしたら、AutomatticのGithubで公開するとのこと。

Automattic

What’s coming in Node, Express & LoopBack @ijroth

express作ってるStrongLoop社のCEOのIssac氏のお話。

最近のNode.js

  • APIサーバー作っとけばモバイルもIOTも対応できて幸せになれるよ
  • API作るならJSON返すんよね
  • JSON返すならNode.jsでしょ
  • \Yes! Node.js!/

node v0.12で使えるようになる機能の紹介など

GeneratorでcallbackHELLにさよならをって話とか、
HeapDump見れるよとか、
エラースタックが詳細になるとか。

bnoordhuis/node-heapdump
strongloop/zone

What's next in Express

次のExpress5はどうなるのって話。
Yoな方のGeneratorがつくらしい?

LoopBackの紹介

GUIでさくさくデータ作って同期してーみたいなデモ。

あっという間にAPIサーバーが完成して、GUIでデータ追加したりデバッグしたりできてすげー。
LoopBackStudio?っていう管理画面みたいなのがあってとても便利そう。

StrongLoop | Studio Beta

すべてのノードトランスパイラーが(略 @leichtgewicht

Google翻訳のニオイがしますね!w

Transpilerとは、SourceをSourceにするCompilerのことだそうな。
CoffeeもSassもHandlerbarsも、いうなればTranspilerだと。

ひどいっていうタイトルやけどそんなにdisりまくる感じではなくて、

  • 非同期で解析できないからコンパイルが遅いー
  • キャッシュが効かないから遅いーとか
  • 設定ファイルに記法やオプションがいっぱいありすぎるとか
  • 依存してるモジュールが更新されたら自動で動いてほしいとか

当たり前に色んなものを色んな書き方で使ってるけど、
まあひとつになってたらありがたいよねぇーという話。

統一したインターフェースにするためには、
全Transpilerの設定をラップする何かを用意するしかないかなーと考えてるとのこと。

にしても日本語お上手です。

Node Past, Present, Future @mikeal

Nodejsでproxyサーバーを書いてたんやけど、
Nodeがアップデートしてっていろんな実装が入る度に、
そのコードが短くなってったよ!って話からスタート。

Node.jsキてる

cpanやらPearやらRubyGemsと比べても、npmへの登録数は最近すごい右肩上がり。
直近のデータでは、なんとRubyGemの倍は登録されてる。

モジュールの書き方

モジュールのスタイルもパターン化されてきてて、

// Module pattern
module.exports = function() {}

// Callback pattern
api(arg1, arg2, function(err, result) {})

// Stream pattern
var readable = myModule(), writable = yourModule();
readable.pipe(writable);

ってな具合。

コールバックもつらかったけど、

tj/co

とかthunkifyとかで楽になってきたよねー。

思ったよりメモ取れてなかった・・orz

ギャルでもゎかる node-webkit @upgrade_ayp

ここでオジサンたちの目の色が変わった・・・!

というかはじめてご本人さまをお見かけしたのですが、
すごいテンポですごい濃い内容を話すあのプレゼンスタイルは圧巻の一言でした。

(^q^) があんな効果的に使われてる資料はじめてみた!
node-webkitでちゃんとしたもの作るときには、ぜひ一読しておきたい系のスライドでした。

そもそもhtml/css/jsだけでなんとでもなるし、
アプリにしちゃえばプログラムわかんない人にも渡せるし、
node-webkit、良いですよねー。

LT枠

電池が残り少なかったのでメモほぼ無しですが、ざっと思い出すと。

  • 世と宇宙と山の話
  • 広告配信のAPIの裏側は大変なことになってた
  • ログ扱うならHadoopでやれ
  • ビジュアライゼーション系のツールConcurix

その後のフリーLT枠も盛り沢山な内容で、お腹いっぱいです。
サンドイッチも食べ過ぎてお腹いっぱいです。

ありがとうございます弊社。

おわりに

あっという間の一日とはまさにこのことで、
いろいろとモチベーションが上がったよき日でした。

ほんまにびっくりしたけど、

あとはTwitter上では何度かお世話になってる@t_wadaさんにも直接ご挨拶できて良かったです!

てか普段TL上でお見かけする人をもっと探しだして絡みにいけばよかった・・といまさら。

ほんとにみなさんお疲れ様でした! #nodefest

私信: にしても普段の会長を見慣れてるせいか、今日の会長は輝いててちょっと見直しました。