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
のようなメッセージを吐いて失敗します。忘れそうなので、メモ。というか普通になんか方法ありそうだけどねぇ(^_^;
携帯の絵文字について、「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
が詳しいです。
svn merge -r 上書き対象のリビジョン番号:戻すリビジョン番号 対象のファイル
こんな感じ
$ svn merge -r 303:302 hoge.pm
$ svn commit hoge.pm
で、ファイルのリビジョン番号が知りたければ
$ svn info hoge.pm
で、そのファイルが最後に変更されたリビジョン番号(だよね?)が表示される。
http://cgi.netlaputa.ne.jp/~kose/LinuxWorld/
crontab の編集や cvs のログの記入の場合は、該当バッファを C-x #
で閉じることによって完結する。
「Emacs は起動が遅い」という悪評は Emacs の使い方を知らないからであり、
こういった機能を使えば「Emacs は一回起動すればいい」のである。
ついつい、沢山 Emacs を立ち上げちゃうんだよねぇ。あれはよくないクセだなぁ……
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");
を付ける
として、利用しています。
デスクトップで欠落していた機能を埋めるPDFedit
http://opentechpress.jp/developer/article.pl?sid=07/03/16/0145220&from=rss
CscopeとSilentBobによるソースコードの解析
http://opentechpress.jp/developer/article.pl?sid=07/03/13/0115244&from=rss
phpMyEdit――MySQLデータベース用フロントエンドの作成支援ツール
http://opentechpress.jp/developer/article.pl?sid=07/03/12/0152234&from=rss
どこかのブログで見た方法(どこだかは忘れた……)
$ 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 とテストエンジニアの違い
http://peace-pipe.blogspot.com/2007/03/qa-qc-google.html
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 が買えないんだよねぇ。
http://blog.livedoor.jp/dankogai/archives/50780781.html
http://naoya.g.hatena.ne.jp/naoya/20070307/1173255756
ははっ(^-^;
去年、本屋に山積みになっていたXX日でできるなんちゃら Perl の本では、"use CGI" なんて使ってない例が載ってた気がする。だれかちゃんと推薦できる初心者向けのCGI本を書かなきゃいけないんじゃないのかなぁ(すでにあったりする?)
http://www.itmedia.co.jp/enterprise/articles/0703/07/news017_2.html
screen はとっても便利なんだけど、時々暴走するんだよねぇ……kterm のウィンドウサイズを変えたあととかに頻発する気がする。あれさえなけれ安心して使えるのに。あんまりこういう話も聞かないので、もしかして私の環境だけ?
よく忘れるのでメモ。
# mount -t smbfs -o username=内緒1,password=内緒2,iocharset=euc-jp,codepage=cp9322 //Windows/Data /mnt
これで、Windows の共有ディレクトリを /mnt にマウントできる。
http://japanese.engadget.com/2007/02/28/i-o-hdcp-19-21-lcd/
気になる…
- 秘密鍵の内容を確認
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
http://d.hatena.ne.jp/tociyuki/20070129/1170087364
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 |
思ったより安い……時もある、Amazon |