【最速】google guice DI Framework【シンプル】at TECH
【最速】google guice DI Framework【シンプル】 - 暇つぶし2ch1:デフォルトの名無しさん
07/03/24 09:34:46
無かったので立ててみた。
URLリンク(code.google.com)

2:デフォルトの名無しさん
07/03/24 09:45:50
鼬害

3:デフォルトの名無しさん
07/03/24 09:46:13
これなんて読むんだ?
juice→ジュースだから
グース?

4:デフォルトの名無しさん
07/03/24 10:11:04
pronounced 'juice'
って書いてあるじゃん。

ってかまたDIか。本気でDIいけてると思ってる奴どんだけ
いんのよ?流行で触ってみた、使ってみたじゃなくてさ。

心底、これはスゲーって思ってる奴いる?

5:デフォルトの名無しさん
07/03/24 10:24:14
DIなんてJavaが駄目言語であるがゆえに存在するものだからなあ

6:デフォルトの名無しさん
07/03/24 10:34:07
DIいけてないって思うヤツに
プログラムを書かせてはいけない

7:デフォルトの名無しさん
07/03/24 11:11:11
>>4
普通に100人規模の開発で使ってるんだが。。


8:デフォルトの名無しさん
07/03/24 11:12:37
>>4
DI無しでの単体テストなんてもう考えられないな。
DIは単体テストの為にあるって言ってもいいかも。

9:デフォルトの名無しさん
07/03/24 11:15:59
>>6
書き方が悪かったな。
DIいけてると判断して使ってる奴がどれだけいますかー?
DIいけてないと判断して使ってない奴がどれだけいますかー?

って事だけ。流行に躍らされてないで、DI理解して
DIDIって言ってる奴が何割いるのかと。

10:デフォルトの名無しさん
07/03/24 11:17:51
>>9
DIはいけてるが既存のフレームワークは最悪。
guiceはちょっとましになったかなという程度か。

11:デフォルトの名無しさん
07/03/24 11:31:10
DIなんて聞いたこともないわけだが。
まったく次から次へと焼き畑農業のようにゴミライブラリ撒き散らして悦に入っている
Java厨は本当に度し難いな。

12:デフォルトの名無しさん
07/03/24 11:46:14
まぁC/C++何ぞでは、FW作る意味すらないからな

13:デフォルトの名無しさん
07/03/24 13:57:12
リフレクションが使いにくい言語にはDI適用は困難
ダックタイピングが有る言語にはDIは不要

14:デフォルトの名無しさん
07/03/24 14:58:31
DIってDLLみたいなもんだろ。
デバッグ情報含んだDLLをデバッガで動き見て
リリースモードのDLLにして納品みたいな。

15:デフォルトの名無しさん
07/03/24 16:37:09
>>14
違う予感



え、そうなの?
不安になってきた。

16:デフォルトの名無しさん
07/03/24 16:39:55
うさんくせぇ~~~~~
Java開発を変える最新の設計思想「Dependency Injection(DI)」とは
URLリンク(itpro.nikkeibp.co.jp)

17:デフォルトの名無しさん
07/03/24 16:51:38
国際化対応もDLLにリソースぶち込んで、ロケール見て切り替えってのもそう?

18:デフォルトの名無しさん
07/03/24 16:53:56
なんだよDLLって
Windows厨はでてけよ

19:デフォルトの名無しさん
07/03/24 17:04:47
soもDLLっていうが

20:デフォルトの名無しさん
07/03/24 17:07:40
EJBが糞過ぎてそれをどうにか他環境並みの疎結合に引き上げてくれる夢の新技術がDIってことか

21:デフォルトの名無しさん
07/03/24 17:24:01
ナニこのスレ
DIわからん香具師は出てけ

22:デフォルトの名無しさん
07/03/24 18:06:20
>>14
DLLて。。
勘違いにも程があるな。少なくともぐぐってから書き込め

23:デフォルトの名無しさん
07/03/24 18:07:48
大して違わないことに気づいても無い奴よりマシだと思う

24:デフォルトの名無しさん
07/03/24 18:17:54
しかし徹頭徹尾無内容なスレだな。

25:デフォルトの名無しさん
07/03/24 18:42:19
DIなんぞやから語る事自体は悪い流れではなかろう
問題はこの煽り合いの流れが意地の張り合いで終わるのかどうか

26:デフォルトの名無しさん
07/03/24 18:42:47
スレタイにDIなんて入れるから中途半端なのが入ってくるんだ。

27:1
07/03/24 18:48:31
>>24
そうならないように、スピード比較結果を貼ってみる
1回目
Spring: 1,734 creations/s
Guice: 35,161 creations/s
S2: 18,395 creations/s
2回目
Spring: 1,776 creations/s
Guice: 37,202 creations/s
S2: 19,394 creations/s
3回目
Spring: 1,783 creations/s
Guice: 36,764 creations/s
S2: 19,164 creations/s

数字大きい方が速いって事で。

URLリンク(d.hatena.ne.jp)

