🇺🇸 This site is also available in English — View English page →
S
Sidekick Lab
by Ichiro Murata

開発日誌を公開したら、同じ直し忘れを4回繰り返した

この開発日誌そのものをSideKick Labサイトで公開できるようにした。日本語版・英語版とも公開できたが、その過程で同じ種類の反映漏れを4回繰り返した。静的サイトならではの落とし穴だった。

村田一朗|写真家・SideKick開発者

これまでこの開発日誌は、自分のPC上に記録するだけのものだった。今回、SideKick Labのサイト上で読めるようにした。日本語版と英語版、どちらも公開できたのだが、その道のりで同じ失敗を4回繰り返すことになった。

何が問題だったのか

SideKick Labのサイトは、ページごとに静的なHTMLファイルを持っている。共通のヘッダーやフッターは、いくつかのページ(打ち出の小槌など)ではテンプレートから自動生成しているが、それ以外の多くのページは、同じヘッダーのコードがページごとに個別に埋め込まれている。

開発日誌のナビゲーションリンクを追加したとき、私はテンプレート側だけを直せば済むと思っていた。実際には違った。

今回変えたこと

まず、開発日誌の記事を生成・公開する仕組み自体は問題なく動いた。ところが実際にサイトを見てもらうと、ナビにリンクが出ていないページがあった。

原因は二つあった。一つは、テンプレートを直しても、すでに生成済みの静的HTMLファイルには自動的には反映されないこと。もう一つは、ヘッダーのコードをページごとに個別に埋め込んでいるページが11個あり、そこにはテンプレートの変更がそもそも届かないことだった。

該当するページを再生成し、埋め込みページを一つずつ直した。ところが今度は英語版でも同じ問題が起きた。英語のページも同じ構造だったからだ。結局、日本語と英語で合わせて4回、同じ種類の直し忘れを見つけては直す、を繰り返した。

途中、記事データの読み込み処理にも小さな不具合があった。記事ファイルの区切り記号の書式がテンプレートと少し違っていたために、本文の先頭に余分な線が表示されてしまう問題だった。これも実際にデータを流してみて初めて気づいた。

なぜこの方法にしたのか

今回、ページ全体をテンプレート化して根本的に解決することもできたが、それはしなかった。対象となるページは21あり、中には作り込んだ販売ページも含まれている。今のタイミングで一気に手を入れるより、落ち着いて取り組める別の機会に回すことにした。

今回は、見つかった反映漏れをその都度直し、実際にブラウザで確認しながら進めるやり方を選んだ。地味だが、今のリスクとのバランスでは妥当だと考えている。

まだ残っていること

ヘッダー・フッターの全面的なテンプレート化は、今回は見送った。次に同じ種類の修正をするときに、また同じ見落としをしないよう、確認の手順を記録に残した。

英語版の翻訳は、AIに1回訳してもらい、私自身がGoogle翻訳などで読み返して明らかな誤りがないかを確認する、という軽い運用にしている。もっと厳密な仕組みも作れるが、日々更新するものにそこまでの手間をかけるのは現実的ではないと判断した。