愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

YAPC::Asia 2010に行ってきたかもしれない

けっこう長いかもしれない。あと、前の方の記憶が結構うすれてるかもしれない。

前夜祭(10/14 夕方〜)

WAF祭り

とりあえず、きのこ派(Catalyst派)とたけのこ派(Sledge派)がいることは分かった。あと、id:tokuhiromさんのWAF全般に関する考え(結局何のためにWAF使うのか?みたいな話)が聞けて面白かった。

LT

忘却(ドイヒー)。Getopt::Compact::Withcmd使いたい!

YAPC.vim

対談の女の人が誰だかよくわかんなかったので、c9sというVimanaの作者と喋っていた。その日の昼にVimanaに対してgithubでpull requestを出していたので、「おうgithubのアレか!」「githubのアレさんですね!」みたいな感じで会話を始めた。githubで始まる出会いってあるんですね!ステキ!(もちろん相手は男です)

c9sはPerlのモジュールもVimプラギンもかなりの量を書いていて、僕とか全然敵わないので会話は「こんなVimのpluginあるんだぜ!」「マジで!知らなかった!超クールだな!(It looks cool!)」という流れを繰返していた。


そんなわけで以下ちょっとだけYAPC.vim ↓


perlomni.vim - http://github.com/c9s/perlomni.vim

文字通り、Perlのomni補完。結構インテリジェントな補完ができて便利。とか打つのはしんどいので、inoremap して使ってる。注意点としては$HOME/.vim/binをPATHに追加する&そこの下のファイルに実行権限をつけること。


vim-makefile - http://github.com/c9s/vim-makefile

vim pluginのトップディレクトリに汎用的なMakefileをDLしてくるためのコマンド。pluginをちょっと試すときに、make linkを使うのが便利っぽい?


colorselector.vim - http://github.com/c9s/colorselector.vim

colorschemeを試すときに一々:colorscheme hogehogeするのって面倒なんだけど、現在のバッファで開いてるファイルに対してcolorschemeを変更するためのバッファを右側に開いてくれて、そこで選択したcolorschemeでの色の変化をリアルタイムに見れる。


cpan.vim - http://github.com/c9s/cpan.vim

Vimからcpanモジュールを検索したりcpanmでインストールしたりする。


App::gh - http://github.com/c9s/App-gh

gh list で特定のユーザのリポジトリ一覧を出したり、gh clone miyagawa/Plackしたりする、普通に便利なgithub用ツール。


c9s先生の次回作にご期待下さい!

一日目(10/15)

ちょっと気が抜けててLarryのセッションに遅刻してしまった。生Larryを見るのは初めてだったんだけど、エンターテイメント精神あふれる初老のカウボーイ、という感じだった。

この日の夕方にLTだったので会社のPCを持ってきていたんだけど、そのPCは当日、ログイン周りが何か変なことになっていてログインに10分以上要するウンコタレになっていた。あーどうしようどうしよう、今から資料作り直すとかやだしDropboxにバックアップとっておいたけどsyncし切る前に電源落しちゃったし、シングルユーザモードに落っこちてUSBとかにコピーしようとしてもFileVaultで暗号化されちゃっててダメじゃん、とか色々試行錯誤していたので午後の前半の方のセッションをちゃんと廻れなかった。残念。

そこから以降は、Studying HTTP with Perl -> 非同期タスクの通知処理 with Tatsumaki -> Writing prefork job workers / serversというコース。奇しくもprefork/非同期処理(event driven)について濃い3セッションを廻ったことになる。自分はまだWeb系のエンジニアリングの世界に足を突っ込んでからの時間が浅いのでpreforkやevent drivenについて、大体の概要や概念しか理解していなかった(残念な人だ)ので、それぞれの使いどころや向き不向き、勘所などについての知識が得られたのは大きな収穫だった。この手の話は、Perlを使うかどうかに関わらずWeb Engineeringに関わる全ての人にとって有益なものだと思う。

LTでは、タイトルは忘れたけどPhackの人が面白かった。時間が足りなくなったけど、ViciousとPhackともう一つのレイヤの何か(何だっけ?)も聞きたかったなあ。

自分のLTはすべり気味だったんだけど、原因としてはやっぱ「テンパって早口すぎた」というのと「作ったものの具体的なうまみがよく分からなかった」というのが大きいですね。一般的なテストツールという紹介じゃなくて、「こういう時に便利なテストモジュール」として具体的なデモを交えて紹介した方がよかった気がする。ブラウザ上のQUnitオブジェクトそのものをジャックするので、本番環境にあげてあるテストでも実行できる、とか。

一応スライドあげました。

http://www.slideshare.net/zentooo/testqunit-yapcasia-2010-zentooo-5464041


一日目の懇親会では、各界の著名人に会えて楽しかった(cho45さんとか)。

二日目(10/16)

一日目の教訓を生かさずに再度遅刻し、Ajax Application Testingの途中で入室。今度JSTAPd使ってみよう。

以降は Perlで自然言語処理 -> 映画に出てくるハッカーになりたい -> Unix Programing with Perl -> let's database testing! -> Inside mbga platform -> LT -> Keynote。

一個一個の解説を書いていくと色々キリがないので、Keynoteのみ。特に印象に残った点としては、「(WSGIやRackが先行していてPSGIが後に来た点とかについて)後から行ったほうが楽な場合もあるよね」とか、「とりあえずうだうだ考える前にコード書いちゃった方がいい」とか。感動的なセッション。

感動的だったので、ほとんどTest::TCPのラッパーだけどモジュール書いた。

http://github.com/zentooo/p5-test-plackup

=> 色々考えた末に要らないという結論に達したので消しました(^q^) (2010/10/17/20:11)

まとめかもしれない

YAPC::Asiaだけでなく他のPerl系の集まりにも共通しているのだけど、Perl系のイベントではPerl言語だけについて語る、ということはほとんどなくて、「Perlを軸としたWeb系総合研究会」みたいなイメージの方が正しい気がしている。WAFやWeb UIのようなそれこそ上の方から、Job Queueからworkerからインフラの運用・監視からUnixから、裏にあってユーザが意識しないものを含めたWebに関する話題があがっていて、それらを専門とする人々のglueとしてPerlが存在している。なので、Perlのコアなことだけを話すイベントだと思って敬遠していると結構もったいない。

僕はしばらく前にちょっと言語純粋主義者(別名、言語中二病)で、言語仕様とかにけっこううるさかったのだけど、それが比較的どうでもよくなったのはPerlのおかげかもしれない。ちなみに特にPerl信者になったとかいうわけではなく、JSもRubyもScalaもヘタの横好きです。ただ、言語の評価基準が横に広がっただけ。言語仕様だけから言語を語るのは実践を離れたナイーブな形而上学でしかなくて、その言語自身および言語を取り巻く環境全てを含めたものが、総合的な言語の評価だと思っています。言語はツールなので。

Perlは言語仕様に所々ウンコが落ちているけど、CPANモジュールのおかげで何だかんだで「何かを作ろうと思う」→「実現」までの距離をかなり詰めることに成功している言語だと思います。ウンコについては他の言語に学べばいいと思うし、逆に他の言語のユーザレポジトリはCPANに学んでほしい所が多い。


まあ何が言いたいかよくわかんなくなってきたけど、皆さん、特に運営の方々、お疲れ様でした!