カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

はてなブログの開設リンクの不具合の裏側について考えみた

主に、開発者視点 で見た、

についての話です。

今回の不具合は何故起きたのか (推測)

ま、僕は はてな中の人ではない ので、この辺り推測でしかない んですが、 今回の不具合原因は、恐らく、

テンプレート条件分岐をミス った

という辺りだと思います。

それでさらに憶測を重ねると、はてなブログのテンプレートエンジンは、今のはてなブログの HTML 出力を見る限り、

  • HTML を生で書けるタイプのテンプレートエンジン

を使っていると思われるのですが、この手の 生で HTML を書けるテンプレートエンジン 、 よほど慎重に全体設計を行っても、 条件分岐が増えれば増えるほどカオスになり 、 かつ 条件分岐の辺りでミスったりする事が必然的に多くなりがち になります。

そして、この手のミスを自動的に検出しようと思うと、HTML 構造のテストを書くしかないんですが、 HTML 構造のテストって割と手間がかかるし、また、この手の条件分岐の絡む HTML 構造のテストって、

想定される組合せの全通りをすべてピックアップした上でテストを書く

という非常につらみの有る、かつ完璧に行うのは結構難しい作業を行なわなければならないので、 まあ、その辺りで 組み合わせ爆発したテストケースの漏れ が有ったのが、今回コトが起きた原因だと思います。

どうすれば今回の件を防げたのか

これはもう テストを書く か、 複雑になりがちなHTML を生で書けるテンプレートエンジンを使うのを止める ぐらいしかないんですが、 前者も後者も、一朝一夕で作業を完了出来る様な話ではないし、また、テンレプート周りが複雑になるのって、ある程度歴史のある Web サービスでは仕方の無い事なので、

不具合を見つけ次第にすぐ直す

するのが、現実的な手段じゃないかなぁ、と僕は思います。

とは言え、中長期的には、テンプレート周りに手を入れる、というのも必要になるんじゃないか、 とも僕は思いますが、これはまあビジネスとして採算を取れるかも含めての判断になると思うんで、 その辺りはコストとメリットのバランスを取った上での判断じゃないですかねぇ。

以上

まあ、ミスの程度としては、

テンプレートの条件分岐をミスった

ぐらいの事なんで、まあ有り勝ちなミスではあるし、また、

お前、何をどうしてたらそんな事になったんだ……

と毎回思う、

脆弱性の秘孔を付かれてクレカ番号とか流出した

という類いの問題 ではない ので、まぁ、 そんなに目くじら立てるほどではないかなぁ 、と思います。

それと、はてなに限らず ですが、Web サービスとかスマートフォンでのアプリとかサービスとか、 そういう類いのモノを使っている時に、

この会社は信用できねぇー!!ッ

と感じたのであれば、 とっととデータを手元に引っ込ぬいて退会する のが だと思うし、 また、そういう信用出来ないアプリとかサービスとかに情報を預けておく のは、 個人的にはリスクが高い行動 だと思うので、 ま、そう言ったケースでは、

真面目に使うのを止めたが方が良いんじゃない?

と僕は思います。はい。