<開発編>
- 掲示板掲載記事のうち、各ユーザーが配信希望したカテゴリを抽出してメールで配信する処理が、やっと、基本的に完成した。
- 配信する記事の抽出処理に、かなり時間がかかってしまった。
- 記事配信を一切希望していないユーザーを処理対象から除く必要があるけれど、MySQLは、exisitsをサポートしていないので、カテゴリー別配信登録がNばかりのユーザーを、抽出から簡単に除外できない。
- 結局、配信登録テーブルとユーザー登録テーブルを結合した上で、登録がYになっている行に絞り、さらに、distinctを使って、各ユーザーの中での重複行を除外して、配信処理に使える抽出結果を得た。
- この処理がパフォーマンス上のネックにならなければいいが。
- 1日に1〜2回しか起動させない処理だから、大きな問題にはならないと思うけれど、場合によっては、PostgreSQLへの移行を早めに考えた方が良いかもしれない。
- 配信する記事の抽出処理に、かなり時間がかかってしまった。
- 開発しているWindowsホストからのメール配信テストは、意外なほど簡単に成功した。
- 宛先は、現在のテストでは自分のアドレスのみとしているが、配信するユーザーのアドレスは上記の抽出で取ってきてあるので、アドレスの切り替えは困難ではないはず。
- このアプリを設置するサーバでのメール発信環境をチェックした上で、本番環境でのテストをすぐに始めたい。
- 懸念となっていた、ユーザー登録時の配信登録へのエントリー入力も、何とか実装できたが、この辺りの処理はカテゴリが増えてくる前にさらに洗練させておきたい。
- 後は、8月半ばに作成したレイアウトに、各画面をはめこんでいく作業、「リセット」や「戻る」といったリンクの抜けがないかの確認をした上で、とりあえず公開してしまう。
<開発編>
- 昨夜、家族旅行+実家滞在から帰還。
- 旅行中に、「ジャンル/地域別表示」の実装は完了できた。
- 「ページング処理」(「前の○件」「次の○件」を表示する処理)も、ようやく、今、実装が完了した。
- 旅行中にあれこれ考えて絞り込んだ実装項目は、今日確かめたところ、立岡本のそれと同じだったので、安心した。
- この本のコードは大抵、実用的な意味で洗練されているので、こうした複雑な処理を組んでいく時、本当にありがたい。
- ただ、当方の実装では、表示部分にSmartyテンプレートを使っている(立岡本はHTML埋め込み)ので、リンク内の{ページ番号}に1を加減する処理に手間取ってしまった。とりあえず、{math}関数を使ったが、たぶん、もっと洗練された処理があるだろう。
- また、テンプレート上での条件分岐(if,else)でも手間取ったが、マニュアルをよく見たら、Smartyの関数で処理できることが分かって解決した。つくづくSmartyの解説書かリファレンス本が欲しいところだ。何ができて何が出来ないかの見極めが付けづらい。
- 旅行中にあれこれ考えて絞り込んだ実装項目は、今日確かめたところ、立岡本のそれと同じだったので、安心した。
- これで、リリースまでに残っているのは、1)メール配信処理と、2)画像添付・サムネール表示処理、の2つだ。