Ruby言語やLinuxのネタが多いです。
May 01, 2002 [おもひで]
■ [Misc] XREA + tDiary + Namazu, yasqueeze.rb
最新のyasqueeze.rbに合わせてドキュメントを見なおした。
■ [tDiary] アンカー自動生成プラグイン-1.1.0リリース
自分が作ったプラグインの中(といってもまだ6つくらいしかないけど)でも1,2を争うほど使い勝手も実用度も高いと(勝手に)思っている....割には全く人気のないアンカー自動生成プラグインだが、めげずにバージョンアップしてみた。
■ 辞書ファイルをWWWブラウザから登録できるようになったのでさらに使いやすくなったはず。
■ というわけでダレか使ってみてくれ〜。 ホント使いやすいんだってばさ〜。
■ [tDiary] (1) @で始まる変数(インスタンス変数)を使うときは要注意
プラグインは他のプラグインも含めて1つのクラス(とインスタンス)を形成する。したがって、@で始まるインスタンス変数は他のプラグインからもアクセスできてしまう。
例えば、以下の例で、hoge1からの結果を1と期待していると(プラグインはアルファベット順に読み込まれる)実際は2が返されてしまう。
このように、プラグインではいつどのようなものが後から追加されるか分からないのでインスタンス変数にはなるべく重複しないような名前を選ぶ必要がある。
そこで例えば、@付きの変数についてはファイル名をプレフィクスにつける等にするとかなりの確率で問題を回避できる。上の例で言えば、 @hoge1_hoge, @hoge2_hogeだ。
あるいは、Moduleを使う方法もある。これはもうちょっと後ろで触れることにする。
hoge1.rb
-------------
@hoge = 1
def hoge1
@hoge
end
-------------
hoge2.rb
-------------
@hoge = 2
-------------
もちろん、なるべくインスタンス変数を使わずにメソッドローカルな変数を(@なし)を使うように心がけるというのは言うまでもない。
■ [tDiary] (2)そのプラグイン限定のプライベートなメソッドを定義したい
実はtDiaryのプラグインではいわゆるプライベートな宣言は意味をなさない。なぜなら、全てのプラグインで1つのクラスを形成していて、1つのクラスの内部ではプライベートだろうがパブリックだろうがお構いなしにアクセスできるからだ。
また、ユーザからは使用させないがプログラミング上の効率から定義するメソッドというのもあるが、そのようなメソッドは先のインスタンス変数と同様に特に名前問題に注意する必要がある。
例えば、以下の例のように日記の本文中にと書くプラグインを作ったとする。formatメソッドはhoge1.rbの中でしか使わない*つもり*のものだ。しかしながら、実はhoge2.rbでも同じ宣言がされているため、上書きされてしまい(プラグインはアルファベット順に読み込まれる)結果が予期しないものとなってしまう。
hoge1.rb
-------------
def format(v)
"[" + v + "]"
end
def hoge1(str)
format(str)
end
-------------
hoge2.rb
-------------
def format(v)
"---" + v + "---"
end
-------------
■ 結局のところ、そのプラグインのみで使うことができる、そのファイルローカルなメソッドを作ることはできない。
そこで、@付きの変数(インスタンス変数)と同様に、ファイル名をプレフィクスにつける等にするとかなりの確率で問題を回避できる。
その他に、Moduleを定義する方法もある。そこで、次にModuleを使った方法を紹介する。
もちろん、名前の問題はユーザが直接扱うメソッドについても同様のことが言えてしまう。まぁ、でも、これはすでに存在するプラグインを調べて、重複しない名前を付ける努力をするしかないかな。
■ [tDiary] (3) Moduleを使う
RubyのModuleは機能をひとまとめにしておき、いろいろなクラスから呼び出すためのものだが、単純に名前空間を分けるために使うこともできる。先ほどの2つの例を合わせたようなコード例を書いてみる。
hoge1.rb
-------------
module Hoge1
@hoge = 1
def format(v)
"[" + @hoge.to_s + ":" + v + "]"
end
module_function :format
end
def hoge1(str)
Hoge1.format(str)
end
-------------
hoge2.rb
-------------
@hoge = 2 #これなら影響受けない。
-------------
もちろん、この例でもhoge2.rbでmodule Hoge1を上書きすることはできるが、なるべくファイル名と同じModuleを使うようにすれば、かなりの確率で問題を回避できるし、Module内部では自由に変数名・メソッド名をつけられるのでコード的にもすっきりする。
■ [tDiary] (4) requireについて
プラグインは、実際はtdiary.rbの内部に取り込まれる形になるので、tdiary.rb自体がrequireしているライブラリについては、改めてrequireする必要はない。例えば、1.4.1では、cgi, nkf, pstore等。
■ [tDiary] (5) デバッグモード
CVS版では新たにデバッグモードが追加された。プラグインファイルの先頭の方に@debug = true と書く。
こうすることで、特に呼び出したメソッドの名称が間違えていた場合などにエラーが発生するようになるため、若干デバッグがしやすくなる。
それから、$DEBUG = trueを追加すると、さらにいろいろとメッセージが出るようになるのだが、Warningレベル(例えば例外が出たときにはrescueしていてもメッセージが出てしまう)でもメッセージが出るため、全てのWarningを消す必要はないはず。
ただ、注意しなければいけないのが、@debugは他のプラグインでも有効になってしまうこと。自分以外のプラグインのバグも見つけてしまうかも。まぁ、その時はそのプラグイン作者に報告してあげると良いだろう。
■ [tDiary] (6) メソッド名のつけ方
ちょっと話は変わってメソッド名のつけ方。
メソッド名は基本的に小文字で始めれば良いのだが、単語の区切り方は2通りある。1つは'_'でつなぐ方法ともう一つは単語の区切りを大文字にする方法(Camel Case)だ。
def hoge_fuga end def hogeFuga end
これについては人によって好き嫌いが発生し、JavaなどでもCamel Caseが使われていることから過去にも何度か論争の種になっているのだが、実は、Ruby的には前者が好まれる。実際のところtDiary本体でもそのようになっている。
この辺のRuby的なコーディング手法の指針が欲しい人は、高橋征義さんによるRuby Coding Conventionが参考になると思う。
■ ちなみに、Javaでいうところのgetter/setterもあまり好まれない。
def get_hoge @hoge end
例えば、上記の場合は
def hoge @hoge end
あるいは attr_reader :hoge というようにアクセッサを使う...でも、これはプラグインの場合はあまり使わないかな。
■ [tDiary] (8) CSS
通常、プラグインは何らかのHTMLを返すと思うが、その際にCSSについても配慮が必要。なるべく、テーマから変更しやすいようにclass/idづけした方が良い。なお、CSSのclass/id名には'_'を使えないので注意。
■ つづく.... かも。
May 02, 2002 [おもひで]
■ [tDiary] tDiary-FAQ
昨日のプラグインを書くときのTipsはtDiary-FAQに全部登録してみた。ついでにいくつかTipsを追加して置いたので、プラグインを書く人は参考にしてください、つーか、添削してちょ。どうも、最近のオレはプログラムもドキュメントも仕事も私生活もバグが多いらしいんで(T_T)。
■ [Misc] Linuxビボ〜ろく
なんか、連休に入って異様にカウンタのアクセス数があがってる気がするんだが、これはアクセスカウンタ表示プラグインのバグか....? 手元のブラウザとかtelnetでHEADアクセスとかで確認してもうまくいってるような気がするのだが....不安だ(^^;)。
■ というわけで、XREAが提供するカウンタがちょうど似たような仕様だったので入れてみた。明日から確認できるだろう。一応、XREA版の方がちょっとだけ多くカウントされる....はず。
■ [tDiary] アンカー自動生成プラグイン
なんか古いファイルをアップしてしまったみたいなので再度アップし直し。すまそ。
May 04, 2002 [おもひで]
■ [Tools] Mozilla 1.0RC1, galeon
Mozilla 1.0RC1をsrc.rpmからビルドして、ついでにgaleonもsrc.rpmからビルドしてみた....。MozillaはOKなんだけど、galeonがコンパイルエラーでビルドできない....なぜ?(T_T)
■ [tDiary] アクセスカウンタ表示プラグイン
カウンタプラグインの改良中に見つけたんだけど、アクセス数が増えた原因は 、やっぱり、アクセスカウンタ表示プラグインのバグだった(T_T)。今のバージョンだとtlinkプラグインのアクセスもカウントしちゃってます。てへっ。
■ 今日中に新バージョンだしますんでよろしくお願いしますですm(__)m。
■ にしても、tlinkのアクセス数はすごい勢いで増加中。全アクセス数の半分はtlinkだ。恐るべしtlink。
■ でも、tlinkってどこからアクセスしにきてるのか分からないのでちょっと寂しい。まぁ、Referrerに書いちゃうと「本日のリンク元」に出ちゃうからなぁ。User-Agentの一部にURL埋め込んでもらえたらうれしいかも。って、その前にアクセスカウンタ表示プラグインどうにかしないと(^^;)。
May 05, 2002 [おもひで]
■ でも、確かにUser-Agentに日本語って聞いたことないですね....。
HTTP/1.1(RFC2068)的にはどうでしょう。
OCTETの any 8-bit sequence of data の定義って日本語(というか多バイト文字)もOKって意味でしたっけ?であればいけそうですが....。
■ 追記:HTTP/1.1はRFC2068じゃなくてRFC2616ですね。いかんいかん。どうもです>ZnZさん。
■ あ、でも、RFC的にOKだとしてもanalog等のアプリがきちんと対応できてるかとか考えちゃうと、あえて日本語にしない方が良いような気も。ちなみにEUC-JPで返すんでしょうか?日本語返すなら今後はUTF-8かUnicodeあたりで返した方が良いような気もしますが、サーバがLinuxでanalog使うのだったらEUC-JPにしておけばひとまずひっかからなさそう。でも、サーバがWindowsな環境だったらたぶんどこかしらで変換が必要だろうな...。
■ というか、HTTPのヘッダってそれ自体のcharset指定できないような...。そうすると文字コードをどれにすべきかってかなり難しい問題な気が。
■ っていろいろ考えるの大変だから日記のURLじゃまずいっすか?(^^;)。
■ [Tools] Mozilla-1.0RC1, galeon-1.2.1
うまく動かなかった件だけど、結局、Mozillaの古いバージョンのファイルが残っていたのが問題だった。一度、mozilla/galeonまわりを全部rpm -e してさらに残ってしまっていた/usr/lib/mozillaを全部削除して、改めてインストールし直したら動いた。
■ [tDiary] アクセスカウンタ表示プラグイン
遅くなりましたが、アクセスカウンタ表示プラグイン 1.2.0 をリリースしました。1.1.0の時のバグは直ってると思いますので使ってみてください。
■ それから今回は大きく2つの機能を追加しました。
- カウントアップ制限
カウントアップさせたくないUser-Agent, Remote-Addrを指定できます。 - キリ番機能 いわゆる「キリ番」の時に何らかのアクションをユーザが定義できます。
■ キリ番機能は例えば、「あなたは1000人目のお客様です!」みたいなものをキリ番でアクセスした人にだけ表示する機能ですが、counter自体は表示させずに、こっそり指定したカウントの時に楽しいメッセージを表示させるなど、トリッキーに使うといろいろ遊べると思います。
■ [tDiary] アンカー自動生成プラグイン 1.2.0 リリース
あいかわらず人気ないけどオレ的には相当気に入ってるアンカー自動生成プラグイン だが、またしてもめげずにバージョンアップしてみた。今度は、話題(^^;)のtlink.rbを内部的に呼び出すことで、tlink.rb自体の機能をそのまま使うことができるようになったのだ(もちろん、この機能を使う場合はtlink.rbが必要だし、デフォルトでではこの機能はOFFだけどね)。
■ というわけで、少しでもユーザを増やすためにテレホンショッピング風に紹介してみよう(.... ってなぜ?(^^;))。
■ (A)ほら、Bさん。まずは、tlinkと比べてみよう。以下の2つは同じ意味になる。
<%= tlink "http://ponx.s5.xrea.com/bibo/20020505.html#p01", "Linuxビボ〜ろく" %> <%= a "http://ponx.s5.xrea.com/bibo/20020505.html#p01", "Linuxビボ〜ろく" %>
■ (A)tlink と6文字打たずに1文字aと打てばOK。たくさん打つのがめんどくさいぐ〜たらなBさんに最適!
(B) なるほど〜。でもそれだけですか?
(A) うーむ。まだ、足りない?さすが、Bさんはお目が高い。
じゃぁ、そんなBさんは、さらに、辞書ファイルに以下を登録しておくというのがお奨めだね。
bibo http://ponx.s5.xrea.com/bibo/ Linuxビボ〜ろく
(A)これさえやっておけば、先ほどの例はさらに以下のようにできるんだ。
<%= tlink "http://ponx.s5.xrea.com/bibo/20020505.html#p01", "Linuxビボ〜ろく" %> <%= a "bibo", "20020505.html#p01" %>
■ (B) ブラウザでURL全部コピーアンドペーストしちゃうから、そんな機能はうれしくないですけど...。"Linuxビボ〜ろく"のところだって普段は違う言葉いれますよね?
(A)もちろん! アンカー自動生成プラグインでもそんな使い方も当然できるよ。でも、それだと、そのURLが変わっちゃったときは手作業で全部変更しなきゃならないじゃないか。
(B)なるほど....。
(A)それに辞書ファイルにあるURLを呼び出すだけなら、こんな使い方もモチロンOK。
<%= a "bibo" %>
(A)驚くのはまだはやいよ。今なら、桐タンスがもう一つついてなんと無料。今すぐ使ってみなきゃぁ!
■ っていうか桐タンスはついてないんですが、ちょっとは使いたくなりました?ダメ?そんなこと言わずにtlink.rbしか使っていない人もtlinkも使ってない人も是非使ってみてね! ..... ダメ?(^^;)
May 06, 2002 [おもひで]
■ [tDiary] アクセスカウンタ表示プラグイン 1.2.1
アクセスカウンタ表示プラグイン 1.2.0は先頭の方に@debug = trueが残ってましたんでそれを削除して、コメント部分をちょっと見直して、1.2.1をリリースしました。1.2.0使っている方は、バージョンアップしていただくか、1.2.0の@debug = trueを削除してください。といっても残したままでもほとんど実害は無いと思うのですが。
■ [tDiary] @debug = true
自分で提案して置いて何なんだけど、これ、消し忘れするなぁ。やっぱり、プラグイン本体をいじるのではなくて、tdiary.confとかに書けた方が良いような気もする。
■ [Tools] 付箋/Ruby
くわがたさんからお誘いいただいたので、付箋/Rubyを久しぶりにバージョンアップ。すごい高機能化していてびっくり。もはや付箋紙というよりはチャットだね、これは。とってもおもしろいのでイロイロ遊んでみよう。
■ ちなみに、ZnZさんの話ですが、これはGTKというよかRuby-GetText-Packageの現在の仕様の制限です。今のところ、日本語でも文字コード毎にカタログファイルを用意する必要があるからです。一応、付箋/Rubyが用意しているeuc-jpのものをShift-JISに変換した後でmoファイルを作ってmoファイルのインストール先にインストールすれば、ひとまずLANG=ja_JPとかで日本語化できるはず。
■ 最新のGetTextとかだと、iconvを使ってある程度の文字コード自動判別をやってくれるんですよね。Ruby-GetText-Packageは現在Pure Rubyでその辺の実装もしていないのですが、おとなしくGetTextのラッパにした方が良いのかなぁ。あるいは、日本語だけnkfとか使って自動判別しちゃった方が良いのかなぁ。悩むところです...。
■ [tDiary] なるほど
@debug.rbですが。それは気づきませんでした。グッドアイデアですね。さっそくtDiary-FAQに追加させていただきました。
ただ、ファイル名は、0000debug.rbにしてみました。00default.rbより前に実行されるようにということです。まぁ、念のためということで。
■ ちなみに、追記の件ですが、確かにごもっとも(^^;)。つい、やっちゃうんですよね。いかんなぁ。以後気をつけますです。
May 07, 2002 [おもひで]
■ [Tools] gettextの話
ちょっと補足。こちらの話ですが 、gettext-0.10.36からiconvを使うようになったみたいです。moファイルをUTF-8なpoファイルから作って、#{prefix}/share/locale/ja/LC_MESSAGE/配下に置けば、内部的にその環境の文字コードに変換してくれるみたいです。
■ これを使えば、Linuxであれば、UTF-8のmoファイルからEUC-JPを、Win32な環境だとSJISを返してくれる....はず(未確認)。
■ で、現在のRuby-GetText-Packageは?
この変換をやっていません。うーむ、中田さんのiconvを使って実装すべきか、gettextのラッパにすべきか...悩ましー。
■ まぁ、それはさておき、これにGTK+が絡むとどうなるか?
実は、GTK+のWin32版(及び、次期GTK+?)は内部ではUTF-8を使うんだそうです。
参考:http://www.geocities.co.jp/SiliconValley/3097/learning_gtk_win/learn_gtk_win-2.html#sect2.3
■ ということは、Win32の環境では、通常のgettextはSJISを返し、GTK+の時に限ってはUTF-8を返す必要があります...。
■ で、私はこの先、全く未確認なのですが、実際のところはこの辺うまくやってるのでしょうか?あるいは、どこかしらで、SJISかUTF-8のどちらを返すのかを判断させないといけないのでしょうか...。
例えば、アプリケーション側で、Win32な場合は、UTF-8なmoファイルからgettextを使ってSJISに変換された文字を受け取って、さらにそれをUTF-8に変換してGTK+に渡す必要がある....ってことは無いですよね...。
■ うーん、でも、これでさらにRuby/GTKが絡む場合はどうなるんだろう。微妙だ...。
そんなわけで、SJISなmoファイルを用意すればいけそうと書いたのは怪しいです。UTF-8なファイルかも。
■ この辺は、落ち着いたら調べてみます。連休中にやろうと思ってたんだけど、すっかりtDiaryにはまってました(^^;)。
つーか、知ってる人は教えてください。
#私のWin32な環境って会社のPCだけなんすよね...。
#しかもHDD容量が少なくてなかなか環境作れないんです(T_T)。
May 08, 2002 [おもひで]
■ [tDiary] tDiaryアクセスカウンタ表示プラグイン向けテーマギャラリー
Nanaさんにアクセスカウンタ用の画像をいただいたので、それを元にテーマ集を作ってみました(tDiaryのテーマギャラリを参考にさせていただきました)。 Nanaさんおしゃれな画像をいっぱい送っていただき、どうもありがとうございました。■ そんなわけで、アクセスカウンタ表示プラグインを使ってる人は、おしゃれなカウンタをつけてみてはいかがでしょうか。
■ それから、自分で作ったアクセスカウンタ用の画像を使ってもイイよ!という方がいましたら是非、ご一報を。
May 09, 2002 [おもひで]
■ [Ruby] Ruby-GetText-Package
いろいろ考えたが、やはり、GNU GetTextのラッパにすることにした。ただしAPIは今の実装に近いモノにする予定。それでも以前のバージョンとの互換性は無くなるかも。すんまそ。
■ [tDiary] アンカー自動生成プラグイン
こんだけキャンペーンをやってもあいかわらず人気のない(^^;)アンカー自動生成プラグインですが、バグってたのでアップデートしました。ま、誰も使ってなさそうだから、ま、いっか(^^;)。
■ 使うと便利なんだけどなぁ...>まだ言う(^^;)。
■ [tDiary] tDiaryアクセスカウンタ表示プラグイン向けテーマギャラリー
Nanaさんにいただいた中から、1つ使ってみる。
May 11, 2002 [おもひで]
■ [tDiary] アクセスカウンタ表示プラグイン 1.3.0リリース!
zoeさんから、「デフォルトで前0(00123とかいうやつの00の部分)はいらないのでは?」というご指摘を受けた。なるほどそれもそうだ。というわけでそのようにコードを修正。といっても、実は以前のバージョンでもfigure = 0にしておけば前0なしにできたので、デフォルト引数を変えたくらい。 ただ、大きな仕様変更ではあるのでバージョンアップということにした。
■ そんなわけで、今まで使ってる人で特に不自由を感じない場合はバージョンアップする必要はないです。
■ ちなみに、Linuxビボ〜ろくにあるカウンタは前0があった方がおさまりが良いみたいなのでそのまま前0を残すことにした。画像系は特に1桁の時、前0なしだとおさまりが悪くなる場合もあるみたい。
May 12, 2002 [おもひで]
■ [tDiary] アクセスカウンタ表示プラグイン
なんか、昨日のアクセス数が最近の平均に比べ300件くらい多い。チェック用に備え付けてるXREAのカウンタから比べても200件以上多い。またしてもアクセスカウンタ表示プラグインのバグか?と思って、以下をチェックしてみた。
- Cookieは効いているか
- tlinkからのアクセスでカウントがアップしないか
- HEADリクエストでカウントアップしないか
■ いずれも問題ない....と思う。で、なんでかなぁと思ってanalogのウェブサーバの統計結果を見てみたら、興味深いことに昨日だけPockey/4.10.2(Win32; GUI; ix86)というUser-Agentからのアクセスが300件以上あることに気づいた。これってなんだか知ってる人いますか?
もちろん、アクセスカウンタ表示プラグインのバグの可能性は高いのですが奇妙に一致するので、まずはそれが何モノなのか知りたいので...。
,一-、 / ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■-っ < んなーこたーない ´∀`/ \__________ __/|Y/\. Ё|__ | / | | У.. |
┌──────── │はにゃーん └──v───── ∧_∧______ /(*゜−゜) /\ /| ̄∪∪  ̄|\/ | しぃ |/  ̄ ̄ ̄ ̄ ̄
| | ____ |⌒彡 / |冫、) < あっそう |` / \____ | / |/ | |
\从/ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ (;TДT)< オマエモカー ( つ つ \______ 〈 〈\ \ (__)(__)
■ フォントがMS Pゴシックじゃないとダメなのと、ヘタに使うと厳しいツッコミが入りまくりそうなかなり危険な香りがするので公開するのは自粛ときます(^^;)。
May 13, 2002 [おもひで]
■ [Tools] RuWeex
昨日の本日のリンク元に、google検索(ruweex ssh)というのがあった。RuWeex使ってくれてる人いるんだ...。ちょっとうれしいな。といっても、あれもしばらくいじってないからなぁ。うーむ。
■ [Misc] Pockey
なんか、カウンタが異様に多かったのはおとといだけで、その後は落ち着いた。それとともにPockeyからのアクセスが無くなった。やっぱり因果関係があるようだけど、結局、なんなの?Pockeyって???
■ [Misc] 続 Pockey
GetHTMLWなんですか。ひだかさんありがとうございます。 ひだかさんに教えていただいたhttp://www.dais.is.tohoku.ac.jp/logs/agentgripes.htmlってすごいですね。ブックマークさせていただきました。
#なんでこのページを見つけられなかったんだろう...(^^;)。
■ そういや、考えてなかったんだけど、クッキーを考慮してくれるwget系のツールって少なさそう。やっぱり、2度連続で同じIPアドレスからアクセスがあった場合はカウントしないなどの処置を入れないとかなぁ。
- 環境変数でLC_ALLとかLANGを指定しないと日本語のja/LC_MESSAGES/test.moを見てくれない。
- UTF-8をSJISに自動変換してくれない
■ ちなみに、Linuxでやると同じバージョン(0.11.1)のGetTextでも、1は必要だけどUTF-8 → EUC-JPの自動変換はやってくれる。
でも、ざっくりとGetTextのコードを読むと、WindowsでもGetACP()使ってなんかしようとしてるんだけどな。ひょっとしたら使い方の問題?コンパイルの仕方・ライブラリのリンクの仕方が悪いのだろうか。
■ つーか、Cygwinのsetlocaleって機能してるのかなぁ。常に環境変数指定しておいてもCを返すし第2引数にロケール指定してもNULL返すし...。
もうちょっと追ってみるか....。
#実はCygwinでプログラミングするの初めてカモ。
May 15, 2002 [おもひで]
■ [tDiary] Yet Another Squeeze
ドキュメント直しました。ありがとうございます > NTさん。ついでに傾向と対策をちょこちょこっと追記してます。May 16, 2002 [おもひで]
■ [Tools] wgetとCookie
こんなこと書いたけど、調べてみたらwget自体はデフォルトでCookieを保持してくれるのね(起動している間だけだけど)。だから、wgetでtDiaryにアクセスしても1カウントしかされないのだ。
■ ちなみに、デフォルトではwgetを再度起動すると前回の情報は失われちゃうんだけど、ファイル化しておけば次回それを使うことができる。
$ wget --save-cookies=cookie.txt http://ponx.s5.xrea.com/ こちらは終了時に保存 $ wget --load-cookies=cookie.txt http://ponx.s5.xrea.com/ こちらは保存しておいたのを使う。
ちなみにCookieをoffにすることもできる。
$ wget --cookies=off http://ponx.s5.xrea.com/
これをPockeyの代わりに使って次バージョンのアクセスカウンタ表示プラグインをテストすることにしよう。
あ、でも、良い子はこれ使っちゃダメだよ。今のアクセスカウンタ表示プラグインでは、読み込む度にカウントしちゃうから(^-^;)。May 18, 2002 [おもひで]
■ [Misc] ADSL 8Mがやってきた!
ADSL 8Mにしちゃいました。電話局から自宅までの伝送距離が2.3kmだったのでちょっと心配だったんだけど、1.5Mのときよりはだいぶ良いみたい。こちらで図ってみた。
1.5Mのとき
ページ読み込み時間 5.963 sec 回線速度(Kbit/秒) 560Kbps 回線速度(Kbyte/秒) 70.41 Kbyte/Sec ISDNの約何倍 13.04倍
8Mのとき
ページ読み込み時間 1.858 sec 回線速度(Kbit/秒) 1800Kbps 回線速度(Kbyte/秒) 225.99 Kbyte/Sec ISDNの約何倍 41.85倍
うむ。3倍以上になってる。良い感じだ。 こちらの結果も残しておこう。
測定サイト http://speed.on.arena.ne.jp/ v2.0.8 測定時刻 2002/05/18 12:32:01 回線種類/線路長 ADSL/2.5km キャリア/ISP eaccess 8Mbps/highway ホスト1 WebArena(NTTPC) 2.04Mbps(758kB,3.1秒) ホスト2 at-link(C&W IDC) 2.10Mbps(974kB,3.9秒) 推定最大スループット 2.10Mbps(263kB/s) コメント eaccess 8Mbpsとしては標準的な速度です。(3/5)
■ [Misc] (続)ADSL 8M
家帰ってPCを立ち上げてみたら、eth0の初期化(?)に失敗。見るとADSLルータの[LAN]ランプが点灯してない。何度か電源OFF/ONを試したけどダメ。1.5M用のADSLルータに戻すときちんと動作するので、ケーブルやPC側の問題ではないと思う。
これって初期不良?誰に連絡すれば良いんだ?プロバイダか?eAccessか?メーカか?
にしても、なんか最近こういうの多いな....(T_T)。
■ [tDiary] アクセスカウンタ表示プラグイン 1.4.0リリース!
■ なんか機能テンコ盛り。ヤリ過ぎかも(^^;)。
May 22, 2002 [おもひで]
■ [Ruby-GNOME2] CVS版に手を加えはじめる
とりあえずRuby/GTKのコンパイルは通るようになった....。が、テストスクリプトを起動しようとすると以下のエラーに。
helloworld.rb:8:in `require': /usr/lib/libgobject-2.0.so.0: shared object not open - /usr/lib/ruby/1.7/i686-linux/gtk2.so (LoadError)
from helloworld.rb:8
■ なじぇ?
May 23, 2002 [おもひで]
■ [Ruby-GNOME2] shared object not open
さかいさんのパッチをあてたら直った。どもです>さかいさん。さっそくCVSに取り込ませていただきました。
■ そうそう、すっかり書くの忘れてましたが、行きがかり上(^^;)、Ruby-GNOMEとRuby-GNOME2のメンテナになっちゃいました。こりゃ大変だ(^^;)。
■ もちろん、私一人で全部の開発・メンテナンスをやっていけるわけないので、一緒に開発してくれる方を募集中です。特にRuby-GNOME2に関して一緒に開発してくれる方、是非ご一報を。
■ ちなみに、Ruby-GNOME2の最新版はこちらから取得できます。Ruby-GNOMEと共存できます(っていうか別物扱い)ので、興味のある方は是非どうぞ。
■ #シグナル関係とかはまだ全然動作しないけど。
May 25, 2002 [おもひで]
■ [Misc] ADSL 8M
ADSLルータが壊れた件なんだけど、結局、交換してもらった。eAccessさんの迅速な対応、感謝感謝です。
May 26, 2002 [おもひで]
■ [Misc] ADSL 8M
eAccessの方から再び電話が。なんと、現状の8Mの通信速度をチューンアップしてくれるとのこと。さっそくお願いしてみる。
結局、上り 640Kbps 下り 3072Kbpsくらいになった。上りは2000Kbps位(あまり覚えてないんだけど)だったので下りは相当速くなっている。
実は上りは100Kbpsほど落ちてしまったのだが、うちの場合は自前でサーバを立ててるわけでもないのでモーマンタイ。
ページ読み込み時間 1.588 sec 回線速度(Kbit/秒) 2112 Kbps 回線速度(Kbyte/秒) 264.42 Kbyte/Sec ISDNの約何倍? 48.96 倍
■ 測定サイト http://speed.on.arena.ne.jp/ v2.0.8
測定時刻 2002/05/26 12:40:09 回線種類/線路長 ADSL/2.5km キャリア/ISP eaccess 8Mbps/highway ホスト1 WebArena(NTTPC) 2.39Mbps(758kB,2.7秒) ホスト2 at-link(C&W IDC) 2.62Mbps(1441kB,4.6秒) 推定最大スループット 2.62Mbps(328kB/s) コメント eaccess 8Mbpsとしては速いほうです。(2/5)■ うん、良い感じだ。この前の結果より速くなってる。
にしても、eAccessさんの対応には感心した。すばらしい。
■ [Ruby-GNOME] Ruby-GNOME, Ruby-GNOME2
メーリングリスト作ってRuby-GNOMEの方はホームページを修正して、今まで出ているパッチを一通りあててみた。疲れた〜。
にしても、こんなにたくさんパッチが残ってたなんて...(-o-;)。
一応、問題ないようだったら来週後半にでもRuby-GNOME-0.28としてリリースしようと思うんで、誰か動作確認キボー。
そうそう、メーリングリストもよろぴくね!
■ [tDiary] tDiary PluginViewer
ちょっと今、Ruby-GNOME(2)の方が忙しくなっちゃってドキュメント手をつけてません。期待してくれたNTさん、すんまそん。もうちょっと待ってくださいませm(__)m。
May 27, 2002 [おもひで]
■ [tDiary] tDiary Plugin Viewer 1.0.0リリース
たぶん、今しかできないと思ったのでがーっとドキュメント書いてリリースしちゃいました。なんか変なところがあったら言ってくださいね。
May 28, 2002 うーむ、今日はバグデーか?(^^;) [おもひで]
■ [tDiary] tDiary Plugin Viewer
NTさんのご指摘ですが、<div class="section">〜</div>はバグです。すんまそん! まぁ、実害はないと思いますので次のリリース(明日?(^^;))で直して出しますね。
■ gsubの件はうちでは起きないですね....。と思ったのですが、このコードもダメダメだなぁ。
#いや、うちで動いているのは事実なんですが...Ruby知らなさすぎ<自分(-o-;)。
#というわけで、他の方にツッコまれる前に....(^^;)
以下のように修正してみてください。
21行目を basename = File.basename(path, ".rb")
38行目を elsif str !~ /#{basename}/
どうでしょう。動きますかね、これで。動けばオッケーっていうことで(^^;)。
あいかわらずご迷惑おかけしてますm(__)m。
■ ちなみにどういう場面で便利かということですが、私自身としては、たまに使うプラグインとかはもはやメソッドとか引数とかを覚えられなくなっていて、いちいちソースをローカルで見たりしてるのでそういう煩雑さが無くなれば良いなぁと思って作ったんですよね。まぁ、全部覚えられればそれに越したことはないのですが。
■ 他人からプラグインを見れるようにするかどうかということですが、まぁ、別に公開しても良いと思いますよ、私も公開してるし。
ただ、セキュリティホールの見つかったプラグインがあって、それをアップデートしない人がいた(日記とかでしばらくすると放置されると言うのは結構ありがちだと思います)場合にちょっと危険かなぁと。
May 29, 2002 [おもひで]
■ [tDiary] tDiary Plugin Viewerリリース
昨日のNTさんに報告いただいた分と、なかださんに教えていただいた分を元に1.0.1をリリースしました。

▲ ただただし [FAQに入れちゃった:-)]