Spring Experience Live 3rd day

Effective Java Persistence Using Spring and iBATIS

iBATISとSpringの連携方法が中心みたい。

参加者は少ないです。20人くらい?

スピーカの英語はすんげー速いです。クイズに答えた人にはiBATIS in Actionをくれるというパフォーマンスですがみんなやる気なのでゲット不能です…

でも質問したら笑顔で回答してくれました。いい人だ。

Result Map
  • resultmap書くときに同じカラムとプロパティが同じresultタグは書かなくてもOkだけどお勧めは書いておくこと。制御の流れを可視化しておくため。
  • 戻り値はresultmapとresultclassがあるけどお勧めはresultmap。なぜなら再利用性が高いから。(たぶん…)
Namespaces
  • もうなにも考えずに使え!
  • SQLを見つけるのが簡単になる。(ファイルと結びつくので、複数ファイルをあけなくて済む)
cachemodel

cachemodelはあまり使ったないので理解がなかったですが、かなり強力です。

  • chchemodelを使うとメモリに情報を持ちます
  • read-only=true and serialize = falseなら参照コピーします。
  • read-only=false and serialize = trueならディープコピーを利用します。

^ キャッシュをフラッシュするの方法を指定できます。

    • 時間経過でフラッシュ。
    • ステートメントを実行した後にフラッシュ。(デモで時間指定フラッシュだと反映されてないことを示してくれました)
QA
  • 2つのSQLMap fileを使っている場合、キャッシュを他の一方のupdateからフラッシュしたいときはどうすればいい?
    • cachemodelのところで名前空間を使って他のXMlファイルを指定すればよいよ。iBATISのモデルではすべてのXMLファイルをひとつのものとして認識してるんだよ。
  • ってことは相互参照可能?
    • そのとおり。だからこそ名前空間は重要なんだ。

なるほどね〜。そういうことならキャッシュモデルはいろんなファイルに散らばると多分混乱するので、特定の共通のXMlファイルにまとめるのがいいかも。

De-mythtifiying JSF

人がさらに減っています。20人くらい。…スカったかなぁ。

と思っていたら会場が凍えるくらい寒くて退出してしまいました。

出たついでにほかの会場を調査。

  • Integration Test
    • 150人くらい。
  • Web layer
    • 30人くらい
  • Web Service
    • 20人くらい
  • on Oracle
    • すでに終わってたので不明。

Integration TestはRod Johnsonがしゃべったので人気があったようです。

ごはん。

同じ。あったかかったので、おいしかった。

同席した人がHidden TreasuresとJRubyのセッションに出たらしいのですが、JRubyは面白かったそうです。
Rubyは日本で人気があるか?って聞かれたんですが、私の身の回りでは微妙…

その人はニューパンプシャーの人だったんですが、Seesarってフレームワークしってる?って聞いたら知らんといわれました。
あんまりSpring以外はメジャーじゃないみたい。
何を使ってるか聞いたら「ハイヤリング」というWeb Service関係のフレームワークを良く使うそうです。
Mule 2.0と関係あるらしい。

The Spring Value Proposition in the World of Java EE 5.0 and EJB 3.0

結構人が入ってます。

Spring Experience Live

休み時間

韓国人のTobyさんと話しました。
Open Seeというオープンソースコミュニティを運営しているそうです。
そこでSpring ベースのosafという拡張フレームワークを作っていることです。

ちなみに韓国人もほかに来ている人はいないそうな。アジア人少ない。

Unit Test with Spring

TDDとか話している。

正常系、異常系、例外系の3パターンを前でデモしてました。…なんかTDDを延々と前でやっているだけで微妙。kent beckのテスト本を読めば済みそう。

ただし、単体テスト(TestCase)と結合テスト(AbstractDependencyInjectionSpringTestCase)が同じテストコードで実現可能とかは参考になりました。

でもこれってカバレッジあげるためのテストが含まれていると使えない。うーん。

