TOP / INDEX | BBS / MAIL
Generated by nDiary version 0.9.4 on ruby 1.6.8 (2002-12-24) [i586-mswin32]
So What?
2004年1月の出来事
ippo@s5.xrea.com
BBS
<< < 2004-01 > >>
Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2004/1/1(Th)
If you're lost you can look, and you will find me, time after time

1990/01/01 スペースシャトル「キャメロット」号、地球軌道上で14000年前の巨大宇宙船と遭遇する。 (映画『ムーントラップ』 監督ロバート・ダイク)
2101/01/01 仮装巡洋艦バシリスクの最後の記録。 (『仮装巡洋艦バシリスク』谷甲州 早川文庫JA200)
5353/エラスタイド ガリオン誕生。 (「ベルガリアード物語/マロリオン物語」シリーズ デイヴィッド・エディングス 早川文庫FT106
SD535/01/01 キース・アニアン、合同新年パーティでシロエを眺める。 (『地球へ…』竹宮恵子 中公文庫)

. あけましておめでとうございます。
今年もよろしく。

. 良い年でありますように。
頑張れる年でありますように。

. 2003年最期の日には眼鏡を新調しました。
また度数が進んでいましたとほほ。
0.05と0.03とかそんなのらしい。左目だけやたら落ちてるのが気になるところ。
ていうか、疲れ目激しいよ、そろそろ頭痛とお友達だよ?
コンタクトレンズもものもらい激しくてやめたしなあ。(もう少し根気よく再トライしてみる時期か?)

. 有里さんちよりTシャツの畳み方。
??? 絵を見ながらやっても判らん。幾何学的に……
あっ判ったかも!
なんだ、要は2点を押えて後は振り回して適当に畳めって事か。
「お店のように」畳む事の難しさは、畳み込んだ後の長方形を綺麗に作れない事にある訳ですが、その長方形の右半身側に当る2頂点を指で摘む事で固定の上で振り回す、
いやもう少し違う言い方の方がいいか、畳み込む右半身の山折り線上の3頂点(両端と真ん中)を押え込みで固定の上で、ぶら下げる事で折り込みを完成させる、
その上で左半身については「余ったのりしろ分は好きな量だけ折り曲げてね」と。
振り回す、ないしぶらさげる部分が、写真じゃ全然判らねえっすよ! 3点押え込みをした上で「で、次はどうすれば???」と暫く悩みました。
やーでもこれは面白いわ。折り紙の面白さ。

. blogシステムは、おもろいページ見つけたら、「その場で右クリック」したら、そのページへのリンクが張られた記事を自分のところに作ることができる点がとても興味深い。

. え、そんな事できるんだ? どうやってやるんだ?
右クリックで出てくるメニューに項目追加か?
ん? でもそれって別にnDiaryとかでもできるんでないのか。URLコピッてからエディタを起動してファイル末尾にアンカー移動して貼付で続きの入力待ち? そういうのってできるのだろうか。1)メニューにそういうバッチを仕込むカスタマイズができるのか、2)エディタのマクロにそういう起動オプションもどきがあるのか。

. それがTrackBackってやつなのか……ちょっとぐぐってみたら全然違いました。
TrackBackは片道参照を相互参照に自動でしちゃう為の仕組みなのね。
nBoardがあるんだから同じ枠組みでnTrackBackもできそうだな。
閑話休題。

. 寝てたら中学時代の友人が来て起された。ガストでだべって某宅で麻雀して帰宅。
明日は高校時代の友人と梅田で会う予定。

2004/1/2(Fr)

1920/01/02 アイザック・アシモフ氏、生まれる。 (史実)

. 「まったり時空にひきずりこめ〜」
ゆにょにょにょにょ
はあぁ、まったりまったり

. 昼起床、梅田の街に出て高校時代の友人らとだべる。
なんというか進化してない。ケッコンしてたり、今年ケッコンする気だったりする奴らに挟まれてるのが時勢ではある。
「いや? 俺も彼女は欲しいと思うねんで? でもな? めんどくさいねん」
「うん、わかる。」
「うん、めんどくさいわ。」
ってこら、既婚者と既婚予定者が言うな!
しかしあれらも波乱万丈である。結婚直前にアメリカ転勤言い渡されていい加減会社に愛想もつきとったからデューダしたった、という君とか。広島に1年島流しが見込まれてたから婚期をずらして大丈夫と思ったから結婚したのにその途端その話がぶり返して今年は単身赴任の年だという君とか。
名残惜しいながら夕方離脱。

. 一路広島へ。
大学時代の面子と合流して、合流して、すぐにアニカラに。
んで終わったら酒ごんごん呑んでるうちに撃沈。
目くそ鼻くそを笑うというか、ぐーとちょきとぱーの泥沼合戦というか、
「俺はお前よりましだ、だってXXが」
「なにを、俺の方がましだ、俺はXXなんてしない」
をエンドレスでやる。そんなキャンプファイアーの余興のような会話ゲームをしなくても。
痛いんだか笑えるんだか。

. かの家の猫はなんとなく某Oさんちの猫と似てる毛並みと目色かなあと思った。
微妙に慣れてない猫で、抱き込んで炬燵で潰し寝とかは難しかった。

.

□『月と闇の戦記3 神様はしらんぷり。』

.

「月と闇の戦記3 神様はしらんぷり。」読了。
 
よし、オチつけて終わらせてくれました。
兎復活万歳、かな。切れ味は微妙にいまいちという感じか。

(ISBN:4-04-424304-2)

2004/1/3(St)

1992/01/03 リック・デッカードの長い一日が始まる。 (『アンドロイドは電気羊の夢を見るか?』 P.K.ディック 早川文庫SF229)

. 起きたら昼だった。
ボードゲーム開始。アメリカに線路を引く。
あと30分あれば決着が、という時点でタイムアップで高速バス。
しかしあれだ、6時間やっても決着のつかないボードゲームというのはいかがなものか。まあそんなもんともいうが。

. んで帰還。休みもあと一日と思うと、うーんだらだらしてたらあっという間だな、と。

. 帰宅したらネット不調だったのでルータやらの電源再投入。何時から狂っていたのだか。

□『魔法使いとリリス』

.

「魔法使いとリリス」読了。
 
良質な小粒。私の知る・思う、すごく古くからの定型のファンタジー。
 
ファンタジーってのは、ドリーム、という成分と、異質、という成分の二つから成り立っていた、と改めて思い出したりするのでした。

(ISBN:4-15-020351-2)

2004/1/4(Sn)

▽本日のイベント

. 寝てると昼に父に起こされた。
なんで父が鳥取に?
「じいちゃんがな、白兎神社を見てこいと言われてな。」

▽じっちゃん

. ここで祖父紹介。もしくは祖父自慢。
私にとってはじいちゃんは、
・火鉢で干し芋を焼いて食わせてくれた人
・春の神鍋山でぜんまいやわらびを一緒に採ってくれた人
なのだが、社会的には
・中学校の校長先生だった人(あの頃では相当の学士さん)
・しかも学校の卒業記念事業で植林(記念樹でなく、山一つとかの単位)なんかするすごい人(今ではウン十年モノの檜になってるらしい)
・毎週山陰から大阪の天王寺まで通って油絵を習得した人
・付近6村ぐらいの生きた郷土史・生き字引な人
・国分寺がその近傍にあったという資料を付近からまとめガリ刷り本として出版した人(今では好事家の間で高値)
・木地師について調べて出版した人
らしい。
人生最期のライフワークという事であれこれのメモを起草して自費出版しているのが今の娯楽・生甲斐らしい。
で、その娯楽の資料確認だそうだ。

▽菊座石

. 話を聞く内に資料の散逸というのは怖いねえと思い出したので、何かの時のメモを兼ねて、迂遠だが少々詳しく経緯を書く。

. 昭和41年、祖父は納税組合長(?)をしており、慰労会で鳥取の現・羽合あたりの温泉に来たそうだ。で、白兎神社に寄る。
そして、その本殿の礎石が菊の御紋彫りである事に気が付いたそうだ。
その由来を周囲のアチコチに聞くのだがよく判らない。鳥取県立図書館、県立博物館、湖山池の向こうの方(?)にあった私設博物館の人等を訪ねたそうだが判らない。(というか、え、そうなの? という反応ばかりだったらしい)
結局その当時の神主さんか、もしくはそういう郷土史に詳しい人を見つけ(伏せっておられる状態だったらしい)て聞くと、
明治5年に(宮内庁(?)の許可を受けて(?))建てたものだ(白兎神社自身はもっと古い履歴があるので、その時に本殿を改築ないし再築したという事だろう)という話を聞けたとの事。但し、詳細な由来は不明だった(詳しく聞ける状態でもないし、うっかり聞くのを忘れるようなそういう気軽なやり取りだったらしい)。

. で、それだけメモして忘却していたのが、起草にあたって色々してるうちに発掘され、もう一度確認を、という事になったらしい。

. 父は一度その命を受け(笑)て神社に向かって礎石を確認。
今では立派に看板が立ち、「菊座石」と名がつけられ「由来不明だがおそらく天皇関係?」みたいな説明が付いてたそうだ。
神主さんは寄り合いで不在だったが、偶然にもその奥さんを捕まえて話を聞いたりもするが、前神主さんは既にこの世に無く、その詳細は闇に消えたままとの事。

. で、メモの問題。
じっちゃんのメモによると、菊の礎石は16個あったらしいのだが、親父の確認では6個しかなかったとの由。
電話で「いーや16個だ」「何を言う何度見ても6個」と喧嘩(笑)をした末に再調査(笑)となったそうだ。
今度はカメラ付き証人(つまり私)付きで(笑)。

.

. という事で見てきました。
普段私達が賽銭を投げて祈る部分は拝殿と言うらしい。で、その裏に一段高い土地があり、小さい祠のようなものが作られているこれが本殿。拝殿の上座から階段が敷かれ、本殿の扉へと通じている。
この本殿、寄付金した人の名が彫られてる石で柵がしてあるのだが、その上から本殿の足元を覗いて見る。ありました、礎石。
本殿というのは、1畳ぐらいの床面積の部屋と、それを囲む廊下、みたいな作りで、
その部屋を建てる柱が3x2=6柱、周囲の廊下を支える細めの柱がぐるっと囲みで14柱、合計20柱。囲み14柱は結構適当で、真ん中6柱が菊の礎石。
どう数えても何度数えても6柱でした。

.

. じっちゃんちの町に通じるショートカットが9号線から出来たとかで、1時間半で行けるとの由。じゃあ、という事でバイクに跨り、写真もってお出かけしてました。
ちょっと後悔。すげえ寒い(路肩に雪残ってるって)。やばいと思ってたら日が暮れてからじっちゃんち着で、どんどん雲が濃くなってきて案の定雨降ったりとか。
晩飯ご馳走になってから慌てて帰路に。

