YAPC::Asia Tokyo×gihyo.jp presents―まもなく開催!アジア最大のPerl開発者の祭典、YAPC::Asia Tokyo 2009

第3回一般トラック

第3回目は、応募により選ばれた一般トラックについて紹介します。

一般トラックは応募のあったセッションのほとんどが入っているトラックです。製品の紹介もあれば、エキスパートによりノウハウの伝授、Perl言語の開発に関わっている方によるPerlの未来についての講演もあり、豊富な話題から刺激を得られること請け合いです。全部で35個のセッションがYAPC期間中に発表され、その内容の幅の広さはPerl言語の用途の広さとコミュニティの深さを感じさせてくれるものとなっているのではないでしょうか。

気になるセッションにはぜひチェックを!

なお気になるセッションを見つけた方はYAPC::Asia Tokyo 2009サイトにログインした後に各セッションのページ下部にある「add to personal schedule」の横の星マークをクリックしてそのセッションを見る予定であることを記録してください。講演者のモチベーションもぐっとあがりますのでぜひ登録を!

英語トラックを中心に

英語トラックには気後れをする方も多いかと思いますが、例年YAPCに来ていただく外国のスピーカーの方々はその世界でも一流の人たちであり、なおかつYAPCやその他のカンファレンスなどでも常に発表を行ってきているベテランばかりですので この機会にぜひ彼らのセッションに参加することをお勧めいたします。

(誠に個人的な試みですが、とくに英語のセッションに関しては筆者のできる範囲でYAPCの後で「おさらい会」をしてみることも考えています。希望の方は是非ご連絡を)

Perl6:

つい先日Perl6 の実装であるRakudoが2010年4月をめどに公開されることが発表されましたが、今年のYAPCではまさにその辺りの最新Perl6事情も聞けます。Perl6自体が突然Perl5を駆逐することはないでしょうが、ハッカートラックのTomorrow.pmなどでも取り上げられているようにPerl5でPerl6の良いところどりをしようという試みも続けられる中、技術者としては言語そのものの進化や新しいパラダイムに関しては気を配る必要があるはずです。

今年はPerl6開発に深く関わっているJonathan Worthington氏がSolved in Perl6で Perl6を使うことによって解決できる問題の数々の解説とThe Way To Rakudoでは現在のRakudo実装状態、そしてリリースに向けてのプランなどを語っていただきます。

また、こちらは日本語ですが、ご存じ小飼弾氏がこのようなPerl6に向けての流れが加速しつつあるなかPerl6に向けての準備が必要なのか、否か?など、現状についての説明をPerl? Which Perl?でしていただく予定です。Jonathan Worthington氏のお話と合わせて

Moose:

Mooseを使ったオブジェクト定義をより便利・強力にするための拡張モジュールは基本的にCPAN上にMooseX::* 名前空間にアップロードされていますが、日を追うごとにその数が増えており始めたばかりの人は一瞬とまどうかもしれません。MooseX::TourismではFlorian Ragwitz(rafl)氏にMooseX周りの珠玉の拡張モジュール群を紹介をしていただきます。

API DesignではShawn Moore氏がAPI設計、特にプラグイン機構を組み込む際の設計について、Moose, HTTP::Engine, IM::Engine, Dist::Zilla, KiokuDBI, Fey, TAEBなどの開発を通して得た経験を元に語っていただきます。このセッションでは特にプラッガブルなシステムをMooseのRoleを使うことによって開発する方法についても解説します。もっとうまくAPI設計をしたい!という方、大きなフレームワークの開発に関わっている方は必見です。

その他:

最後に筆者も詳細はまだよく理解していないのですが、昨年のYAPCでも作者のJesse Vincent氏が紹介していたProphetを使用したSDという分散バグトラッキングシステムの使い方がP2P Bug tracking with SDで紹介されます。gitのような分散VCSと動作させるように設計されているとの事なので、なかなか気になっています。

その他の英語トラック

