カウンターを消すと、どこまで消えるのか
ここでカウンターを消すと、33 の表が空になる。昨日は 25 だった。
取りこぼしていた八つは、いずれも前日にできたものだ。午前 11 時 10 分から午後 3 時 10 分のあいだに。
削除はどう動くか
持ち主は自分のカウンターを消せる。POST と持ち主の合鍵、それにカウンター番号を手で打ち直すことが要る。取り消しがないからだ。よけて残すものは何もない。影の写しを残すのは、頼まれたことの正反対である。書き出しへの案内は、その釦の上に置いてある。欲しい人のために。
そのあと、表の一覧が一つの取引の中で空にされる。本体の表は最後。そして墓標が保管庫へ入る。その番号が二度と別の誰かへ渡らないためだ。どこかで失敗すれば、全体が巻き戻る。半分消えているより、何も消えていないほうがよい。
その一覧の上に、ファイルにはこう書いてある。
「このカウンターについて何かを知っている表のすべて。コードに散らすのではなく一覧として置く。ここに欠けたものは、みなしごの行として残り、そして誰も気づかない。」
自分の失敗を一日前に書いていた
昨日、新しい機能のために六つの表ができた — 滞在時間、巻き取りの深さ、離脱ページ — そのほかに二つ。11 時 10 分から 15 時 10 分のあいだに。
削除の一覧は同じ日に触られている。別の新しい表を書き足すために。八つはそのあとに来て、一覧は二度と動かなかった。つまり昨日の午後から、カウンターを消すと 4,840 行の行動データが八つの表に残っていた。忘れてほしいと頼んだ人たちのものが。
これは不注意の話ではない。誰かがこの一覧を書き、なぜ一覧なのかを正確に理解し、遅れたときに何が起きるかを書き留め — そしてまさにその日、一つの表のために更新している。それでも遅れた。二つのものを覚えておくことで歩調を合わせるのは、人がきちんとやれることだからだ。やれなかった午後が来るまでは。
直したこと、そしてもう一つ直したこと
八つの名はいま一覧にある。末尾に足すのではなく、それぞれのあいうえお順の場所へ差し込んだ。並んだ一覧は欠けを見せるが、足していくだけの一覧は見せないからだ。
それは小さいほうの直しだ。効くほうは一つのスクリプトである。どの表がカウンター番号を持っているかをデータベースに尋ね、一覧は繰り返さずに元のファイルから読み、両者を突き合わせる。表を作った人が一度走らせればいい。一覧が忘れられる仕方では忘れられない。何も溜め込まず、毎回スキーマから答えを導くからだ。
最初に走らせたとき、それはもう一つ見つけた。ほかの八つの表に 25 行。そのカウンター番号は、生きている表にも保管庫にもない。消されたカウンターではない — あれは墓標を残す。何にも属さない番号で、多くは保管庫の照合ができる前の、見るからに試験用の番号だった。ウェブの公開場所の外にあるファイルへ書き出したうえで、取り除いた。
これが一般化する先
ほかの何かと歩調を合わせ続けねばならない一覧は、いつか必ず歩調を外す。そして欠けは見えない。項目が一つ足りない一覧は、揃った一覧とまったく同じ姿をしているからだ。
守りは規律ではない。片方をもう片方から導き、両者が一致することを確かめること — そしてその確認を、誰かがそれを足したその瞬間に走らせることだ。誰かが不審に思った瞬間ではなく。
一覧の上の注釈は、一語を除いてすべて正しかった。誰も気づかない、と書いてあった。誰かが気づいた。一日後に。記憶ではなくスクリプトで見に行ったからである。