スレの内容見るとこのネタじゃ盛り上がらなさそうだけど(´・ω・`)

28:デフォルトの名無しさん
07/03/24 19:18:07
軽量で高速なDIコンテナは需要あるんじゃない?
うちじゃSpring使ってるけど、サーバ起動時の待ち時間は異常

29:デフォルトの名無しさん
07/03/24 19:23:29
つーかDLLとDIを同じ基準で比較するバカどもウゼー

30:デフォルトの名無しさん
07/03/24 19:27:46
バインディングをコード書いてやらなあかんのがなー
Springで定義したのをGuiceで運用するってのがいいのかなーw

31:1
07/03/24 19:28:30
>>28
個人的には、DI定義XMLが無い所がかなり気に入ってる。
リファクタリング手軽に出来るしね。


32:デフォルトの名無しさん
07/03/24 19:32:43
>>31
へー。実例とかあったら見てみたい。

33:デフォルトの名無しさん
07/03/24 19:41:48
悪りい、ここにドキュメントあったわ
URLリンク(code.google.com)

34:デフォルトの名無しさん
07/03/24 19:41:59
jarを(dll)をどうロードするかでしかないんだから
こんなものありがたがってる奴らはドカタだわな

35:デフォルトの名無しさん
07/03/24 19:46:04
>>34
いいからコボラーは引っ込んでろ

36:デフォルトの名無しさん
07/03/24 19:48:03
>>34
むかしはファクトリのコードを手で書いてたんだから、かかなくて良くなりゃ
それに越したことはないと思うんだけど。

37:デフォルトの名無しさん
07/03/24 19:51:45
だが、バインディングコードを書く時点で「コードを書く」こと自体は従来と同じ(戦略はともかく)
アノテーションのみだったらまだ違うけど

38:デフォルトの名無しさん
07/03/24 19:56:19
春休み明けに立てればよかったのに

39:デフォルトの名無しさん
07/03/24 19:57:08
ユーザガイドざーっと読んでみた。とりたてて目新しいことは無いな。

>>37
コードでもバインディングできますよ、ってだけで基本アノテーションのみ
じゃないの?

40:デフォルトの名無しさん
07/03/24 19:57:36
まったくだな、>>38みたいな盲目な人間が消えてくれる

41:デフォルトの名無しさん
07/03/24 20:04:48
ソースをざーっと読んでみた。とりたてて目新しいことは無いな。。

googleは何でこれ作ろうと思ったんだ??

42:デフォルトの名無しさん
07/03/24 20:06:00
作ったアプリの中からスピンオフしただけだろ
企業発のコードなんざ大抵そうだ

43:デフォルトの名無しさん
07/03/24 20:11:28
へー、そういうものなのね。

44:1
07/03/24 20:23:16
>>39
いや。バインディングのコードは必ず必要。

45:デフォルトの名無しさん
07/03/24 20:32:28
簡単なDIだけでいいなら不要だけど
多分それじゃもの足りんよねー

46:デフォルトの名無しさん
07/03/24 20:40:02
>>41
思うに、実行速度を早くしたかったのかと・・・・
Springの定義から作ったものをGuiceに上で高速に
動かしたいんじゃないの?

47:1
07/03/24 20:45:04
>>41
バインディングがコードで書けると
jUnitで単体テストが書けてとても嬉しいよ。
XMLの場合、結合しないとテスト出来なかったから。


48:デフォルトの名無しさん
07/03/24 20:51:04
オリは逆にDJUnitでコードバインディングみたいにコーディングしてダミーのクラスとか入れ込んでたけど
XMLで定義できたらなぁとか思ってたw

49:デフォルトの名無しさん
07/03/24 21:10:16
>>47
ん?手でmockをセットすればテストできるけど、そういう話じゃないよね?

50:デフォルトの名無しさん
07/03/24 21:14:17
ちら裏スマン
4月から超ファイヤープロジェクトに放り込まれそうだ。
ってか、燃えカスしか無いかも。。。

漏れは製造系の会社のIT分門で、9ヶ月前ぐらいにIT系の会社から
社内SEとして転職。で、問題のプロジェクトは工場で使う生産系の
システムを外部に請負で発注。テストもてきとうで、少し前から触るとなんか出る
って感じでやばいのがどかどか出てきた(ってか根幹の仕組み自体が破綻してるみたい)。
検収上げなきゃ良いじゃんって思ったけど、こっちの期末処理の関係で
3末で検収ださなあかんのだとwww
保守契約は無し。構築中にスキトラ受けて自分らでやる予定だったみたい。

で、どうするかなーと思い、BLだけ切り出してきてDIでくっ付けなおそうかと。
BLの部分はJavaの基礎と最低限のライブラリの知識で作れるようにして
業務を知ってる社内のエセSEをちょっと鍛えて作ってもらうと。
数億の仕組みだから1人じゃどうにもならんので、人海戦術使うならこんな感じかなと。

立て直るかはプロジェクトの進め方で7割は決まると思っていて
やり方は色々あると思う。ただ、バグを1つ1つ潰してたら、きりが無い
という噂が流れてきてるから、上記みたいな事を考えてる。
まだ自分で蓋を開けてないから変わるかもしれないけどね。

51:デフォルトの名無しさん
07/03/24 21:41:49
フルスクラッチするなら幾らでもやりようがあるがノー
結局そうした方がいい場合が多いんだけどねー
目先の予算やら何やらでお茶を濁すと結局は本質的な問題が
解決されずにグダグダするだけだったりして・・・

52:50
07/03/24 22:25:49
>目先の予算やら何やらでお茶を濁すと結局は本質的な問題が 
>解決されずにグダグダするだけだったりして・・・ 
まったくです。でも4月からの予算枠も当然取ってないですとwwww
って事で、社内要員でなんとかするしかなさそ。
1年以上やってるプロジェクトだから、なんとか活かせる部分は
活かして短期決戦に持っていきたい。

53:デフォルトの名無しさん
07/03/24 22:59:58
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵
∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵  (___ )(___ ) >>50∵∴∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[||    」  ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | |  ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ    ヽ__./  ∴∵∴∵:∴∵∴∵
∴∵∴∵  く  /     三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
   ∧∧   ∧∧  ∧∧   ∧∧
  (   )ゝ (   )ゝ(   )ゝ(   )ゝ ムチャしやがって・・・
   i⌒ /   i⌒ /  i⌒ /   i⌒ /
   三  |  三  |  三  |  三  |
   ∪ ∪  ∪ ∪  ∪ ∪  ∪ ∪
  三三   三三  三三  三三

54:>>46
07/03/25 01:53:21
全然チゴタ

55:デフォルトの名無しさん
07/03/25 02:57:20
コレクションへのDIとかってGuiceではどうすんかしら?
そこは直接書かないとアカンみたいな希ガス

■ Spring
 <bean id="test1" class="test.Test1" singleton="true"/>
 <bean id="test2" class="test.Test2" singleton="true"/>
 <bean id="test3" class="test.Test3" singleton="true"/>
 <bean id="testFactory" class="test.TestFactory" singleton="true">
  <constructor-arg>
   <map>
    <entry key="test1" value-ref="test1"/>
    <entry key="test2" value-ref="test2"/>
    <entry key="test3" value-ref="test3"/>
   </map>
  </constructor-arg>
 </bean>

 TestFactory testTactory = (TestFactory)beanFactory.getBean("beanFactory");
 Test test = testTactory.getTest(key);
 test.process();

  

56:デフォルトの名無しさん
07/03/25 02:58:08
■ Guice
 @Singleton
 public class TestFactory{

  Map<String,Test> map;

  static{
   Injector injector = Guice.createInjector();
   map = new HashMap<String,Test>();
   map.put("test1",injector.getInstance(Test1.class);
   map.put("test2",injector.getInstance(Test2.class);
   map.put("test3",injector.getInstance(Test3.class);
  }

  public TestFactory(){}

  ・・・
 }

 TestFactory testTactory = injector.getInstance(TestFactory .class);
 Test test = testTactory.getTest(key);
 test.process();

57:デフォルトの名無しさん
07/03/25 02:59:38
>>56は間違ってるけど適当に脳内補完してくださいw

58:1
07/03/25 17:24:04
>>56
こんな感じになる希ガス

 public interface IfItems {
  Map getItems();
 }
 public class ItemsMock implements IfItems{
  public Map getItems(){
   マップ作る処理
  }
 }
 public class MyModuleMock implements Module {
  public void configure(Binder binder){
   binder.bind(IfItems.class).to(ItemsMock.class)
      .in(Scopes.SINGLETON);
  }
 }
 public class ItemProcessorImpl impletemts IfItemProcessor {
  private IfItems mItems;
  public void process(){
   mItemsを使った処理
  }
  @Inject
  void injectItems(IfItems inItems){
   mItems = inItems;
  }
 }
 
 Injector inj = Guice.createInjector(MyModuleMock.class);
 IfItemProcessor ip= inj.getInstance(ItemProcessorImpl.class);
 ip.process();


59:1
07/03/25 17:38:09
間違ってた
Injector inj = Guice.createInjector(MyModuleMock.class);
  ↓
Injector inj = Guice.createInjector(new MyModuleMock());


60:55-57
07/03/25 18:37:21
むむむ・・・・
ちなみにやりたいことは、

 switch(key){
 case 1:
   // 1の時の処理
 case 2:
   // 2の時の処理
 case 3:
   // 3の時の処理
 }

のような、ある条件に応じて処理が分かれるロジックを
コマンドパターンで解決しようとしているところで、
条件と処理の関連付けをDIで解決しようとする場合に
どうすりゃいいのかのー?ってことなんだなこれが
Springなら<map>でそれができるんだけど、同じことをやろうと
すると>>56のようにマッピングは自力で書かんとイカンだろなー
っというところだがどうなんだろう?
Mapを使わなくても条件と処理の関連付けがコーディング
しなくても出来ればいいなと

で、>>58だと、条件と処理のセット(=ItemsMock)と、
条件に応じた処理を実行するコンテキスト(=ItemProcessorImpl)の
依存関係がDIで解決されているように思うのだが、だとすると
そこは悩ましいところではないんです
違ってたらすみません。

61:1
07/03/25 21:58:52
>>60
なるほど。それならこれでいけるかな。
ただ、その処理やるならkeyとクラス名を紐付けといてリフレクションで呼んだ方が楽かと。。
 public interface IfCommand {
  public void exec();
 }
 public OneTimeExecCommand implements IfCommand{
  public void exec(){何かの処理}
 }
 public TwoTimeExecCommand implements IfCommand{
  public void exec(){何かの処理}
 }
 public class MyModule implements Module {
  public void configure(Binder binder){
   binder.bind(IfCommand.class).to(OneTimeExecCommand.class)
    .annotatedWith(OneTimeExec.class).in(Scopes.SINGLETON)
   binder.bind(IfCommand.class).to(TwoTimeExecCommand.class)
    .annotatedWith(TwoTimeExec.class).in(Scopes.SINGLETON)
  }
 }
 pulic class CommandProcessor {
  private @Inject @OneTimeExec IfCommand oneTimeExec;
  private @Inject @TwoTimeExec IfCommand twoTimeExec;
  public process(){
   switch(key){
   case 1:
    oneTimeExec.exec();
   case 2:
    tweTimeExec.exec();
   }
 }

62:55-57
07/03/25 22:09:18
むむむむむむ・・・・・

っていうか、switch文で解決しようとすると、条件が増減したりすると
ソコのコードを書き換えなきゃでしょ?
switch文を書かないようにすることが主目的なんだけどなー

条件と処理のマッピングが設定で出来れば条件の追加はコーディング不要になるでしょ
少なくともMapなどのコレクションでの解決は、コレクション要素の追加だけで
修正が出来るからいい解決方法かな?と思ってるんだけどね

Springの場合は<map>に<entry>を追加するだけでいいんだけど
Guiceは要素を追加するコードは書かなきゃならんようだなー

63:55-57
07/03/25 23:22:43
あと>>60はこうでした
 switch(key){
 case 1:
   // 1の時の処理
   break;
 case 2:
   // 2の時の処理
   break;
 case 3:
   // 3の時の処理
   break;
 }

64:1
07/03/26 21:27:58
>>62
あ~ようはCommandインスタンスのMapをインジェクションしたいと。
それならProviderでラッピングしてやれば出来るけど
Springより面倒だね(´・ω・`)


65:デフォルトの名無しさん
07/03/26 22:06:15
>>1
イタイゾ

66:デフォルトの名無しさん
07/03/29 16:09:29
とりあえず日本語の情報源っぽいもの

Users Guide翻訳
URLリンク(d.hatena.ne.jp)

なんか色々試してるブログ(のリンク)
URLリンク(www.wikihouse.com)

67:デフォルトの名無しさん
07/03/31 09:49:33
よし
XML定義ファイルからModuleを自動生成して登録する拡張を作るぞ

68:デフォルトの名無しさん
07/03/31 11:23:56
>>67
わかった
ならおれはOGNL実装する

69:デフォルトの名無しさん
07/03/31 12:15:35
SpringのXMLファイルをそのまま使ったらまずいかしら?

