トップページ⇒tech
1001コメント305KB

国産DIコンテナSeasarとくーす その4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/06/24(金) 19:23:41
一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。
ってどうよ?みんなもう使ってるの?
使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。

あと、開発プロセス「くーす」の話題もこちらでどうぞ。

本家 seasar.org
http://www.seasar.org/

Seasar Projectグループ
http://seasarproject.g.hatena.ne.jp/

ひがやすをblog
http://d.hatena.ne.jp/higayasuo/

前スレ
その1 http://pc5.2ch.net/test/read.cgi/tech/1092044210/
その2 http://pc5.2ch.net/test/read.cgi/tech/1098885253/
その3 http://pc8.2ch.net/test/read.cgi/tech/1102862221/

関連スレ(なのか?)

Java Spring Frameworkを語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1077465099/

Dependncy Injectionを語るスレ
http://pc8.2ch.net/test/read.cgi/tech/1099827125/
0557デフォルトの名無しさん2005/09/26(月) 02:26:57
囲い込むとか考える前に今はユーザーを一人でも増やすべきだと思うのだがw
0558デフォルトの名無しさん2005/09/26(月) 23:06:32
>>556
ごめん、過去のこと良くわかんないんだけど、
VB6とかActiveXとか無印ASPとかで覚えた技術って今でも使えるの?
0559デフォルトの名無しさん2005/09/27(火) 23:12:27
そりゃ使えるだろう。
VB6で作成したソフトはWindowsXPでも動作するし、ActiveXもASPも同じく。
0560デフォルトの名無しさん2005/09/27(火) 23:54:31
>>559
それはなんか違わね?
0561デフォルトの名無しさん2005/09/28(水) 12:08:37
>>559
あ、ごめんなさい。ユーザの立場じゃなくてプログラマの立場として、です。
ActiveXについて一所懸命勉強した知識を、.NETでもいかんなく発揮出来るんですかね?ってことです。
0562デフォルトの名無しさん2005/09/28(水) 23:23:33
>>558
とりあえず最新の開発環境にてActiveXの作成/利用はサポートされている。
名前は2005だけど、出るのは何となく2006になりそうな次のバージョンでも
サポートされている模様。おそらく次の次のそのまた次でもサポートされ続けるかと。
つまり、今でも使える。

利用価値はあるか、と言えば、勿論ある。今のWindowsってActiveXの塊だから、
多分まだ.NETよりある筈。
改名前のOLE2から数えると随分息が長い技術だな…と今思った。

ActiveXのTIPSみたいな固有の知識が.NETにそのまま利用できるか?
…別モノなのだから利用できるワケないじゃん。アフォですか。
0563デフォルトの名無しさん2005/09/28(水) 23:53:25
>>…別モノなのだから利用できるワケないじゃん。アフォですか。
だからそこが問題なんだって遠まわしに言ってるんですが。脳の不自由な人ですか?
0564デフォルトの名無しさん2005/09/29(木) 00:04:56
そろそろスレ違い
0565デフォルトの名無しさん2005/09/29(木) 02:16:02
少なくとも>>562はアフォだ。
0566デフォルトの名無しさん2005/09/29(木) 12:20:35
アフォですね
0567デフォルトの名無しさん2005/09/29(木) 13:11:00
10年ほども使われてきた技術がレガシー化されるタイミングを見計らって、
「ActiveX (COM) とかの技術って.NETでも使えるの?」と聞くのは公平では
ないような気が・・・

seasarは今後の発展系や派生を含めても10年も持たないだろうし。
0568デフォルトの名無しさん2005/09/29(木) 18:03:52
>>567
VBXなんかは5年も持たなかっただろ?
多くのベンダがコンポーネントを提供して利用者も結構多かったはずだが
あっさりと互換性のない技術(OCX)に移行。

>>556
> 過去の自社製品との互換性(バグ含んで)>>>>新たに決まったW3C規格

