OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

.NET コマンドライン引数の解析とUsage作成を行う「CuiCommandParser」を作成

C#/.NET のコンソールアプリで、実行コマンドに渡された引数の解析と、helpオプションで表示するヘルプメッセージ(Usage)用の文字列生成を行う機能をあわせてライブラリ化しました。

CuiCommandParser(NuGet)

ソースはこちら

続きを読む

ASP.NET HttpApplicationへの依存をスタブ化する

Visual C# .NET を使用して ASP.NET HTTP モジュールを作成する方法に、ASP.NETでhttpモジュールクラスを自作する方法が書かれている。

ポイントだけ書くと、以下のようになる。

  • IHttpModule インタフェースを実装する
  • HttpApplication から購読するイベントを選択
  • Init メソッド内で、そのイベントのハンドラを登録する
public void Init(HttpApplication app)
{
   app.BeginRequest += new EventHandler(OnBeginRequest);
}

ここで、Init メソッドで受け取る HttpApplication のインスタンスは、ASP.NETでマネージされているもの。
そして HttpApplication 内の BeginRequest などのイベントも ASP.NET 側から発生されるものになる。

困ったことに、IHttpModuleインタフェースがこの HttpApplication という具体クラスに依存しちまってるんで、テストどうしましょうね、という話。

続きを読む

ブログをWordPressからはてなブログに移行

VPSで運用してたWordPressをやめたいなーと思ってました。

  • バージョンアップめんどくさい
  • SSL化しなきゃと思いつつ腰が重い
  • markdown使いたいだけなのにプラグインが競合したりする
  • カスタマイズ自由と言われてもデザインセンスがないからいじれない
  • バックアップ自分でやるの心配

といった意識の低い理由で。

続きを読む

TypeScript コンパイルなしでこっそり型の恩恵を得る

TypeScript Advent Calendar 23日の記事になります。

TypeScript良さそうだなーと思うんだけど既存のビルドプロセスに組み込むのがめんどくさかったり、使いたいんだけどチーム開発で自分だけ使うわけにいかないというようなしがらみがあったりします。

TypeScript 2.3 から、JavaScriptのままでもコンパイラが静的な型チェックをしてくれるようになったんですけど、すごさのわりに自分の観測範囲ではあまり話題になっていない。
まあすでにTypeScript使ってる人にとってはふつう関係ない話なので、そりゃそうかという気もしますが。

ともかくこれなら簡単に導入できて、コンパイル(トランスパイル)を挟むこともなく、自分だけこっそり型チェックの恩恵を得るようなことができます。

続きを読む