70:デフォルトの名無しさん
07/03/31 14:08:45
>>69
お!それいいね!

71:デフォルトの名無しさん
07/03/31 14:15:32
>>50
javaのお仕事ってこういうのが多いのかね?


72:デフォルトの名無しさん
07/04/01 01:54:39
XMLでbindの定義したのを読み込んで、Module内でバインディングしようとしたら
bindする型をはっきりさせないと遺憾からXML定義による自動バインディングは
できんかった・・・
バイトコードいじれば出来るのかしら?
しかしそれはメンドイ
やはりXMLからModeuleクラスを作るようにしよか・・・

73:デフォルトの名無しさん
07/04/01 10:07:58
>>72
おまいは本気でxmlで定義しようとしてるのか!?
あぁ。。4月1日か。。

74:デフォルトの名無しさん
07/04/01 10:32:36
バインド定義をコーディングするのはオレてきにメンドイ

75:デフォルトの名無しさん
07/04/01 11:08:29
続きはWebで・・・・
URLリンク(d.hatena.ne.jp)
(ここもWebだが)

76:デフォルトの名無しさん
07/04/01 11:29:47
>>74
なら、SpringかSeasar使えと。。
Guiceの利点はxmlを使わない所にある。

77:デフォルトの名無しさん
07/04/01 11:43:18
コードでバインディングめんどいかー?エディタで補完効いて快適じゃん。

78:デフォルトの名無しさん
07/04/01 11:48:03
コードをゴリゴリかくのメンドイし、どうバインディングされてるかわかりにくいのが良くないと思う
最終的にはExcelで定義したバインディング仕様からModuleクラスが作れればいいかなと・・・・
まぁ挫折してもエイプリルフールってことでw

79:デフォルトの名無しさん
07/04/01 12:02:20
>>78
10年程PGや設計やってきて出した俺的結論としては
PGのコード記述するのに、外部ファイルや自動生成系は使うなだな。
自動生成やるにしても、最初の1回だけで後は使わない。

理由は単体テストがやりにくい・リファクタリングが自動で出来ないのと、
管理がめんどいから。
自動生成で作成したJavaソースはいじらないってルール作っても、
従わないヴァカがいっぱいいるんだよ世の中。

78はまだ若そうだが、いずれ分かるようになるさ。

80:デフォルトの名無しさん
07/04/01 12:11:55
マダマダ若いなw
15年この業界にいてフレームワークを作り続けてきた俺の結論は
ドキュメント=実行モジュールになるのがもっとも生産性が高いってこと
幾らプログラム作ってもドキュメント化されないと保守できない
システムのメンテナンスは同じ人間がやれるわけでもないし、
新しい人間がスグに使えるようになる必要もあるのだよ

プログラマからすれば自分の作業が問題なければそれでいいカモしれんが
それじゃいかん

81:デフォルトの名無しさん
07/04/01 12:34:02
>>80
ま~理想で言えばそうだが、現実は違うわなw

ドキュメント書くだけでJavaソース作ってくれる
某G○nってツール使った事あるんだが、パフォーマンス糞だったぞ?
いくら生産性高くて(特殊なツールで生産性高いとは言えなかったが。。)
シス方と開発がウハウハでもユーザー不在なのはどうかと。

ドキュメント書くのはSEの仕事だから、
PGはJavaDocさえきっちり書いとけばいいんじゃね?


82:デフォルトの名無しさん
07/04/01 12:48:14
ドキュメント=実行モジュールと考えるからよくない。
実行モジュール=ドキュメントと考えればいいんだ。
つまり、ソースがそのままドキュメントになる。

guiceは、メソッドがinとかtoとかになってるんだが、
英語が母国語な人にとっては、
このソースはドキュメントっぽく読めるんじゃないだろうか。

83:デフォルトの名無しさん
07/04/01 12:57:43
>>81
1から10までってのは難しいと思うけど、インターフェイスの部分て言うのは
わかりにくいからドキュメント化したいし、バグの温床でもあるからねぇ。

例えばエンティティクラスやStrutsのActionFormのようなデータインターフェイス
は自動生成して、データの転送はリフレクションを使ったプロパティコピー
ユーティリティのようなもの(commons-beanとか)でコードを極力書かない
ようにしたほうがバグも少ないし生産性も高い。

Guiceの場合はGuiceとアプリケーションのインターフェイスであるModule
を自動で作ったりバインドしたりする方がそのインターフェイス間での問題が
少なくなるし、どんなバインディングしてるのかが第3者にもわかりやすくなる。


>>82
Hibernateもそうだけど、

 hoge.createSQLQuery(...).
    .addEntity(.....)
    .setString(....)
    .list()

見たいな続けて書くのがはやってるね。
こういうプログラムを書のは面白いと思うけどw

84:デフォルトの名無しさん
07/04/01 13:23:12
>>82
ドキュメント=実行モジュールも
実行モジュール=ドキュメントも同じ意味なんぢゃ。。

ソースがそのままドキュメントになるのは同意。
ただ、実装のソースじゃなくてTDDなjUnitテストケースのソース(javaDoc付き)だが。

ちなみに、
>英語が母国語な人にとっては、
>このソースはドキュメントっぽく読めるんじゃないだろうか。
この考え方はCOBOLやSQLに取り入れられてる。

85:デフォルトの名無しさん
07/04/01 22:41:55
よかったらおためしくだされw
URLリンク(d.hatena.ne.jp)

86:デフォルトの名無しさん
07/04/03 02:07:39
guice使えるよguice

87:デフォルトの名無しさん
07/04/03 12:06:39
Springは使うインターフェースがドキュメントにかかれてないとわからないけど
Guiceはモジュールを見るだけだから一目瞭然でわかりやすいな

ドキュメントが常に最新のコードをあらわしているわけではないという法則があるから
これはうれしい

88:デフォルトの名無しさん
07/04/03 22:58:17
ふうん

89:デフォルトの名無しさん
07/04/04 00:09:33
結局、俺はリファクタリングが利くのが一番いけてるところだと思うな。
XMLの書き間違い、規約の間違いみたいなものは、ビルド時に発見されるので
単純だけど問題解決に時間がかかってしまうケアレスミスみたいなのが減る。

これはプログラマの精神安定的な観点からも非常にいいことだと思う。

もっとも、リファクタリング(の自動化サポート)の価値については
Javaを使ってるさらにIDE族(多分Eclipseが最大勢力)だけしか、
価値が分かってない気がするので一般のプログラマーには
あんまりありがたみが分からないだろうなーってのも事実。

90:デフォルトの名無しさん
07/04/04 00:20:51
>>89 参考になる。
メモメモφ。

91:デフォルトの名無しさん
07/04/04 00:35:23
Springだとどのインターフェースでアクセスすればいいのかがわからないために
仕様書眺めて使うようなタイプになっちまう

>>89
タイプセーフってのは大きいよ
コンパイルが通るだけでもモジュール定義とか失敗してないのがわかるわけで
IDEのサポートがないならなおさら重要

あと実装ベースでDIする場合モジュール定義がいらないので手軽な疎結合にも十分な価値がある
おもにJavaSE側でGUIクライアント側で使う場合や小規模実装にすばらしく重要

92:デフォルトの名無しさん
07/04/04 02:02:47
>>89
だな。コンパイラがチェックしてくれるのはかなり大きい。
IDEが使える環境ならxmlもチェックしてくれるが、
使えない環境では実行時にしか分からないのが痛い。

IDE使っててもリファクタリング何それ?な奴が殆どだけどな


93:デフォルトの名無しさん
07/04/06 00:44:49
いいよGuice

94:デフォルトの名無しさん
07/04/06 22:42:09
>>92
一番はありえないだろjava使ってたらさ…とまじれす

95:デフォルトの名無しさん
07/04/06 22:43:10
×一番はありえないだろjava使ってたらさ…とまじれす
○一番下はありえないだろIDEでjava使ってるならさ…とマジレス

96:デフォルトの名無しさん
07/04/07 09:06:57
>>95
いや、ありえる。
リファクタリングとユニットテストの関係を分かってない奴だと、1度動いたソースを修正することに抵抗が在る奴らが多い。

97:デフォルトの名無しさん
07/04/07 09:40:44
リファクタリングって別にIDEでの一部の機能だけをさすわけじゃないから
動いてるソースをいじるのは誰だって抵抗はあるだろ


98:デフォルトの名無しさん
07/04/07 09:52:09
つーか
Guiceがリファクタリングにコレまで以上に貢献しているってわけでもないような・・・・

99:デフォルトの名無しさん
07/04/07 15:02:07
>>97
jUnitできちっとテストコード書いてる
テストファースト信者なおれは抵抗ないがな


100:デフォルトの名無しさん
07/04/07 16:17:24
>>99
単体テストが通るのは当たり前
それ以外の抜けが問題になる場合もあるわけで

101:デフォルトの名無しさん
07/04/07 16:24:59
>>100
それは仕様漏れでリファクタリングには関係ないだろ

