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

March 01, 2004 [長年日記]

[Ruby-GNOME] ドキュメントが足りない

ruby-talkより。

On the subject of ruby-gtk2, the absence of (sufficient) docs is a shame, and the raw GTK docs don't always help.

うーん、そうですか。RubyのGUI Toolkitバインディングの中では結構そろってる方だと思うんだけどなぁ。といっても、サポートしているライブラリ全体からすると微々たるモノか。APIリファレンスにしてもRuby/GTK分はほとんど終わったとはいえ、まだまだ未完だし。

最初見たときはそのエラソーな態度にカチンときたけど、まぁ、これが普通の(特に初学者の)感覚なんだろうなぁ。

いや、普通というと語弊があるかな。むしろ、面と向かってこういう書き方をする人ってのは少数派だよな。多くの人は、「開発が大変なんだろうけど」とか、そういった前置きくらいはするからな。

まぁ、それはそれとして、なんだかんだ言ってもJava(AWT,Swing)とかMFCとかってやっぱりドキュメントが充実してるしなぁ。

ちと腰を落ち着けてドキュメント書くか...。でもあまり時間ないし(T_T)。

やっぱり開発者(ドキュメント等も含め)の絶対数が少なすぎるんだよなぁ。

誰かドキュメントだけでも手伝いません?

本日のツッコミ(全2件) [ツッコミを入れる]

