2005-08-01から1ヶ月間の記事一覧

Visual Studio 2005 July CTP

昨日の日記で以下のように書いたのだけれど 追記: 結局CTPはアンインストールしてβ2に戻しちゃいました。フォントの問題はバグかどうか微妙な所だと考えたのでSuggestionにフィードバックすることにします。 今回は速攻1日で回答が付いた。 Thank you for s…

例外処理

例外とその補足に関しては既にかなり一般的だと思っていたんですけどこんなコードを今日見せられてちょっと目眩いがしました。 //in C# FileStream fs = new FileStream("Test.xml", FileMode.Open, FileAccess.Write, FileShare.Read)); DataSet ds = new D…

Visual Studio 2005 July CTP

β2とあまり変わらないだろうと思って届いたメディアからインストールしてみたのですがいきなりアンインストールしたくなりました。というのも今までのβと同様にオプションでエディタのフォントをClearTypeが有効なLucida系に変えようとしたのですが、なんと…

プリフェッチフェチ

何故こんなに標題の機能にこだわるのかというと、私の自宅と会社の環境でかなりの時間悩まされているWindowsXPの突然のハングの原因になっている可能性があるからなんです。この問題は私のPCでWindowsXP+SP2を使っている時に以下の条件で頻繁に発生するのが…

Resolved as By Design

以前に日記上で言及した「NameValueSectionHandlerを使用した設定ファイルのカスタムセクション読み込みで同一キーに関連付けられた値を複数登録、取得することができない。」に関してはNyaRuRuさんからのアドバイスもあり、マイクロソフト側にフィードバッ…

.NETらしさとDI

DIコンテナと.NETを組み合わせた時の「.NETらしさ」を考えてみたのですがすぐに思いつくのは以下の二点です。 1.VisualStudio等の統合開発環境との連携 2.ADO.NET(含むデータバインディング)との連携 1.に関しては言わずもがなです。ウィザードやプロ…