102:デフォルトの名無しさん
07/04/07 21:33:51
>>99
多分これから貢献する。
Javaだけで完結すると言う事は開発現場に時々居る
プロジェクトで決められたプラグインを入れない馬鹿でも
ビルドエラーに気付けると言うことだからな。

>>100
シナリオベースの単体テストが書けてないお前が馬鹿なだけ。

まぁ、DI使おうが何使おうがとにかく一番恐ろしいのはUI層にロジックを書いてしまう事だな。
SwingでもStrutsでもUIに近いところは自動化できない(難しい)領域っていうのは紛れの無い事実。
リファクタリングも実装の置き換えも、自動テスト無しでは
どうしてやっても自信を持って変更後のソースの正当性を保障する事が難しくなる。

103:デフォルトの名無しさん
07/04/07 21:57:30
>>102
シナリオベースとかそういう話以前の問題
単体テストやコードがみんなまともにできていれば苦労はせんよ
わざとバグ出してくださいっていうところも多いしな
100行に3つくらいバグがナイトテストが不十分とか言う富士通系で多いアレとか

104:デフォルトの名無しさん
07/04/08 02:48:56
パーペキなコードを書いてやったら、
テストでバグが出なくて品質に問題「あり」にされてしまった俺を助けて。


105:デフォルトの名無しさん
07/04/08 03:46:54
>>104
それはテストケース(チーム)が悪いって事にしとけ

106:デフォルトの名無しさん
07/04/11 01:07:17
2.0待ち?

107:デフォルトの名無しさん
07/04/11 01:52:22
普通に安定して動いてるよ

108:デフォルトの名無しさん
07/04/11 16:01:23
WebアプリならViewとDAOは何組み合わせるとウマーな感じ?
無難にStrutsとハイバネあたり?

109:デフォルトの名無しさん
07/04/11 16:53:34
GuiceはStruts2サポートされてるよ
DAOは何使ってもいいけどJPA使うだろうからTopLinkのほうがおそらく便利

110:デフォルトの名無しさん
07/04/13 00:57:50
実際裸のDIコンテナなんだよなー

111:デフォルトの名無しさん
07/04/13 02:11:05
>>110
その方がシンプルでいい訳だが