. じいちゃんの「俺が最初に発見したんだ」という言が正しいとするとあの「菊座石」の看板には「発見者:XXXX」とじいちゃんの名が入ってないといけんのだ(笑)とか、そんな話をして帰ってきたのでした。

. あと、じっちゃんちの猫は結構怖がりや。錆色の毛のスマートちゃんだが、人にはシャアシャア言って逃げ、じっちゃんの膝の上でくつろいでるときで無いとまともに触らせなかった。

▽菊座石への推論

. 菊の御紋というのは天皇さんのもので、無許可で適当に使う訳にはいかないものだそうです。
許可が下りた場合も、普通は上につける、例えば瓦に掘ったりするのが普通で、下に置くというのはめずらしい。おそらく日本でも白兎のみではないかというのが祖父の言。

. 祖父の推論は、国造りに縁の深い神様に関わる神社だから、菊の許可が出たのではなかろうか、でもそんな推定は証拠が無いので本には書けない、それになぜ礎石なのかという「謎」は判らないなあとの事。

. 父の推論は、皇室の菊は16弁だかの規定があり、これは28弁とパチモン臭い。礎石に使ってるあたりが変だし、更に言うと、普通は隠して、というか隠れて存在する礎石なのに、やたら目につく形になってるあたりがまた怪しい。これはどうも泥臭いアレコレが当時に在ったのではないだろうかとの事。
例えば……
神社が古くなってきたので改築したいのだが金が無い。付近の人間に寄付を募ったのだが反応はイマイチ。国をバックにつけれたら、天皇の為だから金を出せという事で寄付も集まるのではなかろうかと策を弄したのだが、国からは一応縁が無い事も無いので許可するけど目立つとこに貼るの禁止とかいう条件が付いたのではなかろうか。それではという事で普通は目に付かない礎石にそっと入れる、みたいに言って許可を貰った上で、地元の郷士には「良く見える」ように礎石を作ったのではないか(都のやつらはどうせ監査に来る訳でもあるまいしー)。

. 私の推論は、皇室は国の礎、とかいう語呂合わせで礎石にしてるのではないか。にしてもこう堂々と「踏みにじってます」という設置は変だけど、横にちっちゃく入れるよりはバランスよさそうだし、単に見栄えがこの方が上とかいうだけで踏みにじってる意識はなかったのでは。あるいは、無いと言い訳するのでは(笑) 言い訳その2として花弁の数も変えといたとか。それから、やっぱ神社のボスは奉っている神様なのだから、その神様への遠慮として、上に置くのでなく下に踏む形にしたのではないか。

. とまあ、そんな事を話したり思ったりしたのでした。
ミステリー。
こういうのをミステリーというのだと思う。誰か説いて話してくれたら面白いのになあ。

▽bookstore_xの1.8.0未対応

. すみません。
かなり対応遅れる予定です。
私の手元で常時ruby1.8.0マシンが無いとそもそも検証やデバグができないのですが、それがそもそも当分予定が無いのですよ。
cache系全体も新バージョンに移そうとして(途中で止めて)いるところですし。

.
と言いつつ触ってみたら結構簡単に修正できたようなのであげておきます。
onDiary
→ごめん、ちょっと修正して上げ直した。old_ippo_bk1.rbを足した(でないとbk1で値段が拾えないバグ)

. 確認環境はXREA上のruby1.8.0。つまり、onDiaryを上げました。
・猫旦那さんが言われてたように、lib/cache.rb,lib/amazon.rb等で、ruby1.6.8では許されていた曖昧な記述がruby1.8.0では厳密になってwarとなっていた部分を修正
(timeは.to_iしてからでないと<で比較しては駄目、String型は=〜で比較しては駄目、splitはString型で分けるのでなくRegexp型を指定して分けないと駄目)
・sum_price_xについては、pluginとfilterの両方を入れ替えると問題なく動きました。
・他のバグについてはこちらでは確認していません・意図が読み取れていません。

. 是非、今稼動しているonDiary上で状況確認や、そのソースを取ってきて置換してテスト等をやって貰えると嬉しいかと思います。
手間をかけさせて申し訳ない。

. こちらのonDiary改造もついでにマージしようかと思ったが、いつの間にかDIFFが化けててうまく読めなかったので断念。
・edit可能拡張子(.confとか)とedit用dir(ndiary/script/とか)を設定ファイル内で指定
・diary-inputとは別にconfig-inputでそれらをeditする
という理解でいいのかな? で疑問は
・TABの入力はどう処理してる?
ぐらいか。

▽bk1ranking

. あ、そうだ。ついでに地味に宣伝。
plugin/bk1ranking.rbというのを作ってるんですが。lib/cache.rbとかlib/bk1.rbとかを持っててどこかでrequireしてると動くはずです。
あんまり需要無い?
当然ながらちょといじるだけでamazonranking.rbも作れる。そっちのが需要高いのか?

2004/1/5(Mn)

