2017年8月22日の日記

<2017/08/23 2017/08/21>

アンパンマンDBとアンパネイター

内部動作を中心に、もっと具体的に言うと、表示モード関連でいろいろ手を加えました。

まず、表向きには一つしか選択肢がなく実質無意味だった「表示モード」オプションの非表示化。
本来はPCモードと携帯モードを切り替えるつもりで作ったオプションだったのですが、テンプレートを別々に作るのが大変すぎたのと、ワンソースで両対応できたので、切り替える意味がなくなりました。
では他に何の意味があったのかというと、隠しオプションで、JSON形式やXML形式に切り替えることができるようになっていたのでした。
隠しオプション用に存在している以上、オプション自体を廃止することはできませんが、ユーザーが使う意味はないので、非表示化したのです。

2つ目が、表示モード切替オプションの指定方法の追加。
実は、表示モードの隠しオプションは、URLに指定することで有効化可能でした。
それが、若干回りくどい書き方だったので、拡張子と同じ形式で指定できるようにしました。
リクエストの処理の段階で昔の方式に書き換えることで実装しているので、昔の方式もまだ有効です。

3つ目が、アンパネイターのAPIのURL変更。
上記の表示モード切替オプションを最も積極的に使っているのがアンパネイターで、データをJSON形式で要求するリクエストを送っていたのでした。
これが、若干回りくどかったので、わかりやすい形にしたというわけです。

4つ目が、表示モードに応じて適切なContent-Typeを送信するようにしたこと。
元々の目的が表示の切り替えだったので、全部text/htmlで送信しちゃってたんですね。
でも、JSONやXMLはtext/htmlじゃないわけです。
JSONはJSONの、XMLはXMLのContent-Typeを送信するようにしました。

表示モードと関わらない部分では、検索キャッシュ機構の無効化。
今の仕組みじゃやっぱりキャッシュヒット率悪すぎなので、当面は使わないことにしました。
あと、キャッシュを使うかどうかの判定部分にバグがあったので、今となっては無意味ですが、直しておきました。

<2017/08/23 2017/08/21>