112:デフォルトの名無しさん
07/04/13 10:33:17
トンクス
そうだよね
シンプルたから何使っても良いのが萌え(*´Д`)
とりあえすStruts使うとして
DAOはS2DAOとか組み合わせてみようかな…とか妄想中


113:デフォルトの名無しさん
07/04/13 11:47:37
何それ?

114:デフォルトの名無しさん
07/04/13 23:06:05
まぁ遊びならなんだっていいんじゃね

115:デフォルトの名無しさん
07/04/14 00:10:07
>>112
S2系は業務で使うのは止めといた方がいいぞ


116:デフォルトの名無しさん
07/04/15 13:04:37
グーグル ジュース か。ストローがほしいなw

117:デフォルトの名無しさん
07/04/15 13:18:17
Guiceはぐいすと読んでしまう

しかし、依存ライブラリがないってのはいいね

118:デフォルトの名無しさん
07/04/16 01:26:44
だが結局はおざなりのライブラリの組み合わせになってしまう事実w

119:デフォルトの名無しさん
07/04/16 01:53:10
>>118
元々勝手に好きなの使えってスタンスなんじゃね?


120:デフォルトの名無しさん
07/04/16 02:06:12
好きな組み合わせがGuice+Struts+Hibernateって
個性を主張してもやってることは皆同じw
しかもそれらのプロバイダーは自分で書かなきゃならんしw

121:デフォルトの名無しさん
07/04/16 02:10:34
逆に自作DIフレームワーク作るベースとしてはおもろいかもね

122:デフォルトの名無しさん
07/04/16 02:16:34
そうか!これからgoogle版ORマッパーを出す伏線なんだな
むしろリレーショナルDBに変わる物出してくれって気もするが

123:デフォルトの名無しさん
07/04/17 23:51:09

実務でつこてんの?

124:デフォルトの名無しさん
07/04/18 00:21:29
googleがつかってるな


125:デフォルトの名無しさん
07/04/18 00:22:25
あほか

126:デフォルトの名無しさん
07/04/18 00:35:58
つかってるよ

127:デフォルトの名無しさん
07/04/18 00:38:25
うそつけ

128:デフォルトの名無しさん
07/04/18 01:33:36
使いたいが、サーバーがjava5対応して無いから使えね~~~~~
これからGuiceくるぞ。
SpringとSeasarを使い込んだおれが言うんだから間違いない。

129:デフォルトの名無しさん
07/04/18 01:52:10
>>127
うそじゃないよ

130:デフォルトの名無しさん
07/04/18 02:02:48
つこてんの?

131:デフォルトの名無しさん
07/04/18 02:19:04
つこてるよ

132:デフォルトの名無しさん
07/04/18 02:22:56
ふーん。どこで?

133:デフォルトの名無しさん
07/04/18 11:32:51
業務で

134:デフォルトの名無しさん
07/04/18 11:47:55
うそつけ

135:デフォルトの名無しさん
07/04/18 11:48:42
うそじゃないよ

136:デフォルトの名無しさん
07/04/18 11:49:40
これからGuiceくるぞ。



137:デフォルトの名無しさん
07/04/18 11:50:19
>>136
どこへ?

138:デフォルトの名無しさん
07/04/18 11:52:12
googleへ。

139:デフォルトの名無しさん
07/04/18 12:02:28
あほか。

雑談はーーーーーーーー終了ーーーーーーーーー

140:デフォルトの名無しさん
07/04/18 14:53:19
I USE IT.

141:デフォルトの名無しさん
07/04/18 15:22:55
新規のプロジェクトはGuiceしか考えられないね

142:デフォルトの名無しさん
07/04/18 18:35:25

実務でつこてんの?

143:デフォルトの名無しさん
07/04/18 18:59:44
つこてる

144:デフォルトの名無しさん
07/04/18 19:07:37
しかしDIコンテナの数が増えるのはいただけない。
そろそろ学習コストこそがJavaの最大のボトルネックだと気づいて欲しい。
JDBC4.0がDAOの主流になることを祈るばかり。

145:デフォルトの名無しさん
07/04/18 19:10:49
JDBC4は静的なSQLしかつかえんのがな
INはコレクションわたせるようにならんかな

あとJDBC4はいまだ未完成では?

JPAともかぶりやすいのが癌

146:デフォルトの名無しさん
07/04/18 19:55:28
>>144
こんなもん10分で覚えられるやろ

147:デフォルトの名無しさん
07/04/18 20:24:54
うそつけ

148:デフォルトの名無しさん
07/04/19 00:00:36
実は学習しないヤツがこの業界全てのボトルネックだという事実

149:デフォルトの名無しさん
07/04/19 00:03:11
全然事実じゃねーよ、混沌としすぎてRubyが持てはやされてるくらいだ

150:デフォルトの名無しさん
07/04/19 00:05:38
あほか

151:デフォルトの名無しさん
07/04/19 00:29:25
うそじゃないのに

152:デフォルトの名無しさん
07/04/19 00:32:27
オナニー言語ってことだろ
Javaは

153:デフォルトの名無しさん
07/04/19 00:42:26
Springを大体知ってりゃguiceの学習時間は10分で済むって

154:デフォルトの名無しさん
07/04/19 00:56:25
つか覚えるとこねーじゃん
なんにもないんだから

155:デフォルトの名無しさん
07/04/19 01:55:57

実務でつこてんの?


156:デフォルトの名無しさん
07/04/19 11:50:48
つこてるよ

157:デフォルトの名無しさん
07/04/19 21:27:23
AdWordsがGuiceつこてるらしいし、自信作らしいってことは確か。

158:デフォルトの名無しさん
07/04/19 21:49:21
あほか

159:デフォルトの名無しさん
07/04/19 21:59:43
何か湧いてるな

160:デフォルトの名無しさん
07/04/19 22:00:34
Guiceがシェアとると困る人はというと・・・

161:デフォルトの名無しさん
07/04/19 23:18:45
その内Guice用のなんたらがわんさか出てくるんかのー?

162:デフォルトの名無しさん
07/04/19 23:38:48
Struts2とかはGuiceが一番現実的だな

あとサーバーサイドではSpringなど比較的なんでもいいけど
クライアントサイドだとGuiceが一択かと

163:デフォルトの名無しさん
07/04/20 22:08:40
>>162
は?

164:デフォルトの名無しさん
07/04/20 22:15:55
>>163
使ってないやつはこなくていいよ

165:デフォルトの名無しさん
07/04/20 22:30:19
>162 名前: デフォルトの名無しさん Mail: sage 投稿日: 2007/04/19(木) 23:38:48
>Struts2とかはGuiceが一番現実的だな
>
>あとサーバーサイドではSpringなど比較的なんでもいいけど
>クライアントサイドだとGuiceが一択かと

クライアントサイド( ゚Д゚)

166:デフォルトの名無しさん
07/04/20 22:43:34
クライアントサイドのコードもかけないド素人かよ

167:デフォルトの名無しさん
07/04/20 22:47:48
162の人気に嫉妬

168:デフォルトの名無しさん
07/04/20 22:56:20
Guiceのことで語ることはないのがなー

169:デフォルトの名無しさん
07/04/20 23:17:00
現実のシステムで、DB回りとかのUnitTest以外で役に立つ場面てあるの?
机上の空論じゃなくて、現実のシステムで、な。

170:デフォルトの名無しさん
07/04/20 23:21:49
>DB回りとかのUnitTest以外
ソコが限定される理由もわからんがw

171:デフォルトの名無しさん
07/04/20 23:29:05
こいつ670KBって、クライアントじゃ起動時間が惜しくて使えないな
Class#forNameとMap<String, Deque>あたりの即席DI&プールで十分かと

172:デフォルトの名無しさん
07/04/20 23:46:56
>>171
670KBってどこのサイズ?

173:デフォルトの名無しさん
07/04/20 23:52:28
zipのサイズを言うのはおかしいな。とはいってもjarも544KBあるが。

174:デフォルトの名無しさん
07/04/21 00:05:51
というかサイズと起動時間がどう関係あるの?

175:デフォルトの名無しさん
07/04/21 00:29:42
クラスの依存関係が深ければ取り出しに時間が掛かるでしょ

176:デフォルトの名無しさん
07/04/21 00:38:24
巨大なjarがアプリケーションの起動にかける負荷を知らない奴はクソ。

「サーバーサイドなら、一度起動したら普通落とさないから」

とか知った風な事を言う奴も同様にクソ。

177:デフォルトの名無しさん
07/04/21 00:49:57
キチガイの罵詈雑言でスレが滅茶苦茶になるパターン飽きた

178:デフォルトの名無しさん
07/04/21 01:03:44
DI関係でひとつのスレッドにすりゃよかったんだ

179:デフォルトの名無しさん
07/04/21 01:05:26
世界はお前の都合に合わせて回っているわけではない。

180:デフォルトの名無しさん
07/04/21 01:07:55
ならぐだぐだでも文句は言えんな

181:デフォルトの名無しさん
07/04/21 01:14:25
死ねキチガイ

182:デフォルトの名無しさん
07/04/21 01:19:14
世界はお前の都合に合わせて回っているわけではない。

183:デフォルトの名無しさん
07/04/21 01:28:06
>>182
キチガイ>>180の相手はお前に任せたw
朝まで相手してやれ。

184:デフォルトの名無しさん
07/04/21 01:32:31
言ってる本人が一番基地ってるってとこが哀れだな

185:デフォルトの名無しさん
07/04/21 01:32:55
なんでここ荒れてんの

186:デフォルトの名無しさん
07/04/21 01:35:12
キチガイが出没したから

187:デフォルトの名無しさん
07/04/21 01:37:38
自己紹介乙って言われるだけだっていい加減気づけよ
ただ騒ぎ立てたいだけなんだろうが

188:デフォルトの名無しさん
07/04/21 01:38:41
荒らすなよ。よそ行ってやれ。

189:デフォルトの名無しさん
07/04/21 01:40:23
うっ、もれそう。ちょっとトイレを貸してくれないか。

190:デフォルトの名無しさん
07/04/21 01:41:14
何これ?
また異常者が自作自演してるのか?

191:デフォルトの名無しさん
07/04/21 01:42:39
キチガイほどキチガイって言葉を使いたがる良いサンプルスレになったな

192:デフォルトの名無しさん
07/04/21 01:43:13
ここでやる意味がわからん
荒らしのセンスすらゼロだな

193:デフォルトの名無しさん
07/04/21 01:44:56
でも普通に安定して動いてるよ

194:デフォルトの名無しさん
07/04/21 01:45:27
自作自演乙

溜まってるのは判ったから
とにかく荒らすな

195:デフォルトの名無しさん
07/04/21 01:46:26
>>194
荒らしは無視が一番。かまわないほうがいいよ。

196:デフォルトの名無しさん
07/04/21 01:46:32
>>194
おまえが消えろよ、学習能力ない奴だな・・・

197:デフォルトの名無しさん
07/04/21 01:47:15
>>194-197 自演乙!!!!!

198:デフォルトの名無しさん
07/04/21 01:50:30
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン

199:デフォルトの名無しさん
07/04/21 01:54:20
異常なまでの過剰反応っぷりに
病的なものを感じた。

200:デフォルトの名無しさん
07/04/21 01:55:37
荒らし以前に、つまらなすぎてイラっとくるわ
キティなのは知ってたけど、バカになっちゃったの?

201:デフォルトの名無しさん
07/04/21 01:56:44
544KB程度で巨大なの?
そんなに負荷かかるもんなの?
いや知らないから聞いてるんだけどね。


202:デフォルトの名無しさん
07/04/21 01:58:01
>>201
おれは十分軽いと思うんだけどね。
使ったこともないやつがふかしてるだけかと。

203:デフォルトの名無しさん
07/04/21 01:58:54
話題のつまらなさにイラッとくるわ
バカでキティなのは知ってたけど、
最近ますます心にゆとりがなくなってるな

204:デフォルトの名無しさん
07/04/21 01:59:35
>>202
そんな感じ

205:デフォルトの名無しさん
07/04/21 02:03:31
>>203
来んなよw
おめえが荒らすから人が少ねんだよw

206:デフォルトの名無しさん
07/04/21 02:04:32
ハッタリをからかうと面白いな。
ちょっとつついただけで、すぐに10も20もレスを返してくる。
もし心にゆとりがあったら軽くスルーできる程度の話。

207:デフォルトの名無しさん
07/04/21 02:05:58
ゆとりの無い奴らしかいないスレだな・・・

208:デフォルトの名無しさん
07/04/21 02:06:46
おい、ハッタリ
いい加減にしろ

209:デフォルトの名無しさん
07/04/21 02:10:01
悪いことは言わない、病院へ行け。

210:デフォルトの名無しさん
07/04/21 02:11:54
ハッタリ、もう荒すのはよせ
お前のハッタリはスレ汚しだ
さっさと首吊れ

211:デフォルトの名無しさん
07/04/21 02:14:22
なにがよせだよ
いい加減にして、豆腐スレ帰っぞ

212:デフォルトの名無しさん
07/04/21 02:18:28
>>206
いつも切迫してるから、ちょっとした事でキレまくるのな

213:デフォルトの名無しさん
07/04/21 02:20:08
それがハッタリくんの人生

214:デフォルトの名無しさん
07/04/21 08:22:44
この記事のコードだけでも俺の環境だと実行に314msだな
URLリンク(journal.mycom.co.jp)

Eclipse級のほかの重さでごまかせるレベルのアプリならともかく
小物アプリにたかがDIを実装するためにこの起動コストは無駄。

215:デフォルトの名無しさん
07/04/21 08:43:39
なんで小物と決め付けるの?

216:デフォルトの名無しさん
07/04/21 09:07:38
まあだいたい実務で使ってるっていってるヤツも
ゴミのような小さい規模のアプリ(っていうかアプレット?)
しか作ってないんだと思うけどね

217:デフォルトの名無しさん
07/04/21 09:28:30
大きいのにつこてるよ

218:デフォルトの名無しさん
07/04/21 09:29:03
うそつけ

219:デフォルトの名無しさん
07/04/21 09:40:31
うそじゃないよ

220:デフォルトの名無しさん
07/04/21 09:47:14
DIなしなら何msなの?


221:デフォルトの名無しさん
07/04/21 10:54:26
>>214
Springだと一分かかるぞ

222:デフォルトの名無しさん
07/04/21 10:57:25
いやいやいやいや


ほんまに…?
いや、冗談だよね?


223:デフォルトの名無しさん
07/04/21 10:59:37
マシンスペックにもよるだろう

224:デフォルトの名無しさん
07/04/21 11:15:50
ハッタリの自作自演は無駄口が多いから
延々と話題が上滑りして本質的な議論は何も行われないのが特徴

225:デフォルトの名無しさん
07/04/21 11:20:35
>>224
本質的な議論はじめていいぞ。はやくしろ。

226:デフォルトの名無しさん
07/04/21 11:22:03
ハッタリにタダで情報提供する筋合いはない。
独りでオナってろ

227:デフォルトの名無しさん
07/04/21 11:24:57
>>226
あれ?お前の嫌いなたかひろとおんなしこといってらw
あーあ。

228:デフォルトの名無しさん
07/04/21 11:30:10
またお前の脳内友達の話か。

229:デフォルトの名無しさん
07/04/21 11:34:28
>>226
おまえにはがっかりだよw
死ね

230:デフォルトの名無しさん
07/04/21 11:38:36
お先にどうぞ。

結局お前の一番ダメな所は
ハッタリこいて延々話を空回りさせて
スレに誰も寄り付かないような状況にすることだ。
パーサスレのデタラメさ加減、どーしよーもねぇだろ。
まず基礎知識をちゃんと付けろ。

あと、くだらねぇ自作自演やってる暇があったら
自分で勉強して自分で成果出して、
成果だけ発表しろ。


231:デフォルトの名無しさん
07/04/21 11:39:50
ハッタリちゃんはスルー力が足りない。
きっと、スルーしたらハッタリを認めた事になるから
スルーできないのだろう。

232:デフォルトの名無しさん
07/04/21 11:56:30
>>230
外でないから話題の少ないことw

233:デフォルトの名無しさん
07/04/21 11:59:55
なんだ自己分析できてるのか

234:デフォルトの名無しさん
07/04/21 12:08:17
へたっぴw

235:デフォルトの名無しさん
07/04/21 12:09:18
ハッタリをちょっと突付いたら一昼夜キチガイ騒ぎか
だらしねぇ

236:デフォルトの名無しさん
07/04/21 12:12:09
俺のレスみて勉強しろ。へたっぴ荒らしw

237:デフォルトの名無しさん
07/04/21 12:13:34
まだイジメられたいのかwマゾかお前は

238:デフォルトの名無しさん
07/04/21 12:31:17
・基本的にスルー力が足りないのだと思う。
・「荒しに反応するのも荒し」という経験則が、
 荒し検出に非常に有効である事を再確認できた。
・同様に「キ○○○という単語に過剰反応を示す奴は、
 たいてい本人がキ○○○」という経験則が得られた。

239:デフォルトの名無しさん
07/04/21 13:17:44
DI frameworkの中じゃ一番速い訳だが

>27 名前: 1 Mail: sage 投稿日: 2007/03/24(土) 18:48:31
>>>24
>そうならないように、スピード比較結果を貼ってみる
>1回目
>Spring: 1,734 creations/s
>Guice: 35,161 creations/s
>S2: 18,395 creations/s
>2回目
>Spring: 1,776 creations/s
>Guice: 37,202 creations/s
>S2: 19,394 creations/s
>3回目
>Spring: 1,783 creations/s
>Guice: 36,764 creations/s
>S2: 19,164 creations/s
>
>数字大きい方が速いって事で。
>
>URLリンク(d.hatena.ne.jp)


240:デフォルトの名無しさん
07/04/21 14:26:30
それはDIコンテナの初期化そのものじゃないから計測対象が違う。
サーバ用途としては今後筆頭のDIコンテナになるだろうことは確か。
Springからしても競合相手じゃなくて補完してくれるサービスプロバイダってだけ。

241:デフォルトの名無しさん
07/04/21 16:51:38
サーバープログラムで起動時間が多少かかったとしても問題あるとは思わんがな

>>240
補完?あきらかにベースを置き換える物なんだが
Guice理解してるか?

242:デフォルトの名無しさん
07/04/21 16:53:04
クライアントで0.1秒起動が遅れても問題があるとはおもえないけどな

243:デフォルトの名無しさん
07/04/21 16:55:21
GWTの例もあるし、単にGoogleってだけで広まるとは思えない
革命的に既存のDIコンテナとは違う! という機能を提供してるわけでもないしな

244:デフォルトの名無しさん
07/04/21 16:59:54
・軽量であること
・タイプセーフであること
・従来のコードでもすぐに実装可能なこと
・上記によって拡張がしやすいこと

245:デフォルトの名無しさん
07/04/21 17:04:05
>>241がSpringを理解してないだけ。

246:デフォルトの名無しさん
07/04/21 17:20:35
>>241
Springの一部を肩代わり出来るモジュールだな。
まぁ、DI部分だからベースと言えん事もないが

247:デフォルトの名無しさん
07/04/21 19:02:11
こいつの発言がいつも挙動ってるのはデフォ?

248:デフォルトの名無しさん
07/04/21 19:13:18
>>247
アペオスは飛ばないし、Googleは挙動らないだろう?

249:デフォルトの名無しさん
07/04/21 19:18:54
>>247
自作自演の人だから。
時々ツッコミが入ると挙動る。

250:デフォルトの名無しさん
07/04/21 23:29:49
で?

251:デフォルトの名無しさん
07/04/21 23:49:11
つこてるよ

252:デフォルトの名無しさん
07/04/22 00:10:48
大きいのにもつこてるか?

253:デフォルトの名無しさん
07/04/22 00:38:16
つこてるよ

254:デフォルトの名無しさん
07/04/22 00:38:55
サンクス!

255:デフォルトの名無しさん
07/04/22 00:48:21
>>253-254
レスはやっ!


256:デフォルトの名無しさん
07/04/22 01:24:18
どのくらいの大きさ?

257:デフォルトの名無しさん
07/04/22 02:00:10
このっくらい…だったよ。By船長


258:デフォルトの名無しさん
07/04/23 22:39:53
ふーん

259:デフォルトの名無しさん
07/04/23 23:06:14
つこてるよ
クライアントにも鯖にも

260:デフォルトの名無しさん
07/04/24 00:06:19
Guice使ってみてがっかりしたこと。
例えば以下のように依存性注入をしようとしたとする。

binder.bind(Clock.class).to(ClockImpl.class).in(Scopes.SINGLETON);

普通、この一文は全部補完出来るだろうと考えるだろう。
けど、bind の中は補完が聞かないのだ。

正直泣けた。

261:デフォルトの名無しさん
07/04/24 00:14:37
>>260
でだ。お前は一体何が原因で泣いてるんだ

262:デフォルトの名無しさん
07/04/24 00:16:52
俺も>>260のいいたいことがわからん

263:デフォルトの名無しさん
07/04/24 00:38:30
eclipseを使ってて

binder.bind(C ←この状態で Ctrl+Spaceで補完候補をリストしようとしたが、うんともすんとも言わなかった。



264:デフォルトの名無しさん
07/04/24 00:40:51
つかなんで其処だけできないわけ?
そんなことありうるの?

265:デフォルトの名無しさん
07/04/24 00:44:27
>>263
暖かくなって来たね(´∀`)

