トップ «前の日(12-12) 最新 次の日(12-14)» 追記

おいぬま日報(不定期)

カテゴリ | 技術情報まとめWiki | 検索エンジンから来た人向け | RSS

2003年
12月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31



2004-12-13

@ [fswiki] FSWikiのcalendarプラグイン修正

現実逃避してやってみましたが、少し悩ましい部分が > たけぞうさん*1

ちなみに小バグが2つあったので潰しときました*2

*1 BugTrackのコメントに書いたので見てください

*2 出力するHTMLが文法的に正しくなかった

@ [win] iTunes

さらに現実逃避。これって非iPodユーザには関係ないシロモノだと思ってたのですが、CDからMP3に変換したりするのに使えるんですね。お手軽でとてもよい感じ。iPodももう少しバッテリー駆動時間が長ければ買うんだけどなぁ。


2005-12-13


2006-12-13

@ [cpan] CGI::Session::Driver::aggregator

以前セッションのデータを memcached と mysql に書き込む CGI::Session::Driver::memcached_mysql を作成したのですが、社内の人に「これって例えばfileとmysqlとか、違うドライバだったら毎回同じようなモジュール作らなきゃいけないので、どのドライバでも使えるような汎用的なモジュール作れない?」と言われたので作ってみました。

use CGI::Session;
use CGI::Session::Driver::aggregator::Drivers;
use DBI;
 
$dbh = DBI->connect('DBI:mysql:cgi_session;host=localhost', 'root', '');
$drivers = CGI::Session::Driver::aggregator::Drivers->new;
$drivers->add('file', { Directory => '/tmp' });
$drivers->add('mysql', { Handle => $dbh });
$s = CGI::Session->new('driver:aggregator', $sid, { Drivers => $drivers });
$s->param(hey => 'Blur blur blur!');

というように、$drivers に対してセッションのデータを書き込みたいドライバを追加していくと、データを読み込む時は $drivers->add した順、つまり file からまず読んでくれて、書き込むときは(追加したのとは逆の順序で) driver:aggregator がデータを各ドライバに書き込んでくれるという寸法です。

モジュールのインタフェースに関しては色々悩んだのですが、上記の形が現状のCGI::Sessionのプラグイン機構に一番しっくりくるのでこんな感じに。これでfileでもmysqlでもmemcachedでもなんでもいけるようになりましたとさ。

さきほどCPANに上げたのですが、こちらからもダウンロードできます。

2006/12/14追記:データを書き込む際の順番が逆になっていたのでver 0.03で修正しました。


Bookmark: あんてな | ぶっくまーく | 覚え書き | Project Amateras | ExcelPettyCashBook | FreeStyle Wiki

2002|10|11|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|11|12|
2008|01|02|03|04|05|06|07|08|10|11|12|
人気ブログランキング - おいぬま日報(不定期)