2005-03-30

λ URLにtelnetプロトコル

telnet://somehost こんなんでさくっと起動するとは。確かに危険だ。

λ [FreeBSD] Running Courier-IMAP under daemontools

やっぱtcpserver使うんだ。

ucspi-tcp ucspi-tcp with ipv6 はIPv4アドレスの表記方法が変わってしまう ということも考えると、 自力インストールした上でコマンド名そのものを tcpserver-ipv6 とかに変更しといた方が、 管理上安全な気がしてきた。そうそう更新しそうにないし。

ただしrblsmtpdだけは先月パッチが提供されとった

λ DBI recipes

perl DBI を使うときのお供に。個人的には SQLite 利用の際に参照しよう。

λ [.NET] 高度な COM 相互運用機能

.NET クラスを COM コンポーネントとして使ったり、逆に .NET から COM Component を使う話。COM Component を C# で記述したい俺。

λ [.NET] C# ref

ref は参照渡しを示すパラメータで、 C++ で言うところの &。ただし C++ と違って実引数の方でも ref を指定しないといけない。

「引数に対して副作用があるよ」という明確な意思を持って使わないと危険だという思想の現れだな。

λ [.NET] C# インデクサ

C# で定義したインデクサを COM で公開すると、VBScriptからは Item プロパティとして見える。

逆に COM で定義した Item プロパティは、C# でインデクサとして使えそうな感じでオブジェクトブラウザは表示するのだが、 実際はget_Item,set_Itemを使えとコンパイラに文句を言われる。

λ [.NET] Scripting.Dictionary を .NET から使う

の続き

  • .NET Framework SDK をインストール
  • %SystemRoot%\system32\scrrun.dll を作業ディレクトリにコピー
  • あらかじめ sn.exe でキーファイルを作っておく。証明書ストアに入れるもよし。
  • tlbimp.exe scrrun.dll /verbose /keyfile <keyfile> を実行
  • 上記コマンドでできた Scripting.dll をプロジェクトディレクトリの下の bin にコピー
  • VS.NET の参照設定で bin/Scripting.dll を追加すると、オブジェクトブラウザ で見えるようになる
  • 共有アセンブリとして使うんだったら gacutil で GAC に登録する。

COMとの相互運用をするんだったら、 厳密名+署名+GAC という共有アセンブリにするための手順まで把握してないとダメっぽい。 ASP.NET開発だけだったら署名なしで生活できたんだけどな。

ここまできてやっと Scripting.Dictionary を .NET 内で使えるようになった〜

How to get items out of a Scripting.Dictionary instance ?

微妙に変なんだけど、光明を与えてくれたページ

.NETコンポーネントをVB6から使用するための方法

手順としてコンパクトにまとまっている。

ただ、VisualStudio.NET 2003では、クラスライブラリプロジェクトのプロパティで「COM の相互運用機能に登録」をTrueにするだけで、 とりあえずローカルで使えるように COM 登録してくれる。

署名に使うキーコンテナが マシンプロファイル の中に作られるんだが、そいつをMMCの証明書スナップインから操作する方法が不明。 秘密鍵としてSmartCardなどを使う場合は自力でCryptoAPI叩けってことなのかしら。 そもそも、このへんのキーペアは証明書ってわけでもなさそうだし、

[]