266:デフォルトの名無しさん
07/04/24 00:50:08
利くよ?おまいさんのeclipseがおかしいだけじゃない?

267:デフォルトの名無しさん
07/04/24 00:50:52
そうなのか。バージョンアップしてくらぁ。

268:デフォルトの名無しさん
07/04/24 11:19:37
なんという春・・・

269:デフォルトの名無しさん
07/04/25 00:55:27
Springといいますかな?

270:デフォルトの名無しさん
07/04/25 11:15:41
真っ当なスレ名で技術系の話題がまったくないスレというのもめずらしい

271:デフォルトの名無しさん
07/04/25 18:55:09
Googleってだけで無条件に全てを超越してるみたいな考えの信者が沸くんだよなw

272:デフォルトの名無しさん
07/04/25 20:08:22
DIスレでは当たり前

273:デフォルトの名無しさん
07/04/26 00:05:08
Seasarのスレってよくのびるよなぁ・・・

274:デフォルトの名無しさん
07/04/26 21:55:01
色々な意味でホットだからね

275:デフォルトの名無しさん
07/04/26 21:58:21
最近は標準信仰な俺様としては、Springの味方が増えるのは複雑なんだぜ。

276:デフォルトの名無しさん
07/04/27 03:05:01
なんかDIスレって初心者が質問して、
そこから荒れて行くパターン多いよな。
やっぱり、しったか君達が多いって事なんだろうか

277:デフォルトの名無しさん
07/04/27 03:06:18
そうだな

278:デフォルトの名無しさん
07/04/27 18:48:32
DIはアノテーション中毒に掛かりすぎだな
XMLの変わりにアノテーションに注目が集まって
アノテーションが多すぎるから今度はメタアノテーション。

279:デフォルトの名無しさん
07/04/27 19:50:56
むしろXML中毒すぎたのでは?

280:デフォルトの名無しさん
07/04/28 16:24:11
設定が多いのウゼーよなー
色々できるけど設定覆いみたいなんじゃ本末転倒

281:デフォルトの名無しさん
07/05/01 18:37:56
Guice使ってからSpring使おうとすると、XMLの記述に引く

282:デフォルトの名無しさん
07/05/01 18:47:04
俺Springからの以降だけど、かなり満足

定義をどこでやるかの違いでしかないといいたいところだが、
Guiceはプル型でSpringはプッシュ型だからまったく使い方や考え方が違うんだよね

おかげでファサードパターンやアダプターパターンが便利すぎる

283:デフォルトの名無しさん
07/05/03 01:43:33
krank crudってSpring経由じゃないとGuiceで使えんの?

284:デフォルトの名無しさん
07/05/03 10:40:50
プル型ってDIじゃなくてサービスロケータになるじゃんよ。
使い方おかしくね?

285:デフォルトの名無しさん
07/05/03 11:36:54
注入されるオブジェクトをコントロールできるサービスロケータ
GuiceやEJB3は現実的な解をとったんだよ

やってることはそうかわらんことと、注入される場所がコードを見て明示的であることは大きい

286:デフォルトの名無しさん
07/05/03 15:32:22
>>283
SpringのJpaSupportつことるから無理じゃね
Google、Guice用も作ってくれよGoogle

287:デフォルトの名無しさん
07/05/07 22:04:05
ここまでか・・・・

