暇さえあれば考える。

働きたくないので、仕様を考え続ける。

まず、コンセプトの一つに、編集時は苛つくほど処理が重くても良いから、閲覧時はキャッシュを多用してとにかく軽くする。すなわち、見る段階では構文解析とか不要で既にhtmlが完成されていて、それを表示するだけという。

だけど全ての表示系がそれで済むはずはない。例えば、ランキングとか、アクセスカウンタとか。そういうのは見るたびに表示が変わる。だけど、これは構文解析を行わなければ良いだけの話。つまり、構文解析の必要なものは、完全にキャッシュを生成しておいて、ランキングみたいなものはキャッシュを作成しない方針とか。

でも、必ず変わるものは考えれば、アクセス毎に変わるもののみ。挙げてみよう。

  • アクセスカウンタ
  • あなたが最近読んだ記事
  • 内部メイル機構
  • 読んでいない記事

くらいしか思いつかないよほんと。で、今回かならず搭載する必要があるのが、アクセスカウンタ。

思いつきで、表示されるモジュールは二つに分けれるのではないかと思う。つまり、

  • カテゴリ分類可能系、コンテンツ系、静的系
  • カテゴリ利用系、非コンテンツ系、動的系

つまり、一つ一つのコンテンツを吐きだし、カテゴライズされてしまうものを吐き出す、つまり、wikiとかblogとかそう言う扱い。というやつら。掲示板も実はその中に入れても良いかもしれない。こういう、カテゴリ機能を利用するモジュールは分けてしまおう。

思いつく限り、各モジュールの設定項目。

  • キャッシュ
    • 編集時にキャッシュする
    • キャッシュしない
    • 読み込まれるたびに更新確認して、更新されていればキャッシュ更新
  • カテゴリ
    • カテゴライズ可能
    • カテゴリ利用しない

よって、カテゴリを利用する際には、こんなデータベースが要る。

  • カテゴリ依存関係一覧
  • カテゴリから抽出したカテゴリキャッシュ
  • どのカテゴリを更新した時にどの情報を更新すべきかのリスト。

というか、モジュール化ってどうやるんだろう……(切実)。