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

App.configすら不要

昨日の日記では.NETにおけるDIコンテナの設定ファイルの配置方法について言及したが設定ファイルを全て埋め込みリソースとした所でこのままではApp.configの配布だけは必要だということに気がついた。というのもDIコンテナの設定ファイルへのパスは以下のよ…

またもやインデクサ(顛末)

以前の日記でC#2.0のXmlReaderクラスのバグ(と思われる現象)について言及した。β版を評価する義務として今回もマイクロソフト側にフィードバックを行ったが先日めでたくステータスが"Resolved"となった。これに対するマイクロソフト側の回答だが Thanks for …

ファイルかリソースか

DIコンテナの設定ファイル(Sesar2なら〜.dicon)はJavaの場合は近傍に配置したXML形式のファイル、とほほ決めつけても良いのだが.NETの場合は少なくとも以下の二つの配置方法が考えられる。 1.アセンブリの近傍に配置したXMLファイルの形式 2.アセンブリに埋…

Struts

残念というか幸いというか、Javaでの仕事は数多あれど私はStrutsでの案件で仕事をした事が無い。何度か書いているがいわゆる「俺様フレームワーク」を書いていたせいでWebアプリケーションを開発するインフラは揃っていますよ、というと、ではそれを使おうじ…

やっぱりやっちゃった

DI

DIコンテナに登録するコンポーネントのクラスに特定のインタフェースを入出力するプロパティを追加した事をすっかり忘れていた。そのままテストをしたらDIコンテナに「該当のインタフェースはコンポーネントとして複数回登録されているのでバインドできない…

DIのデバッグ

DI

周知だが去年からDI(Dependency Injection)ベース(既にDI部分は設定ファイルの語彙がs2dotnetと同じなので敬意を表して"+Sesar2クローン"、"+s2dotnetクローン"と呼ぶべきなのかもしれない)のスマートクライアント向けフレームワークを書いている。テスト目…

設定ファイル(.dicon)の検証と入力補間

あおきのTechメモ/ s2dotnetより。本家Sesar2には設定ファイル(.dicon)の検証と入力補間をEclipse3.0上で実現することができるKijimunaとというプラグインがありますがVisualStudio.NETとDTDに合わせた補完用のXSDがあればs2dotnetでも検証と入力補間を実現…

今日の音楽

iPod nanoを入手してメモリの空きが出来たので新しいCDが欲しくなった。以下、Amazonお買い上げ。 METALLICA/ Metallica Singles 93-03/ The Chemical Brothers黒ジャケだから、とかそういう意味は無い。メタリカは「Enter Sandman」と「So What」が聞きたく…

秋だ

歩いていると良い香りがする。どうやら金木犀が咲き出したしたようだ。大好きな香い。一年で最も好きな季節がやってきた。この香りのお蔭で秋が来たのがすぐ解るんだけど今年は去年よりちょっと早い気がする。あと一週間もすればこの香りで辺りが包まれるこ…

動的言語への潮流

数日前にも言及したがC#3.0ではラムダ式が使えるようになるらしい。こう書くとC#2.0の時点では全く無かった新しい言語機能のように聞こえるし実際にそうだと思っていたのだがC#2.0には既にラムダ式を思わせる実装は入っていたような気がする。そう、C#2.0で…

ダックタイピング

Duck Typing前にどこかで見て一体どういう意味なんだろうと思ったがそのまま記憶の彼方に紛れてしまったが先日のartonさんの日記を見て思い出した。ダックタイピング 同じクラスを継承したクラスでなくても、同じ振る舞いがあれば同属のクラスとみなす はて…

なにげなDIの効用

DI

現在の仕事だが最も時間を割いているのは去年から書いてきたスマクラ用フレームワーク用のクラスを全てDIコンテナを使うことをベースに書換る作業だ。結構大がかりになっている。 DI(Dependency Injection)コンテナを使うメリットは散々いろいろな所で既出な…

早朝の音感

朝5時に自宅を出る早朝出勤を随分と続けている。最寄りの駅に到着したらミネラルウォータを購入してその後iPod ShuffleのスイッチをOnにして電車に乗る少し前から音楽を聞き始めるのだがこの時に聞く音楽は他の時間に聞く音楽と比べると全く違う。 なんとい…

C#のリファクタツール

VisualStudio 2005 β2におけるVisual C#はリファクタリング用のツールがメニュー、又はエディタのコンテキスト上から使用できる。 Eclipse程機能が多彩では無いので物足りない人もいるだろうが必要充分といった所か。 私が特に気に入っているのが「名前の変…

マイルストーン

