2008年8月29日金曜日

prototype.js each を抜けたい

Ajax を楽に実装したくて prototype.js に手を出した。
目的は達成したが、目的以外がめんどくさい−というか危険なことに。
特に配列(new Array とか [] とか)に独自の機能を持たせているので

for (a in arrayObj)
{
 ...
}

とかやってたとこが、軒並み全滅の憂き目にあっている。
それで、上記形式箇所を

arrayObj.each(
 function()
 {
  ...
 }
);

てな感じに書き直している。
それはいいのだが、ループを抜ける際に
「break」を使っていたところがエラーになってしまった。
ループじゃないから駄目ということらしい。
で、どうするのかっつったら
「throw $break」
これで解決した。

と言っても現状、throw の意味もわからなければ
$記号の意味もわからないので、わかったら書いとこう…。

あ、あととりあえず該当箇所の全書き換えは辛いので
「prototype.js」を呼び出すページを制限することにしました。
こっちのがずっと楽だし。

2008年8月22日金曜日

CSSのセレクタ

スタイルシートの指定方法。
何に対して指定するのか、を指定する方法をすぐ忘れる。

xx {}
これはタグへ対しての指定。xx は div とか span とか。

xx yy {}
これもタグへの指定だが、
<xx>ここは指定されず</xx>
<yy>ここも指定されず</yy>
<xx><yy>ここが指定される</yy></xx>
<xx><zz><yy>こうなってても指定される</yy></zz></xx>

xx,yy {}
これだと両方指定される。
<xx>ここが指定される</xx>
<yy>ここも指定される</yy>

.xx {}
これは class="xx" に対する指定。
xx.yy {} だと <xx class="yy"> が対象になる。

#xx {}
これは id="xx" に対する指定。


たぶん、#xx,yy.zz {} なんて指定もできるんだろうな。
実際そんなケースがあるかどうかはおいといて。

2008年8月20日水曜日

svn のホスト切替

svn(サブバージョン)というバージョン管理ソフトがある。
どっかのホストに元ネタ(これをリポジトリという)があり、
それを任意のクライアントから引っ張り出して編集し、ホストに戻すと
その更新順序だとか変更箇所のバッティングだとかを管理してくれる
便利なモンである。

これで開発プロジェクトの管理をしていたのだが、ゆえあってその
ホストが引っ越しをすることになった。
そうすると、開発環境に今までとは違うサーバにリポジトリがあることを
教えてやらねばならない。

そのコマンドが「svn swtch」である。具体的には
「svn://svnhost1/projectA」から
「svn://svnhost2/projectA」への
引っ越しだとすると

svn sw --relocate svn://svnhost1/projectA svn://svnhost2/projectA

となる。
オプション「switch」は「sw」と省略可能である。
スイッチ「--relocate」はリポジトリの位置が変わったときに使う。
…しかし、リポジトリの位置が変わらないのに「svn switch」を使うのって
どんな事態なんだろう。

2008年8月6日水曜日

exim4

debian にデフォルトで入ってる MTA がこれ。
exim4 はデフォルト設定では自分以外にメールが出せない。
設定項目「dc_eximconfig_configtype」を
dc_eximconfig_configtype='internet'
と書き換えた後、daemon をリロードなりリスタートすれば再設定完了。

ちなみにデフォルト設定では「'local'」だが、かつては「'none'」だった。
また、設定ファイル名も現在は「update-exim4.conf.conf」だが、
以前は別の名前だったような。