Page Index
日付 題名 記事の要約
2002.5.9 Validなサイトマップ HTML4.01 Strict
2002.5.10 便利CSS position:fixed;
2002.5.13 Transitional to Strict Validへの道
2002.5.14 メモ帳をHTMLエディタにする辞書 3.0 作成開始
2002.5.15 HTML辞書 Standard & Pro+
2002.5.20 JavaScript新世紀 クラスへの進化開始
2002.5.21 オタクラス それはサダメ
2002.5.22 なぜかお手本 不可思議リンク
2002.5.23 メモ帳をHTMLエディタにする辞書 3.0 その2 完成
2002.5.24 Klez頂戴 久しぶりのウィルスメール
2002.5.25 オタクラス2 名前考案
2002.5.26 オタクラス3 名前だけ先行
2002.5.28 不精者の綺麗好き キーボード掃除記

 新サイトマップ(ADSL版)をさらに組み直した。今は娘画像を定位置へ固定するためにJavaScriptを使ってるけど、スクロールに少し遅れてついてくるので、あまり美しくない。
 そこで、スタイルシートを一工夫し、娘画像の位置を1ピクセルたりとも動かないように固定化してみた。しかし、解釈の違いかあるいはバグなのか、ネスケ6ではうまくいかない。ブラウザとしての動作がめっちゃ怪しくなるので、たぶんmozのバグだろう。
 というわけで、ネスケ6では従来通りJavaScriptでコントロールすることに。うむぅ。

 それにしても、(ブラウザにとって)めちゃムヅカシイCSSを使うこの「一工夫」、なかなか使えそうだ。IE5.5ではうまく動いてるが、CSSに弱点の多いIE5.0ではどうだか…。

 我ながらすごいと思ったのは、この果てしなく複雑なADSL版サイトマップ、HTML4.01Strict に準拠してるとこだろうか。(HTML lintでは96点でした)
 そろそろXHTMLも視野に入れる必要を感じた、今日この頃…。

体験版(IE5かネスケ6以上で有効)

追記:2003.4.16
文法が合ってるだけじゃValidなHTMLとは言えないのよ。
なお、新サイトマップとか娘画像とかは現在のTransient Editionにはないので、旧版のPublic Editionでも見てください。

便利CSS

2002.5.10.Fri

 昨日ネスケ6では娘画像の位置固定にJavaScriptを使うしかないようなことを書いたけど、見事に解決した。
 そうかそうか。position:fixed; か。便利だな、これ。IEでも対応してりゃよかったのになぁ。(IE6では対応してんのかもしれぬ)※追記:対応してません。
 N6…というかmozは、スタイルシートの対応範囲が広くて素晴らしいけど、バグの数も素晴らしいのが困りもの。

 サイト設定を改良する。こんなん使う奴ぁいねえよ、という意見もあるだろうが、お客様を便利にするだけが目的ではないので、放っとくことにする。
 こいつもまた、サイトマップと同じくHTML4.01Strictに準拠させた。Strictではフレームを使えん(つまり target="_blank" とかも不可)ので、こういうページでしかStrictの出番がない。

 サイト設定はcookieを使うけど、新しく「今回限りの設定」を設置。cookieを使わず、ウィンドウを閉じるまで有効。
 あと、ついでにパ奮やChainsのスクリプトもさらに煮詰めた。

 …しかし、今の俺がやらなきゃならんのは、「今あるページの修正」でなく「新しく登場するページの作成」である。わかってるよ。そんなことは。うえーん。


Transitional to Strict

