だるろぐ

だるいぶろぐです

続・YAPC::Asia::Tokyo 2009行ってきた

ニ日目(9/11)

Kazuho Oku - スケールするウェブアプリケーションを20分で作る方法

コード的なのかと思ったら違って、ツールを使ってデプロイしたりデーモン動かしたり設定ファイルをsyncしたりなどだった。
こういうの色んな会社が色んな方法取ってるんだろうなあ。

Kenichi Ishigaki (charsbar) - Practical Bug Reporting / もしもバグを見つけたら

perlモジュールにバグを見つけたらどうするかという話。
CPANモジュールはCPAN Testersによって質が保証されているとか、8割方のモジュールはテストが通っているけど残りがアレだよねとか。
*Hoge::huga = sub {}; みたいな一時的対処じゃなく、CPANでチケット発行したりその際のtodoとか手順とか礼儀とか。色々有りすぎて大変そうだったけど、毎回こんなやり取りをしてるのだろうか。
モジュールの最新版もチェックするとか、外部リポジトリで管理しててそっちでは既に直ってるとか、既に同じ内容のチケットあるとか、再現手順を正確に伝えるとか、自分の環境を伝えるとか、ほんと色々大変そうだった。
で、バグ修正してもらうのにこんな面倒な手順を踏みたくなければ、「究極の方法はコミッターになることです」


質疑タイム。質問が出ないのでdankogaiさんに振られる。
確か、「いくら仕様だと説明してチケットをcloseしても何度でもopenしてくるような人はどう対処したらいいですか」と訊いていた。そういう人には、「そこまで言うならテストかパッチを送ってくれって言うと黙るらしい。
Encodeのメンテナともなると、ほんと世界中から色々言われるんだろうなあと思った。

Dan Kogai - Perl? Which Perl?

perl使ってるよねって言ってもどのバージョン?な話。

  • 5.6はエンコーディング周りがJcodeくらいしか使えないので移行したほうが
  • 5.8はモダンだしMooseも動くし一番使われてる
  • 5.10は最もモダン
  • snow leopardには /usr/bin/perl が5.10なのに驚いてた

で、perl6の話。pugsとdanさん作のAPIで、perl5ではこう書いてたのがperl6ではこうなる、っていうのを見せながらすすめてた。
perl5でOOPするにはこうするけど、Moose使うとこうなるよーとか、perl6だとclassを使うんだよーとか。
途中、予期せぬ事態に。newするときに、存在しないアクセサに値を持たせようとしたとき。danさんの中ではperl6ではエラーになるはずだったが、エラーにならなかった。Mooseもそうなのだけど、どなたか曰くMooseはperl6の真似をしてるだけ、だそうだ。で、この件はdanさんが誰かperlの偉い人に即効で直してもらうように依頼すると言っていた。いや、すげー。

Naoya Ito - はてなブックマークのシステムについて

はてなおやさん。最近ダイエットに成功して15kg痩せたとのこと。
はてなのユーザ数やデータ数、サーバ数、データサイズ、インフラとか中の人の数とかなどを紹介されてた。とあるテーブルにselect count(*)したら何か3億とか返ってきてた。
はてなの中で提供している機能を裏でどうやって実現しているかとかの具体例も見れた。公開してるモジュール・してないモジュールを使った方法の説明とか。
途中、ある機能の実装した人の名前が赤文字で出ていて、

これ何で赤文字かっていうと、この人にこないだ面談して、「将来何になりたい?」って訊いたら「有名になりたいです!」って…。
これがゆとり教育の弊害かと。

と。その人の名前出して、「とのことなので、○○をよろしくお願いします!」と。会場爆笑。
WAFを自作した理由は「特に無いんですけど…」とのこと。その後に何か続いたかもしれない。