これは互換性に配慮してるんじゃなくて単なる囲い込み戦略だろ。
0569デフォルトの名無しさん2005/09/29(木) 19:06:18
>>568
だったら互換性に関する批判では最初からVBXを例に出すべきだろ?
COM -> .NET の例は公平じゃないんじゃないか、というのが>>567の
主眼だから。
0570デフォルトの名無しさん2005/09/29(木) 19:29:01
俺は>568だが>558ではない。
>558はたまたまVB6あたりからさわり始めたから例に出しただけだろう。
俺はたまたまVB2からさわり始めたからVBXを例に出した。
結局どこから始めても「MSは互換性のリスクが低い」とは判断しにくいと思うが。
つまり>554の指摘は妥当。
0571デフォルトの名無しさん2005/09/29(木) 19:54:02
>>570
COM は 10年持ったわけだから、むしろ互換性が維持されてきたという
側の例のような気がするが。互換性は永久に維持されなくてはならない、
という立場もあるとは思うけど、非現実的だし。
0572デフォルトの名無しさん2005/10/01(土) 20:27:10
シーザー!!
0573デフォルトの名無しさん2005/10/01(土) 20:51:42
オマイもか!!
0574デフォルトの名無しさん2005/10/01(土) 21:00:48
シーズー!!
0575デフォルトの名無しさん2005/10/01(土) 23:41:34
COMは10年、Seasarは…?
0576デフォルトの名無しさん2005/10/01(土) 23:53:13
COMは千年、Javaは万年
0577デフォルトの名無しさん2005/10/11(火) 03:26:35
MLでもスルーされてるけど、S2JSFでセッションが切れたとき
画面遷移にワンクッション入っちゃうのは仕様なの?
クリックし直せばいいんだけど、利用者から見たら気持ち悪い
挙動だと思う。何とかならないかな。
0578デフォルトの名無しさん2005/10/11(火) 10:48:02
>>577
MyFacesがそうなっているんじゃないの?
0579デフォルトの名無しさん2005/10/11(火) 18:53:17
>>577
JSF1.1の仕様として、

 ・特定画面で発生するアクションはその画面に対する
  リクエストとして処理される。

 ・特定画面に対するリクエストを実行する際にその画
  面のコンポーネントツリーが存在しない場合、「初め
  てその画面を表示しようとした」とみなされ、Resotre
  Viewフェーズの後ですぐにRenderResponseフェー
  ズが実行される。
  このとき、コンポーネントツリーの生成と当該画面の
  描画が行なわれる。

ってな感じになるっぽいので、セッションが切れたあと
の初回アクションでは「ログイン画面を初めて表示しよ
うとした」とみなされて変な挙動に見えるのではないか
と。
ブラウザの戻りボタンや別ウィンドウ表示の際もこの仕
組みが悪さをするっぽい。
0580デフォルトの名無しさん2005/10/11(火) 19:20:06
へえ、JSFの仕様なんだ。情報ありがとう。
ログインが前提で短い時間内に全操作が完了するようなケースだったら
それでもいいんだろうけど、どうも違和感が残るなあ。
今、S2JSFで検索系のWebアプリを作ってるんだけど、

検索
↓
画面を放ったらかしにしてしばらく別の作業
↓
再度検索

