«前の日(01-18) 最新 次の日(01-20)» 追記

これ日記なん?


2002-01-19(Sat) この日を編集

_ Rubyでover 2GBできない?

昨日こけたやつだが、実はデータベースのexportファイルが2GBを超えたらgzipじゃなくてcompressするようにするやつだったのだが、その判断ロジック自体がこけよった(--;。man stat すると、表現しきれないときはOVERFLOWで返すんだそうで、きっちりそのとおりに。しょうがないんで、OVERFLOWするか、閾値を超えるかで判断させることにした。 テストついでにいろいろやってみたのだが、
  • open("tmp.txt", 'w') do |f| print 'x' end では2GBを超えようとするとこける
  • open("tmp.txt") do |f| puts f.type endも駄目
というありさま。そらそーか、statが返してんだもん。 しかし、HP-UX11でこれ回避する方法あるのかしらん...? やはり、gzipリコンパイルが正解なんやろなぁ...。

2003-01-19(Sun) -- この日を編集

_ 今日の天気

曇り...ちょっと雨が降ったみたい。

_ www.jin.gr.jp 効果

アンテナに補足されたので、一気にリンク元の数が増えた♪うれしいやら怖いやら。

_ RWiki2 on FreeBSD4-stable with ports-current

RWiki2を試してみる。基本的には、どころか rd/install.ja の通りで動きました。せっかく FreeBSD なのでできるだけportsを利用しましたけど。

以下もちろん全部は不要ですが、とりあえず動いたマシンの portsversion -v | grep ruby

xelvis# portversion -v | grep ^ruby
ruby-1.6.8                  =  up-to-date with port
ruby-acl-1.0.1              =  up-to-date with port
ruby-amrita-1.0.2           =  up-to-date with port
ruby-amstd-2.0.0            =  up-to-date with port
ruby-bdb1-0.1.8             =  up-to-date with port
ruby-dbd_pg-0.0.18          =  up-to-date with port
ruby-dbi-0.0.18             =  up-to-date with port
ruby-devel-logger-1.0.1     =  up-to-date with port
ruby-drb-1.3.8              =  up-to-date with port
ruby-erb-1.4.3              =  up-to-date with port
ruby-interbase-0.05         =  up-to-date with port
ruby-postgres-0.7.1         =  up-to-date with port
ruby-racc-1.4.3             =  up-to-date with port
ruby-rdoc-0.0.0.b2          =  up-to-date with port
ruby-rdtool-0.6.12_1        =  up-to-date with port
ruby-shim-ruby18-1.8.0.p1   =  up-to-date with port
ruby-tmail-0.10.6_1         =  up-to-date with port
ruby-webrick-1.2.3          =  up-to-date with port

_ ERB2はまだportsにないみたいなので、~/lib/rubyに入れる。install.ja通り、tar.gz を展開してから、cp -pr lib/* ~/lib/ruby

RWiki2はライブラリ化されてるので、これもインストール必要。これも ~/lib/rubyに入れる。 install.ja とおり、cp -pr lib/* ~/lib/ruby

interface/rw-cgi.rb を cgi で動くところにコピーして、chmod など。ポート番号はとりあえずデフォルトでサーバ側と一致してるので問題なければそのまま。

cd site; ruby -d -KE rwiki.rb としてから、rw-cgi.rbを起動。ふむ。動く。

_ RWiki2 sample-application storycard

続いて sample/story を動かしてみる。えーとREADME...ないの(;_;

ソースをざざっと見た感じ、story-rwiki.rbがサーバで別立てにするみたいなので、story-config.rbのDRB_URIのポートを書き換えて、ruby -d -KE -I ~/lib/ruby story-rwiki.rb とする。

先のrw-cgi.rbをリネームコピーして、最後のポート番号だけ書き換えて実行...動いた。

カードを追加したあと、[home]に戻ろうとしたら、突然InternalServerErrorに。ERbLightのままになってるみたいなので、2箇所書き換え。

diff -u story/story-rwiki.rb /home/kog/rwiki-story/story-rwiki.rb
--- story/story-rwiki.rb        Tue Sep  3 02:53:19 2002
+++ /home/kog/rwiki-story/story-rwiki.rb        Sun Jan 19 16:10:24 2003
@@ -1,4 +1,4 @@
-#!/usr/local/bin/ruby
+#!/usr/local/bin/ruby -I /home/kog/lib/ruby
 # story-rwiki.rb
 #
 # Copyright (c) 2002 Masatoshi SEKI
diff -u story/storycard.rb /home/kog/rwiki-story/storycard.rb
--- story/storycard.rb  Tue Sep  3 02:53:19 2002
+++ /home/kog/rwiki-story/storycard.rb  Sun Jan 19 16:26:17 2003
@@ -100,7 +100,7 @@
 
     def add_item(name)
       pg = @book[name]
-      pg.src = ERbLight.new(@item_tmpl).result(binding)
+      pg.src = ERB.new(@item_tmpl).result(binding)
     end
 
     def empty_story?(story)
@@ -159,10 +159,11 @@
       else
        name = @base_name
       end
+p name
       add_item(name)
       item.unshift("* ((<#{name}>)) empty - empty item")
 
-      @idx_pg.src = ERbLight.new(@index_tmpl).result(binding)
+      @idx_pg.src = ERB.new(@index_tmpl).result(binding)
     end
 
     def desc_page

_ CVS版ではsample/story/* -> lib/rwiki/* になっている様子。CVS版つかってみようかしらん。

_ RWiki2 CVS版

CVS版を試すついでに cvsup で src 以下のリポジトリを持ってきた。

ローカルCVSリポジトリからco

$ cd ~
$ cvs -d kog@vfr:/home/ruby/src -d rwiki2 co app/rwiki
$ cd rwiki2 
$ ruby install.rb -d ~/lib/ruby
$ cd ~/rwiki2/site; vi rw-config.rb
$ cd ~/rwiki2/interface; vi rw-cgi.rb
$ cp rw-cgi.rb ~/public_html
$ chmod 755 ~/public_html/rw-cgi.rb
$ cd ~/rwiki2/site
$ ruby -d -I ~/lib/ruby -KE fat-rwiki.rb

_ 動いた動いた♪。rw-cgi.rbの変更箇所も書いとこう。

cvs server: Diffing .
Index: rw-cgi.rb
===================================================================
RCS file: /home/ruby/src/app/rwiki/interface/rw-cgi.rb,v
retrieving revision 1.3
diff -u -r1.3 rw-cgi.rb
--- rw-cgi.rb   18 Jan 2003 06:53:31 -0000      1.3
+++ rw-cgi.rb   19 Jan 2003 10:55:39 -0000
@@ -1,4 +1,4 @@
-#!/usr/local/bin/ruby
+#!/usr/local/bin/ruby -I /home/kog/lib/ruby
 
 # rw-cgi.rb -- RWiki CGI interface.
 #

_ これってstory拡張とか、bts拡張とかってどうやって使うんだろう(?_?

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

_  [そのうち使い方を書きます。もうちょっと待って下さい。]

_ kog [期待してます!わくわく。]