2003年4月11日(金曜日)
しつこい MS02-008
昨日 Windows Update で MS の Java VM のパッチを当てたのですが、そのとき何故か「重要な更新」の中に 2002年2月13日の MSXML4.0 のパッチ (MS02-008) も出現。
何も考えずにうっかり全部適用してしまいましたが、考えてみるとそんな昔のパッチが今出てくるのは明らかにおかしいですし、実際に MSXML のパッチはとっくの昔に適用済みでした。
で今日、またぞろ「自動更新」が更新を検知していたので、開いてみたらまたしても MS02-008 が。しつこい……。
これはやはり Windows Update の不具合なのでしょうか? MSXML4.0 を再インストールしてみるのも手かもしれませんが、サーバ再起動するの嫌ですし……。
- 「しつこい MS02-008」にコメントを書く
関連する話題: Microsoft / Windows / Windows 2000 / セキュリティ / サーバ / altba.com
デフォルトコンストラクタがないクラスの継承
当初は hatomaru.dll は名前の示す通り鳩丸専用と考えていたので、テンプレートに対応する必要などは微塵もなかったのですが、諸事情によりテンプレートに対応することにしたので書き直し中です。
ついでにソースの整理もしていて、実はこっちが大変だったりします。なにしろコイツは私の初の本格 (?) C# プログラムであり、しかも私は Java も C++ も全然知らないのです。要するにオブジェクト指向に全く慣れていない訳なのでして、そんな私が最初に書いたモノはまあ何というか、実に醜い (見にくい) ソースなのでした。
※まあ今のレベルだってたかが知れているのですが、それでも当初よりはマシなので。……マシだと信じたい。
そんなわけで今の私の技術で書き直しているのですが、オブジェクト指向らしくベースクラスからの継承などをさせてみたところで微妙にハマりました。
現在 hatomaru.dll はえび日記、ぐろっさり、新生鳩丸掲示板#という 3種の異なる性質のリソースを提供することができます。これらはそれぞれ別のクラスなのですが、いずれも HatomaruPageBase というクラスから派生しています。というか、そのようにしました。
ところで HatomaruPageBase にはデフォルトコンストラクタがなく、コンストラクタには必ず引数を伴う仕様になっています。で、それを継承したら、こんなことを言われてしまいました。
bbs.cs(15,15): error CS1501: 引数を '0' 個指定できる、メソッド 'HatomaruPageBase' のオーバーロードはありません。
……当初はそもそも意味が分からなくて困惑しましたが、派生クラスにコンストラクタが明示されていない場合、派生クラスのコンストラクタは自動的にベースクラスのデフォルトコンストラクタを呼び出すのです。考えてみれば当たり前なのですが、デフォルトコンストラクタというところが味噌で、引数のあるコンストラクタは自動的には呼ばれないのでした。
そこで、派生クラスの側に似たような引数を持つコンストラクタを書いて、その中でベースのコンストラクタを呼ぼうとしてみましたが、やはり同じエラー。そもそもコンストラクタが呼ばれる時点でデフォルトコンストラクタを呼び出しているのですから当然です。
結論としては、派生クラスのコンストラクタをこんな風に書けば OK なのでした。
public Bbs(ParamStat param) : base(param){}
これっておそらく基礎中の基礎だと思うのですが、こんなところで詰まる私って駄目駄目かも。ともあれ、他に詰まる人がいるかもしれませんし、せっかくなので書いておきました。
関連する話題: メモ / C# / プログラミング / hatomaru.dll / 失敗談
メールサーバクラックに燃やす情熱
211.23.147.46 から EHLO コマンドと AUTH コマンドと QUIT コマンド合わせて 1000回以上のご挨拶。AUTH を送っているので、単なる第三者中継ではなくパスワードクラックを試みている感じですが……しつこいよ。
一応書いておくと、このサーバのポート 25 は原則として受信専用です。正規ユーザでも他のドメイン当てのメールは送れないので、いくら頑張って貰っても駄目です。
※仕様は予告なしに変更になる可能性があります。
※……あんまり変なことを書くと身を滅ぼすのでアレですが、実は……。
- 前(古い): 2003年4月10日(Thursday)のえび日記
- 次(新しい): 2003年4月13日(Sunday)のえび日記