YAPC::Asia Tokyo 2010スペシャルレポート

1日目レポート[随時更新]

この記事を読むのに必要な時間:およそ 9.5 分

10月15日,16日,東京工業大学大岡山キャンパス (東京都目黒区) でYAPC::Asia 2010 Tokyoが開催されます。本ページでは,1日目のレポートを随時掲載していきます。

※今回のレポートは全セッションを回れておりません。ご了承ください。

画像

Daisuke Makiさん「Welcome Speech」⁠

JPAの牧さんより,開催の挨拶が行われました。5周年となる今回のテーマは⁠Welcome Perl⁠であること,基調講演の発表者をそれぞれ"The Beginnig","Current Master","The Purple Master"と紹介しました。

また,今回のイベント運営にノンエンジニアの941さんが加わり,運営に尽力されたことが語られました。そのほか,今回のイベントではロケタッチと協力してYAPCのシールを制作したことが紹介されました。

最後に,スポンサーに対する謝辞が述べられました。

画像

Larry Wallさん「That Goes Without Saying (or Does It?)」⁠

最初のトークは,今回のスペシャルゲストであり,Perlの生みの親であるLarry Wallさんによるキーノートでした。Laryy Wallさんは言語が思考に与える影響について話題として取り上げ,英語と日本語の違いとして「しなければなりません」は英語では「must」であるのに対し,⁠いけない」は英語では「must not」であることを取り上げ,日本語はmustよりmust notであることを話す方が簡単であり,同じことを話すにも利用する言語によって差異があると言語学者的な視点から指摘されていました。

画像

次にRMS(Root Mean Square)のロジックを各言語別に取り上げ,それぞれの言語に設計上で悪い部分があるのだと指摘をしていました。例えば,Perl5であればシジル($や@)が必要であったり,Adaではwithとuseをセットで使う必要があったり,Javaではメソッドの呼び出しにクラス名が必要であったり,ということを実際にコードを見ながら説明をしていました。また,随所にPerl6の記法を紹介しており,Perl6がこれらの問題点を克服しようとしているという印象を受けました。さらに,Perl6より短く書けるJ言語のコードを,コードが短過ぎてもよくない例として取り上げていました。

画像

Larry Wallさんのセッションでは日本語も随所に登場し,英語の部分もゆっくりと丁寧に英語が苦手な方へも伝わるように語りかけていました。Larry Wallさんが日本を大切に思っていることがうかがえるセッションでした。最後に,⁠YAPCを楽しんで下さい。楽しま"なければなりません"。」とジョークを交えて会場の参加者達にYAPCの楽しさを伝えていました。

画像

Kazutake Hiramatsuさん「Modern Perl Web Development on Amazon EC2」⁠

Kazutake Hiramatsuさんによる、Amazon EC2上でPlack/PSGIアプリケーションを構築・運用するうえでのノウハウ紹介でした。

Plackを使ったPSGIなWebアプリの作り方

まずはPlack/PSGIの基本の解説です。PSGIとはWebサーバとアプリケーションとのやりとりを規定した仕様であり、PSGIアプリケーションとは単なるperlのコードリファレンスであること、PlackはPSGIアプリケーション開発をサポートしてくれる便利なツールキットである事の説明がありました。Plackの中ではplackupコマンドが特に重要で、-sオプションによるサーバ実装の変更、-Lオプションによるロードモジュールの変更方法が紹介されていました。プロダクションで使うサーバとしてはStarmanかStarletがおすすめとのことです。これらはもう十分に安定しているとおっしゃっていました。 またPSGIアプリケーションの書き方として、自分でフレームワークから作ってみることを提案されていました。Plackを使えば比較的簡単にフレームワークが作れるということで、その際におすすめのモジュールとしてPlack::Request、DBIx::Skinny、Router::Simple、JSON::XSをあげられていました。

画像

daemontoolsを使ったwebサーバの運用

続いてdaemontoolsを使ったサーバの運用について解説されました。server_starterをdaemtools経由で起動する形で運用されているそうです。ただ導入の際はsrc/error.hの修正が必要なこと、起動シェルはexecでプロセスを実行しなければいけないなどの注意点をあげられていました。

