投稿

ラベル(最小包含球)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバは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の反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

アルゴリズムって難しい

最小包含球に関して 教えている専門学校生は、ゲーム制作を主として勉強しているのだけれども、前回講義が終わってから質問があった。当たり判定を行う上で、キャラクターのポリゴンを包むエリアを球で表したいけれども、その最小の球の中心と半径を求めたいとな…。 ふむふむ、当然、そういうケースも起こりうるわなぁと。 「で、今はどんな方法を?」 「とりあえず、頂点の平均値から中心を求めているが、当然最小ではなくて、他の方法を探しています」 「平面であれば外接円を求めることになるよね?」 「それは分かりますが、空間で行う場合のアルゴリズムが分からないので…」 調べましたがな… 即答するのには、こちらも手持ちのネタがない。 「1週間待ってくれ。ヒントぐらいはあげられる筈だから…」(本当か?)と思いつつ、調査することに。 いろいろな方法が有るんだけれども、ゲームということは実行時間が短く、メモリをあまり食わない方法が最適。この条件で良さそうなものを探すことに。見つけたのが、 「 点の集合を包含する球 」という文献。 ここにも、様々な方法が紹介されているものの、最後のものが良さそう。 ということで、実際にコーディングして確かめることに。 条件は変なデータはないという前提でエラーチェックも最低限にして…。 #include <math.h> #include <stdio.h> #define INPUT_FILE "stars-s.txt" #define DATANUM 30 typedef struct { double x, y, z; /* coordinates */ } pos; int n=DATANUM; pos point[DATANUM]; pos center; double distance(pos p,pos pp) {     double rr;     return((pp.x-p.x)*(pp.x-p.x)+(pp.y-p.y)*(pp.y-p.y)+(pp.z-p.z)*(pp.z-p.z)); } double solve_by_movement(void) {     int k,i,t;     pos p;     d