この時、初めて作家というのが1つのタイプの作品だけを作るのでは無いと心底了解したのだった。にぎやかな未来と幻想の未来、名前は似ているがまったく異なる作品だったからだ。最初はにぎやかな未来のようなものを期待していて死ぬほどがっかりしたのだが(っていうか小遣いは幾らだったんだろう?)、その後には幻想の未来を何度も読み返したはずだからだ。認識してるってのは、動くな死ね甦れを見ていて急に思い出したのだから間違いなさそうだ)。あとホープの銀紙を丸める趣味の人間が虫に襲われる話とか。小市民とのはじめての邂逅だ。あと2人のうち1人はパチンコだが、もう1人はどんなんだっけな。(追記:ここでも1人の作家が全く異なる作品を作り出すということを叩き込まれているな)と記憶をたどると、中学の時読んだものは相当きちんと筋とかも追えるが、小学生のころ読んだものでそれっきりのはほとんど細部を覚えているというのがせきのやまのようだ。思ったが水滸伝とかは相当覚えているなぁ。108人全員は言えないが金毛犬の段景ジュウが108人目で1人目が宋江とか(追記:108人目は犬じゃなくてノミだったような気がしてきた。すると犬は107人目かな)。言えば、最初に見た怪獣映画っておそらくガッパだと思うが会議が多くて退屈だったような記憶がある(というか何も覚えていない)。あれは大人用だったのかな(しかも松竹だったと思うし)。そこでガメラが出てくるんだろうか(こっちは大映だ)。ガメラ対ギロンは割と良く覚えている。三角形のモジュールを逆に嵌めて連絡通路の制御を逆転させるとか。マドレーヌみたいな高級なものから流れが生まれたんじゃなくてゴジラトランプだからこんなもんだな。それにつけても馬の首風雲録って掘り出して来るまではきれいさっぱり忘れていたが、すごく影響を受けたはずだ(感動したのは覚えているからだが)。ちなみに280円、11歳だ。[筒井康隆編「SF教室」(ポプラ社刊)は,私も11歳の頃に読んで,筒井康隆の熱いSF論にヤラレました。[確かに、ヤラレたかも。今日のバグGUIDの表記方法は、{AABBCCDD-EEFF...}だが、実際のバイト配列としてはDDCCBBAA...というようにリトルエンディアンが使われる。可読表現)としては、{AABBCCDD...}のほうを利用しているとき、都合3つの処理を経由してから読み取りが行われるアプリケーションを構成した。パラメータにGUIDを付加したURLを生成し、該当URLへのアンカータグを乗せたHTMLを返送する(ここでは読み込み対象には特別なセキュリティ的な考慮は不要で、人間がGUIDを入れるのは大変だからLINKを生成しているので、GETのクェリーストリングとしてURLに組み込むことに問題は無い。モデルは与えられたGUIDをキーとして読み込む。3でどうやっても読み取りエラー(というかSELECTの結果が0件)となる。ユニットテストではうまく行くのにエラーになる。ここで、サクッと1と2の過程を疑えば良いのにそうしなかったのは、なぜなのかなぁ。アンカータグのテキストとしては可視表現、しかしクェリーパラメータとしては後の加工の楽さを考えてニブルを文字列化したもので表現していた。2.の作成時点では、アンカータグのテキストに引きずられて可視表現化されたGUIDからバイト列化する変換をかけてた。そのため、本来のGUIDとは異なる値が渡っていたのだった。教訓1:GUIDからバイト列への変換関数がまずい。フォーマットが異なる文字列を与えられたら例外を通知すべきだ。(与えられた文字列から単純に{}-を捨てて結果の32文字のニブル表現からエンディアンを考慮してバイト配列に直すように実装していたため、最初からニブル表現でもそのまま処理が通り、単純にエンディアンの交換処理が実行されてしまっていた。文字数や{}の有無でよいから最初にチェックすべきだろう。教訓2:見た目と異なるデータというのは必ずしも良くない。見た目が可視化表現のため、2.のステップで特に意識せずに変換関数を呼び出している。教訓3:思いつきで作っていく場合には、入出力くらいメモしておいたほうが良い。1を作った時点では、クェリーパラメータの流れはコンピュータ処理なんだから最初からニブルにしておけば効率的だと考えたのであった。2を作る時点でコロリと忘れている。教訓4:簡単過ぎるプログラムは問題かも。2のActionは実質8行くらいのコードしか持たないのでここに問題があるなんて全然考えつかなかったのは良くない。これが40行くらいあれば、テストプログラムを作ってただろうな、とか早めに見直したかも。教訓5:テストを信用する。モデルはテストを通ってるんだから、ここに問題が無いのはわかっているのに、(テーブルの扱いにちょっと特殊なことをしているため)ここを疑って無駄な時間を使ってしまった。