たむら [いろんな意味で耳がイタイ。 # ごめんよ〜]

むとぽん [いやいや、たむらさんはじめいろいろフォローしていただいてる方々には感謝してます。 私も含め、みなさん本業や他の趣味..]


March 02, 2004 [長年日記]

[Ruby] ObjectPool by さかいさん

元々、オレの作ったものを使ってみて、いろいろ問題がありそうなところを直していったら別物になったというモノ(^^;)。

オレのより全然良いのでオレの方は公開取りやめようかな。RAAのエントリも一度削除した方が良いのかしらん。

それとも同じ名前でそのままメンテナンスも引き継ぎます? > さかいさん

にしても、オレが公開するRuby関連のライブラリでさかいさんの手が入っていないのはないな。Ruby-GNOME2しかり、Ruby-GetText-Packageしかり(^^;)。

[Misc] orkut

なにやら方々で話に出てるので何モノかと思ってたんだけど、一緒に仕事してる人から招待されたので入ってみた....。

が、しかし。いったい、これでオレに何をしろと????(オヤヂ化?)

[Ruby] 予約語の扱い

Ruby/GLibではプロパティ値からアクセッサ(foo=, set_foo, foo)というメソッドを自動生成するんだけど、そのときに予約語が入っている場合を想定していなかった。

irb(main):011:0> RUBY_VERSION
=> "1.9.0"
irb(main):012:0> def if=(val); p val; end
=> nil
irb(main):013:0> if = 10
SyntaxError: compile error
(irb):13: syntax error
if = 10
    ^
        from (irb):13
irb(main):014:0> self.if = 10
10
=> 10
irb(main):015:0>
irb(main):001:0> RUBY_VERSION
=> "1.6.8"
irb(main):002:0> def if=(val); p val; end
SyntaxError: compile error
(irb):2: parse error
def if=(val); p val; end
       ^
(irb):2: parse error
        from (irb):2
irb(main):003:0>

というわけで、今までCVS版のRubyを使っていたので気づかなかったんだけど1.6系でRuby-GNOME2は動かなかったのね...。いかにテストできていないかバレバレだ(^^;)。まぁ、見つけちゃった以上、なおさんといかんなぁ。

#そろそろ1.6系は捨てたいというのがホンネなんだけど。

[Ruby] 予約語の一覧

とかって、定数値として定義されてたっけ?

RUBY_RESERVED = ['if', 'for', ....]

みたいな。

あるとこんなときに使えて便利かも。まぁ、自分で配列(今回はHashの方が良いかな)書けば良いのか。


March 03, 2004 [長年日記]

[Ruby] (続)予約語

ささださんの解。なるほど、例外を捕捉するやり方は気づきませんでした。予約語のテーブルを持たせていちいち比較するより効率も良さそうですね(試してないけど)。Ruby側の仕様追加等も気にする必要ないですし。さっそくいただきますです。

そうそう、昨日「プロパティ値からアクセッサを自動生成する」と書きましたが、該当する部分の機能は「set_foo(v) からfoo=(v)を自動生成する」の間違いでした。前者の機能もあるんですけどね。


March 07, 2004 [長年日記]

[Ruby-GNOME2] SF.jp

またメンテかー。ちと多すぎるなぁ。借りてる身なのであまりえらそうなことはいえないけど、よりによって今日とは。

[Ruby-GNOME2] Ruby-GNOME2-0.9.0 is out!

リリースしました。Ruby/ATKが加わり全部で15個のライブラリになりました。でかい。

ちょっと期間が空いちゃってますが、その分いろいろ追加・改善されてます。是非おためしください。

どわー、リリースした後に気づいたのですが、1点、大きな変更点をHighlightsに書くの忘れてました。

Ruby/Libglade2がカスタムウィジェットを使うことができるようになってます。詳しくはlibglade/sample/custom.rbを見てください。

にしてもSF.jpまだメンテ中かぁ。うーむ。

[Misc] 寝るか...

明日会社に行けるか不安だ...。


March 08, 2004 [長年日記]

[Ruby-GNOME2] Ruby/GLib2

Laurentが、#gnomefr (irc)で、signals/propertiesの自動変換などRuby/GLib2の評判が良かったよーとわざわざメールをくれました。

それからRubyのオブジェクトとGObject/GBoxed/GEnums/GTypesの変換方法も良いよねという話をしました。

個人的にはこだわって時間をかけた部分だと思ってるので、こういってもらえると素直にうれしいです、うん。

ってえらそうなこと言ってますが、実はほとんどさかいさんが設計・実装したんですよね。ホントすごいことです。LaurentもSakai-san is a very talented programmer.と言うとりました。まぁ、そういうLaurentのパワーもすごいんだよね。あっという間にRuby/GStreamer, Ruby/Libgdaという2つのライブラリを実装してくれたばかりかチュートリアルとかも書いてくれてるわけだし。

Laurentは来月のLibr'East (in Paris)でRuby/GLibについて話したいと言ってます。

彼は、先月のFOSDEM2004でもNikolaiと一緒にRuby-GNOME2(Ruby/GTK2, Ruby/Libglade2, Ruby/GStreamer, Ruby/GnomeVFS)のチュートリアルを受け持ったそうです。もう立派なRuby-GNOME2エバンジェリストですね。

まぁ、そんなわけでなにやらいろいろと質問したいことがあるようなのでMLに投げるとのことですが、後はよろしくです。>さかいさん(^^;)。


March 09, 2004 [長年日記]

[Ruby-GNOME2] またしても大バグ

が見つかりました。しかもデグレです....(しくしく)。

今週末バグフィクス版(0.9.1)をリリースしたいと思いますので何かありましたらそれまでにどうぞ。

#最近、こればっかりだな...(T_T)。

[Ruby-GNOME2] Win32対応

今までは私自身Cygwinでしかコンパイルの確認等していなかったのですが、まじめにMinGW対応することにしました。できたバイナリは、いわゆるRuby Installer版でも利用できると思います。

CVSには反映させましたので、これも0.9.1には入れたいと思います。

ついでに一応、コンパイル手順を書いてみました。こちら。追試希望です。

#日本語版の方のサイトに書き込んだのすごく久しぶりかも(^^;)。

ところで、相変わらずmswin32とmsvcrtとmingw版の差がわからん....。結局、バイナリの生成方法が違うだけで同じバイナリが動かせるんだよね?

本日のツッコミ(全1件) [ツッコミを入れる]

青木 [msvcrt というのは MS VC++ Runtime のことで、 乱暴に言えばlibcみたいなもんです。 msw..]


March 10, 2004 [長年日記]

[Ruby] (続)mswin32版とmingw32版の違い

うささんたむらさんあおきさん、情報ありがとうございました。なるほどすっきりしました。Ruby-GNOME2の方の記述で不正確なところがあったので修正しておきました。

[Ruby-GNOME2] gsysview

dpkgに含まれるalternativesやdiversion,statoverrideをGUIで表示するツール、なんだそうです。Ruby/GTK2を使っていただいています。

via The diary formerly known as Go ahead make my day

[tDiary] ツッコミ時にエラー

by あおきさん。実はちょっと前から出てるの気づいてたのですが、ツッコミ自体はできるのでとりあえずほっといてます。ちと落ち着いたらバージョン上げもやらないとなー、と思いつつだらだらきてしまいました。

今、再度確認してみたのですが、腰を落ち着けないと原因を追えそうにないのでちと先送りします。

まぁ、気にせずつっこんでください(^^;)。

そういや、ここのtDiaryのバージョンは1.5.4.20030606なので、考えてみたらもう少しで一年が経つんだよなぁ。

せっかくだから、一周年記念あげ、ということにしようか(^^;)。

本日のツッコミ(全2件) [ツッコミを入れる]

えとー [はじめまして。 ruby-gtk2使わせていただいてますです。 treeviewとtextviewのドキュメントなん..]

むとぽん [はじめまして。 ドキュメント周りはあるに越したことはないのですが、まずはRuby-GNOME2をお楽しみくださるだけ..]


March 11, 2004 [長年日記]

[Ruby-GNOME2] ORE-0,1,0

Ruby Editor for Gnomeだそうです。Ruby/GTK2とRuby/GtkSourceView(改)を使っています。

Ruby/GtkSourceViewを使うとこういったエディタは簡単にできます。

試してみてはいかがでしょう。

...というものの、実はRuby/GtkSourceViewは長らくメンテナンスされていないので現在のGtkSourceViewの安定版(?)である0.7.1ではコンパイルすらできません。Ruby/GtkSourceView(改)と書いたのは、OREの作者のArchitが独自にその辺を修正していくつかメソッドを追加したモノを使っているからです。

そのArchitからの強いプッシュがあったこともあるのですが、最近、Ruby/GtkSourceViewがあまりにもメンテナンスされていないので、私の方で引き取ることにしました。実際はLaurentがメンテナを立候補してくれたのでLaurentに任せることになりそうです。

そんなわけで、近々、GtkSourceView-0.7.1でコンパイルできるモノをリリースできると思います。

それにしても、ruby-talkで変なところ(開発コード)でケチがついちゃったのは残念。なんでそんな変な名前にしたのかなぁ。


March 14, 2004 [長年日記]

[Ruby-GNOME2] Ruby-GNOME2-0.9.1

リリースしました。バグフィクスとWin32対応、あとRuby/Libgdaが安定版であるlibgda-1.0.3をサポートするようになりました。

Win32版に関してはバイナリも用意しました。詳しくはSFのダウンロードのページを見てください。

[Misc] 変なリファラ

こんなの → http://awagumo.servehttp.com:8480/@@@@@@ 。

きたさんのところにも来てるのか。なんだろ。

[Misc] TODO

・Ruby-GNOME2: Ruby/GtkSourceView全面的にソース,API見直し

・Ruby-GNOME2: 新rbbrリリース

・Ruby-GNOME2: Ruby-GNOME2-1.0.0に向けての動きをまとめる

・Ruby-GNOME2: Ruby/GLibのGType関連直し

・Ruby-GNOME2: Ruby/GConfの例外処理見直し

・Ruby-GNOME2: Ruby/PangoのAPI再確認

・Ruby-GNOME2: Statusページで元ライブラリのバージョン単位に進捗がわかるようにする

・Ruby-GNOME2: その他いろいろ

・tDiary: disp_referre.rb(旧)にいただいたパッチ吸収

・Hiki: リンク元表示プラグインにいただいたパッチ吸収

・ObjectPoolさかいさん版吸収

だ、ダメだ、おわらん...(T_T)。


March 18, 2004 [長年日記]

[Misc] GTK+-2.4.0

でちゃった....。

本日のツッコミ(全5件) [ツッコミを入れる]

Before...

むとぽん [はははは...はぁ。(Hahahaha,,,,sigh) #Your Japanese is excellent ;..]

ただただし [Nice TSUKKOMI! >lrz]

ロラン [ありがとうむとさんたださん # my japanese is sooooo bad :|]


March 21, 2004 [長年日記]

[Ruby-GNOME2] Supporting internationalization (i18n) in Ruby/Libglade

Ruby/Libgladeから複数の言語表示をサポートする方法。なるほどこうやるのかー(^^;)。

でも、なぜか日本語使うと文字コード変換時にエラーが出るんだよな。なんでだろう。

[Ruby-GNOME2] Supporting internationalization (i18n) in Ruby/Libglade 続き

やっぱりbindtextdomainはどこかでやらないといけない気がする。うーむ。

[Misc] 急にメールを送れなくなった

SMTPのエラーで451と535が交互に出る。なんだろう。

[Hiki] リンク元表示プラグイン-1.1

リリースしました。生駒さんにいただいたパッチ(Hiki 0.7-devel-20040310で動かなくなっていた)を当てた他、結果の表示順がおかしかったのを修正したり、対象検索エンジンを強化したりしてみました。

[tDiary] CVS追従

ツッコミ時にエラーが出る件を直すため、ほぼ1年ぶりにtDiaryをバージョンアップしてみた。

ツッコミも無事出来るようになったので、みなさん、ふるってツッコんでみてください(うそ)。

[tDiary] output_rdf.rb

入れてみた。

[tDiary] 本日のリンク元表示プラグイン(旧)-2.4.1

リリースしました。伊藤さんにいただいたパッチ(Googlebotのロボットよけが出来ていない不具合の修正)の他、いくつか検索エンジンを引っかける正規表現を改善しています。

なお、これはtDiary標準の同名のプラグインとは別モノですので注意してください。

[Ruby] ObjectPool-0.2.0

リリースしました。さかいさんのobjectpool.rbをそのままいただきました。


March 22, 2004 [長年日記]

[tDiary] 久々にpstore周りでエラーが出てた模様

もう大丈夫かな。


March 23, 2004 [長年日記]

[Ruby-GNOME2] Supporting internationalization (i18n) in Ruby/Libgladeの日本語

オレの勘違いだった。localeがja_JP.UTF-8なら文字化けしないや。

余計な変換をLibglade内部でしちゃってるのかな。

[Ruby-GNOME2] bind_textdomain_codeset()が呼ばれてない

なるほど。確かに。ということでためしてみたらビンゴでした。

助かりました。> 安部さん

でも、bindtextdomain()はLibglade側でやるけど文字コードの指定はアプリ側で、なんて中途半端な気がするなぁ。

まぁ英語圏の人には関係ないのか。

[Misc] だめコード

名誉だめコードに選ばれてしまいました....(汗

本日のツッコミ(全2件) [ツッコミを入れる]

せとあずさ [おめでとうございます!(違)]

むとぽん [たははは....(T_T)。]


March 25, 2004 [長年日記]

[Ruby-GNOME2] GC + Gtk::Widget#destroy

MLで指摘されたんだけど、ウィジェットはいつGCの対象になるべきなのだろう。

require 'gtk2'
class Test
  def hoge
    win = Gtk::Window.new.show_all
    nil
  end
end
Gtk.init
Test.new.hoge
GC.start
Gtk.main

ここで、winはローカル変数なんだから、hogeを呼び出した後で(ウィジェット自体)GCされるべきじゃないの、というのが指摘内容。RubyのオブジェクトとしてはGCされるのかもしれないのだけどウインドウは表示されたままだ。

Rubyオブジェクトの生死のスコープと完全に一致させる必要があるなら、このタイミングでウィジェット自体を破壊(Gtk::Widget#destroyを内部的に呼び出す)してあげないといけないのかもしれない。

でも、それはそれでいろいろ問題ありそうだなー。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [ オブジェクトとはRubyのオブジェクト(インスタンス)って意味ですよね。 ファイルアクセス(openとcloseを..]

なかだ [「openとcloseをする必要がある」に対応するのは「new.show_allとdestroyをする必要がある」で..]

むとぽん [そうですねぇ。その場合、実際はshow_allではなく、newでブロック作るようになるんでしょうけど、シグナルハンド..]


March 26, 2004 [長年日記]

[Ruby-GNOME2] Ruby-GetText-Package-0.5.5

バグ見つけたので修正版をリリースしました。この次のrbbrではこのバージョンが必須となる予定(^^;)。

一応、Win32版のバイナリも用意はしたのだけど、インストーラが無いからちと使いづらい(自分でコピーする必要がある)。もう少しどうにかしないとだな...。


March 28, 2004 [長年日記]

[Ruby] クラス変数のプライベート化

自分は関係ないだろーって思ってたんだけど、まさに「ぎゃっ」となってしまった。

こんなコード:

module Hoge
  @@storage = Array.new
end
class Test
  include Hoge
  def initialize
    @@storage << 10  #ここがNG。
  end
end
Test.new

アクセッサが必要と言うことなので以下のように修正:

module Hoge
  @@storage = Array.new
  def data
    @@storage.pop
  end
  def set_data(val)
    @@storage.push(val)
  end
end
class Test
  include Hoge
  def initialize
    set_data(10)
    data #使うとき
  end
end
Test.new

[Ruby-GNOME2] rbbr-0.6.0

リリースしました。

前回に比べてかなり使い勝手が向上したのではないかと思います。是非、お試しアレ。

今回は前回にもあった日本語、英語、フランス語の他、ベラルシアン語、ドイツ語、イタリア語、韓国語、ポルトガル語(pt_BR)、スペイン語、ウェールズ語、と10言語リソースを用意しました。

私の知る限り、Rubyで最もL10n化が進んだアプリケーションの1つと言えると思います。Ruby-GetText-Packageのメンテナとしてもうれしい限りです。

#表示するAPIドキュメントは英語(ri)、日本語(refe)しかないのですが(^^;)。

それから、画像イメージをあえてWinXP上で取りました。Windowsを使われてる方がこれを見てRuby/GTK2を使ってもらえたらいいなぁと言うわけです。

今まで出てたフォント周りのWarningもほとんど出なくなったので、Windowsでも使いやすくなったんじゃないかと思います。

本日のツッコミ(全2件) [ツッコミを入れる]

ロラン [おめでとう!]

むとぽん [ありがとう(^o^)/]


March 29, 2004 [長年日記]

[Hiki] チュートリアル向けリンク生成プラグイン-1.0

久々にHiki用のプラグインを作りました。

よくあるWWWチュートリアルにあるようなPrev/Up/Home/Nextリンクを生成するプラグインです。

実行結果はこんな感じ

チュートリアル書いてる人は是非使ってみてください....ってめちゃくちゃニッチだな(^^;)。


March 30, 2004 [長年日記]

[Hiki] チュートリアル向けリンク生成プラグイン-1.1

ZnZさんに指摘いただいた点を修正してリリースし直しました。こんな感じでどうでしょう。