本日、
※セッションすべてをレポートするわけではありません。ご了承ください。
メイン会場となる70周年講堂の前の様子です。受付も設置されています。
10時20分頃のメイン会場内の様子です。
機材トラブルの関係から、10分押しの10時40分開始となるとアナウンスされました。が、セッション時間は規定どおりに進行されるとのこと
オープニング
YAPC::Asia運営事務局長 櫛井さんより、オープニングの挨拶が行われました。
今回のイベントは、過去最多の規模で構成されると話します。新たな試みとして、遠方からの参加者支援制度、個人スポンサーの募集、スイーツエリア
Jesse Vincentさん「Perl 5.16 and beyond」
Perl5の開発リーダーであるJesse Vincentさんによる、
まず、
その後話は今後Perl5をどのようにして進化させるべきかという話がありました。その中で、
その上で、
Tatsuhiko Miyagawaさん「Carton」
去年のキーノートを担当し、
CartonはCPANの依存関係を管理するアプリケーションです。WEBアプリが、
デモの中では、
Naoya Itoさん「Perlプログラマのためのスマートフォン開発ガイド」
このセッションでは、GREEのNaoya Itoさんがスマートフォンの開発についてお話しされました。
まず、最近のFacebookのスマートフォン向けのWEBページとネイティブアプリケーションの変遷について取り上げ、WEBページとネイティブアプリケーションが徐々に同じようなものになってきていることを挙げられました。その理由は、ネイティブアプリケーションにおいてWebViewを使い、WEBページと同じ資源を使うようになったからだそうです。
そのような技術の中で、PhoneGapとTitaniumMobileを取り上げ、概要について説明されました。PhoneGapはHTMLとJavaScriptでアプリを作るもので、それに対してTitaniumMobileはJavaScriptでネイティブアプリを直接記述するものです。PerlについてはSL4Aというandroidのアプリケーションを作るものがありますが、速度面などで実用は期待できないそうです。
最後にPerlとNode.
malaさん「Webアプリケーション高速化」
このセッションではmalaさんが、Webアプリケーションの高速化について発表されました。
まず高速化の手段として、努力ベースの方法、処理をできるだけ省略する方法、お金をかける方法があるといいます。
その上で、ハードウェアはすぐには早くならない事を念頭に、具体的なチューニング方法としてボトルネックの発見が重要であると説明。 その方法として、リソース監視やDevel::NYTProf等によるプロファイリングを挙げました。
また、Webアプリ開発用シェルを用意することの利点や、適切なキャッシュ方法の選択、レコード数が多い場合に高速に動作するクエリなど、およそシステム高速化に有用なノウハウを立て続けに披露。
さらに話題は
非常にテンポがよく、内容の濃密なトークでした。
Yasuhiro Onishiさん「新はてなダイアリーの裏側」
はてなの大西康裕さんによる、
まず、はてなダイアリーに関する簡単な説明に始まり、この秋Hatena Blogに名前が変わることを紹介すると、聴衆からどよめきが起こりました。
リニューアルする理由として、ミニブログやソーシャルタイムラインが流行する中、ちゃんと文章を書き残したいというユーザの声があること、 連続的な進化に限界を感じていることを挙げ、非連続な進化で一石を投じ、従来の良さを忘れずに進化することを目指すとおっしゃっていました。
また技術的なトピックとして、外部ドメイン化およびJavaScriptフリー化を挙げ、それぞれ従来の欠点と、新はてなブログでの改善点を紹介。セキュリティ面でも強固になったことをアピールしていました。
そのほか、アクセスコントロール機能やWYSIWYGエディタの実装、キャッシュ戦略などについて説明されており、非常にユーザビリティに細やかな配慮がなされていることが感じられました。
Marc Lehmannさん「AnyEvent, Coro, IO::AIO」
今回のゲストスピーカーで、
まず、
その後、
また、
徳丸 浩さん「Webアプリでパスワード保護はどこまでやればいいか」
このセッションでは徳丸浩さんが、Webアプリにおけるパスワード保護について発表されました。
いわゆる
次に、そもそもパスワードだけを保護する理由について説明。そのパスワードに対するクラッキングにはオンラインクラッキングと、オフラインクラッキングの二者があって、これらを分けて考える必要があると主張していました。
また、オンラインクラックの攻撃手法として、総当たり攻撃や辞書攻撃、ジョーアカウント探索
オフラインクラックの説明では、レインボーテーブルと呼ばれる、ハッシュ値から元の文字列を求めるための逆引き表を用いた攻撃手法をを例にとり、その高速性と正確性をデモを交えて実証されていました。
そして、レインボーテーブルへの対抗方法として、ソルトと呼ばれるランダムな文字列を元データに追加する方法と、ストレッチングと呼ばれるハッシュ計算を遅らせる方法を解説。レインボークラック・
非常に丁寧で、実例を交えての説明がとてもわかりやすい発表でした。
Kensuke Nagaeさん「RubyistのためのPerlウェブアプリケーション開発入門」
長永健介さんによるRubyプログラマ向けのperlウェブアプリケーションに関するトークです。
まずRubyによるWeb開発について、環境、フレームワーク、プラットフォームの3つの観点から説明されました。
環境についてはRVM(Ruby Version Manager)、フレームワークはSinatra、プラットフォームはherokuにそれぞれ注目し、システムとは切り離された環境とWebアプリのためのDSL(ドメイン特化言語)、抽象化レイヤーに対応したプラットフォームの利便性を解説されました。
次にPerlによるWeb開発について、Rubyと同様に環境、フレームワーク、プラットフォームの3つの観点で説明。 それぞれ環境にPerlbrew、フレームワークにMojolicious::Lite、プラットフォームにDotCloudを挙げ、RubyとPerlの間に大きな差は無いと主張されていました。
最後に、RubyとPerlの間には、似たような問題には似たような解があるということをおっしゃっていました。
makamakaさん「Perl Mongerなりきりカードゲームの考案と実践」
このセッションは、makamakaさんによるPerl Mongerを題材にしたカードゲームの紹介です。
最初に謝辞として、makamakaさんの奥様に焼肉を
本題に入り、今回の発表に出てくるカードゲーム
また、ご本人が会場のスイーツエリア付近で販売していたのですが、トーク発表の時点で既に売り切れてしまうほどの人気でした。
製作のきっかけや、ゲームの趣旨などについて説明し、ゲームの説明に入ります。曰く
そのほか、Hackポイントという
質疑応答では、誰か1名のHackポイントが0になった時点でゲーム終了(=全員敗北)になること、デッキ内容がすべて同じであること、先々拡張パックを販売するかも(しないかも)しれないということが解説されていました。
最後は残った時間でデモプレイを行いましたが、プレイヤーの方がカードを引くたびに
techno-catさん「perl meets beats」
このセッションは、techno-catさんによる
まず
次に音をファイルに書きだすロジックについて、サンプリング周波数、量子化ビット数、音の長さ、音の周波数の4つの情報があれば、ファイル書き出し出来ることを解説。実際に音を鳴らしてファイルが出来ていることを示しました。
これを応用してドラムマシンを実装し、WAVEファイルにドラムパターンの音源を出力するデモを実施。
さらに掘り下げてgrooveを実装し、それを使ったサウンドループをデモ。ハウス、ツーステップ、ドラムンベースというリズムパターンと、サイン波、ノコギリ派などを組み合わせて、テクノミュージックを演奏していました。
Perlでも音楽ができるところを見せてくれた、非常に可能性を感じさせるトークでした。
りーお@DeNAさん「Mobageソーシャルゲームにおける大規模サーバ運用 with Perl」
DeNAのりーおさんによる、Mobageソーシャルゲームの運用に関するトークです。
発表のきっかけとして、昨年のYAPC::Asiaにて省サーバ運用というトークを聞いて勇気付けられたので、対抗して
システムアーキテクチャとしては、Apache、MobaSiF(フレームワーク)、MySQL、memcached等といったプロダクトを使って構成されており、非常にシンプルであると説明していました。
次にケーススタディとして、2009年に怪盗ロワイヤルなどを開始して以来、すぐにシステムが大きくなり、トラブルになったことを例示。 この対策として、DB接続のためにDNSリゾルビングを行うなどのアプリケーションチューニングを挙げ、DBコネクション数の低減や冗長性の確保といった利点を解説していました。
また、MySQLのHandlerSocketを導入した結果、MySQLの速度がmemcachedに迫る速度になり、アプリケーションのCPU使用率が下がったという成功事例も紹介していました。
そして怪盗ロワイヤルでの事例として、イベントを実施した結果、あるクエリのレスポンスが非常に遅くなったこと等を挙げ、それぞれの対応方法を説明されました。
最後に、DevOpsとしての立ち振る舞いついて、イベントのことを事前に何も知らされなかったことなどを上げ、開発チームと運用チームの綿密なコミュニケーションの重要性を説いていました。
Lightning Talks
初日のライトニングトークです。90分間行われました。また、
なお、ライトニングトーク直前の休憩時間のメインホールは次のように席が埋まります。
ライトニングトーク開始時に、ドラ娘さんが紹介されました。
makamakaさん「Perl同人活動」
同人活動の報告をされていました。
tokuhiromさん「Amon2 3.0」
自身の開発されているAmon2の新バージョンについて紹介されていました。ロケタッチ認証への対応、
hakobeさん「Enhance Anime wathing with programing」
アニメ情報をPerlから簡単に扱うことができる、
株式会社カヤックさん
Yappoさん「App::Ikachan」
WEB経由でIRCボットの操作を行うことができる、
Kenichi Ishigakiさん「Let's play games」
Perlで作成した倉庫番のゲームを紹介されていました。デモで倉庫番の問題をスラスラと解くと、
Eikichi Gotohさん「仙台で1年間PMをやってみた」
宮城県から来られているEikichi Gotohさんのトークは、
SKYARC Systemsさん「北海道のIT勉強会事情の紹介」
今回のYAPCで
issmさん「ようやく始まりましたNagoya.pm」
Mayumi Takahashiさん「Perlが決めるwebの未来」
まずMovable Typeの10歳の誕生日を祝ったMayumi Takahashiさん。スポンサーセッションかと思いきや、
karupaneruraさん「アクセサについての考察」
Class::VirtualAccessorという、
turuginaさん「日常業務にperlを使おう」
Perlを使って勤怠管理システムへアクセスするノウハウの紹介でした。lwp-requestから始まり、
株式会社 リクルートさん「Mashup Awards 7」
日本最大級の開発コンテストである、
岡部恵一さん「登録第5314384号商標 厳密というより分かりやすく解説」
Perlの商標に関わる顛末について、
keroyonn_さん「Perlで次世代ゲーム開発」
Games::BeLike::EightBIT という、
Kosuke Arisawaさん「ぼくたちのPerl Module管理」
pfperlという、
nekokakさん「not ORM - for @kamipo」
DBIx::SkinnyやTengは遅いという指摘に応えるため、
tagomorisさん「ISUCONやった話 by livedoor」
先日行われたWebアプリケーションの高速化コンテストであるISUCONについての発表でした。優勝されたfujiwara組は、
懇親会
LT終了後、食堂に場所を移し懇親会が開かれました。今年はなんと懇親会費が無料とのことで、たくさんの人が集まり、歓談していました。
※ブラッシュアップする前にあったメモ書きの一部は、