YAPC::Asia 2013について
せっかくなのではてなブログにエントリ書いてみる。 Markdown使えるようなので、今後もはてなブログ使っていくかもしれない。
さて、YAPCは今年もTシャツ付きの2日チケットを購入して参加した。
見た発表 & 感想
09/20
- YAPC::Asia Tokyo 2013 オープニング (10 分) - 941
- Postcards from the Edge: The State of Perl 5 Development (40 分) - Ricardo Signes
- 主に5.18以降の話だった
- Perl5の将来の展望として、互換性をなくしていくということについては合意がとれてるけど、それがいつかは合意が取れてない
- 欲しい機能があればコード書いてパッチ送れとのこと
- CGI.pmがそのうちコアから消える
- 今時のカジュアルなデータベース関連開発 (40 分) - Songmu
- GitDDL::Migrator + DBIx::Scheme::DSL 使って生SQLを使わずにDSL定義されたテーブル定義をGit上で更新していくことでScheme管理している
- ソシャゲ上ではレコードの更新が多いのでmemcachedは使っておらず、Redisがキャッシュ用途に使われている
- Redisの使い方としては主に以下の3つ
- SortedSetを使ったお手軽ランキング、同率順位問題があるのでそのままでは使えない場合も
- Setでログインユーザの保持
- Listをジョブキューに使う
- Redisの使い方としては主に以下の3つ
- 4byteのUnicode絵文字があるとvarchar(255)は767byteを超えて、ユニークインデックスが貼れないのでutf8mb4を使ってvarchar(191)にする
- BrowserStack を用いたクライアントサイドのテスト (20 分) - Kosei Moriyama
- Vim実践入門 Perl編 (40 分) - Kazuhiro Homma
- ぼくがかんがえたさいきょうのMVC (20 分) - karupanerura
- Types and Perl Language (40 分) Masahiro Honma
- 発表機材でトラブってデモがなかった
- 型システム入門嫁ってことですね・・・
- ラムダ計算の概念を何となく聞きかじって終わっただけだった
- モダンPerlリファクタリング (20 分) - Naoya Ito
- inao2md.plリファクタの話
- マーチン・ファウラーのリファクタリングの文章を引用されていて、かつそれを実践していてわかりやすかった
- CLIのコードだったのでTest::Baseでエンドツーエンドのテストを書いていた
- テストケースをエンドツーエンドからどんどん小さくしていてモジュールの粒度も小さくしていった
- Carton / Github / TravisCI / Guard などを駆使した
- 20分ぴったりに話が終わって良かった
- 大きくなったシステムを元に新たな環境を作る取り組み (20 分) - Masaru Hoshino
- やさしいGit の内部構造 (20 分) でぃーきゅーねお
- 入門Gitを掘り下げたような内容だった
- このツイートが理解できるようになる→ https://twitter.com/yugui/status/244241024577327106
- ライブコーディングで学ぶWebアプリケーション (40 分) - toku_bass(守護霊)
- Lightning Talks Day 1 (60 分) - Daisuke Maki
- 途中で抜けちゃったのだけどルビーストがルビーの話をエルティーしてたり、ショートコントしてたり何でもありだった
- proveは便利なのでもっと活用されたし
09/21
- Perlで書く結合テスト (40 分) - Masaki Nakagawa
- Testing Casual で聞いたSETとかSWETの話が半分、あとはPerlで実際にテストする時の話が半分
- テストについてはAPIとWebアプリの2つのケースのグレーボックステスト(ホワイトボックステストとブラックボックステストの中間)
- WebAppの場合は、MechanizeやSeleniumやWightやBrownie使ってる
- MechanizeはJavaScript扱えないけど、SeleniumはHTTP Headerが取っこれない
- ユーザのセッションを保存して別らのテストブラウザでリストアする仕組みを持って対応している
- これからのPerlプロダクトのかたち (40 分) - Masaaki Goshima
- 昨年発表したgperlのその後の話
- gperlから切り出したCompiler::Lexer,CodeGenerator::LLVM,Parser作ったらPerlが別プラットフォーム・別言語環境で動くようになった
- empscriptenでPerl→JavaScript
- PerlでiOSアプリのPerlMotion
- これらのモジュールがそのうちgperlに還元されていってgperlが生まれ変わる・・・!?
- 五嶋先生の次回作にご期待くださいエンド
- contribute待ってる!
- PPI置き換えたら早くなって便利になる所いっぱいあると思うので期待したい
- YAPC::Asia Tokyo 2013 特別座談会 「Rubyの良いところ語ってください 〜そんなPerlで大丈夫か?〜」 (60 分) - Daisuke Maki
- 本当にあったレガシーな話 (40 分) - Daisuke Maki
- 20万行あるmod_perl依存のレガシーコードをPlack化したお話
- mod_perlは人類を不幸にする / $rは邪悪 / $rは死ぬべき
- warnをコメントアウトしておいてコミットするのはただのラクガキなのでやめてもらいたい
- Log::Minimalでデバッグログを履き続けて動作を追っていく
- デバッグログを履く時は、そのフラグをPerlの定数を使って定義すると定数の畳み込み?のおかげでif (false) { warn ... } となる部分がなかったことになる
- mod_perlのApache::Requestがとにかくつらそうだったけど当時はコレしかなかったんだろうなぁ
- 生Apache Handlerを徐々にPlackアプリ化していくのは2段階ぐらいに分けて直していた
- レガシーコードとは言っても当時としては創意工夫を凝らした最善なコードを書いていたはずで、時とともにレガシーコードとなっていくという例だった
- スマフォアプリ開発を支える認証認可アーキテクチャ (20 分) - Rieko Suzuki
- スマフォアプリ向けにOAuth2.0を独自にGrouped Refresh Token拡張をした話
- SSO実装するために使いますね
- Lightning Talks Day 2 (60 分) - Daisuke Maki
- takesakoさん毎年外さないLTで本当に凄いなーと思った
- Keynote (40 分) - Tomohiro Ikebe
- マネージャーって大変なんだね()
09/21 - その後自宅にて
YAPC終わった後に、シェアハウスにはてな勢がやってきて、スピーカーのゆううきさんに改めて発表してもらったりした
- はてなのサーバ管理ツールの話 (40 分) - Yuuki Tsubouchi
- Mackerelに使われてるTheSchwartzとかSQL::MakerとかClass::Accessor::Lite::Lazyとか知らなかった
- inside pixiv’s infrastructure〜application cluster side〜 http://inside.pixiv.net/blog/2013/09/17/phpcon2013/ をみんなで眺めた
YAPC楽しかったけど、やっぱり発表したほうがもっと楽しいんだろうなぁという思い。 ただサービス開発してるだけじゃダメだなぁと思ったり、普段会社で書いてるPerlと世間のPerlとの乖離を強く感じた。
会社内でいくらPerlめっちゃ書けるようになっても、世間では誰でも同じことがCPANで既に出来るようになっているじゃんみたいになっていたら怖い。
日々の業務にも創意工夫を持って取り組み、日々情報収集を怠らずしなければと改めて思った2日間だった。前情報を調べなさ過ぎてLTソンが前夜祭の中だけで、参加できなかったのがちょっと残念だった。
来年のYAPCはどうなるのかな?あるのかな?ないのかな?