ちょっと時間あいちゃったんですが、今年もYAPC行ってきたので、感想を書いておこうと思います。


IMG_0787.JPG
今回で三回目のYAPC Asia参加です。思い返せば2008年はMoose、2009年はPSGI/PlackとAnyEvent&Coroというすっごいムーブメントがあったんですが、2010年は極端な波はなかった気がします。じゃあ、あんまりインパクトなかったのかと言うと、そんな事はなくて、Perlのコミュニティが持つ力をすごく実感できたイベントだと思います。

実際に当日みたトークを振り返りつつ感想を書いてみたいと思います。




That Goes Without Saying (or Does It?) -Larry Wall

最初のトークはPerl生みの親であるLarry Wall氏。言語の開発者ならではの視点で、Perlの素晴らしさと、ほかの言語に対するDisりが入っていて非常におもしろかったです。たとえば、Javaに対して我々開発者が愚痴を言うとすれば、「オブジェクトの生成がいちいち冗長だ」とか「キャストがめんどくさい」とか、「コンパイラおばさん(私はこう言っている)が口うるさい」なんて良いそうですが、Larryの斬り方は着眼点が違います。「Import java.lang.Mathというアイデアは理解できない、みんあ数学をさんざん学んできたのにもかかわらず、いまさらimportしないといけないのか?」と突っ込んでいましたし、Ozという言語では、関数定義がFun(Functionの略) ~ Endで定義するんですが、「全てのFunがEndしている!」と突っ込んでました。そんな発想は全然なかったので、すっごく新鮮でした。


CloudForecast の紹介 -長野雅広

最近、CloudForecastはいつも仕事でお世話になっているので、聞いてきました。CloudForecastが何かというと、サーバーのモニタリングツールです。livedoorではCactiが主流だったのですが、長野さんが来られてからlivedoorのモニタリングツールの入れ替えがされて、こっちが主流になっています。特徴は軽量かつ高性能で、livedoorでは一台のサーバーで数千台のモニタリングをしているようです(自社ないの事ですが、これは初耳でしたw)。モニター画面はPlackベースで作られていて導入もお手軽なようですので、非常にオススメです。個人モニタリングツール使うとしたらやっぱりコレを選択すると思います。そのぐらい素晴らしいです。


モダンな Perl5 開発環境について - Modern Perl5 Development Environment - 2010年代を生きのびる Perl5 活用術 -Tokuhiro Matsuno

次はtokuhiromさんのトーク、今回のYAPCのテーマは「Wellcome Perl」という事と併せてかもしれませんが、Perlの開発環境のお話でした。tokuhiromさんらしく"モダン"なトピックが盛りだくさんで、perlbrewとかlocal::libとかcpanminusなど、このトークを聞けば最近のPerl5開発環境が解るトークとなっていました。cpanモジュールの選び方あたりも抑えているところが、流石というか、抜け目ないというか、とってもらしいなと思いました。


お昼

前回まではお昼の時間がちゃんとあったんですが、今回は明確なお昼時間がなかったので、ここでお昼に行きました。近場ですませば、次の枠もちゃんとみれたんですが、無性にラーメン食べたくなって、フラフラしていたら次の枠みのがしてしました。動画で確認しようと思います・・・

ちなみに食べたのは「しま坂」というラーメン屋さん。よりによって一番遠い所行っちゃいました・・

IMG_0784.JPG

好みからいうと、ちょっと味濃かったんですが、旨かったです。


DataPortability and SocialWeb Protocols -Lyo Kato

mixiのLyo Katoさん。OAuth::Liteの開発者でも有名です。私もちょっと前にmixiアプリを作ったときに、すっごくお世話になったモジュールです。近年OpenSocialが大流行ですが、OpenSocialを取り巻く技術を紹介されていました。AndoroidとiPhoneでの開発する際のTipsも一緒に紹介していて、どのようにデータを扱うのが好ましいのかセキュリティの観点もはなされていたのが印象的でした。スマートフォン開発者は是非みると良いと思います。