質疑タイム。「時間が無いので一人だけ」とのこと。誰も挙手しなかったので、挙手した。前から気になってたことがあった。
はてブのお気に入りって、ユーザhogeのお気に入りページを表示しようとしたら、hogeのお気に入り全員のデータ引っ張ってきて、更にそいつら全員のブックマークを取ってきて時間でorder byして表示するっていうめっちゃ重そうでかつキャッシュしづらそうなデータ取得してそうなのに、hogeが新たに誰かをお気に入りに追加した直後にhogeのお気に入りを見てもデータの遅延とか無いけどどんなデータ構造してどんなデータの取得の仕方してるんだろう」
っていうのがそれなんだけど、
はてなが毎日のように重いんですが軽くなりませんか?」
って訊いてみた。Qに対するAは返ってこなかったが、「頑張ります」と返ってきた。そして質問したら会場に爆笑されるなどした。
エンジニアとして訊きたいのは前者だけど、利用者として訊きたいのは後者。ただそれだけだったのだけど。そして切実かつ真面目な質問のつもりだったのだけどどうもネタ扱いされてた。
いつか機会があれば前者も訊いてみよう。

Yoshinori TAKESAKO (takesako) - all your base32 are belong to us

タイトルの元ネタはAYB。これってマイナーなのかそうでないのか。ところでparent.pmのケツにもこのネタが書いてある。

内容は http://developer.cybozu.co.jp/takesako/2009/07/polyglotrejectk.html とほぼ同じ。ただ、MSなんとかでも実行できるようにパワーアップしてた。
改めて聞いても脱帽するしかない。実行できていいのかこれは。
最後のスライドに載っていたのは、AYBを発した男の顔がラリー・ウォールになってて紫色のアレを持っていて何だこりゃな画像だった。ネタに懲りすぎである。


散々記号プログラミングを堪能した後は質疑タイム。このときにかける声は普通は

質問ある人いますか〜?

とかなのだけど、今回は

…質問したい人いますか?

それだけで爆笑である。で、はてなおやさんが質問してた。

…何がtakesakoさんを突き動かしたんですか?」

爆笑。
で、対する答えは意外にも(?)ちゃんとしてて、要は自分の発したい語がFWとかでスパム判定されそうなときに、こういうことをしてすり抜けよう、と。
予想外の方向からのアプローチ。


この時間帯に別の会場でやってた「Good Evils in Perl」が気になってしょうがない。資料ないかな。
以前見つけたスライド、self.pmとか載ってたあれとタイトルが似てるからあれかな?

Lightning Talks (2)

インパクトあったのだけ。

miyagawa - CPAN realtime feed

CPANモジュールがCPANにアップされてから、それが一般人に行き渡るまで長くて2日かかるので、長すぎて待ってらんないので即効で知らせてくれるbot作りましたという。
botはこれ。http://friendfeed.com/cpan
で、デモ実演中。会場のネットワークが遅いのか、予想より反応が遅かった。
「ドラ鳴る前にくるかな〜」とか言ってて、その時点で残り1分ちょい。ハラハラしながら見てたが、見事間に合って更新された。
やっぱり拍手喝采



以上。

感想

勉強会に出た事もほとんどなく、YAPC初参加なので、前回のshibuya.pmバイナリアンの集い)みたいにギークが難しい事言うのかなと思ってたら、全然そんな事はなかった。
確かに難しい話も多かったけど、概念や仕様の説明は分かったし、ちゃんと全部分かるトークもあった。ということを色んな人に言ったら、「前回のshibuya.pmが異常なだけ」とのこと。よかった。
LLTVのときもyokohama.pmのときも今回も毎回、「話す側に参加すればよかった!!」と思った。俺でも全然立てるって分かったら尚更そう思った。HTTP::EngineとData::Modelを使ったwebアプリの作り方の例、とかそんなの。今後はちゃんと調べて積極的に話す側に行こう。…が、しばらくこういうのは無いそうで。残念。
勉強会に参加するのは実に楽しい。話も面白いし、ネットでしか知らない人に会えて話せるし、勉強になる。やっぱり外の世界に触れるのは大事だ。
毎回こういうイベントの企画、開催をしてくれる人に感謝。こういう場が提供されるのはかなり素敵です。


それではお疲れ様でした。