東京Node学園祭2014に参加しました。
nodeschool in Japan
maxwell ogdenによるNode.jsのワークショップの日本出張版。 Nodeschool Tokyoに大体の内容が書いてある。
maxogden/levelmeup-jp · GitHub をやってみました。
levelmeup-jp
コマンドでターミナル上に問題とチュートリアルを表示levelmeup-jp verify my_program.js
で、作ったプログラムが正しいか評価してくれます
このバランスは新鮮です。社内研修に使えるかもしれません。
内容は非同期IOに慣れなくて、結果が取れる前に表示しようとしたり苦労しました。
基調講演
Socket.ioの作者、Guillermo Rauchの基調講演。
party
というブラウザからのファイルをアップロードするためのフレームワークの紹介です。
bittorrentっぽくファイルをチャンクに分けてアップロードする。 帯域を有効に使えるしresumeもできる。 File APIでファイル情報取ったり、XHR2を使って進捗取ったりしているらしい。
テストサイトで動いているのが見れます。 まだ、開発中でソースはAutomattic · GitHubで公開予定だそうです。
Guillermoの発表はFTPとかHTTPとか背景の説明がすごい丁寧。 最初に何の話をするのか教えて欲しいな・・・
What’s coming in Node, Express & LoopBack
StrongLoopのCEOによるLoopBackの紹介。 英語だったけど聞き取れるぐらいにゆっくりしゃべってくれたのがありがたかったです。
ツール類がすごかった
- zone StrongLoop | Announcing Zones for Node.js
- slc StrongLoop | Introducing slc – a Swiss Army Knife for Node
LoopBack自体はExpressベースのWeb APIフレームワーク。slc
コマンドでyomenみたいにscaffoldできるそうです。
zoneはデバッギング用のツールで、この辺をしっかり作っているのがEnterprize向けにありがたい感じです。
APIを作りたくなったら使ってみようと思います。
すべてのノードトランスパイラーがひどい!ならば、ノードトランスパイラーをいかに改善できるか。
Martin Heideggerの発表。
ちょっと難しかった。「トランスパイラーの品質特性を定義する」話だと理解しました。
- トランスパイラーはソース2ソースコンパイラのこと。
- 速度面
- インターフェースの統一
- 同じことするなら同じオプション名が良い
- Semantic Versioning 2.0.0みたいな感じ?
- better-compiler · GitHub で議論する予定
テスト用ライブラリ power-assert, その開発で学んだ npm モジュール設計の勘所
我らがt_wadaさんの発表
最近、power-assertを使ったので便利なのは知っていました。
講演を聞いて、感じてた以上に馴染んでいたっぽいとわかりました。 あまりにもしっくり動くので、便利さを軽視していた気がします。 このしっくり感はBrowserifyっぽいです。 assertion warはホントに終わるかもしれません。 *1
発表内容がsubstack pattern > UNIX哲学と突き進んで行くのがすばらしかった。
要チェックキーワード
- concat-stream
- esprima - estraverse -escodegen
オレオレ(C言語的な意味での)マクロが作れるってこと?ますますテストが大事になりそうです。
ギャルでもゎかる node-webkit
upgrade_ayp氏によるnode-webkitの紹介。
序盤緊張してたけど、載ってくるとすごいエネルギーだった。 可愛いギャルなのに技術キーワードバリバリw。
mochaがCUIで動かないのでgulpで出力先変えるハックとか、ソースコードプロテクションのために読込みhookするとかアプローチが技術的すぎて、違和感との戦いが大変でした。
いま、社内システムの魔改造をChrome拡張でやっている。 ページ遷移があるとnode-webkitが良さそうなので、切り替えてみます。*2
※以前の発表資料です
その他のメモ
- Azure上でNode.jsが動く
- Modulecounts のnpmモジュール数がすごい
- チケット毎にサブドメインを変えてデプロイ
- Voxel Builder これやばい。ブラウザ上でブロック組んでペーパークラフト作れる。どうやって作ってんのか全然分からん。
- Access - 東京Node学園祭2014 のマップがWebComponent
- autometa Excelをデータソースに使える
e-jigsaw/chatwork.md · GitHub ChatworkでMarkdownが使えるChrome拡張
TODO: generatorの素振り
まとめ
Node.js勢は勢いに乗っています。