« Google spreadsheetファイルをタブ区切りテキストファイルにする方法 | メイン | Vista買いました。 »

YAPC::Asia 2007 Tokyo 2 日目 Report

こんにちは。CodeZineウェブマスターの加藤です。

編集部の斎木さんから入場券貰ったので参加してきました。

参加したセッションをレポートにまとめたので、参考にしてください。


CDBI => DBIC

perlで古くから使われているDB接続ラッパー CDBIをDBICに移行しましょうというお話。
CDBIは使い始めは気がつかないが、使い続けていると、
いろいろ出来ない事が分かってくる。
コネクションの制御がこっちで制御できないのがもう駄目。
絶対プールしてしまうのが駄目すぎ。

そこでDBICに移行したい!しようよ!と。
会社をそっち方向に持って行きたいが、
政治的な理由や、移行の工数必要な事、CDBIで得てきたノウハウ、学習時間を捨てるには
勇気がいる、が移行するだけのメリットがDBICにはあります。

・移行は意外と楽らしい。コピペで直せば99%問題なし。なのだそうだ。
・上司を巻き込んでしまおう。その気にさせよう。
・世の中の流れがそっちになっている事をアピールし、CDBI使っていたら時代遅れ
になっちゃうよ?と焦らせましょう。

みたいな事を聞きました。
講義の時間の8割が自己紹介&雑談(笑える)
残り2割で政治的にはこうすればよろしい、といった時間割でした。


入門DBIC::Schema::Loader

DBICを使うと、DBICを使用したクラスの中で、
列名、プライマリキー、他のテーブルとのリレーション、ディフォルトの検索条件
やらを書かないといけない、テーブルに変更が発生した場合、それをperl側で取り込まないといけない。
それって超面倒。


なのでSchema::Loaderを使おう。
これを使うと簡単なメソッド1個呼ぶだけで、DBのテーブル構造から動的に
列名、プライマリキー(略
を勝手にい全自動で持ってきてくれる。プログラマーは楽チン。
だけど、DBの方にリレーションやらなんやらを書かないと駄目。
それって今の時代の流れとは違う。


Loaderクラス+自前のコードをうまく混ぜて、楽しましょう。

そんな話でした。前のに比べるとまじめな話でした。

・mod_perl と Loader の相性は全く問題ない。
・DBIC使ってプログラムを書くときは、意図していないコネクション数が増えていないか、
随時チェックをしてプログラムを書くとよろしいですよ。

と、最後の最後で大事な事をさらっと話して講義終了。


Writing Pluggable software

プラグインの仕組みを使ったソフトウエアを書きましょう。

プラグインの仕組み?フレームワーク?考え方?を利用してプログラムを書くと、

1.機能の追加が発生した場合、プラグインを追加、もしくは変更してやればよろしい。
メインの処理の部分を汚さずに修正できるのでスマート。
2.プラグインの開発は、面白いよ?見る範囲が小さくてすむので、作業も早いしね。
3.バグが見つかったときは
「ああ、それはプラグインをバグだね」
とメイン(大部分)にバグは無く、
バグをプラグイン(小範囲)に責任転嫁できるのが非常によろしい。


kwiki、MT、qpsmtpd がプラグインをうまく使ったプログラムなので
ソースコードを読むと参考になる。

カタリストにもプラグインがあるが、あれはプラグインじゃない。
プラグインはプラグを挿すと速攻で使えるからプラグインと言う。

カタリストのプラグインは、プラグインを追加した後、さらにそれを利用した
コードを自身で書かないとだめじゃん?それってプラグイン違うよね。

と、自論を熱く語っていました。

CZもプラグインの仕組みを利用して開発できたら面白そうだなー
と思いました。「プラグインのバグです」を言ってみたい。←名言(迷言?


Way to the NAPC

CPANは完璧ではない。

テストしていないコードもはいっているし、
コンソールの前で YES を入力するために一晩張り付いていなければならない事もある。

けど、最近だいぶよくなって来ている。
自動応答ファイルを作る事で、一晩張り付いていなくても良くなった。

PPM (Perl Package Module)というのが昔々にあった。
昔は良かったけど、管理していた会社が買収やらなんやらで、
今は駄目になっちゃったから使わない方が良い。

今は Vanilla というPPMにとって変わるものがあって、そっちの方が出気が良い。
ストロベリー Perl というのもあるらしい。甘ったるいのばかり。


技術的にはどうでも良いけど

NAPC は
CPAN を文字列分解(Split)して、逆(Reverse)にして、結合(JOIN)して
出来た名前だというのと、

Napster + CPAN だ。という2個の名前の論説があるらしい。

スポンサーサイト