2008-06-01から1ヶ月間の記事一覧

んー

アート・オブ・SQL と名前が似てるけどたぶん無関係。オライリーだから無関係じゃないか。アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法 (THEORY/IN/PRACTICE)作者: Scott Berkun,村上雅章出版社/メーカー: オライリー・ジャパ…

ほー

実践!ソフトウェアアーキテクチャ ~VisualStudioとASP.NETによる業務システム開発方法~ (.NET TECHNOLOGY)作者: 尾島良司出版社/メーカー: 技術評論社発売日: 2007/08/20メディア: 単行本(ソフトカバー)購入: 8人 クリック: 64回この商品を含むブログ (12…

本家リンク更新

無断で貼っていいものか大分迷ったけれど、結局無断で貼ることにした。 うーん、これで良かったのだろうか。。。 # なおきさんと HIRO さんからは、ちゃんと了承を得たけれど。

しまった

コレ Invoke-Expression でおkだった

最近

寝るの遅すぎ (;´ー`) そしてフレックスタイム使いすぎ

没な実装

こっちの方が好きなんだけど、パフォーマンスが悪いから没。 せっかくだから記事に残しておく。 こっちはスクリプトを正規表現で解析して param の後に直接環境ロード処理を割り込ませている。 function global:closure { param ([ScriptBlock]$private:scri…

PoSH クロージャ今度こそ完成

前回のバージョンでは未対応だった、クロージャ生成毎にグローバルハッシュテーブルに追加されていく問題に対応。(正確には、不要になっても GC に回収されない問題。) ついでにリファクタリングもしといた。 そろそろあっちのブログで記事にすると思う。 fu…

PoSH でクロージャとりあえずできた

(コレの続き。) クロージャ生成するたびにグローバルなハッシュテーブルに追加されていくし、一つ上のスコープしか保存しないし、引数 5 つまでしか使用できないけど。 (2 点目, 3 点目は改善の余地あり。) # 2 点目は勘違いだった。 # でもスコープ絡みの別…

文字列からスクリプトブロックに変換するには

以下のように、ExecutionContext と String を受け取るコンストラクタを使用する。理由は本家にて改めて。 ConvertTo-ScriptBlock { param ([string]$scriptText) $ecPropertyInfo = [System.Management.Automation.Runspaces.Runspace].GetProperty("Execut…

PoSH でメモ化できた〜

これを使ってこちらの Memoize メソッドを PoSH に移植 (ジェネリックは除去されるが) 。 function Memoize { param ([ScriptBlock]$fn) trap { break; } $dic = @{}; $result = closure { param ($x) if (!$dic.ContainsKey($x)) { $dic.Add($x, (&$fn $x))…

PoSH でクロージャを実現

(コレの続き)とりあえず完成。 引数の指定可能数の制限をなくし、残りのスコープ絡みの問題も解決。 # クロージャ生成毎にグローバルハッシュテーブルに追加されていく問題は未対応。せめて弱参照はその内導入したいトコ。 function global:closure { param …

Domain-Driven Design のエッセンス

うおーこりゃ読まなきゃ[ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場 [ 技術講座 ] Domain-Driven Designのエッセンス 第1回|オブジェクトの広場 [ 技術講座 ] Domain-Driven Designのエッセンス 第2回|オブジェクトの広場 …

多重継承って

単一責任の原則に違反してない?