この日記のはてなブックマーク数 Subscribe with livedoor Reader

2007-03-27 Tue


DBIC で columns [DBIC]


O/R マッパーということで、基本的には、全部のカラムをひっぱってくるわけですが、ちょっと idとタイトルの一覧を表示するだけだから、全部ひっぱり出すのは、ちょっと勿体ないよねぇ…ってときは

my $articles = $schema->resultset('Article')->search(
    undef,
        { columns => [qw/ id title /] }
);


のようにすれば、カラムを指定してデータを取ってこれます。

ただし、

__PACKAGE__->many_to_many(
    'tags' => 'tagmap',
    'tag_id'
);


とか、リレーションを設定しているものにたいしては、うまく動きません。実際にやってみると

my $articles = $schema->resultset('Article')->search(
    undef,
    { columns => [qw/ id tags /] }

);




DBD::mysql::st execute failed: Unknown column 'me.tags' in 'field list' at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 782.
DBIx::Class::ResultSet::next(): Error executing 'SELECT me.id, me.tags FROM article me': Unknown column 'me.tags' in 'field list' at select.pl line 19


のようなメッセージを吐いて失敗します。忘れそうなので、メモ。というか普通になんか方法ありそうだけどねぇ(^_^;



2007-03-25 Sun


携帯の絵文字と Linux [Linux]


携帯の絵文字について、「PCで見れば化けて当然」とか思ってたら、あるブラウザで普通に表示されているのを見て驚愕(^-^;

きっと Linux でもできるに違いないと Google 先生に聞いてみたら、ありました。

iモードの絵文字を使う
http://sidenet.ddo.jp/linuxtips/

http://www.vector.co.jp/soft/win95/writing/se247898.html

から辞書とフォントをダウンロード。wine を使って、辞書を展開します。

$ lha -x imode_emoji.lzh
$ mv imode* imode
$ cd imdoe
$ wine setup.exe
$ cd /home/kunitake/.wine/dosdevices/c:/Program Files/imode_emoji


あとは、上記のサイトの通り。xft から認識できる場所に imode.tte を imode.ttc として設置。

うはー見えた..... ただし "驪" みたいな表記をしちゃうとダメみたい。この問題については

X で i-mode対応絵文字フォントを使う
http://openlab.dino.co.jp/?key=%5B%5Bdoc%2FX%A4%C7DoCoMo%B3%A8%CA%B8%BB%FA%A5%D5%A5%A9%A5%F3%A5%C8%A4%F2%BB%C8%A4%A6%5D%5D

が詳しいです。


2007-03-21 Wed


svn で間違った commit を戻す [Subversion]


svn merge -r 上書き対象のリビジョン番号:戻すリビジョン番号 対象のファイル


こんな感じ

$ svn merge -r 303:302 hoge.pm
$ svn commit hoge.pm


で、ファイルのリビジョン番号が知りたければ

$ svn info hoge.pm


で、そのファイルが最後に変更されたリビジョン番号(だよね?)が表示される。


2007-03-20 Tue


開発ツールとしてのEmacs [Emacs]


http://cgi.netlaputa.ne.jp/~kose/LinuxWorld/

crontab の編集や cvs のログの記入の場合は、該当バッファを C-x #
で閉じることによって完結する。
「Emacs は起動が遅い」という悪評は Emacs の使い方を知らないからであり、
こういった機能を使えば「Emacs は一回起動すればいい」のである。


ついつい、沢山 Emacs を立ち上げちゃうんだよねぇ。あれはよくないクセだなぁ……


2007-03-19 Mon


debian で selenium-RC [Debian][Test][Perl]


Selenium だけでも便利なのに、Selenium IDE + Selenium RC の組合せはかなり便利。ただ、Debian で利用するときにはちょこっと注意が必要。

Debian だと、最近は、Firefox ではなく iceweasel とかいう名前なので、うまく Firefox が Selenium RC から起動されない。なので、PATHに /usr/lib/iceweasel を追加しておく。

$ export PATH=/usr/lib/iceweasel:$PATH


まぁこれだけ。PATHを設定後

$ java -jar selenium-server.ja


と起動しておく。あとは、Firefox の add-on である Selenium IDE でテストケースを作成し、 「File」=>「テストをエクスポート」=> 「Perl - Selenuim RC」を選択すれば、Perl用のテストケースが生成される。
実際の起動は

$ perl login.t


とかしてやれば、Selenium RC から Firefox が自動的に起動され、テストを忠実に実行してくれる。Selenium RC と Selenium IDE との組合せについては

Selenium RCとSelenium IDEでWEBアプリのUIテストを簡単自動化
http://usuilog.blogspot.com/2007/01/testingselenium-rcselenium-idewebui.html
Test::WWW::SeleniumでPerlからSelenium RCを操作する
http://usuilog.blogspot.com/2007/01/testingperltestwwwseleniumperlselenium.html

assertEvalの活用方法(ブレイクポイント、終了通知)
http://d.hatena.ne.jp/onozaty/20070103/p1

の一連の記事が非常に参考になります。私は、これらの記事を参考に、

1. Selenium IDE が吐き出したテストの先頭に

use utf8;


を付ける

2. Selenium IDE が吐き出したテストの末尾に

$sel->eval_is("alert('finished'); true", "true");


を付ける

として、利用しています。


2007-03-17 Sat


Schema 自動生成 [DBIC]


どこかのブログで見た方法(どこだかは忘れた……)

$ perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:./lib -e 'make_schema_at "Hoge::Schema", {relationships=>1, debug=>1}, ["dbi:mysql:hogedb","root", "内緒"]'


とかすると、MySQL の DBから、スキーマの定義を

Hoge/Schema.pm
Hoge/Schema/テーブル名1.pm
Hoge/Schema/テーブル名2.pm


みたいな形で自動生成してくれます。MySQLで MyISAM を利用していると、外部キー制約? が設定できないので、relationship とはか取り出せない(そもそも設定できてないからあたり前)ですけど……



QA と QC とテストエンジニアの違い [開発]


QA と QC とテストエンジニアの違い
http://peace-pipe.blogspot.com/2007/03/qa-qc-google.html


2007-03-10 Sat


トラックパッドを使いこなす [Mac]


http://start-macbook.net/04_%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%91%E3%83%83%E3%83%89/

ThinkPad のトラックポイントLove なので、欲しいんだけど、Mac が買えないんだよねぇ。


2007-03-08 Thu


CGI [Perl]


http://blog.livedoor.jp/dankogai/archives/50780781.html
http://naoya.g.hatena.ne.jp/naoya/20070307/1173255756

ははっ(^-^;

去年、本屋に山積みになっていたXX日でできるなんちゃら Perl の本では、"use CGI" なんて使ってない例が載ってた気がする。だれかちゃんと推薦できる初心者向けのCGI本を書かなきゃいけないんじゃないのかなぁ(すでにあったりする?)


2007-03-07 Wed


Webアプリケーション開発三種の神器 [開発]


http://www.itmedia.co.jp/enterprise/articles/0703/07/news017_2.html

screen はとっても便利なんだけど、時々暴走するんだよねぇ……kterm のウィンドウサイズを変えたあととかに頻発する気がする。あれさえなけれ安心して使えるのに。あんまりこういう話も聞かないので、もしかして私の環境だけ?


2007-03-06 Tue


Samba でマウント [Samba]


よく忘れるのでメモ。

# mount -t smbfs -o username=内緒1,password=内緒2,iocharset=euc-jp,codepage=cp9322 //Windows/Data /mnt


これで、Windows の共有ディレクトリを /mnt にマウントできる。


2007-03-02 Fri


ワイド液晶 [Gadget]


http://japanese.engadget.com/2007/02/28/i-o-hdcp-19-21-lcd/

気になる…



OpenSSL の確認コマンド [Security][Apache]


- 秘密鍵の内容を確認

openssl rsa -in key.pem -text


- CSRの内容を確認

openssl req -in req.pem -text


- 証明書の内容を確認

openssl x509 -in cer.pem -text


- CRL の内容を確認

 openssl crl -in crl.pem -text


どっかのサイトで見たやつ。どこだっけ……これかな?

http://chinmai.net/~osakana/tech-memo/wiki.cgi?page=OpenSSL+CSR%2C+%BE%DA%CC%C0%BD%F1%A4%CA%A4%C9%B3%CE%C7%A7%A5%B3%A5%DE%A5%F3%A5%C9


2007-03-01 Thu


テスト駆動で 0から255の数字にマッチする正規表現へ変形 [開発][Regexp]


http://d.hatena.ne.jp/tociyuki/20070129/1170087364



tail エトセトラ [Linux]


http://d.hatena.ne.jp/lurker/20070228/1172595016

コレの対処法として、logrotateなんかだと
copytruncateなんてオプションが用意されていて
inode変えずにローテートしてくれるものがあったりする。
仕組みは、中身をコピーして、中身を削除するというそのまんま。
代償として割と高い確率でログファイルがぶっ壊れる。


ええー!あれって、壊れる可能性があるのか……そのあたりはよろしくやってくれる機能だと思ってたよ。

man logrotate


で見ると、「コピーして、ファイルサイズを 0 にするから、そのタイムラグで、若干ログを落しちゃうかも」とか書いてるけど、壊れるかもとは書いてないなぁ……でも新しい行に書き込んでいる途中に truncate されると、たしかに壊れた line ができるかも。
実際に実行されているのは

$ cp hoge hoge.old
$ :> hoge


こんな感じかな? 1行目 から 2行目のタイムラグかぁ……まぁ使う予定ないからいいけど(^_^;


IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