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

YAPC::Asia Tokyo 2011 2日目レポート[随時更新]

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

昨日,本日(10月14日,15日)の2日間にわたり,YAPC::Asia Tokyo 2011が開催されています。本稿では,このYAPC::Asia Tokyo 2011 2日目の模様を随時レポートしていきます!

※セッションすべてをレポートするわけではありません。ご了承ください。

本日はあいにくの雨模様ですが、開始時間にはやんできたようです。雨にぬれてしまった方は、もしよろしければ着替えにTシャツを買ってみてはいかがでしょうか、との話がされていました(受付の隣で販売されています)⁠

画像

Kazuho Okuさん「Unix Programming with Perl 2」⁠

2日目の最初のトークは,奥さんによる正しいコードを書くノウハウについてのトークでした。奥さんは昨年のYAPCでも同様のタイトルでお話しされており,今回はその続編に当たる内容でした。

まず,IPC::Open3を使ったコードがロックする例を挙げ,それを防ぐ正しい書き方として標準入出力やエラー出力を正しくcloseすることを指摘されました。また,shellの実行の危険性を指摘し,open3を使う重要性を説いていました。

次にシグナルのレースコンディションに関しては,syswriteを使うなどして十分注意するよう呼びかけていました。非常に実践的でためになるトークでした。

画像

画像

masahiro naganoさん「運用しやすいWebアプリケーションの構築方法」

masahiro naganoさんによるトークは,システム運用をしやすいアプリケーションとはどういうもので,それを作るためにはどのようにすればいいかを考えさせられる内容でした。

運用しやすいアプリケーションとして,masahiro naganoさんは障害をなるべく起こさないこと,障害が発生したときはなるべく速く復旧すること,スケーラビリティを確保できること,の3点を挙げました。

ログを適切に出力するという観点では,時間,ログレベル,環境,スタックトレース,メッセージが出力されることが重要であると述べ,よく利用されているLog::Dispatchでは力不足ではないかと指摘されました。その上で,Log::Minimal,Plack::Middleware::Log::Minimal,DBIx::Sunnyなどのモジュールが紹介されました。データベースに関しては,接続が長くなり過ぎると運用上問題が発生することを挙げ,その対策としてScope::ContainerやPlack::Middleware::Scope::Containerといったモジュールが紹介されました。

さらに,memcachedのキャッシュミスによる問題の解決として,Cache::Memcached::IronPlate,Cache::Isolator,さらにサーバステータスの表示に関してはPlack::Middleware::ServerStatus::Lite,Parallel::Scoreboardなど,長年大規模サイトの運用に関わってきたmasahiro naganoさんならではの実用性の高いモジュールがたくさん紹介された40分でした。

画像

画像

Kazuhiro Shibuyaさん「おたくのIPv4まだ残ってますか? - PerlにおけるIPv6への対応状況」

渋谷和弘さんによるPerlのIPv6対応状況に関するトークです。 実は筆者が個人的に興味のある分野であり、発表を心待ちにしておりました。

はじめに、今年の4月にIPv4アドレスが枯渇したことを話題に上げ、既存のIPv4を有効活用しつつIPv6への移行を視野に入れる必要があることを主張されました。

そして、World IPv6 Dayの紹介があり、Perlの対応状況の話へと議題が移ります。

また、とあるブログで「PerlのIPv6対応状況が非常に悪い」と指摘されていることを提示すると、実際にPerlコアにはIPv6対応が入っていないことを示し、CPANモジュールで対応可能であることを紹介。 さらに、今年の初めにSocket.pmのIPv6対応がPerl5.14にて取り込まれたことについても、それまではIPv6に対応してなかったのだと語ります。

後半は、PlackにおけるIPv6の利用実験についての成果を発表。 Plackそのものについては、plackupのipv6オプションでIPv6に対応するものの、SSL非対応であること、StarmanではNet::Serverのバージョンを0.99.6.1にする事でどうにか対応可能であること、StarletはStarlet::Serverに若干Hackを加えることで対応可能であることを解説されました。

最後にまとめとして、IO::Socket::IPを使うとIPv6/IPv4両方に対応可能であるとおっしゃってました。

画像

画像

tagomorisさん「Whada: Multi-Protocol Authentication/Authorization Tool」