288:デフォルトの名無しさん
07/05/07 22:16:54
Guiceは自前でフレームワークを作る場合に最適だな
JPAも特に面倒なことはないしな

289:デフォルトの名無しさん
07/05/07 22:34:58
だな

290:デフォルトの名無しさん
07/05/07 22:39:03
seasarあげ

291:デフォルトの名無しさん
07/05/07 22:53:52
つか
使ってないんでしょホントウは

292:デフォルトの名無しさん
07/05/07 23:02:30
つこてるよ

293:デフォルトの名無しさん
07/05/07 23:21:44
どんな業務のシステムにつこてんの?

294:デフォルトの名無しさん
07/05/07 23:25:35
流通系だよ
これ以上はさすがに無理

295:デフォルトの名無しさん
07/05/08 00:18:56
Guice以外は何つこてんの?

296:デフォルトの名無しさん
07/05/08 14:05:03
JPAだよ

297:デフォルトの名無しさん
07/05/08 21:12:35
そんなに勿体つけることもあるまいが
まさか自作JPA実装?

298:デフォルトの名無しさん
07/05/08 21:20:21
>>297


299:デフォルトの名無しさん
07/05/08 21:34:31
どのJPA実装使ってんの?
URLリンク(www.jpa-pg.jp)
URLリンク(www.jpa-photo.com)
URLリンク(www.jpa-powerlifting.or.jp)
URLリンク(www.jpa.gr.jp)

300:デフォルトの名無しさん
07/05/08 22:48:15
つまんね

301:デフォルトの名無しさん
07/05/09 00:51:57
Guiceもな
インパクトよえーよな

302:デフォルトの名無しさん
07/05/09 02:01:32
seasar2よりましだからどうにでもなる

303:デフォルトの名無しさん
07/05/11 20:34:23
ふーん
で?

304:デフォルトの名無しさん
07/05/15 22:11:00
Guice終わったな・・・・

305:デフォルトの名無しさん
07/05/21 23:18:04
しかしながら
使う気になれんなー

306:デフォルトの名無しさん
07/05/21 23:37:42
>>305
マルチしね

307:デフォルトの名無しさん
07/05/25 20:39:32
語ることねーな

308:デフォルトの名無しさん
07/05/25 21:03:14
みんな業務で試用していて忙しいし

309:デフォルトの名無しさん
07/05/25 22:09:59
             . ィ
.._ .......、._    _ /:/l!  またまた ご冗談を
 :~""''.>゙' "~ ,、、''‐'、|         _ 
゙、'、::::::ノ:::::::_,.-=.  _~:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙

310:デフォルトの名無しさん
07/05/25 23:28:54
つこてるよ

311:デフォルトの名無しさん
07/05/26 00:37:48
>>310
いくらの案件で?

312:デフォルトの名無しさん
07/05/26 15:55:32
次の案件で激しく使いたいが
APサーバがjava1.4なんだよな。。ORZ

313:デフォルトの名無しさん
07/05/27 16:57:35
             . ィ
.._ .......、._    _ /:/l!  またまた ご冗談を
 :~""''.>゙' "~ ,、、''‐'、|         _ 
゙、'、::::::ノ:::::::_,.-=.  _~:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙

314:デフォルトの名無しさん
07/05/27 18:16:53
guiceはseasar2よりはいい

315:デフォルトの名無しさん
07/05/27 18:49:57
>>1?以外の意見が聞きたいノー

316:デフォルトの名無しさん
07/05/27 18:59:56
>>1って意見なにもいってないだろ?

317:デフォルトの名無しさん
07/05/27 19:46:45
なんかGuiceマンセーな奴以外ってこと

318:デフォルトの名無しさん
07/05/27 23:49:37
guiceのスレでしかもguice使っていればマンセーするのも当たり前だろ
seasar2スレはみなかったことに

319:デフォルトの名無しさん
07/05/28 00:12:14
マンセーしてる奴は一人と見てるが・・・?

320:デフォルトの名無しさん
07/06/05 20:45:45
意気消沈?

321:デフォルトの名無しさん
07/06/05 20:48:55
つこてるよ

322:デフォルトの名無しさん
07/06/05 20:57:53
大きいのにもつこてるか?

323:デフォルトの名無しさん
07/06/05 21:43:20
つこてるよ

324:デフォルトの名無しさん
07/06/05 21:45:26
空気のようにつこてるよ

325:デフォルトの名無しさん
07/06/05 21:47:02
金融系でもつこてるか?

326:デフォルトの名無しさん
07/06/05 22:03:48
闇金融系でつこてるよ

327:デフォルトの名無しさん
07/06/05 22:21:46
開発規模は?

328:デフォルトの名無しさん
07/06/05 22:22:49
Springを順次おきかえてるよ

329:デフォルトの名無しさん
07/06/05 22:24:19
guiceでカリー化の記事よんだか?

330:デフォルトの名無しさん
07/06/05 22:26:27
政府系でつこてるか?

331:デフォルトの名無しさん
07/06/05 23:04:04
まだ研究機関ではつこてないあるよ


332:デフォルトの名無しさん
07/06/05 23:22:12
チンコつこてるか?

333:デフォルトの名無しさん
07/06/05 23:32:27
>>332
使ってないからちょっとケツ貸して

334:デフォルトの名無しさん
07/06/09 23:17:54
これとibatis組み合わせて使ってる人いないかね

Struts2とかは大体Springと同じやり方で行けたんだけど、ibatisのトランザクション管理を上手いことGuiceで乗っとるやり方が見つからない

335:デフォルトの名無しさん
07/06/09 23:33:59
WEBアプリなら何をやるにしてもスレッドローカル使うだけじゃね?
サーブレットのサンプルもそうなってるはずだし

336:334
07/06/10 00:02:46
自分で使う分にはスレッドローカルで適当に何とか出来ちゃうんだけど、
iBATISのqueryForObjectとかで内部的に使っているConnectionを
なんとか制御できないとトランザクション管理が出来ないんだよなー。

JTAとかなら問題ないんだろうけど。

337:デフォルトの名無しさん
07/06/10 10:20:06
ibatisで鯖で使いたいのなら普通にJTA使うだろ・・・

338:デフォルトの名無しさん
07/06/11 23:45:14
つこてるよ

339:デフォルトの名無しさん
07/06/12 21:54:08
プ

340:デフォルトの名無しさん
07/06/26 23:59:47
          __   ┌<.^ヽ::/:::::/ ̄ ̄ ̄ ̄`ヽ:::::::::::\
.        /  ヽ. ,.ヘ⊥/:::::/___      マ::::::::::::ヽ
        /      マ´ /::::::::::::::::;ィ::::/::::::::::::: ̄ヽ.  |:::::::::::|:::ヘ
         |  ●   ト/::::::::::\:/ !::::l::::::::!::::::::::ヽ::\|:::ヽ::/::::::| __
         |      |′:::::;イ::/ヽ l::::ハ::::::|:::::::::::::|:::::::::::::::}' ̄ ̄   {
.      ,r1       l::::::::::l |::|  ヘ.|:::| l::::::ト:::::::::::ハ::::|:::|:::::| ヽ<二フ
      /'_コ      |、::::::| V   ヾ| ヽ:::|_,ゝ‐:T'|:::ル::::::|  ヘ` ー-、
     i´ !       l ヽ::::| ニミ:.、     ベ _,ゞ'=レ、l:::::::::|  _〉ト、
.      ノ  \       l:::ヽ  `      'f rヘ, ハ.ヽ:::::::{Tマ:::::ヽ `   鼻クソびーっ
    r´    ヽ、     |ヽ`   、 '       ヒこソイ'´::::::/}:|. ';:::::::l
    ! ヘ    T _, j ヽ. }、  }'` ー、   `´/:::::::::::/:::::| ヾ::::!     
   ノ   ',    Y_,-〈   V、:\ 、__ ノ    /::::::/::/::::::∧ ヾ!|     
    {  _  ヽ     ,`-'    | lヾ:/ヽ _. - ァ'::::::://::::::/:/:7T゙:|     
    ヽ. \ \__/     | | ' |ヽ、   /::ィ フ:/:::: ィヽイ::/l:j l:|    
     |` - 、>´ !'´ _. --r ’.l.  |\.` ー‐/ イ1;r7´/ /¬ /' '′   
    ヽ、_  ` ーゝ-'rイ   ! :l l.  |ヽ 二..ア  ´{!' / / | ∧       
        ̄ ´  .ゝ  |:| マ /   /   / // /  ヽ      
          ,r'´ |    ヽヽ ∨ /    / /∠ -'     〉
.        _/   ー-、  lヽソ∠二二 ´ -'_/_).       ,.〈
      ,.- ´ ′       ン' ̄{_フヽ二ネ¨ ,rァ─一´ ヽ----'´ |
      〉        ヽ ノ ハ`t.-' Y1          /
