投稿

ラベル(jQuery)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

DataTablesが動かない理由

イメージ
結構面倒な処理 PHPでデータをDBから取得、表示する。この時ページネーションを行うのは、定番だけど…。 よく出てくる割には、案外面倒な処理。 Bootstrapだと、表示用のCSSは用意されているけれど、ロジックは無い。 フレームワークだと、ライブラリで持っていることもあるけれど、サクッと動く感じではない。 で、 DataTables を利用するという流れになるわけなんだけど…。 jQueryのプラグインで、tableタグをtheadとtbodyに分けて記述し、プラグインを呼び出すだけで、最低限の表の処理(ソートや絞り込み)を行ってくれる。 まあ、数百行程度なら、充分な速度で動いてくれる。 フレームワークで利用してみる 次のプロジェクトのために、色々とテストを行っている。 今回のDataTablesも、事前のテストの一環。 さて、フレームワークを使って、DBからデータを吸い出し、同様にDataTablesを利用するようにcodeを書きなおしてみる。 ところが、表示してみても、何も反応してくれない。(全く動作していない感じ) 項目表示の部分に△▽が表示されるはずなんだけど、これが出てこない。 もちろん、検索窓も、表示件数の処理も…。 なぜだ〜。 ということで、基本に立ち返りサンプルコードでテスト。 うむ、問題なく動作している。 と、ここまで作業して気づいたことがある。 テーブルを出力するページは、ひな形classを作っておいて、コンストラクタでオブジェクト生成している。ページごとに異なる部分だけ、オーバーライドするようにしているのだけれど… DBからデータを引っ張ってきて表示する時に、1列余分に追加して表示していた。 (表示・編集・削除のアイコンを付加していた) この時、最上部の項目を出力していなかった。<th></th>が1つ不足している状態。 図のように「編集」という文字を出力するように付加してみたところ、DataTablesがちゃんと動作してくれた。 当たり前といえば…当たり前。 データをソートさせる列の列名が存在していないので、エラーを起こしているのだった。 う〜む、こんなところで躓くとは、疲れてい