« 1月 2006 | Main

2005年12月29日

HIBERNATE イン アクション

HIBERNATE イン アクション
http://www.amazon.co.jp/exec/obidos/ASIN/4797330805/

ついに出ましたね日本語訳。
英語が苦手な俺としては本当に助かります、ってなワケで速攻Amazonに注文しました。
買いに行くの寒いし。

これで購入以来、本棚の片隅でそっと俺を見守っていた原著も浮かばれます。
成仏してくれ。

ただ原著は結構前に出てるので、まんま翻訳しただけだったりするとHibernate 3.xには触れてないかも。
そこら辺出版社側の情報じゃ全く書いてないんですよね。
まぁどっちにしろ買うんだからいいけどさ。

この調子でSpring in ActionとかAjax in Actionなんかも翻訳されるといいなー。
この辺の本ならそこそこ売れると思うんだけど。

Posted by Akishin at 1:45 午前
Categories: 技術書, 買い物
|

iBATIS.NET

iBATIS.NETをS2Container.NETと連携させたいと思ったんだがなんだか難しそうな予感。
JavaならSpringでもSeasarでも連携用のライブラリとかあるようだけど、.netだとどっちもまだ無いのかな?
う~む・・・。

まぁiBATIS自体Javaでも使った事が無いので、もしかしたら簡単にConnectionの管理を外側で出来たりするのかも知れない。

なんでConnection管理にこだわるかというと、S2Container.NETのローカルトランザクション機能を使いたいからです。
公式によれば、

>ローカルトランザクションを利用するためには、Seasar.Extension.Tx.Impl.TxDataSourceからコネクションを取得します。

との事なので、ここから取得したConnectionをiBATIS側で使用出来ればイケるんじゃないかな、と・・・。
まぁあくまでほとんど触ってない現状での予想に過ぎないんですが。

取りあえずソースコード見ると IBatisNet.Common.ProviderクラスがConnectionの生成担当っぽい。

IBatisNet.Common.DataSourceにPublicなProviderプロパティがあるみたいだし、Provider継承してそこら辺修正して設定するだけでイケたりしないかな~??

駄目だったら ProviderDeSerializer.Deserialize()メソッドをS2AOP.NETでInterceptor作ってProvider継承クラスを返すようにするとか?
なんて考えたけど、S2AOP.NETはコンポーネントをインターフェース型で受け取るか、またはSystem.MarshalByRefObjectの派生クラスじゃないと駄目らしい。

うーむ。
JavaのSpringやS2SqlMapのソースコードでも読めばなんか参考になるかなぁ。


取りあえずはサンプル何個か作りながら研究するかー。
ググりまくってみれば実はもう既に誰かがなんとかしてくれてるかも知れないし。

そういえば、「iBATIS」って何て読むのかずぅっと謎だったんですが、探したら公式サイトにちゃんと書いてありました。

http://ibatis.apache.org/background.html

↑ここの一番下、「How do you pronounce iBATIS?」ってとこ。

>We pronounce it: eye-BAT-iss

だそうです。
アイバティス?

連携の方は前途多難っぽいですが、とりあえず一つスッキリしたような気になりました。

参考サイト:

iBATIS 公式
http://ibatis.apache.org/

Codezine:iBATIS.NETにてO/Rマッピングを行う(SQL Maps編)
http://codezine.jp/a/article.aspx?aid=112

Codezine:iBATIS.NETにてO/Rマッピングを行う(DAO Framework編)
http://codezine.jp/a/article.aspx?aid=113

@IT:ASP.NETで実践するO/Rマッピング(iBATIS.NET編)
http://www.atmarkit.co.jp/fdotnet/special/ormap02/ormap02_01.html

Posted by Akishin at 1:32 午前
Categories: .NET
|

2005年12月28日

S2Container.NET

.NET(1.1)でのトランザクション処理を簡単にしたくて、Codezineの記事を参考にS2Container.NETを使ってみたがハマる。
まぁ公式のドキュメントしっかり読んでなかったのがいけないんだけれども。

とりあえず、トランザクション制御もAOPなんで、公式ドキュメントのAOPの注意点を忘れないように気をつけましょう。

以下公式サイトより。

>アスペクトを適用するためにはコンポーネントをインターフェース型で受け取ります。

>S2Containerから直接受け取るコンポーネントにアスペクトを適用するには、 コンポーネントがSystem.MarshalByRefObjectの派生クラスである必要があります。

>pointcut属性を指定しない場合、pointcut属性に".*"と指定した場合は、 実装しているインターフェースのすべてのメソッドが対象になります。

>thisポインタ経由の場合(インターフェース経由で呼ばれない場合)はアスペクトは適用されません。

恥ずかしながら気付かないでかなりハマりました。
情けない・・・。
もっとがんばろー。

S2Container.NET
http://s2container.net.seasar.org/

CodeZine:S2Container.NETのDIとAOPを活用し生産性の高いシステムを構築する
http://codezine.jp/a/article.aspx?aid=180

Posted by Akishin at 1:52 午前
Categories: .NET
|

2005年12月20日

最近買った本

気付けばまたもこんなに本を買ってしまった。

プログラミングC#言語解説 第3版
プログラミングC#開発運用―Building.NET applications
入門bash 第3版
LinuxWorldスクリプト
初めてのPython 第2版
Rubyを256倍使うための本 黄道編
Rubyを256倍使うための本 極道編
Rubyを256倍使うための本 邪道編
Rubyを256倍使うための本 魔道編
Rubyを256倍使うための本 界道編
Rubyを256倍使うための本 無道編
Rubyを256倍使うための本 網道編
Rubyを256+倍使うための本 紅玉制覇編
Rubyを256+倍使うための本 場外乱闘編
でかいプレゼン 高橋メソッドの本

Rubyの256倍本はAmazonのマーケットプレイスに全部出てたからついつい収集癖が・・・。
古本だし、1冊1冊は安かったんだけど、これだけ買うとあんま変わらないような気もする。

とりあえず、Bashのシェルスクリプトは仕事で結構使うっぽいので、この機会にちゃんと勉強しようかな、と思いつつ購入。

C#も急遽仕事で使う事になったので、会社帰りに衝動買い。
やってみるとなかなか面白いですね。
Javaと比較しながらだと覚えやすくていい感じです。
その分C#なのにどうしてもJava的なコーディングになっちゃってるような気がしますが。
早くC#らしい書き方身につけたいです。

で、毎晩寝る前には仕事と全く関係ないPython本を読んだりしてます。
もうすぐ年末休暇だし、積ん読になりっぱなしの本も少しは片付くといいなぁ。

Posted by Akishin at 1:04 午前
Categories: 技術書, 買い物
|

2005年12月18日

Thingamablog

Thingamablogを使ってblogページを作ってみました。

Thingamablogは、ローカルで動作するオープンソースのJava製blog作成ソフト。
ローカルでファイルを編集し、FTPでUploadといった形式なので、手元にファイルが残るのが嬉しいです。

そういう意味では、ホームページ作成ソフトに近い感じかな。
さすがにトラックバックやコメントはソフト単体では無理なので、そこら辺はフリーのサービスであるHaloScanとの連携でカバーするようになっているみたいです。

しばらく使ってみて手に馴染むようなら、そのうち独り言をこっちに切り替えようかな。

Thingamablog
http://thingamablog.sourceforge.net/

HaloScan
http://www.haloscan.com/

Thingamablogにコメント・トラックバック機能を付ける!
http://www.xucker.jpn.org/pc/thingamablog_haloscan.html

Posted by Akishin at 11:54 午後
Edited on: 2005年12月20日 12:07 午前
Categories: ソフトウェア
|