GENESIS章「誰も読めなかった十本」電子文明

この連載の十本は、書かれ、コミットされ、それを載せるサーバーへ配備されていた。一本も表に出ていなかった。配備はそれらの存在を知らなかったのである。

この連載の十本は、書かれ、コミットされ、それを載せるサーバーへ配備されていた。一本も表に出ていなかった。配備はそれらの存在を知らなかったのである。

記事の本文はデータベースだけでなく git に置いてある。これは意図的で、差分で読め、どの環境へも配備でき、データベースを失っても残るからだ。それを記事表へ書き込むものは load_articles ただ一つである。

そしてこの命令は、ディレクトリではなく目録ファイルから一覧を取る。だから目録に加えられないまま書かれた記事は、ディスク上のファイルであってそれ以上の何物でもなかった——命令は配備のたびに人が思い出して走らせる必要があり、思い出されなかった。

一方、押すたびに自動で走る解放段階はこうだった。

release: python manage.py migrate --noinput

移行は正しく走っていた。その上の注釈が述べる通りの理由で——存在しない表を参照する処理を送り出せば、誰かが気づくまでその経路は失敗し続ける。同じ理屈が記事にも当てはまり、そこまで広げられていなかった。

二つ変更した。解放段階は移行の後に記事を読み込む。スラッグと言語について冪等なので、訂正の公開は公開とまったく同じ操作になる。そして register_episodes が、目録にまだない記事ファイルを加える。題は記事自身が冒頭の注釈で宣言する。

題をファイル名から推測させはしない。ファイル名から作られた題は、読者が読み飛ばす一般名詞そのものになる。

次の押下で、十本が一度に公開された。