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

f:id:yosuke_furukawa:20120630011637p:plain

今回も神回でした、東京Node学園 6時限目。

10分で作る Node.js Auto Scale 環境 with Amazon CloudFormation by @hakoberaさん


発表資料
Node.js Auto Scale環境って絵で見ると簡単だけど、ちゃんと作ろうと思うとすごく時間がかかる、という問題に対して、
CloudFormationっていうテンプレート化機能を使えば簡単に作れるよ、という話。

しかももうテンプレートはgithub上に作られていて、使って良いよ、という形式になっている。
CloudFormationはjson形式のため、javascriptに慣れた人なら簡単に編集できる。

v0.8.0のお話 by @koichikさん


発表資料
文字コードとNodeの話。
文字コードの歴史から始まり、最終的にはNode 0.8から UTF-16、4byte UTF-8がサポートされるようになりました、という話。
日本人コミッターにとっては避けて通れない話なんだろうと思わせる深い話。
文字コードの勉強になりました。

そうだったのか!よく分かるprocess.nextTick() by @jovi0608さん


発表資料

事前に展開されていたこともあって、すごくよく理解できた。
これを読まずして、process.nextTickを語るなかれ、という良スライド。

process.nextTickは自分も昔エントリを書いたことがあったけど、こんな翻訳よりもよっぽど分かりやすいです。

また、v0.9からprocess.nextTickは挙動が変わる可能性があるので、v0.9を見据えて読んでおきましょう。
個人的に最も心に残ったのは、@koichikさんがフォローしていた以下のメッセージ。


同期的関数は同期的でなければならない。非同期的関数は非同期でなければならない。I/Oのイベントを待つような非同期関数が、なんらかの理由ですぐコールバックを返さなければならない場合、直接callするような同期的動きをしてはならない。そういう時にはprocess.nextTickを使いましょう。

Nodeの力を100%発揮させるためには、こういうイベントループに関して意識した実装をしないといけませんね。

npmの話 by @jedschmidtさん


発表資料
npmってすごく高機能なのに、全然知らなかった。。。
目からウロコな話。

もう一発目の npm i で npm install の代わりになるって話だけで1ウロコ。
npm prepublish に処理を書くだけで、coffee-scriptを事前にコンパイルすることができる。って話で2ウロコ。
npm version minor, majorとか書くだけでpackage.jsonのversionを変えてくれるのも便利で、3ウロコ。

って感じでした。

LT大会

発表内容 発表者 資料
大規模開発でTDD @mizchi 原稿 — Gist
座席表とnode @synboo 東京Node学園 6時限目の座席表 - sekicoco [セキココ]
NodeでSNIを使ってみる @kawaz SSL証明書取得のススメ - Google Docs
腕とNode @ReiKawai 0628 node 学園祭 LT 「腕 と Node」
Node.js の PaaS まとめ @meso Node.js PaaS

LTは今回もどれも面白かったです。
特におもしろかったのは座席表とsocket.ioを組み合わせたセキココですね。
ああいうリアルと結びつけるのは良いアイデアな気がします。

@mesoさんの PaaS は旬なネタもあり、非常に面白かった。
@mesoさん的なおすすめランキングは、

Nodejitsu > OpenShift = Cloud Foundry > NodeNinja = Heroku

という事でした。

やっぱりNodejitsuはWebSocketが使えることがポイントのようです。
終わったあとで、dotCloudは何がダメなのか(WebSocket使えるし。)聞いてみたところ、強力なバックボーンがいないという事で、ランキング対象外、という事でした。

締め


やっぱり、v0.8が出たこともあってすごく勢いがありました。
Socket.ioも1.0になりそうだし、今年中にNodeも1.0になっちゃいそうな勢いでした。