NodeKnockOutに参戦して、脱落した話
今年はNode学園祭を来週に控え、CROSSの準備をしたり、Fluentd meatup #3に参加したりしてたら、家族マイルがゼロになり、昨年のように日曜出勤扱いで取り組めないは、娘がこじらせた風邪に感染したりして、散々な状況でのNode KnockOutへの参戦となりました。
余談ですが、meetup後のmeatupでちらっと話したtcpでのheartbeatは、僕が帰宅する頃に開発が始まっていて、昼休みにはコードがコミットされていました。モヒカンまじコエェ。
余談2ですが、来年2013年1月18日に開催されるCROSSでは、割りととんでもないセッションが盛り沢山です。とりわけ僕が怖いのは @takesako さん率いるセキュリティのセッションと、 malaさん率いる「体系的に学ぶ安全な利用規約の作り方」です。僕が楽しみなのは、 @Jxck_ さん率いる、次世代Webとタグが爆発しているTech 10です。その他もものすごい見たいんですが、次回はUstで全部見ると、4時間x7トラック+αで1日では見終わりません。
本題
※この記事は「東京Node学園祭アドベントカレンダー」の28日目です。
上で言い訳を書いたんですが、結果としては、Node KnockOutは挫折しました。すみません。。。
ただ、その過程でいろいろ発見があったので、まとめておきます。
passport
ちょっと前までOAuth系の認証はnode-oauthを使っていましたが、passportを今回使ってみたら割りと使い勝手が良かったです。
設定はOAuthに比べて少し面倒ですが、middlewareとして使うのに、楽です。
app.get('/account', ensureLoggedIn('/login'), function(req, res) { res.send('Hello ' + req.user.username); });
上記のようにすることで、/accountにアクセスすると、認証を確認して、ダメなら/loginに飛ばしてくれます。
npm install --save
Jedの発表でもありましたが
$ npm install XXX --save
とすると、package.jsonに追記してくれるので良いです。
Express3.x(connect2.3+)とSocket.IOでのセッション管理
気がついたらみんな進化が早くて、昔 @Jxck_ が書いてたSocket.IO と Express でセッションの共有 (2011/8/9)のは全然使えなくなってて、ハマった。
あと、connectのバージョンも上がっていて、parseCookieもなくなって、cookie モジュールを使うようになってた
$ npm install cookie
その他
タイミングかもしれないけど、socket.ioのauthorizationの時のhandshakeデータのcookieにsidが入ってこなくて結構時間を食ったり、Twitterの認証が不安定で疲れた。。。
所感
今年のKOは全体にゲーム、チャット、よくわからないもの(笑)で構成されてるぽい
気になったのは下記の作品です
- senju サポートシステム面白い
- HEX ゲームのルールが良くわからないけど、リアルタイム感あるなぁ
- Mastermind ヴィジュアライズ
- helvetica cardian これ、結構好きかも
- STEM cells ライフゲーム久々に見た・・・
- 名前わからん 無駄に美麗なシューティングゲーム。mac bookのファン回りすぎ
- Preziew @Jxck_ の全員のスライドが登壇者にあわせて進む奴
- DISASTEROID 惑星の重力による軌道変更を考えたシューティングゲーム
- くま 我らが @meso さんなんだけど、このゲームむず過ぎない?
- nodbg ソーシャルデバッグツール
Node KnockOutのサンプルを見て興味を持たれた方
Nodeは非常に面白く、様々な可能性を持つ言語だと思います。興味を持たれた方は、本番はすでにチケット完売ですが、懇親会はまだ余っています。 海外コミッター勢も参加するので、ぜひ、生の開発状況や利用状況を聞いてみたい人はお越しください!