以前、ISUCONの企画運営をされたtagomorisさんは、ご自身で開発された、マルチプロトコル対応の認証ツール「Whada」に関する発表をされました。

まず、Whadaの概要と名前の由来を簡単に説明。 作った理由については、社内向けWebサービスにおける認証まわりの面倒事(認証システム自体のばらつきや管理上の問題など)などがきっかけと語られました。

次に、社内認証によく使われているものの代表としてActive Directoryを挙げ、大抵は人事部などのエンジニアがあずかり知らない所で管理されているために、指摘や変更に伴う手続きが面倒と主張。 そしてWhadaを使う理由として、エンジニア側で権限付与・剥奪などを手早くやりたいということ等を挙げていました。

また、権限や認証情報などのデータの流れを細かく解説し、実績として社内プロキシでの利用を例にあげ、実際の利用方法などを説明していました。

今後については、OpenIDやOAuthへの対応などを挙げ、チューニングへの意欲も見せました。

質疑応答では、LDAPサーチでの属性情報取得の可否や、アカウントが複数フィールドを伴う場合の対処法についての質問が寄せられました。

画像

画像

kentaroさん「DISられないCPANizeを目指して」

CPANモジュールリリースでの悩み事と解決案をkentaroさんが紹介してくれました。CPAN Authorになるための道筋を示した、興味深い発表でした。

はじめに「便利モジュールを作成したとして、DISられるのが怖い」という話を耳にしたことを挙げ、その悩みを解決する為の考察を語られました。

そして、私的および公的な動機と阻害要因がそれぞれ多数あることを説明。 このうち阻害要因についてスポットを当て、問題解決の観点から分析、阻害要因は主に知識や技量などの「不安」からくるものであり、それ自体が「ボトルネック」であると指摘していました。

この不安について、ご自信の経験談(2005年頃はプログラマではなかったことなど)を交え細かく説明。 また、当初と比較して膨大になった情報量に埋もれないようにする必要があると語られました。

その解決案として、CPANにモジュールをアップする前に見てもらう場所として、ご自身で開発/運営されているサイト「PrePAN」を紹介。

それまでの「勝手に添削」に期待する風潮を、PrePANでモジュールに関する議論を行う方向にできれば良いとおっしゃってました。

画像

画像

Tokuhiro Matsunoさん「Hacking with metacpan」

和やかな雰囲気の中、松野徳大さんによる、metacpanの活用法に関する発表が行われました。

最初からいきなり「まとめ」として、metacpanは簡単に修正可能であるとおっしゃられました。

そしてmetacpanについて、⁠search.cpan.org 2.0」であると解説。情報がフレッシュであり、アップしたモジュールがすぐ見れて、APIが提供されている事を利点として挙げていました。

また、最初の「まとめ」の通り、簡単に修正可能であることの証として、MetaCPANExplorerを開発したことを説明し、依存関係等についてJSONなどで取得できる様子をデモしていました。

最後は、残った時間を利用し、UkigumoというCIツール(継続的にテストを実施するためのツール)を紹介。 同様のプロダクトとしてJenkinsが挙げられますが、アプリケーションを作り捨てするような開発状況では使いにくいことが開発動機の1つだと説明されました。

質疑応答では、Amon2で作られたWebアプリケーションをCPANにアップしやすくなる仕組みを用意したいと、語られました。

画像

画像

著者プロフィール

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

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

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

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


東聡志(あずまさとし)

北海道函館市出身。今年の夏から、都内の大手IT企業に勤務。好きな言語はPerl。ScalaやFORTHにも興味がある。趣味はロシア語の学習だが,あまり板についていない。Hachioji.pmによく出没。

twitter:ytnobody
blog:http://yellowstore.blogspot.com/

コメント

  • ご指摘ありがとうございます

    そのとおりですので、修正させていただきました。
    今後ともよろしくお願いいたします。

    Commented : #2  gihyo.jp編集部 (2011/10/18, 01:45)

  • 運用しやすいWebアプリケーションの構築方法のレポートについて

    役不足という記述がありますが
    「素晴らしい役者に対して、役柄が不足している」という意味、つまり能力のある人につまらない仕事・簡単な仕事をさせるという意味なので、あやまって使われてるのかなと思いました。、

    Commented : #1  mstshimo (2011/10/16, 15:02)

コメントの記入