Good Evils in Perl(Perlの正と邪)
Perl機能・CPANモジュールの中でのおすすめ・すばらしい物(正)と使うべきではないもの(邪)を紹介します。
Learning from Ruby
PerlのカンファレンスなのにRubyです!このセッションではRubyで使える機能をPerl5でも使ってしまおうとします…!
perl hacks on vim
vimで使えるPerlハックと、Perlで書かれたVimスクリプト管理ツールの紹介。筆者もvim使いです:)
Redefining technological debt
開発作業でどうやっても蓄積されてしまう「技術の負債(仕様と実装の差⁠⁠」をどのように技術を理解しないマネジメントと共有し、現実的な折り合いをつけていくのか、そしてそのための方式を紹介します。

システム管理・運用

Perlといえばシステム管理・運用のシステムだと実は筆者は認識しています。Perlとの出会いも某米国の会社でシステム管理ツールを書いていたときですし、その後も複数のシステムと絡む際に必要となるモジュール類が探せばほぼすべてCPANにあがっていてどれだけありがたかったかよく覚えています。

Perlでシステム管理をしていて困るのが実はCPANとperl以外のパッケージングシステムとの共存です。さまざまな方法があるのですが、システム管理者としてはLinux系のマシンであればrpmやaptといったシステムを使いたいと思うのが普通です。dann氏の CPAN::PackagerによるRPM/Debの自動生成ではCPANモジュールからそれらのパッケージングシステムに使えるPerlパッケージを作る方法を語っていただきます。

実際に運用されているシステムの話としては伊藤直也氏のはてなブックマークのシステムについてと、長野雅広(kazeburo)氏によるmixiの配信の裏側についてのモバイル画像配信とPerlがあります。大規模サイトの運用は誰もが参加できるわけではないので、最前線で運用と戦っている方たちのセッションは非常にためになるはずです。

直接システムと関係あるわけではありませんが、Asynchronous Database Queries with Perlも大規模なツール類を開発する際には必ず向き合わなければならない大量のデータベースクエリという重要なトピックに関して聞くことができます。同じ技術を使うかどうかわかりませんが、非同期プログラミングに関してはハッカートラックの項で紹介したAnyEvent, Coroと言った非同期プログラミングフレームワークのセッションと合わせて聞いてみるとよりわかりやすいかもしれません。

またまだ本稿の段階で詳細がわかっていないのですが、[24時間365日] サーバ/インフラを支える技術などでも知られるひろせまさあき氏によるインフラのはなし(仮)も実は気になっており、筆者が寄ってみたいと考えているセッションの1つです。詳細が入ったら皆さんも是非確認してみてください。

製品、フレームワーク紹介

YAPCはPerlハッカーたちが作り上げてきたフレームワークや税品の絶好の発表場所です。今年はplaggerなどの製品を世に送り出してきた宮川達彦氏はRemedie: Building a desktop app using Perl, SQLite and jQueryでメディアセンターRemedieの紹介および裏側について語ってくれるほか、 DeNAで開発されているMobaSiF::Template⁠、Perlで書かれたFlashメディアサーバーKamaitachi⁠、分散ファイルストレージ ⁠prettyfs⁠⁠、O/Rマッパー「DBIx::Skinny⁠⁠、そしてジョブキュー「Qudo」が紹介されます。

最先端の製品をウォッチしている方、新製品の開発に参加してみたい方は必見のセッションです。

Web

JPAでは「PerlはWebのためだけのものではない!」というメッセージを伝えようとしていますが、だからといってWebで使われなくなるわけではありません。もちろんWeb系のセッションも多数あります。

mixiなどで採用されているジョブキューQ4Mやインターネット全体から注目されている情報を見つけ出すPathtraqなどで知られる奥一穂氏がスケールするウェブアプリケーションを20分で作る方法というなかなか興味深いタイトルのセッションを執り行ってくれる他、WebアプリケーションフレームワークAngelosのdann氏による優しいモダンなWAFの作り方>⁠⁠、ark - framework inspired by Catalystではkamaitachiのセッションでも紹介した村瀬大輔(typester)氏によるWebアプリケーションフレームワークarkの紹介、そして小規模WebサイトのためのCGIフレームワーク「Sabae」などもあります。

PerlにおけるWebアプリケーションフレームワークは百花繚乱状態ですがその中でも共通部分を抽出して車輪の再発明を減らそうというHTTP::Engineフレームワークも注目です。こちらについては日本Perl界の若き貴公子 松野徳広(tokuhirom)氏はHTTP::Engine拡張についてHTTP::Engine::Middleware - DRY な Web Application Framework を目指してで語ってくれます。

また、現在のデファクトスタンダードであるCatalystに関しては木村秀夫(hidek)氏のmodern Catalystで以前JPA研修でJay Shirley氏が話してくれた内容なども絡めて、Catalystの最近の作法、ベストプラクティス等を聞くことができます。

その他

Perlを使っているとCPANからインストールした他人のコードを使う必要が必ずでてきますが、そのコードにバグがないとは誰も保証できません。バグかもしれない、そんな時に慌てないために重要なのは問題をきちんと把握し、それを正しく報告したり対処する方法を知っておくことです。モダンPerlへようこその連載などで知られる 石垣憲一(charsbar)氏がPractical Bug Reporting / もしもバグを見つけたらでそのノウハウを解説してくれます。

今回紹介できなかった他のセッションもまだまだあります。こちらもぜひどうぞ!

FormValidator::LazyWay で検証ルールをまとめよう
FormValidator::LazyWayを使ったバリデーションについての解説。
Key Value Store with O/R Mapper
Data::Model によるKey Value Storeの紹介。
Perlbal Tutorial
MemcachedのBrad Fitzpatrick氏によるPerlによるロードバランサー・リバースProxy、Perlbalの設定方法を解説。Perlbalのさらに深いところを知りたい方はハッカートラックのDanga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法も合わせてどうぞ。
お手軽・お気軽・お気楽な サーバー&クライアント
POE::Component::IKCを活用したPOEIKECによるRPCサービスの作り方解説。
Perl database test using MySQL::Sandbox
MySQL::Sandboxによる、本物のmysqlインスタンスに対してのテスト方法の解説。

最終回である次回は 基調講演2件についてと、Yokohama.pm主催による前夜祭について紹介してみたいと思います。

おすすめ記事

記事・ニュース一覧