YAPC::ASIA Tokyo 2012に行ってきた。

各トークの内容はスライドや動画が上がると思うので、記憶が新しいうちに感想をまとめてみました。


0日目(前夜祭)

  • Officeで使うPerl Excel編(risouさん)

MS-Officeの生成物は不透明でとっつき辛い印象だっただけに、手軽に操作する手段があったことが衝撃。「うわ、TSVにでもしてLinux環境で処理してぇ。。」的なExcel作業が舞い込んだ時のために是非憶えておきたい。

  • UV - libuv binding for Perl(typesterさん)

Node.jsはおろかAnyEventも触ったことないけど、Node.jsと共に実績を作っているバックエンド部分を使っちゃおう!というアプローチはいいなぁ。

トークとは全く関係ないけど、先日、初めてJSON扱って数百個の $num =+ 0 を仕込み終えた直後にJSON::Typesがリリースされて衝撃的でした。是非使ってみたい。

  • Sqale の裏側(mizzyさん)

レンサバにしろクラウドにしろ、自由度の高い環境を提供しつつ大量のユーザを収める技術って、一般のWebアプリには無い独特な部分が多かったりするだけに、リリース直後のサービスについてそういう部分を見せてしまうあたりに「囲い込まない文化」みたいなものを感じた。

1日目

  • What Does Your Code Smell Like?(Perlのお父さん)

Rubyにあるような"何でもオブジェクト"的なスタイルや、function(関数指向?)を強調してのを聞いていて、「Perl6はPerl5がある(=存続する)お陰で、自由で面白いものになりそうだなぁ」という印象を受けた。あと、片手でサクサク編集してて俺の使ってるVimと違う><

# 英語わからんのでLarry Wallの伝えたかったことはたぶん汲み取れてないけどね。。

  • Web::Security beyond HTML5(hasegawayosukeさん)

