印刷屋のdeveloper日記 – お手伝いさせていただきます

印刷屋のdeveloper日記 – お手伝いさせていただきます

> S2Cayenneの開発をお手伝いする事になりました。 > さしあたりSVNの使い方を学習する事からはじめます(笑)

をを!頑張ってください!

J2EE勉強会

参加させていただいてきた。

時間ぎりぎりだったので、自転車を必死にこいで新宿南口から会場へ向かう。 汗びっしょり。結果5分ぐらいの遅刻。スンマセンでした。

### JSF vs Struts

実際にベンダー系JSF実装(+IDE)を使用/試用されている現場の方々や、JSF実装であるmyfacesの実装と問題点について熟知されているひがさんのお話を聞けたのがとっても収穫。 ありがとうございました。

### JUnit4の胎動 なんだかかわいらしいフォントだなぁ。と余計なことは置いておき。

t-wadaさんの発表。面白かったです。 アノテーションを駆使したJunit4の特徴と、プレゼンテーションの中でちらちらと披露されたt-wadaさんのテストに対する考え方や、テストをうまくやるためのノウハウ開示がとても有益でした。 中でも、テストのカテゴリ分けの必要性、TestSuite(Junit4ではなくなる可能性もあるらしい!)の必要性と、現在Greee/Redしかないテスト結果状態を細分化する必要性について興味を持った。

テストのカテゴリわけは、テスト数が膨大となると絶対的に必要でしょうね。

TestSuiteの必要性に関して、t-wadaさんはテスト時間を短縮するために必要とのこと。 テスト時間の短縮というと味気ないな・・・・現場感覚が伝わりにくい。違う。

よりAgileに、プログラミング→テスト→プログラミング→・・・なるサイクルをより円滑に進めるために、絶対的に必要なものだというニュアンスと思っている。 そういえば、t-wadaさんは、テスト対象クラス(ファイル)のタイムスタンプを元にテスト順序を決める、(何らかの手段でテストクラスに与えた)優先度を元にテスト順序を決めるアイディアなども披露してくれた。うーん、欲しいねぇ。

テスト結果状態を細分化とは、具体的には・・・・

* @Ignoreアノテーションを付けたテストはYellowで表示される(これはJUnit4に実装されるようだ) * (なんらかの手段で、)まだテストに通らないことが明らかであることが示されたテストがfailした場合、別の色(Orange? Blue, Red, Yellow以外の何か。第4の色)で表示される

とか。個人的には「第4の色(named by t-wada?)」が欲しい。とっても欲しい。 テストは書いたけれども、failすることが明らかであるテストがRedとなると、真のfail(failしないと思っていたのに、failしてしまった!)を見つけるのが難しくなる。

あ、あと、S2TestUnitを見ておかないとなぁ。と個人的なメモ。

#### 2005/06/19:追記> t-wadaさん 「呼びかけ」にうまく反応できなくてごめんなさい。 K.Beck(?)の、「not union but intersection」の真意がよく掴めなくて・・・・。

つーか、わざわざ小難しい言い回しせんでも、「必要最小限の機能」といえばいい気がするぞ。> K.Beck

### DIの本質 (ひがさんの考える)OCPとは端的に言えば、「修正をAdd-onlyで実現するもの」と理解した。 (全ての修正をadd-onlyで実現するのが望ましいという意味ではないです。)

### S2 5.0? いろいろと面白い話を聞かせていただいた。書いていいのかよくわからないので、とりあえず。

### 飲み会 ちょっとした用事があったのと、途中合流が難ししそうだったので、欠席させていただいた。

[…]

XAエミュレート対象となるリソースマネージャの扱い

from S2.2.9 リリース – koichikのひとりごと > 例えば XA に対応した Oracle (Oracle が提供する XADataSource を使用する) と対応していない HSQLDB (S2 が提供する XADataSource で XA をエミュレートする) を同一のトランザクション中で更新する場合,最初に HSQLDB からコネクションを取得することで,二つの DB がどちらもコミットされるかどちらもロールバックされるかという原子性 (ACID の A) が実現できます.

なるほどーそういうことか。理解できました! ありがとうございます! koichikさん。

### 昨日の質問 昨日のJ2EE勉強会(仮)で、以下の質問をさせていただいた。(若干、わかりやすく整理しています。昨日はもっと要領を得ない質問な感じ(苦笑)でした。)

> S2JTAの枠組みの中で、XA非対応のリソースマネージャを扱う場合、XAをエミューレートするラッパ経由で扱うことになるようだが、その場合、 > XA非対応のリソースマネージャ1つがJTA配下のトランザクションに参加している場合、1フェーズコミットプロトコルを使用する > XA対応のリソースマネージャ1つの場合、通常の1フェーズコミットプロトコルを使用する > XA対応のリソースマネージャ2つ以上の場合、2フェーズコミットプロトコルを使用する >

> という理解でよいか?

なるほど、S2JTAの実装はLast Resource Commit Optimizationの機構を持っているため、 1番目、2番目の内容は正しいようだ。ただ、koichikさんの日記にかかれてあるように、

> Last […]

J2EE勉強会(仮)

J2EE勉強会(仮) – ひがやすを blog

参加してきた。

内容は、

* Seasar2のJTA実装、コネクションプール実装をソースコード中心に追っかける * JSFの特徴・アーキテクチャをPPTで説明する

でした。説明はすべてひがさん。お疲れ様でした&ありがとうございました。

[…]