cpanmを使ったCPANモジュールのインストール

モジュールのインストールに関しては標準のcpanコマンドは使わずにcpanmコマンドを使うのがおすすめだそうです。-lオプションを指定することでインストール先の変更も簡単に行えるそうです。

Amazon EC2上でのWebアプリ構築、運用

Amazon EC2については、普通にアプリケーションを開発する上では大きな違いはないとのことです。ただし、インスタンスを停止するとデータが失われる点や、IPアドレスが変わるケースなど注意点もあるようです。そのあたりはEBSやS3、Elastic IPといった周辺サービスで補う必要があるそうです。それでもオートスケールするのはやはり便利であるとのことで、CPI使用率などのしきい値を設定しておくと、自動的にインスタンスの追加/削除を行ってくれるのは魅力的であるとのことでした。

画像

リクルート メディアテクノロジーラボさんによるセッション

このセッションでは,リクルート メディアテクノロジーラボさんが実際に現場でPerlをどのように使っているのかを紹介して下さいました。スピーカーはお二方で,Kensuke Kanekoさんとkawanetさんが順に登壇されました。

石橋利真さん「最近のPerlな物作り事例」

まず最初に登壇された石橋さんのトークは,現場の様子を事例として紹介して下さるもので,大変参考になりました。メディアテクノロジーラボさんでは自分たちだけで実現しているATNDのようなサービスと,リクルートさん本体と協業するsuumoのようなサービスを手がけているとのことで,今回のお話は主に後者についてでした。

メディアテクノロジーラボさんでは「開発手法までを含めてフレームワークである」という考えの元,個人には全員に同じ環境のVMを配布し,Subversionに成果物だけでなく設定ファイル,必要なライブラリ等をすべて登録して開発を進めているそうです。また,扱っている案件の規模について紹介をし,エンジニアとして非常にやりがいのある環境であることを強調されていました。

質疑応答も非常に活発で,このトークへの関心の高さを伺い知ることができました。

画像

画像

kawanetさん「Mashup Awards 6」

kawanetさんが紹介をしたのは,技術者の支援とWEB業界の発展を目的として毎年開催されているMashup Awards 6に関してです。ルールは単純で,62社が公開をしているAPIのうち,1つでも利用していれば応募可能であるとのことでした。WEBアプリである必要はなく,組み込み機器からこれらのAPIを叩く物であっても構わないそうです。

多数あるAPIのうち注目のAPIの紹介が行われ,音声合成を行うNetVOCALOID-flex APIや,普段は非公開であるNHKさんのAPIなど,Mashup Awards 6ならではのAPIが紹介されており,このコンテストに賛同するサービスの多さを印象づけられました。

著者プロフィール

本間雅洋(ほんままさひろ)

北海道苫小牧市出身のプログラマー。好きな言語はPerlやPython,Java,Objective-C,Haskellなど。在学中には数学を専攻しており,余暇の楽しみは圏論や論理学を学ぶこと。現在はオンライン不動産株式会社にて自社システムの開発に従事している。

共訳書に「実用Git」(オライリー・ジャパン)、共著書に「FFmpegで作る動画共有サイト」(毎日コミュニケーションズ)がある。

blog:http://d.hatena.ne.jp/hiratara/


臼井洋文(うすいひろふみ)

WEBアプリケーションエンジニア。京都府京都市出身。仕事ではPerlでサーバサイドプログラムを書きつつ,Objective-CでiPhoneアプリケーションの開発を行っている。最近の興味は統計,機械学習など。

twitter:usuihiro
blog:http://d.hatena.ne.jp/usuihiro1978/

コメント

  • typoがありましたよ

    http://gihyo.jp/news/report/01/yapcasia2010/0001?page=4 にtypoがありましたよ。

    OpenOBOL -> OpenCOBOL の間違いですね、たぶん。

    Commented : #1  いしはら (2010/10/26, 00:54)

コメントの記入