2002.5.13.Mon

 サイトマップでの実験の成功により、従来のフレームを使わずとも、フレーム化が可能であることがわかった。
 というわけで、「ナビゲーションフレーム」なる新機能の廃止が決定。かなり苦労して作っただけに、デビューも果たせないまま消え去るのは悲しい限りだ。

 加えて新機能、JavaScriptとCSSの超絶コンビによる「スキン切り替え」を試験中。しかし、この機能を付けるためには、HTMLの構造を再び組みかえないといけない。せっかくここまでやったのに…。
 修正ばかりで新しいページの作成にかからないのには、こんなとこに理由があるのであった。

 そしてフレーム完全撤廃・HTML組み直しとなれば、やることはただひとつ、HTML4.01Strictへの準拠のみである。もうTransitionalは飽きた。進め進め。

 驚くべきは、タグを小文字で書き始めたことです。
 どうします。こいつ、XHTMLを考えてやがりますよ。(タグも属性も小文字じゃないといけません)
 あぁ、なんと恐ろしいことでしょう。うわっ新鮮すぎる!

 もっとも、XHTMLは文書内にスクリプトもCSSも書けないので、今のとこは移行気分なんてないんだけど。(書けないことはないけど、旧ブラウザ用にコメントアウトできない)

 なによりの重大な支障は、自前のHTMLシステム辞書はタグを大文字で出力するので、これも作り直さねばならぬことだ。この辞書なくしてHTMLを手書きする気は起きないので、さっさと作り直そう。
 んがー。

追記:2003.5.4
DOMを憶えることでメリットの方が上回ったので、結局XHTMLにしちゃったわけですが。

 そんなわけで、HTML辞書を作り直し始めた。結構大がかりな変更をするので、Ver.3としよう。思えば、去年の8月19日にVer2.06にバージョンアップしたきりだ。
 今まではIMEの辞書ツールでちまちま登録してたけど、今の俺はそんな暇じゃないので、テキストフォーマットで作ってインポートだ。あー作りやすーい。

 今度のVer.3では、タグを小文字にする他、コメントに非推奨タグやブロック/インラインなどの情報も入れることにした。このあたり、バラまく気満々であることがうかがえる。

[ 変換してるところ / 5KB ]
こんなかんじ。

 んでもって、HTMLスペシャリスト用のスペシャルバージョンも作るのだ。
 ノーマルバージョンは「;ふぉんと」「;せるすぺーしんぐ」とかで出るのでスペルを憶えなくていいけど、スペシャルはスペルのみの変換。コメント情報もなし。変換も頭のセミコロンが不要で手間いらず。「い」を変換すると真っ先に <i> が出てくるのに驚く素人には洋梨。普通の単語よりもタグの高速変換を優先する、文字通りスペシャリスト仕様。
 …を目指してみよう。

 ちなみに閉じタグは「:b」とコロンをつけるのだけど、俺はマクロで閉じちゃうので、なくてもよかったりする。まぁ秀丸以外で入れる時は必要か。


HTML辞書

2002.5.15.Wed

 JavaScript質疑応答掲示板にて、ご指名で質問されるようになってきたこの頃。頼りにされるのは好ましいが、siteCTSを直撃してるのも事実。うーん。4ヵ所かけもちをひとつに削ってこれじゃなぁ。
 それより俺は彼女様に会いたくて仕方がない。

 新HTML辞書はええ塩梅に仕上がりそうな風味。ノーマルバージョンとスペシャルバージョンを用意するのは(俺に)意味がないのでやめた。代わりにStandard版を用意して、さらにPro+版と称して追加辞書を登録する仕組みに。ええ出来や〜。

 IMEは辞書ツールで普通に登録していくと、「登録する順番と出てくる候補の順番」の法則がいまいちわからなくて、<i><i を両方登録したい時に困ってた。やっぱ先に <i> が出てほしいじゃん。
 でも過去形になった。うむ!


JavaScript新世紀

2002.5.20.Mon

 3日間かけて、ようやく「クラス」の作り方がわかりました。わふっ。

function CSS(obj) {
  this.dObj = obj;
  this.cObj = obj.styleSheets;
  return this;
}

CSS.prototype.write = function (s) {
  this.dObj.write("<style type='text/css'>"+s+"<\/style>");
}

CSS.prototype.kill = function () {
  for (var i = 0; i < this.cObj.length; i++)
    this.cObj[i].disabled = this.cObj[i].disabled ? false : true;
}
var css = new CSS(document);

 こんな感じでどうでしょう。cssオブジェクトを作りまして、killメソッドとwriteメソッドを実装させてみました。
 css.kill() とやりますと、スタイルシートのON/OFFを切り替えられます。
 css.write("BODY{margin:0px}"); とやると、<style type='text/css'>BODY{margin:0px}</style> を書き出します。

 今まで使ったこともない構文。なにがどう絡んでるのか、さっぱりわからぬ。講座サイトもぽちぽちあったけど、初心者御免でわかりにくいことこの上なし。どうして皆ちっちゃい文字が好きなのだ。スタイルシート固定はやめっつのに。

 結局、クラスを使ってるサイトのソースを解析しながら、トライ&エラーを繰り返して自分で憶えてしまった。今まで何度もつまづいたけど、吸収にこんな苦労したものは初めて。
 でも一回わかりゃこっちのもの。がんがん作って経験値稼ぐでー。わふっ。


