2004年1月2日
Ruby1.8.1
あけましておめでとうございました。
Rubyを入れ替えてみる。なぜかというと、一歩さんのところでもみたけども、Xrea鯖のRubyが新しいのに変わったらしいから。で、それを読んだときはふ〜んと流してたんだけども、奥様の実家で携帯からonDiaryで更新しようとしたら生成できなかったんだね。
で、いま帰ってきたので早速Rubyを更新。これでうまくけばnDiary0.9.4に変えて、そのあとにonDiaryを更新じゃ。
うまくいきません。エラーメッセージを見ると、cache.rbとrss2.rbがだめなようだ。Iconv.dllがないって言われたのは、まぁMeadowy.orgからみっけてきて、解凍したフォルダごとRubyフォルダ以下のどこぞにつっこんだんだけども、rss2.rbがあるとmswin32-ruby16.dllとiconv.dllがないって言われるのう。cache.rbのほうはbookstore_x.rbとsum_price_x.rbをフィルタから外せば問題はなかった。当たり前か。
で、bookstore_xとbookstore_x_customを組み込んで、日記生成してエラーメッセージを見てみると、CacheBiBがどうとか言われとるような。もう一箇所エラーをだされてたけど、それはスペースいれるなよってことらしいので、それはクリアできたけどこっちのはわからんのでうっちゃっておく。
rss2.rbのほうですが。デバグオプション付きでみてみるとuconvのモジュールがみつからんだそうだ。Ruby1.6.8のときはuconv.soをいれておくだけでよかったんだけどねぇ。だめらしい。も一回さんからダウンロード。で、解凍したuconvフォルダごとつっこんでみる。そしたら今度はiconvがないって言われる。なんだかわかんね。
とりあえず、RSSはnotさんのfilter/rss.rbを使用。iconv.dllがないとかいわれるが、RDFファイルは出力されているようだ。よしよし。
2004年1月3日
Ruby1.8.0
1.8.1から1.8.0に落としてみた。どうかな?
なんで1.8.0でもbk1とかbookstore_xは動かないんだろう〜。ってすっかり勘違いしていた。一歩さんがbk1などに手を入れたのはbk1のHTMLが変わったらしいからだったか。1.8.0対応は本家nDiary0.9.4の方でしたね。
WAR; ISBN check-digit error. 7 -> 7
WAR; access-error; 4-06-334823-7 - bk1
WAR; ISBN check-digit error. 7 -> 7
./filter/cache.rb:43:in`<'
./filter/cache.rb:43:in`read_cache'
./filter/cache.rb:143:in`get_data'
c:/ndiary/filter/bookstore_x.rb:292:in`bookstore_x'
c:/ndiary/filter/bookstore_x.rb:229:in`each_index'
c:/ndiary/filter/bookstore_x.rb:229:in`bookstore_x'
c:/ndiary/filter/bookstore_x.rb:201:in`gsub!'
c:/ndiary/filter/bookstore_x.rb:201:in`bookstore_x'
./ndiary-lib.rb:231:in`send'
./ndiary-lib.rb:231:in`filter'
./ndiary-lib.rb:229:in`each'
./ndiary-lib.rb:229:in`filter'
./ndiary-lib.rb:481:in`makeParagraph'
./ndiary-lib.rb:541:in`tohtml'
./ndiary-lib.rb:535:in`each'
./ndiary-lib.rb:535:in`tohtml'
./ndiary-lib.rb:593:in`writeHTML'
./ndiary-lib.rb:592:in`each'
./ndiary-lib.rb:592:in`writeHTML'
./ndiary-lib.rb:735:in`makeHTML'
./ndiary-lib.rb:732:in`each'
./ndiary-lib.rb:732:in`makeHTML'
./ndiary-lib.rb:860:in`makepastdiary'
./ndiary-lib.rb:927:in `main'diary:20: comparison of Time with 1073100586 failed(ArgumentError)
(NDiaryFatalError: ./ndiary-lib.rb:631:in `writeHTML'
./ndiary-lib.rb:735:in `makeHTML'
./ndiary-lib.rb:732:in `each'
./ndiary-lib.rb:732:in `makeHTML'
./ndiary-lib.rb:860:in `makepastdiary'
./ndiary-lib.rb:927:in `main'
diary:20)こんなエラーでした。いやいや、ISBNのチェックデジットは計算どおり一致してるのになぁ。なんでエラーってでてるのん?ISBN
から計算したチェックデジットとISBN末尾の数字を比較する部分がエラーのようだが・・・いろいろいじったけどチェックデジットのエラーが消えたと思ったらアクセスエラーだって。こりゃぁソースがどうとかじゃなくてまたHTMLの構造がかわったとかアドレスかわったとかかなぁ?ISBNコードを別のマンガにしてみると、旭屋、紀ノ国屋、esbooksはアクセスできてるようだし。
でもまだエラーのでてる"<"がだめ?だとかTimeの比較のところ?がだめっぽいとか???があるのはわかんね。
if File::mtime(@cache_dir + @file).to_i < Time::now.to_i - 3600 * @expire thenと言う部分がcache.rbの43行なわけですが
p File::mtime(@cache_dir + @file)
p Time::now.to_i - 3600 * @expire
if File::mtime(@cache_dir + @file).to_i < Time::now.to_i - 3600 * @expire thenとpを入れると
Sun Jan 04 01:14:16 東京 (標準時) 2004
1073103660となってたのでto_iをいれてみましたとさ。そしたらまぁうまくいったっぽい。でも書影はbk1から落とす仕様のを一歩さんから拝借してるしのう。まぁ、それは後にして次ぎはsum_price_xも組み込んでみるのテスト。
今度はコレだ。
CHK; cannot read cahce. FILE; ./bookcache/bk1/isbn459211082x.txt
Filter error: 'sum_price_x' -> NoMethodError: super: no superclass method `set_info'
(./filter/bk1.rb:292:in `set_info'
./filter/cache.rb:168:in `get_data'
./filter/sum_price_x.rb:190:in `sum_price_x'
./filter/sum_price_x.rb:135:in `each_index'
./filter/sum_price_x.rb:135:in `sum_price_x'
./filter/sum_price_x.rb:123:in `scan'
./filter/sum_price_x.rb:123:in `sum_price_x'
./ndiary-lib.rb:231:in `send'
./ndiary-lib.rb:231:in `filter'
./ndiary-lib.rb:229:in `each'
./ndiary-lib.rb:229:in `filter'
./ndiary-lib.rb:481:in `makeParagraph'
./ndiary-lib.rb:541:in `tohtml'
./ndiary-lib.rb:535:in `each'
./ndiary-lib.rb:535:in `tohtml'
./ndiary-lib.rb:593:in `writeHTML'
./ndiary-lib.rb:592:in `each'
./ndiary-lib.rb:592:in `writeHTML'
./ndiary-lib.rb:735:in `makeHTML'
./ndiary-lib.rb:732:in `each'
./ndiary-lib.rb:732:in `makeHTML'
./ndiary-lib.rb:855:in `makepastdiary'
./ndiary-lib.rb:853:in `each'
./ndiary-lib.rb:853:in `makepastdiary'
./ndiary-lib.rb:923:in `main'C:/www/aturust/public_html/cgi-bin/ndiary/script/diary:20)
[c:/www/aturust/public_html/log/200401.price]
WAR; access-error; 4-592-11082-X - bk1set_infoがどうとか?これを探すとcachebib.rbにあった。けど、cache.rbもbookstore_x.rbもbk1.rbも中身ではset_infoて見つからんしrequireって書いてないみたいだけど・・・あぁ、bk1.rbの中でrequireって書いてあるけどコメントアウトされていて、これを組み込んでみても、見つからん!て怒られたんだな。
よくわからんので、とりあえず一歩さんのところからbk1.rbを拝借してみてみる。一歩さんの日記にはってあるbk1そのほかもろもろから拝借していたんだけどもファイル置き場のを見てみると、set_infoの部分の記述がちがう。で、いれかえてみるとエラーでなくなたよ。こんどはopen-uriがないってさ。なんか一歩さんの日記かどこかで見たような記憶があるなぁ。
あれ?RAAに行って見たけどダウンロードできなくなっている。Not Foundだって。こりゃこまった。え?1.8.0にはちゃんとopen-uriが入ってるよ!なんでエラーじゃ。
Exception `Errno::ENOENT' at C:/Ruby/lib/ruby/1.8/open-uri.rb:76 - No such file or directory - ../www/isbn459211082x.jpg
Exception `NDiaryFatalError' at ./ndiary-lib.rb:629 - skelton file 'c:/www/aturust/public_html/log/template_past.html' not found.
skelton file 'c:/www/aturust/public_html/log/template_past.html' not found.
(NDiaryFatalError: ./ndiary-lib.rb:629:in `writeHTML'
以下略こんなエラーだった。よくわからん。あ、そういやデバグオプション付きでみてると、date/holidayがないって言われとりますが1.8.0にも1.6.8にもRAAにもないようですがこりゃなんだろう?
あった。RAAでdate2を落としてきたらlibの中にあったのでいれてみる。よし、calendarのエラーは消えました。を?holiday.rbをいれたらなんだかうまく動くようになったぞう?sum_price_xを組み込んでもうまく動いてくれている。
じゃぁこれで1.8.0は良しとしよう。やっとこれで当初の目的のonDiary更新に移れるのう。・・・明日やろうっと。
と思ったらダメになった。キャッシュが残ってたからうまく動いたようにみえたらしい?でもsum_price_xにちゃんと価格がひろえてたしなぁ。あぁあぁ、bk1をいじったときに、書影を保存する場所もちっといじったのがいけなかったらしい。ちゃんと保存できる場所へパスを通したらあっさりうまくいった。よかったよかった。
いい加減頭にくるねぇ。やっとこさクリアしたと思えば、過去日記生成も一番最初の同じ症状がでちまった。月指定無しの日記生成の場合だけうまくいくようになってもねぇ。もうやらん。
2004年1月4日
Ruby1.8.0対策?
昨日の続きでRuby1.8.0にあげたのでエラーの対処をしてるわけですが。いままでnotさんや一歩さんにおんぶに抱っこだったものでさっぱりわからんけど手探りでやっとります。
昨日の過去日記生成はcache.rbを入れ替えたせいだろうと判明した。それにしてもなんだかinstance variable @hogehoge not initializedってのが大量にでてきてますが(デバグモードでは)前からこんなだったっけ?それにところどころ
Exception `EOFError' at C:/Ruby/lib/ruby/1.8/net/protocol.rb:200 - End of file reachedこんなのも出てますが。う〜ん。でもcache.rbを一部書き換えたら今度は最新日記も過去日記もちゃんと生成できるようになった。根本的には解決してないような気がするが、問題は出なくなったからよしとするか。あとはnDiaryの偉い人達に知恵を拝借するとしましょう。
Ruby1.8対応
適当にエラー対処をしていったらとりあえずクリアして、いまんところ動いてますし、sum_price_xも動いてくれているので当分これでいいかなぁ、なんて。ローカルのほうはですが。一歩さんがおっしゃっている、timeはto_iで比較してはだめ、っていうのはなんでだろう?うちではうごいてくれちゃってるんですが。
大量にでていたwarはnot initializedってのが大半でしたがこれはどうやったら消せるんでしょうね?まぁ、デバグオプションつけなければ見えないのでほうっておいてもいんですが。
あぁ、そういえば、一歩さんの日記にある御祖父様の生き様はお見事というか天晴れというか。そういう姿勢は見習いたいものですが、僕自身は熱が冷めると放置してしまうたちなのでとてもじゃない真似出来ん。
onDiary更新
今日は新しいのに入れ替えるつもりはなかったのですが、なんとなく眠れんので更新作業をしてみた。
おや?エラーがでたのでデバッグでみてみると
./webframe.rb:25:in `initialize':CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']
/virtual/aturust/public_html/cgi-bin/ondiary/index.cgi:69: warning: Object#type is deprecated; use Object#classだとか言われましたが。
よくわからんので、index.cgiをアップロードしなおしてみた。そしたら今度は
undefined local variable or method `pastDiary' for #だってさ。ちぇっ。デバッグオプションつけられんしこれだけじゃぁわかんないよ。ndiary-libもアップしなおしたけどかわらず。
やっぱり解明できんので、解凍しなおして全部アップしなおした。変わらん。過去日記の雛形がないってさ。しょうがないから.htaccessにデバグをつけてアップしてみる。そうしたらonDiaryのupdateからは以下のようなメッセージでした。
Executing '/virtual/aturust/public_html/cgi-bin/ondiary/index.cgi'
Output of script follows:
=====================================================
./webframe.rb:25:in `initialize':CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']
/virtual/aturust/public_html/cgi-bin/ondiary/index.cgi:69: warning: Object#type is deprecated; use Object#class
以下略何これ?最初っからこのエラーでっぱなしだよ。webframeのほうはcgi.params['key']と書き換えたら直ったけど、index.cgiのほうはわからんなぁ。リファレンスマニュアルをひいてみたらよくわかった。ようなきが?typeというのは1.7からは警告がでるようになったらしい。つかうならばObject.classもしくはObject.class_idらしいが、このようになおしても、まだスケルトンファイルがないって言われるのはなんでだ。
限界じゃよ。また今度にしよう。
ついでだ。esbooks.rbのsplitも訂正しておくことにした。Regexpもしくは//で明示しておくだけです。リファレンスマニュアルを見るのは便利だけど、1.8.0のHTML版ヘルプってまだないんだよなぁ。だれか作れないかな?自分でつくれるかな〜と思って必要なファイル集めようと思ったけど一部公開停止になってたようで、他のやり方わからんので挫折しました。手元には1.6.8のマニュアルだけなので、今回みたいに変更点をみるにはオンラインのを見に行くしかないんだね。なんとかしたいねぇ。
2004年1月6日
ブロック要素の表示
奥様に言われて気づいたのだが、表示がガタガタだった。このあいだちょっとCSSを変更したのですが、Firebirdとxyzzyでしかレイアウトを確認してなかったので、IEでまともにみてなかったんだね。
ブロック(div)要の幅の解釈は、IE4以降とNN4.xなどではブロック全体の幅で、NS6以降、Opera6以降、iCabではborderとpaddingを除いた幅になるらしい。とある雑誌に書いてあったんだけどさ。
で、IE6とFirebirdの表示は大体合わせることができましたが、どうしてもOperaだけ崩れる。CSSは奥が深いのう。
あれれ?IEってli:hoverって効かないんだねぇ。Firebirdでは有効なのに。なんか、1HTML+1CSSで各種ブラウザに対応させるのめんどくさくなってきた。最新日記のHTNMLを生成するときに、link relのCSSファイルへのリンクだけ異なる複数のHTMLをはきだせんかな。CSSファイルへのリンク以外はまったく同じな。そんで、Opera用とかIE用みたいに専用ページを設けるっての。
2004年1月8日
■ダヴィンチ[購入]
購入。いつものごとく、羽海野チカさんのとこだけ読みたいがために。んでも、今回は京極さんのページもあった。いままで、京極堂のシリーズしか読んでなかったけど、あぁいうキャラの相関をみせられるとちょっと他の(*1)もよみたくなっちゃうなぁ。
トールキンの『終わらざりし物語』もまだ買ってないのに。マガークの5巻以降もまだ買ってないのに。あぁ、読みたい本いっぱいだなぁ。
matrix
alagonさん。オンラインにあるRuby1.8.0対応のリファレンスだと日本語になってますですよ。
あぁぁ、ヒトの日記にばかり反応するのもなぁ・・・ちょっとと自制しよう。
逆行列なんて学生時代以来だ。なんか懐かしい。つってもまだ10年も前のことじゃありません。たかだか8年くらい。かわらんか。
ツッコミ
かつてないくらいに、つっこまれている。nboard様々だ。設置した甲斐あったってことにしておこう。たくさんコメントいただいているので、こちらで反応してみた。今後ともよしなに。
過去日記のほうではコメントが表示されてないような。テンプレートをどこか余計にけずってしまったかな。
2004年1月10日
cache更新
一歩さん(http://ippo.s5.xrea.com/diary/s_d200401.html#d10_t6,一歩さん)ご苦労様です。
今週は、風邪気味で週末に向かうほど疲れがたまり熱っぽくなっていったのに、栄養ドリンクなどでドーピングしつつ仕事したので、なんだか今日は寝すぎた。ただいま17時30分。たしか、午前2時頃にベッドに入った気がするから15時間以上寝てみました。頭がぼーっとするのは熱があがったのではなく寝すぎたせいらしい。計ったら平熱だったから。
とりあえず。ndiary_pack.zipを落としてきた。以前のものと微妙に互換性がないとのことなので、script/filterとscript/pluginの中から探して、入れ替えたのがいつなのかわかるように、ファイル名に今日の名前を入れておく、と。いままでbookstore_x関連のファイルもscript以下の各フォルダに全部いれてたので、今回からはUSER_ILTER_DIRECTORYとUSER_PLUGIN_DIRECTORYに入れておくことに。
で、あとはuser/filterおよびuser/lib以下のbookstore_x、booksotre_x_custom、cache、cachebibの中の設定を自分用に書き換える。それからuser/filterとuser/pluginにあるsum_price_xも一応設定項目に目を通しておく。
で、試してみましたが、ボクの設定ミス以外はエラー出ませんでした。ちょっと気になったのが
CHK; access; http://www.bk1.co.jp/ -> ISBN:4-08-876548-6
CHK; access; http://www.netdirect.co.jp/ -> ISBN:4-08-876548-6
CHK; access; http://www.amazon.co.jp/ -> ISBN:4-08-876548-6
CHK; access; http://bookweb.kinokuniya.co.jp/ -> ISBN:4-08-876548-6
CHK; access; http://www.esbooks.co.jp/ -> ISBN:4-08-876548-6
../user/lib/amazon.rb:90: warning: string pattern instead of regexp; metacharacters no longer effective
../user/lib/amazon.rb:190: warning: string pattern instead of regexp; metacharacters no longer effective
CHK; download-image; http://www.bk1.co.jp/bookimages/02/38/51/91/023851910000.jpg -> ../../../img/isbn4088765486.jpgこれ。見てみたら90行も190行もsplitのラインだった。''と""を//に直したらメッセージでなくなった。でもあってんのかな。まぁいいか。
onDiary
いまだにうちでは、過去日記のスケルトンファイルが無いっていわれて、onDiaryでは日記生成できないんだが。一歩さんのところで動いてるので、間違いなくボクのほうの設定ミスのはずなんだが原因が特定できん。.htaccessでdebugつけてもエラーメッセージがでないんだもの。
本当に設定まちがえてるとこあんのかなぁ。階層も間違えてない。もちろん過去日記のスケルトンファイル名も間違えてないし、ちゃんとサーバ上の存在する。何をなおせばいいのやら。
念の為、スケルトンファイルへのパスなどをXREA特有なvirtual〜という絶対パスに変えてみた。だめだ。やはり過去日記のテンプレートファイルがないっていわれる。テンプレートファイルの名前自体がだめなのかな?template_past.htmlっての。
PalmDoc
ずいぶん前にも日記に書いたけど、Palm用のdocファイル生成用のmakedoc.rbというのがあるんですが、moonwolfさんのところから落とし直してきた。1.8.0にRubyを入れ替えるときに消しちゃったもんで。
1.8.0になってメソッドが廃止されてるのがあったのでそれを修正したら問題なく使えるようになった。本当はMeDoc形式にしたいんだけど、rubikitiさんのところにあるmedocファイルへのリンクはリンク切れになっていたのだった。残念。
と思ったらファイル一式とってあった。
で、makedoc.rbとmakemedoc.rbで連携して、hoge.txt→hoge.prcっていう風にmedocファイルを生成させるのはできませんでした。しょうがないので、makemedoc.rbで、medoc中間ファイルをテキストファイルに吐き出させて、それをさらにmakedoc.rbにつっこんで、medocファイルを作るという2処理にわかれちまいました。medocファイルを作るたびにruby makemedoc.rb ...、ruby medoc.rb ...ってうつのめんどくさいから一発でいけるようにしたいんだけど。よくわからないんだよなぁ。
2004年1月11日
気に入った
インターネット殺人事件(http://www1.u-netsurf.ne.jp/~internet/d/200401.html#d11_t1,インターネット殺人事件)さんより。
「あらかじめ言っておきますが、使い方はかなり面倒臭いです。義務教育じゃないので分からない人は置いてけぼりにしますよ。」
なんとなくね。あぁ、そりゃそうだ。と妙に関心してしまったもんで。このサイトの過去ログを追って行くとおもしろいことをしてるな、と思った次第で。 最近のインターネット地図(http://www1.u-netsurf.ne.jp/~internet/d/200311.html#d30_t2,インターネット殺人事件)とか。
おもしろいので、作ってみたいな〜と思ったのですが、リンク抽出作業がめんどくさそうなのでやめてみた。めんどくさいだけでなく、ちょっとリンクリストの作り方もよくわからんので。
書影画像
一歩さんから、過去日記ではhttp://aturust.com/topics/img/isbnXXXXXXXXXX.jpgとなってるらしいことを教えられた。なんでだろう?
過去日記とか分野別のトピックページとかはindex.htmlと同階層ではなくて、その一個下のtopicsフォルダに生成するようにしてるのです。なので、書影画像への位置は1階層ずれて市まうのはやむなし?最新日記ではhttp://aturust.com/に、過去日記ではhttp://aturust.com/topics/に./img/isbnXXXXXXXXXX.jpgと自動でつけてしまう。ってことでいいのかなぁ。書影画像を自分でアップしなおすのめんどくさいね・・・
アップした。まぁ、先月、今月分の15枚くらいだったので。ローカルに画像を落としてくる仕様はここ最近でしたしね。一気に過去日記生成なんてまだしてないけど今日、明日でやっておくかねぇ。
2004年1月12日
■八時だよ[DVD]
今日は、先日とどいた八時だよ全員集合のDVDの続きをみた。2枚目也。おもろいね。今回のDVDは3枚ともセットによるコントが中心だったけど、合唱とか別のコントはまたDVDででないかな。
そのうちごっつええかんじのDVDも欲しい。ゴレンジャイとか。ミスタベーターとか。
■商人育て[RO]
この連休では奥様もボクも風邪だったのでどこへもいかず家にいました。ぼくはめずらしくRO熱がたかまり、商人を育てていました。おかげさまで、露店開設までこぎつけました。そんでついでに、スマイルマスクを作った。なんで作ったのかはそのうち画像をアップします。ある目的があったのでした。
■ムーングロウ観光とバルク[UO]
ネットでとあるUOサイトを見てたら、ムーングロウがオークに攻め込まれている、というイベントが起きてるらしいので、見に行ってみた。見事にオークで沸き返っている。なんか今までみたことないオークもいるんですが。orc bomberとか。久しぶりにブリテインの北宿前にいってみると古馴染みと出会った。数年前に同じギルドにいたヒトだ。違う名前のキャラでわからんかったが名乗ってくれたのでお目にかかれた。別に久しぶりだからって話に花は咲かなかったが。
落ちようかな〜と思ったけど、久しぶりだから バルク集めでもしてようと思ってLunaへ。HQの武器一そろい20づつを仕上げたらDull Copper Runic Hammerが手に入った。素材がironでHQ×20だとこの辺が限界らしい。
しばらく鉱石掘りに行ってないのでインゴットがちっともたまらん。スキルあげもままならん。UO初めてもう5年はたつが、いまだに生産キャラはGMなスキルは1個もない。
2004年1月14日
大雪
今シーズンは全然雪降らなくて雪祭りはどうなるんかなぁ、などと思ってたら昨日から一気にふりやがった。結局帳尻はあうんだね〜とか思いつつ。で、風もえらく吹いてらっしゃる。おかげで営業車までの道が雪にうもれて到達できず。無論発掘もできん。明日どうしよう。
風も強すぎて、湯沸かし器の換気扇?排気?がうまく動かんようで湯沸かし器からお湯がでん。途中で排気エラーがでて水がでっぱなし。風呂入れん。これまたどうしよう。
■アレ[RO]
2004年1月17日
schedule.rb
nDiaryアンテナを見てて、nDiaryUserWikiが更新されてるらしいので見に行って更新箇所を見ていたら、schedule.rbのところでボクの昔日記でつぶやいた、今月の購入予定を挿入するプラグインがひろわれていた。しかも『未公開?』とか書かれちゃってたのであわてて公開する所存。
def plug(opt)
today = Time::now
tmonth = today.month
schedule = {}
opt['format'] = opt['format'] ? opt['format'] : '%0m/%0d'
begin
open(opt['file'], 'r'){ |file|
file.each{ |line|
date, value = line.split(/\t/)
date.gsub!(/[-\/]/, '')
d = Time::local(date[0..3].to_i, date[4..5].to_i, date[6..7].to_i)
dmonth = d.month
if dmonth == tmonth then
schedule[date] = [] unless schedule[date]
schedule[date] << value
end
}
}
rescue Errno::ENOENT
return '<!--plug-in error: schedule file not found-->'
end
str = ''
str << "<ul>\n"
schedule.sort.each{ |date, schedules|
t = nil
t = Time::local(date[0..3].to_i, date[4..5].to_i, date[6..7].to_i)
day = t.day #strftime2(opt['format'])
schedules.sort.each{ |line|
str << "\t<li><strong>#{day}日</strong> : #{line}</li>\n"
}
}
str << "</ul>\n"
if opt['title'] then
str = "<div class=\"schedule\">\n<p>#{opt['title']}</p>\n#{str}\n<div class=\"spacer\"></div></div>\n"
end
return str
endこんなんです。わざわざ公開せんでも誰かすでに作ってそうだな〜と思ってまして。
2004年1月18日
■MySQL[DB]
某所では着々とデータベース周辺の作業がすすんでいるような気配だが、そういえば僕は以前一歩さんのとこからMySQLへのデータ受け渡しようRubyスクリプト一式を頂いて、DBっぽいものを立ち上げたんだっけなぁ、などと。横溝正史の金田一シリーズと高木彬光の神津恭介シリーズだからそんなに数はないんだが。ダンボール2箱くらい。でも、引っ越すときに金田一ものがぼろぼろと発掘されて、まだ打ち込んでないのがあるんだよね〜。
自分所蔵している本を全部入力したいが、まだ引っ越してきて未開封なダンボールもあるのでそれどころじゃねんだが。
2004年1月21日
2004年1月23日
DBとbookstore_x
毎日本を買ってるわけじゃないが、買ったら日記でISBNコードを記述して書誌情報を晒している。さらしているだけだが、それなら自分の蔵書DBにもデータをつっこむようにbookstore_xに追加機能をつけてみようかな〜と。
やることは、とりあえずadminでとりあえず、bookstore_xから送ってくるデータを受け取る専用のテーブルだけつくっておく。書誌情報とてらしあわせながら必要な項目を作っておく。あとは、booksotre_x側でデータを送る文をどこぞにうめこむ。あくまでも、自分のホームページで書誌情報を晒してアソシエイト的運用がメインで、そのついでにDBにもちょっと情報を拝借しようって魂胆だから、こういうのはグレーだがぎりぎりOK?どうだろう。
2004年1月24日
デザイン変更
奥様から教えてもらったサイトを参考に、このページのHTMLを書き換えてみた。いままでdivとCSSでレイアウトを調整していたのですが、どうもブラウザごとのwidthの解釈がちがったりでうまくレイアウトがしっくりこないので、tableを使うことにした。でもtableを多用しすぎて重いやも。
本棚DB
temporary tableですか。そういうやり方があるんですな〜。しらなんだ。どうも、独学なもんで、系統だって勉強してないし、設計思想というか考え方がプログラム的ではないのでいかんともしがたい。
bookstore_xからDBに叩き込むと、いままで自分で手作業でやっていた表紙をスキャンする必要もなくなるし。あ、でもISBNとか旧書籍コードとかない古本は結局手作業か。
しばらくDBを放置していたので、さっぱりわからなくなっていることよ。xreaのrubyが1.8にあがったからだろうけど、うまくうごかない部分があるし。もっかい練り直しじゃな。検索することも考えて、構造から練り直すか。1著者1テーブルがいいかなぁ。そんで、bookstore_x用のテーブルだけ作っておいて、そこからあとでデータ整理とかしていく感じ?
それとも全部ひっくるめて1テーブル完結がいいのか。
文字サイズ
今日デザインを変更したんですが、その際FirebirdとIEで確認して、よし!と思って公開していたわけですがIEでは文字サイズをemで指定するとバグで思いのほか小さく見えることがある、とのご指摘を有里さんよりうけたまわった。ん〜む。IEの表示メニューの文字サイズで「小」にしているとかなり小さくなるけど、この辺のことでしょうか?
CSSはemという相対単位指定だったので、ブラウザによってはこちらの予想外な見え方になるだろうとは思ってましたが判読できないんじゃいかんよな、と思ったので修正。文字サイズはptで全部指定してみました。これでだいぶ判読しやすくなったはず。
ご指摘に感謝いたします〜。こんごともよしなに。
2004年1月25日
文字サイズ
続いた。毎度ありがとうございます。そろそろツッコミにレスつけると最初のコメントが見えなくなってしまうと思ったので、こちらにてお答えを。
で、pt指定から%指定にして見栄えをチェックしてみました。ん〜む。%も相対指定だと思うのですが、『文字サイズ-小』にしたときemで指定したときほど小さく見えないし判読できそうなので、これでいこうかと思います。有里さんありがとうございます。
tDiaryでは本文に1.0以下してするのはいかん、というのは知りませんでした。貴重なご意見に多謝。こういうときでないとなかなかまじめに取り組まないし調べませんので良い機会でした。
大体これでレイアウトはおちついたような?本当はどのブラウザで確認したか、とかを表示するアイコンをつけたかったんだけどそのアイコンがどうも気に入るものがないし自分でも作れないのであきらめぎみ。
なんていっておいて、アイコン作成した。ちょっとアイコンを晒してみました。うちのHPの作成と確認の環境を見に来ていただいた方へ知らせるためのものです。
本棚DB
とりあえず動くように復旧。なんのことはない。Array#filterがなくなったらしいのでArray#collectに変えてみた。ちょっと検索機能とか考えてみよう、と思ったのでmysql.rb?を探してみたが自分のPCのなかにはない。バックアップでとっておいた1.6.8のフォルダにもない。どんなことができるのやらわかんね。と、いうかfetch_fieldsがよくわからんのでしらべたらリファレンスマニュアルにないので多分mysqlの中なのだろう、と思ったのですが・・・
発見。RAAにTOMITA Masahiroさんの名前で登録があった。クラスやメソッドがreadmeに書いてあったのでただいま解読中。
xreaにあるMySQL/DBにbookshelfというテーブルを追加した。
id-incremental,primary key,tinyint(10)
isbn-ISBNコード,tinyint(11)
title-本の題名,text
author-著者,text
price-価格,tinyint(8)
coverimage-表紙絵(表紙絵へのパス),text
publisher-発行社,text
publishdate-発行日,text
comment-説明、書評など,text
てな具合で項目を作成しておきました。このくらい用意しておけばbookstore_xに対応できるでしょう。
あ、でも書誌情報収集がメインなのではなくて、あくまでもブリーダー活動の一環としてDBに組み込むのだから、DB側から日記への逆リンクもできるようにせねば。購入日(正確に購入した日の中で書誌情報をbookstore_xで晒しているトピック)へのリンクを。じゃぁ、『購入日』って項目を用意して、それに購入した本の書誌情報をのせてあるトピックのURLを入れていく、と。フィールド名はめんどくさいのでそのまんまでbuyって名前で登録しておきました。
DBへデータをつっこむのはbookstore_x_customeのように別ファイルにしておけば後々上書きしなくて良いですか。
def bookshelf( isbn, infolist )っていうふうにbookstore_x_customのように書き始めておけばそのまんま書誌情報は扱えますかねぇ?いままでフィルターとかプラグインのファイルを直接書き換えることはあっても、別ファイルで機能追加ってやったことないんですが、bookstore_xの変数?(ていう言い方でいいのかな?@bookstore_listとか)とかをどうやってcustomで引き継いでいるのかしら?あぁ、def bookstore_x_stringで書き始めないと意味がないのかな?
それに画像も落としてくる場所を変えなきゃいかんか?ん〜む。
Blogmap
有里さんがtrackbackについて活動されているのでここのところ注目気味。
それから、購入記録しか書いていない記事がblogmapにTrackBackされるのは閲覧者としては嬉しくないので(読みたいのは購入記録じゃないくて感想だ!)
と、おっしゃってらっしゃるのは至極当然だと思います。ボクなんぞは購入記録としてのせているので最初っからtrackbackはつける気ナシ。っつーか、trackback送ってまでうちの記事を読んでくれっていうPR(という言い方でいいのだろうか)はしない方向です。だって感想かけないのだ。trackback機能をruby/nDiaryでってのはおもしろそうなので作ってみたい(いじってみたい)のですが。
せいぜい(ちょっとだけ))見て欲しいのは書籍コードのページくらいで、日記自体はありふれた日々の雑感だしのう。
■データベース更新[DB]
ちょっとだけいじってみた。自分のDBにあるテーブルのリストを取得して吐き出させただけ。こう書いてしまうと1行で説明がおわってしまうんだが、作業としては調べながらなので1時間半くらいかかっている。やりたいのは、このテーブル名のリストをリストボックスにつっこんだ状態でHTMLに吐き出させて、HTML上でそのリストからテーブルをえらんだら、各テーブルに存在する全項目名をリストとしてひろってきて、チェックボックスでHTMLに再表示。そんで、チェックボックスにチェックした項目だけをボタンをポチッとおせばその選択した項目のデータをテーブル化する、と。
更に、必要な項目のデータをテーブル化したら、データ絞込み用のテキストボックスを各項目に用意しておいて、再度ボタン一つでデータの絞込みをする。ここまでやりたいのだ。
あ。そんなこんなしてるうちに 一歩さん(http://ippo.s5.xrea.com/diary/s_d200401.html#d25_t12,一歩さん)からお返事いただいている。ありがとうございます〜。" あんまり短時間にSQLをバクバクopen/closeするとアレなので"ってことは1冊ずつopen/closeって処理でしょうか。ん〜む。
もしかして、日記を生成するたびにDBにデータをつっこんでしまうってことかな?それが気になっててどうしようとか停止してたわけですが。テー多つっこむまえにISBNでbookshelfテーブル内のデータをスキャンするする必用有りか。
って、あぁぁぁ。それが" isbnにはUNIQUEをかけとくぐらいの工夫をしといた上で"ってコトですか。思い至らなんだ。
ちょっとデータベースのトップページの見栄えも変えた。ちょっとだけ。
2004年1月27日
2004年1月30日
誕生日
うちの会社には誕生日休暇というものがあって、誕生月にはそんな休暇が申請できるわけです。で、先月に誕生日だったわけですが、年末のクソ忙しいときにそんな休みとってられっか。でもとらずに無駄にするのはなんかもったいないと思ったので今月に振り替えさせてもらった。融通利いてうれしい限り。
ウィルス
別に危ないサイトなんぞでメールアドレス公開した覚えないし、個人的にメールやりとりしてるのって今は数人しかいないわけだが、どこだかしらんアドレスからウィルスがおくられてきたのでちとびっくり。nortonさんがなんとかしてくれたので一安心。ホームページにメールアドレス晒してるから拾われたんだろうと推測。
知らないメールアドレスから送られてきたメールに添付ファイルがあったら問答無用で削除、とかできんかな。Nortonさんはそこまでできたっけなぁ。
ロードオブザリング
デアゴスティーニ発刊のロードオブザリングシネマフィギュアコレクション1を買った。でもISBNコードがなく雑誌コードだけだったので雑誌扱い?Amazonを検索してみるとデアゴスティーニのトレジャーストーンのシリーズとかはISBNがあるのにねぇ。まぁいいか。
■formを使ったデータの受け渡し[DB]
この間の続きで、DBにあるテーブルのリストを取得してきリストにしてて、form内でラジオボタンかなんかをくっつけて選択できるようにする。そんで、form actionで動かそうとすると動かん。form action="#{script_name}?cmd_table"とかじゃだめらしい。そんな変な書き方してるかなぁ・・・エラーはでないが動かん。つーか、元のページから表示が微動だにしない。
書き方が違った。一歩さんのondiary/index.cgiを参考にさせてもらって書き換えたら1つすすんだ。これでテーブルを選んでもらってボタンをおすと、項目名のリストチェックボックス付が表示される。
次ぎは、このチェックボックスを選択した後にボタンを押したらその選択した項目のデータだけをリストアップ、テーブル化すること。項目名を渡すときってfieldname=>id、fieldname=>titleってな具合にfieldname=>項目名で全部つっこんでいいのかなぁ。
よかった。なんとかできた。テーブル選択→表示項目選択→データリスト表示、が完成しちゃった。1つ実装できなかったのは表紙絵の表示。DB内では表紙絵は画像名で保存してあるので、本当はHTMLに表示する際はファイルパスに変換しなければいけないんですが、今回作った中でそれを表示する方法を思いつかんかった。けど、とりあえず満足。少しはRubyが使えるようになってんだな〜などと思った。
2004年1月31日
書籍コードとか
昨年に自分の本棚DBのために角川版の横溝正史著の蔵書リストを作成する際に、ISBNコードではないコードが記載されていたのに端を発した 書籍コードの調査(http://aturust.com/bookcode.html,日本図書コード)。今日はちょっと雑誌コードについて検索中。そのうちページを更新して雑誌コードもまとめるやも。以下検索して見に行ってみたサイト。
:
『Booksではは国内で発行された入手可能な書籍(62万点)が収録されています(前月に各出版社からご提供いただいた電子データ分〔既刊分〕を反映しています)』だそうです。
企画 本 独楽(http://home.att.ne.jp/gold/sasaki/contents.html,企画 本独楽)
新雑誌コード(http://www.n-barcode.com/hp2/saisinjoho/sinzassi/sinzassi.html,新雑誌コード)
で、検索しててびっくりしたんだが雑誌コードは今年の6月から新体系に一斉実施だそうですね。しらなんだ。全然表示がちがってくるよ。タイムリー?



