.     〈     /    ` | | ヽ ヽ、 | ヽ        /
.     \  /|        | |   \ \ 'シラ´ ̄ ̄ ̄

341:デフォルトの名無しさん
07/06/27 02:06:08
>>340
なんかのキャラか?

342:デフォルトの名無しさん
07/06/27 22:39:17
気にするな

343:デフォルトの名無しさん
07/07/08 16:24:59
guiceのbindInterceptorってProviderで返したインスタンスとかには適用されない?
自分でMatcher実装して調べてみた感じだめだっ多っぽいんだけど。

@Inject(optional=true)の場合もInterceptorされないからきっとこれもされないんだろうなあ。

344:デフォルトの名無しさん
07/07/08 16:53:47
なこたーない
あと@Injectは関係ないし

345:デフォルトの名無しさん
07/10/09 23:01:59
なんか、誰も使ってないのかしらん?
Guice使って、SpringみたいにTransaction管理を
任せる方法ってどなたかご存知ありません?

346:デフォルトの名無しさん
07/10/10 01:25:48
SpringでもSeasar2でもGuiceでも同じだろ

347:デフォルトの名無しさん
07/10/10 02:08:45
>>346
概念的なものは同じでも、設定方法とか違うと思うんですけど、同じなんですか?

348:デフォルトの名無しさん
07/10/10 06:46:08
リファレンスに書いてあるだろ

349:デフォルトの名無しさん
07/10/10 22:44:07
servletとの連携部分とかすでにあるっしょ
それ見ればわかるかと

むしろGuiceはシンプルなので他のものより理解はしやすいはず


350:デフォルトの名無しさん
07/10/11 00:41:58
>>347
用意されたものを使うしか脳がないならSpring使っとけ

351:デフォルトの名無しさん
07/10/18 15:46:38
>>343
>>344
これ実際試してみた人いる?
俺もダメなんだけど。
単純なクラスをgetInstanceしたものと、
単純なクラスをnewして返すだけのProviderを指定したクラスをgetInstance
したもので比較したけど前者しかMethodInterceptorが効かない。

352:デフォルトの名無しさん
07/10/18 17:08:26
toInstanceとProviderはインターセプトされないってのは常識かと

Guiceに生成を任せないってことは自前でセットアップしろということだろうね

353:351
07/10/18 17:17:36
>>352
あらま
じゃあ>>344がてきとーなことぬかしてただけか。
でもEJBとか使う場合はProvider使うのが一番自然だよなーー。
実際GuiceのJndiIntegrationにあるProviderもにたような問題が起こりそうだし。

354:デフォルトの名無しさん
07/10/18 20:37:13
EJB3で収まる範囲ならEJB3の使ったほうがいいんじゃね?
そもそもproviderはあんまり使えるとはおもえんし

355:デフォルトの名無しさん
08/03/08 23:00:36
アメリカのSanta Claraに来ています(サンノゼのすぐそば、サンフランシスコから車で1時間弱)
こういうカンファレンスに参加してきたのだが、
URLリンク(www.sdexpo.com)

そのなかで Guice のクラスがあった。
プレゼンのpdfが以下にあります。speaker は Bob Lee氏(Google の guice の開発チームの一人)
URLリンク(crazybob.org) (最後に / をつけちゃダメ)
URLリンク(crazybob.org)    ←Lee 氏の blog

内容は・・・・たぶんこのスレに来ている人はみんな知っているようなことだと思う。
(あと自分の英語力が足りなくてすべて理解できなかったけど)、たいてい PDF に書かれていることでした。
あと pdf のp45にもあるけど、そのうちツール面をリリースするつもりだ、と言っていました。
・Struts との統合、spring における struts integration みたいなもの
・Hibernate, JPA との統合

356:デフォルトの名無しさん
08/03/08 23:59:33
JPAサポートは標準でほしいね

357:デフォルトの名無しさん
08/08/06 23:55:53
流行っていないのかage

358:デフォルトの名無しさん
08/08/24 02:01:22
過疎にもほどがある

359:デフォルトの名無しさん
08/08/24 10:50:37
ImplementedByアノテーション使うべきか。
Moduleクラスを実装すべきか。

どっちがいい?

360:デフォルトの名無しさん
08/08/24 12:47:18
EJB3のような動作を期待したいなら前者で後者は実際の運用で必要になることはまずない

実装クラスは定義なしで使えるんで、小規模ならば実装クラスをそのまま使い、
あとで切り分けが必要になったらインターフェースに置き換えて分離する
というのでいいと思う

Namedだと手軽だけどタイプセーフじゃないし、Guiceのターゲットとなるアプリは
DIのみが重要って幹事が多いから、同じインターフェースで実装を変えるという
ことはしないほうがいい

もしやりたいなら継承したインターフェース使うのがいい

あとJavaコードならばIDEによるサポートはかならずあるので、
使用しているコードからインターフェース>実装コードと探すのがすごく楽

361:デフォルトの名無しさん
08/08/25 15:50:31
AOPでトランザクション管理するにはSpringと組み合わせなきゃ駄目?


362:デフォルトの名無しさん
08/08/25 16:28:21
なぜそう思うのだ

363:デフォルトの名無しさん
08/08/25 17:40:02
guice単体で見たときに、トランザクション管理の仕組みが無いようなので。

364:デフォルトの名無しさん
08/08/25 20:08:47
AOP使うんでしょ?
なら出来ないと思う理由がわからない

まずAOP使わないでトランザクション管理はできてるよね?

365:デフォルトの名無しさん
08/08/25 20:18:35
それはできます。

O/Rマッパー(例えばhibernate)を使ったときに
guice側でトランザクション管理がしたいんです。


366:デフォルトの名無しさん
08/09/07 16:34:20
フルスタックのフレームワークを使えばそういうことは
考えなくて済むぞw


367:デフォルトの名無しさん
08/09/07 22:24:49
釣りにマジレスカコワルイ

368:デフォルトの名無しさん
08/09/25 03:11:24
これだけ情報少ないとやっぱ導入したら
後の人に恨まれるだろうなあ

俺も昔enhydra導入した馬鹿先輩を恨んだしなあ

369:デフォルトの名無しさん
08/11/12 07:37:36
>>366
EJBですね。わかります。

370:デフォルトの名無しさん
08/11/12 23:40:38
まだあったか

371:デフォルトの名無しさん
08/11/13 00:00:26
DIというか疎結合というかインターフェース重視というか、
その辺の設計のツボがわかるようなお勧め本ないですか?

372:デフォルトの名無しさん
08/11/13 01:24:29
>>371
GoF

373:デフォルトの名無しさん
08/11/13 05:16:25
>> 371
PofEAA
URLリンク(capsctrl.que.jp)

374:デフォルトの名無しさん
08/11/13 08:48:45
もうパターンはうんざり
どうせみんな使いこなせないから

375:デフォルトの名無しさん
08/11/13 09:14:13
>>374
おまえだけだろ、転職しろ

376:デフォルトの名無しさん
08/11/13 09:15:57
ってかパターンについて根本的に勘違いしてるな。
特別なテクニックではなくて、カタログ化されたことが重要なんだよ

377:デフォルトの名無しさん
08/11/13 10:48:56
そんなはなししてねーよ
問題はそんな一般論は誰でも騙れるが
活用できる奴がいないということだよ
つまり絵に書いたもちと同じって事
お前らのような奴はデザパタなんて考えなくていいし
クラス設計なんかもし無くていいよ糞が

378:デフォルトの名無しさん
08/11/13 11:15:52
お前の周りにはいなさそうだなw

379:デフォルトの名無しさん
08/11/13 11:29:59
まー能書きたれるのは一人前な奴が多いのがこの業界だから仕方あるまい

380:デフォルトの名無しさん
08/11/13 13:39:14
実際、疎結合というかインターフェース重視をより意識するようになったのはGoFのデザインパターン本だったので>>371に答えただけなのだけども、馬鹿が混じって変な流れになったな。

381:デフォルトの名無しさん
08/11/13 16:16:43
どーでもいーです

382:デフォルトの名無しさん
08/12/07 02:54:44
GuiceとS2JDBCを組み合わせて使えないかな。

383:デフォルトの名無しさん
08/12/07 22:58:01
コンテナ2つ使うというのが気に入らない・・・

384:デフォルトの名無しさん
08/12/07 23:48:43
コンテナはGuiceを使うってことだろjk

385:デフォルトの名無しさん
08/12/08 21:50:24
それだとS2JDBCつかえんだろ

386:デフォルトの名無しさん
08/12/08 21:58:50
だから「使えないかな」って希望かいてんじゃねぇの?

387:デフォルトの名無しさん
08/12/08 23:07:33
>>382
ぐぐれカス








URLリンク(www3.vis.ne.jp)

388:デフォルトの名無しさん
08/12/09 00:56:23
つーかS2JDBCってコンテナのjarに入ってるんだけどな
分離するやつなんているのか?

389:デフォルトの名無しさん
08/12/09 01:46:08
>>388
素人はすっこんでろ

390:デフォルトの名無しさん
08/12/09 20:55:10
具体的なやり方かかない時点で・・・

391:デフォルトの名無しさん
08/12/18 00:26:48
jarくらい入ってても良いだろ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch