2001-03-02(金) RubyConf、mod_ruby、eRuby、cgi.rb、万歩計 [長年日記]
■ Mary?
おや? この日記の次の名称が決まったようで >[Kondara-users.ja:05313]
■ Ruby Conference
おおー、ついにアメリカでカンファレンスかぁ。もうマイナーとは呼ばせないぜ。「desire to meet matz」って表現が泣けるね。でも、なんでPHPでサイト作っとんのじゃいっ。eRubyでさくっと作らんかい。
■ ftpup
前田さんのサイトをウロウロしてたら、ftpupの1.3.4を見つける。RAAに入ってないってことは発禁ものか?(なんだそれ) ftplibからnet/ftpに変えたのかな〜、と思ったら違いました。あれれ。warningが出るから気になっていたんだけどね。自分でやれというお告げか。時間ないんだけど……。
■ mod_ruby、eRuby
今まであまり真面目に使っていなかったmod_rubyを使う必要が出てきたので(また泥縄かい)、いろいろ試していたら、Kondaraのmod_ruby RPMはeRuby readyじゃなかったということがわかって愕然。動かないわけだよー、とほほ。仕方がないので野良ビルドすることに。ちなみにeRuby RPMも共有ライブラリ化されていなかったので、こっちも野良る必要がある。これを解決するには、eRubyをruby-erubyとruby-eruby-develに分けて、mod_rubyをruby-eruby-develに依存させればいいんだな。方針はわかってもSPECファイル書けないんだけどさ(Kondara-develに参加しろって話もある)。
というわけで野良りくらりと行こう(←ギャグ?)。まず、eRubyとmod_rubyをアンインストール。
% sudo rpm -e mod_ruby ruby-eruby
■ 続いてeRubyの最新版をビルド、インストール。
% tar zxf eruby-0.1.3.tar.gz % cd eruby-0.1.3 % ./Makefile.RB --enable-shared --default-charset=EUC-JP % make % sudo make install % sudo cp /usr/bin/eruby /home/httpd/cgi-bin/eruby
■ /usr/local/*じゃなくて/usr/*に入っちゃったけどいいや。次はmod_ruby。
% tar zxf mod_ruby-0.2.2.tar.gz % cd mod_ruby-0.2.2 % ./Makefile.RB --enable-eruby % make % sudo make install
■ お次。/etc/httpd/conf/httpd.confで以下の設定。CGI版のeRubyも使えるように策を巡らす。サフィックスが.rhtmlだとCGI、.rxhtmlならmod_ruby。
LoadModule ruby_module modules/mod_ruby.so AddModule mod_ruby.c AddType application/x-httpd-eruby-cgi .rhtml Action application/x-httpd-eruby-cgi /cgi-bin/eruby <IfModule mod_ruby.c> AddHandler ruby-script .rbx AddType application/x-httpd-eruby .rxhtml </IfModule>
■ 以下のような内容のファイルを2つ作って(名前はtest.rhtmlとtest.rxhtml)、前者が「CGI/1.1」と出ることでCGI版、後者が「CGI-Ruby/1.1」と出ることでmod_ruby版であることを確認。そっかー、mod_ruby版だと、カレントディレクトリが違うんだなー、当たり前だけど。
<%= ENV['GATEWAY_INTERFACE'] %><br><%= Dir::pwd %>
■ 悲しいのは、自宅か会社のローカル環境でしかこの恩恵にあずかれないことだ。やっぱ自前の回線とサーバが欲しいなぁ。
■ cgi.rb
以前作ったCGIに仕込んだLast-Modifiedヘッダが、ブラウザに認識されていないことに気づいた。気づいたのはアンテナのおかげ。調べてみると、日付が「Fri, 2 Feb 2000」だとダメで、「Fri, 02 Feb 2000」だとOK。RFCを調べて、dayは2桁固定らしいことを確認。月が変わって顕在化したのか。パッチを出したけど、よけいなことまでして前田さんにツッコミをうける。とほほ。最新のcgi.rbをGETするために、期せずしてRuby 1.7も入手しちゃうし。近づかないつもりだったのに(笑)。
■ 万歩計
万歩計かぁ(「歩数計」と書いてあるけど、馴染めないので「万歩計」と書きます)。こりゃ買いだな。やっぱOmniRemoteに続くイロモノは買わないとね。OmniRemoteは、ときどき思い出したようにしか使わないけど、これなら毎日付けて歩けばいいだけだし、それなりに実用的かも。もっとも、自分の歩数のあまりの少なさに愕然とする気もするが。
もっとも、待ち望んでる本命のSpringboardは、実用性バシバシのBlueToothなんだけど。VisorにBlueToothなSpringboardを差して、BlueTooth対応のケータイ(PHSでも可)を買えば、無敵のモバイル環境でしょぉ? ちまちましたテンキーでメール書く必要もなければ、うざったいケーブルもない。理想的だ。早く出てくれBlueTooth!!
2001-03-01(木) [長年日記]
■ 腰痛
あれ!? 今日は腰が痛くないですよ。治ったみたい。
■ Ruby関連ツール
使うかどうかは別にして(笑)、256本シリーズで扱っているツール類を一気に導入。Raccと、先を見越して(?)RDtoolを。最近はリファレンスマニュアルのスナップショットがRDフォーマットで配られてるから、RDtoolが必須なのだよ。Jiraiからnosrc.rpmとソースを持ってきてリビルド。ついでにRuby本体も1.6.2-5kになっていたのであげておこう。
それにしても、TDtoolに至るまでに実にたくさんのモジュールが必要である。けっきょく明示されている以下のパッケージを導入。
ruby-1.6.2-5k.i586.rpmruby-amstd-1.9.6-3k.noarch.rpmruby-optparse-0.7.5-7k.noarch.rpmruby-strscan-0.6.1-5k.i586.rpmruby-racc-1.3.6-3k.i586.rpmruby-rdtool-0.6.6-7k.noarch.rpm
ふひー。あ、もしかして、mph.confにJiraiのディレクトリを指定して、
% sudo mph-get install ruby-rdtool
ってすればよかったのでは……。あ、いやいや、Jirai環境じゃないんだから、RPMのrebuildは必須じゃん。やっぱこれでいいのだ(たぶん)。
そんでもって、最新のリファレンスであるruby162-refm.rd.gzを持ってきて、
% gzip -d ruby162-refm.rd.gz % rd2 ruby162-refm.rd > ruby162-refm.html
おお、できましたな。けど、これって巨大な1個のHTMLファイルなんだが(と言っても500KBだけど)。分割するには何か技がいりそうだ。そういえば今月のSoftwareDesignに、前田さんがRD使って日記システム作ってたっけ。あれは逆に、複数のRDファイルからひとつのHTMLを作るものだったけど。
それからRPM化されていないRubyUnitを最新版の0.3.4aに。ちなみに、インストール後はruntest.rbとc2t.rbを/usr/local/binに移動して、.rbを取ってしまいます。
■ Courier-IMAP
ほんの一昨日、1.3.4を入れたあとにアンテナで監視を始めたとたん、1.3.5に上がるとわ…… >Courier-IMAP しょうがない、入れよう。
2001-02-28(水) 原稿アップ〜(2) [長年日記]
■ 腰痛は徐々に良くなってきてる感じ。つーか、会社にいるのが一番からだに悪いような気がするんだけどね、マジで。
■ こないだアップした原稿、「もっと増やせ」の声に従って増補・改定。最初、「20ページくらい増やせばいいかー」と軽い気持ちで書き始めたら、いつの間にか30ページ増になってしまった……。ありゃま。ま、これで気になる仕事がひとつ減ったので、本業に専念できるぜ(ってをい)。来週はフロアの引越しだし、新しい環境で少し真面目にやらにゃぁ。