なんてことが良くある。その度に検索ボタンを2度押す羽目になるんだよなあ。
もう割り切って諦めるしかないのかな。
05815792005/10/12(水) 00:16:39
>>580
Seasar2というよりJSFの話になっちゃいますが、
"STATE_SAVING_METHOD"を"client"にする
ことでどうにかなりませんか。
0582デフォルトの名無しさん2005/10/12(水) 08:33:31
>>581
ありがとう、試してみるよ。
0583デフォルトの名無しさん2005/10/12(水) 22:52:40
WebLogicでもSpringサポート始めたし、今更Seaser2使う理由は無いだろう。
05845002005/10/12(水) 23:20:03
WebLogicだって( ´,_ゝ`) プッ
0585デフォルトの名無しさん2005/10/13(木) 10:32:24
現在Goyaに従ってロジックを設計・実装していますが、疑問が出てきました。
プレゼンテーション層で行なうバリデーションを、ロジックでも二重に
行なうべきなんでしょうか?
バリデーションをロジックに含めないと、ロジックの単体テストが
やりにくいです。でも、チェックが冗長になってしまうのでスマートじゃ
ない気がします。誰か正しい方針を教えてください。
0586デフォルトの名無しさん2005/10/13(木) 21:31:06
>>585
blogのコメントに書き込んで聞いてみる。
それが、正しい方針。
05875852005/10/13(木) 21:59:20
そんな勇気があったら2chには来ません(笑)。
0588デフォルトの名無しさん2005/10/13(木) 23:56:21
ピンポンダッシュ
0589デフォルトの名無しさん2005/10/13(木) 23:59:37
>>588
獄長に首根っこ掴まれて即死w
0590デフォルトの名無しさん2005/10/14(金) 12:25:38
>>587
獄長が怖いのか、ならしかたがないw

一般的な話として、
プレゼンテーション層で行うバリデーションは、
ロジックで行う必要は無いと思うよ。

DRY。

ロジックでの単体テストは正しい値が渡ってくる前提で
書けばいいんじゃないの。
0591デフォルトの名無しさん2005/10/14(金) 23:05:28
>>584=500
0592デフォルトの名無しさん2005/10/17(月) 19:59:56
>>585
バリデート用のクラスを作って、それをプレゼンとロジックの両方で使えばいいんじゃないの?
0593デフォルトの名無しさん2005/10/19(水) 23:39:19
>>590
それをDRYとは言わない。
0594デフォルトの名無しさん2005/10/19(水) 23:43:02
http://d.hatena.ne.jp/higayasuo/20051019#1129707421

Rails で沸いてるところに Rails ほど徹底してないもの持ち込んで受けるかな?
0595デフォルトの名無しさん2005/10/20(木) 00:23:20
Java界隈には受けるだろ。
Ruby&Railsが本流になるにはまだ時間があるだろうし、露払いには十分じゃね?
0596デフォルトの名無しさん2005/10/20(木) 00:58:50
>>595
うまいこと宣伝すれば「Java から移行しなくてもいいんだ!」って持ってけるな。
0597デフォルトの名無しさん2005/10/20(木) 01:00:01
>Ruby&Railsが本流になるにはまだ時間があるだろうし

ノイマン型コンピュータが幅を利かせてる間は、無理だろうな。
0598デフォルトの名無しさん2005/10/20(木) 01:18:52
>>597
くわしく
0599デフォルトの名無しさん2005/10/20(木) 01:22:23
>>594
それと比較するならMayaとかS2JSFとかじゃないの?
0600デフォルトの名無しさん2005/10/20(木) 01:25:51
600
0601デフォルトの名無しさん2005/10/22(土) 15:50:31
今、Seasar2を勉強しているのですが(DIも初めて)、
DIで使うクラスは、インターフェースを使わないと駄目なのでしょうか。
デフォルトの親クラスとその子クラスという形でプログラミングすることが
多いのですが、その上にインターフェースを設けないと、DIは使えない
のでしょうか。

またコンポーネントの取得の際に、クラスを直接指定するのが推奨とあるの
ですが、もし複数の実装クラスがあってその実装クラスを直接していすると
なると、newでインスタンスを取得するのとさほど変わらないと思うのですが。
0602デフォルトの名無しさん2005/10/22(土) 16:13:28
>>601
インターフェイスを使わなくても利用できる。
インターフェイスを使っていると、そのインターフェイスを利用している別のコンポーネントに対して
バインディングが自動的に行われるようになるから、より便利にはなる。が必須ではない

> またコンポーネントの取得の際に、クラスを直接指定するのが推奨とあるの
> ですが、もし複数の実装クラスがあってその実装クラスを直接していすると
> なると、newでインスタンスを取得するのとさほど変わらないと思うのですが。

その通り。だからクラスで指定するときには普通インターフェイスを指定する。
0603デフォルトの名無しさん2005/10/22(土) 16:26:34
インタフェイスを使わないような設計・規模のアプリならムリしてDIコンテナ使う必要はナイキガス
0604デフォルトの名無しさん2005/10/22(土) 21:07:07
でも不思議なのは、インターフェイスを使うと言っていながら、
実装クラスは一つじゃないとオートバインディングできないわけでしょ。
コンポーネント取得の際にも、実装クラスが一つじゃないとインターフェイス
を指定しても駄目なわけでしょ。そもそもインターフェイスを使うのは、
実装クラスが複数あるからだと思うんだけど。
0605デフォルトの名無しさん2005/10/22(土) 22:15:15
何時の日か、実装をごっそり置き換えたくなった時の備えなんだってさ。
そんな日が来るのかどうかは神のみぞ知るけどな。
0606デフォルトの名無しさん2005/10/22(土) 22:30:19
ある一部分の置き換えが目的じゃなくて、全体的にクラス単位で部品化し
基本的にクラスの組み換えや入れ替えで、修正や機能変更に対応していくのが目的だと思う
0607デフォルトの名無しさん2005/10/22(土) 22:42:16
YAGNIの逆だな。
0608デフォルトの名無しさん2005/10/22(土) 23:50:11
インタフェースを使うとモックを使ったテストが楽になる。
テストしやすいクラスはDIにも向いている。
つべこべ言ってるヤツはテストしてんのか?
0609デフォルトの名無しさん2005/10/23(日) 00:03:40
とりあえずすべてのクラスをモックでテストするわけじゃない(工数と
折り合いつかない)から、リソースが絡むところ(DBとかホストとか
設定ファイル読み込むところとか)だけDI化する予定
0610デフォルトの名無しさん2005/10/23(日) 09:46:37
なんとかとハサミは使いようってやつね。
0611デフォルトの名無しさん2005/10/23(日) 18:41:55
springで良いじゃん。
0612デフォルトの名無しさん2005/10/23(日) 21:25:45
日本語情報が救いようがないぐらいに少ないSpringはちょっとキビシイ。
うちではSpring使っていたがトラブった時にこの問題でSeaserにした。
いっとくが工作員じゃないぞ。どっちも良いとこと悪いところがあるので、>>610に同意だ。
0613デフォルトの名無しさん2005/10/23(日) 21:31:11
>>612
ttp://www.amazon.co.jp/exec/obidos/ASIN/4774123412
ttp://www.amazon.co.jp/exec/obidos/ASIN/4839917779
ttp://www.amazon.co.jp/exec/obidos/ASIN/4822221431

日本語の書籍が3冊も出てるけど。
Seasarの書籍ってあったっけ?
0614デフォルトの名無しさん2005/10/23(日) 21:36:11
>>613
50万円で公式のサポートが日本語で受けられるというのは大きい。

Seasarは、簡単だから書籍もいらないし(w
0615デフォルトの名無しさん2005/10/23(日) 21:40:59
つまり、個人的にDI勉強するにはSpringが最適ってことか。
0616デフォルトの名無しさん2005/10/23(日) 21:45:55
>>613の書籍ってぶっちゃけ使えない。チュートリアル程度+αの内容を書籍にしたってだけ。
トラブッた時のサポートMLがある無いではSeaserが有利な希ガス。もちろん英語できるんだったらSpringがイイ。
0617デフォルトの名無しさん2005/10/23(日) 21:50:27
道具としては違いが出にくい状態にきているからあとは好みになる。Springしたい奴は専用スレ逝け。逝かないとぱんつぬいぢゃうぞ。
0618デフォルトの名無しさん2005/10/23(日) 21:51:15
>> >>613の書籍ってぶっちゃけ使えない。チュートリアル程度+αの内容を書籍にしたってだけ。
へー、そうなんだ。
なら、Seasar2でもいいや。

英語なら Spring In Action に Java Development with the Spring Framework と
今年になって良書が2冊も出版されたんだけどね。
0619デフォルトの名無しさん2005/10/23(日) 21:54:00
結論

外人はSpring
英語に自信のない奴はSeaser
0620デフォルトの名無しさん2005/10/23(日) 22:21:52
自分で勉強する気の有る奴はSpring
50万円払う気の有る奴はSeaser
0621デフォルトの名無しさん2005/10/23(日) 22:25:37
英語できないやつが Seasar 使うってのはよーく分かった。

Seasar を Seaser って書き間違えているヤツほど、Seasarを使いたがっているみたいだし。
0622デフォルトの名無しさん2005/10/23(日) 22:30:16
認知度の低さが如実に表れてるな>Seasar、Seaser
0623デフォルトの名無しさん2005/10/23(日) 22:36:49
>Seasar を Seaser って書き間違えているヤツほど、Seasarを使いたがっているみたいだし。

ここの判断理由が判らん。「使いたがってる」と感じた理由が。
0624デフォルトの名無しさん2005/10/23(日) 22:47:42
typoぐらいでモノを決めつけようとしているのか(w
0625デフォルトの名無しさん2005/10/23(日) 23:43:55
ttp://s2container.seasar.org/ja/index.html
>設定ファイルを書きたいのか、書きたくないのか。
>書きたくないのなら、是非S2Containerを試してください。

この文の解説お願い。
設定ファイルを書きたくないってハードコーディングマンセーってこと?
0626デフォルトの名無しさん2005/10/23(日) 23:49:04
ダウンロード数が 1 日、74 か。
同じ SourceForge でただの開発ツールの Amateras は 700 超。
で 2ちゃんブラウザのギコナビが 4700。
プロダクトの性格上、使用者全員がダウンロードしないにしても少なすぎだろw
完全にマイナー路線だけど、がんばれよ、SeasEr(w
0627デフォルトの名無しさん2005/10/23(日) 23:58:55
>>625
おまえの選択肢には設定ファイルかハードコーディングかどちらかしかないのか。
0628デフォルトの名無しさん2005/10/24(月) 00:07:02
>>625
そういうことだろ。

フレームワークが作者がオナニーで定義をXML外だしにした。
→ 利用者からマンドクセーんだよバカと苦情
→ 作者が自分で外だしにしておきながら、「設定ファイルを書きたいのか、書きたくないのか。」と
  訳わからんことを言い出した。

定義ファイルを一切書かずに、ハードコーディング(アノテーションだけど)にするのが
これからのフレームワーク流れで、Seaser だけでなく EJB 3 などもそうなる。
Seaser に限らず色々なフレームワーク作者はバカでも使えるようすることに懸命だ。

まー、「バカ向け」 とは言えないから 「優しく」 って言ってるけどなw
0629デフォルトの名無しさん2005/10/24(月) 00:10:28
Seasorマンセー!
06306252005/10/24(月) 00:14:36
>>627-628
サンクス! アノテーションか。
Seasar2使うにはJava5.0の勉強もしないといけなくなるってことか。
0631デフォルトの名無しさん2005/10/24(月) 00:15:23
ハードコーディングじゃないよ。
基本は規約を使っての自動設定。
特殊な部分だけはアノテーション。
だから設定の絶対量は減る、てこと。
だと思う。たぶん。
0632デフォルトの名無しさん2005/10/24(月) 00:16:20
アノテーションもjavadocに書くタイプがあるみたい。backportだっけ。
0633デフォルトの名無しさん2005/10/24(月) 00:46:11
Seasirマンセー!
0634デフォルトの名無しさん2005/10/24(月) 00:54:22
Seasurマンセー!
0635デフォルトの名無しさん2005/10/24(月) 01:11:58
アノテーションだって設定のうち
設定より規約って話ですので
ようするに実装クラスの名前は必ずImplで
終わるようにする、とか規約でしばって
コンテナ一括登録とかそういう話だよ。
ドキュメント読もうよ。
0636デフォルトの名無しさん2005/10/24(月) 01:25:40
>>625
それに関しては獄長が素晴らしいツッコミを入れてるんで拝聴あれ。
とりあえず、蛯原友里でググれば直ぐにみつかるはず。
て言うか、Seasarでググるより蝦の方がヒットし易いってどういう事よ?(;´д⊂ヽヒックヒック

俺もそれ(書きたいの?書きたくないの?)を読んだ時に物凄い違和
感を感じたんだよな。
なんつ〜か、口の上手い奴に騙くらかされてる様な?w
でも、とりあえず獄長のツッコミで腑に落ちたから、俺的にはソース
上にあるべき設定と、外部に纏められてる設定とを適材適所しまし
ょって事なのねと理解した気になってAutoRegister周りを突付いて
回ってる。
0637デフォルトの名無しさん2005/10/24(月) 02:44:49
まぁ、自分で考えた方法論の解説本を書いている内に気が変わって
方法論自体を変える人ですから。
おいおい、おまい、実地でやりこんだ上での方法論じゃなかったのかよ、と。

典型的アームチェアー派。
作者の演説は上手いし考え方は色々参考になる示唆に富んだものだけれど、
本当に業務で使う気にはならん >Siisaa
0638デフォルトの名無しさん2005/10/24(月) 16:32:19
だからといって使う人、指示する人を けなす 理由にはならないでしょ。
typoひとつで小馬鹿にする態度に違和感を感じます。
0639デフォルトの名無しさん2005/10/24(月) 16:32:50
指示する→支持する
あー、自分でtypoしちゃってるよw
0640デフォルトの名無しさん2005/10/24(月) 16:51:09
>>638
「違和感を感じる」を小馬鹿にするのはOK?
0641デフォルトの名無しさん2005/10/24(月) 17:04:13
>>640
http://dictionary.goo.ne.jp/search.php?MT=%B0%E3%CF%C2%B4%B6&kind=jn
いわかん ゐわ― 2 【違和感】

周りのものとの関係がちぐはぐで、しっくりしないこと。
「―を感じる」
0642sage2005/10/24(月) 17:28:19
typoというのはキーボードの打ち損じ。
右手と左手を間違えるとか、前後が逆になるとか、となりのキーを押してしまうとか、
単なるミスを言います。

綴りを間違えて覚えているのはtypoとは言いません。
0643デフォルトの名無しさん2005/10/24(月) 17:43:24
名前欄にsageと入れると覚えているのはsageとは言いません。
0644デフォルトの名無しさん2005/10/24(月) 18:56:43
>>641
頭痛が痛いと同じ同語反復なんだけどね。
0645デフォルトの名無しさん2005/10/24(月) 19:14:26
S2JSFのお勉強でも始めようかな〜、って思ってたらfaceletなんてのも出てきたね。
なんかとっても似てる予感。
比べるとどうなの? 教えて詳しい人。
0646デフォルトの名無しさん2005/10/24(月) 19:46:19
>>644
辞書作った奴に言えば?
0647デフォルトの名無しさん2005/10/24(月) 21:19:53
そこで「違和感がある」ですよ
0648デフォルトの名無しさん2005/10/24(月) 21:29:53
凝集度を上げるのはいいとして、結合度も上がってると思うのだがどうか?
0649デフォルトの名無しさん2005/10/24(月) 21:40:23
コンポーネントのサブクラスを作ってDIするには
どうしたらいいですか。
オートバインディングと併用可能ですか。

0650デフォルトの名無しさん2005/10/24(月) 21:47:32
違和感を覚える
0651デフォルトの名無しさん2005/10/24(月) 21:53:01
正しい日本語を教えてくれるスレはここでつか?
0652デフォルトの名無しさん2005/10/24(月) 22:04:00
目くそ鼻くそを笑うがとても似合うスレですね。

Spring厨は専用スレ逝ってください。SeasArに文句あるならMLで堂々と。英語の文献がリリースされるのが発表されたようですよ?
0653デフォルトの名無しさん2005/10/24(月) 23:15:24
GRASPパターンとかHTML言語とか
0654デフォルトの名無しさん2005/10/25(火) 01:00:44
"Convention over Configuration" って元々DHHが言い出したRailsの哲学なんだけど、出典を明らかにせずにSeasarのウリにしてるのが萎える。

http://s2container.seasar.org/ja/DIContainer.html#CoC
0655デフォルトの名無しさん2005/10/25(火) 01:59:55
Rubyのような動的型付け言語にこそ生きる仕組みのような気がしなくもないのだが
実際のところどうなんだろうか?
0656デフォルトの名無しさん2005/10/25(火) 06:09:07
>>654
確かにそれは萎えるな
■ このスレッドは過去ログ倉庫に格納されています