2127/01/05 アメリカ連合とモンゴル同盟、開戦。 (『第81Q戦争』コードウェイナー・スミス 早川文庫SF1180
▽キングゲイナー

. を最期まで見たよ。と、結局投げっぱなしの話だったなあ。豚倒して終り。
時々小粒に気にいったポイントはあるけど、トータルとして全部どうでもいいや。
よくもまあこんないい加減な話作ったなあ。

. 丁寧にオーバーとは、オーバーマンとは、とか、鉄道王の過去と思考と野望とは、とか、過去から連なる某王女の血筋あるいはオーバーマン使いの血筋とか、
説明も観せもしない、という選択というより、単に説明能力も観せる能力もないから、とりあえずギャグに逃げときましたーぐらいに読める。
ロボにもキャラの動きにも説得力ってもんが皆無だよなあ。
も、勢いだけ。

■onDiary; 文字コード

. 文字コードは?

. onDiaryは、特に文字コードを指定していません。
ので、index.cgiがEUCで出来てるので保存もEUCになります。
sjis/以下のindex.cgiを利用するとSJISになると思います。

. nDiaryは、元日記の文字コードはなんでもいいはずです。
一度読み込んでから内部で文字コード変換するルーチンが組み込まれていたはずです。

2004/1/6(Te)

. 新年がどんどん過ぎていきます。

. やれる限りの余力を割いてぼちぼちcache関係の処理を続行中。
現在各書店の試作ができたとこまで。
結構各書店、微妙に書式変わってるね。取り直した店多数。
・動作検証
・キャッシュサーバ経由で「まとめ読み」する仕組み
・キャッシュサーバへのリクエストログのMySQL化
・となるとつまりdb-libの作り直し
・それに応じたbookstore_xへ修正
とそのぐらいがToDoか。
・自分ちの本棚のMySQL化
もやりかけで残っとるのだが。

. あ。今気が付いた。
高速化、って、ひょっとしてthreadにするだけで充分なんじゃないか?
所詮bookstore_xの時間は、計算時間じゃなくて待ち時間なのだから。

□『KLAN アリョーシャ特別編』

.

「KLAN アリョーシャ特別編」読了
 
小品。悪くは無いが流し読み。
かっこよさのインフレでもうどうでもいい、というか。
ボリューム的には一冊じゃなくて半冊分って感じかなあ。
どうもこう、ドラマチックとか動きとか胸が苦しい悲しみとか。あんまり無い気が。

(ISBN:4-08-630160-1)

2004/1/7(We)

▽bookstore_x

. Stellaさんのところで不具合との事。
すみません、多分接続がっつりし過ぎてタイムアウトです。
対処1:isbnしか入ってないcache-fileを消してリトライ、保証は無いがだいたい2回に1回は成功するみたい。
対処2:上に同じだが、ソース内のagent.getの部分を「begin rescue return end」で囲んでおく。といいかもしれない。多分半端cache-fileが生成されなくなる。判らないけど。
対処3:実は書評情報まで読みに行くのが負荷になってる可能性有、ソース内の適切な位置で「book.flag_review = false」を入れておくと吉
対処4:私がデバグ新版をそのうち出すだろうから……スマソ

. 新cacheのシェイクダウンをしながら(やっぱりちまちまとバグがある)、bookstore_xを流し読み。ほとんど修正せずにそのまま使えそうだ(いやそうなるように作ったのだけど)。違うといえば、flag_netのtrue/falseが反転したりoptionの仕方が変わった事か。
だってtrueの時にネット不接続ってなんか変な気がしたんだもん。

. そうそう、thread化するとcache読み(というかnet読み)かなりはやくなったよ……今までの俺って一体……
bk1は相変わらず一番重い。書評まで取り直し解析してるからかな? 消してみよう。

. cache処理してる途中でctrl-cとかして止めるとcache-fileが化けるなあ。ううん、これはどうしよう。

. cache-serverに行ってもタイムアウトとかした時もなんか挙動が怪しいなあ。再現しないので追跡もできない。

. あれ?
ruby1.8.0で何処がひっかかっていたんだっけ?
Timeとかsplitとかregexpとかあったと思うんだけど、具体的な場所を忘れた。

. WIN2000/ruby-1.8.0-i386-mswin32で試行テストしてみたら、そのへんに関してのWARでないし。これ、もう問題は修正されてたって事でいいのかな? それともlinux(XREA)でやるとまたWARを吐くのだろうか……
まあいいか、そのうちまた今度テストという事で今は流しておこう。
リファレンスマニュアルみても、問題のあるような使い方はしてないと思うんだけどねー。

. ふむ。
filter/sum_price_x, bookstore_x
plugin/booklist
lib/沢山
ぐらいが影響を受けるのか。
他にはなにかあるかな?
ちなみに、filter/sum_price_xが一番先に反応してるらしい。で、次がbookstore_xで、最期がbooklist。へえーへえーへえー

. という訳で試運転中。

▽bookstore_xに代表されるcache系

. 新規点
・整理整頓(したつもり)
・option類の整理
・マニュアルっぽいもの、コメントっぽいものの整備
・thread化
・キャッシュサーバ化、サーバとの授受
・キャッシュサーバからのまとめ渡し可
そんなとこかな。
あとToDoは
・シェイクダウン
・超整理
・授受にzipを使うともっと早くなる? たいして変わらない気もする
・キャッシュサーバのリクエストログ管理(DB)
というとこか。

▽スタイルシート

. スタイルシートで、「table border=1」と同じ効果を出す方法を知りたい。
そんなの無理?
まあ、類似でもいいんだけど。

▽onDiary

. レスありがとうございます。
でもまだ問題を把握しきってません。
ええと、結局何を編集したいのでしょうか?
「設定ファイル」の指すものが不明です。「ndiary.conf」じゃないのか???

. 保存文字コード・保存改行コードの指定も要りますか。
まあ、それも大して大変ではないと思うのでなんとかするべきか。

. パスワードが普通のテキストボックスなのは単なる趣味です。
判りやすさ優先というか。
言われるとおりたいしてマスクの意味もないだろうと思いまして。それだけです。

2004/1/8(Th)

198Y/01/08 東京湾コンビナートで大爆発が起こる。 (『コンピュータが死んだ日』石原藤夫 徳間文庫216-3)
2197/01/08 地球連邦宇宙軍のストーカー・ワン、アウラ5の地上部隊救出。 (『地球連邦の興亡』佐藤大輔 徳間書店)
▽bookstore_x

. キャッシュサーバに行く→アクセスに手間取る→値が返らないか半端が返る→化け化けデータがキャッシュされる
という状況が幾つかあるようだが。
ううん? どこだ? わからん。
404とかはwebagentの中の何処を見れば拾えるのだろうか。

. 細かい書店解析のデバグはぼちぼち。

. あーそれから、tableのborderは、こう、tableを囲むのでなく、tdを縁取りしたいと言えば伝わるでしょうか。

■ruby; install

. ruby1.8.0をwin2000に入れようとした時のこぼれ話。
オフィシャルからWINバイナリ版を取りに行くとそこに、
iconvやらreadlineやらへのリンクがあった。
実際入れてからirbを動かすとreadline.dllが無い、とか言われる訳ですな。
readline.dll,iconv.dllやらは落としてきて解凍した後、c:\winnt\system32\以下ぐらいにコピーすればいいらしい。それでなんとかなった。
あと、環境変数のPATHに突っ込んだrubyのruby\binへのパスを通す事、と。

■html xml

. す、すげえ。ふざけてるぜ。
XMLで書いたHTMLが延々文字化けして困っていた。ローカルでは大丈夫、XREAでも大丈夫なのに、何故か自鯖にあげてからだと化ける。
apacheの設定+再起動や.htaccessの作成など繰り返した後、偶然に原因を発見

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

. これを

<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">

. こうするとOK。

. ……待てや。待たんかいワレ。
しまいにゃうたわせんぞ、ああん?

. IEではそれでよくてもOperaは駄目な罠。

. ……うたわす! 決定!

. 結局httpd.conf(apache設定)のAddDefaultCharsetもコメントアウトして解決。

▽ブラウザの設定

. あと、CGIの出力が、IEだと表示されてOperaだと「ダウンロード」になっちゃうのは何処をいじればいいのでしょう。これはブラウザのどっかの設定だと思うんですが。

▽自鯖の設定

. /etc/hostsを書き換えたのだが、ブラウザ関係はそれを読んでいない?
ippo.itbdns.com行きはlocal-addressの192.168.xx.xxへ行くように、としたいのだけど。
pingはちゃんと読み直ししてくれてるみたいなんだけどなあ。httpだと駄目ですか? というかtelnetで駄目だな。IPアドレスの読み直しをしてくれてない。
あとは何処を設定すればいいのだろうか。
DNS読み順みたいなとこか? って何処だ?

. Codeとかbookstore_xとかの表示のおかしい部分を直す。

. あ、tdにborderすかなるほど。
それでいきます。
あとはtd間の隙間を詰めるようにしたらなんとなくそれっぽくなりますね。

2004/1/9(Fr)

2341/01/09 トルーズデイル、ヴァンダーヴェッケンのメッセージを聞く。 (『プロテクター』ラリイ・ニーヴン 早川文庫SF321)
▽bk1のオススメの恐怖

. bk1のトップに行くと、「今日のオススメ」なるものがある訳ですが、
これ、絶対に、個人特定を何かの情報でやってるって。IPアドレス控えとくとかなんかしてるんじゃないのか?

. というのは、「東カールシープホーン村 下巻」なんてものをオススメされてしまったから確信した訳ですが。

. 同じIPアドレスから何度もアクセスされたものを上位にして同アドレスからのアクセスに返すとか、そういうセッティングしてるでしょ絶対!
「世間一般的なオススメ」では無いとみた。俺が毎日アクセスする程度でシープホーン村の人気がそこまで上がる訳が無い!
それとも、上がるのだろうか……なわけないって

. 仕組みが知りたいところです。

. というかこうなると、「私は今日ナニをオススメされました」で自己紹介とか天気予報の変わりにとかなりそうですなー

▽恐怖は続く

. ……怖くなってきたのでここで聞いてみる。どなたか答えていただけると幸いです。
現時点(2003年1月9日午前9時前後)でbk1のトップに行くと、私は
東カールシープホーン村 上巻
マリア様がみてる 子羊たちの休暇
でたまか 天地鳴動篇
をオススメされました。

. 上述時とマシン(IP)を変えたところからのテストです。
(とはいえ、私の普段使いのマシンには変わりないのですが。)

. という事で、
・単に私を個人的把握してその傾向に沿ってオススメしてる
という可能性以外に
・私がcronでがしがしbk1に接続してる事が、対個人でなく対全体の傾向として把握されている
可能性が出てきました。

. 上案の場合はまあいいとして、下案の場合は問題です。
荒らしというかBOT行為というか、少なくとも、匙加減として、控えるべきものがあるでしょう。

. 下案の場合、あれだな。
自分のオススメ本がある場合、その本の頁に何度も何度もアクセスする事で万人にオススメする事ができる、というシステムな訳ですね?>bk1

▽恐怖は続かないみたいだ

. という日記を上げる前に反応が
なんだ、全然違いますな。
となるとやはり個人特定情報がなんかあって、対個人でオススメをしてるって事か。
安心なような逆なような。

. そこから派生。まいじゃーさんもnDiaryにしましょうよ!
とつぶやくだけ。

. 本のテスト。
書誌情報をひけないのは確かだが、ひけないならひけないなりに対応してる? はず?

. これは新版でやってるからうまく行ってるだけなのかなあ。

. ここでうまくひけなかった時にも(中身が「isbn 4-06-1158449」のみの)キャッシュを残すのは、ひけなかった証拠として残して置く為→これが無いと毎回生成の度にリトライしてはああやっぱりひけなかったなあを繰り返してうっとうしい為。
という考えがあって初期の使用を作ったような。あるいは事後結論づけたような。

. とりあえずbk1が重いのはサイトが重いのもさる事ながら書評取りに行ってた事が大きい(それだけで2倍なり3倍なりになる)と体感するこの頃。書評はOFFにしておこう。

. ああ、本が読みたいなあ。

. と、未読山脈(というか未読本棚)を見つめながらつぶやく。

. 本屋は雑誌屋なのかあ。そうなのかあ。ふーん。へーえ。ほーお。

. 無くて七草。

. そうか7日だったから七草だったんかなあと今更思う。
もう売ってない。

. cachebib系、動いている間はいいのだが、時々タイムアウトとか、Ctrl-Cで止めた時とかが怪しい。変な、書誌情報でないファイルがキャッシュに残る。エラーチェック系で何処かソースが甘いらしいのだ。

2004/1/10(St)

2081/01/10 <メイフラワー二世>、ケイロンの周回軌道に入る。 (『断絶への航海』J.P.ホーガン 早川文庫SF586

. いかんな、ついつい炬燵で寝てしまう。
ここんとこ連日である。

▽月へ

. いいなあ、赤い宇宙服。
でも同時に思い出したのが「通常の三倍」だったりする訳でヲは嫌ですな。

. 絵を描くのもいいなあ。
で最初に思い出したのはコカコーラマークだったり(そういうネタのSFがあるんですよ)
今ならピカチュウっすかね。

. そうだ。ネタ。
今は滅んで跡形も無い先史文明(当然超文明)も月に人類を送り込んで居たのだが、やっぱり「あれは番組で本当じゃない」と言う奴等が居て、業を煮やした当局が月に証拠の絵として当時人気だったキャラ(ピカチュウ)を書いてきた。
現在、兎に見えているのがソレである。

. ちなみに、その後も奴等は「あれは”月”じゃなくて空の方に大きい部屋を作ってその中に”月の絵”を描いているんだ」と駄々を捏ね続けたという。(参考:宇宙の孤児 ロバート・ハインライン)

. あとは月の裏に巨大な人面構造物が存在してダロスだ! とか。
超文明の科学遺産が出てきてガルフォースだ! とか。
スパコンを月面に設置して無慈悲な夜の女王だ! とか。
小便とか捨てたらそこから羽根車草が生えたり! とか。
古いか。
太陽光を当てたらみるみるマスドライバーが成長したりとか。

. ええと、あれは火星だったっけ?
きっとマーズローバーの前には突然「地球は、狙われている」と(ry

. なんだな、人類は月に行って無い、と主張するのと同じぐらい、こういう絡みをする人間は嫌われるかもしれんな。

▽Hi-MD

. MDが1Gになるそうですよ。
違うか、FDの時みたいに、型は一緒だけど媒体としてはそれ用を買わないと1Gは駄目なのか。あれ、でもフォーマットしたら従来品も1Gになるのか? 判らん。
しかしいいなあ、MDで1Gでマシン外付けのUSB記憶媒体になるのかあ。
あのサイズで1Gですか、CD-Rの立場がいよいよ無いですね。
今はなにかデータをちょびっと移したいと思うとメモリースティックとかなんですが、うっかりするとMDに移行しそうだなあ。メモリースティックじゃちょっと狭いと思う時がある(いいの買えよという突っ込みはなしにして)。
VAIOなんかはもとからMDスロットとかつけてる製品あるから、まさしくそんな感じでそのあたりを狙う?

. この正月にMDウォークマンを買った某I君は今頃「やられたー」とか言ってるんだろうか。もう少し待てばよかったと。

. 一発ネタ。
「私のbk1の今日のオススメ」プラグイン。

. 羞恥プレイ。

. ブラウザでみたらURIになんかごにゃごにゃとコードが付きますよね?
3e9132c...とか。
あれで個人特定してるみたい。詳細は不明だけど。
あのコードってどういうものなんだろう。

■ruby; cache(bookcache)
  • オンライン書店から書誌情報を取得
  • その情報をキャッシュ

. するライブラリを一新、というか、整理整頓しました。多分。だといいな。

  • コアはcache.rb, cachebib.rbです。
  • 必要な書店毎にamazon.rb,bk1.rb等を追加して下さい。
  • 簡易版でいいのならamazon.rb等の代わりにcachebib_simple.rbで利用してください。
  • 使い方は、例えば、sample/以下を参考にどうぞ。
  • キャッシュサーバを設ける運用法が可能です。その場合、サーバ側については付属ソース各種を、クライアント側についてはcache_ippo.rbを利用して下さい。
  • 一般的な書誌情報については著作権に触れないらしいので、こういう利用は大丈夫だと思います。かなり微妙ですが。

. cacheの頁を用意しましたので、そこからテストなりダウンロードなりどうぞ。
ダウンロードについては、cache.zipでまとめてあります。

■ndiay; cache(bookcache)

. 既に上述の通りです。
キャッシュ関連を更新しました。
以前のものとは微妙に互換性がありませんので一新をお願いします。

  • lib/以下(私だとuser/lib/以下)の関連ライブラリを変えてください。
     cache.rb,cachebib.rb,amazon.rb,bk1.rb,...,cachebib_simple.rb
  • キャッシュサーバ運用ならcache_ippo.rbも加えてください。
  • 影響を受けるplugin/filterは以下です。置き換えて下さい。
     filter/bookstore_x.rb
     filter/bookstore_x_custom.rb
     filter/sum_price_x.rb
     plugin/booklist.rb
     plugin/bk1ranking.rb
     plugin/bk1recommend.rb

. 上述の頁にcacheのライブラリ関係とfilter/pluginがあります。
現在の私の運用一式という事で私のnDiaryの頁にもあります。
ダウンロードについては、ndiary_pack.zipでまとめてあります。

▽もうちょっと詳しい説明

. amazon
bk1
rakuten
yahoo
asahiya
jbook
kinokuniya
skysoft
esbooks
webcatplus
以上の書店(等)に対応しています。
書評・お薦め等については対応してたりしてなかったりします。(別頁で開く書評について対応してるのはbk1のみ)

. キャッシュサーバ運用は、
利点は、

  • amazon.rb,bk1.rb……等各書店用fileが不要(cache_ippo.rbだけでいい)
  • サーバがメンテされてればいつでも最新版
     (書店の書式が変わったりしてもローカル側は入れ直し不要)
  • 最初は通常よりちょっと重いが、以後3日間同じ本は高速になる
     (キャッシュ読みだけでいい、書店アクセスが要らない)

. 弱点は、

  • 安定? したかな?
  • サーバで書評チェックまで入れると初動が重過ぎてタイムアウトとかする(だから私はしてない)
  • サーバの機嫌が悪い場合、キャッシュがローカル版・サーバ版入り乱れる(だからどうというわけではないが)

. という点です。
キャッシュサーバの肝はcron(Windowsでもcronに当たる処理はできたはず)によって、最近リクエストのあった本のキャッシュは常時最新に保つ、という点です。

. ここ数日回してたから、そこそこ安定してると思うんだけど……
と言いつつ、ここ数日いじり倒してもいた訳で、エンバグしてないとは言い切れないな。というか多分してるよなあ。
まいいや。よろしく。

. レシーブされた!
ので、じゃあ、もう少し強くプッシュしておきます。

. rubyインストールについては置いておきます。ええと……あれ? どこかに簡単な説明がなかったっけ?
http://www.ruby-lang.org/ja/20020102.html
http://www.dm4lab.to/~usa/ruby/

. nDiaryについては、とにかく今動いてるものがあればわかりがはやい、というのなら、うちのnDiaryの頁にndiary_pack.zipでまさしく今のこの日記のセットがあります。カスタマイズしすぎてぐちゃぐちゃですが。
もうちょっとシンプルにならうちのonDiaryの頁のも結局は同様なのでそっちでもいいです。
あとは有里さんちになかったかなあ?
http://www14.cds.ne.jp/~not/product/ndiary/
http://yokohama.cool.ne.jp/alisato/ndiary/

▽贄だ!

. さっそく。感謝。

. で、splitでWARがでるのよし。
あれえ、WINのruby1.8.0でチェックした時は出なかったと思うのだけど。たまたまか。
要するに正規表現の入ってるsplitは/で囲む限定、という事らしい。
ううん? 「=」ってのがひっかかってるのか? それとも「<>」ていうHTMLタグの囲みが?
とりあえずamazon.rb内の修正。「=」は他に使ってないのでこれで大丈夫だろうか。ひょっとしてauthorの判定にバグが出たらここの修正を更に修正する事。→自分
他にkinokuiya,rakutenで「<>」を使ってsplitをしてるので、おかしくなったらそこを修正する事。→自分

. 自分のWINノートと自鯖の中身は修正。後のUPとかパックとかは未修正。様子見てそのうち。

. ところで、書影画像ですが、過去日記の方は
http://aturust.com/topics/img/isbnXXXXXXXXXX.jpg
になっちゃってます。
設定ミスでしょうか? バグでしたらまた連絡下さい。

■onDiary; version-up

. onDiary修正しました。
修正はindex.cgiとconfig.txtぐらいです。

  • password入力をtextからpasswordに
  • configでの編集可能フォルダ、編集可能拡張子ファイルの設定を追加
  • configでの保存ファイルの文字コード、改行コードの設定を追加

. 以上です。
ええと、こんなもんでしたっけ、要望?
こういう形の実現で想定にあってるでしょうか? まだおかしいところがあるでしょうか?

2004/1/11(Sn)
金で心を汚してしまえ!

▼何故私はcache.rbを使わねばならないのか?

. A.いえ、別に使う必要はありません。

. では終わってしまうのでもう少しコマーシャル。

  • 遅いぞ! ゴルァ

. すみません。1冊につき、
bk1に1度アクセスする分だけの時間はどうにもなりません。
あるいは楽天
オンライン書店が重いのが悪いんです。書店のサポートに文句言いましょう。
でも60秒繋げて駄目ならすっぱり切るようにしたし、thread化したので各書店分同時にやってるしそこそこ速いと思うんですけど。

  • threadうざい。要らない。

. すみません。じゃあbookstore_xとかのソース内部の該当部分をコメントアウトしたり復活させたりして下さい。だいたいどういじればいいのかメモは書いてるつもりです。
順番に処理とそのメッセージが流れる方が美しい、一気にあれこれメッセージ出たらどこでエラーが出たのか判らない、とかいう美意識は判りますとも、ええ。

  • だから遅いっつってんだよゴルァ!

. すみません。どう頑張っても最初のアクセス1回分はどうにもなりません。
ですがキャッシュサーバを使い、そのサーバの中でキャッシュの自動更新プログラムを走らせるようにすると、(あるいは普段使いのマシンの中でキャッシュの自動更新プログラムを走らせるようにすると)、二回目以降はいつも新鮮なキャッシュが、つまり、アクセスに行く時間が省けてホクホクです。駄目ですかそうですか。

  • 遅い。許さん。

. すみません。
もういっそnDiary生成時に
「ruby diary -nonet」
として貰うという事でどうでしょうか。これでネット接続OFFのoptionがついて回る事になりますので、bookstore_xとかさくさく動くと思います。書誌情報がちゃんと出るかというと微妙ですが。
→ええと? 「期限は過ぎてるけどキャッシュは在る」の時このoptionだとどうなるんだろう。要動作チェック。

  • bookstoreがあるからいい。

. すみません。んじゃいいです。
一応言うとbookstoreでできる事はbookstore_x系でも完璧にできます。
bookstore_x_customの中を見るとサンプルがあります。
またそういう運用でいいなら、amazon.rb,bk1.rb,rakuten.rb...を削除して、cachebib_simple.rbだけ入れとくといいと思います。書店解析(アクセス)しなくなり、ほぼbookstoreコンパチになると思います。

  • amazonがあるからいい。

. すみません。んじゃいいです。
filter/amazon.rbですね。
一応言うとamazonでできる事はbookstore_x系でも完璧にできます。
bookstore_x_customの中を見るとサンプルがあります。
またそういう運用でいいなら、基本エンジンに加えamazon.rb(例えばuser/lib/amazon.rb)があればいい(他の書店エンジン部は要らない)です。

  • 書評は? ねえ書評は?

. 書誌情報と一緒に表示されるリストとか触りとかは拾ってきて、「reviewlist」という項目に貯めていると思います。それが出来てないのはうっかりかさぼりかバグです。別途私に注意してください。
別頁に跳んで書評情報を展開するタイプについては、昔の余波でbk1だけは対応しましたが、他は対応してません。またbk1についてもbookstore_x等での利用では、通常書評解析をOFFにしています。
(必要ならソース内の「book.flag_review=false」をtrueにしてください。)
というのは、(理由1)何度もアクセスして重い、(理由2)書評の著作権は書店ないし評者に行くので今ひとつ著作権的にグレイ、だからです。
それでも要望があれば順次対処したいとは思っています。個人で楽しむ分にはそれらの情報を取得するのは悪い事じゃない(2次利用が駄目)らしいので。必要なら要望下さい。

  • bk1でbibid(書誌情報)はあるんだけどISBNは無いってのが。

. はい、ありますね。
ぶっちゃけて言うと、ライブラリとしては暫定対応してますけどbookstore_xとしては完全な対応はしてません。
ライブラリとしての対処を述べます。(簡単な例はcachebib.rbの末尾にあります。)
(尚、もう少しいい方法や実際の運用で負担の少ない方法は考えてるけど判りません。いいのとかそちらの実例とかあったら教えて下さい。)
bibidだけ判ってる場合は「cachebib.get_data('12345678', :id)」もしくは「cachebib.get_data_from_id('12345678')」のように使ってください。保存されるcache-file名は「id1234568.txt」になります。
ISBNも判ってる(ISBNを手打ちで補完する)場合は「cachebib.get_data_from_id('12345678', '4-12-345678-9')のように使ってください。保存されるcache-file名は「isbn412345689.txt」になりますし、その中には打ち込まれたISBNが(以後のcache更新でも消えずに)保持されます。……のはずです。
だから二度目以後は普通にISBNからでひけるようになると思います。
ISBNやbibidを打ち間違えちゃったとかは知りませんよ。手動でcache-fileを消してやり直してください。
このへん、キャッシュ情報手打ちプログラムみたいなの別途サンプルとして作ったほうがいいですかね? 要望連絡があったら作りますのでなんでしたら要望下さい。

. ええと……このぐらいだっけ?

. じゃあ蛇足だけど解説。

. 「赤い宇宙服」「通常の三倍」機動戦士ガンダム(アニメ)
「コーラマーク」あ、ど忘れ。アシモフ・クラーク・ハインラインの短篇のどっか。アルミ粉か何かの月面での噴射テスト。
「ピカチュウ」ポケモン(アニメ)
「あれは番組で本当じゃない」愚問。ていうか月をなめるな。
「兎」日本昔話。だっけ?
「大きい部屋を作ってその中に”月の絵”を描いているんだ」宇宙の孤児 ロバート・ハインライン
「月の裏に巨大な人面構造物が存在してダロスだ!」ダロス(アニメ)
「超文明の科学遺産が出てきてガルフォースだ!」ガルフォース(アニメ)
「スパコンを月面に設置して無慈悲な夜の女王だ!」月は無慈悲な夜の女王 ロバート・ハインライン
「小便とか捨てたらそこから羽根車草が生えたり!」ど忘れ。上述の御三家じゃあない人の短篇。編集の偉い人だったっけ?
「太陽光を当てたらみるみるマスドライバーが成長したり」第六大陸 小川一水
「地球は、狙われている」蒼き流星SPTレイズナー

. で、解説の解説。
「機動戦士ガンダム」ていうかシャア・アズナブル
「ポケモン」バケツモンスター=バケモンゲットだぜ!
「月をなめるな。」愚問。
「レイズナー」……みだーキスでーぬーぐぅーったーチャチャチャ 僕の名はアルバトロ・ナル・エイジ・アスカ。地球は、狙われているチャチャチャ ロンリーウェー……

. で、解説の解説の解説。
「シャア・アズナブル」偉い人。
「バケモン」超感覚アナルマン(漫画)
「チャチャチャ」バイファムでもねえ、OP前でやってたんだよねえ

. で、解説の解説の解説の解説。
「バイファム」Main Trans Enging, No.1,2,ON, No.3,4,OFF

. いい加減しんどいのでやめ。
ふ、認めたくないものだな(ry

. ところで第二天は知らないです。いや作者さん自身から知らないと思う。
ハインラインは個人的にお薦めですが合わないのかもしれませんね。「宇宙の戦士」が映画をさしてるなら、あれは監督と原作を知る人がギャップにゲラゲラ笑ったりある意味芯をついてると笑ったりするところで、小説をさしてるなら一種ハインラインは全部アレですと言ってもいいので合わないのかもです。

. ちらりずむ!
ハァハァ。

. 昨日はスーパーの帰りに中猫(子猫以上親猫未満)になつかれて、お持ち帰りしようとしたら逃げられました。ぶろーくんはーと……

. pluginからfilterを呼び出すってどうするんだったっけ。

▽夢の中で

. レストランに行って、メニューを開いたら英語だった。値段高そうだなあと思いながらそのメニューを読みつつ、いきなりそのメニューを書き直しだす自分が居た。
全部の項目に

. def XXXX
 xxx{
  xxx
 }
end

. って付けるの。

. 起きてからあほちゃいますかと思いましたな。

. あれー。cronが動いてない気がする。……こないだの改造が悪かったんかなあ。
どうチェックすればどこでこけてるのかわかるのかなあ。

. あ。多分、エンジンが悪くてエラー吐いて止まってただけだと。
rakuten,skysoftについて微妙に変更。
なんで今までは大丈夫だったんだ?(w

. bk1のお薦めはcookieによるらしい。agent_cookie.datを削除してからもう一度トライすると、マリみてをお薦めしなくなった(w

. でまあ、お薦めされなくなるとそれはそれで。
他にも色々と側面支援があったせいでよっしゃーマリみて読むかーと思ったんだけど。
無い。あれー。
多分誰かさんに貸したままなんだと思う。ま、いっか。
今がなんか世間的にピーク(アニメ化とか)あるみたいなんで、この勢いにのって今よんじゃったらどうすか? と、自分の借りてる本の事は棚に上げて言ってみる。
仕事忙しいですか、じゃいいや。

2004/1/12(Mn)

1992/01/12 HAL9000生まれる。 (映画2001年宇宙の旅)
1997/01/12 HAL9000生まれる。(小説2001年宇宙の旅) (『2001年宇宙の旅』A.C.クラーク 早川文庫SF1000)(『2010年宇宙の旅』A.C.クラーク 早川文庫SF1052)
2018/01/12 〈メルトダウン〉が起こる。 (『放浪者の軌道』グレッグ・イーガン 所収「祈りの海」早川文庫SF1337
2246/01/12 ジェイコブ、サンダイバー計画の会合に出席する。 (『サンダイバー』デイヴィッド・ブリン 早川文庫SF685

. ちょっと今プログラマーズハイで、酒呑んでも寝られない。
夢の中でまでコーディングしてるから。
さすがに4つも別プロジェクト持つと遊びといえど変になるみたいだね。

. で、プロジェクト4によって私は今オンライン書店のキーワード検索機能を見てたのだった。といってもamazonとbk1だけだが。amazonがUTF8だって気づくのにかなりかかったよ。uconv.soが要るよ。nDiaryとかbookstore_xとかぐるぐる改造してるよ。

▽キャッシュ鯖

. よし、ちゃんと動いた。
30〜50冊のチェックに30分かかるんだ、一店一冊ずつのんびりと全店回ると。
まあ頑張るのは私じゃなくてCPUなのでいいや。
(ん? つまり今までは、日記生成に30分かかる時もあったって事か? がっくり)

. あれー?
pluginの中で@diaryって使えないのか? 結構使っちゃってるのに、エラー出てるの今はじめてみた。@diaries( or @diarys)は使えるとして、こういう名前じゃなかったっけ?
filterの中で@diaryはよく使ってるよな。
……ああ、topicじゃあ使えないって事か。

. そういう訳で、某案件により変なもの作成完了。

. 特定の指定日付群だけの日記を作成する、という。
pluginの中で無理矢理pastdiaryを作って走らせるという方法なんだけど、
いいのかなあ?+もっといい方法があるのかなあ?

. ちなみに、topicのファイルの中にbodyは無い。

. 要望があるなら整理して公開。なければ闇に葬り。

■ndiary; plugin/bk1recommend.rb

. 現在私はキャッシュ鯖で書誌情報を利用してるので、cookie(agent_cookie.dat)にbk1の情報が溜まらない。一度データをリセットしてからはふつーのお薦めになっているようだ。
つまんないのでもうこの「今日のオススメ」プラグインは外す事にする。3日ともたんかったかな。

. しかしキャッシュ鯖はやいぜー「きしゅきしゅっ」てノートと鯖のHDが一瞬共鳴りしたと思ったらそれで一冊終りだぜー
なによりそれが嬉しい。
その感動は一日一度しかできないのが悲しい。繰り返し日記生成してもキャッシュがあるからなあ。そうだキャッシュを消せば←本末転倒

  • onDiary→要望入れたつもり。文句がないから問題なしか?→Done
  • 某ML整備→要望は蹴られた? から改造しなくていい?→Done
  • 某移転→もう安定稼動してるよね?→Done
  • cache.rb→細かいバグ直し中、数週間の安定を待ってまた微修正版UP→とりあえずDone
  • webagent.rbのハック←404何処?→ま困ってないみたいだから放置
  • 某日記相談→試作終了連絡待ち→Done
  • 自分ちの本棚DB→ライブラリから整え直し→

. これか! これが残ったか!
……永遠の課題っつーか……
そうか、全てはこれからの逃避であったか。

2004/1/13(Te)

. 導入テストありがとうございます。
そうか、そのへんがわかりにくいのか。なにか注記を考えよう。
あ、自分のnDiaryの頁細かいとこ修正してないや、しなくちゃ。

. BOOKSTORE_BK1_IMAGEURLは別に相対パスでなくてもできるはずです。
ええっと、'http://ippo.s5.xrea.com/ndiary/'とかみたいな指定でもいいはず。

. 表示などをいじったらキャッシュを消す、という事ですが、「表示など」が微妙ですね。
どういう状況でしょうか、バグの可能性があります。
単にbookstore_x_custom相当ぐらいの部分なら、キャッシュは関係ないのでそのままでいいはずなのですが。
bk1で書影画像の保存位置を変えた場合は、その位置記録はキャッシュ内なので、一旦消さないといけません、それは仕様ですからその通りです。
書評のON/OFFもそうです、ソース内のflag_reviewをいじるとかした場合もそうです。

. あ、書評数がうまく拾えてないな。というか書評読みしないモードにしちゃったからだな。別途書評数ぐらいは書誌頁から拾って、そうだなあ、「review_num」ぐらいのパラメータでとっとくようにしないといけないかな? 修正案が一個増えたな。

. え?
あ、ほんとだ、USERLIB_DIRECTORYにしてる。ハイフン抜けてる。USER_LIB_DIRECTORYにしたつもりだったのに(本家の記述形式に準じて)。修正がもいっこ。

. なんかbk1のauthor_idだけすごい事になってるな。積算してってるよ。修正点増えた。

. と、どんどんボロが出るなあ。ケアレスミス系というか。まあシェイクダウンだ。
贄の皆様すません。

▽T3

. T3を見た。
女ターミネーターが美人だった。
ええ、あの終り方はありですか? と思った。
話の中身としては
嫁さんを通じて政界(軍)と繋がりを? とかなんていうかそこも派閥ですかというか生臭いというかまあ現実味があるんかなあとか。
ターミネーターのグロさが今回はあんまり無い気がするなあとか。あの一皮剥くとメカー!っていう描写がもっと欲しかった。女ターミネーターの方とか。
ラストの女ターミネーターが顔だけロボじゃなくて人間に戻したのなに? とか。
筋肉は20年前だけど顔の微妙な年輪はやっぱりあるよねシュワちゃん、とか、
ああもうこの尻の人は知事なんだなあなんだか残念とか。
全然話の中身じゃないな。

. で、寝たら案の上ハルマゲドン夢を見る。
主人公視点じゃなく物語視点なんだけどね。
ジョン・コナー日本人で中学生版みたいな。
青臭い正義を頑張って貫こうとして重荷に背骨折れちゃうみたいな。
ひょろひょろ君による北斗の拳みたいな。
おもろかった。あれを書き留めれたらいいのになあ。

. 寒いと思ってたら雪? 雹? が降った。
一瞬で世界が白くなって、止んで、溶けた。ぐじゃぐじゃ。

. 日が沈むとあっというまに白い世界。

2004/1/14(We)

2076/01/14 バーナード星調査隊報告公聴会 (『ロシュワールド』R.L.フォワード 早川文庫SF627

. ははは。やっぱりbk1のシステムは過渡期っぽいや。
検索画面で、「内容紹介」が書評数のうちに数えられてる。
実装の仕方が書評と一緒でええんかなあと思ってたけどそういう事らしい。

▽SFマガジン2月号

. (SHOP:bk1,02397443)

. 今月はアタリ。日本人特に。
以前も同じ様な巻があったよね? あれとほぼ同じ顔ぶれかな?

  • 地球スコープ2004 0
    どうもこの人は性に合わない。微妙に好きなんだけどねえ内容は。
  • ラギッド・ガール +2
    相変わらず流麗美麗な文。エロえろー
  • マルドゥック・スクランブル +2
    相変わらず目の下にクマ美少女書かせるとうまい。エロえろー
  • 吟遊詩人 +1
    ロブスター続編。この人のこの変な調子に慣れてきたな。それなりいける。エロえろー
  • 飛ばされていく行く先 +2
    くそう、卑怯だよ! ティプトリーだよ! つうかこのコマと文スキーッ。エロえろー
  • 小説探偵GEDO +1
    これは前の昔話のを思い出したが。今度はかなり素直に読めた。おもろい。エロえろー
  • Pシフター +1
    草上さんらしい小品。やっぱりこれもエロえろー?(笑)

. マルドゥックと飛ばされていく行く先はむしろロリえろーか。
んでPシフターはゲロえろー

. なんだ、エロいから面白かったのか?<んな訳ないって。
変ではあるが、まいっか。

. 忘れてた分追記。
・おまかせ! レスキュー 0
うーん? あんまり。あってもなくても。好きだけど。
・SFまで100000光年 +1
まあいつも通りで。

. うわそんなとこにミスが。
感謝。治さねば。

. あちこち細かいところを修正するうちになんかbookstore_xの内部の構造が理不尽に見えてきた。bookstore_x_stringあたりへの引数を整えるか?

2004/1/15(Th)

竜暦2000/01/15 ヴィントシュティーレの街が、MISTの攻撃で壊滅する。 (『ドラゴンアームズ 光翼の黒騎士』山本剛 ファミ通文庫)
xxxx/01/15 7歳の恵子、三十三間堂に通し矢を見物に行く。 (『デクストロII接触』イアン・ワトスン&マイクル・ビショップ 創元推理文庫695-01)
□『されど罪人は竜と踊る くちづけでは長く、愛には短すぎて』

.

「されど罪人は竜と踊る くちづけでは長く、愛には短すぎて」読了。
 
え? あれ? 上下巻! 消化不良だなあ。
ロリっ娘の可愛い一冊。
あとは戦う人のプライド問題。
全然かっこいいとかすっきりするとか無いんですが、
精神のうだうだ加減がこう、青春小説と言うか、中年小説というか、
夢破れて山河有りなお年頃を嫌に刺激するという意味で何らかの突出はある作者ですねえこの人。

(ISBN:4-04-428904-2)

. おおたさんちより裁判
ひでえな。
一読、これはすごいひでえと思った。
こんなもんなのか?
裁判として成り立ってないと思うのだがこれが正義か?
「裁判官の正義」ではあるだろう、「裁判官の良識」ではあるだろう、が、
こう、検事と弁護士の立場というか、裁判のシステムとして。
こんな法システムだったか? システムの問題でなく内部の人間が腐ってるだけか?

. しかし、こんだけするので1年かかるのかー。毎回3時間を一ヶ月毎にやるのかー。
大変だなあ。

■onDiary; 設定方法

. レスありがとうございます。

. 基本的なonDiaryの方針は、
所詮nDiaryの皮一枚なのですから、
・可能な限りシンプルにする
・できない事はできるようにする
・毎日使う部分・使い難い部分は整える
ぐらいですね。

. で、今回の
「onDiary自身の設定ファイルの変更をonDiary上から」
については
・現状で可能
・毎日使う機能じゃないし、セキュリティも怖いから「使い易く」はしない
という事でどうでしょうか。
現状での実現方法は
・設定ファイルの拡張子を編集可能拡張子の中に入れる
・設定ファイルのある位置を編集可能フォルダに加える
という方法で。
まあ、設定ファイルいじれるとなると「なんでもできる」ので、他者にやられる場合も含めて御利用は自己責任で、というか。私は怖くてする気にならないのですが。

. 設定例:

EDITABLE_DIR = ['.']
EDITABLE_EXT = ['txt']

. ちょっと無用心に過ぎるかな?
設定ファイルである'config.txt'を自由に指定できるように……て、その指定はconfig.txt内でするのか? ちょっとナニですな、無理だ、やめよう。
webframe.rb内で'config.txt'とファイルを指定して読んでるので、そこをいじると修正はできます。以上裏技紹介。

. それから、
・設定ファイルの入力支援(設定シートにチェック)
についてはどんなもんでしょうねえ。
onDiaryを使う人はnDiaryを使う人で、nDiaryを使う人はndiary.confを書ける人ですから、ndiary.confを書ける人ならconfig.txtも書けるだろう、と思う。ので、特に入力支援インターフェースは要らないかな、とも思うのですが、如何に。config.txtは自由度が高すぎて(こなれた)インターフェースにしにくいし。
うーんでもまず手の届くところにconfigを置いとけというその方が初心者に勧めやすいとかそういう? そうかーそうかもなー。やっぱりセキュリティとトレードオフか。
でも設定なんて一度やってしまったらもう永遠にいじらないだろうし……
・規定書式の挿入
は、template.txtで一応の実現を見たと思ってるので多分しないです。
それ以上に細やかなパラグラフ毎の云々とかは、CGI上でマクロ機能付きテキストエディタを作ろう、みたいな大きすぎる話に化けると思います。私の手には負えません。
あるいはfilter/pluginでnDiary内で実現していてくれ、というところでしょうか。
・携帯からの利用を眼中に入れて
は良い視点だと思います。その通りです。
問題は私がそれよりの技量を持ってない事で、当分対応は先になりそうです。
というかできないだろうというか。

. html宣言部、head部の記述ってどれが定型?
ヘッダ・フッタ他の表記を削れば終り?
電話キーに応じた特殊文字コード? の付記?
メールを範疇とするなら、
携帯送信画像・メールの受信をするrubyブロックってあるのか?
→これは別件処理か、自鯖があればメール中継しつつみたいなのが可能なのか?

■nDiary,ruby; bookstore_x

. 御返答有難う御座います。

. 言われている書籍紹介が「文」で出される部分、変数的には「info['desc']」の部分であるなら、今回のそのキャッシュの再生成は無意味と思われます。
その情報は、キャッシュファイルの中にデフォルトで埋めてあって消せません。(w)
キャッシュに存在はするけど日記には表示はしない、というのは出来て、それがおそらく言われてたコメントアウト作業に該当します。
……の、はずなんですが、はてー。コメントアウトしたのに「文」がついちゃった、でもキャッシュを一旦消したら治った、というのであれば、それは、謎だー。
あと、
requireのミス指摘ありがとうございます。うっかりうっかり。完全に見落とし。

. あちこち微調整中。
エラーメッセージ直したり。bk1のauthor_idが膨れ上がるの直したり。
review_numをcachebib内に移したり。0評ってでるの直したり。
ISBNだけでなくIDと店直指定をbookstore_xに入れたり。bookstore_x_string(custom)のデータ系をちょっと変えたり。

. ファンタジー職業適性診断
まいぺーすドラゴン。
が、がおっ

▽天気

. 昨日から世界は白いままなのだが、半端に溶けつつまだぼろぼろ降るので、足元が全面水溜り状態。

2004/1/16(Fr)

■ruby; 条件式

. cache系のデバッグ中に出会った謎。
取得文字列が空白で始まってるようだとそれは取得ミス、という判定をしたいと思った。

if str =~ /^\s/ 
  ...
end

. というのを組んだ訳です。が、これが、時々誤判定を起こす。
文字コードか何かなのか? と思ったのですがよく判らない。

puts str
author【ここはタブ】で以後は2バイト日本語データ…

. というもので、特に問題なさそう。おやあと思って色々してると

p str =~ /^\s/ 
1928

. という現象を発見。あれ? 条件式ってtrue/falseを返すのじゃないの?
(1928じゃなかったかも。とにかく数字を返す。)
→追記:それで動作として正しい。マッチした配列位置を返す。

p 'test' =~ /^\s/ 
false

. やっぱりだ。
あれ? あれ?
→追記:ここの記述嘘。falseでなくnilが返る。

. 結局ごそごそと

#if str =~ /^\s/ 
if str[0,1] =~ /\s/ 

. とかして急場をしのいだのですが、原因不明です。

. WindowsXP, ruby 1.6.8 (2002-12-24) [i586-mswin32]
です環境は念の為。

. →追記:
掲示板でたかはしさんから連絡貰いました。
「=~」はtrue/falseでなく、「マッチした文字の位置/nil」を返すとの事。
「^」は行頭を示すもので、文字列先頭は「\A」であるとの事。
私の失敗でした。

if str =~ /\A\s/ 

. やりたいなら、こうですね。

▽カウンタ

. そういえばカウンターサービスが年末年始ぐらいで止まってしまった。
geoのメールアドレスで登録してたのだが、それが切れたのでサービスも削除されてしまったらしい。復活はおそらく不可。とほほ。
長いつきあいだったんだけどなあ……

. なんか考えよう。そのうち。
カウンタ、幾らぐらいだったっけ? 全然覚えてない。桁数さえ。

■ruby,nDiary; cache, bookstore_x

. デバッグと改造という事で次。
ええと、何を変えたっけ? バージョン管理が……やっぱcvsですかね。入れんとなあ。

. cache.rb, cachebib.rb: 書評数(review_num)の扱いをデフォ値に移動。
amazon.rb,bk1.rb,esbooks.rb,jbook.rb,skysoft.rb,yahoo.rb: 同上。だと思う多分。
cache_ippo.rb: まとめ落し失敗時のメッセージ修正とか。
amazon.rb,bk1.rb: keyword検索対応
esbooks.rb: だったかな? 一部情報抽出が変だったの修正。
bk1.rb: author_idがcache読み毎にどんどん膨らんでいくバグ修正。review扱いの内容紹介を拾うように修正。

. filter/bookstore_x.rb,bookstore_x_custom.rb: 評数が0だと表示しないよう変更。class変数への依存をちょっと減らす。ISBNじゃなく各書店のIDからも引けるように変更。それからUSER_LIB_DIRECTORYでlib位置指定。
filter/sum_price_x.rb: 上を受けて同じ様な感じ。
plugin/booklist.rb, bk1ranking.rb, bk1recommend.rb: 上を受けて同じ様な感じ。
cachebib_simple.rb: 基礎項目微小変化。

. ええっとつまり、

(bibid:02397443)
(SHOP:bk1,02397443)
(keyword:SFマガジン)

. みたいな使い方ができるはず、多分。
というのと、

. 要するにまた全部落として入れた方がはやいかも? みたいな。
すみません、もう何回かこういう事すると思います。

. keywordテスト。
(keyword:SFマガジン)

. amazonとbk1だけなんだけどね現状。

. さて、以上は以前にも書いたように
→私のnDiary現状packから(nDiary-page
→私の自鯖@いつもデバグ中(β?)から(cache-page
でお願いします、今のところ。
ほんとはもう一箇所おかないといけないところがあるのだが、ま、気が向いたらで。

2004/1/17(St)

2005/01/17 月資源探査衛星が、月のヘリウム3の正確な埋蔵量を計測。 (『MOONLIGHT MILE』大田垣康男 小学館ビッグコミックス)
2060/01/17 ロイヤルウエディングの日に、9人の少年が自殺する。 (『秘密−トップシークレット− 1』清水玲子 白泉社)
▽センター試験

. 頑張れ受験生。

. 脱力中。

. 精神的な陥穽に陥ってるらしい。

. ここんとこプログラムぐにぐにし過ぎ?
でもToDoは沢山あるのだ。
ううん、bookstore_xはやっぱり敷居が高いのか? 使い難いのか?
使い易くしたいものだが。
あるいは不要な機能の実装し過ぎなのかな?

. それにしても新刊が積読になってる事よ。
こないだbk1でポチッとなしたら5千円飛んだんだけど、それがまるっと……

□『フェイダーリンクの鯨 クレギオン2』

.

「フェイダーリンクの鯨 クレギオン2」読了。
 
そうだそうだ、こんな話だったよ。と思い出したのでした。
メイがふられる話。鯨についてはすっかり失念していたり(w
イラストもそれなりに気に入ってますよー。一部ではメイが儚げでないという意見があるようですが、今でも充分華奢な体してると思うんだけどなあ。
 
元になる富士見版の方は探したけどみつからない。誰かに貸したか、実家の倉庫か?
残念無念。
 
話を読み終わってからうおーサターン・デッドヒート再読してえとか熱があがってたら、ズバリあとがきで触れてあったりでビンゴ。あんた、ええ人やー>野尻さん。
 
今読み直すと、ストーリーとしては若書きなところが多いのかな? 1巻もそうだったけど。頁数を倍ぐらいに増やしてリライトしてみた版を読んでみたい気もするなあ。ああも膨らむだろう、ここも描写が緻密になるだろう、そしたらもっと厚みが重みが、みたいな。うずうず。

(ISBN:4-15-030746-6)

. kinokuniya.rbに不具合発見。時々タイトルカナを取り損ねていた模様。
大量生成テストとかするとこういうのが見つかるなあ。

. amazon.rbで、pubsizeがうまくとれない場合あり。文庫カバーサイズにひっかかってた。もしくはサイズが無い時に変なの拾ったり。修正。
descに<p>やらが混じっていたのを修正。
更に、何故か「文化」という字が化ける現象を発見。
追跡していくと、kconvが悪いというところに辿り着く。ええー、そんな、どうすれば。
これはお手上げ。対処をご存知の方おられたら教えてください。
なんか、特殊な空白コードとかがあるの? それを先に削除するようにしたらいい?

. あ、amazon.rb、二箇所でものが違ってた。Iconv無いところだと落ちてた。修正。

. くそ、この週末前で落ち着いたと思っていたのに、時間が余ってテストすると必ずそれに応じてバグがみつかるぜ。終りなき戦い。ないしは適当コードの末路。

2004/1/18(Sn)

▽センター試験

. 頑張れ受験生。
頑張れしか言えないが。

▽UconvとIconv

. ruby1.8.0からはIconvが標準でつくらしい。
んで、Windows-ruby-binaryでもそうなってるんだろうか?
ruby1.6.8までのバイナリについては、本家の説明を読んでると、どうも別途Uconvを入れてくれと読めるし、そう対処していたいのだが。
まずどちらを標準として扱うべきかが謎である。

▽bookstore_x

. うわ。pubsize,series,labelぐらいの値を前に出してみたらちぐはぐだな。
解析エンジンがヘタレという事だ。ええとどのへんだろうか。

▽カウンタ値

. 日記を遡ると9/28で77777になってたらしい。
11/17から猫カウンタを1/1までつけてて、それの値が1757(多分)だから、
合計したらだいたい9/28から等速直線運動してるとして、ええと、82272ぐらい?
という検討をつけて、カウンタ再起動。
今まで延々お世話になってたALTOのカウンタよ、さらば。いや、戻るものなら戻って欲しいのだけど。

▽cache

. うーん? あれ?
ひょっとして。
CacheとCacheBibの関係は、
現在、Classと継承Classだが、
実は、ClassとModuleでいいのではないのだろうか。
以前試みた時にはなんかエラー吐いたので「ああそうか駄目なんだ」で終わってたんだけど、よくよく考えるとあれってケアレスミス(endの数があってないとか)だったんじゃなかろうか。
Moduleにした方が色々と取り回しがいい……のか?
またぐにぐにしそうな予感。

. むひょ
1202冊。
MySQLの値をそれだけみたら驚くなあ。
で、まだ段ボール4つぐらいと実家がある訳だが。
うちの在庫。
で、その中のどれだけが未読かというと……もうすぐカウントできるようになる訳だが……やりたくなくなってきたな……

2004/1/19(Mn)

. まあ、今のカウンタの不満といえば、UP前の日記でも見たらカウントされる事と、リロードもカウントされる事だな。
以前のはこのへんなんとかしてたみたいなんだけど。
Rubyでそのへんを組もうと思ったらどうしたらいいのかな?
サンプルどっかにないかな?

. nDiaryにも「今日のリンク元」プラグインがあるのかへぇ、と見てみたらperlだった。なーんやそれ。rubyちゃうんか。
それはそれとして、そうか、今日のリンク元は「今日のアクセス解析」であって、「今日という日付アンカーをキーにしてリンクしてるののカウント」ではないのだな(多分)。
と読み解いた。
なるほどそれならできそうだ。
referをとるのは、私はJavaScriptしか知らないけど、他にも方法があるのかな?
読み解けない。

▽クレギオン2あとがき読んだよ企画

. 太陽からの風
(ISBN:4-15-010292-9)

. 10の世界の物語
(ISBN:4-15-010617-7)

. 2010年宇宙の旅
(ISBN:4-15-011052-2)

. さよならジュピター
(ISBN:4-19-577438-1)
(ISBN:4-19-577439-X)
(ISBN:4-89456-522-6)
(ISBN:4-89456-523-4)

. サターン・デッドヒート
(ISBN:4-15-010770-X)
(ISBN:4-15-010862-5)
(ISBN:4-15-010863-3)

. タカアキラさんがどうやったらドラゴン? といっていたが、かなり優柔不断になるとドラゴンっぽい。
値が-2,-1,1,2だったかな、-2,-1,0,1だったかな、そんなのだったから、何処にもなれないと竜になるというパラメータなのじゃないかなと邪推。

▽文字化け

. kconvまた文字化けてるなあ。「…」というやつ。半角の中黒? かな。

▽SQL
  • どんなtableが幸せかという事
    どこぞでどなたかも書いていたが、SQLでどういうtableを組むと幸せなのかのTipsというのは私も欲しいので探しているが見つけていない。
    唯一言われてるらしいのが「正規化」という概念だ。だがこれは、妥当だと思いつつもオーバースペック、あるいは無駄なこだわりに思える。なんとなれば私が欲しいと思う「ちょっとしたもの」を作るのにIDばかりが目立つ大量のtableが行ったり、いざ参照しようとするとjoinの嵐になったりするからだ。お前はそんなにサブクエリが好きなのかの小一時間問い詰めたい。
  • 類似値の計算の事
    SQLにおける相関係数、主成分分析、あるいは類似度についてのTipsというのも無さそう、かな。
    ちっちゃいサンプルは幾つかみたように思うが、もっとでかい値に対応したライブラリみたいなのが欲しいところ。
    オンライン書店の「お薦め」とかってそういうものだと思うんだけど、どう実現しているんだろうね。マシンパワーごりごりなのかな。
    正規なものでなく類似品でいいので、お手軽実装法が無いものか。
▽bk1ranking

. あ、すみません、読み落としていました。

. user/lib系では、cache.rb,cachbib.rb, bk1.rbが必要なはずです。
(それをrequieする部分を書いてなかったか? 私の環境ではbookstore_xとかで既にrequireしちゃってるのでerrorじゃなかったというオチ)

. 慌ててソースを修正しました。

BOOKSTORE_BK1_ID = 'p-ippo57167' #アフィリエイト
BOOKSTORE_BK1_IMAGE = './www/' #書影保存位置
BOOKSTORE_BK1_IMAGEURL = './'  #書影リンク位置
#BOOKSTORE_BK1_IMAGEURL = 'http://ippo.itbdns.com/image/cache/bk1/'
CACHE_DIRECTORY = '../log/bookcache/'#+'bk1/' #キャッシュ保存の基底位置
#CACHE_DIRECTORY = '../../bookcache/'
USER_LIB_DIRECTORY = '../user/lib/' #ライブラリ位置
#相対指定ならdiary(script/diary)位置からで指定

. ndiary.confの中身はこんな感じかな?
cache用のdirを切る必要もあるはずです。
各dir切るのは忘れずに、と。特にlog/bookcache/bk1とか。

. あとは、リストしたISBN列を用意しておいて、該当部分――ソースの一番下のあたり――を入れ替えてください。
テストを兼ねてそのへんごちゃごちゃしてますが、だいたい判りますよね?
(私はISBN列を3パターン用意しといて、乱数で入れ替えたりとかしてる→コメントアウトしてみた)

. もっぺんndiaryの頁あたりからbk1ranking.rb他よろしくです。

▽bk1書影

. こちらが話題にしていたので。
その後の報告。
bk1は書影に直リンクしないでくれ、使っていいけどブリーダ目的限定で、ダウンロードして、改変なしでやってくれ。
という事だったのだが、微妙に緩和しつつあるようです。微妙に。

. Movable Typeにおける書影利用プラグインがあり、これは書影直リンクだが正規に許可されてる模様。
まああくまで試験的なもので、なんだ直リンしていいの? というと「そこは察しろ」との事。

. という情報は某所から貰い、その情報公開していいですかという連絡に返信が来たのでここで公開する。

. で、ところで、これ、どういう風に情報抽出やってんだろう。XMLパーサとか言ってるから、HTMLでなくXMLを貰ってくる口がbk1にあるって事なのかな? その口は俺が使ってもいい? あるいはHTMLをXMLパーサを使って解釈してるって事か、とするとこれが「正規の」解釈なのか。

. ふむん。
http://cgi.bk1.jp/xml.cgi?bibid=02397443
へのアクセスでXMLデータが拾えるようだ。bibidは必須。
書評関係は不明・多分無いが、最低限の書誌情報、書影の大小2つの有無、配送時間と判るみたい。なにより肝心なのはやたら高速な点。(bk1はそこがネックだよな!)
高速って事は多分これhttp://bk1.jpで動いてるんだな。
えーと、これ、使っていいのか?
……また問い合わせてみるか。

. 閑話。
amazonもSOAPだかなんだかでXMLでのサービスがあるが、あれはnDiary界隈の誰かがテストして「うわ、使いもんにならん」と言われてやめた経緯があったように思うので放置。
閑話休題。

▽bk1オススメ

. cookieには依存してないとの事。じゃあなんでcookie消したら反応変わったんだろう。
ユーザ様毎にアクセス解析みたいな事してるとの事。そりゃログインした後はそうだろうが、ユーザ特定できない場合はどうしてるんだろう。

2004/1/20(Te)

19xx/01/20 北海道U市で生物災害(バイオハザード)、判明。 (『グランド・ゼロ』北野安騎夫 徳間書店)
▽bk1ranking

. 不具合あったらまた言って下さい。
作ってて言うのもなんですが、多分あります。不具合。ごめん。

▽SQL

. うわ、またどこからともなくプレッシャーが。もう。
いや、押してくれないと多分放置だからいいんですけどね。

. 今ちまちまやっててううんどうしようと思ってるのは、

. (1)
例えば、本の所持についてのtableで、
持ってたら1,持ってなかったら0orNULL
としてるんですが、これ、表示の時は「持・不」ぐらいに切り替えたいじゃないですか、と。

  • CASE文を利用する。
    「SELECT CASE value WHEN 1 THEN '持' WHEN 0 THEN '不' END FROM ...」
  • 別途表示変換tableを用意してそれをJOINする。
    「SELECT label_table.value .... LEFT JOIN label_table ON value = label_table.code」
    →その為にいちいちlabel_tableを用意? うーん
  • 変換してしまう。
    「UPDATE ...」で1→'持'
    →いやそれは。所持合計とかで計算する時とか。不具合があるだろう。多分。

. これぐらいしか手がないのかなあ。他にありそうなんだけど。replaceはちょっと非力っぽいので駄目だろうし。それともreplaceをうまく使うといけるのか?

. (2)
基本的なメソッドを1table用に作ってるので、複合tableを扱う時にそれを1table扱いにしたいと思った。

  • TEMP-tableを作る。
    「CREATE TEMP TABLE temp AS SELECT...」
    →負荷とか大丈夫なのか?
  • VIEWを使う。
    →MySQLには無いらしい。

. どうすりゃいいんだ。
あと、複合tableの各列名がどう決まるかもなんか微妙っぽいと思った。試さないと判らない。

▽書評リンク

. こっちにもプレッシャーが。押されまくり。
みすらぼさんちがHD大破から再起動の模様。
・自動収集
・現存データのコンバート
に見切りをつけて発車の模様。

. これ系で今ご本尊と言えばやはりishinao-blogmapか。
なんか読み難いんだけど。
・自動収集
・TrackBack(による手動登録)
・ランキング
と一通り機能が揃ってるものな。

. ええと?
前議論の時のキーは
・「勝手に育つ」(自動収集)でないと続かないだろう(あるいは1クリック手動登録)
・「プライマリキー(ISBN)」はどうすべきか?(ISBN無し本の扱い)
・「書誌情報」のフォーマットの充実・統合は?(DB用意とか振り仮名とか検索キーとか共有とか)
ぐらいだったのかな。これらに結論、ないし一応の結論ってあったっけ。

. 私のそれに対する答えは
・自動ですか。じゃ自鯖とプログラムが要るね
・とりあえずISBNでいいんじゃ? 無いのは放置
・書誌情報はなんぼでもあるので、世でもまれるうちに必須項目の洗い出しが出来るでしょう。放置
で、要するに放置しないのは自鯖ネタで、それについてなんとか用意しかけて、やっぱり放置してるという。

. そうだよな、思い出すに、何をするにも先立つものはフォーマット(仕様・データ構造)だ、という事で、そこで数案出たけど結局どれもなんとも言われず立ち消え、だったっけかな。
今ならTrackBackとかRDFとかこなれてきたから決定版フォーマットが出るのかな?

2004/1/21(We)

. 忙しい? 身動きがとれない。

. bk1のxml読み型のmoduleを作ってみたが……
いや、きちんと動作するよ?
ndiary.conf内で「BOOKSTORE_BK1_XML = true」で動くよ?

. でも、bibid直結ヒットなら高速なんだけど、
ISBN->bibidをするのは結局本家bk1でないとできないみたいなので、
そこでやたら時間がかかる。
結果、遅いし得られる情報量は少ないしで、なんだかあんまり。
キャッシュ鯖でやってるから、最近高速になれちゃっててねえ。bk1に一度いくのさえ遅くて遅くて。

▽Ruby

. Rubyで文字コードを自動判別する方法が欲しいなあ。
どうすればできるんだろう。

. いや、基本的に出来ないのは判るんだけど。
でもテキストエディタとかはそこそこの正答率で自動認識してる訳で、なにか手段はあるのでしょう。

. jis,sjis,euc,utf8→sjisと4パターンめくら打ちで試行して、一番サイズが小さかった(文字化けしてないと予想される)のを正解にする、とかじゃ駄目かな?(w
utf8は露骨にサイズが変わってそうなので、それでなんとかなりそうにも思う。

▽blogmap

. の熱が上がってきたのか? tDiaryが対応したなら上がりそうだ。
nDiaryもちはやさんが対応したし。
現在はリンクだけですか。
TrackBackって、titleとかurlとかの項目を持つPOSTをCGIに投げるだけ、なんですよね、だったらリンクついでにFORMボタンでtrackbackボタンも作れるのは作れると。多分。
→そうかあrlでやろうとしてたのと実装違いの同じ発想なのかと思ったり。いや、そもそも作ったときにtrackbackってこんなの? とかいいながらつけたような気もする。
あ、rl、こけてる。ええとreviewerの名前をCGI.escapeで囲まないと駄目なのかな。あれ? 前は囲んでなかったか? いつのまにエンバグしたんだ。
いや? escapeしてるみたいだけど? はてー。なんでだろう。いじってみよう。

.
いじった。
多分これで治ったのではないかと思う。
例えばこのへんで試してみて欲しい。
という訳でrl復活。復活というか停滞のままというか。
ついでにbmも足した。blogmapへのリンク。

▽blogmap.rb

. 既に反応は幾つかあるようだ。

. tDiary用blogmap.rb
nDiary用blogmap.rb
 で、うちのcache系(というかnDiaryのbookstore_xの)のblogmap→nDiaryの頁からcachebib_simple.rb内で定義、ndiary.conf内のBOOKSTORE_SHOP_LISTにblogmapを追加で。
 nDiary用blogmap.rbをこれから作る人

2004/1/22(Th)

. さ、寒い!
昨晩からだけど、水溜り凍ってます。
昼から吹雪。ちっさい粉雪系が「横に」降ってます。びゅんびゅん。

. 夜。ちらちらとパウダースノーが、横にびゅんびゅんの勢いで降ります。
木の側面だけ粉砂糖デコレート。
路面は薄く硬く積もり、すごくいい景色で、絶好のスケート日和。
車の走った後なんかこちんこちんですよ。

. ううん。継承classとmoduleの違い。
要するに部品を共有したいって時はmodule。だとすると各書店カスタムだからあんまり意味が無い。
もう一つはmethod.extendでプログラム内で装着できるのがmodule。これは利点だと思うが、個別にclassを宣言しといて適時使い分けでも同じ事ができない訳ではない。
moduleの方がすっきりするかなあと思ったんだが。

. ううん、美意識以外にmoduleの方がいい、という理由がみつからない。
修正しだすと結構大変だから、ここは暫く放置か。

. 実際、コーディングの作法としてはどうなんでしょうね。

▽Ruby/MySQLとMySQL/Ruby

. なんだ、freeが無いのは仕様じゃなくてバグだったのか。
自分でdefしてダミーでfreeって作って対処してたよ。

. nDiary Antennaですが、時々、「るびろぐ日記 notさん」と出るのが気になります。

2004/1/23(Fr)

▽bookstore_x

. blogmapがそうなら、とreviewlinkもcachebib_simpleの中に移す。
書店の名がソース内で連なるのがうざいのでevalで誤魔化す。
ごまかしが派生してcache_ippoの方にも追加。
このごまかし、問題ないなら他のcache系も全部置換しようか。
get_dataを二度すると二度目からデータが空になってた変な現象を修正。cache。
yahooの取扱不可の字を単に不可に。
相変わらずちまちま変えてるなあ。

. で、blogmap熱があがりだした今がDBとCGIの叩き時だろう、とは思うのだが、おもうにまかせて脳の容量と時間を避けない。とほほ。

. Stellaさんがping
毎度御利用有難う御座います。

. 1.
TrackBack pingって多分FORM(HTTP)で所定形式のデータを送ればいいんですよね?
だったらできそうにも思うのですが、理解がいまいち不安。
誰か丁寧に教えてくれ。実装できそうならする。
(bmじゃなくてrlの方は既にURLに混ぜてreviewer,urlを送付する構造になってる訳ですが、これをつまりGETじゃなくPOSTで送りつければいいだけ、という理解は間違い? 何か他にも応答が要る?)

. ところでping代行ってのがあるみたいですが?
これはそのぴんぴんとかってのと同列のもの?

  def blogmap_trackback ( isbn = nil) #-----blogmap-trackback-----
    return '' if isbn.nil?
    str =<<EOS
<form method="post" action="http://bm.ishinao.net/?q=#{isbn.delete('-')}" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="title" value="#{isbn.delete('-')}" />
<input type="hidden" name="url" value="#{@diary.date2monthlyfilelink(@diary.date, true)}#{anchor_link}" />
<input type="hidden" name="blog_name" value="#{@blog_name}" />
<input type="submit" value="bm-tkbk" />
</form>
EOS
#<input type="hidden" name="excerpt" value="excerpt255" />
    return str.gsub(/\n/, '')
  end

. 試作品がこれだけど、ほんとにこれでいいのか自信が無くて組み込みを見送り。
title, excerpt, blog_nameに何を入れれば? というのもある。

. 2.
Stellaさんちはそういえばと見てみたらbmはいいけどrlはこけてます。というのはurlのescapeができてなくてそれではいつのまにかScriptErrorだったらしいからなのです。
直すなら今nDiaryの頁に上げてる版は大丈夫なはずなので、そうだなあ、bookstore_xとcachebib_simpleぐらいを入れ替えてくれると直ると思います。
rlを入れてくれてありがとう。

. 3.
余談だけどパイポリーダちょっと面白いですよね。

. amazondvd.rbがtemplate構造採用?
……amrita? ……erb?

<!--Tag:bookstore_x:title:題:#{info['title']}-->

. とかするのかな? あればこれに沿って表示、無ければ行ごと抹消で。
同じ問題を抱えるので生暖かく見守りたい。儀礼的無関心?
ちなみに現状
bookstore_x→bookstore_x_stringに分けたから、判る人だけいじれー
bk1ranking→そのままのhtml(ちょっとamrita風)がソースにあるからいじれー
どっちもそこそこcssには気を使いつつなのでそっちでしてもいいかも。
ぐらいで。
template-fileが増える事については皆は抵抗が無いのだろうか。私は微妙にあるので、一体化方向が多いのだが。

. 「今月上旬発売予定」だったハヤカワ文庫FTが今日発売になったようですよ?
そんなもんですか。

□『塵クジラの海』

.

「塵クジラの海」読了。
 
す、すげえ! 全員狂ってる! ラリってる、ショートしてる脳の集合体だ!
私が分類するとこれはどうみてもドラッグ小説で。
どっちかというと(あまり読んでないが)フィリップ・K・ディックを思わせる。
ダメ人間集まれ、というか、こいつらマジで馬鹿ですネジ跳んでますというか。
それでありながら詩情もなかなか詰まってる。でもこれで詩情やられると真人間の立つ瀬が無いんですが。まあ真人間なんて捨て置くとして。
それでありながら根性も詰まってる。ええと、島本和彦系、あるいは山口貴由系というか。あの「超正常刺激」というか狂ってるのを通り越して一回転してるが故に通じる真面目というか。
読んで一冊分の価値は確かにあった、あったのだが、お薦めするかというと……
とにかくかなり特殊な分野ではあると思う。読んで何を