ということで、YAPCなるPerlのカンファレンスに1日だけ参加してきたので、個人的に勉強になったことをつらつら振り返ります。チーム内で簡単に共有しようと思ってまとめてみたらわりとボリュームが出たから記事にしちゃえっていう感じです。

YAPCについて詳しく知りたい方は本家にどうぞ。
YAPC::Asia Tokyo 2011

タイムテーブルはこちら。ほとんどのセッションのスライドも見れます。

あくまで個人的な所感であって正確なまとめではないことを予めご了承ください。Perl特有の話はよくわからんからだいぶ一般化してます。

SPONSERD LINK

Webアプリケーション高速化の話

スライド:http://ma.la/files/yapcasia2011

livedoor Readerの中の人が、いかにして高速化してるかの話。

・プロファイリング
  →プロファイラでボトルネックを探す
・キャッシュ、バッチ
  -バッチ処理で作るか、動的に作ってキャシュするか
  -適切なレイヤーで適切なストレージを使う
    -オブジェクトならmemcachedとか
    -HTTPレスポンスならNginxとか
    -静的コンテンツはフロントで処理する(Nginxとか)
  -キャッシュのウォームアップ
    -よく使われるデータをキャッシュに載せる
     例:RSSリーダーの未読フィード
・まとめて取得、まとめて更新
  →ループで毎回SQLを叩くのではなく、最後に一回で叩く
・Bloom Filter
  -trueが返ってきてもあるかないかわからないが、falseが返ってきたら絶対ない
  -ないかもしれない大量のデータを問い合わせる前にこれを使って絶対ないやつを間引く
   例:リンクを全てスキャンしてRSSフィードを吐いてるページを探す

高速化っていう括りで体系的にまとめつつ色んなTipsが散りばめられてて、今回見た中で一番面白かった気がします。

新はてなダイアリーの裏側

スライド:http://www.slideshare.net/onishi/ss-9726535

はてなダイアリー大幅リニューアルの話。

・名前がはてなダイアリーからはてなブログに
・クロスドメインでiframe内のコンテンツと通信が可能
  ⇒window.postMessageを使う

技術的な話はいっぱいあったんですが、そんなんできたんや!ってなったのがクロスドメインの話でした。Chrome Extensionでやろうとして挫折した気がする。気が向いたらもっかいちゃんと調べてみよう。

Webアプリでパスワード保護はどこまでやればいいか

スライド:http://www.slideshare.net/ockeghem/how-to-guard-your-password

徳丸本の人のセキュリティの話。Perlは一切関係なかった。

・クラック手法
  -総当り攻撃
  -辞書攻撃
  -ジョーアカウント探索
  -逆走あたり攻撃⇒一番危ない
・ハッシュだからといって安全なわけではない
  ⇒saltとストレッチングは最低限やるべき

ハッシュを平文に復元する方法はいくらでもあるからできる限りのことはやっときましょうねっていうお話。なるほど。

Perlで構築された中規模サイトのDC引っ越し記録

スライド:http://dl.dropbox.com/u/224433/YAPC2011/index.html

カヤックの中規模サービス「こえ部」DC引越しのお話。

・単一障害点をなくす
・段階的に移行する
・DC間にVPNを貼る。DBのレプリケーションも可能
・音声ファイル等はNFSを利用
・ユーザはメンテに「今まで不満だった部分が解消される」ことを期待する

サーバ台数とか使ってるミドルウェアも結構な数があるサービスをいかに止めずに移行させるか。実際の移行手順はなかなか面白かった。DBも新DCに旧DCのslaveをいくつか立てて、完全移行する時に新DCのslaveの1つをmasterにしちゃうとか。音声とか画像とかのファイルの処理とか。

Mobage オープンプラットフォームの事件簿

スライド:http://www.slideshare.net/zigorou/yapc-asia-2011zigorou

モバゲーの内のケーススタディ集。失敗学。

・失敗を次に活かすために
  -原因究明
  -失敗防止
  -知識配布

トラブルが起こった時にいかに再発防止するか。ぶっちゃけ中身は全然理解できひんかった。

Mobageソーシャルゲームにおける大規模サーバ運用 with Perl

スライド:http://www.slideshare.net/zigorou/yapc-asia-2011zigorou

モバゲーのインフラ周りのお話。

・インフラチューニングの話
・インフラエンジニアもアプリエンジニアや事業部との協業、情報共有が大事

短期間で急激に成長したサービスをいかにスケールしてきたか。これも具体的な内容はあんまよくわからんかった。あとセクショナリズムはよくないっていう話。うちにも当てはまりまくる。

感想

Perlに特化した話を避けてたらなんかインフラ系の話が多くなってしまいましたが、色々といい気づきは得られました。こういうベストプラクティスとか考え方って普段コード書いてて身につくもんじゃないし、1日だけやけど参加してよかったです。