オタクラス

2002.5.21.Tue

 siteCTSのコアスクリプトのいくつかをクラス化しようと手をつけ始めた。クラスでやると内部的なメモリ処理が効率的になるらしいが、しかし、ページをロードする時に一度しか使わないものまでやるのは、果たしてどうなのだろうか? どの道関数として定義しなきゃいけないんだから、やっぱクラスにした方がいいんだろうか?

 まぁそれはいいとして、ユーザークラスは自分の好きな名前にできる。そして、俺もいっぱしのオタクとして、なんにでも名前を付けたがる性癖をちゃんと持っている。関数に付ける getObj() みたいな「機能を表す名前」は、メソッドとして別に定義できるから、ここはひとつオタクとして珍妙な名前を付けてみようではないか。

 とりあえず真っ先に決定したのが Sakura。カードキャプターでも大戦でも何か。でもなくて、単純に「一番好きな花」である。日本男児なら桜でなければならぬ。あと語感の良さ。(だからいろんなところで使われるんだろうけど)
 桜とくれば雪も入れたいのだが、これは個人的に難しいところ。Yukiko にしとくか。
 あと VFR とか Tomcat とか Eniac とか。Eniac はちょっと恐れ多いか。
 う〜ん。夢(妄想)は広がる…。


なぜかお手本

2002.5.22.Wed

 あるWebサイトにて、「HTMLの文法にちゃんと取り組んでいるサイト」として、うちが挙げられていた。こいつぁ嬉しいね。でも我が家のsiteCTSは HTML4.01Strict になってても、WebのsiteCTSは未だ Transitional のままなんだよなー。(しかも準拠してない)

 こういうことがあると喝が入るね。早く復帰させないと。
 そこからのアクセスがあるようなので、とりあえずトップページのメッセージだけでも変えとこう。


 HTMLシステム辞書Ver.3がめでたく完成。これは長く使えそう。
 ほとんどすべてのタグ・属性を網羅したため、登録語数は576件から1495件(992+503)と、一気に2.6倍増。やっと辞書らしくなったなぁ。
 他人が使って便利かは知らぬが、少なくとも俺には「これがないとHTMLを手書きする気にならない」ので、きっと便利なのである。

 siteCTSの方は、スタイルシート関係を総括したクラス「sakura(仮名)」が、ただいま試験運用段階。
 それで気づいたんだけど、俺って新しいスクリプトを組もうとする時、必ずパ奮で実験するのね。なんでだろ。やっぱメインコンテンツだから?


Klez頂戴

2002.5.24.Fri

 なにやら添付ファイルのついたメールが届いた。普段使ってるnPOPQはHTMLメールに対応してないので、タグ丸出しになるか、添付ファイルになる。
 このメールの添付ファイルはふたつあって、片方の拡張子は .html だったが、もう片方は .scrだった。
 はいNorton先生出番ですよ。

 診断結果:このファイルはウィルスに感染しています。
 ウィルスの種類:W32.Klez.H@mm

 おう。これが差出人を偽ると名高いKlezか。差出人が森永乳業だったのでちょっと驚いたよ。最近これがナウいらしいね。
 それにしてもnPOPは頼もしいのう。メールから感染することはありえないもの。

ウィルスメールはほとんどもらわないので、つい喜んでしまう。


オタクラス2

2002.5.25.Sat

 クラスの名前を4つ考えた。
 Sakura, Suika, Momiji, Yuki
 こんなのはどうだろうと思いつつも、それにはクラスを4つ作らないといけない。
 「Sakura」はほぼ完成、「Suika」は構造を考えてる最中、しかし、あと2つが。名前だけ決めてもなぁ。

 本当はあれもこれもクラスにして経験値を稼ぎたいのだけど、旧ブラウザとの互換が少々心配なので、用途が限定されてしまう。クラス自体はネスケ2ですでに対応してるんだけど、集めた情報によれば、やはり難しいバグもはらんでいるらしい。
 確認環境が欲しいなぁ。
 うーん。

