2006-05-01から1ヶ月間の記事一覧

RunspaceInvoke#Invokeの戻り値

RunspaceInvokeクラスのInvokeメソッドによるスクリプト式の実行結果の型Collectionだが、戻る値には別に深い意味は無かった。単に式評価の結果が複数あった場合に対応しているだけである。 例えば単純な例として、以下のようにC#からPowerShellスクリプトを…

IExpressionインタフェースのヌル実装

評価式のインジェクションのテスト及び、各種実装(Javascript, PowerShell)の性能比較を行うためにIExpressionインタフェースのヌル実装を用意してみた。 public class NullExpression : AbstractDotnetExpression { public NullExpression(string expressio…

式評価の実装を指定する語彙

式評価時の例外スローが性能に大きな影響を与えることが判ったため、式評価時にできるだけ例外をスローしないようにしたい。しかし、元々どのように書かれているか判らない評価式をパースしてエラーを返すのはスクリプトエンジン側の処理であり、コンテナ側…

PowerShellExpression クラスの実装

先日はPowerShellによる式評価が簡単にC#から呼び出せることが判ったので、次の段階として実際にDIコンテナに組み込んでみることにした。と書くと大袈裟になりそうな感じがするが、元々Sesar2等と同様の評価式インタフェースは実装が既に済んでいるので、そ…

Expression Evaluation for DIContainer

seasar2は設定ファイル上の評価式をOGNL式から評価して、結果をインジェクションすることが可能だが、これが非常に強力な機能となっている。(と私は思う) となると、.NETのDIコンテナでも当然評価式をインジェクションしたいのだが、残念ながらOGNLの.NET(CL…

Seasar Conference

こっそりとブースに遊びに行ってみたかったけど、無理だった。最近では平日より休日をばっくれるのが難しかったりする。

PowerShell スクリプト式をC#から実行する

自宅に居さえすれば何していたっていいんだよな。つーことで。話題にしたWindows PowerShellだが、思惑通りにDIの評価式に使うには、.NETプラットホームの言語中、具体的にはC#等から比較的簡単にスクリプト式を実行することができて、尚且つ結果を取得でき…

アノテーション(カスタム属性)と設定ファイル

ここ一ヶ月位、.NET Framework用のDIコンテナにおけるアノテーション(以降カスタム属性)を用いたバインディング機能やコンポーネントの自動登録機能を実装し、みっちりと使ってきたわけだが、自らの予想に反して、カスタム属性による各種の設定は、設定ファ…

Rubyの評価

Blikiにおけるファウラー氏のエントリと、Bliki-jaにおける翻訳EvaluatingRuby/ Martin Fowler's Bliki Rubyの評価/ bliki_jaリンク先と併せて、今後恐らくはかなりの人が言及しそうなこのエントリ、内容が内容だけに、下手なことが書けない。 私くらいのレ…

ListDataBindingsAttribute

先日の日記ではListBox、ComboBox等のリスト形式のデータを持つコントロールのデータバインディングをカスタム属性によって制御する方法について書いた。 リスト項目をバインドするための新たなカスタム属性を用意する必要があるだろう。それに関しては次回…

コメントSPAM

昨日だけで30件以上のコメントスパムが投下された。前回のようにIPアドレスで拒否にしてやろうと思ってコメントのIPアドレスを確認していくと、見事にばらばら。どうやら大量のPCを抱えているか、又はいろいろな所にあるPCを踏み台にしてスパムを投げつけて…

DataBidingsAttributeによる双方向データバインディング(ListBoxとComboBox)

先日はカスタム属性"DataBidingsAttribute"により、オブジェクトとTextBoxクラスのデータバインドを自動化したが、今回はListBoxとComBoxに関してもデータバインドしてみよう。 前回のTextBoxとの違いは、想定しているバインディング対象のオブジェクトの型…

無念

MLB

http://headlines.yahoo.co.jp/hl?a=20060512-04429277-jijp-spo.view-001連続出場が途切れるのは仕方がない。それよりも、戦列を離れるいうこと自体が残念。素人考えでしかないが、今後は連続出場には拘らず、他の選手同様に定期的に休み取ったほうが、怪我…

久しぶりに近所の本屋にいったら

こんなのが売ってたよ。(安かったしとりあえず買った) "Magazine"になっていたとは知らなかったよ。今頃気づくなんて本屋に行ってないのばればれ。Amazon使いすぎね。と書いたが、数週間前に行った時には無かったよな。見つけられなかっただけかな。(発売が…

JetBrains dotTrace Profiler 2.0 Early Access Program

以前の日記で紹介したJetBrains社が開発している.NET Framework用のプロファイラである"dotTrace"だが、かねてから予定されていたversion 2の早期体験プログラムがついに(やっと)開始された。Welcome to JetBrains dotTrace Profiler 2.0 Early Access Progr…

cvs.apache.org

落ちてる?

フールプルーフ

<不正注文>ネットでタンクトップ4000枚 男逮捕この事件良く解らないところがある。個人向けの通販サイトにも関わらず、タンクトップに4000枚もの発注が実際に可能だったのか、それとも、例えばロードテスト等で使われる技術等を用いて、一度に大量の接…

DataBidingsAttributeによる双方向データバインディングの自動化

Form(とControl)をViewに見立てて、データやロジックと分離するプログラミングをする場合、データをView、つまりForm(とControl)に転記する、逆にViewからデータに値を書き戻すという処理を書くのは単純で面倒だ。WindowsFormsの双方向データバインディング…

DynamicAopProxy修正

以前の日記で公開したDynamicAopProxyだが、バグがあったので一部を修正した。Seasar.Framework.Aop.DynamicProxy.DynamicAopProxy.cs 修正前 169 IMethodInvocation mehotdInvocation = 170 new DynamicProxyMethodInvocation(target, invocation, args, in…

データバインド

DIコンテナと+AOPを使って.NETのデータバインドを今よりも楽にするための方法をいろいろと検討している。データバインド自体、あまり明るくないのだが、参考にしている資料の中で、以前にCodeZineでも紹介された(今はもう消えてるみたい)、この記事シングル…

AutoValidate Property

バリデートが開始されない原因は、WindowsForms2.0から追加されたプロパティである、System.Windows.Forms.FormクラスのAutoValidateプロパティが原因だった。 Form.AutoValidate プロパティ - public override AutoValidate AutoValidate { get; set; } こ…

IE7β2日本語版

PC

出たらしいので早速インストールしてみたが(喉元過ぎれば熱さ忘れるとはこの事だ)、英語版同様に自分の日記を含む、頻繁に訪れるサイトのいくつかのレイアウトが壊れてしまい、IE6やFirefox1.5と同様に表示されない。早く切り替えたいのは山々なれど、次のバ…

ダイアリー新編集ページ

現在試験公開中の新しい編集ページだが、非常に便利かつ安全に作られており素晴らしい。 以前ならばプレビュー中のHTTPエラーが原因で編集イメージが消えたり、他のブラウザインスタンスが異常終了したのに巻き込まれて内容が消えたりと危険だったので、基本…

MaintainScrollPositionOnPostback

以前に自分が関わったプロジェクトでは、毎回データを問合せた時の結果と、DIVコンテナのスクロールのポジションを同期したくて、WebアプリケーションからJavascript(正確にはIEのエレメントピヘイビアで定義した、プロパティ)に期待するポジション値を渡し…

Ayende @ Rahien

Ayende @ Rahien.NETのOSSを開発するCastleProjectのコミッタの一人であるOren Eini氏のサイト(Ayende Rahienはハンドルかな)。CodeProjectにも何度か寄稿しており知っている人も多いだろう。(私がDynamicProxyの更新に言及したエントリに、TortoiseSVNのス…

連休中に聴いたCD

映画「プリティウーマン」のシーン中で取り上げられた為に、オペラの中では屈指の人気を誇る椿姫。本気で聴いたのは実は初めてだったりするが、他の盤にすればよかったかも。1979年の録音で、ヴィオレッタ役は当時50歳!を超えていたサザーランド、アルフレー…

DynamicProxy - C#でmixin(その3)

昨日までは悩める子羊だったのだが、やねうらおさんからアドバイスを頂いた。 良い使いどころはGUIがらみでしょうね。GUI絡みだと、いろんなcontrolに対して、同じ機能を付与したいという要求が発生しやすいので。 なるほどそうか。別にRubyで実装されている…

FindControl

.NET Frameworkにおいて、System.Web.UI名前空間には実装されているメソッドだが、System.Windows.Forms名前空間にはどうして無いのだ? と最初は思っていたのが表題のメソッドだ。欲しかったのは基点となるコンテナコントロール(フォーム含む)から、任意の名…

DynamicProxy - C#でmixin(その2)

先日、DynamicProxyを使ってC#でmixinを実現するというネタを書いたが、例えば最近使う人が随分と多くなったRuby等では、mixin自体どのような用途で、どれ位の頻度で使われているのだろう。そのうち調べてみようかな。 曲がりなりにもmixinを実装できること…

DIコンテナにおける自動処理の有無と初期化時間の比較 (その2)

前回のエントリに対して、ひがさんからコメントを頂いた。 プロパティのリフレクション情報をキャッシュしてます? キャッシュしてれば、それほど変わらない気がするんですけど .NETは、JavaのようにBeanDescのようなクラスを経由せず、型(Type)クラスから直…