2007/06/23

MP3::Tag

mp3にID3v2タグを埋めようとして、MP3::Tagを使ったが、iTunesで文字化けした。
iTunesはUTF-16LE with BOMじゃないと駄目らしい。

Mp3::Tag::ID3v2で対応してる文字コードがiso-8858-1,UTF8, UTF16 with BOM, UTF-16 no BOMだけでUTF-16LE with BOMがない。
なので、MP3::Tag::ID3v2のサブクラスを作って、UTF-16LE with BOMに対応させた。

2007/06/16

やっぱり駄目か


以前携帯で記事を投稿してみると見事に文字化けしていた。
携帯の機種変更をしたので(大分前だけど)、今度も文字化けするかどうか試してみた。

文字化けチェックと入れた件名が「1」になり、本文が空っぽになっていた。
まともに投稿できるauの携帯ってあるのかねー。

写真の本は弐瓶勉のバイオメガ。
BLAME!の黙々と進んで行く雰囲気がすきで、本屋で見かけたので買ってみた。
設定的にはBLAME!以前の時代の話になるだろうか。
東亜重工とか出てくるし。
BLAME!と違ってセリフが多いね。
まだ2巻しか出てないので、続きに期待。

よくわからんけど、はまった

自分が受け持ってる仕事じゃないけど、気になったので手伝おうとしたけど全くわからなかった。
mod_perl2、ModPer::Registryで動かしてるプログラムが、phpのブログツールをインストールしたら動かなくなった。
phpで使う(らしい) libmysqlclient.so.14だかを入れると動かなくなる。

mod_perl自体は動いていて、原因を探って行くとDB接続でエラーが出てていた。
エラーがMySQLのリファレンスにも載ってるこれ。
A.2.4. Client does not support authentication protocol エラー

んで、とりあえずパスワード形式を古いのに変更。
UPDATE user SET Password = OLD_PASSWORD('mypass')
webで適当にあさった情報によるとたいていこれで解決して、おめでとうって話なんだけど、これをやっても駄目だった。

接続自体はできるようになったけど、
$sth = $dbh->prepare( $query ) or die $dbh->errstr;
prepareを実行すると、エラー出力もでないし、標準出力も出ない状態になってしまった。

perlのDBI関係のモジュールが悪いのか、ModPerl::Registryが悪いのか、MySQLが悪いのかさっぱりわからなかった。
mod_perlじゃなくてCGIとして実行するとエラーもなく普通に動いていた。
libmysqlclient.so.14を入れて最初のエラーがでるってことは、clientが変更されてるってことだよね。
何気なくMySQLとかをDBIとかモジュール経由で使用してるけど、実際どうやってDBにアクセスしたりしてるのか知らないことに気づいた。
DBI、DBD::mysqlあたりのソース読めば何かわかるだろうか。

2007/06/09

DBICのメモ

VMwareで動かしているUbuntu上でCatalystを試している。
ModelにDBICを使っているけど、DBICはさっぱり使ったことがないのでメモ。

いまさら自分で書くのもあれなんで、情報がまとまってたサイト。
Perl/DBIC
[DBIx::Class][DBIC][perl] DBIx::Classのリレーション

後はcpan
DBIx::Class::Manual::Intro
DBIx::Class::ResultSet

とりあえずこれを読んでおけば、なんとか使えるようになった。

2007/05/24

Perl Hacksと実用Perlプログラミング

先週の日曜日にこの2冊を購入。
時間がないので、PerlHacksに目を通しただけ。
知らないことばかりだった。
すぐに役立ちそうなのは、8章の「自分のコードを知れ」と9章の「Perlの達人になるために」あたり。
その他の部分は時間を見つけて自分で試しながらじゃないと、身につけられそうにない。

実用Perlプログラミングの方はまだ最初の方しか読んでないけど、ほんとに実用的。
Perl歴半年くらいの自分にちょうどいい感じ。
さっぱりわからなかったグロブが最初の章でちょっとわかりかけた気がする。
6月入るまで時間が取れなそうなので、実際に試せないのが残念。
後半にあるPOEが気になってしょうがない。

ここから前回のVMwareの続き。
無事に動いてます。
Apache2系でmod_perlを動かしている。
ただApacheの知識が凄く乏しいので、CGI::Application::Dispatchが巧く動かない。
VirtualHostの設定もうまくいってないし。
Apacheの知識を増やさないと駄目ぽ。

VMwareを起動しないと開発できないんだよね。
これはちょっとめんどくさい。
coLinuxとかの方がよかったかな。
そのまま開発できるMacBookが欲しい。

2007/05/19

VmwareでUbuntu

タイトルの通りVMwareでUbuntuを動かすことにした。
前から仮想化に興味があったので、やってみた。

必要な知識を揃えてから取り掛かるほうじゃなくて、行き当たりばったりなので結構時間がかかった。

まずはVMware PlayerをDL。
んで、ubuntuのイメージをDL。7.04のserverを選んだ。特に意味はない。
vmdxを作る必要があるようなので、qemuをDLしてくる。
vmxを作る必要があるらしい、のでググって出てきたvmxMakerにお世話になる。

んで、vmdx,vmxの両方の準備が出来たら、vmxをダブルクリックで実行若しくはVMwarePlayerを起動してvmxを選択する。
これで、Ubuntuのインストールが開始された。
後は通常のインストールと一緒で「これは楽ちん」と思ったら問題が発生。
パーティション選択でLVMを使おうとすると何時まで経ってもパーティション計算が終わらない。
とりあえず動かすのが目的なので、LVMはやめて、普通にインストール開始。
今度はphp5-mysqlのインストールで止まる。
2,3回やっても止まったので諦める。
原因をググってる途中で、Ubuntu公式のvmware用のイメージ?があることに気づく。
DLしてzipを展開すると、vmxとvmdxが最初からあるので、それを実行。

Ubuntuから外のネットワークにつながらないので、ちょっと勉強。
VMwareにはbrigde,NAT,hostOnlyの3がある。
bridgeだとLAN経由じゃないと接続できないので×。
hostOnlyだとaptとか出来ないので、これも×。
一台のマシン上で完結した開発環境が欲しかったので、今回はNATで接続することにした。
NAT接続では、Windows側でネットワーク共有を設定する必要がある。
HeavensDoor VmWareネットワーク設定を参考にやってみたところ、上手く動いた。

さて、これから環境設定をしようと思う。

2007/05/16

大規模障害

急に繋がらなくなってびびった。
別に回線に切り替わるまで、開発中のサイトに接続できなくて困った。

Devel::DProfなんて便利モジュールがあったのね。
遅い時、どこがネックなのかわからんときとかあって困ったりしてた。
ちゃんと調べる方法があるとは。

もっと早くに知ってれば、楽できたのになぁ。