禁煙して丁度半年が経過した。かなりのヘビースモーカだったのと初めての本格的な禁煙だったので正直これだけ続く訳が無いと思っていたのだけれどいざ試してみればあっという間の半年だった。 身体的な依存と禁煙したことによる体調の変化はすぐに収まったけ…

iPod nano 到着

本日Apple Shopから到着した。(無料刻印が欲しかったんでAmazonは使わなかった)Shuffleからの移行になるんで独特のホイールインタフェースは初めてだったんだけどすぐに慣れることが出来た。やはり良く考えられている。PCとのインタフェースはUSBだがShuffle…

レジストリは面倒だ

VisualStudio2005のスタートページの最近使ったプロジェクトの一覧を編集するには以下のレジストリキーを直接編集する。(具体的には不要なエントリを削除する) HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList\ VisualStudio2003の時…

またもやインデクサ

どんな語彙でも良いが2階層以上の階層構造を持ちname属性が必ず必要なXMLがあったとする。 test.xml .NETでこのようなXMLの全ての要素とname属性をパースするには何通りかの書き方が出来るんだけどせっかくだからC#2.0からXmlReaderクラスに追加された、現在…

MLB RSS News Feeds

MLB

MLB RSS News FeedsなんとMLB公式サイトにもRSS News Feedsがあったのだった。きちんとチーム毎にフィードが分かれており素晴らしい。エントリが混在するので最近の日記では採りあげてませんが相変わらずNYYの試合は全て録画して見てます。去年までの地区優…

フォークロア

「のまネコ」に関して(MUZOの見解)MUZOは主にFLASH等を媒体とするクリエイターサイト。いわゆる「のまネコ問題」でのAA(アスキーアート)に対する見解が面白い。 AA(アスキーアート)はネットコミュニティのフォークロアである 当事者とレコード会社はAAに付…

XMLのノイズ

以前にアプリケーションで使う設定ファイル(XML)を全てDIコンテナの設定ファイルで統一しちゃえ、と乱暴なことを書いたことがあるんだけれど実際にやってみるとちょっと無理があった。XMLながら可読性を優先した属性を多用した構造のXMLを例えばSesar2で使用…

Apple iPod nano

買ってしまった。Shuffle使っているんだけれど、さすがにLosslessだと1Gじゃたんないし。でもアクセサリでネックストラップが無いのは痛い。せっかくの名刺サイズなのでShuffleと同様に胸ポケットに入れて使いたいが落下が恐い。早く追加して欲しい。 あと、…

アジャイル勘違い集

アジャイル勘違い集一連のアジャイルを紹介したドキュメントの中にはかなりエキセントリックな書き方(そのように書かないと保守的な人の目に留まらない)をしているものがあったりするので誤解を招くことが多いんです。私の周りにもいるアジャイルに偏見を持…

MSIL/CIL Reflection EmitによるHello World

MSIL/CILによるHello Worldの実現。"Hello World"を標準出力に表示するプログラムを直接実行可能なILとして出力するアプリケーション using System; using System.Reflection; using System.Reflection.Emit; using System.Threading; public class EmitHell…

CodeDomによるHello World

MSIL/ILによるHello Worldの次はCodeDomのHello Worldの実現。 以下のようなソースコードをCodeDomにより生成、コンパイル、実行してみる。 生成するソースコード namespace CodeDomTest { using System; public class HelloWorld { [STAThread()] public st…

MSIL/CIL

なるほど、レジスタは無くてメモリとスタックしか使わない作りなのね。どうりでロードとストアだらけだと思った。 条件判断は条件分岐とラベルを使うのね。-> 今さらこんな事言ってるし。とりあえず慣れればそれなりのコードからILを吐かせることはできそう…

BEA、アスペクト指向の拡張をJava標準仕様に提案へ

BEA、アスペクト指向の拡張をJava標準仕様に提案へひがさんが日記で書いていましたがジョナス氏の記事がITProに掲載されていました。 AOPの機能が標準仕様として組み組まれるのは非常に楽しみです。(願わくばSunのJVMも同様に組み込まれて欲しいですね。)こ…

nMockとAOP

暫く.NET上でのDIとAOPの実装について調べていたのだけれど当時はAOPの実装といえばJavaの実装の一つであるAspectJの例しか知らなかったので.NETのメッセージシンクを使うタイプや型を動的に生成するタイプのAOP(メッセージインターセプションの機能だけを真…

MSIL/CIL

この際MSIL(Microsoft Intermediate Language)/CIL(Common Intermediate Language)についてきっちりと勉強しようと思って書籍やサイト等を調べているのだけれど情報があまり多くないですね。想像はしていたのだけれどきちんと日本語で書かれた情報や書籍はほ…