Studying HTTP with Perl -mala

続いてはmalaさんのトーク。クローラーなどを書く際に必要となるHTTP系のモジュール(LWPやURI::Fetchとか、WWW::Curlとか)についての解説、AnyEvent::Curlの紹介などから、プロトコルとしてHTTPは非常にシンプルかつ枯れた技術なのでRPCを実装する際も、独自プロトコルよりHTTPでの実装を検討すべきという意見や、HTTPライブラリのテストをどうやれば良いのかを解説していました。普通に外部のデータAPIたたくだけならそれほど考える必要ないかもしれませんが、クローラーやRPCを実装する必要のある人にはとても参考になるトークでした。


非同期タスクの通知処理 with Tatsumaki -keroyonn

すごく時間のかかる処理をユーザーを待たせる事なく行い、かつユーザーにフィードバックさせるための方法を発表されました。非同期で処理するためのジョブキューや、双方向なUIを実装するためのcometとかLong pollingとか言われる手法のお話でした。具体的にはタイトルにもあるけど、非同期WebフレームワークはTatsumakiやジョブキューシステムはGearmanでした。あとTatsumaki::HTTPClientの代わりをこなすためのWebService::Asyncというモジュールの解説もされてました。このkeroyonnさんはわざわざ北海道からこられたそうで、非常に凝った(仕込まれた?)スライドを準備されていて、プレゼン巧いな・・と思わされました。


Web サービスのページング処理について -吉見 圭司(walf443)

Webサービスのページングって、大概どこでも使う割にはあんまり目新しことないので、ちょっと興味を引かれたので聞きにきました。DBIx::Skinny::Pagerというモジュールを紹介しつつ、どんなページャの仕組みあるのかを話されていました。count(*)だけじゃなくていろいろな手法があるんですが、それぞれ特徴があって、甲乙つけがたかったり、多めに引いてcacheしておくとか、やっぱりいろいろ苦労しますよねぇ・・と妙に共感したトークでした。まぁページャおもくて仕方ないよ・・って言うほどのサービスをヒットさせる方が頭痛の種ですけどね・・


Lightning Talks Day One

1日目のラストはライトニングトークです。今回のライトニングトークはレベルがすっごく高かったです。満員となった会場は笑いの嵐、拍手の嵐。すっごく面白かったです。特に笑ったのを紹介すると、


* Ruby プログラマがPHPの会社 入って
  phpでRack/WSGI/PSGI的な環境つくったって話ですが、とにかく面白い!途中でタイムアップしちゃいましたが、最後まですっごく聞きたかった & 最後が気になるという人も多いはず。リベンジ期待ですね!

* 基幹システムがperlでどうしてこうなった
COBOLで動いている基幹システムをperlに!?というビックリな内容ですが、方法もとんでもなくビックリです。どうしてそうなった!?と突っ込まざるを得ない内容でした。


* That Goes Without Alpha-Num (or Does It?)
 竹迫さんのトークは毎回爆笑 > 驚き > 歓声 > 拍手とつながるんですが今回も例に漏れませんね!もう職人というしかないですね。ほんと感服します。

1日目まとめ

一回のエントリで終わらせようと画策してたら見事に失敗しました。それだけ素晴らしいトークが沢山あったということでしょうか。トークはyoutubeに全てあがっているので気になったモノがあれば是非ごらんになってください。

 今回感じたのは「Wellcome Perl」というタイトルだけあって、今回初めて参加の方やPerl以外の言語を普段使っている人の参加が多かった様な気がします(気がするだけで一切裏付けありませんが)。あとすごく関心したのは、トークの順番がよく練られている事です。これは2日目も通して参加するとより強く感じる事ですけど、今回のYAPCがすっごく纏まっていて、中身が濃く思えた一因にもなっていると思いました。

 なんかのびのびになっちゃってますが、感動の2日目のエントリは週中には書こうと思います。(週頭は旅行なもんで・・・)