めざましテレビ

今日の早耳ムスメ木下ココちゃん,お題は「今年はこれで決まり! 母の日ギフト」.
ココちゃん,やっと 3 回目の登場? たぶん.
今回は結構いい感じに見えました.
なんでかなぁ〜って思ったら,おそらく顔アップやバストアップが中心だったからと見た.カメラの人 GJ.
っていうかですね,T シャツにボタンで取り付けることのできるエプロンをなぜココちゃんが試着 (?) しないの? 誰が出てきたかと思ったじゃないか.
ともあれ (JW),なんでもケーキにすればいいってもんじゃないと思った今日この頃です.

Kijumuna をお使いの皆様へ

とある現象が環境によって発生したりしなかったりしているようなので,皆さんの環境でどうなるかご確認頂けないでしょうか?
次の dicon ファイルなんですが...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components>
    <component class="java.lang.CharSequence">
        "hoge"
    </component>
</components>

私の環境 (Windows XP・J2SE1.4.2_08・Eclipse 3.0.2・Kijimuna 0.6.23) だと <component> 要素でエラーと警告が一つずつ表示されます (デフォルトの設定).

しかし,Kijumuna コミッタの id:r-matuda さんのところではエラーにならないそうな.
皆さんの環境ではいかがでしょうか?


08:30 追記
ごうぎさんが詳しくレポートしてくださってます.
http://www.wingnest.com/blog/?itemid=330


09:45 追記
CVS にコミットされている修正で解決したようです.
休み明けの週刊 Kijimuna アップデートでリリースされることでしょう.
お騒がせしました.

instance=outer

# wizardp 『(中略) outerで登録しなきゃいけないのもちょっと微妙ですしね。』

outer ってそんなに微妙かなぁ?
S2Xxx の多くは既存のフレームワーク等と S2 とを連携させるためのものですが,その手のフレームワークって定義情報に従ってアプリケーションコンポーネントインスタンス化したりするのがよくある話.
そしてそのフレームワークなんかが S2 と連携しやすいかどうかは,コンポーネントインスタンス生成部分をカスタマイズできるかどうかにかかっています.フレームワークインスタンスnew するかわりに S2 コンテナから取ってくることが簡単にできればハッピー.インスタンスを生成するというのは典型的なホットスポットなので (デザパタにもあるわけで),そこをカスタマイズすることができるというのは重要です.


同じことは S2 にもいえます.S2 自身も定義されたコンポーネントインスタンスを生成するのが主要な役割だったりするわけですが,S2 自身が new するしかないってことだと辛いこともありそうです.
そんなわけで (どんなわけで?),instance="outer" が用意されています.たぶん.経緯は知らないけど.
こいつを使用する時はコンテナから getComponent() するのではなく,injectDependency() します.微妙なイメージを持たれてしまうのはこのメソッドの名前が getComponent() と全然違うからでしょうか?


でもでも,実はそんなに違いはありません.
例えば instance="prototype" の場合,S2 は

  • コンポーネントインスタンスnew する (コンストラクタ・インジェクション).
  • プロパティを設定する (セッター・インジェクション).
  • 初期化メソッドを実行する (メソッド・インジェクション).

ということをしますが,instance="outer" の場合は injectDependency() の引数で渡されたオブジェクトに対して

  • プロパティを設定する (セッター・インジェクション).
  • 初期化メソッドを実行する (メソッド・インジェクション).

するだけです.違うのはインスタンスの生成をしないからコンストラクタ・インジェクションできないことくらい (10:00 追記 ランタイムに作成したサブクラスからインスタンス化することで実現している AOP も使えませんね).
実際,org.seasar.framework.container.deployer パッケージにある PrototypeComponentDeployer クラスと OuterComponentDeployer を見比べてみれば,やってることに大差ないことが分かります.と書いておきながら,実はその詳細を分かっていないのは内緒だ.
ともあれ (JW),instance="outer" はそんなに微妙ってことはないと思います.
register() を使うのはさすがに微妙な気がしますけど.こっちは極力コンテナの初期化以外では避けたい気分です.個人的には.

CanCam 06 月号 エビちゃんベストセレクション 12

CanCam2005年06月号の蛯原友里ちゃん

CanCam から,お気に入りの蛯原友里ちゃんを紹介しようというこのコーナー.
今日も「かわいい系 エビちゃん OL vs カッコいい系優 OL GW 5 月の 1 か月 CD」から P96 の友里ちゃん.
実はこれ,自転車に乗ってます.違った,乗ってはいないな.押してます.し・か・も.白いワンピースがラブリーなのです♪
なので,本来は全身のカットにしたかったところなのですが,残念ながらサイズの限られているこの画像でそれをやってもしょうがない気のせいがしたのでこんな感じに.
もちろん笑顔もステキなので問題ありません♪
そんなわけで (どんなわけで?),やっぱり CanCam 買うしか!!