タグ

aopに関するnitoyonのブックマーク (6)

  • C++ と DI - steps to phantasien t(2007-08-17)

    Java と DI (Dependency Injection) の世界から C++ に戻ってくると気が滅入る. すべてがくっついている. ああ... "Working Effectively With Legacy Code" に従ってバリバリと依存を引き剥がすことになるんだけれど, もうウンザリ. せめて新たに書くコードはレガシー風味とさよならしたい. DI したい. C++ にも少しは DI コンテナの実装がある. Autumn Framework とか. ただリフレクションのない C++ では DI コンテナを使う有難味が薄い. Autumn Framework のチュートリアルを見ると無力感に襲われる. 閉じた型システムの再発明. C++ の限界もあるだろうから, あまり責める気は起きない. COM のような既存のオブジェクトシステムに DI を載せることはできるかもしれない.

    nitoyon
    nitoyon 2007/08/22
    C++ で DI。
  • javascript - 関数をtraceする : 404 Blog Not Found

    2007年05月18日14:15 カテゴリLightweight Languages javascript - 関数をtraceする amachangのコメントを受けて追記 JavaScript: 関数の追跡 - 文系大学的IT系の悲哀からのTBを受けて追記 書き換えめんどいー。 IT戦記 - JavaScript の関数を「引数そのまま返す化」 alertだけ alert(hoge); hoge.method(); 改行めんどいー。 alert + そのまま返す化 alert.s(hoge).method(); // 1 ステートのまま Functionオブジェクトを拡張 というわけで、関数をtraceするmethodをFunction Objectに追加してみる。 まずは実例。 function add(x,y){ return x + y } add = add.trace('add

    javascript - 関数をtraceする : 404 Blog Not Found
    nitoyon
    nitoyon 2007/05/20
    JavaScriptの関数呼び出しで、引数と戻り値を出力する方法。
  • Dependency Injection の基本的なアイディア - bkブログ

    Dependency Injection の基的なアイディア Inversion of Control コンテナと Dependency Injection パターンを読みました。関連する事柄を広くカバーした、隙のない記事です。 ただ、割とボリュームがあるので、「Dependency Injection って結局何なの?」ということを手っ取り早く知りたい向きにはあまり向かないかもしれません。そこで、基的なアイディアを手短にまとめてみました。 Dependency Injection (依存性注入、DIと略) とはその名の通り、依存性を注入するパターン (テクニック) です。もう少し言葉を加えると、依存性を内部に抱え込まずに外部から注入する、パターンです。 Dependency Injection の基的なアイディアは「依存性を外部から注入する」です。 DIコンテナと呼ばれるフレームワ

    nitoyon
    nitoyon 2007/04/07
    DI についての説明。
  • 【ハウツー】このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる (1) Googleが開発したDI - Guiceとは (MYCOMジャーナル)

    Googleは3月8日(米国時間)、Guiceの初のメジャーリリースとなるGuice 1.0を公開した。GuiceはJavaで開発されたDI(Dependency Injection)フレームワーク。シンプルなアーキテクチャになっており、アノテーションやジェネリックを活用した開発が特徴。 Guiceが依存性注入できるのはコンストラクタ、フィールド、メソッドなど。セッターメソッドにかぎらず、複数の引数をとるメソッドに対しても適用できる。そのほかの特徴としてカスタムスコープ、環状依存への対応、スタティックメンバーのインジェクション対応、Spring Frameworkとの統合、AOP Allianceメソッドインターセプションなどがある。 Guiceはすでに数カ月にわたり、Googleにおけるミッションクリティカルアプリケーションにおいて採用されている。Google最大のアプリケーションである

    nitoyon
    nitoyon 2007/03/15
    いまだに DI のよさが分からなかったり。Google 社内での Java の扱いはどうなってるんだろ。/追記:Google社内でのJavaの扱いhttp://d.hatena.ne.jp/gamella/20070315#1173968896
  • JavaScript でプロファイリング - (new Hatena).blog()

    追記 [20061103]: ライブラリ非依存なバージョンも書いてみました。id:reinyannyan:20061103:p1 でご覧下さい。 最近自分で書いた JS プログラムが驚くほど重かったので、どこに原因があるか調べたいと思いました。 その方法として、怪しいと思う箇所に (あるいは思わない箇所にも) 手作業でタイマーを仕掛けて、部分部分の実行時間を計測するのも手だと思うんですが、クラスのどのメソッドでどのくらい時間が掛かっているのかが自動的に分かる、というのが理想的かなと思いました。 (以下、prototype.js 的な (OO 的な) コーディングを対象とした話になります) まず思いついたのは、プロファイルしたいクラス (function オブジェクト) を受け取って、メソッドを動的に書き換えるという方法です: for (var m in klass.prototype) {

    JavaScript でプロファイリング - (new Hatena).blog()
    nitoyon
    nitoyon 2006/06/28
    プロファイリングしてみた話。そのうち、誰かが汎用ライブラリを作ってくれることを期待。
  • JavaScriptで簡易スタック・トレース&プロファイラ - llameradaの日記

    しばらく前にJavaScriptでのスタック・トレースの保存が話題となっていた。 最速インターフェース研究会 :: JavaScriptでDebugScreen、その2 http://d.hatena.ne.jp/brazil/20060117/1137427933 これらの記事を読んだとき、以前作ったプロファイラの仕組みを利用すれば、簡単なスタック・トレースならば保存できそうかなと思った。そこで、試しに作ってみた。コードは下記。 var FuncCallObserver = function(){ var self = this; self.listeners = ; self.observing = false; self.observe = function(object, name){ name = name || object.constructor; for(property

    JavaScriptで簡易スタック・トレース&プロファイラ - llameradaの日記
    nitoyon
    nitoyon 2006/01/30
    JavaScriptで既存のfunctionを置き換えてAOPっぽいことを実現。
  • 1