プリフェッチコンポーネントを無効にする方法

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters "EnablePrefetcher"=dword:00000000 で無効 以下の値が有効。 0 無効 1 Applicationのプリフェッチ 2 Bootのプリフェッチ 3 1+2 (XPのデフォル…

インモラル

携帯電話のマナー対策 電車などで自動オフ通信事業者が10月開始どんどんやって欲しい。今の日本で携帯電話を使う人達にモラルを期待しても無駄だと思うんです。残念ですけど。

Developer Notes for prototype.js

Developer Notes for prototype.js以前に日記で紹介したAjax機能を含むJavascriptライブラリィのリファレンス。英語だけど素晴らしいのでメモ。個人的には中でも特にform.jsの機能が便利だと思う。

IL EmitによるAOP (4)

s2dotnetでのAOPを実現する機能の概略に関してもう一度書いてみます。 1.定義されたアスペクト、アドバイスからそれぞれのオブジェクトを生成する 2.アスペクトの適用対象となる型の全てのメッセージをインターセプトする 3.メッセージをインターセプトした…

IL書換えの手段が欲しい

徒労に終わったIL Emitによるs2dotnetのAOP機能ですが、一通り試してみて思ったのは透過Proxyによらないメソッドインターセプションを実現するためには"型の生成"ではなく"型の書換え"が必要だということです。Sesar2ではcglib、最近の版ではjavassistを利用…

IL EmissionによるAOP (1)

以前に日記で言及したことがある.NETにおけるDIコンテナ上のAOPの実現ですが拙作のフレームワークはS2.NETと同様にRealProxyを使用した"Proxy"方式のAOPを実装しています。現在の.NETプラットホームで可能なAOP実装のまとめこの手法はRealProxyの派生型はそ…

IL EmitによるAOP (2)

.NET上でRealProxyを利用する以外に私が考えられるAOPの実現方法はあと二つあります。現在の.NETプラットホームで可能なAOP実装のまとめより Annotation 方式 TypeEmission 方式 よりシンプルに、RealProxy方式に負けず劣らず簡単に使用できることを考えると…

IL EmitによるAOP (3)

ProxyFactoryは元の型を拡張した別な型とその実装を生成すると書きましたが実際にどのような型が生成されているのでしょう。前回書いた方法で動的に生成された型を物理的なアセンブリとして出力できることが解ったので実際に出力されたアセンブリを.NET Refl…

VB.NET Phobia

会社でVB.NETのプロジェクトで仕事している同僚に質問されたんですけれど全然解らなくて青くなりました。VBはむか〜し昔に使っていたので大丈夫だと思っていたんですがVB.NETって思いの他変わっているんですね。 Friend WithEvents 〜 DataGrid1 何、何? Fri…

Injection parameter conversion

DIコンテナ(on.NET)におけるコンストラクタやプロパティ、メソッドのパラメタを使ってインジェクションする場合に設定ファイルでの指定をより柔軟に行えないかなぁと考えているのです。例えば以下のようなインタフェースがあったとします。 public interface…

宿題の答え

このアプリケーションをVisualStudio2005(β2)でステップ実行を用いてデバッグを行うとあるエラーが発生してアプリケーションは異常終了します。アプリケーションが異常終了するのは何故でしょうか。またどんな例外(エラー)が発生するのでしょうか。 答えがあ…

Generic Dictionary Classとインデクサ

NyaRuRuの日記/[.NET]KeyNotFound exceptionNyaRuRuさんに言及して頂いた。 .NET 1.1 では,Dictionary に格納される value は常に object として扱われていた(のでインデクサが null を返すのもあり). ただしインデクサで null を返すと,「本当に null が…

Generic Dictionary Classとインデクサ

.NET2.0におけるC#2.0で導入されるGenerics Collectionではキーと値の型を前もって指定できるDictionaryインタフェースと実装クラスが提供されており以下のようにインスタンスを生成することができます。 IDictionary disposableTable = new Dictionary(); …

デバッガの落とし穴

久しぶりにC#のデバッグをしていたのですが随分とはまってしまいました。単純なポカだし解ってしまえばなんてことないんですけどね。以下、簡単な例で再現できます。VisualStudio2005(β2)を使用して以下のアプリケーションをビルドします。 using System; us…

XmlValidatingReader is now obsolete

.NET Framework2.0β2におけるXMLの読込みに関してXmlValidatingReaderクラスは既にobsolteだった。(一瞬びびったけれど)コンクリートクラスを使用せずにFactoryパターンに移行するだけらしい。 .NET2.0によるDTD検証を行うXmlReaderの生成 //リゾルバの生成(…

続ふんだりけったり

週末のどたばたから今日への流れでなにもやる気しないです。仕事だけはたんとあるんだけどなぁ。こんな時は何して元気つけようか。こういう時はおいしいパスタを食うに限る、ということで夕飯はパスタにしよう。 宅配で凄く美味しい店があるんだけど今日は自…

ふんだりけったり

キーワード"NameValueSectionHandler last value"でぐぐったらCodeProjectでは既出だったりする訳です。それも2003年の記事だし orz....How to make AppSettings work with multiple values for a key"Why it doesn't work"の章に注目。代替案としてIConfigu…

NameValueSectionHandler

S2.NETのMLで投稿された内容を実際に試してみて解ったのだけれど.NET(1.1)の設定ファイルのセクションハンドラの一つであるSystem.Configuration.NameValueSectionHandlerクラスはなにかおかしいと思われます。(思われると書いたのはまだ確信が持てないから)…

NameValueCollectionのバグ

同クラスの振る舞いはどう考えても異常なのでちょっと調べてみました。こんな時Javaであれば速攻SDKのソースを見れば解決するのですが.NETのソースコードは入手していないのでちょっと反則ではありますが以前、日記で紹介したReflector for .NETで同クラスの…

NameValueCollection顛末

なにかぐだぐだになってしまい見ている方に申し訳ないです。 NameValueSectionHandlerはその内部で使用しているNameValueCollectionに値を格納するのにAddメソッドではなくインデクサを使用している(と思われる)。従ってNameValueCollectionの特徴である同一…

Prototype

"Prototype" JavaScript FrameworkRuby on RailsでもフィーチャされているJavascriptのフレームワーク(というかライブラリィに見える)。まだちょっとしか見てないけどAjaxだけではなく色々と上手く詰め込まれていてかなり使えそう。素晴らしい。

大きなお世話

Java開発用のIDEとしてEclipseはどう変わったかにも書かれているけどEclipse3.1はJ2SE5.0と組み合わせて使うと以下のコードに対して警告を出すらしい。(※) final List msgs = new LinkedList(); msgs.add("hello"); String msg = (String) msgs.get(0); 警告…

不慣れな仕事

久々に「炎天下」、「スーツ着用」、「徒歩」の三役の揃った仕事だったので相当消耗しました。とはいうものの営業や外回りを担当している人はこれを毎日こなしている訳で全く以って頭が下がる思いです。私には到底無理。 日本の夏ってもう絶対に異常だと思う…

2005年11月17日

TechEDの基調講演に出席された方は既にご存じなのでしょうがVisual Studio 2005の日本語版の製品発表が11/17と発表されたそうです。ローカライズも速くなったものですね。素直に有り難いと感じます。ということで私も現在進めている作業のペースを少し上げな…