2005年5月31日火曜日

システム哲学

哲学なんて書くとちょっとおおげさですが、これまでの実務経験で培った自分のシステムに関する考えをメモしてみます。自分に対する戒めでもあります。

1.目的を明確にし、見失わない
システムの構築や導入は本来ビジネスや業務を加速させるものですが、時間が経つにつれていつのまにか「システムを構築・導入すること」が目的になってしまうことが非常に多い。コンピューターシステムはあくまでも"手段"なので、本来の目的を見失わないよう常に心がける。
ちなみに、システムインテグレーターなど、システムを作ることが目的の場合はこれはあてはまらないと思います。

2.なるべく既製品(パッケージ)や枯れた技術を使う
安定稼動が保証されている既製品を、フルに活用するのがベスト。
既製品をそのまま使う > 既製品をカスタマイズ > スクラッチで作る
の順番で、どんどん構築、導入、運用におけるコストがかさんでしまうから(金銭コストだけでなく人的コスト、時間的コストも含む)。スクラッチで作るのは楽しいが、ただの自慰行為になるケースが非常に多いので、誘惑に負けないよう頑張る。
また本質に影響を及ぼさないのであれば、システムにあわせてビジネスや業務を多少変えてもいいと思う。(判断が難しいが)
そして、行き詰ったらとにかく知恵を絞る。必死で考えればたいていの場合活路は開ける。
それから「枯れた」=「広く普及している&ドキュメントが多い」を意味します。例えばApacheとかPerlとかPHPとか。最新技術はよほどシステムに自信がある人、会社以外は使わないほうが良い。下手に手を出すと火傷してしまうので。

3.シンプルにする
理想に燃えてすんごいシステムを作ってはみたが、結局仕様変更やら業務内容変更、担当者の退職などにより、どうにもコントロールできない、フランケンシュタインのようなシステムを作ってしまうことがよくあります。
なので、最初のうちは汎用性や利便性はあまり考えず、目的を達成することのみに的を絞ってシンプルなシステムを作るのがベスト。「リレーションは一個まで」とか「半年間は小手先の対応でうまくやりくりする」など、ある程度決め事を作っておくといいと思う。

2005年5月17日火曜日

process_tags導入

エントリー内でamazonウェブサービスを使うプラグイン、process_tagsを導入しました。
プラグインの導入自体は先人たちのサイトを見てあっさり終わりました。
http://yangyang.ddo.jp/~yggdrasill/arc/2004/0808040152.html
http://606.ciao.jp/blog/archives/000033.php
http://gunpla.info/archives/200402/amazonplugin.php
ただ、エントリ投稿画面でprocess_tagの塊をワンクリックで挿入するボタンだけがうまく作れませんでした。先人たちのサイトによると「378行目の後ろにこのタグを。。。」などと書いてあるのですが、自分のMTではその付近にタグを入れてもとんちんかんな場所にボタンが出てきてしまいます。
MTのバージョンが違うのだろう、と考え、潔くあきらめて自分で作ってみることにしました。そしたらあっさり成功。やってみるもんです。ちなみに自分のMTのバージョンはVersion 3.151-jaです。
1./mt/tmpl/cms/edit_entry.plの冒頭のJavaScript定義部分に下記を追加

function insertAmazon (e)
{
if (!canFormat) return;
var str = getSelection(e);
if (!str) return;
setSelection(e, '<MTAws dev_token="1P7TAFJJMQB6JN178KR2" associate_id="myhp-22" search="AsinSearch" query="' + str + '"><a href="<$MTAwsurl$>" target="_blank"><img src="<$MTAwsImageUrlMedium$>" align="left" hspace="10" border="0"><$MTAwsProductName$></a> <br /><$MTAwsAuthors$> <br /><$MTAwsManufacturer$> <br /><$MTAwsListPrice$> <br clear="all" /></MTAws>');
return false;
}

2.同じく/mt/tmpl/cms/edit_entry.plの200行目付近、「write('<a title="<MT_TRANS phrase="***">
」というのが並んでいるところのおしりに下記を追加

write('<a title="amazon" href="#" onclick="return insertAmazon(document.entry_form.text)">amazon</a>');

/mt/mt.jsに入っているfunction formatStrを拝借し、そのまま使いました。

2005年5月16日月曜日

WN-AG/Cのファームウェアアップデート

自宅で使っているIO-DATAのイーサネットコンバーターのファームウェアをアップデート。
これは無線LANをイーサネットに変換する機器で、主にPS2とかHDDレコーダーなどLANポートはネットワーク対応家電を無線化などをしたい場合に使います。他社の同様の製品はポートが1個しかないのに対し、この製品はポートが3個ついているというスグレモノです。kawama.jpのサーバーもこの機器を経由してインターネットに繋がっています。
最近接続が落ちてしまうことが何度かあったので困っていたのですが、IO-DATAのサイトに行ってみたら最新のファームウェアがリリースされており、
・無線接続が切れた後、特定の環境のにおいて自動再接続ができない場合がある問題を修正しました。
という説明もあったので即ファームウェアアップデートしました。今後はこうした症状も改善されると思います。

2005年5月8日日曜日

phpMyAdmin

MovableTypeでMySQLを使っているので、DB管理用にphpMyAdminをインストールしてみました。
「すっごい便利」という噂を以前から聞いていたのですが、実際使ってみて噂が本当だったことを実感。DB管理はもちろん、php+MySQLのアプリケーション開発の支援機能なども充実していており、それらがすべてGUIで使えるのは本当に便利です。オープンソースの力を改めて思い知りました。
phpMyAdmin