データベースを使わないと決めたあと、次の問いは「見せ方」だった。記事を毎回その場で組み立てて返す作りにすると、閲覧のたびにサーバーが働く。安い器では、それが遅さや不安定につながりやすい。訪問の合間にスマホでコラムを開く人に、待たせたくはない。そこで選んだのが、書いた瞬間に、表示用のページをあらかじめ作り置きしておく方式だった。
書く場所と、見せる場所を分ける
仕組みは二つに分けた。書く場所と、見せる場所だ。管理する人は、専用の画面から記事を書き、写真を添え、公開する。その操作をした瞬間に、裏側で表示用の静的なページが新しく作り直される。訪問者が見るのは、その作り置きされたページだけ。見る側では、もう何も組み立てない。だから速いし、めったに壊れない。書く側にだけ多少の仕組みを持たせ、見る側は徹底して身軽にする。この非対称が、安い器で速さを出すための肝だった。
一覧も記事も、公開のたびに作り直す
記事を一本公開すると、その記事のページが生成されるだけでなく、記事の一覧ページも作り直される。下書きに戻せば、一覧からも記事ページからも自然に消える。公開と下書きの切り替え、削除。そのどれもが、関係するページの作り直しを引き金にする。つまり、管理する人は「公開」や「下書き」を押しているだけなのに、表に出るページは常に最新の状態に保たれる。作り直しを操作に結びつけておけば、手で同期を取る作業はどこにも要らない。
本文は、書きやすい約束事で
書く人は普通の管理栄養士で、記号だらけの書き方を覚える人ではない。だから本文の書き方は、できるだけ素朴にした。空の行で区切れば段落になり、行の頭に決まった印を置けば小見出しになる。文章を書く感覚のまま打てば、それらしく整う。凝った書式は削り、日々の更新で本当に使うものだけを残した。書く敷居を下げることは、更新が続くかどうかを左右する。立派な編集機能より、続けやすさを取った。
壊さない書き込みを、土台に
この方式の土台は、前回書いた「壊れない書き込み」だ。公開のたびにデータファイルとページ群を書き換えるのだから、その一回一回が安全でなければ、更新のたびに事故の目が増える。だからこそ、書き込みは常に、いったん全部書いてから丸ごと置き換える。途中で失敗しても元は無事。地味だが、この土台があるから、公開ボタンを気軽に押せる。速さと安定は、派手な工夫ではなく、こういう堅実さの上に乗っている。
次の回は、この器のもう一つの狙いだった身軽さ、どのサーバーへでも引っ越せる作りと、自前で用意した入り口の話を書く。