2015年1月2日金曜日

Perl Beginners 主催交代について

ytnobodyです。新年おめでとうございます。

さて、主題の件ですが、Perl Beginners #16で発表致しました通り、ytnobodyはPerl Beginners主催を引退し、今後の主催をxtetsuji氏にお願いすることと致しました。

理由などについてはすでに上記スライドにて説明してあるとおりですが、今後もytnobodyはPerl Beginners開催時にはお手伝いをさせていただく所存です(もちろん日程が合えば一般参加します)。

なお、次回のPerl Beginnersについては、xtetsuji氏より発表がある予定ですので、今しばらくお待ちください。

よろしくお願いします。

Perl Beginners #16 開催しました!

昨年12/22(月)に、第16回目となるPerl Beginnersを開催しました。

会場はもはやおなじみになりつつある「東京都中央区立京橋区民館」です。人数の都合上、当日急遽18名上限の5号室に変更となりました。

なお、今回のテーマは「webアプリのいろいろ」というものでした。だいぶ枠の大きいテーマですね!

※ちなみに今回は主催ができるだけ覚えている範囲で書いておりますので、記憶違いや抜けなどがあるかもしれません。。。

Perl成分薄め?の基調講演


まず最初に、主催による基調講演「DockerでWebappを公開するまで」(mdこちら)を発表いたしました。

PerlビギナーになぜDockerをおススメする理由として「環境を壊しまくっても作り直せばいい」「意外とシンプル」等を挙げ、かなり単純なPSGIアプリを例に、デモを交えて実際の利用法を解説しました。

もしこの発表をきっかけに実際に手を動かして試してもらえたら、主催としてこれ以上なく幸いなことです。

ライトニングトーク


ライトニングトークのトップバッターはdokechinさんで、「音声投稿型Webアプリを作った話」というタイトルで話していただきました。
Recorder.js というjavascriptライブラリを使ったブラウザでの音声録音の試みというのは、大変興味深いものでした。また、録音したデータのバックエンドに無料CDNのCloudFlareを使うよう改善をしていったのも、時代を先取りしている構成で、良いなあとおもいました。

セカンドバッターはdebug-itoさんで、「Perlワンライナーで全てのモジュールにuse v5.8.0つける」という発表タイトルでした。
ちょうど直前にGnuplot-Builder-0.27をリリースしたそうですが、それとは別のbusybirdというプロダクトに「use v5.8.0つけたほうがいいよ」という指摘を受け、ワンライナーで付加していくという内容でした。perlの実行時オプションに -pというのがあり、それが有効時に$.で行番号を取得して、条件に利用する、というテクニックは、さすがにすぐには出てこないものだと思いましたが、このように書き捨てのスクリプトにはうってつけですね。

最後はtsucchiさんに「DB自動再接続の話」をしていただきました。
まずOtogiri::Plugin::AutoReconnectの実装方法で悩んでいたという背景事情があり、その際、トランザクションの最中に再接続が発生した場合や、Prefork型のアプリケーションでどうするか、という問題点が考えられたそうです。
これらへの対応方法はそれぞれ、「トランザクション中では再接続せず、例外を投げる」「親側で $dbh->{AutoInactiveDestroy} = 1 しておく」というやり方でできる、ということでしたが、Tengを使うか、先述の対応方法を意識してTengのコードを読むのが良いのではないか、というまとめでした。
普段TengなどのORMを使っていると、無意識の領域となりがちな部分なのですが、改めてみてみるとまた興味深い内容だと思いました。