文字っぽいの。

文字を書いています。写真も混ざります。

フルスクラッチと技術的負債

photo by Bairdzpics

 研究室HPのフルスクラッチをしている。今年の5月から始めたタスクで、かれこれ4ヶ月地道に頑張っている。最近、後輩に手伝ってもらえるようになって開発スピードが目に見えて上がり、もうすぐリリースできそうな感じでめでたい。やっぱ、誰かとやると楽しい。

 今までのHPは、URLが http://www.example.com/top.html となる古き良きHTML1.0時代の産物で、すべての情報がHTMLファイルにベタ書きされている。テンプレートエンジンなどという豪華なものは無いので、全ページに表示されるヘッダ画像やフッタのコピーライト表示は、全ページにベタ書きされていて、「ちょっとヘッダ画像ださいから消すか。」とか「コピーライトの年数変えるか。」と思った場合は、全てのHTMLを確認して、丁寧に変更していく必要がある。CSSは継ぎ足された秘伝のタレ(腐敗)になっているし、HTMLはタグの綴じ忘れやインデントがおかしい場所がそこら中にある。    もちろんバージョン管理もされていないので、WWW用のサーバにSSHで接続して、そのままいじってなおす。失敗したら必死で元に戻さないと行けない上に、そこら中に"backup"という文字列が入ったファイルが散らばっている。手元で変更を確認するには、丁寧にダウンロードしてあげて環境構築をしないといけない。よって、大体は本番環境をそのままいじって、確認するという趣があるステップを踏むことになる。さらに、WWW用サーバはこの前までEUC-JPなのにHTMLファイルはShift-JISという状況だったので、SSH接続するのにも一工夫必要で地獄だった。

 研究室HPでは、発表した論文の情報を更新する場面が多々ある。上記のような状況なので、誰かが対外発表をしたらSSH接続をしてEmacsなりVimを起動して、HTMLを丁寧に書き変える。論文情報は適切かつ統一されたフォーマットで記述する必要があるが、これは人間の温もりが感じられる丁寧な手動整形で成し遂げられている。登録された年代によってフォーマットにばらつきもある。

 教育機関独特の、異常に小さく表示される集合写真は毎回ftpでアップロードする必要があるし、所属学生の名簿も年に1回丁寧にSSH接続してHTMLを直す。こんなことを続けているもんだから、そこここにタグの閉じ忘れや、異常なインデントが混ざり、異常な世界観を醸し出している。

 そんなこんなでフルスクラッチしている。いままでHTML+Apacheで動作していたものを、Railsで置き換えている。論文情報はDBに入れるようにしたので、フォーマットはテンプレートに流し込めば勝手に整形される。時たま書き換えが必要な在籍学生の情報は、すべてYAMLファイルにして、そこから読み込む。Gitでバージョン管理もできるし、生CSSが消えてLESSを使えるようになった。

 なるべく引き継ぎやすく、運用しやすい構成にした。今はまだ僕がいるので、運用もできるし拡張も容易だ。問題は修了後である。Railsがいつまでも繁栄してるとは思えないし、管理できる知識を持った人が誰もいなくなる可能性もある。どちらかと言うと後者が心配である。「gitってなんですか?」みたいな人しか配属されなかったら、もはやどうしようもない。こうなってくると、今までどおり丁寧にHTMLを書き直し、黙々とタグを打ち込んで追加していく方が運用はしやすいと言える。よく書き換わる場所(論文と在籍学生の情報)は簡単に書き換える事ができるようになってとても良いが、その他の部分はスケールしにくくなり技術的負債となるのでは無いだろうか。

 優秀な後輩が配属されて、杞憂に終わることを祈る。