個人的な見解は以下。

  • ブラックボックステストに有効だが、グレーボックスの場合はテストケースを事前に分けないとだめ(規約と仕組みが必要)。
  • 親クラスが違うので、結局コピペになる(二十管理になる)。
  • テスト対象をかならずsetupメソッドで用意しないといけない(規約が必要)。
  • トランザクション処理が含まれる場合、結合テストはcomplete〜〜メソッドとendTransactionメソッドを呼ばないといけないが忘れそう(自動生成が必要?)。


ということでなんか微妙でした。TDDのメリットとかデメリットはすでに語られたものばかりでした。

ごはん。

  • レモンカスタードケーキ
  • フレッシュチーズタルト

KYENOTE:The Complete Developer

技術者として成長するならDepthとBreathが必要で、自分を価値あるようにしてくださいという話。

  • Technical elements
  • Customer Driven
  • Acumen Buisiness

の三つについて。

ここで、技術のdepthについてレベルを以下の6つに分けられる。

  • Ignorant: Never heard about it.
  • Aware: I've heard about it, but not used it
  • Apprentice: I've used.
  • Practitier: I'm competence(?)
  • Master: My peer seek me about it.
  • Expert: Comminity contributor(?)

PractitierとMasterは自分がそう思っているか他人までそう思っているかの違いかな?
境目がはっきりしているので割りと使えそう。

BOF: Spring Framework with Juergen Hoeller, Rob Harrop, RIck Evans & Thomas Risberg

えっと、BOFは介入できるスピードじゃないぞ!


↑会場の様子。後ろには立ち見の人がいます。

Party

雑談

BOFはそのまま終ー了ーしてしまったのですが、PartyでさっきのTobyさんとまた会いました。
BOF中、openseeを検索していて見つからなかったので、google itしたけどnot foundだったーっていったらラップトップPC持ってたら見せたげるよって話になりました。

その席にTobyさんの友達のメキシコ人のIsidoroさんがいたのでその後3人で話しておりました。

トピックとしては以下。

  • 韓国の中ではSpringは人気あるの?
    • まだないから広め中。そんで来年アジアでSpringのセミナ開く計画中だから開いたら来ない?とかいう話になりました。日本人の人誘って来てねってことだったんでMLとかで募集してみようかと。
  • 時差すげー。
  • アメリカには初めてきたのか。
  • どんな仕事してんの?
  • メキシコの情報。
  • 会社はオープンソースコミュニティに貢献したりしてるの?
  • iBATISHibernateどっちつかってる?
    • TobyHibernateで、IsidoroはiBATISだそうです。Hibernateって覚えにくいよーっていったら最初覚えないといけないけど覚えたら永続化は全部やってくれるから楽だよとのこと。
      • ただ性能とかサイジングとかになると急に弱くなるのがHibernateなんでやっぱりSQLのプロやDBのプロがいるうちなどはiBATISのほうがよいかなぁと思いました。
  • スパニッシュの単語文法。
    • ?のひっくり返ったのと?でくくると疑問文だそうです。タグみたい。
    • !のひっくり返ったのもあるそうです。シャウトするときに括るらしいです。タグみたい。(2回目)
    • キーボードの配置(特に/とか@とか:とか記号)がぜんぜん違うので打ちにくいとか。

そんで、メキシコの写真とか見ながら森多いねーとか話していたんですけど日本の風景写真のサイトとか知らんなーって思いました。
なんか良さげなサイトがあったら教えて偉い人。

他。

メキシコの名刺はかっちょ良かったです。


あと、ブログは?とか聞かれたんでこれ見せたんですけど昨日即興で作ったブログがワールドワイドで伝わったんでどうしようかと…

あとディベロッパーとして「負けてゐる」とかどうなのか。

カミソリ

ところでカミソリ忘れてきたので困っていたら、現地同行の方に「カミソリとかなければフロントにいえば出してくれるよー」って聞いていたので聞いたら出てきた。

はい、ここで英語講座。

Do you have a laser?

正しくなかったとしてもボディランゲージでうまいことやれば借りれます。

Openseed

http://www.openseed.net

transerationとかexpanding functionalitiesとかやっているみたいです。

とりあえず今日はここまで。