追記:2003.5.4:
スクリプトをDOM化して旧ブラウザを徹底的に回避する方法の習得により、これの1年後にはほぼすべてがクラス化。
さらには三夫の就役でIE4とNetscape3の確認環境も確保。

オタクラス3

2002.5.26.Sun

 クラス「さくら」の実験もほぼ終了し、13日で言ってた「擬似フレーム」と「スキン切り替え」がだいたい完成。
 続けてDHTMLを中心としたクラス「すいか」を作り始める。DHTMLはとにかくIEとネスケで処理の違いが多く、マウスの位置ひとつ取るのも大変。それらをうまい具合にひとつにしたいものだ。
 ロード時に1回しか使わないものが多い「さくら」と違い、かなり頻繁に使われる処理を集束するので、クラスらしいクラスになりそうである。

 そういえば昨日、クラスの名前を季節の風物詩になぞらえて SakuraSuikaMomijiYuki にしよう…などとほざいてたけど、最後のひとつだけ植物でないことに気づいた。
 せっかくなので別のにしようと思うものの、冬を彩る植物とはなんであるか。

追記:2003.4.16
Yukinaになりました。また、SuikaSuzuna に、MomijiNazuna になりました。

不精者の綺麗好き

2002.5.28.Tue

 今日はキーボードをオーバーホールした。一般向けの表現をすると、バラして掃除した。
 私はキーボードカバーなる駄アイテムを愚かと思ってるので、まさに汚れ放題である。おまけに注意力も散漫で、なんでもこぼす。ワープロ時代、キーボードにコーラやコーヒーを3度もぶっかけた。(もちろんその都度壊れたが、自分で直した)
 大体、キーボードの真上でポテチや煎餅を平気でかじる輩である。そりゃもう汚いのだ。油分がカスや埃や毛、あらゆるものと混じりあい、キーの下を虫んこが歩き回ってたりする、そらもう想像を絶する汚さなのだ。

 しかし、キーボードのオーバーホールは怖い。ワープロのを初めてバラした時、ネジを外して開けた瞬間、すべてのキーがザラザラと音を立てた。下手な素人は元に戻せなくなるので、やめといた方が懸命である。
 その点、私はバイクのエンジンを自分で整備できる(ただし2ストロークに限る)人間なので、キーボードごときが祭りを起こしたところで、屁でもない。ピストンリングを上手にはめる技術が、キーボード掃除にも役立てばいいのだけど。

 さて。今回のターゲットは、Gatewayのミレニアムキーボード。糞の役にしか立たないワンタッチボタン(ブラウザとメーラの起動のみ使える)の付いた、普通の日本語キーボードである。当時は流行った「ミレニアム」も、今や陳腐な代物だ。
 キーボード掃除はワープロ時代に鍛えたので、お手の物である。キーのメカニズムも配列も憶えてるから、臆することはなにもない。ただひとつ、キーを洗面台のブラックホールに吸いこませないようにするだけだ。

 このキーボードは設計がしっかりしてるのか、キーがザラザラと音を立てることはない。ボードベースに固定されていて、ラジペンかなんかでつまんで初めて外れる、とても親切な設計。普通はそうなのかもしれぬ。ただ、スペースEnter など「でかいキー」は、ちょっとした機械構造を持っているので、その辺にさえ注意すれば素人でも余裕だろう。

 外されたキーは栓をした洗面台の中に放りこみ、石鹸水を作ってひとつひとつ洗う。ボードベースは歯ブラシを使ってカスや埃や毛や虫の死骸を綺麗に落とす。べっとりとこびりついた油分は洗うに容易でないが、まぁなんとかなるもんである。

 かくして、汚らしいキーボードは見事に生まれ変わった。キートップの磨耗さえ見なければ、新品と偽っても通じるくらいに綺麗だ。鮮明なまでの純白な躯体は、長年連れ添った女房の美しさを再発見したようでもある。キータッチもはっきりとメリハリのあるものに変化し、汚物がどれだけ性能をスポイルしていたかを感じさせる。とても気分が良い。なんて気分が良いのだ。こうやって書くのが楽しくなるってものだろう。QW があべこべなのは愛嬌だ。