YAPC::Asia 2008 Fri. 5/16 (2)
YAPC::Asia 2008 に連日参加の tmorimoto です。毎年そうなのかは分かりませんが、平日2日間に渡って開催されました。平日に2日間というのは、中小企業に勤められている方にとって、参加が難しいのでは?と、個人的に思いました。大企業/ベンチャー系企業は、情報収集や技術研修という大義名分や代理や休日振替といった業務調整が容易だからです。
初日よりも2日目の方が私にとっては興味深い内容が盛り沢山でした。と言うのは、より(Web)サービス面からの Perl アプリケーションや事例紹介が多かったからです。
2日目に私が参加したセッションは以下の通りです。
- Masahiro Nagano (kazeburo) - memcached in mixi
- Yoshinori TAKESAKO (takesako) - How to defend Apache/CGI against multibyte XSS attacks
- Naoya Ito - Introduction to DBIx::MoCo
- tokiharu noto - Introducing "MobaSiF" (Mobile Simple Framework)
- Kazuhiro Osawa (Yappo) - Perlとリアルデバイスを繋げるって快感
- Shinya Hayakawa - Perlの!数学!妄想夢芝居!
- Kazuho Oku - Architecture of Pathtraq - building a computation-centric web service
- Atsushi Kobayashi (nekokak) - 古今東西ORマッパー
- Kan Fushihara - XIRCDで加速するIRCライフ
私が聞きたかったセッションの大半が講堂だったというのは、概ね事実です。しかしながら、id:monjudoh さんが「疲れたので講堂から動かない」と twitter で呟いていましたが、私も全く同感でした。2日目は少し疲れますね(^ ^;;
さて、昨日同様、個々のセッションの、私が興味深かった内容と感想を簡単にまとめてみます。
- Masahiro Nagano (kazeburo) - memcached in mixi
- Yoshinori TAKESAKO (takesako) - How to defend Apache/CGI against multibyte XSS attacks
- Naoya Ito - Introduction to DBIx::MoCo
- tokiharu noto - Introducing "MobaSiF" (Mobile Simple Framework)
- Kazuhiro Osawa (Yappo) - Perlとリアルデバイスを繋げるって快感
- Shinya Hayakawa - Perlの!数学!妄想夢芝居!
- Kazuho Oku - Architecture of Pathtraq - building a computation-centric web service
- Atsushi Kobayashi (nekokak) - 古今東西ORマッパー
- Kan Fushihara - XIRCDで加速するIRCライフ
大規模サイトでの定番(?) memcached の mixi での活用事例を紹介されていました。memcached とは、オブジェクトをメモリにキャッシュさせることで、動的な Web アプリケーションのパフォーマンスを高める事を目的としています。はてなや wikipedia にも導入されているようです。
mixi さんの事例だと、memcached 専用のキャッシュサーバ(Linux 2.6/PenD/64bit/4GB)を100台以上設けているそうです。キャッシュサーバの、メモリ使用率88%、キャッシュヒット率94%、性能/負荷15000req/sec、最大伝送速度400Mbps、コネクション数10000と、数字を絡めて説明されているところに、とても好印象を私は受けました。また、詳細は省きますが、分散アルゴリズムについて、今から導入する方は Consistent Hashing を選択すべきと提唱していました。
詳細は mixi エンジニアブログを参考にすると良いと思います。mixi さんの実績だけに、非常に説得力がありました。
リファレンス:
mixi->{engineers_blog} の memcached の検索結果
memcached by FFTT
真面目な話なのか、ネタなのか、とても面白いプレゼンでした(^ ^;;
XSS や SQL Injection のような、有名な Web 系アプリケーションの脆弱性について、その原理と事例を説明された後、それらを防御するための mod_wafful の紹介をされていました。おそらく、アプリケーションゲートウェイ の類の1つだと私は解釈したのですが、間違っていましたらすみません。詳細は wafful.org - Web Security Blog を参照してください。
セキュリティ関連の話題は、サービスとのトレードオフ関係となるため、技術的な側面よりも運用面が大きなウェイトを占めます。そして、実際は、意識の問題でもあったりします(従来の運用が変わったり、手間暇が増える事を嫌う)。takesako さんのように、セキュリティの話題を啓蒙し続ける事は、とても重要な事だと私は思います。(私も学生時代の研究テーマがネットワークセキュリティだったもので、、、)
はてなのバックエンドで使われている O/R マッパ DBIx::Moco の紹介でした。詳細は、既に当日の発表資料がアップされているので、そちらを参照してください。
はてな独自(?)の手作りモジュールで、MySQL と SQLite に対応しているようです。なぜ作ったかの理由が、私にとっては興味深かったです。「自分達で作った方が仕組みを理解できるし、何かあったときに手も入れやすい。」と説明されていました。OSS の世界では、車輪の再発明は、勉強目的以外には敬遠される傾向にあります。しかしながら、自分たちがメンテナンスする意志さえあれば、それも有りかなと思いました。
DBIx::Moco の良点は、シンプル、軽快、キャッシュとの親和性。悪点は、バグがあったり、ドキュメントが少なかったり、カバレージが小さい等を挙げられていました。
モバゲータウンなどで使われている、モバイルサイト向けフレームワークの紹介でした。モバゲータウンは、150億PV/month のアクセス数、1000万人の会員数を誇るサイトらしいです。そんなサイトでも、当然のように、Linux を使っています。開発初期ならまだしも、スケールアップした後も、運用に耐え得ることが、実績として表に出てくるのは、Linux Distributor として、とても嬉しいです。私が、モバイル系について疎いのと、午後一のセッションだったので、途中、ボーッとしてました(- -#、詳細は他サイトの記事を参照ください。
リファレンス:
【YAPC::Asia 2008】モバゲータウンのフレームワーク「MobaSiF」公開
Perl を使って、シリアル(通信)制御の電光掲示板(秋葉原の秋月で手に入るそうです)、 USB 制御のミサイルランチャーや bluetooth 制御のバランス Wii ボードを操作していました。"ハックする"という言葉は、こういう時に使うのだろうなと個人的に思います。シンプルに、面白かったです。
最も感想を述べるのが難解なセッションでした(^ ^;;
おそらくは演舞と Perl の群論についてのセッションでした。演舞は、コメントし辛いので置いておいて(^ ^;;、群論についてです。
私は、元々は理系の端くれです。一般人よりも、少しは数学的な理論に興味があるんです、多分。前半は、ほぅほぅと聞いていました。後半は、さっぱり意味が分かりませんでした。ラリー・ウォールさんのセッションの10倍以上、難しかったです。仮に証明ができたとして、その時にどういう喜び方をして良いのかさえ、分かりませんでした(^ ^;;
この日、私にとっては、最も刺激的なセッションでした。
Pathtraq という、ブラウザのアクセスログを集計して、統計情報からページランキングを作成するサービスがあります。テレビの視聴率調査の Web 版といったイメージでしょうか。Pathtraq の定番検索で、アジアのペンギンを検索してみた結果が以下です。
blog.miraclelinux.com/asianpenの定番ページ
本日時点の結果は、mallocで取ったメモリが一番ですね。興味深い情報です。
Oku さんのブログから、当日の発表資料のリンクを辿ることができます。例えば、"The Scale Out or Not(スケールアウトの是非)"によると、「データサイズが運用年数に比例する場合、ソフトウェアの最適化は最初の3年間だけ考えて、後はムーアの法則が支配的になる。」そうです。もちろん、そのまま当てはまるかどうかは、自サイトの特徴や実際の実証事例でしか判断できません。ただ、そういった指標を、具体的な数値で挙げると言う事が、説得力があり、聴衆にとっても非常に参考になると、私は思います。理系学生さんへのお手本とも言えるようなプレゼンでした。もちろん、私も見習おうと思います。
リファレンス:
サイボウズ10周年記念サイト Pathtraq
はてなキーワード Pathtraq
DBIx::Class, Data::ObjectDriver, Fey::ORM の3つの O/R マッパについて、その特徴や活用事例を紹介されていました。DBIx は、一番利用されていて、汎用的に便利そう。Object Driver は、six apart で使われていたりして、cache や partition の機能が大規模サイト系に受けているのかも?。Fey::ORM は、最近流行りの Moose ベースなので、今後の動向を注目だそうです。
私が、O/R マッパに明るくないので、ほぼ受け売りです。すみません(- -#
開発者の定番コミュニケーションツール IRC のセッションでした。IRC は歴史があるため、仕様が枯れてて安定しているから、良いんだとのことです。弊社でも Asianux プロジェクトにおけるコミュニケーションツールの1つとして、IRC を使っています。IRC サーバをイントラ内で構築して、日韓中でやり取りしていますが、とても安定しています。
また、お奨め IRC クライアントとして、3つ紹介していました。
・LimeChat : Windows/Mac で使える IRC クライアント。現在も開発が活発。
・Tiarra : IRC プロキシ。これを経由すれば、職場/自宅からでも同様に見える。また、ログインしていない時も IRC のロギングが可能。
・mobirc : 携帯端末からの用途に特化したもの。
さらに、本題の XIRCD は、Moosex::POE ベースの、IRC ゲートウェイとして、サーバプロセスを1つだけ立ち上げておけば、複数サービス(twitter 等)に応用することができるようです。現在も開発途上中で、iCal/RSS/Todo の機能を取り込むことも考えているとのことでした。何だかんだで、テキストベースの、シンプルなメッセージングツールが最も使い易いと、私は思います。これも今後、注目です。
以上、連日で YAPC に参加してきた感想でした。あくまで私の主観からの感想であり、且つ紹介している内容は、そのセッションのほんの一部です。
今回は、懇親会には全く参加しなかったのですが、次回はもう少し Perl のコミュニティを理解して、懇親会にも参加してみたいと思います。




コメント