よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

May 17, 2006 [おもひで]

[Ruby-GNOME2] Ruby/Poppler, Ruby/VTE

須藤さんが2つのライブラリを同時にインポートしてくださいました。いやぁ、これで23個のライブラリ群ですよ。スゲー(ヒトゴト)。

ちなみに、Ruby/Popplerはfreedesktop.orgが提供するPDFレンダリングライブラリです。PDFをGTK+のウィジェットに書き出すなど、GTK+と親和性が高いとのこと。

試してないけど日本語使えるのかな。PDFWriter使おうと思ったら日本語使えなかった(中村さんのパッチなしでは)記憶があるので、日本語使えるのならニーズは結構あるかもしれないですね。まぁ、GTK+との親和性が高い、というのはいづれにせよ強みではありますが。

Ruby/VTEはシンプルなターミナルエミュレータのウィジェットです。GNOMEターミナルにも使われています。

ぜひともお試しくださいませ。

全然話変わるんだけど、誰かRuby-GNOME2 on Ruby on Railsっていう記事書いてくれません?(とこちらも人任せ)。GUIの無いライブラリ関係(画像処理、PDF、SVG等々)はLinuxなんかで結構便利に使えると思うんだよね。Pure Rubyじゃなくても良いなら性能面でもアドバンテージがあると思うし。

[Ruby] Ruby-GetText-Packageバグ

MS Windowsな環境で、developmentモードなのにrake makemoした後に変更が反映されない(キャッシュされたままになる)ことがわかりました。

これは、gettextのlib/gettext/mo.rbのctimeというところをmtimeに修正すれば直りますのでもし気になっていた人がいたら修正してみてください。

ctime/mtimeって違いをあまり気にしてなかったんだけど、ctimeがcreated timeでmtimeがmodified timeの略という理解でOK?

[Ruby] Ruby-GetText-Package - イタリア語訳

イタリア語のメッセージカタログが追加されました。こちらは13言語目です。なんかオレってば増やすの好きみたい(苦笑)。

でも、まぁ、Rails MLで吠えた甲斐があったのかも。

Ruby-GetText-Packageイタリア語訳

本日のツッコミ(全5件) [ツッコミを入れる]
arton (May 18, 2006 08:57)

>mtime
おおなるほど、どうもありがとうございます。
VC++の_fstatのコメントを見るとTime of creation of fileとTime of last modification of fileとなっているので、その理解でOKだと思います。

なかだ (May 18, 2006 12:56)

Windowsでは意味が変わっていますが、もともとはi-nodeのchanged timeです。
だから、unixenではctimeを使うほうが正しいと思います。

むとう (May 18, 2006 13:17)

なるほど。
んじゃ、どっちかが変わった場合にはとにかく再ロード、っていう処理にしちゃいましょうか(玉虫色解決)。基本、デバッグモードの処理なので性能的にはまったく問題ないですし。

Rubyリファレンスマニュアルの説明文はちょっとわかりづらいかも。

arton (May 19, 2006 01:15)

mtimeだけでいいのでは? と調べて出直してきました。
unixenのctimeはi-nodeというかディレクトリ上の情報(パーミッションとか)の変更に反応して、ファイルのデータそのものの更新への反応はmtimeのほうだからです(mtimeが変わればctimeは確実に変わると思うけど、ctimeが変わってもmtimeが変わらないことはある)
ただ、確かにデバッグモードの処理なので両方見てもやり過ぎということはないので、玉虫色解決には賛成です。

なかだ (May 19, 2006 09:27)

玉虫色でいいと思います。
性能的にも、stat()/FindFirstFile()はmtime,ctime一度にとってくるので有意な差はないはずです。
# Time#<=>よりもシステムコールのほうが重いでしょう。


編集