nDiki : DBI

DBI - Database independent interface for Perl

DBI のバージョンと Perl のバージョン

Makefile.PL を見るかぎり DBI-1.37 までは 5.005_03 でも OK。 DBI-1.38 以降は v5.6.0 以上が必要 (v5.6.1 以上がサポート対象)。

2005年5月23日 (月)

SQLite とか DbUnit とか

最近急に RDBMS に興味をもってきた。 といっても、できればライトなやつ。

SQLite

Perl と相性が良さそう。SQLite はコードが少なく public domain なので、DBI用ドライバモジュール DBD::SQLiteSQLite のコードを全部取り込んでしまってある。 ActivePerl 5.8.6.811でもビルドできた。

PDLベクトルStorable (PDL::IO::Storable)でシリアライズして SQLite 保存し、後で必要な時に取り出しアンシリアライズして計算に使うっていう風にしたいんだけれど速度的にどうなんだろう。 要実験。

DbUnit

別件。 Oracle Database にアクセスする Java アプリケーションのテスト方法を思案中。 モックオブジェクトを使う方法も考えたけれど、やはり実環境に近い方がいいんじゃないだろうか。

となると DbUnit あたり?

そのうち設定してみるか。 開発者ごとにデータベースを作らねばならないな。

スポンサード リンク
[ 5月23日全て ]

2006年6月18日 (日)

DBIx::Class + SQLiteWiki認証/承認データベース

利用目的に合わせて認証/承認の機能を WiKicker に組み込めるようにする作業を行っている。

典型的な認証/承認用に、ユーザデータベースSQLite で作って使えるようにするモジュールを標準で提供できるようにといろいろ試みているところ。

直接 SQL を使うのは避けたいので、DBIx::Class を使ってみることにした。 同様のモジュールとして Class::DBI があるが、DBIx::Class の方ば良いという記事をみかけたのでこちらにしてみた。

全体像を把握するにはちょっとかかりそうだ。

[ 6月18日全て ]

2006年7月22日 (土)

Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合

入社してから社内情報共有の一環として

といろいろ手をつけてきた。 次に狙っているのは SBS である。

Wiki社内 Blog に書くほどではないけれどメモ程度にブックマークしておきたい URL を、気軽に晒せるようにするのが目的。

はてなブックマークのような公開サービスは

  • タグ・コメント・傾向などが外に出るのはよろしくない
  • あるいは、それを気にして活用されない
  • そもそも社内リソースについてはブックマークできない

という点から、今回は利用できない。

ということで社内に SBS を設置したい考えている。

最初は Scuttle にしてみようと思ったのだが、PHP ベースであるのと MySQL を使うというところで気遅れしている。 いや SQLite でもいけそうらしいということで、実は Debian でちょっと試そうとしたのだが、テーブル作成の SQLMySQL 用で、これを修正するのが面倒なので断念。

次に Perl + SQLite で動く Rubric を試してみることにした。

Rubric 0.140

Rubric は CPAN にあがっているので CPAN.pm から install Rubric でインストールできる。 モジュールをインストールしたら、セットアップ。

  1. CGI プログラムを動かすディレクトリを決める (以下 $RUBRIC)
  2. Rubric tarball の bin/rubric.cgi を $RUBRIC/ にコピーし、必要なら #! を修正する。
  3. Rubric tarball の templates ディレクトリを $RUBRIC/ にコピーする。
  4. Rubric tarball の style/rubric.css を $RUBRIC/ にコピーする。
  5. Rubric tarball の etc/rubric.yml を $RUBRIC/ にコピーして環境に合わせて編集する。
  6. データベースを初期化する。0.140 には makedb.pl が同梱されていないので、0.13_01 の bin/makedb.pl を参考に perl -MRubric::DBI::Setup -e 'Rubric::DBI::Setup->setup_tables' で初期化する。ちなみに 0.140 付属の rubric コマンドで rubric db -s してみたが、これはうまく動かなかった。
  7. 必要に応じて .htaccess を作成・編集し rubric.cgi を CGI プログラムとして実行できるようにする。またその他アクセスされたくないファイルを deny するようにしておく。

これで OK。

rubric.cgi にアクセスしページが表示されればひとまず成功。 メニューの「register」から、ユーザ登録する。 確認用のメールが届くはずだが、面倒くさいのでこれを待たずに

 rubric user -a ユーザ名

でアクティベートする。

Rubric の HTML フォームからのブックマーキングは成功し、うまく動いているようである。 ただし、日本語の処理はどうもよくない。 title や description が化ける。 惜しい。

基本的には UTF-8 ベースでうまくいきそうなのだが、どこかで化けるようだ。 ちょっと手を入れれば直るかなと思ったが、化けるところと化けないところとがあるので逆に直す場所が多そうなので今日はやめておくことにした。

とりあえず Rubric はおいておいて、他のものも試してみることにするか。

[ 7月22日全て ]

2006年9月5日 (火)

WiKicker 0.37 リリース - 主に添付関連の機能を改良

24時を過ぎたので、日付的には9月6日のリリース。

主に添付関連の機能を改良。 それから設定ファイルに BOM があっても問題ないように動くように改良。 BOM 対応は他のデータファイルもおいおい対応したい。

認証/承認機能についてはなかなか進まず。この間 DBIx::ClassCPAN からインストールしようとしたら make test でこけるし。 DBIx::Class は依存モジュールも多くいろいろ面倒なので、やっぱりやめた方がいいかなと思いつつある。 素の DBI でいくべきか?

[ 9月5日全て ]

2006年9月12日 (火)

DBIx::Class はあきらめて素の DBI + DBD::SQLite で。

WiKicker をベースとしたシステム用の認証・承認データベース開発であるが、結局 DBIx::Class をいじる時間がないので、素の DBI + DBD::SQLite でいくことにした。 SQL でゴリゴリ書くことになるけど、こっちの方が DBIx::Class の挙動を調べながら書くより(まずは)早く完成できるので。

WiKickerMakefile.PL で指定している依存モジュール指定からも DBIx::Class および関連モジュールを削除。

[ 9月12日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.078696s / load averages: 0.55, 0.49, 0.57
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker