2010/11/09(火) 第12回 G* ワークショップ
- kimukou2628
- 1735
- 0
- 1
- 0
いよいよ来週に迫ってきました。「11/9 第12回G*ワークショップ」DCIアーキテクチャの実装を説明するサンプルとしてはGrailsを使用する予定ですが、言語に縛られない根本思想をご紹介します。 http://kokucheese.com/event/index/5267/
2010-11-04 20:56:49さらに、「G*なJavaOneレポート」に「JGGUG合宿2010報告」と、聞き逃せない内容です。空席はまだあるようですので、ご都合のよろしい方はぜひどうぞ。 http://kokucheese.com/event/index/5267/
2010-11-04 21:00:43もしかして、Groovyって、sizeが0のArrayListに対して動的mixinすると、挙動がおかしくなります?気のせいであって欲しい...
2010-11-06 19:48:58ちゃんと動くみたいですよ。ご参考→ http://bit.ly/aH6Pm6 RT @digitalsoul0124: もしかして、Groovyって、sizeが0のArrayListに対して動的mixinすると、挙動がおかしくなります?気のせいであって欲しい...
2010-11-06 20:01:55gistにコードあげるとG猛者が添削してくれますよ RT @fumokmm ちゃんと動くみたいです 参考→ http://bit.ly/aH6Pm6 RT @digitalsoul0124 Groovyでsize 0のArrayListに動的mixinすると挙動おかしくなります?
2010-11-06 22:37:50@kimukou_26 @fumokmm わあ、ありがとうございます!ただ、今、gistにコメント入れたんですが、Listが持っているメソッドが呼べないようなんですよ...
2010-11-06 23:17:51なるほど。その使い方も面白そう~ #gaelyk で使われてるのかな? RT @kazuchika: @ikikko nabaztag愛用してますー。GAE上の #Groovy なバッチスクリプトからAPIたたいたりして。便利ですねー #jggug
2010-11-07 00:00:32.@digitalsoul0124 御手数ですが、困ってるgroovyコードのgist URLも貼ってもらってもよいでしょうが? #jggug
2010-11-07 00:02:13@digitalsoul0124 サイズ0のリストへのmixin、おかしいですね。いい方法ないか調べてみます。
2010-11-07 00:11:25@fumokmm @kimukou_26 あ、すみません。新しくgistにあげたのではなく、fumokmmさんのURLにコメント入れていました。http://groovyconsole.appspot.com/script/318001
2010-11-07 00:11:47#jggug サイズ0リストへの動的mixinの件、お騒がせしております。とりあえず、強引にエラーハンドリングをすることで、火曜日のG*ワークショップは乗り切れそうですので、緊急ではありません。-> http://bit.ly/aH6Pm6
2010-11-07 00:15:17@bikisuke ありがとうございますm(_ _)m DCIの実現手段としてmixinを使いますので、影響範囲は特定のコンテキストに閉じたい = インスタンスにmixinしたいんですよね。
2010-11-07 00:29:00.@digitalsoul0124 class ClassToMixin{} と仮クラス宣言した場合 println "mixin1=${mixin1.dump()}" mixin1=<ClassToMixin@f18e8e> と表示されるので、エラー出るかと
2010-11-07 00:31:49色々試してみたら空のArrayListをasTypeでキャストした場合に限ってだめみたいですね。RT @digitalsoul0124: @fumokmm @kimukou_26 あ、すみません。新しくgistにあげたのではなく、fumo http://bit.ly/aH6Pm6
2010-11-07 00:36:29@kimukou_26 ありがとうございます!ただ、listの中に要素が1つでもあれば、size()は使えますし、イテレーションもできるんですよね...mixinなので、元のメソッドは呼べないと、やっぱりおかしいと思うんです。
2010-11-07 00:37:11.@digitalsoul0124 class ClassToMixin{ int size(){return 0} } と宣言すれば正常通過しますが、そういう簡単な話しているんじゃないんですよね? <たぶん自分が理解できない高尚な話なのかな?
2010-11-07 00:40:13@digitalsoul0124 あと、MetaClass って「Objectクラス」ユニークだと思うんですけど<MetaClassレポジトリに記憶される ArrayList.class.metaClass.mixin(ClassToMixin) でも同じ動きはしますよ
2010-11-07 00:47:11@kimukou_26 高尚ってことはないんですが、ちょっと説明が舌足らずでした。やりたかったのは、listにmixinした後、mixin後のクラスの中で、listの中身をループしたかったんです。「なんでそんなこと?」とお思いでしょうが、そこはJGGUGで :)
2010-11-07 00:48:20@fumokmm @digitalsoul0124 groovyのバグって話なら、ArrayList.metaClass.asType = で上書きしちゃうのが一番スマートな形かも。Groovy2391Bug.groovy(http://goo.gl/ahkNF ) に例が
2010-11-07 01:03:12第12回G*ワークショップで使う予定のサンプルを事前に公開します。Grailsはド素人ですのでどしどし叩いて下さい。DCIな部分は、servicesの下、PaymentCalculationService以降にあります。 http://bit.ly/dmYUqY #jggug
2010-11-07 01:36:54