Ruby言語やLinuxのネタが多いです。
February 01, 2003 [おもひで]
■ まず、kbanner2のサイトからkbanner2をダウンロードしコンパイルし、tdiary.rbがあるディレクトリに置く。
次に、以下のコードをkbanner.rbとして保存し、pluginディレクトリに置く。
if @options
@kbanner_fg = @options["kbanner.fg"]
@kbanner_bg = @options["kbanner.bg"]
@kbanner_cmd = @options["kbanner.cmd"]
end
@kbanner_fg = %Q[<span style="color:green">*</span>] unless @kbanner_fg
@kbanner_bg = %Q[<span style="color:white">_</span>] unless @kbanner_bg
@kbanner_cmd = "./kbanner" unless @kbanner_cmd
def kbanner(str, vertical = false, large = true)
opt = ""
opt += " -#{str.size} " unless vertical
opt += " -s " unless large
bitmap = `echo -n '#{str}'| #{@kbanner_cmd} #{opt}`
ret = ""
bitmap.each_line {|line|
line.each_byte {|char|
if char == ?\s
ret << @kbanner_bg
elsif char == ?; or char == ?, or char == ?' or char == ?#
ret << @kbanner_fg
end
}
ret << '<br>'
}
ret
end
■ これで準備OK。あとは以下のように使う。
<%= kbanner 'あほ' %>
■ 実行結果:
____________**__________________________________________________
____________**______________________**__________________________
____**********************__________**____********************__
__________**______________________****______________**__________
__________**______**______________**________________**__________
__________**************__________**________________**__________
______******______**__******______**______********************__
____****__**______**______**______**________________**__________
____**____**______**______****____**________________**__________
__****____**____**__________**____**________________**__________
__**______**____**__________**____**________**********__________
__**______**__**__________****____**______**________******______
__**______****____________**______**__**__**________**__****____
____******____________******______****____**______****____****__
__________________******____________**______********____________
________________________________________________________________
■ オプションは以下の通り。
@options["kbanner.fg"] - 文字の部分の形状・CSSを指定
@options["kbanner.bg"] - 空白の部分の形状・CSSを指定
@options["kbanner.cmd"] - kbannerコマンドを指定(フルパス・相対パス)
■ ちと重いかなぁ。XREAで使うのはやめとこ。
February 03, 2003 [おもひで]
■ [tDiary] tDiary-users ProjectのWikiページ
本格的に稼働し始めたようだ。tDiaryパワーおそるべし。
ちなみに、tDiary-FAQも移すようだ。
オレ的にちと寂しいのがtDiary-FAQにあるプラグインの一覧のうち一部のプラグインがPlugin Listに移ってないこと。
しかもオレがこっそり登録しておいた(^^;)fortuneとfusejiが削られてる。しくしく。
#まぁ、誰も使わないだろうからしょうがないか。
■ [tDiary] アクセスカウンタ表示プラグイン
今日、久しぶりにいろいろな方の日記を巡回してたら、アクセスカウンタ表示プラグインが原因で遅くなっているというのを発見(こちら,こちら)。
そういや、オレのサイトもcounter.datが1.5Mある。ひょっとしてこのサイトに負荷かけてるのって、本日のリンク元表示プラグインじゃなくてこっちなのか。こりゃいかん。
■ ちなみになぜ1.5Mもあるかというと、これはアクセスしてきたクライアントの情報を保存してるんだよね。なぜかというと、クッキーに対応してないブラウザとかからアクセスされても安易にカウントアップしないようにするのに使うため。でも、これ、方式から見直さないとなぁ。
■ [tDiary] とはいうものの
今週末はRuby-GNOME2をリリース予定なので、アンカー自動生成プラグインとアクセスカウンタ表示プラグインの件はそれ終わった後に対処しよう。すんまそん。
February 09, 2003 [おもひで]
■ [Ruby-GNOME2] Ruby-GNOME-0.3.0
リリースしました.....。結局1日がかり。ものすごくパワー使うな、これ...。
■ [tDiary] アクセスカウンタ表示プラグイン
見直し中。なんかすっかり忘れてるってか何やってんのか全然わからん。うーむ、難しい(^^;)。
February 10, 2003 [おもひで]
■ [cygwin] CygwinでRuby-GNOME2
を動かそうと思って、会社の暇な時間を見つけてトライしてみたんだけどうまくいかず。
ひとまず、Ruby/Pangoを試そうと、Makefileをちょこちょこいじったりglib2.defを手で書いてみたりして、なんとかコンパイルはできたんだけどコアを吐く。
まぁ、根本的な原因はオレがコンパイラとかリンカとかがよくわかってないのが原因なんだけどね、ってオイ(^^;)。
■ とはいえ、あまりそれに費やす時間もない(何せ会社しかないんだもんWin32環境(^^;))し、誰かやってくれないかなぁ、Win32対応。いや、マジで。
■ [tDiary] アクセスカウンタ表示プラグイン
counter.datがやたら大きくなる件だがやはりバグだった(^^;)。
1日1回、指定した時間を超えたデータは削除するようにしていたのだがそのロジックがマズくて全然削除されてなかった(そりゃでかくなるわな(^^;))。あと、ちとコードもわかりづらくなってた。
というわけで、その辺書き直してここでトライ中。1日1回ずつクリーンアップされるのでちょっと様子を見ることにする。
まともに動いているようだったら今週末にでもリリースしようかな。
February 15, 2003 [おもひで]
■ [tDiary] アクセスカウンタ表示プラグイン-1.6.3
リリースしました。counter.datのサイズが激減しますし、結果として処理速度・サーバへの負荷がだいぶ減ると思うのでアクセスカウンタ表示プラグインを使っている方は是非バージョンアップしてください。
#1.4, 1.5系両用です。たしか(^^;)。
■ [Misc] USENのFTTH
家にチラシが入っていたのだが、とうとうオレの住んでいる町内も使えるようになったらしい。月々4,800円(3月からは4,200円)だ。さらに300円足すとGATE CALLというIP電話も使えるらしい。しかもGATE CALLは一般の電話と同じように03-xxxという電話番号が割り振られるし、一般の電話ともやりとりできるらしい。しかも1分あたりの値段を見てもNTTの半分以下だ。
おまけに2/23までに申し込めば基本工事費の15,000円が無料になる。
うーむ、申し込んじゃおうかなぁ。ベストエフォートだけどなんてったって100Mbpsだしなぁ。
でも、今契約してるプロバイダを使おうとすると2重で契約しないとならないのかな。それはちょっとイヤだなぁ。
February 16, 2003 [おもひで]
■ [Misc] 申しこんじまいました(^^;)
って、あれです、USENのFTTHっす。
土日も受け付けてると言うので電話してみてみたら、んじゃ、今から営業が行きます〜、とか言われて気がついたらハンコ押してましたよ。
まぁ、押しに弱いオトコだからしょうがないんですが、グローバルIPを最大5つまでくれるというのがうれしいじゃないですか。
■ 料金は色々オプションを(IP電話とかメールアドレスとか)追加したので月々6,000円弱になってしまいましたが、今契約しているプロバイダの契約料の4,000円ちょっとと、NTTの月額固定費用1,500円くらいを解約すればそれほど今までと変わらないもんね〜。
■ ただ、PCがインターネットにさらされることになるのでセキュリティ関連は自分で責任もってやらないとダメなんだよね。100Mbps対応のルータ買ってポートフィルタリングするか、Linuxでやるか。いずれにせよ大丈夫かな、チト心配(ってこれ知らないで契約してるヒトって結構いるんじゃないかな...)。おっと、その前にイーサカードも100Mbps対応にしないといかんのか。
■ そうそう、せっかくグローバルIPもらえるんだったらいっそサーバ立てるか。立てても良いって営業さん言ってたし。
ここも本来のLinuxビボ〜ろくっぽいネタが増えるかもなぁ(^^;)。
■ メールアドレスとか、ここのURLとかむとぽん7のURLが今後変わるかもしれないのがちょっと心配だけど、ま、この際、過去も清算するとするか(^^;)。
February 26, 2003 [おもひで]
■ [tDiary] アンカー自動生成プラグイン修正中
全然意識してなかったんだけど、これってtDiaryのkw.rbだけではなく、他のWikiなんかの表示方法も参考にした方が良さそうだな。
[[キーワード]] [[yyyymmdd#pxx]] #(Wikiスタイルのみ。myプラグイン相当) [[表示文字列|URL]] [[キーワード:URLに展開される際のオプション文字列(日本語可)]] [[表示文字列|URL]] [[画像名|画像URL]] #imgタグに展開される
■ あり?表示文字列とキーワードとオプション文字列をいっぺんに指定できる方法は無いのかな(アンカー自動生成プラグインのオプションを全部設定したような指定方法)。
((<リンク先のページ(同サイト内)>)) ((<URL:http://.../>)) ((<表示文字列|URL:http:..../>))
<%= a "表示文字列|キーワード:オプション文字列" %> <%= a "表示文字列|キーワード" %> <%= a "表示文字列|URL" %> <%= a "キーワード:オプション文字列" %> <%= a "URL" %>
■ でも、これだと、今までのアンカー自動生成プラグインと順番変わっちゃうなぁ。
オレ的には重要な情報ほど左にあるのが好きなんだけど、この場合、表示文字列よりキーワードやURLの方が重要な情報だと思うのでオレの好みだと逆になってしまう。
うーむ。

Before...
▲ むとぽん [おぉ。直しました。 元々は半角スペースが入っていたのですが何かの拍子に消えてしまったようです(高林さんのソースでは半..]
▲ なかだ [あ、エラーになるのは1.8だけか。 1.6でもwarningは出るので、スペースとか改行はエスケープ形式のほうがいい..]
▲ むとぽん [ほんとだ。1.8だとエラーになりますね。]