YAPC::Asia 2012感想

毎年恒例のPerl祭り「YAPC::Asia2012」に行って参りましたので
トークや全体の感想などつらつらと。

前夜祭(今年は行けず…)

トークまとめ

Web::Security beyond HTML5

HTML5時代のWebアプリケーションのセキュリティについて
ブラウザ側とサーバ側でどういう脆弱性があるか、
またどういう対策をすべきか、というありがたいお話。
IEほんとひどい。

リアルタイム通知システムの舞台裏

リアルタイム通知システムを開発するにあたって、
課題となったところやそれを解決した方法などのお話。
実は今自分もかなり似たような仕組みを作っていて
課題のところなどは「あーそうですよねー」など妙に納得しながら聞いてました。
通知サーバをクラスタ化するのは自分もRedisで検証してみたんですけど
同時接続15000行かないくらいで頭打ちになってしまい止めてしまいました*1
RabbitMQのpubsubはまだ試してないので一度触ってみたいですね。
後ほど直接お話したかったんですが見つからず…

Perl初心者が作ったサーバ運用ツール

サーバ運用の自動化について。
マニュアルでやると大変だし失敗もするし
そういうことを減らすためにTouryoというツールを作ったというお話。
DSLで設定やテスト書いて(ロールごと?)sshでリモートインストールする、という感じ?
また、LTソンではTouryoをgithubに上げない理由をお話されていました。
もちろんそれらを理解した上なんですが、上げて欲しいなあと思いましたw
*2

Perlと出会い、Perlを作る

世界一高速なPerlをスクラッチで書いている、というお話。
ほとんど趣味の範囲で書いているらしいですが徐々に動くところまではきている様子。
目標は「mixiのhome.plが動くまでがんばる」ということで楽しみですねw
実際のベンチマークでは既存のperlよりだいぶ高いスコアが出ていました。

続・Mobage を支える技術

Prallel::Prefork + Q4M のベストプラクティス的な話からスマートフォン通知やランキングの裏側の話まで。
複数ワーカでQ4Mを利用した時にシグナルを受け取ると子プロセスが処理中でも死んでしまう、
さらにqueue_waitで止まってしまう、などの
問題点を一つ一つ実例を挙げながら解決していくという素晴らしい内容でした。
スマートフォン通知はiPhone向け(APNs)とAndroid(GCM)にどのような仕組みでpush通知が行われているか、
それをPerlでどのように書くか、といった内容。
最後にリアルタイムランキングをRedis+MySQLPerlでどのように実現するかというお話でしたが
だいぶ時間が押していて端折られていました。詳しくお聞きしたかった!

Redmine::Chan で IRC からプロジェクト管理

Redmineの登録フローをIRCから自動で行うというお話。
単にチケット登録するだけではなくて、きちんとフローになっているのが凄いなーと思いました。
実際に使ってみたいです。

平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用

現状のWeb広告についてのお話と、DSP(Demand-Side Platform)システムの裏側のお話。
自分も昔ASPアドサーバの開発運用をしていたことがあるのですが、
まあそのサービス自体は「昭和」な感じでしたので中身はもう全然違いますね。
「古典的なことを地道にやる」「事実を積み上げて判断する」
というのはガツンときました。

Perlアプリケーションのベンチマークとプロファイリング

Webアプリケーションのボトルネックをどのように見つけていくか?
そのポイントと手法と考え方についてのお話。
実践的なお話かつ、いままさにプロダクションで負荷テストなど行なっているので
とても参考になりました。
Parallel::Benchmark+Furlでローカルテストしてみましたが、
ApacheBenchと比較しても(思ったより)差がでないくらいのパフォーマンスだったので
仕事でも使わせていただきたいと思います!

Perlハッカーは息をするようにCPANモジュールを書く

どのような動機でCPANモジュールを書いているか、
またCPANに上げる時のポイントやCPAN怖くないよ!というお話。
ドキュメントには「モジュールに対する想いを全部ぶつけるところ」らしい!熱い!
自分はgithubにたくさんモジュール眠らせてるタイプです…

LT

1日目/2日目とも全て楽しませていただきました!が、
やはりどちらもトリをつとめた方々(mayuminさん)(takesakoさん)は秀逸。

Keynote

How Perl Changed My Life

Perl、またはコミュニティから現在の自分にどのように影響しているかというお話でした。
自分も初めて触れたLLがPerlということもあり、
自分自身にも置き換えて考えてしまいました。

LTソン

LTソン本当よかったです。
集中してセッション聴いたあとにリラックスする場*3としてとても良かったと思います。
自分も飛び込みしたかったんですが、2日目の競争率が激しそうだったのもあり断念。

懇親会

ご飯も美味しかったしTwitterで見かけたり絡んだりする方とお話できてとても嬉しかったです!
毎年思っていることですが、もっとアグレッシブに行けばよかった、とか
ひと通り話し終わったあとに「あの話をすればよかった」とか後悔…

まとめ

Closingで「YAPCは懐の広いカンファレンスでありたい」という言葉がありました。
たしかにPerlに限らず他言語の話もたくさんあったにもかかわらず
一緒に盛り上がれるYAPCは凄いなと思いました。
丸々2日間本当に楽しかったです。ありがとうございました&お疲れ様でした!
そしてやっぱり来年も参加したいと思いました!

*1:これだとだいぶ要件に届いてない

*2:自分が参考にしたいというのもあったり><

*3:もちろん盛り上がりもありつつも