DevSumiと重複する部分も多かったんだけど、最近、慣れないJSを意識してサーバサイドを書いたこともあって、すごくリアリティのある内容だった(汗
動作環境をブラウザベンダーや利用者に握られてるクライアントサイドの苦労もひしひしと・・・

  • リアルタイム通知システムの舞台裏(しんぺい@猫型技研さん)

スマホアプリとか扱ったことが無いんで新鮮な内容が多め。少しずつ欠点を潰していく過程(考え方)が説明されていて良かった。

  • 大きくなったシステムの疎結合化への取り組み(星野さん)

自分で書いて自分で直していてもだんだんとコードベースの全体が掴めなくなっていく感覚があるだけに、長年Perlの会社として蓄積し、色んな人の手が入った資産ともなるとその複雑さは想像もできない感じ・・・。同規模の状況に直面する機会がこの先どれだけあるかはわからないけど、「計る」「特定する」「悪化させない」「改善する」のアプローチは憶えておきたい。

  • GitHubを使った開発とデプロイ(まつけんさん)

Githubうんぬんの前にPerlぼっち開発から脱却できたストーリーが泣けた。ぼっちでもテスト書いてるって話してて素晴らしい。

  • Distributed Job System. Clutch(nekokakさん)

JobQueueとMessageQueueの解説が勉強になった。毎度ながらnekokakさんのプロダクトは既存のものとの違い(特徴)がハッキリしていて面白い。

  • 続・Mobage を支える技術(xaicronさん)

笑いすぎて肝心の内容が(ry というのは冗談で、XS使ったモジュールがシグナル受け取った時の挙動とか初めて知った。シグナル奥が深い。。

トークとは関係ないけど、API書いたりしててPerl Hackers Hubの記事などすごく参考にしてたので今期(ひっそりと)一番お世話になった感があります。

つい最近、平凡な要件ではあるけどミドルウェアの選定からWebAPIの設計まで一人で試行錯誤する機会があって、結果、知識・経験不足でどうにもレガシーから脱却できてない部分がたくさん残ってしまい、このトークはそういう背景もあって「あぁ、そういう手があるのかぁ」とすごく勉強になった。大規模な話やディープな話も勉強にはなるけど、こういう一人~少人数で全体を見て作っていく話は結構好き。

  • 半リアルタイム・分散ストリーム処理をperlで(tagomoris)

指定時刻のログを処理する例を用いたリアルタイム処理のニーズの説明が大変わかりやすく、会場からの質問で答えていたPerlで機能特化の擬似エージェント(?)を作ることを選択した理由も考え方の参考になった。

  • Lightning Talks Day 1

安心の爆笑くおりてぃでしたw

Furl気になる, お姉さん救ってて大変ジェントル, その一方でお姉さんが若干下ネタ, tunecoreはボカロPにもオススメみたい, etc

  • 懇親会

いつもながら入り込める輪が無くてうろうろしてたけど、刺身さんと話すことができたのでリリースを見て思ってた「Sqaleのここがイケテル!」的なことを色々話したら、こういうプロダクトを出すに至った下地とか、個人的にどんなチャレンジがあったとか、色々聞けてなんだか意識が高まった。ありがとうございました!

2日目

  • 「新しい」を生み出すためのWebアプリ開発とその周辺
(ゆーすけべーさん)

複数の切り口からこれから作るサービスを明確にする流れや、下手に飛びつかず技術の採用基準を設ける話が大変参考になった。
会場からの質問で答えてた、ぱっと見が似たサービスであっても、どこか目指すところが違っていることは多い、って話が良かった。なるほどなー

先人の知恵としてデザパタは勉強しないとなぁ、と思いつつ、使う予定のないJavaベースの情報が多くて手を付けていなかったので大変良かった。

言語そのものにも興味のある「Rubyによるデザインパターン」も買ってあるけど、これ読んだ後に普段使ってるPerlに適用する際には「モダンPerl入門」も読んでるみと良さそう。

Lean, Scrum, XPの範囲を階層化した図から入っていく流れがわかりやすく、「なんか流行ってるから試す」ではなく「この層にある課題を解決すべく○○を試す」という選択のヒントになった。

関わっていてターゲットがぼやけていくのを感じたり、関係者の頭の中に共通のコンセプトが無いことに悩むことは多いので、今回のYAPCの中ではあんちぽさんとゆーすけべーさんのトークが一番得るものが多かった気がする。

後から入った自分には神話の時代の伝説のような出来事も、当時その場にいた人にとっては今と変わらない好奇心や楽しみが言動力だったんだなぁ。
YAPC::ASIAが始まった当時には無かった道具やサービスがある現在なら、今までに無かった"新たな場"は生まれていくだろうし、このタイミングでエンジニアやってるなら、傍から見てるのではなく少しでも関わっていけるといいなぁ、とぼんやり思う。

  • PerlSQL のいろいろ(tsucchiさん)

色々あってMyISAMに触れてた期間が長く、最近になってInnoDBを生DBIで使うようになって悩んでた部分のヒントが貰えた。

  • ウェブアプリケーション開発の現状・課題とJSX(kazuhoさん)

JSはがっつり取り組んだわけではないけど、ブラウザ上の唯一の選択肢であるが故の「仕方ない部分」に切り込んでるのが素晴らしい。
あと、R&Dというポジションから見た分析結果が今回のYAPCでも希少な部類で興味深い。

  • 中規模ソーシャルゲーム開発に学ぶWebサービス開発と運用ノウハウ。もしくは2012年にPerlでWeb開発をする理由(songmuさん)

個人的に関心の高い小~中規模におけるノウハウが得られた点も大きいが、時折語られた「関わるサービスを選ぶ上での葛藤」や「外から見た印象と実際に関わった感じたことのギャップ」も将来の参考になりそう。

  • Lightning Talks Day 2

笑いとガチが入り乱れた混沌とした世界再び。一緒に行ったうちの新卒にもうけてたw

  • How Perl Changed My Life(mizzyさん)

語り方に派手さは無いけれど、当時を振り返って「本当に良かった」という雰囲気が伝わってきた。色々な機会を得た背景が語られていたが、全てに共通するのは「実際に手を動かした」という点だと思う。

最後の方で「みなさんに取って自分を変えたきっかけは?」という問いがあったので考えてみると、エンジニアなった頃に出会った「目標にできるエンジニア(だいたいはPerl書く)」と「知恵の詰まった自社開発プロダクト(こっちもPerlいっぱい)」でした。