国産オープンソースDIコンテナSeasar V2(S2)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGってどうよ?みんなもう使ってるの?
最近、気になるのでスレ立てました。
使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。
それではスタート!
本家 seasar.org
http://www.seasar.org/
Seasar Projectグループ
http://seasarproject.g.hatena.ne.jp/
関連スレ(なのか?)
Java Spring Frameworkを語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1077465099/
Java⇔RDBのMapping-Frameworkを語るThre Vol.3
http://pc5.2ch.net/test/read.cgi/tech/1090653286/
0002デフォルトの名無しさん
NGNGいい加減スレ一本化しろよ。
下火言語が調子に乗るなよ。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG欠点 - 資料なし
終了。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG・クラス間の依存性を減らす(DI)
・ORM難民でも使える便利なS2DAO
・各種フレームワークとの連携(S2Struts,S2Tapestry,S2Hibernate,S2OpenAMF)
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGjavaみたいな糞がいくつもスレたてんな
0013デフォルトの名無しさん
NGNG使ってるやつがいないんじゃないの(プゲラ
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG煽る暇あったらネタ振ったら。
ないなら終了だな。
0016デフォルトの名無しさん
NGNGJavaは糞
よって終了
0017デフォルトの名無しさん
NGNGスレから追い出される形で専用スレ立てるのが常識なのにな。
0018デフォルトの名無しさん
NGNG>>1立て逃げせずにちゃんとネタ振れよ
0019デフォルトの名無しさん
NGNG2chの常識(藁
0020デフォルトの名無しさん
NGNGLLのイベントには Groovy と Pnuts のプレゼンがあったわけだが。
0021デフォルトの名無しさん
NGNGttp://d.hatena.ne.jp/higayasuo/
チュートリアルだ。少し古いバージョンだが使えるだろう
ttp://www.wikiroom.com/Seasar/?Seasar%20V2
ここもわかりやすい
ttp://garbagetown.zive.net/eewiki/Viewpage.do?pid=@53656173617232
設計関連はこっちにまとまっている
ttp://www.wikiroom.com/tpircs/?higa%A4%B5%A4%F3%A4%CB%A4%E8%A4%EB%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%CA%FD%CB%A1
後は付属のドキュメントを読めば一通りわかると思うんだがなー
0022デフォルトの名無しさん
NGNG時代はヘブライ語でもPythonでもRubyでも何でも良いわ、外でLLとか略すと恥書くぞ。
>15 ネタって?マニュアル見たら、この板に徘徊してんなら技術的見地から突っ込めるだろ?笑いが欲しけりゃ他あたって下さい、すまんな。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1077465099/l50
ちょっと見ただけだが粘着っぽいのがいるようだな
だからこのスレもこんなに荒れてるのか?
0027デフォルトの名無しさん
NGNGみんあひがさんに合ったことあるに違いない。
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGJavaDocすらついてないし。
DIファイルに何が書けるかももちろんどこにも載ってない。
S2Hibernateのドキュメントが特徴的なんだけど、コメントもないソース列挙しておいて
「簡単に利用できるということが分かっていただけたと思います。」
と書いてしまう感覚の持ち主。
ダウンロードファイルがjarになっているのは、jarも解凍できないやつは使うな、というメッセージなんだろう。
お友達に便利に使ってもらえればいい、っていう、とってもローカルなライブラリだね。
ひがさんのお友達以外には、使う価値はありません。
0030デフォルトの名無しさん
NGNGカストマイズできるようになる。カストマイズ→出荷、を何回も繰り返せれば、
S2投入のオーバーヘッドは回収できる。
もちろん再利用を前提とした作りにしなければならないけど、実はこれが難しい。
反対に受託とかで、毎回違うものを開発しているところはS2のメリット無いでしょ。
単に作って納品するだけなら、S2を使わない方が速い。教育のコストもあるしね。
再利用を考えないなら、1つのプログラムを、あんな風にいくつものファイルに分割して
散在させるのは無駄というもの。
S2の作者さんが働いているような大手SIerなら利用価値はあるけど、それ以外はどうかな?
0031デフォルトの名無しさん
NGNG> ダウンロードファイルがjarになっているのは、jarも解凍できないやつは使うな、というメッセージなんだろう。
Java使ってるならjarの解凍は普通出来ると思うんだが
0032デフォルトの名無しさん
NGNGS2に限らず、POJOを利用するDIパターンなら兵隊の教育は不要なんだが……。
0033デフォルトの名無しさん
NGNG> 再利用を考えないなら、1つのプログラムを、あんな風にいくつものファイルに分割して
> 散在させるのは無駄というもの。
お前、Java使った仕事してないだろ? プログラムとかファイルとかいう単位ってなんだよ(w
0034デフォルトの名無しさん
NGNG漏れは落としてきて普通に使えたぞ
ちょっと触ればすぐわかるだろこれくらい
0035デフォルトの名無しさん
NGNG> S2に限らず、POJOを利用するDIパターンなら兵隊の教育は不要なんだが……。
S2をどこまで使うかにもよるけど、裏側で何をされているかは理解させないと
まずくない?つーか、それがわからなければS2を使う価値ないよ。
0036デフォルトの名無しさん
NGNG> 漏れは落としてきて普通に使えたぞ
それは、強いて言えば
「簡単なサンプルプログラムが動いた」
「実戦投入して客に納めた」
のどちらかな?そこが問題だ。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGフレームワーク使うってそういうもんだ。全員がフレームワークの裏側まで知らないといけない
というようでは意味がないだろう
0039デフォルトの名無しさん
NGNG一人有限なので今年はこれで十分かと思ってますが何か?
0040デフォルトの名無しさん
NGNG> DIファイルに何が書けるかももちろんどこにも載ってない。
components.dtd見れ
0041デフォルトの名無しさん
NGNG> S2Hibernateのドキュメントが特徴的なんだけど、コメントもないソース列挙しておいて
> 「簡単に利用できるということが分かっていただけたと思います。」
> と書いてしまう感覚の持ち主。
まずはhibernate使えるようになろうな。話はそれからだ。こっちいけ
http://pc5.2ch.net/test/read.cgi/tech/1090653286/l50
0042デフォルトの名無しさん
NGNG> ひがさんのお友達以外には、使う価値はありません。
なんだひがさんに嫌われてるやつの粘着か。つまらん。
0043デフォルトの名無しさん
NGNG> 一人有限なので今年はこれで十分かと思ってますが何か?
そーだよな。自分ひとりでやるなら、自分だけわかってりゃいいからな。
0044デフォルトの名無しさん
NGNG独立したから一人で出来る程度しかやらないよ。
ちゃんと保守契約も結んでるから問題ナッシング。
さくっと納品できたので金額を考えるとおいしい仕事だったよ。
S2はありがたいよ。
0045デフォルトの名無しさん
NGNGまったくスタンドプレーの好きな迷惑な奴だな。
0046デフォルトの名無しさん
NGNG> そーだよな。自分ひとりでやるなら、自分だけわかってりゃいいからな。
漏れのとこは、無理だな。
旗振ってもついてこねーだろうし、上司もいい顔しねーよな。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG価格はプロジェクト単位の年間サポートで50万。
http://d.hatena.ne.jp/higayasuo/20040810
日本発のオープンソースビジネスかな?めでたし、めでたし。
これまでS2を盛り上げたみんな、お疲れ様でした。
0050デフォルトの名無しさん
NGNGよかったよね。サポートを欲しがる客でも
安心して提案できるようになるね。
これでもっとS2を使っていきやすくなるよ
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG> SRAを忘れるなよ>日本発のオープンソースビジネスかな?
作者が日本人ということでは、多分初めてじゃないかな。
Rubyはどうなんだろ。
0053デフォルトの名無しさん
NGNG> S2の作者の会社(電通国際情報サービス)で、有償サポートの検討開始だってさ。
そのうち「S2認定技術者試験」みたいなもんもはじめたりして。
0054デフォルトの名無しさん
NGNG何かオプソ使うの好きなタイプじゃなさそうだし認定なら当然ドキュメントとか出てくるだろうし
0055デフォルトの名無しさん
NGNG> 反対に受託とかで、毎回違うものを開発しているところはS2のメリット無いでしょ。
> 単に作って納品するだけなら、S2を使わない方が速い。教育のコストもあるしね。
お前は仕様が完全に固まってから作れるのか。うらやましいぞ。
仕様変更のときにこそDIは便利なんだがな。お前触ってないだろ。
別にS2でなくてもいいからDI触ってみろ。Picoとかわかりやすいぞ。
0056デフォルトの名無しさん
NGNG> そのうち「S2認定技術者試験」みたいなもんもはじめたりして。
で、その前に認定試験対策研修が開催されると。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGサイトのトップページで「優しさや易しさを重視」って書いてなければ問題ないんだが。
と思ったら、「優しさや易しさを重視」の記述なくなってるね。
じゃあ、問題ないよ。
それより、Springがある状況で、Seasarにどういう価値があるのかよくわからないんだけど。
0060デフォルトの名無しさん
NGNGあとは完結でいい
0061デフォルトの名無しさん
NGNG> それより、Springがある状況で、Seasarにどういう価値があるのかよくわからないんだけど。
WebSphereやWebLogicがある状況で、JBossにどういう価値があるのかわからん、といってるのと同じだよ。
それはさておき、DIという一種のパターンに対して、実装の形はいろいろあるってことだな。
SpringはBeanにこだわりすぎて結果として色んなものがどんどん密結合していっていると漏れは感じる。
S2はバラバラであることとつなぎやすさを優先している。理念と現場の違いじゃないかな。
両方触れば実感できることだ。トップページごときをとやかく言う前にどっちもダウンロードして触ってみろ。
ここはプログラム板のはずだ。Spring以外にもHiveMindやPicoContainerとか触ってみてくれ。
個性の違いを感じられると思う。DIの面白さを実感してみてくれ。
0062デフォルトの名無しさん
NGNGなんか、Springでできることをやりなおしてる感じだと思ったんだが。
できることの違いじゃなくて、やりかたの違いなのか。
それにしても、ここまでドキュメントがないと、実際に使うのは怖いな。
仕様がないので、いつ使い方が変わってもおかしくない印象。
ソースとか見ればメソッドはわかるけど、それってメンテナンスで変更されたりしないの?みたいな。
0063デフォルトの名無しさん
NGNGほとんどの機能はドキュメントで説明されているはず。
記述が足りないところはあると思うけど。
なんで、ドキュメントがないといいきっているのか分からん。
0064デフォルトの名無しさん
NGNG> 仕様がないので、いつ使い方が変わってもおかしくない印象。
そうだね。
J2EEみたいにSpecificationがあって、それに沿った実装が開発されているわけじゃないしね。
そういうリスクを取ってでも取り組む価値があるかどうかは、人によりけり。
0065デフォルトの名無しさん
NGNG> JBossはフリーだし、AOPも楽しそうだし。
S2もフリーだし、S2のAOPは楽しいですよ。
> なんか、Springでできることをやりなおしてる感じだと思ったんだが。
> できることの違いじゃなくて、やりかたの違いなのか。
それをいったら、Geronimoとかどうするんですか(w
> それにしても、ここまでドキュメントがないと、実際に使うのは怖いな。
> 仕様がないので、いつ使い方が変わってもおかしくない印象。
> ソースとか見ればメソッドはわかるけど、それってメンテナンスで変更されたりしないの?みたいな。
ドキュメントのあるなしとメソッド変更のはなしは別でしょ。
Java自体だってそういうことはあるわけだし。
0066デフォルトの名無しさん
NGNG今の状況に困っているなら、解決策のひとつとして検討する価値はあると思う。
0067デフォルトの名無しさん
NGNG> J2EEみたいにSpecificationがあって、それに沿った実装が開発されているわけじゃないしね。
> そういうリスクを取ってでも取り組む価値があるかどうかは、人によりけり。
そうだね。別にS2だけじゃなくて独自規格って多いしね。
共通規格がないものは使わないっていうのも大切だと思うよ。
S2はSpring同様にAOPアライアンスに準拠しているっていうけど
AOPアライアンス自体が公的な機関じゃないしね。
0068デフォルトの名無しさん
NGNG> >>62
> ほとんどの機能はドキュメントで説明されているはず。
> 記述が足りないところはあると思うけど。
> なんで、ドキュメントがないといいきっているのか分からん。
そうだね。そもそもS2って機能が少ないから、あれで一通りの説明にはなっている。
言葉足らずのところはあるかもしれないが、サンプルのコードとあわせて読めば
実際に使うのに必要なことはわかるよ。
>>62が気にしているのは、どんな風に使えばいいのかってことなのかもしれないね。
でもそれってSQLのマニュアルを読んで「プログラマのためのSQL」みたいな書籍に
書いてるようなことが書いてないじゃないかっていってるようで、ちょっと違うんじゃないかと俺は思う。
0069デフォルトの名無しさん
NGNG> 共通規格がないものは使わないっていうのも大切だと思うよ。
そこでC#でつよ! dotNETマンセー!!
0070デフォルトの名無しさん
NGNG> >>62が気にしているのは、どんな風に使えばいいのかってことなのかもしれないね。
> でもそれってSQLのマニュアルを読んで「プログラマのためのSQL」みたいな書籍に
> 書いてるようなことが書いてないじゃないかっていってるようで、ちょっと違うんじゃないかと俺は思う。
うん。そう思う。現状S2のドキュメントって「何ができるか」が中心で、「どう使えばいいか」みたいな
ところまでは行ってない。だから使い手の力量が問われる。もっともその辺は有志(?)も気が付いて
いるはずで、サンプルプログラムの開発が進んでいる。単に使い方を知りたいという人は、それが
出てきてからでも良いんじゃないかな。始めるのは。
0071デフォルトの名無しさん
NGNG> それにしても、ここまでドキュメントがないと、実際に使うのは怖いな。
少しでも実際に触ってみた? 何か全然S2を触ってないように見えるんだけど。
0072デフォルトの名無しさん
NGNG逆で、「プログラマのためのSQL」みたいなHOW-TOは書いてあるけど、「SQLのマニュアル」がない。
0073デフォルトの名無しさん
NGNGフレームワークはほとんどinterfaceと実装クラスの組からできているので、
仕様の大幅な変更は少ないと予想できる。
実装の変更はあるだろうが。
で、S2のコア部分はシンプルなことしかしていない。
色んなクラスへのアクセス方法とライフサイクル管理、Weaving、これらを提供するのみ。
便利なコンポーネントは作ったのだが。
じゃあどうやってそのコンポーネントにアクセスするの?
ファクトリクラス?するとファクトリの作り方がコンポーネントごとにばらばらになっちゃうね。
JNDI経由?するとレジストリにコンポーネントを登録するのは何が担当するのかな。
コンポーネントの処理を変えてみたいんだけど、ソース改変はバグの元だね。ソースなかったりするし。
というのを、ぜんぶS2が面倒見ますよん、というわけ。
コンポーネントを取得したあとは、それぞれの作法に従ってクライアントコードを実装するだけ。
0074デフォルトの名無しさん
NGNG大きく普及することに意味があるかどうかは別として。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGマニュアルの不備を指摘してる人は
S2の技術的なことについてはどう思ってるの?
0077デフォルトの名無しさん
NGNGそれともドキュメントさえ整備されればS2がもっと普及するのに勿体無いっていいたいのかな?
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG他にもっとネタはないのかよ
0082デフォルトの名無しさん
NGNG> コメントも含めて何でそんなにドキュメント話ばかりなんだ?
普通の人にとってドキュメントは使い物になるかどうか判断する大切な材料の一つだから。
「今あるドキュメントで十分だろ」という人は、そういうことに気が付かない。
もっともそういうことを気にする立場ではないから、そう思って当然なんだけどね。
0083デフォルトの名無しさん
NGNGEarlyAdopterがそれこそS2に限らずPicoContainerとか色々試してる段階。
俺みたいに、仕事で使うには標準であることのメリットが甚大だという理由でEJB3.0を待っている人間もいる。
ドキュメント整備は、それこそ普及戦略の上での問題だな。
もちろんもっとあったほうがいいというのには同意。
ドキュメントがあろうがなかろうが、いわゆる「厨」は一定比率は発生してしまうがな。
0084デフォルトの名無しさん
NGNGちょっと前の大きな仕様変更で痛い目見たんだが、ドキュメントが沢山
あるとああいう場合に大変だよね。
だからドキュメントが必要最低限なのかなーと思ったりする。
便利なのは間違いないんだけど、現状じゃあんまり他人に勧められん。
コアの部分が大きく変わることはもう無いんじゃないかと思うけど、
あったら辛いしなあ。
0085デフォルトの名無しさん
NGNGそういう意味では仕様文書を整えるよりも実装+HowToを先出しするという方針もありだとは思うけど、確かに現状で手を出すのはちょっと怖いような。
0086デフォルトの名無しさん
NGNG一応、ひがさん本人は、もうコアの部分に大きく手を入れることはない、と言ってるしね。
0087デフォルトの名無しさん
NGNG「できないことがわからない」
機能を網羅したリファレンスがあれば、設定項目に用意されてないのが確認できれば、できないというのがわかる。
もちろん、設定を組み合わせて実現するようなものは簡単に「できない」というのはわからないんだけど。
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG今のEJBも標準だけど、使えないわけだが。
EJB3が使えるようになるのはまだまだ先。
使えるものになるかも分からないしね。
重要なのは今何を使うかじゃないの。
0090デフォルトの名無しさん
NGNG> チュートリアルだ。少し古いバージョンだが使えるだろう
> ttp://www.wikiroom.com/Seasar/?Seasar%20V2
最新のS2.0.15では、いきなり最初のプログラムが例外発生で動かない。
(「要素タイプcomponentsは定義されていません」...)
原因は
・list03-4. car.xmlにDOCTYPEがない
・classpathに通すjarが違う(log4j-1.2.8.jar, ognl-2.6.5.jar, s2-framework-2.0.14.jarなら動く)
ため。
全体的には
> ここもわかりやすい
> ttp://garbagetown.zive.net/eewiki/Viewpage.do?pid=@53656173617232
こっちの方が親切かな。eclipseベースでどういった操作をするか細かく書いてあるし。
でもdiconファイルの書くのにXMLBuddyつかうのは冗長な気がする。
単にコピペさせればいいと思うけど。
0091デフォルトの名無しさん
NGNG× s2-framework-2.0.14.jar
○ s2-framework-2.0.15.jar
だろ。
0092デフォルトの名無しさん
NGNGまあその発言が勇み足だったとして、そもそも真似してる先人を全く
リスペクトする気が無いみたいで、Springのここがだめだとか、作者を
からかうような書き込みとかばかりだし。そういう文化、体質が本当に嫌だ。
組織として責任を持つプロダクトならばともかく、オープンソースな
ソフトウェアは、そういったコミュニティに対する印象も使うかどう
かに大きく影響してくると思うんだが、そういう自覚は全く無いみたいだな。
もちろん全員とは言わないが。
0093デフォルトの名無しさん
NGNGあと、先人じゃなくて、ほぼ同じ誕生日だし。
S2で言っているType4を、後から取り入れたのは、Springだし。
その辺は、どっちも、どっちじゃないか?
まず、プロダクトの事実をちゃんと見たら?
0094デフォルトの名無しさん
NGNG要するにS2のコミュニティに粘着したいだけだろオマエ
実際にどれだけ触ってるんだ? オマエの好きなSpringについても
S2の作者より触ってないんじゃねえの?
Springを引き合いに出すなら、具体的な比較とか書いてくれよ
長文の癖に技術的な話が全然ないしうざすぎるよ
そんなに粘着したいならマ板に逝け
0095デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1077465099/l50
0096デフォルトの名無しさん
NGNGまあ正直この表紙はからかいたくなる気持ちもわかるがな
ttp://www.amazon.co.jp/exec/obidos/ASIN/0764558315/
0097デフォルトの名無しさん
NGNG他に何にもないのが気持ち悪い。しまいにはストーカーになるんじゃないか。
0098デフォルトの名無しさん
NGNG実装の大変さを分かってる人は無言実行タイプが多いからここには書き込まない。
0099デフォルトの名無しさん
NGNG思ったがあまりの内容のなさにそれじゃSpringが
可哀想だと思った
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGモノはいいんだから、ドキュメントどうにかしろ、っていってるんだよ。
0102デフォルトの名無しさん
NGNG> モノはいいんだから、ドキュメントどうにかしろ、っていってるんだよ。
どのへんがいいのさ?
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG良い意味でDIコンテナ部が全てだしな。
0106デフォルトの名無しさん
NGNG2chの無責任な書き込みにもちゃんと反応するのにビックリした。
いい人じゃないか作者さん。S2応援したくなってきたよ。今晩触ってみる。
0107デフォルトの名無しさん
NGNGPowerPointの奴わかりやすかったけどなあ
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG(´д`)?
0110デフォルトの名無しさん
NGNGかなりまじめに見てるらしい。
それを知ってるので、厳しいことかいてますよ > ひがっち
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGMLに投げればいいじゃん(w
0113デフォルトの名無しさん
NGNG無責任に書きたいのでな。
0114デフォルトの名無しさん
NGNG2chが流行るわけだよ。
0115デフォルトの名無しさん
NGNG恥ずかしくない?
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGなんだ、かまって君だったのか
0119デフォルトの名無しさん
NGNGSpringのPropertyEditorに相当する部分が不要な点が
あげられると思うんだけど、そのへんどうよ。
<arg>new java.math.BigDecimal(1)</arg>
みたいな。
0120デフォルトの名無しさん
NGNG> <arg>new java.math.BigDecimal(1)</arg>
どの位使う機会があるかわからないけど、便利なのは確か。
こっちの方が自然でわかりやすい。
0121デフォルトの名無しさん
NGNGSpringのref,valueタグの役割をOGNLがやってるんだね。
0122デフォルトの名無しさん
NGNGくーすってやり方で設計してみたが、なんとか筋の通った設計書(らしきもの)ができた。
さて、あとはこのまま S2 で実装に落とせるかどうか。
自分が書いたシーケンス図を見ると、インターフェースやクラスにのっける機能が
明示されてるようにみえるけど、信じていいのかこれ。
0123デフォルトの名無しさん
NGNGやってから、また書き込め。
0124デフォルトの名無しさん
NGNGでも考えてみりゃソフトウェアって書いた人間が一番信じてないことがよくあるな。
0125デフォルトの名無しさん
NGNGよく読むと不思議な文章だな(w
よくわからないけど設計が出来てしまうのか
設計って考えながらやるもんだと思うんだが
0126122
NGNG結局DIを理解してなかったことに2日かかって気づく。頭わるすぎ orz
なんというか、歴史あるクラス先輩に対して「そんな依存性は修正してやる」と殴りかかってる感じ。
で、さぁやってやるぞとS2Dao組み込んだら、Tomcat 起動中に s2containor の Servlet#init() で例外。
原因分からず。先が長そうでちょっと泣けた。
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG例外が出たなら、トレースを見れば分かりそうな門だが。
diconファイルがどっかまちがってるんでしょ。
kijimunaを使いなさい。
http://sourceforge.jp/projects/seasar/files/?release_id=11157#11157
0129122
NGNGS2DaoのBEANアノテーションが内部クラス扱いになって別の.classファイルが作られてた。
で、それを JBuilder が war に入れないでやんの。関連チェック、デフォだと外れてるのか orz
そんなこんなで、やっと JBuilderX で S2 + S2Struts + S2Dao が動いた。
これ幸せかも。なんだかソースがとってもキレイ。
もう少し作りこんでからまた。
0130デフォルトの名無しさん
NGNGドキュメントもしっかりしてないので苦労してます。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGマンドクセー
そんな時間掛ける気ねーよ。
はやくS2JSFでねーかなー。
そっちならソース読んででも習得したいな。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNGつーかさあ、JavaDocで作成したドキュメントぐらいはねーのかよ!
0136デフォルトの名無しさん
NGNGコメントもありません。
0137デフォルトの名無しさん
NGNGもっと実用的なサンプルねーのか?
TapestryとS2Tapestryのアプリケーション作成時の違いってこれだけ?
あとはTapestryのドキュメント読んで作ればいいのかな?
・S2ContainerServletの設定 (web.xml)
・エンジンをS2用に変更 (*.application)
・ページ仕様にサービスの定義追加 (*.page)
・ページクラスにコンポーネントのプロパティを追加して
サービスメソッドを呼び出す (*,java)
0138デフォルトの名無しさん
NGNG要は「論理設計(インターフェース設計)先行で開発せよ」ってこと?
くーすでやってると、まずインターフェースを書かないとなにも出来ないんで、
「とりあえず動くものを書け。話はそれからだ」っていうのを禁止してる感じがする。
0139デフォルトの名無しさん
NGNGgetContainerするくらいだけなんだから
使うだけならJavaDocなくても困らん気がする
漏れはJavaDocが欲しいと思ったことはないな
サンプルは欲しい気がするけど
>>137
S2TapeはTapestryからS2を呼びやすくしてるだけだから
実用的なサンプルはTapestryのスレで聞いたほうがいいと思う
Tapestryについて語ろうよ!
http://pc5.2ch.net/test/read.cgi/tech/1067531714/l50
>>138
くーすは仕様先行で設計しようってだけだろ
別にDIでなくてもこういう考え方はありだと思う
0140デフォルトの名無しさん
NGNGS2Tapestry + S2Dao
で、フレーム、セッションオブジェクトをバリバリ使ってるやつがいいな。
0141デフォルトの名無しさん
NGNG>別にDIでなくてもこういう考え方はありだと思う
それはそうなんだけど。「依存性を注入する」って、注入先を先に用意しないと成り立たない。
その注入先がインターフェース。この場合のインターフェースの役割って、業務システムのフレームワークでしょ?
それってつまり、DI で業務システムを組むってことは、詳細設計なき実装を不可能にする手法なのかな、と思ったわけ。
・・・作った後から仕様書書いたら切腹?
0142デフォルトの名無しさん
NGNG詳細設計なき実装が不可能?
おかしくないか? 手続きのみの言語じゃあるまいし、設計書が無くても
コード書く前に普通、クラス構造は頭に思い浮かべるだしょ。
0143デフォルトの名無しさん
NGNGすまん漏れには何を言ってるのかよくわからん
DI関係なく藻前がどんな風に普段作ってるのか
教えてくださらんか?
0144デフォルトの名無しさん
NGNGフレームやセッションオブジェクトをバリバリ使うとS2は関係ないと思われ
0145140
NGNGTapestryでのFRAMESETの扱いや(S2とは関係ないけど)、
認証関係でセッションオブジェクト使って、
AOPで認証チェックやってるS2Tapestryのサンプルが見たいです。
ところでS2TapestryにすることでS2Daoの扱いが変わる(使いやすくなる)の?
0146141
NGNGWebは Struts で簡単な情報参照系しかやったことないので、
Windowsで作った受注出荷管理のときを例に。
1)システム機能仕様書、ERD、画面仕様書(レイアウトと処理内容、IO先)を同時並行に書く。
2)DB設計。
3)コーディング。複雑なロジックはコメントでクドクドと説明。
DBはデータ保障をトリガにおまかせ、SQLで気ままにアクセス。
基本的に1画面1クラスで機能を詰め込む。同系画面で継承は使うけど。
こんな感じ。
0147デフォルトの名無しさん
NGNGでは次は 「DI は詳細設計なき実装が不可能」 と思った理由の説明を頼む。
ところで 1 画面 1 クラスってのは、どういう構造よ。
Action にビジネスロジック書いてるの?
それとも色々な Action クラスからある 1 画面の機能を詰め込んだサービスを
呼出してんの?
前者は推奨されてないし(10画面くらいのシステムなら別にいいとおも)、
後者はモデルの切り分けがおかしい。
で、同系画面では継承してる?
構造が分からないけど、サービスで切り出すのが綺麗だとおも。
継承では再利用性、メンテナンス性も低い。
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGttp://d.hatena.ne.jp/higayasuo/20040911
------------------------------------------------------
まずは、Nirvanaと組んだS2JSF。JSFは、リリースされたから結構経つのに、いっこうに
使われる気配がありません。これは、ツールベンダーの思わくが先行し、現場を見てない
結果だと思われます。
しかし、それも変わってきます。HTMLをテンプレートにし、DIコンテナと組みあわせる。
これなら、現場での使用にも十分に耐えられるでしょう。
くさったJSPなんかさよならです。重厚なEJBなんてさよならです。長いこと開発者を苦しめて
きた2つの技術。JSPとEJBに終止符を打ちます。
次は、S2Flex。時期的にはこっちの方が早く出ます。リッチクライアントも、試行錯誤の時期を
終え、いよいよ普及期に入ります。
2004年。これほど開発手法が激変する年は恐らくもうないのではないでしょうか。
0150デフォルトの名無しさん
NGNG処理系依存。
0151デフォルトの名無しさん
NGNG使われる気配がありません。これは、作者の思わくが先行し、初心者に易しいを
ポリシーにしていたものの、実は初心者が理解できる代物ではなかったと思われます。
0152デフォルトの名無しさん
NGNGロバストネス分析やシーケンス図を基にして「インターフェースを作る」ことを”詳細設計”と了解してる。
「設計」って考える作業でしょう。で、インターフェースって考えないと作れないから設計かな、と。
クラスそのままの引き写し構造でつくればいいってもんじゃないんでしょ。
インターフェースさえ作ってしまえば、あとは力仕事的にゴリゴリ書けそうだなと。
実装のうまい・へたはともかく「インターフェースの設計」のおかげで動きは保障されるだろうと。
お前はクラスを考えて作ったことが無いのかと問われると、たぶん頭の中でしかない。
せいぜい、主要部分のヘッダファイルを書くくらい。チームの時は実装担当者にお任せしてた。
んー。うまくまとまんないけど、DIの「構造と実装を分離する」ってのが、
・単なる実装レベルの一手段で、便利ツール的なものなのか、
・それとも設計手法に関わってくるほどのものなのか、
ってのが分かってないのかも。
>ところで 1 画面 1 クラスってのは、どういう構造よ。
勘違いされてるような。前述の例はWin32アプリ。具体的にはC++Builder。
細かい業務ロジックはフォームクラスに配置したUI部品のイベントハンドラに直書き。
重要な処理は private なメソッドに閉じ込めて、イベントハンドラから呼び出し。
たしか50画面以上あるけど、その画面でやってることが基本的に1ファイルにまとまってて、
ほかの画面からも独立してるから頻発する改造に対応するには手っ取り早い。
Web だと通用しないかもしれないし、相当荒っぽいやり方だとは思うけど。
0153デフォルトの名無しさん
NGNGはてなに書いてたよ。
要望があれば書いてみれば。
メールしたほうがいいとは思うけど。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGそうか? .netだってSpring.netみたいなDI出てくるし
変わってくると思うけど
0157デフォルトの名無しさん
NGNG.NETの人たちがMS以外のフレームワークを積極的に使うとは思えんし。
さらに言えば、コーディングレベルの話なので、本質的な変化ではないからなぁ。
仕事のやり方がかわるよりは、仕事に携わる人の種類・層が変わることの方が劇的な変化だから。
0158デフォルトの名無しさん
NGNG作者じゃないってさ。
ま、メンテナでもいいんだけどね。
確かにどうすれば普及するのかねえ。
なんかS2JSFが出てくると更に普及の可能性が低くなりそうな気がするね。
S2タペというよりはタペの話になってくるのかな。
しかしそのメンテナ曰く
>>そもそもドキュメントを読まなきゃ使えんと言うのが問題。
じゃ、どうやって使うんだろう?
今までマニュアルやリファレンス読んで作りながら習得してきたんだけど、
そのやり方には問題ありって事なのか?
もっと手っ取り早く習得できるやり方があるのなら大歓迎だけど...
0159デフォルトの名無しさん
NGNGドキュメントを精読しないと使えんというのは問題だろうが、だからといってドキュメントがないのも問題だな。
0160デフォルトの名無しさん
NGNGというか、ウィザードで処理の雛形作ってくれるだけでも全然違うだろうね。。
つーか、そもそも補完する取っ掛かりが分からないからドキュメント見てるんだけど。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGオブジェクト指向で書かれたプログラムでコメントなしってつらくねー?
JavaDocでもなんでもいいからオブジェクトの説明ぐらい要るだろ?
0163デフォルトの名無しさん
NGNGだが、クラス名だけで出来る限り分かるようにすべきだ。
たまにコメントがなければ、さっぱり意味の分からないクラスを見かけるが。
0164デフォルトの名無しさん
NGNG実装の説明じゃないから、
そこんとこヨロピク
0165デフォルトの名無しさん
NGNG英語分からない奴が無理やり英語の名前でクラス名つけたりするとそうなるよな。
わかんねーなら日本語をローマ字記述でクラス名書け!つーの。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG訓令式は知ってるよな。
0168デフォルトの名無しさん
NGNGS2と関係無いと思うんだけど。
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG英語と混じるとはげしく違和感のあるローマ字記述法ですね?
0171デフォルトの名無しさん
NGNG英語と混じれば違和感あるのはどっちも同じ。
0172デフォルトの名無しさん
NGNGそんなあなたにEJB
0173デフォルトの名無しさん
NGNG0174151
NGNGEJB は問題外です。今更 EJB 3.0 では DI や AOP と取り込んで
すばらしいものになりますってか。しかも 2.0 まで利用者の怒りが怖くて
互換性を残すと。金儲けする人も大変ですね。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGそんなあなたにドットネット
0177デフォルトの名無しさん
NGNGそんなサンプルあれば欲しいです。
InterceptorでVisitオブジェクトをgetするために、
MethodInteceptorインターフェースを実装させてBasePageクラスを継承させるの?
なんか変ですよねえ。。。
どうすればいいのか教えてください。
いちいち、Pageクラスで認証チェックするのは手間です。。。
AOPじゃなくてもFilterとかでうまくできるのでしょうか?
0178デフォルトの名無しさん
NGNG「領収書」とかね。
0179デフォルトの名無しさん
NGNGreceipt じゃだめなの?
0180デフォルトの名無しさん
NGNGじゃあ、「レシート」は?
0181デフォルトの名無しさん
NGNGにしたときに違う意味になってしまうものは困る。
え、スレ違い?
話題ないんだからいいじゃん。
0182デフォルトの名無しさん
NGNGだったら>>177に答えてやれよ。
>>177
どうやらS2TapestryのPageクラスではAOPは使えないらしいぞ。
Tapestryは使ったこと無いけど、昨日のひが氏の日記に書いてる。
0183デフォルトの名無しさん
NGNGだからouterでDIを使うことはできるけど、S2AOPは使えない。
認証部分をS2から取ってくるコンポーネントに任せればいけるかも。
やったことないからわからんけど。
それでできるなら、もちろん認証部分のコンポーネントはDI可能。
0184デフォルトの名無しさん
NGNG期待age
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG今みたいな、同じ役割のメジャー&めんどくさいフレームワークとマイナー&お手軽フレームワークが並列する状況どうにかならんもんか。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG核の部分は変わらないし、OGNL使ってるから高機能だし、Springに比べてお手軽なのは変わらんと思うよ。
SpringでDICONが使えるようになってほしい。
もしくはSeasarでSpringXXXが使えるようになってほしい。
0190デフォルトの名無しさん
NGNGそのDICONってなに?
Spring固有の機能使ってなければ、SeasarでSpringXXXはうごくんじゃないの。
0191デフォルトの名無しさん
NGNGSpring固有の機能使うからSpringXXXなんだと思う。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGその使いたいSpringXXXってどんなやつ?
0196デフォルトの名無しさん
NGNGSpringHibernateとかSpringDAOとかJSF Springとか、Seasarでも並行開発されているヤツ。
今後もSpringの方が先行しつつ並行開発されていくヤツ。
0197デフォルトの名無しさん
NGNG素直にSpring使うほうがいいんじゃないか?
0198デフォルトの名無しさん
NGNGそしたら、Seasarの存在意義が。
0199デフォルトの名無しさん
NGNG漏れはS2DaoのためにSeasarを使ってるし。
0200デフォルトの名無しさん
NGNGYSFとかでも勉強しとくかな。
0201デフォルトの名無しさん
NGNG今後は文章に含まれる英字の量は全体に対して1%までと
規定するから、厳守するように。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG国産・マニュアルが日本語、イベントも国内
今のところ、S2本体のソースがシンプルで追えなくもない
S2DAOが凄い、一方でS2HibernateもありO-Rマッパーの選択肢がある
Flash、Flexといったフロントエンドへの対応が進み出している
blog、MLでダイレクトにひが氏やコミッタにリクエストや質問を投げれる、
且つ、即座に採用されたり、回答がある
今のところ、Springと比較すると学習がお手軽、Spring MVCなんかを
DIって何?ってな新人さんに説明するのは難しいかも
お客さんのオプソ懸念に対して保険として国内での有償サポが準備?
まだ提唱されて間もないが、くーすといった開発方法論が芽生え始めている。
0205デフォルトの名無しさん
NGNGS2Daoは確かに凄い。SQLを使える人なら間違いなく感激すると思う。
DB周りのコードがほとんど消えてなくなるんで、なんだか騙されてるような気がしてくる。
くーすは考え方はすっきりしてて分かりやすいけど、いざ実装しようとすると困る。
Strutsでいうと、Actionクラス=くーすのコントロールで実装してみて一応それっぽくなったけど、
「ロジック層が業務フローを制御する」って言われると、コントロールがStruts依存になってるから駄目っぽいし。
でもコントロールをわざわざActionクラスと別に書くなんて面倒くさいし。書けといわれれば書くけどさ。
広く使われるには、誰かがくーす用のFramework的なものを書かんと難しいんじゃなかろうか。
0206デフォルトの名無しさん
NGNG実装もあるんだ。
0207デフォルトの名無しさん
NGNGSpringMVCはWebでは使う必要なさそうだね。
S2DAOとSpringDAOの違いってどうなの?
定数アノテーションっていうのはCayenneと同じでおもしろいと思うけど。
OGNLと定数アノテーションがSpringとの大きな違いなのかな?
WEB+DB PRESSに解説記事が載ってたけど、ムダに大きいデータ構造で、ムダに本質的ではなさそうな部分が長いサンプルに読む気が萎えた。
0208デフォルトの名無しさん
NGNGあまり大きなフレームワークは使いたくないというのが本音だ。
Seasarも、某社が会社の事業としてサポートするような、法人としての取り組みができるようにしたほうがいいと思うな。
そのためにはSeasarで利益が出せるようなしくみが必要になるんだけど。
でも、そうしないと、オープンソースプロジェクトって長続きしないよね。
0209デフォルトの名無しさん
NGNG一応、電通国際情報サービスがサポートするらしいね。
ところで、S2Daoでディスクキャッシュ機能があるとか昔日記に書いてあったが、
どうやればできるの?
0210デフォルトの名無しさん
NGNGSpringやらSeasarは今後3年くらいかけて浸透するだろうから、機能をあわてて実装するよりも、プロジェクトが5年10年続くようにがんばってほしいな。
0211デフォルトの名無しさん
NGNG浸透ってのがどの程度を言ってんのか分からないけど、俺はなんか違うとおも。
例えば Web アプリと言えば、Tomcat や Struts は浸透してるとおもう。
これが 3 年後に Tomcat と Struts、んで DI コンテナは何? ってなことにはならない希ガス。
汎用 DI コンテナはフレームワーク作成者や新しいもん好きが使うものであって
システム構築者には汎用的すぎる。特化してるっぽい S2xxx や Springxxx とか
あるけど、まだ DI 使うとこんなすごいことができるみたいなオモチャに見える。
DI コンテナが浸透するんではなくて、フレームワークやライブラリが DI を
使用するのは当たり前になり (DI は自前でも良いし、cglib、javassist、BCEL、asm
なんでもいい) DI を冠することも無くなり、開発者に意識させないと思う。
0212デフォルトの名無しさん
NGNGもちろん、DI+AOPは基盤技術になるわけだから、本来表に出るもんではないと思うよ。
オブジェクト指向のためにJavaを使うんじゃなくて、Javaって便利だけどこれってオブジェクト指向に基づいてるらしいよ、みたいな。
なんかめっちゃ楽なんやけど、これってDIとかAOPっていうもののおかげらしいで、と。
ていうか、使用するのは当たり前ってことは浸透してるということなんじゃないかと。
ただ、そのためには実装とそれに基づいた実用部品が必要で。
その実装として、今はSpringとSeasarがあるわけだ。
あと、DI自体は使うのが非常に楽で、使えば結構自動的にアプリケーションの多層化やら部品化ができるから、やっぱりその利点を認められて広まると思う。
AOPは、末端開発者が積極的に使うものというよりは、コンポーネント提供者が利用して、末端開発者は何も考えなくてよくなる、という仕組みだと思ってる。
AOPこそ、開発者に意識させないものだと思うな。
使う言葉が違うだけで同じことを言ってる気がしなくもないが。
0213212
NGNGありがちなビジネスロジックの呼び出し仕様を集めたインターフェイスを登録しておけば、そいつを視覚化したものを配置して、メソッドつなぎあわせればアプリケーションになる、と。
呼び出し先の引数と同じ型のプロパティ持ってたらそれを自動的に渡して、みたいな。
ダブルクリックしたらそこのソース編集とか。
よくない?
0214デフォルトの名無しさん
NGNGスマソ、HTML2JSP、JSFのコンバータだった。
0215デフォルトの名無しさん
NGNGキャッシュはまだ未実装な筈
0216デフォルトの名無しさん
NGNG懐かしいな。そうなるといいな。
0217デフォルトの名無しさん
NGNGActionは、業務ロジッククラスの一つのメソッドを呼ぶだけに白ってことだから
そんなめんどくさいことないだろう。
これまでも、Actionにロジックをおくなって言われてたわけだから、
そんなにかわんないだろう。
0218デフォルトの名無しさん
NGNG> 実装上は、バウンダリから呼び出されるメソッドは、インターフェースになり、
> コンポーネント内からしか呼び出されないメソッドは、実装クラスのpublicメソッドに
> なります。
> 内部からしか呼び出されないのに、実装クラスのpublicメソッドにするのは、
> テストをしやすくするためです。別にprivateメソッドでもリフレクションを使って
> 呼び出せますが、コンポーネントを使う方は、インターフェースしか見ないので、
> 特にpublicでも問題ないと思います。
内部メソッドを public にか。俺はこれをダサいと思わん神経を疑う。
0219デフォルトの名無しさん
NGNG> くーすは、というより私は、各開発者のスキルをまったくあてにしていません。
> ドライに聞こえるかもしれませんが、現実のプロジェクトを乗り切るには、
> そう考えざるを得ないのです。そして、どんな人でも一定の品質のものを
> 作り上げるための仕組みを考えるのです。
要は
S2 使う側の香具師はバカかアホしか居ねーから簡単に使えるようにしますよ w
バックエンドの難しい仕組みはスキルのある俺様しか理解できないですよ w
と。
正論だが、それを公開日記でいうおまえはどうしようもないバカだ。
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGなんか嫌なことでもあったか?
こんなところで愚痴ってもしょうがないぞw
奴の日記読んでるんだったら、
奴が2ちゃんなんか読まないし仮に読んだとしても気にも留めない奴だって分かってるだろ。
ここじゃなくて奴の日記にコメントしろよ。
面と向かって文句言えないから陰口叩くちゃねらーの典型だなw
0222221
NGNG0223デフォルトの名無しさん
NGNG別に嫌なことなんか無いが、奴は最近方向が少しずれてきた希ガス。
0224221
NGNG調子に乗るのもわらなくはないけど。。。
まあ周りの取り巻き連中が持ち上げまくってるのかもしれないね。
個人的には調子に乗ってもいいから、S2JSFをきっちり作り上げて欲しい。
それと、S2Dao。
この2つさえきっちり作ってサポートしてくれれば持ち上げまくってもいいよw
0225デフォルトの名無しさん
NGNGいいんじゃないかと思うし間違ったことは書いてない。
そもそもフレームワークってそういうもんだろ。そんなに嫌いなら見なきゃいいのにw
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGして苦しんだことがないから馬鹿にされているように感じるんでしょ。
くーすが嫌なら一般的にいわれているようなユースケース駆動
なんかの設計でやってみればいいじゃない。俺はやってみて
これがだれでもできる方法だとは思えないからくーすの
思想には賛成できるけど。(具体的な手法に関しては置いといて)
0229デフォルトの名無しさん
NGNGサポーターはサポートするべきだから。
0230デフォルトの名無しさん
NGNG>S2 使う側の香具師はバカかアホしか居ねーから簡単に使えるようにしますよ w
バカかアホしか居ねー「と考えないと現実的に回らない」
>バックエンドの難しい仕組みはスキルのある俺様しか理解できないですよ w
バックエンドの難しい仕組み「を全員が意識しなけりゃならない状況は現実的じゃない」
曲解はやめような。
それ以前に、沢山の人を使ったことがあるかってことだな。
沢山の人の能力を全部把握して適切な仕事を振るなんてできやしないんだから、
全員が並の能力でも大丈夫な方法を模索するのは正しいと思う。
0231デフォルトの名無しさん
NGNGたとえばうちみたいに一人二人で1-3ヶ月やるようなプロジェクトでくーすに従って。。。というのはどうなんだろ。
0232デフォルトの名無しさん
NGNGひとりふたりだと、プロセスがなくてもまわるっちゃまわる。
それでもプロセスの採用は有用だと思うよ。
0233デフォルトの名無しさん
NGNGその日記は明らかにプロの現場を指してる。
あの子が欲しい、この子は要らない、相談しましょ、そうしましょ
ってできないし、勝手に配人されるし、何より初めて会った人が
何をどこまで知ってるかなんて分からない。
アレとソレとコレを知ってる人が居ないと回せませんとか言った
ら、それこそ自分自身が要らない子になってしまうw
0234デフォルトの名無しさん
NGNG粘着したいだけなんだろきっと。口実が欲しいんだよ。
そんなことよりもS2JSF激しくキボンヌ!出してくれたらひが氏ラブw
0235デフォルトの名無しさん
NGNGひが君は、ちゃんとここ読んでるから。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG喜んで掘りそうな予感。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG> 全員が並の能力でも大丈夫な方法を模索するのは正しいと思う。
俺が正論って言ったのをフォローしてるだけか。ってか、おまい、奴の言った
「各開発者のスキルをまったくあてにしていません。」
に自分が含まれていないって曲解してないか?
「易しいこと、優しいこと・・・」
一人のサポーターが挙げてくれた S2 の哲学的ともいえるテーマを、
ひが君琉に言うとこうなるのか。本質は同じだが、明らかにひが君はうんこ。
あのファウラーでさえ、自分はまだまだ未熟と言ってるのに(ry
0243デフォルトの名無しさん
NGNG藻前が粘着したおかげで易しさと優しさがサイトから
消えたんだから満足しろよ。ひが君に優しく易しくして
欲しいのか?
0244デフォルトの名無しさん
NGNG使えばわかる、ソース見ればわかる、だもん。
0245デフォルトの名無しさん
NGNG半角英数字の前後にスペースを入れるクセは珍しいから直したほうがいいよ
0246デフォルトの名無しさん
NGNGあんたよく見てるな
ほんとだ。感動した!
0247デフォルトの名無しさん
NGNG使わないと「知った」だけで「出来た」にも「判る」にもならんと思う。
誰もに優しくは努力目標にしても、マニュアルもかなり改変されてるしな。
AOPとS2DAOなんかは更に判り易くなったんじゃなかろうか。
板が荒れるとフォモか巣加戸炉になるな。
0248デフォルトの名無しさん
NGNG荒れているひとりがいるだけなんだがな。
0249デフォルトの名無しさん
NGNG使ってみる。ソースを見てみる。は、技術者として当然の行動文法。
教えてくれるのが当然君は芯でいいよ。
0250デフォルトの名無しさん
NGNG呼ばれてるぞ。
http://d.hatena.ne.jp/habuakihiro/20041003#1096792907
0251デフォルトの名無しさん
NGNGここで粘着してひが君を自分の思うとおりに動かしたい奴がいるってことだろ。
S2とか技術には興味が無いんだよ。興味があるのはひが君そのものなんじゃないの?
だから取り巻きも気に入らないしスキルがどうこう書いてると自分のことを責められてる
気がして可愛さ余って憎さ百倍になってんだな。ホモのストーカーって恐いな。
0252デフォルトの名無しさん
NGNGもし>>219が行くなら俺もギャラリーで参加したいw
0253デフォルトの名無しさん
NGNGなんか急にこのスレも格調が上がった様な気がしないでもないw
0254デフォルトの名無しさん
NGNGS2JSFもちゃんと作るってさ
0255デフォルトの名無しさん
NGNG漏れは219でもないし、219を擁護するつもりなんざ全くない(むしろ叩きたry)けど
ここじゃなくて自分のblogで批判つーか「来いや」はな・・・
はぶ氏にどんな事情があってここに書き込まないのかは知らんが、
どっちもやってることのレベルは大して変わらんな
0256デフォルトの名無しさん
NGNG意味はあると思いますがどうでしょう。
255さんの意見がハブ氏の(あっカタカナで変換したら
これまた沖縄くさい感じに!)ブログに書かれていたら
結構面白いんじゃないかなあ。
でも2ちゃんで書き捨てる気楽さも確かにあるし
それだけにあけすけに本心も出る面もありますな。
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGそういう考え方は、それはそれでいいと思うけど、それを「優しさ」というのかな、と。
0260デフォルトの名無しさん
NGNGいや、ちゃんとそこらへんに書き込んでると思うが。
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG誰に優しいか、っていうと「ビジネスする技術者に」なんだろう。作者と同種の人が対象なんだよ。
効率的な実装手段を求めてもがいてるような。教えて君や駆け出しの新人は入ってないと思われ。
それに、ソースはうまくいかんときにデバッガで追うくらいで十分。
ソース読まなきゃ使えないほど難しくもないし、声高に叫ぶほどドキュメントがないわけでもない。
0263デフォルトの名無しさん
NGNGもう記述は外れてるからどうこういってもしかたないんだけど、「初心者にもやさしい」というニュアンスだったような気がするんだけど。
「ドキュメントが豊富です」と声高に叫ぶほどドキュメントが充実してたわけでもないし。
要は、宣伝文句と実情が異なってたからどうよ、と思ってたわけさ。
0264デフォルトの名無しさん
NGNGJ2EEとコンテナ、アスペクトの初心者には充分やさしいと思う。
さすがにJava初心者にはやさしくない。ていうか、インターフェースでプログラミングすると
いうことをSQLできます、COBOLやってました。という人々に理解してもらうのは、すげー難しいぞ(W
0265デフォルトの名無しさん
NGNG宣伝文句と実情が異なってたときに、オレとしては実情の方をあわせて「これでどうよ?」となってほしかったのだけど、宣伝の方が取り下げられてしまったのは残念だ。
マンパワーの問題もあるだろうし、しかたないのだろうけど。
実情が伴ってきたときに、またあの宣伝文句を掲げてくれれば、と思う。
0266デフォルトの名無しさん
NGNGここに実名で書き込むヤシはいないだろ。
0267デフォルトの名無しさん
NGNGマンパワーの問題というよりも、ここでの粘着振りに
ひが氏がうんざりしちゃったんじゃないのかな
コンテナのドキュメントが急に書き換わったり
意地になってた気がする。
0268羽生
NGNGまず、ここに書き込まない理由は、
1.私は長文になってしまうので「長文ウゼー」って言われるからです。
改行が多すぎて書き込み出来ません、ともなります。
2.誰がどの書き込みをしたのかわからないので、脊髄反射的な会話に
しかならないからです。ハンドル名であっても一貫していれば、書き込みの
流れから行間を読むことで解釈のずれを埋める工夫が出来ますが、
そういう機能がないため「書き手の気持ち」を類推することが出来ず、
結果として言葉尻だけを取り上げることが多いからです。
これは、「私には」しんどいことです。
3.追いかけるのが大変だからというのもあります。自分の発言にレスがあったら、
きちんと返さなければという強迫観念があります。blogの場合は、あくまでも「コメント」ですので、
それに対してレスをしなければという気持ちは大らかでいられるのですが、
掲示板などだと常にウォッチしなければということで、日常に入り込んでしまいます。
忙しいときにはそれが苦痛になるので、控えています。これはMLもそうです。
4.自分が発する言葉は自分の心からしか出ません。ですから匿名であっても
責任が生じます。しかしトリップをわざわざ取ったりなど、仕組みとして「自分の責任」を
表明するのが面倒です(取ったこと無いし取り方を調べるのも面倒^^;)。
ですからここで自分の名前によって書いても、騙りと思われたりする可能性を考えると
blogのほうが確実だと考えています。
以上です。その上で、もう少し書きたいと思います。
0269羽生
NGNG要点は、これを「理念・目標」と捉えるか、「宣伝」と捉えるか、でしょう。
では、これについて、
「私は宣伝と受け止めた。ついては宣伝に反している。改めるべきだ」
と考えた場合に、意味のある形につながるように取れる行動として、
例えば次のようなことがあるのではないか、と思うのです。
「優しさ、と書いているが、自分には優しさが足りてないように感じる。
ついては、まず、こういうドキュメントを追加してみてはどうだろうか。」
そして、ほんの少しでも叩き台として出していただければ、それが呼び水となります。
ゼロから1への最初の一歩が大変なのです。マンパワーの問題もありますが、
そもそもご指摘があったように、知ってしまっている人間にとっては、ここが足りてないのか
という最初の気付きは難しいものです。
せっかくオープンソースであり、しかも英語圏に比べれば圧倒的に身近な国産のプロジェクトなのですから、
前向きな小さなはじめの一歩をいただければと思うのです。これをMLに投げてもらうだけでも随分と有効です。
MLも別にyahooメールで書いてもらっても構わないのです。同じ問題意識の発露であった場合に、
少なくとも、ここで汚い言葉でののしるよりもどれだけ有効で、どれだけ他の人の役に立つでしょう。
ですから、私はここで文句を言ってるだけというのは、実はこういう問題意識を持ってのことではなく、
それはポーズであって、実は別の感情が潜んでいるのではないか、という風に感じてしまいます。
このスレに書いたことでさえ、ひがさんはちゃんと受け止めて反映しています。
JavaDocプロジェクトも徐々にですが着実に進んでいるのも、例えばからさわぎで
「2chでも指摘されてますが、JavaDocいる人ってどれくらいいます?」というようなやり取りをして、
そこからちゃんと取り組みが始まっています。拒絶はしていません。
ですから、もっと誰もが受け入れやすい形でご提案いただければすごく嬉しいです。
0270羽生
NGNGさて、私はこのスレの位置付けというのは初心者にとって大きいため、
ここで不当に貶されるのは、S2へのアンチマーケティングをされていると考えています。
というのは、Seasarで検索するとこのスレがヒットします。知識のないひと(スキルがない
のとは別です)が、ここを見てどう思うか、ということを考えると、必ずしも実情が伝わる
とは思えないのです。
というのは、「優しさ」という言葉尻とその周辺のことばかりが取り沙汰されていますが、
では技術的にどうか、などのことは全然触れられていません。端的に言えば、ひがさんや
取り巻き(この表現の意図もよくわかりませんが)の人格に対する話しかないのです。
ということは、人格に関する情報だけで技術水準を判断されてしまいかねません。
つまり「優しさ」の守り手たらんとしている誰か(誰か、としかいいようがありません)の
発言が結果として、「優しさを必要としている人」の無知識につけ込んでいるようにも感じます。
私たちがやっていることが、全て必要にして十分なレベルにあるなどとは到底いえませんが、
残念ながら客観的に評価されているようには思えません。
こういう部分は優れている、こういう部分はもっと改善が必要だ、というように、要素ごとに
きちんと評価して総合判断を提示するのが、技術者の基本ではないかと私は考えています。
その評価結果が厳しいものであってもそれは謙虚に受け止めてさらに取り組みます。
その意味において、残念ながら非常に一方的な負の感情のみで書かれているようにしか
見えないものが多いのです。ここでまた、S2そのものに対するのではなく別の感情が潜んで
いるのではないかと考えたりもします。
0271羽生
NGNGこのようなことを踏まえた上で、他人を「うんこ」だの何だのという言葉を使うというのはどうなんですか?
実名で「これを書いたのは私です」と胸を張って公の場でいえますか? いえるのであれば結構です。
是非、私と会いましょう。いえないのであれば、それは後ろめたいという気持ちを持っているのです。
後ろめたさを自分で作って抱え込んでどうするのですか。匿名であろうとなかろうと、言葉は自分の心からでるものなのです。
その負の感情をなだめようとして匿名でさらに汚い言葉を使っても、それは悪循環に陥るだけです。
その負の感情の源泉が、Seasarプロジェクトの不出来さに起因するのであれば、わざわざ自分の気持ちを
痛めつけるのではなく、お持ちのスキルとその問題意識を良い方向に発揮してください。歓迎いたします。
もし、Seasarプロジェクトに起因しているのでないなら、それは申し訳ありませんが八つ当たりに過ぎません。
自分の心で解決していくことです。ただそれも、例えばからさわぎのような場所で、普段会わないような
広い範囲の方々と話をするだけでも、何かが見えてくるかもしれません。
実際、からさわぎはJavaは殆どわからないという方も多く参加されています。
そして宴会の場で、技術ではないことでも意見交換が出来て非常に役に立ったという感想を
お持ちの方も多くいらっしゃいます。
「来いや」は確かに言葉が乱暴かもしれませんが、本心です。多くの方が前向きに(S2に対して、ではなくて、
自分の将来に対して)取り組んでいる場に触れるだけでも全然気持ちが変わります。
私も別に年中元気なわけではありません。しかし皆さんとお会いすると元気をいただけます。
私も少しでも皆さんの元気のお役に立てるようになりたいと思ってます。
是非、お会いしましょう。前向きなケンカは必ず第3の素敵なアイディアを生み出します。別にケンカしなくてもいいんですけどね(^^)
今後ともS2およびSeasarプロジェクトへの叱咤激励をよろしくお願いいたします>all
尚、やっぱり恐いので基本的にここでは書きません。2chで実名出すのはやっぱりドキドキしますよ(w
0272デフォルトの名無しさん
NGNGトリップは適当に「羽生#seasar2004」みたいな#のあとに何かつけたらMD5かなんかの文字列になるだけなので、つけたほうがよさげです。
0273デフォルトの名無しさん
NGNG長文乙
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGネタニマジレ(ry
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG>>242
>>に自分が含まれていないって曲解してないか?
含まれてるのを前提として>>230を読み直しても、全然問題ないんだけど。
どう読んだら>>230がそういう曲解に見えるんだ!?
おまい、ひがさんの直下のプロジェクトやったことあるんだろ。
うらやましいなぁ。漏れは馬鹿にされるぐらいの勢いでケアしてもらった方が、安心できるけどな。
11月のからさわぎには絶対参加しよう。
0278デフォルトの名無しさん
NGNGはぶたんには、長文乙と伝えてくれ。
ひがたんには、うほっと(ry
0279デフォルトの名無しさん
NGNGオレはある。
プレフィックスはまぎらわしくないものにするべきだ。
ここは「夜の」をつけることにして大人の雰囲気を醸し出すようにするのはどうだろう?
つまり「S2Struts」「S2Hibernate」「S2Dao」を「夜のStruts」「夜のHibernate」「夜のDao」とするのだ。
これでSpringより大人な感じが伝わるのではないかと思う。
0280デフォルトの名無しさん
NGNGそこで大衆の支持を得るために「冬の」をプレフィックスに
するというのはどうだろうか。春(Spring)に対抗するのだ。
「冬のStruts」「冬のHibernate」「冬のDao」とするのだ。
これでSpringよりも婦女子の人気もバッチリだろう。
0281太田@会社
NGNG理想的には純粋なOO分析,設計でRUPなのですけど,スキルやリソース,コストの観点からは最低レベルの技術者でも一定の枠組みに従って開発できる仕組みと方法論が必要というのが現実のところです。Seasarと「くーす」はその一つの回答となっていると考えました。
こちらでもはぶさんのおっしゃられているようにもう少し建設的な意見があると良いかなと思うのですがどうでしょうか。
0282デフォルトの名無しさん
NGNG冬ソナかよ!
0283デフォルトの名無しさん
NGNGそんなに否定的な意見ばっかりかなぁ?
否定的意見に対する反論もあるし、後は読んだ人が自分で判断することなのでは。
0284デフォルトの名無しさん
NGNG匿名の場合、ネガティブな部分が大きく出て、建設的な意見は出にくいと思う。
ナイスアイデアは名乗ってから言いたいからな。
逆に、否定的な意見をここで拾えばよろしい。
>>279-280のようなとても建設的な意見もあるが。
っていうか笑わせるな。ひさびさ腹いたくなった。
0285デフォルトの名無しさん
NGNG特定個人をとやかくいうんじゃなくて例えばJavaDocがない
とかならS2DaoのここだけでもJavaDoc書けやゴルァとかな。
何をやればもっと良くなるのかを指摘してやればいいんじゃないかな。
0286デフォルトの名無しさん
NGNG現状サイトが貧弱だし、最初の入り口になるナビゲーションが非常にとぼしい。
最初になにをすればいいかわからないしな。
何度も言ってるけど、使ってみないとなにができるかわからない。
DIやAOPがなんであるかを知っていないと、使おうと思わないだろうな。
こういうのは、「ここをこう」みたいなヒトコトじゃ指摘できないんだよね。
ま、とりあえずホームページの体裁を整えて欲しい。
作者のブログとはいえプロダクトとはあまり関係ない話題を引用してきてどうこういうのはどうかと思うが。
0287デフォルトの名無しさん
NGNGで、よくみたらブログにはちゃんと書いてあったりする。
0288デフォルトの名無しさん
NGNGそれははなからブログをチェックするのが正解かと。
0289デフォルトの名無しさん
NGNG2ちゃんのスレは「小さなはじめの一歩」次第でどうとでも変わります。
一旦方向性をみつけると、良くも悪くもそちらへ爆走します。
どちらに向いて爆走するかは「小さなはじめの一歩」次第です。
太田氏が「方法論者(Methodologist, 社内でRUPとかの推進をしています)」であるなら
その現場で培われた成功例(例えば、知識のない人にどう啓蒙していったのか、どうや
って教育したのか、何を見せどう説明したのか等など)を書き込んでもらえると、このス
レにとって「前向きな小さなはじめの一歩」に成り得ると思うんですが・・・・・・・・
勿論、ただの要望で「もしよろしければ」という話です。
0290デフォルトの名無しさん
NGNGそういう情報は、「公式サイト」には書いてないからねぇ。
別に広めるつもりがないならかまわないけど。
雑誌なんかでSeasar知った人が、ブログをチェックしないといけないとは考えないだろ。
「仲間うちで使うための便利なもの作ってます。使いたければ勝手に使ってください」
というスタンスだというなら、とやかくいうつもりはないが。
0291デフォルトの名無しさん
NGNG国産唯一の利点は「ドキュメントに読みやすい日本語が期待できる」だが、
それも無いし。
結論:イラネ
0292デフォルトの名無しさん
NGNG世の中みんながトヨタやフォードに乗ってるわけでもなければ、
OracleやDB2を使ってるわけでもないんだから。
つーか、デファクトはEJB3.0なんじゃないの?
実際の小さい仕事で使ってみて今、基本部分が出来上がったとこ。
業務ルールとそれのつなげ方を分けて管理できるライブラリ、って感じで使ってみたけど
なかなかイイよ。俺は手抜きしてついつい業務ロジックを大きく作っちゃうんだけど、
単純なクラスをDICONで連結する構造が、結構自然に簡単にできた。
慣れるまで1週間くらいはかかったけど。さすがに1時間じゃ無理ぽ。
あと、バックエンドが簡単になったらフロントの Struts の辛さ倍増。
はやくS2JSF使わせてけろ。
0293デフォルトの名無しさん
NGNG使ってみれば、いいことはわかるんだよ。
そのための情報が少ないのが問題だね。
ブログ騒ぎで「ここだけの話」を見てみたら、リリース情報が逐一載っていた。
唖然とした。
公式サイトのチェックはしてて、新しいもののリリースは最近ないものだと思っていた。
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGttp://sourceforge.jp/projects/seasar/news
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG「仲間うちで使うための便利なもの作ってます。使いたければ勝手に使ってください」
というスタンスだというなら、とやかくいうつもりはないが。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303太田@会社
NGNGとりあえず社内外で
http://patterns-wg.fuka.info.waseda.ac.jp/study/8th.html
なことや,社内でのRUP研修で紹介して興味を持ってもらっている段階です。
私は開発ではなくテストが専門なので,その分野から攻めていって「テストが効率が上がる」というと興味を持ってくれるSEが多いです。
0304太田@会社
NGNGやはりみなさまオブジェクト協調関係の生成をどのオブジェクトがどういったタイミングですべきかについて悩むが多いです。
そこで,Robert C. Martinのオブジェクト指向の基本原則などとからめて,DIコンテナを説明し,
もっともとっつきやすい(私の主観ですが),Seasarを紹介するという形です。
0305デフォルトの名無しさん
NGNGSeasarのBean定義はSpringより少ない記述量でできる。
だから、わかってる人が近くにいれば、とっつきやすいと思う。
問題はわかっている人が近くにいないとき、Springの方が情報が得やすいということ。
0306デフォルトの名無しさん
NGNG>Springの方が情報が得やすいということ。
そうか?
Springは機能やら専門用語が多すぎて、わけわからん。
0307デフォルトの名無しさん
NGNG書籍に記述もあるし、網羅したリファレンスもあるし、そのモノが難しいというのは置いておいて、情報は得やすいと思う。
AOPのための記述とか、Seasarに比べるとアホみたいにめんどい。
もっと簡単な記述があるのかもしれないけど。
0308デフォルトの名無しさん
NGNG作者はJavadoc使ったことねぇのかな?少し笑えたぞ。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG無責任なだけで。
「Seasar2はインストールするだけでシステムが不安定」とか事実ではないこと書けば、それは悪意があるんだろうけど。
0311デフォルトの名無しさん
NGNGところで、どこに書いてあるの?
それ。
0312デフォルトの名無しさん
NGNG左側のメニューにWhat's newが欲しい、とか、ロードマップが欲しいぞな、とかは思うが。
まあとにかく要望は出せばキリがないからほっといて、早いトコサイトインできるようにがんばって欲しいね。
せっかくWEB+DB PRESSに寄稿したり、JAVA PRESSに記事が載ったりしてんだからね。
記事みてサイトにアクセスして迷子になってあきらめる人がいるだろうから。
0313デフォルトの名無しさん
NGNGサイトの更新履歴も欲しいぞな。
ブログベースってことで、どうなるのかしらんけど。
まあ、関係者のブログの関連するネタを整理して、アイドルネタを省いたものになるという感じか。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGそんな餌(ry
0316デフォルトの名無しさん
NGNGいくら高尚で美しい設計でも、利用開始に間に合わないんじゃ仕方ない。
0317デフォルトの名無しさん
NGNG他のコンポーネントやテーブル設計を待たずに実装とテストのフェーズに入れる>S2Unitによるリードタイムの短縮
S2OpenAMFやS2FlexみたくWebベースでHTML以外のUIの選択肢でも連携する手立てが用意されてるのもS2の良いところかもな。
0318デフォルトの名無しさん
NGNG他のコンポーネント→他の’関連する’コンポーネント’の実装’
>313
S2DAOのドキュメントも刷新されてますね。
0319デフォルトの名無しさん
NGNGダイコン事態の設計手法と、その2
を読んだ。
最後の「何か合コン誘われたから行ってくるわ」が気になったので読んで見た。
関係ねーじゃねぇか>くーす
もう帰る。ウワァァーン
0320デフォルトの名無しさん
NGNG御意>いくら高尚で美しい設計
美しい設計はあくまでメンテナンス性の為の一手段に過ぎない。
そうありたいし、心掛けてるが納期に間に合って、利益を生むのが大々前提。
で、プロジェクトには新人さんも(使用するテクノロジーに)不慣れな人間も居るのが当たり前。
彼らが、この先淘汰されるかどうかは知ったことでは無いが、現実の案件をデスマらせない
には、個々のスキルに任さないのは一つの立派な考え方。
数を集めるより少数精鋭の方がコストメリットもあるとは思うけど、愚痴をたれても仕方無い。
というわけでS2が選択肢としてあって、使ってるんだが。
0321デフォルトの名無しさん
NGNG御愁傷様(藁。くーすについては大阪のからさわぎの資料がテンプレも付いてるので興味深いな。
0322316
NGNGむしろ、DIだと設計をしなくてよくなるので、美しいとか美しくないとか判定する必要もない。
各機能各層について独立したクラスを作って、ゴンゴン組み立てればいいわけだから。
どこでオブジェクト生成してどこに保持してどうやって受け渡すか、それをいかに美しい設計で実現するかなんて考える必要はないんだから。
もちろんミクロやマクロの設計はしないといけないけど、それはEJBだって助けてくれるもんじゃない。
それにミクロやマクロの設計は楽しいし。
0323デフォルトの名無しさん
NGNG先人(Rod)をリスペクトしない姿勢が、鼻につくんだよ。
お前ら、Rod本人に向かって、禿げって言えんのかよ。
0324デフォルトの名無しさん
NGNG「スキルの無い奴」とか
「彼らが、この先淘汰されるかどうかは知ったことでは無い」とか、
結局お前、自分に優しいだけちゃうんかと。
0325デフォルトの名無しさん
NGNGそれ作者にも言ってやれ。
0326デフォルトの名無しさん
NGNG少数精鋭のXP、って時点でスキルの無い奴がはじき出されてるぞ。
仕事なんだから、最低水準の質を確保する仕組みってのは求めて当たり前でしょ。
そこから先、どう仕事に取り組むかは個人の問題なんだから。
0327デフォルトの名無しさん
NGNGコミッタでも近しい関係者でも無いよ。確かにイクナイ >お前ら、Rod本人に向かって、禿げって言えんのかよ。
禿しく同意だ。が、ひが氏本人が言い出した訳でもあるまい。
323本人の発言ではないと思うが、かといって逆にウンコ呼ばわりしたら同じ穴の狢でしょ?
>324
少数精鋭の徒弟制度がすくすくと育てば、ある意味で素晴らしいと思う。
で、’まず’自分に優しいのは当たり前だろ?社内のみならず協力会社を含めた遍く全ての他者が
今後、どう身を振るかまで慈悲深く’優しく’すんのかい?
0328デフォルトの名無しさん
NGNGRodにハゲと言える仲になりたい。
0329デフォルトの名無しさん
NGNG粗探しばっかりでは面白くない。
0330デフォルトの名無しさん
NGNG(cocoon本のころは良かったのになぁ)、ちょっと本質的なネタを
振ってみたいな。
(1) S2を使うと、本当にテストがしやすくなるのか
(2) S2を使うと、本当によいものができるのか
(3) S2を使うと、本当にスキル低い人でも一定の品質を保てるのか
(4) S2を使わないと、上記のようなことはできないのか
(5) 成果物全体がS2に汚染されるけど、それはOKなのか
まぁこの際S2をDIコンテナと言い換えてもいいや。
いくつかモノを作ってみたが、(1)はまぁ同意できる。
EJB使ってるとFactory駆使しないと結合を切れないが、
その辺をフレームワークとして統括できるのは便利。
(2)〜(3)は、ツールで解決するものか?という気がぬぐえない。
あと、テストパターン研究会でも話題になったが、ソースコード
トレースがし難くなるのは避けられないという問題もある。
(4)は程度の問題か。(5)はメリットとの天秤になるのかな。
インテグレーションクラス周辺だけ使う、というのが現実的か。
ところで、S2が正しくinjectionしてくれるかどうかの
テストはどう書けば?(汗)
というわけで皆の意見を聞きたい。
0331デフォルトの名無しさん
NGNGとなると、EJB以外の選択肢は無い訳で。
0332sage
NGNG>ソースコードトレースがし難くなるのは避けられない
これはDIの概念を読んだときからずっと気になってた。スキルの低い技術者が
出入りする大規模なプロジェクトでは影響がでかくない?
モデリングがちゃんとできる人がインターフェースの設計まで
きっちり終えてからコーディングさせないとメンテ不能なソースになりそう。
ひが氏はクラス図すらいらないみたいな事をどこかで言ってた気がするけど。
開発者もメンテナもくーすに従えば解決するのだろうか?
0333332
NGNG0334デフォルトの名無しさん
NGNG何だSpring派がS2叩きしてるだけか
0335デフォルトの名無しさん
NGNG少数精鋭をどう育てるの?
0336デフォルトの名無しさん
NGNGスキルのない奴が淘汰されるのは当然だろ?
0337デフォルトの名無しさん
NGNGで、オマエはRodの言ってることどれだけ理解して実践してるの?
0338デフォルトの名無しさん
NGNG1)S2が邪魔
2)ひがが嫌い
3)羽生がウザイ
のどれYO?
0339219
NGNG0340デフォルトの名無しさん
NGNG羽生はキチガイ
羽生はデブ
羽生はウンコ
羽生は氏ね!
0341デフォルトの名無しさん
NGNGSpring派とかいうわけでも無いんじゃね?
>331
EJBとがどこがどう似てるんだろ?スタンダードってのは
2.0なのか、それとも先の3.0のことを指してるんだろうか?
先のことを指すんであればそれこそJDOも含めて、流れが
どうなるか判らんと思うんだが
>330
(2)、(3)は今後のくーす次第かな、S2を使うからどうなるわけでもない。
(4)は疑問自体が難しいな、逆にどう思います?
(5)についてはDIコンテナが依存性を注入するので汚染?と
言われてもと思うんだけど
だからトレースやりづらくなるというのは判らなくもない
0342デフォルトの名無しさん
NGNGID表示が無い板だからといって朝から釣りはやめような
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG釣れて小躍りしてるかもしれんけど赤の他人だ、
数少ない君の人生の喜びを奪って申し訳無い。
>332
どうだろう?メンテナというかカットオーバーしてチーム
が解散、保守は引継ぎってところで発生する問題点は
まだ言及されてないんじゃないかな。
diconのまとめかたを含めて330のトレースの問題が
出てくるかもしれない。
0347デフォルトの名無しさん
NGNG全て、S2やSpringを使えば無条件にというわけではないというのは前提。
> (1) S2を使うと、本当にテストがしやすくなるのか
コンポーネントが独立するので異なる環境で動かしやすくなる。
> (2) S2を使うと、本当によいものができるのか
よいものの定義にもよる。
同じものであれば早くできるようになると考えれば、よいものにするための時間が多く取れるのでよいものができる確率が高いといえるかも
> (3) S2を使うと、本当にスキル低い人でも一定の品質を保てるのか
スキルが低い人が一定の品質を保てるのではなくて、スキルが低い人がいても一定の品質を保てる、だと思われ。
コンポーネントの独立度が高くなるので、スキル低い人の影響が減らせる。
> (4) S2を使わないと、上記のようなことはできないのか
DI+AOPを使わないと、初期コストがかかりがち。
ただし、その場合はプロジェクト用フレームワークをかっちり作ることになるので、DI+AOPを単純に使う場合よりも楽にできるかも。
でも、同じ努力をDI+AOPを使ってやったらもっとやりやすくなるだろう。
> (5) 成果物全体がS2に汚染されるけど、それはOKなのか
設計がDI前提のものになるだけで、個々はあまり依存しない。POJOだし。
だから、S2とSpringを切り替えることも、S2を使わなくすることも、個々の部分には影響なくできる。
と思う。
0348デフォルトの名無しさん
NGNGんなもん、OOPになってから諦めてますよ
ただ、インターフェースの設計をかっちりやらないとダメなのは同意
くーすでは単なる単体テストがやりやすいとかでなくて、
設計やら仕様のテストについても言及があってしかるべしだとおもうんだが
0349デフォルトの名無しさん
NGNG>>245 名前:デフォルトの名無しさん[sage] 投稿日:04/10/03(日) 17:56:40
>>半角英数字の前後にスペースを入れるクセは珍しいから直したほうがいいよ
スペースが入ってるほうが見やすいだろ?
Java 標準 API ドキュメント日本語版や Eclipse 言語パック適用後みたいにな。
それとも、こいつらも珍しいから直してもらうか w
0350デフォルトの名無しさん
NGNGいや、キミを判別しやすくて便利だから構わんのだけど。
0351デフォルトの名無しさん
NGNG俺的にはOOPになってから、スキルの低い人が書いたソースは
前(構造化設計)より酷くなったけど、スキルが高い人が書いたソースは
前と比較にならないくらい読みやすくなったと思う。
クラス図を見ればどの実装がどこにあって、それぞれの責任範囲が見えてくるから。
ヘボが書いたソースは不可思議なところにメソッドが実装されていて
ソースを追うのが困難。スキルはそこそこだけどオブジェクト指向に慣れていない技術者は
画面または機能ごとにクラスを作っていて、「これじゃC言語を構造化設計で
ソースファイル分割していたのと大して変わらんなあ」というのが多い。
0352デフォルトの名無しさん
NGNGなければやっぱりトレースしにくいと思う。
ソースだけで一番追いやすいのは、最後の
「スキルそこそこオブ不慣れ」のソース。
勿論良い悪いは別ですよ。
きちんとドキュメントは残しましょうって事ですかね。
0353デフォルトの名無しさん
NGNGドキュメントになりゃいいのか。
0354デフォルトの名無しさん
NGNGDIベースのプログラミングの従来型からの違いはそこにあるわけだし。
0355デフォルトの名無しさん
NGNG>「スキルそこそこオブ不慣れ」のソース。
それは確かにそうかも。
diconからドキュメントにするのはどうかなあ。シーケンス図をかかないと
そのインターフェースで必要十分なのかどうか判断しづらいと思う。
実装に入ってからレビューすると修正作業が多くなるので、やっぱり
あらかじめクラス図とシーケンス図を元にPLがちゃんとレビューして、
修正が終わってから実装に入った方がトータルでは楽じゃない?
まあくーすとは路線が違うのかもしれんが。
0356デフォルトの名無しさん
NGNGコラボレーション図になるのかな。
0357デフォルトの名無しさん
NGNGそうだよなー。だから開発プロセスについて
あーだこーだ盛り上がるわけだ。
オブジェクト指向のおかげで(せいで?)
ゴリゴリ書いて動けばおしまいってのじゃ
済まなくなったと。
くーす本、楽しみです。
実業務に則して、要件定義から見積もり提示とか
そういうのまで含めてくれるととても嬉しい。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGくーすでなくてもいいから、見積りは欲しい。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNGプロジェクトだけ。
0363デフォルトの名無しさん
NGNG比較できるほど三つとも使い込んでいるのか。
どこでどう差がつくのか是非教えて欲しい。
0364デフォルトの名無しさん
NGNGリリースされてないしさ。まだまだ仕様は変わっていくので
比較は出来ないでしょ。
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGってことはこの板で一番要望が高いS2JSFで「こんなんほしい!」ってのを
書き込むと良いんではないでしょうか?>ほしがってる方々
0367デフォルトの名無しさん
NGNGもちっと余裕があるサイトに引っ越したほうがいいような。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG自分でひが氏のブログにコメントしろ!
ちゃんと返事来るぞ。
0370デフォルトの名無しさん
NGNGやりにくい部分もあるけど、やれる部分のほうが多くない?
0371330
NGNG提案目的は、S2が使えるシチュエーションと注意事項を確認したい、ということね。
330で提示した中で、
(2)と(3)を聞いた意味は、自然なモデリングを変に崩すことになったり、制約が変な方に
働いて妙なものができてこないか
(4)は、書き方がまずかったが、DIパターンの目的である「依存関係のreasonableな分離」
を実現するためにS2は適切なのか
(5)は、importが云々という話の他に、例えば、「コンポーネントはsingleton、状態はク
ライアントが持つ」という考え方に染まったコードになり、理解者(というより共感者?)
以外は気持ち悪い思いをするよね?ということ。
個人的に気になるのは、作成するソフトウェアの複雑性を緩和するブレイクスルーがない
ように見えることなんだよな。
例えば、状態はクライアントに持たせ、コンポーネントはステートレスという思想という
か制約。データとロジックを分離させる方が有効なケースがあるのはわかる。コンポーネ
ントを作りやすくなるケースがあるのもOK(小規模な場合しか想像できないが)。
ただ、一般的には複雑性が増すわけで、適用箇所次第では、複雑性のしわ寄せがクライア
ント側にくるだろうし、コンポーネントも組みにくくなる。
さらに、346が言うように、思想を理解させなければ、こうやって組まれた構成の第三者
の理解およびメンテナンスが困難だ。
というわけで、ぶっちゃけた話、ある程度大きなアプリの適用例とメイキングオブが知り
たいわけだが。これは身をもって体験するのが一番か?
S2に限らず、J2EEのメリットが出るような規模のサンプルって、ほとんど表に出てこない
しね。抽象的か、短すぎる事例報告だけ。というわけで、もーちょっと様子見かな。
0372デフォルトの名無しさん
NGNG「構造体と関数」って感じで慣れないな。
どうしてもドメインモデルで考えてしまうYO。
ロジックをビジネスロジックとビジネスルールに分けて、
ルールの方はドメインオブジェクトに記述するのはどうだろ。
問題はS2DAOでとってきたEntityに他との関連をインジェクト
しないといけないとこだな。
0373330
NGNGフレームワーク全般に言える事ね。オブジェクト指向レベル
どうこうというよりは、頭の中の回路を頻繁に切り替えるのが
おっくう。該当箇所探索もフレームワークのメタデータ特有の
探索方法に特化した知識や支援手段が必要になるのがウザイ。
だいたい、インピーダンスミスマッチがないレイヤーで、
別言語(?)によるコンフィギュレーション使う必然性って
あるんかいな。
テスターは再ビルド権限がないとか、SIerには再ビルド許さん
けど自由度は与えたいとか、そういう運用的理由なら、
わからんでもないが。
というわけで、DIコン使うならPico/HiveMind派(しょーもない着眼点だな、おい)。
0374デフォルトの名無しさん
NGNG「ダイコン」「くーす」「から騒ぎ」ちょと恥ずかしい。
・オタくさい
から騒ぎの後、アニソンカラオケ大会。きしょい。
0375デフォルトの名無しさん
NGNG↑
DTO
↓
ビジネスロジック層 DTO or ドメインオブジェクト
↑
ドメインオブジェクト
↓
ビジネスルール層 ドメインオブジェクト
↑
ドメインオブジェクト
↓
データアクセス層
こんな感じか。
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGスマン、ここでのビジネスルールの粒度がイマイチ判らなかった。
揚げ足取りじゃないんだけど、ビジネスって曖昧な伝わり方もするんで、
例えばで良いんで教えて貰えますか?
PicoもHiveMindもよく知らないんだけど、どんな手順でDIするのかな?
>373
S2と関係無くメタデータと上手く付きあわないかんのもしゃあないでしょう。
ひょっとすると、今後は基本設計レベルではメタデータ定義するだけってな
思想になるかもしれんし。実装のソースコード書く人と完全分業みたいなことにも。
>374
ベタベタなほうが伝わりやすいってのもあるしさ。
あ、あとブログ読むと、アニオタ臭いのはコミュニティのごくごく一部な気もする。
ちなみに、から騒ぎ→からさわぎ、な。
0378デフォルトの名無しさん
NGNGPicoについては
http://www.picocontainer.org/Two+minute+tutorial
この辺みとけ。お前に与えられた時間は2分間だ(意味が逆)
クソ長いメソッドが多いが、エイリアスで短い名前も用意されてる。
>>367
ブザマだよな(苦笑)。
サービス運用規模の見積もり失敗でつか。
まーボランティアでそれなりの環境用意するのは金かかるので
大変なのはわかるが、今年は2004年です。
0379デフォルトの名無しさん
NGNG思いつきなんで、はっきりとはしてないんだけど、例えば
・計算フィールドの導出
単純な計算ですむ場合もあるし、導出にStrategyパターンを使う場合もある。
・他エンティティとの関連
User.isMemberOf(Group)みたいなメソッドが欲しい。
ロジック層でisMember(Group, User)ってなるとヤだなって思う。
ビジネスロジックをアクティビティ図で表すとき、それぞれのアクティビティ状態
をルールって呼ぶような感じかな。
0380デフォルトの名無しさん
NGNGソフトウェアの複雑性というのは、結局かわらないんじゃないかと思う。
単純に言えば、作るものが決まると、そのプロダクトのエントロピーの下限というのが決まるんではないかと。
そして、管理のしやすいソフトウェアというのは、エントロピーが低いソフトウェアだといえると思う。
フレームワークを使うというのは、エントロピーをフレームワークに押し付けて、コア部分のエントロピーを下げることになる。
ライブラリというのも、エントロピーをプロジェクトの外に追いやる手段だね。
あと、JavaのコードはBean定義ファイルに比べて情報量が多いから、コードを書かかずにBean定義を書くということはエントロピーを下げることにつながる。
そうやって、プロジェクトが管理する成果物のエントロピーを低い状態に保つというのが、すごくざっくり見たDI+AOPの効果ではないかな。
そういう意味では、無限の可能性をもつJavaコードを書く変わりに、数限られたXMLタグで同じことを実現する仕組みであれば、なんでもエントロピーが下げれていいんだよね。
XMLタグの表現力が上がると、それぞれのタグの情報量があがっていくから、またどこかにエントロピーを追いやる必要が出てくるわけだけど。
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGDI(IoC)に関しては >380の言うエントロピーの軽減が目的ってことでFA。
どのコンテナがいいか。
SpringやPicoと比べると、設定の手軽さと機能の豊富さでS2が一番だと思う。
欲しい機能があったとき、Rod Johnsonにメール出すより、ひがさんのblog
にコメントする方が敷居が低いし、レスポンスも速い。
Springはクドい。
くーすは、今公開されているサンプルやトライアル程度では、実際のプロジェクト
になったときに上手くいくか判断しかねる。
本を執筆中ということだけど、付録CDに実装までのサンプルでもあればいいのだが。
今までの開発手法(ユースケース駆動とか)も、本では上手く言ってるけど、
実際大変じゃんってことで、くーすを考案中なんだし、くーすも同じ轍を踏まない
とも限らんすね。
0384デフォルトの名無しさん
NGNGお願いできる(ファクトリ機能の外出し)ってことで理解してる。
それ以外の部分(Hibernate連携とか)はあくまでオプションだと思ってる。
くーすはよくわからん。資料がたりん....
0385デフォルトの名無しさん
NGNGよくある開発手法は、一般的にやろうとしてたり、実装と独立しようとしてて、使えなくなってると思われ。
くーすの場合は、業務システムをSeasar使って作るという具合に、用途を限定しているから、変に一般化しようとしなければ問題ないんじゃなかろうか。
0386デフォルトの名無しさん
NGNG資料っていうか、資料へのリンクがない気がする。
たぶん、探せば資料はきっとある。
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGあのへんのブログをぐるぐる回ったけど、くーす自体にはたどり着けなかった。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG0392371
NGNG大筋で同意。うまく言葉にできなかったことを、シンプルな言葉でまとめてくれてありがと。
オブジェクト指向はデータとアルゴリズムをバインドさせることで、エントロピーを低減させた
と考えることができるが(C++普及前夜に、関数ポインタを構造体に持たせたコードが増えたのが
なつかしいな)、そういう視点でのブレイクスルーがあるの?ということを
言いたかった。
自由度が小さい記述方法を使うことで局所的なエントロピーは下がると思うが、
全体的にはどうなんだろ。フレームワークと、その根底に流れる思想を理解するための
情報量の扱い、という意味で。
「くーす」という哲学を理解というか納得した者同士は、下げられるって
ことなんだろうな、たぶん。
0393デフォルトの名無しさん
NGNG弟子による「くーす」教本
http://marrow.strnet.com/wiki/pukiwiki.php?%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%BC%EA%CB%A1%A4%AF%A1%BC%A4%B9
ひが尊師やその弟子たちによる教えへのポインタ
http://www.wikiroom.com/tpircs/?higa%A4%B5%A4%F3%A4%CB%A4%E8%A4%EB%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%CA%FD%CB%A1
「ダイコン時代5秒前」くらいまでは読んでみてから、
拾い読みするといいかも。少なくとも修羅場突破用
割り切り基準としては優れている。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGありがと。
0396デフォルトの名無しさん
NGNGあなたみたいに頭よくないからね。
0397デフォルトの名無しさん
NGNG> 設定の手軽さと機能の豊富さでS2が一番だと思う。
設定の手軽さで一番、というのは理解できん。
XMLのvalidation考えると特に。
ある程度大きな、例えばconstractor injectionの
インスタンス数が100とか言い出すと、コストが逆転する
かもしれんけど(まぁそこまでいくとXMLも専用エディタ
使わんと苦しいな)。
フィーリングとしてどれくらい?>リーズナブルな規模
機能の豊富さはXMLの表現力と等価なわけで、情報量が(略)。
相手が日本人だと楽、というのは同意。自分も含めて
技術者として情けないがな……。一時期、Xalanコミュニティ
とかに顔つっこんでみたことがあるけど、やっぱりスケール
の違いを感じた。ロシア人の英語はよめねー。
>>384
そうね。個人的にもそこがコアだと思う。
AOPはそれを効率よく実現するための手段という考え。
そもそも「FactoryやAFactoryはDIコンテナで代用
できます!」ってのは、DIがFactoryの一流派だけ
なんじゃないかと小一時間(略
0398デフォルトの名無しさん
NGNG鯖提供者募集中だそうです。
0399デフォルトの名無しさん
NGNG「型安全性」だとか「コンパイルによる事前検証」のメリットってどうよ?と思わないでもない。
0400デフォルトの名無しさん
NGNG大いにそう思う。
いままでだと、型の安全性ってのは基本的にコンパイラが
あるていどの保証(とはいってもぴんきりだが)を
してくれていたわけだが、そういった部分に頼れないと
いうことだからね。
0401デフォルトの名無しさん
NGNG徹底利用しにくいところもあったね。たとえばListnerを使ったコールバック的な
委譲モデルでも、おれはListnerインターフェイスをimplementsするんじゃなくて、
モデル側にMethodオブジェクトを渡してやるほうがなんぼかましじゃないかと
思ったりもするし。
たとえばThreadにRunnableオブジェクトを渡すんじゃなくて、実行して
ほしいMethodを渡して、Thread側ではinvoke()するとかのほうがもっとフレキシ
ブルなんじゃないかと。Runnableをimplementsする必要すらなくなるし。
こういう、型なんて関係ない、メソッドがあればいい、という使い方は本来、
オブジェクト指向ならではだったわけで。
DIコンテナの場合、利用側ではインターフェイスをもとにしたプログラミングを
行なうわけで、型安全性も十分保証できてると思うし。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGC#のデリゲート、MSがJavaの仕様に入れようと提案したら
Sunに断られたそうで。
0404デフォルトの名無しさん
NGNGたしかにそこでの型安全性は低くなってると思う。Cast例外って
実行時例外だったよなあ。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGそういえば。
オブジェクトの遅延生成ができるともっといいね。
遅延というか、オンデマンド。
getXxx使ったときに生成されるような。
じゃないとイモヅル式にオブジェクトが生成されてしまう。
できるんだっけ?
0407デフォルトの名無しさん
NGNGいやコンテナ内のオブジェクトはいいんだよ。増えるところは
S2の例:
Hello hello = (Hello) container.getComponent(Hello.class);
この部分ね。まあ対した問題じゃないんだけどね。文法上
cast失敗を気にする必要もないだろうし。
0408デフォルトの名無しさん
NGNG0409sage
NGNG奇麗に設計できている場合はそうね。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG基本はSingletonだ
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGそうすると、ソフトウェア中で必要なオブジェクトがすべて生成されてしまうことにならないかな。
0417デフォルトの名無しさん
NGNGこれぐらいは自力で調べる癖をつけようね。
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC
これの「情報理論におけるエントロピー」のところにある。
> ある確率分布 p(x) をもつ確率変数 X が与えられたとき、
>
> H(X) = -Σ_{x∈X}{p(x)log(p(x))}
>
>この量 H を 確率変数 X のエントロピー という。
0418デフォルトの名無しさん
NGNGその言葉のもつ本来の意味を知らず、また、知ろうともせず、
単に語感やニュアンスだけでカッコいい言葉を使ってみる、
というのはどこに行ってもありがちだけどね。
>>380の言わんとしていることは分かったけど。
0419デフォルトの名無しさん
NGNGソフトウェアにおけるもなにも、エントロピーは情報量の平均だよ。
整理されてなく、どこになにがあるかわからないソフトウェアはエントロピーが高い。
Javaのコードは選択肢が多いから、一行の情報量が多い。
対して、SeasarやSpringなどのBean定義ファイルは選択肢が少ないので情報量が少ない。
また、規模の大きいソフトウェアも、行ごとの情報量が大きくなる。
系が閉じているときのエントロピーの総和は一定なので、どこかのエントロピーを下げようと思うとどこかにエントロピーを押し付ける必要がある。
整理してどこになにがあるか推測しやすい状態で、選択肢の少ないコーディング技術を使って、コード量を少なくすると、エントロピーが低くなる。
作成するソフトウェアのエントロピーを下げようと思えば、ライブラリやフレームワークを使うことのほかに、開発管理がある。
管理された成果物のエントロピーは低いけど、管理作業自体のエントロピーが高いから。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG-log(p(x))っていうのが情報量ね。確率の対数。で、エントロピーは情報量の平均(期待値)
0424デフォルトの名無しさん
NGNG○確率の逆数の対数
文法のルールが多いほどコードのエントロピーは低くなる。
だから、Javaのコードは型の緩い言語よりエントロピーが低くなるんだね。
そのかわり、文法を勉強するためのエントロピーが高くなる。
0425デフォルトの名無しさん
NGNGすべて生成したとしてもデータを持たないオブジェクトという前提ならそれほど問題ないのでは?
0426デフォルトの名無しさん
NGNGソフトウェア中で必要なすべてじゃなくて、DIContainerに登録されているものすべて。
prototypeとouterを除く。
なんでもかんでもDIContainerに登録するわけじゃないよ。
多分416が思ってるほど多くはない。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG使うときにはShow()するような感じ?
Delphiでちゃんとしたアプリ作るときはちゃんと生成・消滅を管理するけど(VBはシラネ)、
0429デフォルトの名無しさん
NGNGJFrameはシングルトンにしなければいいのかな。
0430デフォルトの名無しさん
NGNG…ヲイヲイ…。
0431デフォルトの名無しさん
NGNG問題なしだ。VB、Delphiは良く知らんが、一つだけインスタンスを
生成しておいて、必要な時はコピーを生成してShow()するようになる。
これくらい分からんような奴らが、「ドキュメントすくねえ」とか
「全然優しくねえ」とかほざいてるのであれば、ひが氏は気に留める
必要ない。ドキュメント整備した所で使えねーよ。
S2Daoの機能強化やS2JSFの方に注力して欲しい。
0432デフォルトの名無しさん
NGNGここにもいたりしてw
0433デフォルトの名無しさん
NGNGじゃエントロピーってなに?
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG俺≠430だけど、こんな感じじゃない。
持ちうるデータのバリエーションの許容量⇒情報量
それの系全体(平均)⇒エントロピー
あるいは、バリエーションの許容量ではなく
絶対量そのものを指す人も多いかも。
どちらにせよ、Wikipediaのと違いはないと思う。
0436433
NGNG実は、情報量と書いてる部分も、エントロピーと書くべきだった気がする。
情報量っていうのは、たとえばJavaコードを1行取り出したときに
S2Container container = S2ContainerFactory.create(PATH);
だったときにどれだけ意外性があるか、という、それぞれの事象に対する量だからね。
0437デフォルトの名無しさん
NGNGこういう、足りない点を指摘するやつをバカにする方が、スレを荒らしてるわけだが。
こうやって評判落とすようなマネするのって、ヒガさんに実は恨みがあるから?
0438デフォルトの名無しさん
NGNGそりゃいるだろ。2chだからな。
0439デフォルトの名無しさん
NGNG恨みはないかもしれないが
妬みややっかみを持っている
ヤシはいるんだろうな。
0440デフォルトの名無しさん
NGNG羽生さんもいるくらいだからな。
0441デフォルトの名無しさん
NGNGで、ひがさんを擁護するフリをして、Seasar2は敷居が高い、とか、欠点に対する指摘を受け付けない、とかそういう逆宣伝をしてるわけか。
0442デフォルトの名無しさん
NGNG羽生さんがいるところには常に粘着するわけか。
大変だな。羽生さんも追っかけもw
0443デフォルトの名無しさん
NGNG人の話を遮って自分だけ延々と喋るし。
たいていは人の話に耳を貸さないくせにそれは相手によるし。
嫌いなやつは多いだろう。
0444デフォルトの名無しさん
NGNGまあそういう話はスレ違いってことで。
呼び出しくらうよ。
0445デフォルトの名無しさん
NGNG何だオマエ知り合いなのか。
本人に直接言ってやれよw
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGその部分だけ他に影響を与えずに作らせることができるという
ことだと思います。
Rodの本なんかを読んだり、ソース調べたり、自分で試したり
できる人とできない人で、Seasarに関わる人は分化されるのです。
S2を作る人、使う人、使われる人の3種類になるのでしょう。
それぞれのスキルにあった役割を与える。これも優しさです。
使われる人は、他に問題を波及させずにとりあえず、与えられた
メソッドの実装を行えばよくなります。
使う人は、実装を外注しやすくなり、Springと比べてもテストや
設定が格段に楽になります。
その点の説明が公式サイトにないので(日記にはあるが)使われる人が
勘違いして、ちょっと調べれば分かることをここでゴチャゴチャ騒いで
いることでしょう。
ドキュメントの整備は大歓迎です。ただ他の方に注力して欲しい。
0449デフォルトの名無しさん
NGNGひが氏もいい迷惑だな
>>448
>ドキュメントの整備は大歓迎です。ただ他の方に注力して欲しい。
禿同
ひが氏にはどんどんS2を磨いていってもらいたい
とりあえず2.1期待ageだ
0450デフォルトの名無しさん
NGNG話をさえぎられて自分の出番を取られてしまった人じゃないの?
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG>その部分だけ他に影響を与えずに作らせることができるという
ちゃんと詳細設計ができてれば普通のOOPどころか構造化設計でもそうです。
ドキュメントがどうとかは(俺は言ってないけど)せっかく匿名で本音を吐いてくれてるのに
それを粘着呼ばわりする被害妄想は止めて欲しい
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG平準化しやすい、という事なら納得できるけど。
というか詳細なインターフェース設計をしてからじゃないと実装始められないよ、
ということか。それはいいかも。でも実装し始めてから設計ミスを直すのが
めんどくさそうな肝汁
strutsがMVCモデルを強制してもActionにビジネスロジック書く奴がいて、
結局ちゃんとOOAしないとMVCのメリットがでない
↓
ちゃんとOOA出来る人がいたらstrutsの仕組み必要ない
(設定ファイルの手間が増えるし。taglibは便利だけど)
みたいな事にはならないのかな?全然Seasarの話じゃなくて申し訳ないが
0455デフォルトの名無しさん
NGNGstrutsのMVCはアプリケーション全体でいえばVの中のローカルなMVCだからしかたないね。
0456デフォルトの名無しさん
NGNGYES
>>454
だからくーすを作ったんじゃないかな
0457デフォルトの名無しさん
NGNG>使う人は、実装を外注しやすくなり、Springと比べてもテストや
>設定が格段に楽になります。
まじ参考までに教えて欲しいんですけど、Seaser2がSpringと比べて
テストや設定がしやすい部分ってどういうところなんでしょうか?
SpringとSeasar2の比較をいろいろ探したんですが、どれもいまいち
ピンと来ないもので。
0458デフォルトの名無しさん
NGNG人をうんこ呼ばわりしてあげつらったヤシが
いるんだから被害妄想もある程度仕方ない
と漏れは思う。ひが氏の日記が大人しくなって
しまったのが個人的には残念だ。
0459デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html#chapter4
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG欲しい機能を(Javaでやるという前提であるならば)考えられうる限りできるだけシンプルに実装できるもので
割と好印象。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG仮にコードが汚くてもUnitテストさえ
クリアしていれば安心が得られると
いう利点があるかなと思うけどどうかな?
0464デフォルトの名無しさん
NGNGテストをするのは当然で
汚いのはリファクタリングの原則に反するのでよくない
0465デフォルトの名無しさん
NGNG外注に出して汚いコード
だったとしてもまだ安心度が
保てるように思うんだが
0466デフォルトの名無しさん
NGNGS2は外注向けと考えるならそれは間違い。もともとソフトウェア開発はそういうものじゃない。
0467デフォルトの名無しさん
NGNGどっぷりとデスマに浸かることで、
自分は仕事をしているんだ!
という満足感が得られるからなのさ。
さらに、デスマを解消したり
回避する方法を考えるのは
もっと好きなのさ。
なんでかというと、
自分はこんなすごいことをやったんだ!
という優越感が得られるからなのさ。
Seasarってのはそうやって生まれたの。
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG汚いのはリファクタリングの原則に反する、ってのはどういう意味?
リファクタリングの対象になる、ならわかるけど。
ついでにいうとユニットテスト通ってるならリファクタリングも気楽にできるね。
0470デフォルトの名無しさん
NGNGS2の話とはもう違うだろ。
外注に出すところのコスト構造って本当に酷いよ。
0471デフォルトの名無しさん
NGNGステップ実行とかできないの?
0472デフォルトの名無しさん
NGNGおかげでデスマにならずに済むなら漏れはありがたい。
>>471
S2のコードも全部放り込んでおけばいいんじゃない?
0473デフォルトの名無しさん
NGNGデスマはなくならないよ。
まず>>467でいう満足感と優越感がなくなっちゃうからね。
それに、新たな方法論を導入して解決するのは
「今までのステージにおけるデスマ」であり、
「次のステージにおけるデスマ」が控えているんだよ。
デスマあってのSeasarであり、
デスマある限りSeasatは進化し続け、
そしていつまで立ってもデスマはなくならない。
しかし、これがみんなの幸せにつながる。
0474デフォルトの名無しさん
NGNG( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚) …?!
'`,、'`,、('∀`) '`,、'`,、
0475デフォルトの名無しさん
NGNG設定ファイルやテストコードを書くためのタイプ量がS2の方が少ない。
DIを使うと、これらの煩雑さが問題となってくる。
0476デフォルトの名無しさん
NGNGDIは問題ない。初期化より後は普通だから。
でもAOPを使うとデバッガで追えない。
バイトコードいじってるやつ全般に言えることだけどね。
0477デフォルトの名無しさん
NGNGAOPを使っても追えるよ。
意味不明なクラスに行くけどそこもトレース実行すればその後は問題なかった。
0478デフォルトの名無しさん
NGNGデバッガで追えないのは、AspectJ。
S2は普通に追える。
0479デフォルトの名無しさん
NGNGJ2EEっていうかEJB?
後だしじゃんけんだからなぁ。
DynamicProxyのおかげの部分もあるし。
0480デフォルトの名無しさん
NGNGS2はDynamicProxyは使ってないけどね。
cglibでバイトコードいじっているから同じようなものだけど。
0481デフォルトの名無しさん
NGNGcglibのページの「Open source projects use cglib」に載ってないのが寂しいけど。
0482デフォルトの名無しさん
NGNGとても使わせてもらえなそうだが。。
0483デフォルトの名無しさん
NGNGといことはcglib使ってるモノはすべてだめなんだね。
HibernateとかSpringとかも。
0484デフォルトの名無しさん
NGNGコンテナ部分は使ってないぞ。Spring。readme.txtに書いてある。
なので、AOPやDAO機能を捨てれば非バイトコード操作なDIコンテナとしては使える。
あと、PicoContainerも非バイトコード操作なDIコンテナだよね。
>>482
なので、あくまでもDIコンテナが使いたいならS2以外の選択もある。
AOPを利用したい時にはS2のほうが簡単だと思うけどね。
0485デフォルトの名無しさん
NGNGSpringのAOP定義はめっさめんどり。
0486デフォルトの名無しさん
NGNG偉いなMS。蚊帳の外でもコミットしようとするなんて。
これだけ見るとSUNだめだな。
空のインプリメソッドがゴミのようにある俺のソース…。何とかしてくれ。
0487デフォルトの名無しさん
NGNGやっぱりなんかくだらない気がしてきた。
アプリケーション毎に必要な機能って違うじゃんか。
(負荷分散・クラスタリング・動的再配置・トランザクション・必要になるパフォーマンス、とかいろいろ)
シンプルな実装をアプリケーション毎に作ったほうが、ムリヤリ共通して使える実装を探さなくてもいい。
0488デフォルトの名無しさん
NGNG実装はアプリケーション毎に行こう。
0489デフォルトの名無しさん
NGNGリファクタをキジムナに期待age
0490デフォルトの名無しさん
NGNGそれはアプリ毎に必要な機能じゃなくシステムの構成・設定。
487の言う「いろいろ」こそ共通して使える実装部分じゃろ。
0491489
NGNG> ところで、S2が正しくinjectionしてくれるかどうかの
> テストはどう書けば?(汗)
キジムナ使へば下に出るぞ。singletonだけかもしれんが。
それをキャプチャしたのをテスト結果とすると良いかも。
>>399
>>400
キジムナ使え。事前検証バリバリだぞ。
>>作者
コード補完機能キボソ
0492デフォルトの名無しさん
NGNGだから、アプリケーションごとに違う非機能要件をAOPを
使って処理するんじゃん。
0493デフォルトの名無しさん
NGNG俺もMSの態度は偉いと思う。
片思いなのがこれまた哀愁がただよってて
ヘンに共感してみたり。いやそりゃヨタだけども。
でもコーディング量が増えても
インターフェイスという考え方で統一したいって
気持ちもちょっと判るんだよねー。
0494デフォルトの名無しさん
NGNGトランザクションの基盤なんて単純なものならほんの数行のコードで実装できるし、
動的再配置するためのライブラリ(ちょっとしたネームサービス)あればいい
クラスタリングや負荷分散となると、それはアプリケーション毎にかなり違うもんだと思う
あんまり仰々しいフレームワークを用意されても、結局複雑にしてしまうだけではなかろうか
0495デフォルトの名無しさん
NGNGそんなこといったらJDBCもいらんってことにならんか?
何を持ってシンプルな実装というかだな。
0496デフォルトの名無しさん
NGNGぎょうぎょうしいフレームワークって何。
S2はシンプルだと思うけど。
POJOが基本で、コアはDIとAOPの機能だけ。
コア以外の機能もいろいろあるけど、
使えるものは使えばいいし、無理に使わず自前で実装しても良い。
ただ、クラスタリングや負荷分散を自前で実装するやつは、
よっぽどのツワモノだと思う。
0497デフォルトの名無しさん
NGNGEJBはくだらないが、DIはくだらなくないよ。
アプリケーション毎に、というより、アプリケーション内で必要な機能をアプリケーション内で共通して使うためにDI+AOPが有効だと思われ。
0498482
NGNGSpringもHibernateもDynamicProxyで代用できませんでしたっけ?
#フル機能使えなくてもさ
DIコンテナってテストが簡単とか、複雑じゃないとか利点ばっか挙げられてるが,
商用EJBコンテナが提供するような分散・スケールアウト手法は確立されているの?
0499デフォルトの名無しさん
NGNG毎回毎回自分で実装できるような奴ならいらんのでしょ。
負荷分散・クラスタリング・動的再配置・トランザクションをシンプルな実装で
アプリケーションごとにバグ少なく作成できるような凄い人はうちの周りには
いないけどね。
0500デフォルトの名無しさん
NGNG負荷分散・クラスタリングって、パフォーマンスとの兼ね合いでいろいろ調整いるだろうから、
自分で実装っていうのが基本では。
それを補助く小さなライブラリ(タプルスペース扱うやつは便利だ)があれば満足。
0501デフォルトの名無しさん
NGNGスーパーな人発見。
釣りじゃないならすごいね。
そういうのは、アプリケーションサーバか負荷分散装置だとかに
任せるものだと思っていたよ。
0502デフォルトの名無しさん
NGNGLightweightなプログラミング言語を使っているとどうしても大げさに感じてしまうのよね。
0503デフォルトの名無しさん
NGNGバイトコードいじくるものより、自分で組んだ負荷分散やらクラスタリングのほうがあてにならんなぁ。
トランザクションも、基盤は数行でも、いろいろなところに埋め込まれて、そっちの方があてにならんなぁ。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG貧乏人は自分で作るんですよ。多分。
0506デフォルトの名無しさん
NGNGこれらの機能提供しないのに,EJBの代替物と歌われてもねぇ、、、
0507デフォルトの名無しさん
NGNG作っているものによると思うけどね。
一体どういうものを想定している?
HTML文章返すだけのウェブサーバとネットワークゲームのサーバではそりゃ負荷分散の手法は違ってくる
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGそこはそれ、アプリ層のインプリだけ構造を統一するためにEJBの
スタイルを借りて、サーバー部分は最適化したものを自作、デスよ。
…ほんまかいな。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNGどでかいコールセンターで検索したい人が多いなら単にデータベースを大量に水平に並べればよい。
核爆発シミュレーション計算の分散も基本的にはコンピュータ並べるが、自作率は後者のほうが多くなるだろうな。
0514デフォルトの名無しさん
NGNGEJBの代替物とは謳ってないんじゃない?
J2EEの機能を使いやすくする、でしょ。
J2EE=EJBだと思ってるなら間違い。
ついでに言うとまだ発展途上なのに「全部無いなら使わん」とかいうならご自由に。
使いたいとこ、使えるとこだけ使えばいいんだ。
あとは自作なり他製品と組み合わせるなり。
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNGとりあえず対象となってない分野をもってきて、使えないとかわめくのって、悲しいね。
0517デフォルトの名無しさん
NGNGいつからEJBの主目的が負荷分散になったんだ?
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG負荷分散しないのにEJB使っても今ひとつ甘みが無い。
0520デフォルトの名無しさん
NGNGクラスタリング・負荷分散に共通して使える対象なんてありえないってことを示す例
0521デフォルトの名無しさん
NGNGで、とりあえずS2が話題にしてるのは業務システムなんだけども。
0522デフォルトの名無しさん
NGNGEJBを使うのは大袈裟なシステムが
世の中には多いんだから別の手を
使おうぜってことでしょ。EJBが必要な
人はそっちを選べばいい。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGいくつかの注意点はあるけども。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG負荷分散やらクラスタリングなんかDIコンテナで解決する問題じゃないし。
(てか、んなことまでサポートしだしたらLightweightなコンテナじゃなくなるじゃん)
もう少しS2自体の話があるとうれしいのだけど。
0528デフォルトの名無しさん
NGNGフレームワーク外の作りこみ一切禁止なんて縛りがあるわけでもないのに、
なぜそこで完璧を目指す必要があるのか理解できない。
パレート原則で言う8割の側を押さえるだけで十分では?
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG理解できない会話に無理に加わる必要はないよ、坊や。
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG> 負荷分散やらクラスタリングなんかDIコンテナで解決する問題じゃないし。
だってDIコンテナの作者らがEJBイラネって言ってんだもん。
0533デフォルトの名無しさん
NGNGその程度のシステムでEJBはイラナイだろ。
0534デフォルトの名無しさん
NGNGDIコンテナの長所挙げるとき散々*EJB*と比較して、
難しいとか、テストが大変とかEJBの短点ばかり挙げるのにな(w
0535デフォルトの名無しさん
NGNG短いコードで表現力の高いプラットフォームなら他にあるだろうに
0536デフォルトの名無しさん
NGNG負荷分散やクラスタリングは、ロードバランサや
HttpSessionでやった方が良い。
EJBでやるよりよっぽど実績がある。
0537デフォルトの名無しさん
NGNGHTTPって、それは単にウェブサーバの負荷を分散ではなかろうか。
素人なんだけど、業務アプリの場合、データベースのバックアップも兼ねた
クラスタリングが重要になるのでは?
0538デフォルトの名無しさん
NGNGC-JDBC使えば?
0539デフォルトの名無しさん
NGNG業務ロジックは、Servletコンテナと同一VMで動かすのが
パフォーマンス的には良い。
スケーラビリティがなんて言うやついるけど、
業務ロジックよりもWebの部分が先にボトルネックになる
ケースの方が多い。
データベースへの接続も負荷分散装置使えるよ。
EJBコンテナで負荷分散やクラスタリングしているシステムなんて
ほとんど見たことないけど。
0540デフォルトの名無しさん
NGNGいや、しかし、世間的にはどうか知らんが、
漏れの経験では業務アプリでウェブベースなほうがむしろ稀だった。
ウェブベースなのは補助的な用途の場合が多い。
そういうときって、やはりクラスタ機能ある常駐プログラム
作る必要あるわけで、それはJavaで作るならばejbかdiコンテナか選択するんだろうな。
業務アプリに必要なのって、サービスを管理するライブラリだよね。
インストールはコマンド一発。
DHCPでIP振られたら自動的にデータベース起動して、アプリサーバ起動して、
クライアント探して・・・ っていうのを自動でできるようにしなきゃいけない。
(でないと導入コスト高いんだ)
0541デフォルトの名無しさん
NGNGS2の用途は539の言うとおりだと思う。
S2が自分の用途に向かないなら他を探すのが良いと思う。
0542デフォルトの名無しさん
NGNGということは負荷分散をEJBコンテナがやらなければならない
ケースは少ないといえるんじゃないのか。しかもHTTPだろ。
俺ならロードバランサを前に挟むけどな。
0543デフォルトの名無しさん
NGNGそういう場合は、DBの機能を使うよ普通。
OracleならRACとかな。EJB使うほうが当てにならん。
0544デフォルトの名無しさん
NGNG実際要らないシステムが多いだろ。デプロイが楽だからWeb使うだけで
大したトランザクション量じゃないシステムも多いよ。
>>534
そりゃそうだろ。DI自体がEJBに対するアンチテーゼだからな。
インコンテナのテストなんて面倒だろうに。
当のEJBだってPOJOに方向転換じゃないか。
EJB*だけ*がスケーラビリティ確保の手段だと本当に思ってるのか?
PHPで大規模やってる連中だっているだろ。そいつらが
どうやって負荷分散やフェールオーバを実現しているのかを見れば
EJBのレイヤーでなくてもやれることがいっぱいあるのはわかるだろ。
頭が固いか不勉強か単なる言いがかりかのどれかに見えちゃうぞ。
0545デフォルトの名無しさん
NGNGEJBの長所が負荷分散だというなら
それはEJBでなくても他に汎用的で
実績のある代替手段を使えばそれで
済むんだからEJBイラネってことになるな。
EJBのテストが面倒なのは事実。
性能が出なくて変なテクニックばかり
横行するO/RマッピングもHibernateや
S2Daoのほうが便利で性能がいい。
EJB-QLなんて何の意味がある?
EJBの長所は何があるんだ?
DIがなくてもEJBにはウンザリしてるよ。
0546デフォルトの名無しさん
NGNGEJBは終わってる
http://pc5.2ch.net/test/read.cgi/tech/1036481443/l50
0547デフォルトの名無しさん
NGNGフェールオーバとロードバランスは別だよ。
でもってどっちもDIとかEJBとか関係なく
考えるべきものだから。クラスタリングは
EJBの専売特許ではない。
0548デフォルトの名無しさん
NGNG「DIコンテナ」部分だけ使うなら、他を自作しても邪魔にはならないよ。
S2開発者が主軸に考えてるのがWebだってだけ。
周辺プロダクトはそれに合ったものからでてくるけど、別に必須ってわけじゃない。
業務機能と非業務機能を全部自作するにしても、DIコンテナで管理できると楽だ。
0549デフォルトの名無しさん
NGNGなんか、もっとすっきりできる気がするが・・・
0550デフォルトの名無しさん
NGNGKijimunaがないとやってられない。
Kijimunaってどれくらい使われてるんだろう。
SpringIDE(?)と比べるとどう?
0551デフォルトの名無しさん
NGNG「どれくらい使われているか」より「どれくらい使いやすいか」の方が大事
0552デフォルトの名無しさん
NGNG最新バージョンは使いやすいよ。
何が自動インジェクションされているかも分かるし、
コンポーネントの定義からソースにも飛べる。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGなるよ。
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGServletで挫折したならそれはJBossのせいじゃないからな。
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG日記だからっちゅうても、雑誌に「S2はblog駆動」とか書いてるん
だから、何について言ってるんかハッキリするか、非公開にするか
せんと。
自分、さんざん内向きにアピールしちょるやないけ。
ひが氏が2chの戯言にまで耳を貸して、開発やドキュメント整備に
尽力しとるのを、足ひっぱっとりゃせんか?
車やコンピュータや家電だけが産業と違うじゃろ。
ハードウェア屋がコスト削る部分なんざ、ソフトでいえばコンパイル部分よ。
ここがこれ以上ないぐらい最適化されとるんやし、全品オーダーメイド
で、掛かる費用ほぼ人件費な状態を、車と一緒に考えられんわい。
「客に向け」「この業界に先はない」っちゅうんは至極まっとうだと思うが。
ttp://d.hatena.ne.jp/habuakihiro/
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNGあれは基本的に経営側の人間であって開発側の人間ではないのよ。
だから、経営の視点で開発の人間を判断して、当人としては歯がゆい思いを感じているんだろう。
といって、偉そうなこと言う割にはべつに経営で成功しているわけではないあたり、
文句たれている相手と同じ程度の人間であることをさらしてしまってるのだが、
それに気付いていない無知の無知がちょっとイタい。
0563デフォルトの名無しさん
NGNG人格はどうでもいい。
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGhttp://capsctrl.que.jp/kdmsnr/diary/20041012.html#p05
ここへのコメントの続きじゃないの?
ここの人、若いんだけど、いっつも歯に衣着せぬ物言いなんで
(あ、若いからか)、いっつも微笑ましく読んでたんだけど
さすがはぶたんですなー、容赦せんもん。
上記サイトの人、今会計の仕訳の勉強とかしてるみたいで、
そういう勉強中の人に「DOAなんて否定的な表現」うんぬん言われると、
むちゃくちゃ厚い債権債務帳票とか出したり、
やったらきっつくて頭の切れる、出禁とかすぐ口に出すお客さんと
仕事した事あるのかなあ、と思ってたので、
ちょっとだけ溜飲が下がったよ。
はぶたん徹底して「顧客」って言わないね。お客様、と言う。
ちょっと気持ち悪くは感じたけど、プロなんだなとは思った。
0567デフォルトの名無しさん
NGNGソレが天才だからなのかデムパ受信してるのかはむろん余人に分かろうハズは無く…
ナニが言いたいかつーともーすこし他人の目を意識して書いてくださいと
>金持ちに寄生して搾取してるだけじゃん。狭い世界の中で偉そうにしてるだけですよ。
>OOもDOAも構造化も全員そうだよ。コバンザメでしかないよ。世界中が腐ってる!
0568デフォルトの名無しさん
NGNGなんか書いてあったの?
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG知った事ではないだろうってのは、
くーすのよってたつ所なのではないかなあと思った。
だから本がどんなんなるか楽しみな訳で。
前に、見積もりの提示の仕方についても盛り込んでくれたらなーって
ここに書いたんだけど、それも上記が理由。
0571デフォルトの名無しさん
NGNG> みんな賢いからさ、そういう人間が集まって膝突き合わしてそういうやり取りしてれば、
> 自分だけじゃない、って思えるしそりゃ楽しいでしょう。
> 別にS2でなければならない、ってこともないんですよ。EJBでも構わない。
> PHPでもRubyでもいいんですよ。
> 幾ら優れたことをやっても、根本的に「で?」としかならない。自分が一顧客として金を
> 出すとしたら、って考えると、欲しいのはそんな裏方の話じゃないっしょ。
これまた正論だが、日記でよく言うね。だが、あんたが自分でも気づかないフリしてる
心境は 「確かに S2 は良いかもしれない。ひがが目立つのはうれしいが、俺のほうが
できる人間なのにが影に隠れてるのはくやしい。」 だろ。
だいたい、客に伝わらんのはあんたの営業能力不足だろ w
古い言葉で言えば「バカの壁」だな。規模が違う話して悪いが、例えば IBM の研究所の
人間でもあんたは 「方法論ばかり言ってないで少しは経営のことを考えろ」 って言うか?
類稀な経営手腕を持ってんだったら、開発者に対してやる気なくすこと言わずに
気持ちよく駒として動かすことに専念すれば? くーすマンセーとか言ってやれば
ドーパミン全開で土木作業してくれるよ w
多少、建設的なネタを。ひが君 「cglib 遅せーから Javassist 使う」 とか言ってないで
直接 ASM 使えよ。まー、バイトコードライブラリ作者は使う側のスキルはアテにしてないと
思うけどな。
性能: ASM > Javassist(初心者向け) > cglib(初心者向けASMラッパー)
> BCEL > SERP
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGシステムの狭い世界での話であっても、OOAと構造化には明らかな壁があるのに
OOPLを導入してもその壁をうまく越えられてない人が結構いる。
くーすでクラス図もなしにバウンダリを基準に設計する(と読めたけど違う?)ものなら
壁を越えられない人たち向けには良い指針になるかもしれない。
前に使ったある外注は顧客クラスがあるにもかかわらず、
パスワード変更クラスとメールアドレス変更クラスをつくりやがった。
OOAでの1クラスが、複数のバウンダリに登場するのでバウンダリ基準はいくないと思う。
あと顧客が納得できるモノは画面イメージだけっていうのには諸手を挙げて賛同するけど、
顧客が仕様変更したがるのも画面なわけで、「やっぱり確認画面をいれたい」みたいな
変更要望に強くするためには、その後ろにあるクラス設計がいかに業務にマッチしているかが
重要になってくると思うんだけどお前らはどう思い松か?
0574デフォルトの名無しさん
NGNG少なくとも、ここでどうこういう話じゃない。
プロダクトやプロモーションに関わることなら別として。
また呼び出しくらうよ?
0575570
NGNG「くーすが知ったこっちゃない」んじゃなくて、
くーすは「お客さんはそんなこと知ったこっちゃない」って
前提で考えられてるんじゃないかなーって
思ったの。
後半の、「顧客が納得できるモノは画面イメージだけって
いうのには諸手を挙げて賛同するけど」と同じでっす。
ちょっと言葉足らずでしたかすんません。
0576デフォルトの名無しさん
NGNGなるほど。そうかも
その他の部分はひが氏の日記を拾い読みした記憶から勝手に脳内保管して
書いているので、見当違いだったらごめん、っていうか指摘してくだちい
0577デフォルトの名無しさん
NGNGみんななんだかんだいってもS2が気になってしょうがないんだね。
0579デフォルトの名無しさん
NGNG開発者として、複数の人が参加して、互いにCheck&確認していった方が、
もっと、いい方向になると思うんだけどなぁ...
一人で開発してると...どうも、一人よがりになりそうで...
0580デフォルトの名無しさん
NGNGあれってオープンソースでやってて、独りで作っているわけじゃないでしょ?
S2Xxxって感じで他の人もやってたような…。
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNGコアな部分は全部1人でやってるよ。
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNGオープンソースの大半は最初はそんなもんじゃないの?使う人が増えて
パイが大きくなったらコントリビューターも増えるでしょ。
つかそうならないと増えないような
0585デフォルトの名無しさん
NGNGコアとはいえ、全体からすれば一部分なんだし。
0586デフォルトの名無しさん
NGNG> パスワード変更クラスとメールアドレス変更クラスをつくりやがった
これの何が悪いのか。
これが適切な場合だって(むしろそのほうが)多いだろ。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNG573のシチュエーションだと変に見えただけじゃないの?
0589デフォルトの名無しさん
NGNGcust.load();
cust.setPassword(pass);
cust.update();
とするだけで更新できるので、わざわざ別クラスつくる意味がまったくわからん。
顧客クラスにパスワードのバリデーションメソッドを追加するだけでいいのに。
わざわざパスワード変更用のクラスをつくってバリデーションと更新メソッドを
つくる意味を教えてくれないか?さらにメールアドレス変更クラスは
これにそっくりで、バリデーションの内容がちょっと違う(".@"が使える)のと
更新メソッドのsqlがちょびっと違うだけ。クラスの見通しも機能拡張への対応も
顧客クラスにまとめた方がはるかにいいじゃん。
是非俺にも納得できるように説明して欲しい
0590デフォルトの名無しさん
NGNGどんなクラスでもDBに自由にアクセスできて、
DBが間違いなく更新される以上なにも問題が起きない、
という無法状態を放置しているのがそもそもの間違い。
0591570
NGNGデータと振る舞いをカプセル化するという方向は
実は間違いなんじゃないかという考えもあるんですよ。
エンティティは純粋にデータとしてとらえる。
意味がないわけではないと思いますよ。
ただそれもシステム全体の規模やルールとの兼ね合いも
あると思うので、杓子定規に当てはめるのもなあとも思う。
この場合は、印象のみだけど、ちょっと煩雑かなー。
0592デフォルトの名無しさん
NGNGまあそりゃそうなんだが。
>データと振る舞いをカプセル化するという方向は
実は間違いなんじゃないか
ちなみに今ウチでは顧客クラスでDataAccess顧客クラスを参照して
daoCustomer.setData(this);
dao.update(connection);
みたいな感じでDAだけ分離する方向です。小規模だとやらないけどね。Connection
渡すのは複数のDAにまたがってトランザクション管理するためね。S2DAOとか
使えば楽になるのかなあと思って興味を持ってるわけだけど。
で、パスワード変更やメールアドレス変更のために別クラスをつくって
似たような処理をいろんなクラスに書きまくった方が良いケースってのは
どんな場合よ?画面単位なので名前・住所・電話番号等の変更クラスは
一つにまとまってるんだろうけど。
「これらの画面を一つにまとめたい」とか「メールアドレスに対して
パスワードを送付する機能をつけたい」とかの仕様変更に対応するには
顧客クラスが汎用的に(といってもこのシステム内で、だけど)顧客情報を
管理できるクラスであることが重要じゃない?顧客検索みたいに顧客クラスの
インスタンスを複数扱う機能には、別に顧客検索クラスをつくるけどさ。
0593デフォルトの名無しさん
NGNG顧客情報と認証情報を別個に分けて管理したい時。
セキュリティのためにね。
>メールアドレスに対してパスワードを送付する機能をつけたい
顧客が希望しても、こういう仕様は止めろよ・・・
0594デフォルトの名無しさん
NGNGそのために内部の実装を分けないといけないようなケースがそんなにあるの?
>>メールアドレスに対してパスワードを送付する機能をつけたい
>顧客が希望しても、こういう仕様は止めろよ・・・
誰でもすぐ会員登録できる情報サイトなんかではこれでいいと思う。
つーか話題とずれてるけど
0595デフォルトの名無しさん
NGNG>ちなみに今ウチでは顧客クラスでDataAccess顧客クラスを参照して
>daoCustomer.setData(this);
>dao.update(connection);
>みたいな感じでDAだけ分離する方向です。小規模だとやらないけどね。Connection
>渡すのは複数のDAにまたがってトランザクション管理するためね。S2DAOとか
>使えば楽になるのかなあと思って興味を持ってるわけだけど。
S2Dao使うと、dao.update(customer);で済む。
複数のdaoでconnectionを共有するなんてのは、まさにDIの使いどころ。
0596デフォルトの名無しさん
NGNGデータと振る舞いを分離するって、Customerクラスと
CustomerLogicクラスに完全に分かれるってこと?
0597デフォルトの名無しさん
NGNGで、CustomerLogic を具体的な業務ロジッククラスから呼び出して使えばいいのか。
白黒あいまいな感じで作りやすいかもしれない。
OOしてると、後だしででてきた要件の扱いに悶々と悩むことあるから。
0598デフォルトの名無しさん
NGNGさらにS2Dao使うと、SQLの中にロジック散らばりそうだし。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGメリットは597が言ってる。
でもそのメリットも、システム規模、それとクラスを分けた事による利用性や
他の利便性(DIのアーキテクチャにのりやすいとか他いろいろ)と
応相談ってところじゃないかな。
なんでもかんでもOO的にエレガントだからって押し切ると
業務要件とか実装上の現実問題とかないがしろにしちゃう。
パターンはパターンで有用だけど皆頭使おうぜって所ですか。
S2やくーすが、その頭使おうぜって所を
何処まで軽減できるかってのが、楽しみなところじゃない?
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGOOだと、組み替えたり、整理したり、やっぱこの部分独立させよう、いやいやそこはそのままで、
としてるそばからお客さんに「やっぱりおしごとのやりかたかえますた」って言われてイヤ。
ロジックとデータは分けておいて、diconファイルとかで業務構造を動的に管理するために
計算資源を使ったほうが合理的かも。
0603デフォルトの名無しさん
NGNGデータストア層とドメインモデル層を分けて考えるなら、おのずとDAOが出てくるわけだが。
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGドメインモデル層をデータとロジックに分けてしまおうって言ってんじゃないの?
ファウラー氏の言う「ドメインモデル貧血症」に。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG設計方法論に詳しいわけじゃないんで、変なこと言ってたらすまん。
処理の方法がころころ変わるような場合の話で。
ビジネスルールをそのままソフトウェアにしちゃいたい。
静的な構造はうまい人が作らないと汚くなるし、
完成するとそれで世界が完結するから変更が大変。
だからソースコードで書く部分をビジネスルール層だけにしてしまう。
それをO/Rツールが自動化してくれるデータアクセス層に被せる。
データは「ビジネスルールが正しく実装された」ことをテストして保障。
うまくいけば楽にならないかなぁ。
0608デフォルトの名無しさん
NGNGふつーうにS2の実装ってそんな感じじゃないの。
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNGどーせ、SQLは山ほど書くんだから問題なし。
0612デフォルトの名無しさん
NGNG山ほど書く中に分散したり、2重になったりがまずいんじゃ。。
SQLバリバリの人だったら、その辺問題ないのかなあ。
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG実物がないからなんとも言えんが、
実装者への負担増えない?
0616デフォルトの名無しさん
NGNGRejectedRuntimeExceptionが発生します。
0617デフォルトの名無しさん
NGNG>データと振る舞いをカプセル化するという方向は
>実は間違いなんじゃないかという考えもあるんですよ。
>エンティティは純粋にデータとしてとらえる。
>意味がないわけではないと思いますよ。
やめてくれ、それは「ドメインモデル貧血症」という名のアンチパターンだ。
おまいら、以下を読んで目を覚ましてくれ。
----
ドメインモデル貧血症
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?AnemicDomainModel
このアンチパターンが根本的に怖いのは、オブジェクト指向設計の
基本概念(データと処理を一緒にする)の真逆だということです。
ドメインモデル貧血症とは、単なる手続き型設計のことなのです。
まさに、私(そしてEric)のようなオブジェクト信望者が、Smalltalkの
初期からずーーーーーっと戦ってきたもの、そのものなのです。
さらに困ったことに、貧血オブジェクト(Anemic Object) が本物の
オブジェクトだと思っているひとがたくさんいます。つまり、
オブジェクト指向設計が何たるかをまったく分かっていない
ということなんです。
----
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNGそれは、一見ドメインモデルだけどそうではない、ってやつだろう。
591のは、もっと違う考えもあっていいんじゃないか、ってことで。
617は、世の中のソフトはすべて静的モデルで書くべきだ、という考えなのか。
0620デフォルトの名無しさん
NGNGOOってまだそこまで大成功は収めていない手法にも関わらず、
ここまで熱烈信者が増えてるのは何故だろう…?
0621デフォルトの名無しさん
NGNGだけど、そういったゴリゴリオブジェクト指向マンセーな流れとは
別の流れも最近よく目にします、っていう意味ですよ。
世の中ファウラーの言う事だけが有用って訳ではないでしょう?
議論の余地があるみたいですね、って話です。
大体貧血症が怖い理由が、オブジェクト指向の基本概念と真逆だから
ってだけなのは、ちょっとお寂しいですね。
まあそのページを読むとファウラーさんは結構面白い文章を書く
おちゃめさんぽいので、半分ネタといか煽りの気もしますけど。
で、俺の立場としては、所詮DOA育ちなんで
基本的に貧血症大好き、
ただしメンテナビリティなどの事情を鑑みて、
責務割り当てるのもまぁありかなって所です。
そもそもその貧血症だのなんだの、
純血種しか許さない態度が俺は好かん。
0622デフォルトの名無しさん
NGNGぽかーん。
まるで、親にメシ食わせてもらいながら「親なんて必要ない」とほざいてる中学生みたいだな。
0623デフォルトの名無しさん
NGNG>OOってまだそこまで大成功は収めていない手法にも関わらず、
ΣΣ(゚д゚lll)ガガーン!!
0624617
NGNG> 591だけど、ドメインモデル貧血症の事は知ってます。
> だけど、そういったゴリゴリオブジェクト指向マンセーな流れとは
> 別の流れも最近よく目にします、っていう意味ですよ。
寡聞にして知らないのですけど、どのへんで見たのか教えていただけませんか?
> 大体貧血症が怖い理由が、オブジェクト指向の基本概念と真逆だから
> ってだけなのは、ちょっとお寂しいですね。
いや、
ファ> ドメインモデル貧血症問題の本質は、ドメインモデルのベネフィットを何も得ず、
ファ> コストだけをすべて被ってしまうという点です。
とも仰ってます。
もちろん「ドメインモデルなんて使わないで TransactionScript一本」っていうプロジェクトであれば、
ドメインモデル貧血症に該当してもなんの問題もないとは思いますけど。
> そもそもその貧血症だのなんだの、
> 純血種しか許さない態度が俺は好かん。
これはそうですな。反省してます。
0625617
NGNG> >>611
> 山ほど書く中に分散したり、2重になったりがまずいんじゃ。。
> SQLバリバリの人だったら、その辺問題ないのかなあ。
SQLバリバリだろうがなかろうが問題ありありだと思うよ。DRY原則に反してるわけだから。
# DRY原則は数あるソフトウェアの原則の中でも、最も尊ぶべき原則だと思うなぁ
0626デフォルトの名無しさん
NGNG混ざってみよう。
これがすばり貧血症にあたるかわからないけど
tp://www.relaxer.org/process/sample/library/LibrarySystem1.1.1/LibrarySystem_s4.html
エンティティの管理クラスが軒並み外出しになってる。どう?
はぶ氏も日記で「エンティティはDBのテーブル」と位置づけてたと思った。
意図的な極論なのかも知れないが、態度は貧血に近いと思う。
あとファウラーさんも「これはずいぶん昔からあるアンチパターンのひとつですが、
今になって台頭してきているようです。」って書いてるくらいだから
やっぱり貧血派は増えてるんではないすかね。
でもそんな違いは誤差だとかってまた言われそうだ。
0627デフォルトの名無しさん
NGNGファウラーの言う所の「コスト」はかかってないって事か。
それにDTOと所謂ドメインモデルを合わせた
バリュー・オブジェクトって事も言ってますね。
ああ恥ずかしい。
0628デフォルトの名無しさん
NGNG業務アプリ作ってる人全員が、上手いことOOで作ることは無理っていう
前提に、ICONIXやくーすってあると思う。
浅海氏のページ見たけど、要求分析から実装まで通して示してあって
いいね。とてもいい。
実装見ると、リファクタリングしたい(やっぱエンティティにもっとロジック
追加したい)って思うけど、上に書いた考えでいくと、酷い訳ではないし、
これっくらいが現実的なOOとのつきあい方かもしれん。
VB + OCXが割と正解だったってことかな。
0629デフォルトの名無しさん
NGNGICONIXを基に、より包括的なプロセスになってる。
くーすは、ICONIXから無くしてもいいんじゃないかという部分を省いた、
軽いプロセスを目指してるんですね。ただ、常人には難しそう。
Relaxerプロセスを一通り実践して、カスタマイズしていくのが一番良さそうです。
Relaxer自体はどうだろう。自動生成のデータベースアクセスは重たそうだったけど。
完全にスレ違いになってしまいました。
0630デフォルトの名無しさん
NGNGどこが、常人に難しそうなの。
0631デフォルトの名無しさん
NGNGシフトしつつあると思う。
ドメインモデルはER分析した結果を使う。
(Entityとテーブルはほとんど同じ)
画面は、欲しい形でDTOとして受け取る。
DTOなので振る舞いを持たない。
DTOとEntityの相互変換をおこなうのは、
コストがかかるので、業務ロジック層や
データアクセス層で直接DTOを処理する。
これがくーすの考え方なんだと思う。
それを支えているのがS2Daoで、ほとんどコストをかけずに
DTOを処理できるようになっている。
0632デフォルトの名無しさん
NGNG> コストがかかるので、業務ロジック層や
> データアクセス層で直接DTOを処理する。
これは大きな間違いだと考える。
そのコストはオプショナルなコストではなく、必須のコスト。
必須のコストを減らす目的で他のマッピングツールを作ったほうがいい。
(DTO <-> Entity(≒ドメインモデル) を相互変換するような)
0633デフォルトの名無しさん
NGNG必須であるわけは。
業務ロジックは、画面のためにあるんだから、
画面に適したDTOを扱うのは自然だと思うけど。
0634デフォルトの名無しさん
NGNGデータストレージ―(1)―ビジネスロジック―(2)―プレゼンテーション
ここを流れるデータを分類する。
(1)は DTO<->ドメインモデル
(2)は ドメインモデル->View用モデル(左から右のみ)
ドメインモデルをDTOと同じ構造にすることができるのは、
データストレージ層を新規に設ける場合のみ。
DBスキーマを新規にゼロから構築するケースがどのくらいあるだろうか。
ほとんどないのが実情だ。
ドメインモデルとDTOを一緒にしたいという方向から考えると、上記モデルとは矛盾する。
俺は上記モデルから考えるからこそ、ドメインモデルとDTOは一致しないという立場にたつ。
実際、(1)と(2)で別クラス(実際には別インタフェース)を作ってから実装させたことがある。
DB操作、ビジネスロジック、プレゼンテーションを綺麗に作業分担させられたよ。
0635デフォルトの名無しさん
NGNG> 業務アプリ作ってる人全員が、上手いことOOで作ることは無理っていう
> 前提に、ICONIXやくーすってあると思う。
くーすはそうかもしらんが、ICONIXはそんなこと言ってないと思うんだが?
Use Case Driven Object Modeling with UML(ユースケース入門)で読んだ知識しかないんだけどさ。
0636デフォルトの名無しさん
NGNGドメインモデルとDTOは、もともと一致するものじゃないと思うけど、
コストをかけても良いなら、
テーブル<->ドメインモデル<->View用のモデル(ViewHelper)
を相互変換しても良い。
きれいな設計というのはものすごくあいまいな言葉で、
自己満足にすぎない可能性もある。
内部スキーマ、概念スキーマ、外部スキーマの考え方は、
昔からあるけど、各スキーマの構造のミスマッチを解消するための
コストがかかるから、実際にはあまり使われていない。
0637デフォルトの名無しさん
NGNGFowlerのPofEAAのService Layerの説明のところに確か
「DTO変換のコストを過小評価するな。オブジェクトのツリーが
深くなるとすげー辛い」みたいなことが書いてあったはずだ
(いま本が手許にないので正確な表現はわからん)。
俺も「Presentation層のコントローラ(この時はStrutsのAction)は
Service Layerを介してDTOを受け取り、Domain Objectには絶対
直接触らない」ってポリシーで設計したけど結局実装とテストが
やたらしんどくなって方針転換したことがある。
んで、DTO変換をしないとなると、Domain Object側に巻き込むか、
DTO側に巻き込むかという二者択一となる。最近のひが氏は後者に
転んでいる模様。
# ttp://d.hatena.ne.jp/higayasuo/20041010#1097399686 とか
ちなみに俺の上記のケースは細粒度のDomain Objectのトランザクション間
かつコントローラ間のロングキャッシュが非常に重要なドメインだったので
前者を選択したよ。
# ひが氏はロングキャッシュは知らんとか言ってるけど。
# ttp://d.hatena.ne.jp/higayasuo/20040808#1091933710
0638デフォルトの名無しさん
NGNG業務ロジックは画面のためにある、というのは違うでしょ。
画面の目的は2つ。
・業務ロジックを起動するための情報を収集する(=入力画面)
・業務モデルに関する情報を提示する(=参照画面)
0639デフォルトの名無しさん
NGNGよくわかる説明だけど、わかるやつにしかわからんってなってるかも。
0640デフォルトの名無しさん
NGNGそれ、なにが嬉しいの?業務ロジックのために人は画面に情報を入力するの?
業務ロジックが画面のためにあるというのは違うと思うけど。
あくまで、印刷とか、ファイル転送とか画面をIFとしない業務ロジックもあると思うから。
>>633
こっちの方が正しいんじゃない?
0641デフォルトの名無しさん
NGNG>>638の1行目を穴が開くまで読むべし。
0642デフォルトの名無しさん
NGNG穴があいたら、次はどうすればいいですか?
0643デフォルトの名無しさん
NGNG入るしかないでしょ。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGコストが低く品質のいいソフトが作れる技術を選べってことだろう。
構造化もOOも上記を実現するためのものの筈だ。
清く正しいOOに固執するあまり、逆に生産性を下げて
しまってるのはマズいな。
ER分析と構造化手法に上手くOOのおいしいとこだけ取り込んでっていう
くーす的なやりかたが「今の時点」の正解だと思う。カスタマイズは自分らの
貯蓄に合わせてすればいい。
で、正しいOOの負の部分が解消されるようになれば(OODBの性能があがって安くなるとか)
すれば、それを使えばいい。
DIやAOP、ORMに関しても、効果と新しいコストとのバランスが重要で、
その点がS2が優れてるんだな。
ということで、Seasar2マンセー!S2Daoマンセー!S2JSFも(多分)マンセー!
0648デフォルトの名無しさん
NGNGでも仕事の頭からちょっと離れると、
やっぱファウラーの文章とか読むとワクワクするんだよね。
そんな自分も居るのが判ってるんで、ちょっと悔しいというか
さみしいというか。
だから617の気持ちも判るんだよなー。
0649デフォルトの名無しさん
NGNGみんなが>>646に期待してるぞ
0650647
NGNG>やっぱファウラーの文章とか読むとワクワクするんだよね。
その辺は先行投資だね。
関数型言語や形式仕様なんかも、そのままの形で仕事に使えないかもしれないが、
懐を広げておくのは開発者として重要だと思う。
ただ、いつの間にかその学習コストを客に押し付ける格好で、実案件に適用しようと
考えてしまう。
「この技術を使っています。だからこれだけ値段が上がります。」ってのは通用しない。
「この機能がこれだけ安く実現されます。」「この作業がこれだけ軽減されます。」
これを末端開発者も忘れないように気をつけたいね。
0651デフォルトの名無しさん
NGNGありがとう、なんか気が楽になりましたよ。
気が楽ってのは、けして安くない本を
会社の金でパカパカ買って乱読しちゃった
罪の意識が楽になった、って事だけど(w
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNGプププ
0654デフォルトの名無しさん
NGNGくーすもTransactionScriptをベースとしてんの?
0655デフォルトの名無しさん
NGNGTransactionScriptだろうとMDAだろうと、今使えて、生産性向上とコストダウンを
実現できるやりかたでやるということだろ。客の利益になる物を作って、お金を頂いて
生活してることを忘れるな。
って、所詮2chか。S2にもフォーラムが欲しいな。
0656デフォルトの名無しさん
NGNGみんな各自のblogで満足してるから、実現性は低いね。
0657デフォルトの名無しさん
NGNGドメインオブジェクトにViewHelper的な要素を
持たせるということなら反対。
むきだしのドメインオブジェクトなら、画面では激しく使いづらい。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGコイツはなに当たり前のこと偉そうに言ってるんだ?
生産性とコストダウンに加えて拡張性とメンテナンス性も向上させるのに
OOの中でもどういう手法をとったら効率がいいのか話あってるんだろ?
はぶか?
0660デフォルトの名無しさん
NGNG「利益なんだよ、利益!」
「コストダウンっつたらコストダウン!」
文脈を無視してこれしか言わないのはハブだろ。
じゃなければハブのクローンか。
0661659
NGNGあやまっときます。すんません
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNGソフトウェアの開発は気合でうまくいくものではないと思うんだけど。
「客優先」「利益」「コストダウン」って、サービス残業させるための「魔法の合言葉」だね。
「やればできる。」
長期的に品質(含納期・予算)を確保するためには手法が必要だと思うんだよね。
手法にもてあそばれるのは良くないけど。
0664デフォルトの名無しさん
NGNGという考え方も、古いね。
サービスの対価としてお金もらってるんだから。主従関係ではないよ。
金額にみあったサービスを提供できればそれでいい。
それができないのは問題だけどな。
0665デフォルトの名無しさん
NGNGそれははぶについてでなくて一般論だよね?
はぶは手法としてはくーすカスタムなわけで
サービス残業うんぬんの負荷の軽減を
言ってるわけで。
ほっときゃ本人があっちに書くか。楽しみにしていよう。
0666デフォルトの名無しさん
NGNG技術のギの字も出さずにただ現場の話がしたいだけなら
マ板いけば?
って、所詮2chかw
0667デフォルトの名無しさん
NGNGS2からくーすにつながる中で
やっぱり現場の話は、どうしても出るよ。
それだけ実践的なものって事なんでしょう。
ムだのマだのでがっつり分けたがる方が
所詮2ch。
0668デフォルトの名無しさん
NGNG前向きもうしろ向きもなく、雑談。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNGまだでねーのかよ!
S2Flex とかどーでもいいからはやく S2JSF リリースして栗
0673デフォルトの名無しさん
NGNGOpenSymphony QuartzのJobにDIしたいと考えてるんだけど、タイミングが
つかめない。Jobインスタンスは実行ごとに生成されてそうだから、JobRunShell
でnewInstance()するごとにDIせねばならん。
Tapestryもそうだけど、元のライブラリがDIを考慮した設計になってないと
きついな。
0674デフォルトの名無しさん
NGNG「伝染るんです」のスズメみたいなもんなのにね。
0675デフォルトの名無しさん
NGNGでもピンポンダッシュっぽい感じもするので
「こらー!」ってゆってくれないとちょっと寂しい。
0676デフォルトの名無しさん
NGNG2chってところは。
で、怒られたら逃げる。でもやっぱり離れたところでこそこそやる。
怒られなかったらそれはそれでちょっと寂しい。
0677デフォルトの名無しさん
NGNGそうだね。一応outer定義してinjectDependencyという手段はあるけど、
メリットのあらかたを享受できないからね。
DIを考慮した設計でなくてもいいけど、生成部分の自由度が低いと辛い。
0678デフォルトの名無しさん
NGNG「あらかじめ作る」しか無い。
つまり、業務アプリでEclipseみたいにプラグインで拡張可能なソフトを作ることだと思うよ。
(この設計は極めて難しいものになるだろうけど。)
0679デフォルトの名無しさん
NGNGソース公開されていることは必須条件。別にGPLじゃなきゃだめというわけじゃないけど。
(ソース読まずにプラグインだけ作ることは無理だ)
0680デフォルトの名無しさん
NGNGStrutsやらHibernateやらいろいろ抽象化してくれるものと、DI+AOPのおかげで、極めて難しいというほどではないとおもう。
規模やら分野によるだろうけど。
0681デフォルトの名無しさん
NGNG実案件でS2を適用し、かつ無事にリリースできているのでしょうか?
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGを呼ぶか。
0686デフォルトの名無しさん
NGNG周辺の若手マンセー君たちがイタイ。
何で「くーす=現場密着使える」「それ以外のOO方法論=机上空論使えねー」
って2分割の構図で思考停止できちゃうのかわからん。
# 逆説的に、2年前くらい前に「Togetherでラウンドトリップ」とか「永続化は
# EJB2.0CMPで決まり」とか「Struts最高」とか「Taglib凄い」とか言って
# 懐疑派を時代遅れの馬鹿扱いしてたやつらと同じ罠にはまってる気がする。
くーすは、素人だらけの現場でいかに一定の品質をキープするかという点
(予測可能性?)にフォーカスした、いわば極めて後ろ向きな方法論であって、
決して根本的な工数の削減やメンテナビリティにはフォーカスしていないと思う。
Transaction Scriptの欠点は単価安い下っ端ブルートフォース(+中国?)で
カバー、的な。
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG・挿入時にAuto Incrementフィールドを
オブジェクトのプロパティで更新しないようにしてほしい。
・数値とbooleanの変換をして欲しい。
・countXXX(), sumXXX()なんかの集計関数の自動生成が欲しい。
・テーブル名、エイリアス名は`なんかで囲って欲しい。
・getLastInsertId()欲しい。
所詮2chなんで、さらっと無視して下さい。
S2JSF期待してます。
どうぞご自愛ください。
0689デフォルトの名無しさん
NGNGってあったっけ?
誰が若手やらわからんので俺が見てないだけかもしれんが。
0690デフォルトの名無しさん
NGNGTransactionScriptが
ロジックの共有化をはかると構造が複雑になる
と述べている理由を述べよ。
なんか、大きい仕事を任せてもらいない人が
思い込みで語っているような。
あなたにまかされたプロジェクトが、いかに効率的
なのか説明してみよ。
0691デフォルトの名無しさん
NGNGhttp://d.hatena.ne.jp/khi/20041020
0692太田@会社
NGNG「若手マンセー君」はWithout EJBの勉強会に参加して見回した限りは
(本当はRUP推進派の)僕も含めて存在しないです。僕自身の立場としては
限られたりソース内での最大限の効果を望む社内のDOA(Data Oriented
Approach)な人にも使っていただけ,単体テストが効率化する「くーす」と
Seasar2(および周辺プロダクト)を応援しているというだけで,マンセー
ってわけではないです。理想は,でも現実的には,だったらどうしたらよい
という前向きな人たちの集まりだと思うのだけど。そうじゃなかったら休日の
半日つぶして勉強会に集まったりしませんよ。
0693デフォルトの名無しさん
NGNG>2分割の構図で思考停止できちゃうのかわからん。
思考停止しているのは、あ・な・た☆
0694デフォルトの名無しさん
NGNG徹底的に人に絡んでくるな。
0695デフォルトの名無しさん
NGNGイタい取り巻きの例示きぼん>>686
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGなんか、S2FlexとかS2.1とかくーす本とかで忙しいみたいだからねえ。
S2JSFのためにS2のバージョンアップが必要なのだろうか?
0698デフォルトの名無しさん
NGNG0699697
NGNG0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGやめれ。これ以上個人名を出す必要はないよ。
比嘉氏や羽生氏はともかく他の人は関係ない。
0702デフォルトの名無しさん
NGNGS2の話題でマターリやろうや。からさわぎ楽しみ。
0703デフォルトの名無しさん
NGNG俺もデザイントラックにしようかと思ったんだけど
くーすは本が出るからそっち読むとして
今回はビジネストラックにしようかなとも思って。
マジカ面白かったし。
0704デフォルトの名無しさん
NGNG前のプロジェクト、プレゼンテーション層までSpring使うんじゃなかった orz
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGWW2かTapestry試そうかと思ったが、本命はS2JSFなんだよな。
タイミング的に微妙.....
0707デフォルトの名無しさん
NGNGそんな27歳の秋。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGhttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
くーすマンセーな人は、一度↑を読んでみて欲しい。
それで、TransactionScriptと DomainModelの長所短所を理解した上で
TransactionScriptを使っていただきたいなー。
0710デフォルトの名無しさん
NGNG>>692
> 理想は,でも現実的には,だったらどうしたらよい
> という前向きな人たちの集まりだと思うのだけど。
傍から見てると
「理想=OOA/D」は幻想だった、これからは TransactionScriptマンセー
って言っているように見えちゃうのは俺だけ?
# TransactionScriptが最適解である状況が存在することは否定しないけどさ
0711710
NGNG以下のとおりに修正。
>ひがさんとはぶさんを傍から見てると
>「理想=OOA/D」は幻想だった、これからは TransactionScriptマンセー
>って言っているように見えちゃうのは俺だけ?
0712デフォルトの名無しさん
NGNGひが氏はもう少しニュートラルというか使いやすい
ORマッピングを考えてのことなんじゃないかな。
ふたりともTransactionScriptマンセーというのとはまた違う気がする。
ER分析マンセーなのかも知れないが。
0713デフォルトの名無しさん
NGNG俺も同意。つーか当たり前だと思う。
RDBをただのストレージとして使うやり方は俺には合わんかったんでシラネ。
0714太田@会社
NGNG幻想というより西方浄土でしょうか。ひがさんにダイレクトに聞いてみると分かりますが,
TransactionScriptマンセーじゃないですね。僕も今は教育側にいるときがありますけど,
理想のOOA/Dは現時点ではあまりに属人性がありすぎて,Martin Folwerのいる会社のような
よほどつわものがそろった組織でないと難しいです。つわものがそろっていれば,理想の
OOA/Dも不可能ではないと思います。
>http://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
既読です。読書会でも話題になりました。これをたたき台にして,トレードオフについても
かなり議論になりました。理想のOOAD対ER分析というよりはメンテナンス性対パフォーマンス
というところでしょうか。
0715デフォルトの名無しさん
NGNG私が今携わっているプロジェクトでは業務ロジックがさほど多くなかったので、
Springを使ったTransactionScriptな設計にしてありますが、
明らかにサービス層の肥大化が予想される場所にはDomainModelを適用しています。
別にどちらが正解であるということもありませんが、OOエキスパートが少ない
環境ではTransactionScript寄りになってしまうことは避けられないでしょうね。
ちなみにくーすはTransactionScriptの発展的なアプローチだろうと思います。
ひがさんは否定しておられるようですが、サービス層と永続化層を分離した
パターンの中で、大別して上記2つ以外に思いつくものはありません。
というか何がどう違うのかもうちょっと説明して欲しいかも。
Entity層にビジネスロジックを含めないって時点で、少なくとも
DomainModelではないし。
今日は風邪で休んでるんで自宅からカキコ。
直に書きに行こうかともおもったけど私なんかの出る幕はではなさそうだし、
この場で失礼。
0716デフォルトの名無しさん
NGNG0717715
NGNG> ビジネスロジックって表現がそもそも曖昧だよな
そうかも。
私の中では一連の"業務仕様"ってところで理解してます。
売上げ本数の計上ルールとか? いい例えが思い浮かばん。
永続化処理とか、メールやCSV取込とかはビジネスロジックとは
呼べないでしょうね。
0718715
NGNG私自身、2chにもカキコすることなんて滅多にないから。
なるほど。
というところですが、時間があればひがさんにもPofEAAの一読をお勧めしたいです。
文章を読む限り、原書の方にはまだ目を通されていないような印象でしたので。
リッチなSQLはDomainModelにもTransactionScriptにも適用されます。
そこでの問題はロジックがSQL内に分散することですが、これがパフォーマンスとの。
トレードオフだと言っているわけで、それはDomainModelにしろTransactionScriptにしろ
同じことです。
ところで、このスレのちょっと上のあたりでDomainModelとDTOとの相互変換云々って
話で盛り上がってたようですね。
私はよく、DomainModelをDTO(テーブルと同じ構造)を内部に複数持ち、
各層に公開するインターフェースを実装したオブジェクトとして定義することがあります。
というか大体これです。
相互変換の必要がないインチキ手抜き設計なので、当然無駄なプロパティや処理が
増えることになりますが、要の部分はインターフェースを介して隠蔽されているため、
実際に問題になるような事は滅多にありません。
Springの各種DaoSupportやS2Daoもそのままの形で適用出来ます。まあ参考までに。
純粋なDomainModelはO/RMapperの発展に合わせて、今後少しずつでも浸透して行くでしょう。
と願ってみる(希望的観測)
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGくーすの考え方の肝ってどっかに載ってる?
「業務処理手順をソフトウェア設計者が抽象化してはいけない」ってことかな、と思ってるんだけど。
OOは部品化以外の用途で仕事で使うには、頭がよい人を期待しすぎだよ。
自分で設計してるときはそりゃ楽しいけど、実働後の保守メンバーに馬鹿が1人いただけで設計が崩壊しかねない。
それが自分だったりして鬱になる。
例えると、天才が設計したゼロ戦で華麗に舞って死ぬよりも、
芸が無いグラマンでデスマから生還したほうがいい。
0722デフォルトの名無しさん
NGNGぜいたくに出来た飛行機だと松本零二も言ってます
↑
ここ笑うところ
0723デフォルトの名無しさん
NGNGその、グラマンたるライブラリがSeasar2なんだよ!
POJO書いて、設定ファイルを書くだけ。
S2で欲しい機能があれば、はてなでキボンヌするだけでOK。
0724デフォルトの名無しさん
NGNG商用サポートもドキュメント見直しもFlexも
くーす本もからさわぎも全部後回しでいい。
頼むからS2JSFを早く出してください。おながいします。
0725デフォルトの名無しさん
NGNGS2JSF > くーす本 >>>>>> その他
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG現場でやる奴よりは全然いい。
大体宗教論争ってのは、スプーンに天使は
何人乗る事が出来るかとか
そういうアホで無意味な事を議論する事で、
ここでの話はわりと意義はあると思うよ。
0729デフォルトの名無しさん
NGNG開発なんかするより他人を論破することが楽しいですが何か?
0730デフォルトの名無しさん
NGNGhub。
0731デフォルトの名無しさん
NGNG> ここんところの話が英単語ばっかりでよくわかんにゃい。
http://www.martinfowler.com/eaaCatalog/
> くーすの考え方の肝ってどっかに載ってる?
> 「業務処理手順をソフトウェア設計者が抽象化してはいけない」ってことかな、と思ってるんだけど。
http://www.wikiroom.com/tpircs/?cmd=read&page=higa%A4%B5%A4%F3%A4%CB%A4%E8%A4%EB%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%CA%FD%CB%A1&word=higa%A4%B5%A4%F3%A4%CB%A4%E8%A4%EB%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%CA%FD%CB%A1
0732デフォルトの名無しさん
NGNGうそーん。ぜんぜん問題わかってないじゃん。
だまされたと思って一回原典読んでみてください。お願いします。
0733デフォルトの名無しさん
NGNG> 良く使われると思われるドキュメントを見直しました。
> すべて、概要、リファレンス、Exampleの3部構成になっています。
> どうでしょう。2chの人
おぉ、こぎれいに、丁寧になってる。
くるしゅうないぞよ。
あとは、www.seasar.orgにそういった改変情報が載るようにすることですね。
それから、ソースと実行結果はスタイルを変えたほうが。
実行結果は黒地白文字とか。
0734デフォルトの名無しさん
NGNGひがさん、尊敬します。
733のような下らない連中は奇麗なドキュメント作っても、大して理解できる訳でもなく、ただ単に新しい技術を斜め読みして、あーだこーだ言うだけで、結局まともに動くプログラムを作ることすらできないですから。残念!
0735デフォルトの名無しさん
NGNG> 733のような奴の言うこと真に受けて、がんばってらっしゃる。
> ひがさん、尊敬します。
>>733って、文体は2ch的で一見失礼だけど、ひが氏のモチベーション向上+
前向きな成果物改善支援の意図が感じられる好レスだと思うんだが。
> 733のような下らない連中は奇麗なドキュメント作っても、大して理解できる訳でもなく、
> ただ単に新しい技術を斜め読みして、あーだこーだ言うだけで、結局まともに動く
> プログラムを作ることすらできないですから。残念!
こういう非生産的なラベリングはやめようよ。つーわけで>>733気にするな。
って、>>733の自演扱いされるのがオチか。
0736デフォルトの名無しさん
NGNGこれって理由は何でだっけ?
0737デフォルトの名無しさん
NGNG>ひが氏のモチベーション向上+
>前向きな成果物改善支援の意図が感じられる好レスだと思うんだが。
ドキュメント的には、「今の段階で」十分すぎるほど揃ってると思う。
日本語ということも含めると、他のオープンソースプロジェクトなんかより
断然素晴らしい。
失礼な文体、普通はモチベーション下がるって。成果物改善支援?大きく出たな。
物は言いようか。好レス??笑けた。ネタ?
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGあとで仕様変更があってバウンダリとドメインオブジェクトの間にロジック(サービス)を
挟まなくちゃいけなくなった時に困るからじゃなかったっけ。
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNG> リソース層にRDBMSを使う限り、SQLの知識は必須です。
> デザインパターンやP of EAAの習得には熱心だけど、
> SQLには興味ないなんて人がいるなら、知識のバランスに
> かけてます。
http://d.hatena.ne.jp/habuakihiro/20041021#1098369060
> JSPバリバリですぅ〜。でもServletはわかりませ〜ん。ってのと、
> ORマッピングツールバリバリですぅ〜。でもSQLはわかりませ〜ん。
> っていうのは、似たり寄ったりだと思うんだが、
お二人とも勘違いなさっているようですけど、
DomainModelを推している人たちは
「SQLが分からないから使わない」
んじゃなくて
「SQLにビジネスロジックを入れたくないから使わない」
んです。
RDBMSを使っている限りはSQLの知識が必須なのは当然でしょう。
0743デフォルトの名無しさん
NGNG問題と思うことをきちんと指摘したら。
人にいわれる本を全部読むような時間のあるひとはいないだろ。
0744デフォルトの名無しさん
NGNG推している人たちって誰のこと?
DomainModelいいよ!って言ってる人全部ってわけじゃないでしょ?
SQL書きたくないから〜って人は確実にいる(何人か知ってる)し、
そういう人を想定して言ってるんじゃないかな。
SQLばっちり分かっててかつDomainModelを推してる人よりは多いと
感覚的には思うが、どうだろね。
0745デフォルトの名無しさん
NGNGDomainModelを推している人は、
「SQLが分からないから使わない」
と思っているとは、書いてないと思うけど。
それは、被害妄想。
0746デフォルトの名無しさん
NGNG我田引水
0747デフォルトの名無しさん
NGNGなあビジネスロジックって何?
ほんとにわかんねえんだよ。
SQLで平均とか一発で出せても
使うなってことか?平均何とかも
ビジネスロジックだと思うんだけど。
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGひがたんはそんなの読まなくてもいいからS2JSFを先に作って欲しい。
正直漏れはくーすはどうでもいい。便利な道具としてのS2が気に入ってるんだ。
もしひが氏が真面目に原典とやらを読んだ結果S2JSFのリリースが遅れたりしたら
>>732ぬっころす
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGとりあえずこのスレは粘着のスクツということでFA
0752デフォルトの名無しさん
NGNGそういうことみたいだな。
複雑な会計の帳票とか出すとき
どうするんだろうって思うよ。
UNIONとかFROM句にサブクエリとか
ガンガン書いてやっとまともなレスポンスで
出るようになる帳票とか山ほどある。
だからS2Daoは、最初見たとき霧が晴れた気分でした。
0753デフォルトの名無しさん
NGNG・DIContainer
・AOP
・テスト技法
・S2DAO
の4項目かな?
どこの項目が更新されたかわかるように印をつけて(updateとかnewとか)
くれるとありがたいなあ・・・
0754デフォルトの名無しさん
NGNG>>733で既出。そこのブログにリリースノートが。
0755デフォルトの名無しさん
NGNG0756753
NGNG駄レスでした。重複スマソ
0757デフォルトの名無しさん
NGNG>だまされたと思って一回原典読んでみてください。お願いします。
オマエが騙しそうだなー
>>742
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
読んでみたんだけどなー
> 「SQLが分からないから使わない」
>
>んじゃなくて
>
>「SQLにビジネスロジックを入れたくないから使わない」
>
>んです。
リッチなSQLの例が、SQLの入門書レベルだからなー
勉強したくないだけだろうと思われても仕方が無いなー
VB厨でもPHPerでももっと複雑なSQLを普通に書くと思うなー
>>752
そうだなー
PoEAAが具体的にどういうシステムを想定しているのかを知りたくなるなー
0758デフォルトの名無しさん
NGNG> リッチなSQLの例が、SQLの入門書レベルだからなー
同意
0759デフォルトの名無しさん
NGNGそれいったら、過去実績である注文データに対して
ディスカウントキャンペーンを適用するようなつくりになってて
蓄積された実績を何時でも恣意的に改変できる形になってるじゃん。
注文ってエンティティの構造は捉えられていても
その意味というか本質というか、全然考慮されてない。
その理由は、勿論サンプルだから、でしょう。
まじボケだったらファウラー、おちゃめさんです。
つっこみ始めたらきりがないから、ここは
「SQLに業務ロジックを入れる」って事のだけ
見ればいいよ。
0760デフォルトの名無しさん
NGNGこれくらい↓
複雑↓
SELECT DISTINCT MONTH(o.date) AS month
FROM lineItems l
INNER JOIN orders o ON l.orderID = o.orderID
INNER JOIN customers c ON o.customerID = c.customerID
WHERE (c.name = ?) AND (l.product = 'Talisker')
GROUP BY o.orderID, o.date, c.NAME
HAVING (SUM(l.cost) > 5000)
確かにおちゃめだ。Fowler氏自身はSQLを使いこなしているようだが。
このレベルを避けちゃうようなヤシと仕事してるのかと思ったら不憫に
感じるというか親近感が湧いたYO
0761759
NGNG全部Accessで作ってからちょこちょこ直す人。
結構経験あって、Win32APIとかすごく詳しかったけど、
業務系はあまりやってこなかったみたい。
帳票のSQLとかほとんど俺が書いて、メールで渡してたなあ。
しかもその人がテーブル設計やったもんだからもう、
俺も不憫に思ってくれい。
そのSQL書ける人が書いてメールで渡すってのを
メール経由でコピペとかじゃなくて、
きちんと組み込めるのがS2Daoな訳ですな。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGおっしゃっておるのでつよ。
これがリッチSQLなのでつ。リッチクライアントも決して
普通のVBの画面にしか見えんのですが。
などといってはいかんのでつ。
0764デフォルトの名無しさん
NGNG複雑なクエリーが必要な場合にどれだけコードを書くんだ?
いくら将来性がどうとか言われてもバグが増えそうで俺は嫌だ
あるかないかわからない移植のことを考えるよりもさっさと作って
リリースするほうが重要なんじゃないか。いるものだけ作るという
原則に反している気がする
0765デフォルトの名無しさん
NGNGS2Daoマンセーってことだな。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG> リッチクライアントも決して
> 普通のVBの画面にしか見えんのですが。
> などといってはいかんのでつ。
比較対象がHTMLフォームだから。
0768デフォルトの名無しさん
NGNGサイトの運営も社員さんにやってもらったほうがいいね。
なんにしろ、組織的なサポートは心強い。
0769デフォルトの名無しさん
NGNG意味わかんね。
だれかかいつまんで説明して
0770デフォルトの名無しさん
NGNG問題は移植性だけじゃない。Fowler氏はいろいろ挙げてるじゃないか。
とくに問題になる点は
・更新性「EAはこれからめちゃくちゃ変わる」
・カプセル化「ビジネスロジックを担当するコードがデータベース設計変更時に影響を与えられることはない」
だろう。
まあ、俺はどっちかというとS2Daoマンセー派だが、物事はそう単純ではないと言うことだ。
0771デフォルトの名無しさん
NGNGもちろん、SQLではなくてアプリケーション側で処理してもパフォーマンスに何ら問題ないようになると違うんだろうけど。
0772デフォルトの名無しさん
NGNGEAはむちゃくちゃ変わるってのは
日本で業務系に携わってても
正直そこまで実感が湧いてこないんですが
それは私の経験不足と言う事でさておいて
大体リッチなSQLを使う所って、経営分析データだとか
会計帳票とかになりますよね。
そういう所はEAとかいう部分と関係なくて
逆に安定しまくっとる所なわけで、
そこにSQL一発ですむものを複雑なコーディングに
置き換えるのはやはり気がひけます。
やっぱりいいとこどりが一番って事でしょう。
議論としちゃつまらん結論ですけどのう。
0773デフォルトの名無しさん
NGNG「やるべきことをやる、使うべきところで使うべきものを使う」
ということになると思うが、じゃあ、どれはどこで使うのか?という議論が大事なんじゃないの?
つまり、その手法のメリットデメリットはなにか、と。
マンセーするにしても、いっさいがっさいそれでいくわけじゃなくて、多少のデメリットは目をつぶるという程度だろ?
0774デフォルトの名無しさん
NGNG殺伐としたスレに救世主が!!
無職
ヽ|・∀・|ノ <人殺しマン参上
|=◎=|
| |
http://headlines.yahoo.co.jp/hl?a=20041022-00000505-yom-soci
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG> ・更新性「EAはこれからめちゃくちゃ変わる」
だったら今考えている柔軟性が通用するかどうかわからんように思うのだがどうか?
> ・カプセル化「ビジネスロジックを担当するコードがデータベース設計変更時に影響を与えられることはない」
データベース設計が変わったらそれを使っているビジネスロジックも変更する必要があると思うのだがどうか?
云わんとしていることはわかる気がするんだが冗長過ぎる気がしてならんのだよ。
0777デフォルトの名無しさん
NGNGやはり日本とアメリカの事情の違いってのがあるそうで、
日本にくらべてあっちはアプリ開発とDB開発の分業が
相当徹底されているらしいですね。
で、
> ・カプセル化「ビジネスロジックを担当するコードが
>データベース設計変更時に影響を与えられることはない」
ってのは、776の言う通り、設計変更っていや
ビジネスロジックの変更の事だろう、って気分に私もなりましたが
もしかしたらアメリカさんの事情ならではの発想なのかも知れないなあ
と思った訳です。向こうからしたらこっちの言ってる事がドンくさいと思われるかも。
あくまでも推測なんで、アメリカさんの事情に詳しい方いらっしゃいましたら
うそつけバーカとか書いちゃって下さい。
あと、私も含めてですが776の「DB設計変更=ビジネスロジックの変更」って考え方は、
やっぱり前提がDOAなんでしょうねぇ。でもしっくりくるよね、皮膚感覚で。
0778デフォルトの名無しさん
NGNGでもまあ、総論みたいな所も、答えは「いいとこどり」に
落ち着く事は判っていても、喧々諤々やっといた方が
いいと思うんですよ。
その事で、双方の「いいとこ」の範囲が、
前より広く感じられて来たりしたら良いと思うし。
ここ、読んでて大変面白いですよあたしゃ。
2ちゃんのOO関連スレじゃ一番じゃないですか?
0779デフォルトの名無しさん
NGNG結局、マジックナンバーを使うなってことではなくて業務数値をその数値を保持するべきではないところに置くな、ってことじゃないのかな。
0780デフォルトの名無しさん
NGNGどちらとも言えんと思う。
言語が変わる場合:
C/S からWEB系への移行
Unixに乗り換えで、ASPからJavaへ移行
RDBMSが変わる場合:
パッケージもの。お客様によってRDBMSが異なる
辺縁系のシステムなら、Oracleなどからオープンソースに乗り換え。
他にどんな場合があるかな?
0781デフォルトの名無しさん
NGNGたとえば、メール処理をするのに、VM起動を嫌ってPerlのスクリプトでやるとか
# 実際はサーブレット呼び出すようにしてJavaで処理させたりするが。James?なにそれ。w
部分的にPHPで組むことも考えられる。
RDBMSで言えば、最初はPostgreSQLで運営してたけどサービスが成長したからOracleに移行とか。
Windows上のSQLServerで運用していたけど、大人の事情でUNIX使うことになって、Oracleへ、とか。
PostgreSQL→Oracleのようなスケールアップはありがちなんじゃないかと。
逆に、移行しやすいように作っておくことを前提に当初はPostgreSQLで運用開始とか。
0782デフォルトの名無しさん
NGNG> たとえば、メール処理をするのに、VM起動を嫌ってPerlのスクリプトでやるとか
いろんな言語を組み合わせるのはどうにも気持ち悪い。メンテナンスしづらいでしょ。
開発環境そろえるのに時間かかりそう。環境によってあーだこーだ言うのは最悪。
バージョンがこうだとか、ディレクトリ構成がこうだとか。ウザい。
シンプルが一番。
アプリケーション毎に常駐プログラム作ってそこでデータベースなりメールの処理するとかするでしょ普通。
ポータビリティが重要だと思う。
CVSのモジュールを引っ張り出すだけで自前の環境でシステムの自動テストができるような単純さが開発では重要。
加えると、Javaって面倒だ。
全部スクリプトで作ってしまえばいいと思うのだが。
0783デフォルトの名無しさん
NGNGだからコミュニケーションの重要性が
日本以上に言われるのかな>分業の徹底
0784デフォルトの名無しさん
NGNGうん、そうみたいですね。
blikiの翻訳者さん、こんなのも翻訳してまして
tp://capsctrl.que.jp/kdmsnr/wiki/agiledata/
ここみると、「なぜ一緒に働くことが現在困難なのか」とか
なんかアプリ屋とDB屋がまるでイスラエルとパレスチナの様で、
日米の文化の違いはかなりのもんの様です。
でもアメリカさんだから、ジョークというか
比喩かも知れないですけどね。
0785デフォルトの名無しさん
NGNGインターフェース書いて、ダイコンファイル書いて
ってめんどくせーって思っちゃう。
サービスに新しい機能付けようと思ったら、インターフェース
とImplクラスの2つを変更しなきゃいけないし。
インターフェースはImpl挿げ替えるだけで、動きを変えられるって
メリット(多態性)で使うんであれば良いし、よく使うんだけど
seasarのためにインターフェースガンガン書くって気にはどうも慣れん。
ダイコンファイルでImpl差し替えるって事ってそんなにたくさんあるのかな。
漏れはstruts+Hibernateで全然作ってるけど、「それだとここめんどくさくない?
なので私はseasar使うようになったよ」って意見を聞きたいです。
あとEJBはseasarよりさらにダルイっておもっとる。
0786デフォルトの名無しさん
NGNG必要に迫られたときにインターフェースを抽出することは
IDEなんかのツール使えば一瞬で出来るんだし。
0787786
NGNG不必要なメソッド呼び出しを隠蔽できたり、Mock使ったテストが容易になったり。
0788785
NGNG>別に無理してまでインターフェース用意することも無いでしょう。
seasarってインターフェース必須ではないんだー。誤解してました。
>不必要なメソッド呼び出しを隠蔽できたり、
これは、漏れのやる仕事のに依存してるのかもしれないけど
APIのようなクラスを作るときは、隠蔽って重要だと思います。
でも、そうではない業務ロジックの実装だと余り隠蔽したい場合に
出くわさないんですね。
>Mock使ったテストが容易になったり。
これはもう少し詳しく聞きたいです。seasarのドキュメントにも
テストが容易って書いてありますが、EJBに比べてって事ですか?
struts+Hibernateでテストしにくいって感じた事無いんですよね。
0789デフォルトの名無しさん
NGNGseasarというより、インターフェースと実装を分離するということは、
OOの重要な部分だと思うけど、分業するときに、
インターフェースを先に決めておけば、実装が追いつかなくても、
Mockとかを使って作業を並行して進められるというメリットがあるね。
実装クラス同士が直接依存しあうことが少なくなるから、
個々のクラスの個々のメソッドを単独で実装・テストしやすい。
直接依存してると、依存しあっている部分を全部コーディングしないと
テストできないから。
0790デフォルトの名無しさん
NGNGふだん、どんなテストしてるの。
0791785
NGNG>Mockとかを使って作業を並行して進められるというメリットがあるね。
でもインターフェースじゃなくて、空のクラスだけMockとして用意するのも
同じだと思うんですが。あ、もちろんどちらが綺麗かって言われたら
インターフェースがある方ですが。。。
>依存しあっている部分を全部コーディングしないと
>テストできないから。
うーんseasarもダミーの実装をダイコンファイルに書いてるだけ
なんだよなと。Implクラスにダミーの戻り値を書いておく方が
楽と感じてます。
>>790
普段は下層のDAOから実装していくって感じなんで
(階層での作業分担はしない)、DAOの単体テスト=>サービスの単体テストって感じ。
サービスで他のコンポーネントに依存するようなら、まずそっちから実装かな。
相互に依存する場合は、必要になるメソッドだけOr上で書いたダミーの実装。
他の人のコンポーネントが必要なときは、クラスだけもらってダミーの実装だなー。
0792デフォルトの名無しさん
NGNGそれなら、それでいいんじゃないですか。
うまくいってるなら、特に変える必要はないと思います。
でも、ダミーの実装を作って、取り替えてなんて、
やるのは、大変そうですけどね。
あとから、実装が何だかおかしいから、ダミーに戻して
確認するってのも大変。
ちゃんとバージョン管理しているなら、ダミーと実装の
管理がすごく複雑になる気がします。
0793デフォルトの名無しさん
NGNG0794785
NGNGダミーの実装はバージョン管理に追加しないですね。
中身の無いクラスだけコミットしてもらって、ダミーの
実装は各自勝手にといった感じ。中身が出来たら更新。
その点seasarはダイコンファイルで複数のダミーパタンを用意して
それを取っておけるのが良いですね。
>あとから、実装が何だかおかしいから、ダミーに戻して
>確認するってのも大変。
実装が出来上がっちゃったら、ダミーに戻すことは無いですね。
おかしいなって思ったら、大抵他人のコードでもデバック
しちゃいます(修正はしないで、原因だけ伝えるかな)。
上の方で言ってるくーすの話は面白いですね。seasar大して使ってないけど
設計論なんで、関係ないし。
ただ、貧血症とか、DAOにビジネスロジックとかって答えがあれば聞きたいけど
答えなんかないんだよね。漏れ的には、迷ったらメンバーで相談する。
SQLでやった方が楽で、早いならSQLでゴリゴリって書いて、ドキュメントなり
分かる形で残す。ViewとDAOのデータの受け渡しはBeanUtilsマンセー。
0795デフォルトの名無しさん
NGNGそれってseasarと関係なくない?
seasar使ってないとJUnitで一括実行出来ないとでも?
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG切り分けにはモックを使う方が便利。モックの造りにもよるけど。
モックは単純実装になってるはずなんで、モックが仕様通りなら
他人のところがおかしい可能性大。
モックが間違っているならモックを直して再テスト。
ちなみにdebugなんでデバッ"グ"
0798デフォルトの名無しさん
NGNG通常は元となるソースに対しての差分をパッチという形で提供することになる。
そのパッチをメンテナと呼ばれるコアな開発者にメールなどで送りつける事が狭義の貢献である。
メンテナはそのパッチをみてよければ採用しよくなければ採用しない。
良い悪いというのはどうやって判断するのか?オープンソースの七不思議である。
ある人のパッチは受け入れられてある人のパッチは受け入れられない。
ある種の経験則はもちろんあるがその経験則を厳密に記述する事は難しい。
商用ソフトウェアの場合はコードの変更は担当者が行うので受け入れるも受け入れないもなくて
各社の社内規約に従って淡々とコードが追加されていく。
オープンソースの場合その明文化された「社内規約」に相当するものがないので、
ある種の秘密クラブの掟みたいな空気によって様々な意志決定がなされる。
新参者は空気を読め、空気をという話である。
0799785
NGNG>切り分けにはモックを使う方が便利。
これは同意です。ただ、相応の手間が漏れには受け入れられないなと。
逆に他人のコードをデバッグして得られる事も多いです。
ただ、開発フェース外での他人のコードをデバッグするような事は
勘弁ですが(アハ
0800デフォルトの名無しさん
NGNG何のコピペ?
0801デフォルトの名無しさん
NGNGっと、話ふり逃げに思われると残念なので書いとこう
0802デフォルトの名無しさん
NGNGこれだろうな。
ttp://d.hatena.ne.jp/hyoshiok/20041022
0803デフォルトの名無しさん
NGNGこんな未来は嫌だ。
0804デフォルトの名無しさん
NGNG参考になるのはEclipseだと思うよ。Javaで作られた唯一役に立つソフトウェアだ。
これの開発方針を見れ。
0805デフォルトの名無しさん
NGNG> ttp://d.hatena.ne.jp/higayasuo/20040805#1091664617
上記サイトの内容で疑問点がありまして。
ひがさんは
「Statelessにするとメソッド間の依存関係を0にできる。
あるメソッドの呼び出しが、別のメソッドに影響を与えることはない。」
と仰っています。
ここでいう「メソッド間に依存関係がある」というのは、
あるメソッド(以下 Ma)と別のメソッド(以下 Mb)が共に、あるステート(以下 S)に
依存しているということに他ならない。
このステートSをクラスの外に出したところで、Maと Mbが Sに依存していることには変わりない、
つまり Maと Mbは間の依存関係を0にできていないと思うんだけど。
0806デフォルトの名無しさん
NGNGだいたいゼロってことで、それでいいじゃん。
そんなん深く考えてもしょうがない。
0807785
NGNGステートSがオブジェクト変数だとMaかMbからのみ変更される
って事だからだと思うよ。
ステートSをクラスの外に出すと、MaやMbはステートSに依存
はするけれど、MaとMbの依存関係は無くなるんだね。
よって、MaのテストはステートSの取りうるパターンのテストを
考えれば良いと。Mbがさらに何かに依存しているとテストパターン
が依存度倍になると。
でもステートSを隠蔽することがオブジェクト指向じゃんって思うけど
ここが、Blogに書いてあるように業務ロジックの変更頻度との兼ね合い
なんだろうね。
0808デフォルトの名無しさん
NGNG依存関係はインターフェイスで全て捉えるって意味だと。
違ったのかな。
stateless
【形-1】 国[国籍{こくせき}・市民権{しみんけん}・国家統治権{こっか とうち けん}]のない
【形-2】 《コ》処理状態{しょり じょうたい}を把握{はあく}しない〜◆【対】stateful
って辞書にあるそのまんまの意味だとばっかり思ってました。
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGHTTPはステートレスってことは、実装に依存しないって意味なのか?
> 処理状態{しょり じょうたい}を把握{はあく}しない
そのままじゃないか。
どこにも「実装に依存しない」とは書いてないぞ
0811デフォルトの名無しさん
NGNGかなり根本から間違ってるな。State が lessなんだぞ。
0812デフォルトの名無しさん
NGNGSLSB/SFSBの違いを思い出せ。
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGint s;
int method(int x);
}
があったとして、method(x)っていう呼び出しの結果がxの値だけじゃなく
sの値にも依存すればstatefulで、
xの値のみに依存すればstatelessなんじゃね?
だから
>Statelessといっても、すべてスタティックメソッドにすれば良いという
っていうことになるんだと思ったけど
0815デフォルトの名無しさん
NGNGstatelessでもポリモフィズムは使いたい。
0816デフォルトの名無しさん
NGNG>すべてスタティックメソッドにすれば良いという
ポリモーフィズムが使えるところが違うっていうところだな。
システムをプラグイン的に拡張していけるっていうのがありがたいんだろう。
これやるとプログラマのシステムの意図の理解に役に立つし。
0817805
NGNG> >>805
> ステートSがオブジェクト変数だとMaかMbからのみ変更される
> って事だからだと思うよ。
> ステートSをクラスの外に出すと、MaやMbはステートSに依存
> はするけれど、MaとMbの依存関係は無くなるんだね。
そうかな?
「MaとMbが依存関係とみなされている理由は、ステートSに依存するから」
なら
「クラスの外に出したステートSに依存するメソッドは全て依存関係にある」
と言えると思うんだよね。
0818デフォルトの名無しさん
NGNGポインタ希望
0819785
NGNGじゃあMcってメソッドを追加してこれもステートSに依存するとしよう。
Mcをコールした後にMbをコールした場合、Maは一度も呼び出されて
いないのに、MbはMaに依存しているっているって言える?
あくまでステートSに依存しているだけだよね。
あとは、ステートSの場所についてだけどこれは >>813
って事だね。
0820805
NGNG以下のクラスがあったとする。
class File
void open();
void close();
int read();
}
これが以下のようにStatelessになったところで
open、close、readの依存関係がなくなったとは言えないと思うんだよね。
例が悪いのかな?
class File {
void open(FileState state);
void close(FileState state);
int read(FileState state);
}
0821デフォルトの名無しさん
NGNGそれをクラスにして外に出すって事じゃないでしょ。
810の言う通りHTTPがステートレスというのと同じで
「状態を持たない」って事だと思って読んでたけど。
状態を持たないだと判りにくいか、
状態の変化を管理しない。
S2コンテナの考え方は、オブジェクト間の関連は
インターフェイス同士の関連だけ定義して
実装はdiconまかせでしょ、どんな実装をされるかが
オブジェクトにとって「状態の変化」でしょ、
だから、オブジェクトは「状態を持たない」
って思って読んでたよ。
結果的に「実装に依存しない」ってのは、
割と外れちゃいない気がする。
0822デフォルトの名無しさん
NGNGドメインモデルではStrategy/Stateパターンになるよね。
そうすると、
aModel.手数料計算()メソッドは、aModel.set手数料計算方法()に依存する。
この計算方法は各業務に付随するものなので、業務ロジッククラスのメソッドで
あるべき。aLogic.手数料計算(anEntity)の方が、自然だとは思う。
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNGstatic int read(String filename, int position);
}
これは?
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNGああ自分が恥ずかしい。
あ、821=823です、
まぎらわしくなっちゃってすみません>822
0827デフォルトの名無しさん
NGNGオブジェクトをステートレスにしろって事じゃないの?
下の例だとFileStateオブジェクトさえ作れば、
readメソッドのテストにopenメソッドは必要ない(場合がおおくなる)よね。
上の例だと、クラスにFileStateオブジェクトを持ってるって前提で、
readメソッドのテストにはopenメソッドが必要ってことになるよね。
0828785
NGNG何に対して、誰から見るとStatelessなのか、Statefullなのか
って事だよー。
上のFileクラスは、使う側から見るとopen、close、readのメソッドが
Statefullなんだけど、下のFileクラスは、引数のstateに対して
statefullであって、open、close、readの関係はStatelessだよ。
ようは、stateだけ考えてれば、良いって事。
ん?漏れはコアなseasar利用者じゃないんだが。。。
モンキーターン見てくる
0829805
NGNG> >>817
> じゃあMcってメソッドを追加してこれもステートSに依存するとしよう。
> Mcをコールした後にMbをコールした場合、Maは一度も呼び出されて
> いないのに、MbはMaに依存しているっているって言える?
> あくまでステートSに依存しているだけだよね。
今思ったんだけど、Maと Mbは依存関係にある、という認識が間違いなんじゃないかな。
Maと MbはステートSとのみ依存関係にあって、互いの依存関係なんてものは最初からない、と。
へんなこと言ってるかな?
> あとは、ステートSの場所についてだけどこれは >>813
> って事だね。
そうです。
0830805
NGNG> >>820
> 何に対して、誰から見るとStatelessなのか、Statefullなのか
> って事だよー。
> 上のFileクラスは、使う側から見るとopen、close、readのメソッドが
> Statefullなんだけど、下のFileクラスは、引数のstateに対して
> statefullであって、open、close、readの関係はStatelessだよ。
>
> ようは、stateだけ考えてれば、良いって事。
>
> ん?漏れはコアなseasar利用者じゃないんだが。。。
> モンキーターン見てくる
混乱させてごめんなさい。
レスは、今日はもう寝ちゃうので、また明日以降に。
0831デフォルトの名無しさん
NGNG何回か話題に出ている「ドメインモデル」ってなに?
ぐぐってもNT Domainばっかひっかかるよ。。
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGこれでわからなければ、一から説明しないといけない。
0834デフォルトの名無しさん
NGNG簡潔に一言でいうの、頭よくないと出来ないと思う。
だから本とか読んだ方が早い。
0835デフォルトの名無しさん
NGNGオブジェクト
設計
モデリング
問題領域
とか周辺の言葉を組み合わせでやってみれば
いいかも。
0836デフォルトの名無しさん
NGNG「絵画の本質は絵を描くことだ」
みたいな、だから何?的な結論になるんだけど、その過程をたどってない人にはその意味や価値がわからないんだよね。
0837デフォルトの名無しさん
NGNGいいかもしんない。わりと薄いし。けど濃いめ。
釈然としない所もあるけどさー。
0838デフォルトの名無しさん
NGNGどういうところ?
0839デフォルトの名無しさん
NGNGよっぱらったら書き込まない。
でも、なんか、ヱビスについてるフィギュアでシーサーがついてきて、なんとなく嬉しくなったので書き込み。
こういうビジネスモデルの場合はこういうモデルにするべき、そうじゃなくてこうするべき、って議論はとっても役に立つんだけど、そもそも、「こういうビジネスモデルの場合」があてにならないのはいかがなものか。
特に、間にわけのわからない人が挟まってる場合は顕著。
「これはこうで、そこまでは必要ないから」っていわれて、実際の利用先に行くと、「いや、これはこうじゃなくてそこまで必要、とっても重要」とか言われること多数。
どうするべきよ?
どうよ?
0840デフォルトの名無しさん
NGNG大変面白く読めたし、勉強にもなりましたが
実装レベルに変換する、としておいて
OODBじゃなきゃだめよとなってるので
どうも現実感が湧かなかったのです。
その釈然としない所からO/Rマッピングを
色々調べだしまして、S2Daoに行き着いた時は
感激でしたわ。
0841デフォルトの名無しさん
NGNGマジカの出番かな?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNGOODBは、RDBの成熟度の高さに打ちのめされた感じだね。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGttp://d.hatena.ne.jp/higayasuo/20041024#1098580377
> Statefulでやる場合、状態Sを持ったJavaBeansをnewして作成し使うことになるでしょう。
>そうすると、クライアントは、インターフェースではなく、実装クラスに依存することに
>なります。それを避けるために、すべての状態ごとにFactoryクラスを用意するのは、面倒
>でコストがかかります。
>Statelessでやる場合は、実装クラスの生成やDIは、DIContainerがすべて面倒を見てくれます。
S2DaoのBeanアノテーションをSeasar2.1のmetaタグにしてしまえば、
Factoryクラスはいらなくなるんじゃないでしょうか。
さらに、S2DaoがBeanを作成する際にinjectDependency()すれば、業務ロジックをもたせる
ことが簡単になると思います。
>こう考えていくと、プレゼンテーション層から最初に呼び出されるクラスは、
>Statelessにすべきだと思います。
この「プレゼンテーション層から最初に呼び出されるクラス」というのが
ファウラー氏の言う「薄いサービス層」ですね。
0846デフォルトの名無しさん
NGNGその文脈でS2Daoを引き合いに出す理由が不明
ファウラー氏とひが氏のいうことを無理にあわせるのはよくないと思う。
0847デフォルトの名無しさん
NGNGOODBはOOがどうのという前にDBとしてこれからなんだろうね。
RDBだって数10年かかって今の地位を築いたんだからこれからだろう。
0848デフォルトの名無しさん
NGNG俺は>>845じゃないけど
「UMLモデリングの本質」を読んだら
OODBじゃないとだめよっていってるので
(RDBじゃ駄目なのかと)釈然としなくて
O/Rマッピングを調べたらS2Daoに出会えて
感激した
っていってるんだろ?別にファウラー氏もひが氏も
出てきてないぞ。
0849デフォルトの名無しさん
NGNGこれ読んだらEAは俺には縁のない世界だと思った。
うちの会社はオフショアにまっしぐらだorz
0850デフォルトの名無しさん
NGNG薄いサービス層のことなら、何も無理にではないですよ。
まさに合致していると思います。
S2Daoをだしたのは、「実装クラスの生成やDIは、DIContainerがすべて面倒を見てくれます。」に対応していて、StatefulなBeanを生成する際でも、DIContainerにある程度面倒みて
もらうことができると思ったんで。
0851デフォルトの名無しさん
NGNGうちの会社の競争相手は中国人 orz..
0852デフォルトの名無しさん
NGNG安心するヨロシ。
構造化や正規化すらできない、まともな仕様書すら書けない、要件定義だってできない。
そんな元請けがNやら何やらって名前だけで仕事とって丸投げする連中が、
くーすでオフショアなんて無理だって。
できる連中は今でもできるだろうし、そんな案件は元からうちにはこないアルよ。
0853デフォルトの名無しさん
NGNGFowler氏の前提としているEAとかあわせると
日本国内で一体どれだけの会社がEAを
必要としているのかという疑問が出てくるな。
漏れの会社は大手の下請ばかりやってるけど、
こんな案件はこないよ。そうじゃない案件は
大連と競合してるよorz
0854デフォルトの名無しさん
NGNG>>漏れ的には、迷ったらメンバーで相談する。
これすごく大事。そして相談できるようなプロジェクトはいいプロジェクトだと思う。
ところが世の中には「1年生」とか「ひよこ」とか人材派遣会社から送り込まれてくるJava初心者どころか
プログラム初心者とか三国人とかがたくさんいるところも多い。
そういうところではカッチリひとつの方針を決めないとやってらんないんだよね。
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGしっかり理解して投資していいチームを作るってことが重要なの。
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGその投資の原資はどこからもってくれば良いのでしょうか?
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG資本金を投資する以上、一定期間後にはキャッシュリターンの実現が必要。
本当にキャッシュがリターンされるの?
各担当者の技術レベル向上が収穫とかいう寝言はやめてくれよ(藁
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG競争力。
0866デフォルトの名無しさん
NGNGわけわからん
0867デフォルトの名無しさん
NGNGそもそもアメリカってそんなにEAだらけなのかな?
ひょっとしてレアな特殊事例を一般論として売り込まれるだけなんじゃ…
0868デフォルトの名無しさん
NGNG> ttp://nekop.programmers.jp/diary/?date=20041024
> これ読んだらEAは俺には縁のない世界だと思った。
ttp://d.hatena.ne.jp/habuakihiro/20041024#1098575922
はぶ氏も似たようなこと言ってる。
0869デフォルトの名無しさん
NGNG手続き指向に対してオブジェクト指向はいわば「データ指向」といえる。
オブジェクトのデータ構造はオブジェクト内に隠蔽されているが、手続き自身も
オブジェクト内に隠蔽されているので、この手続きの再利用性が低くなる。
オブジェクト内の手続きを再利用する方法として継承を使うことができるが、
継承はクラス間の関連としては大変密な結合であり、単に手続きを再利用する
ためだけに派生クラスを作成して実装を継承するのは結合度が強くなって
しまうためよくない。
これらに対して、ジェネリック・プログラミングは「アルゴリズム指向」である。
これは、手続きの再利用性を求めて単に手続き指向の世界に回帰したように
見えるかもしれないが、そうではない。
ジェネリック・プログラミングにおける手続き(アルゴリズム)は、手続き指向の
手続きと違い、データの構造は知る必要がない。そのアルゴリズムを実装する
ために必要な操作をオブジェクトから開示してもらうことにより処理を行う。
従って、あるアルゴリズム(手続き)に処理してもらうために必要な最小限の
インタフェースをデータ型から抽出することが、ジェネリックプログラミングを
実現する第一歩となる。
0870デフォルトの名無しさん
NGNG>結局、やっぱプログラムとデータは分離するのが正しかった、というオチか。
ウィンドウシステムを扱うライブラリが非OOだったときのことを考えれ。
0871デフォルトの名無しさん
NGNG>587
>顧客クラスにパスワード変更メソッド付けるなんてアフォ
つまり、データはハッシュマップなりで適当なもので表現して
(実際、形宣言無し言語ではこれが常識)、それを扱うプログラムをクラスとして
定義するのがいいってことで、パスワード変更クラス、ユーザ名変更クラスを作るのは
よい設計ってことやね。(経験積んだ人がシンプルに作ろうとしたら結局そうなる、いうまでもなく)
0872デフォルトの名無しさん
NGNGデータを一番シンプルに扱えるのがハッシュマップである以上、
無意味なキャストが頻繁に起こるJavaは業務アプリ作りには向いてない。
型宣言が無い言語のほうが業務アプリ作りには向いてる、Javaは向いてない
っていう仮説はどうかな。
0873デフォルトの名無しさん
NGNGオブジェクト指向は学術的には"手続による抽象化"であって、
抽象データ型(ADT)より手続に近いっていう話しだが
漏れにはその区別がどうも良く解らない
結局メッセージパッシングしてメソッド(==手続)呼び出してるだけって事なのかな。
ADTとはどう違うんだ。
0874デフォルトの名無しさん
NGNGデータと処理が分離されたCollection API
コワーイ…。
0875デフォルトの名無しさん
NGNG視点の違い
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG結局メソッドを呼び出すのがOO。
オブジェクト指向の肝はポリモーフィズムで、
それでシステムをシンプル(柔軟性と、メンテナンス性を保つ)に表現
するっていう、ただそれだけ。
0878デフォルトの名無しさん
NGNGJava5で解決ですが。。
0879デフォルトの名無しさん
NGNG漏れには解決しているようにはとても見えへんのよ
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGデータはデータ。処理は処理だろ?
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNGこういうののことでつ。
ttp://objectstyle.org/cayenne/modelerguide/modeling-object-layer/inheritance.html
0884デフォルトの名無しさん
NGNG処理できる?
Handler#canHandling(data)
処理が重複したときの優先順位を返す
Handler#priority,
処理する
Handler#handle(data)
みたいのを作って
Manager#addHandler(handler)
てなことやると分離できるな。これが適切なときもあるにはあるだろう
0885デフォルトの名無しさん
NGNG>>872
そんなお前らはDbUtilsでも使ってろ。
まあ、>>872の後半はわりといいポイントをついてるような気がするんだが。
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG「薄いサービス層」の薄いって何のことだか分かって言ってる?
何でツッコミが入ってないのか分からんけど。
>>884
そこまでやって分離したがる理由が分からない。
素直にO/RMapper使って解決できる問題であれば、そうすべきだろう。
↑でも適材適所って言ってるだろ?
0888デフォルトの名無しさん
NGNG「分離可能」といってるだけじゃないの?
「適切な場合もあるにはあるだろう」だし。
0889デフォルトの名無しさん
NGNGだね。最後の方良く読んでなかった。スマソ。
0890デフォルトの名無しさん
NGNG890ゲット!!
データはマップで持っておくのがいいかもっていうか、だめっていうか、いいね。
思ってもいないことを言ってみる。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG>>887
blogでは、その後ろに「ドメインモデル」或いは「リッチな業務ロジック」が続くと
書いてあります。ドメイン層ですね。
プレゼンテーション層から最初に呼ばれ、適切なドメイン層の処理を呼び出す
ステートレスなクラスというのは、薄いサービス層に他ならないのでは?
ファウラーではなくEric Evansですが。
間違っていたらご教授願います。
以下 ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?AnemicDomainModel より引用
アプリケーション層(サービス層のこと):ソフトウェアが何をしなければいけないかを
定義し、ドメインオブジェクトに対して、問題を解決するよう命令する。この層の役割は
ビジネス活動にとって重要であり、別のシステムのアプリケーション層とやり取りをする
のにも必要である。この層は薄く保たれている。ビジネスルールやナレッジを含むもの
ではないが、その下の層にあるドメインオブジェクトの協調関係に対して、タスクを調整
したり、仕事を委譲したりしている。これはビジネスの状況を反映するものではないが、
ユーザーやプログラムの進捗状況を反映することは出来る。
ドメイン層(モデル層):ビジネス、ビジネスの状況に関わる情報、ビジネスルールに
ついての概念を表す。ビジネスの状況を反映する情報は、ここで管理・使用される。
技術的には、その情報はインフラ側でストアされている。この層はビジネスソフトウェアの
魂である。
ここでのキーポイントは、サービス層は薄い、という点です(キーとなるロジックは
ドメイン層に置かれています)。
0893887
NGNGなんだ、わかってたのね。
つまり、
[ドメインモデル]
UI層 ⇒ 薄いサービス層 ⇒ ドメインモデル ⇒ データアクセス層
[リッチな業務ロジックモデル]
UI層 ⇒ 薄いサービス層 ⇒ リッチな業務ロジックモデル ⇒ データアクセス層
こういうことなら、あのコンテキストで「薄いサービス層」って
言葉が出てくるのも納得できる。
ただ「リッチな業務ロジックモデル」の場合、薄いサービス層の存在意義が
あまり見出せない。
分散環境でも無い限り、ドメインモデルでの薄いサービス層はリッチな業務ロジックモデルに
対応するって方が自然な気がするんだけど、どうでしょう。
0894デフォルトの名無しさん
NGNG> なんか急激にしょぼいスレに戻りましたね。
禿げ胴!!
S2とも、くーすとも関係なくなった。しかもレベル低い。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG誰かが言ってたけど、ホントにあったほうがいいような気がする。
2chだとまともに議論にならんことも多いから。
0898デフォルトの名無しさん
NGNG>ただ「リッチな業務ロジックモデル」の場合、薄いサービス層の存在意義が
>あまり見出せない。
プレゼンテーション層から呼び出す際の、業務ロジックのファサードになるのでは?
ドメイン層の詳細にプレゼンテーション層が依存してしまわないように。
0899デフォルトの名無しさん
NGNG> プレゼンテーション層から呼び出す際の、業務ロジックのファサードになるのでは?
> ドメイン層の詳細にプレゼンテーション層が依存してしまわないように。
素直に考えるとそうなんだけど、実際にファサードが必要になる状況ってそんなに無いよね?
だからそれをスタンダードにしまうのにはちょっと違和感を感じる。
ステートレスなサービス層が具体的に何を想定しているのか、
ひがさん本人に聞くのが一番早いんだろうけど。まだちょっとわかり辛いかな。
0900デフォルトの名無しさん
NGNG普通にデザインしてたらそこはそうするだろ。
EJBを使ったことのある人間なら。
StatelessSessionBeanでサービスを作る必要性がわかる人間なら。。
StrutsのActionクラスに業務ロジックを書くことにためらいがある人間なら。
0901デフォルトの名無しさん
NGNGStrutsのActionから直接ステートレスな業務ロジック呼び出すのと、
間に無駄なファサード挟むことの違いを言ってるんだが。
0902デフォルトの名無しさん
NGNGと仰ってます。
分散環境でなくとも、各層間のインターフェースはシンプルにしておくのは有効だと思います。
プレゼンテーション層は、StrutsやTapestryなどのフレームワークに密接に依存するため、
テストがしにくいからです。また、各層での平行開発も行えるようになります。
0903910
NGNG900氏の言うように「普通にデザインしてたら」、
StrutsのActionなどに提供される業務ロジックインターフェースの
メソッドは1つだけになる。で、複数必要になるような状況ではファサード挟む。
でも、複数呼び出しが必要になるような状況(つまりファサードが必要になる状況)ってそんなに多いか?
多くないならいきなりActionから業務ロジックのインターフェースで提供されてる
メソッド呼び出すほうが素直じゃないの?って思ったんですよ。
0904デフォルトの名無しさん
NGNGそれって、DB毎にアクセス用サブルーチン作って、手続き型してるだけでわ。
0905デフォルトの名無しさん
NGNG必要ないでしょ。ケースバイケース。
0906デフォルトの名無しさん
NGNGあるプロジェクトでは、人に業務機能を割りあてました。
データベース設計はある一人が担当し、
他の各人がデータベース―EJB―Web層(Struts)、HTMLをすべて担当しました。
全員のスキルはまちまちでした。
みんな徹夜を続けながら、死ぬ思いで納品しました。
みんなのスキルは、ある程度のレベルまで上昇しました。
メンバに感想を聞いてみると「設計としては汚い。楽なことはなかった」とのことでした。
あるプロジェクトでは、人にシステムの機能を割りあてました。
データベース設計、EJB、Web層(Struts)、HTMLを、それぞれが担当しました。
全員のスキルはまちまちでした。
みんな徹夜を続けながら、死ぬ思いで納品しました。
みんなのスキルは、担当場所についてのみかなりのレベルまで上昇しました。
メンバに感想を聞いてみると「綺麗な設計になってる。実装作業は楽だった」とのことでした。
誰が幸せなのでしょう。
0907デフォルトの名無しさん
NGNG> 誰が幸せなのでしょう。
俺俺!
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGS2で作れ!期待してます!
0910デフォルトの名無しさん
NGNGその前にくーすで設計だろ?
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGとか
薄いサービス層 ⇒ リッチな業務ロジックモデル
これ、何いうてるんですかね。
どうしてもプラットフォーム/言語非依存にしたくてっていう気分でもならないかぎり、
この2つを分ける理由は謎。
0914デフォルトの名無しさん
NGNG...これまでの流れ、分かってます?
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGの違いも分からん
藻前ら難しく考えすぎだ
0917デフォルトの名無しさん
NGNGお前は、きっちり分割されたシステムの一部を仕様通りに
月15万でコーディングすればいいだけだから、気にするな。
0918デフォルトの名無しさん
NGNG月15万でコーディングしてくれるの?
だったらうちで働いてよ。
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGか か な い か ?
0921デフォルトの名無しさん
NGNGあんたのところ高すぎ。
コーダーで月150万かよ!
うちの倍とってるじゃん。。。
0922デフォルトの名無しさん
NGNGあるのかな
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG正直S2ネタが殆どないのにS2の名前で新スレ立てる
意味がないような気ガス。どう見ても単なるOOネタ。
こっちのスレのほうが適している気がする
【OO?】オブジェクトオリエンテッド総合【非OO?】
http://pc5.2ch.net/test/read.cgi/tech/1041658161/l50
0926デフォルトの名無しさん
NGNGPoEAAのスレでも立てるほうがよっぽど盛り上がるんじゃないか?
S2ネタはS2JSFキボンヌばっかりだしw
0927デフォルトの名無しさん
NGNG>お前は、きっちり分割されたシステムの一部を仕様通り
そんなシステムあるわけないだろボーケー
0928デフォルトの名無しさん
NGNGまず日本語から勉強しましょうね〜。
0929805
NGNG>実は間違ってますね。m(_ _)m
>ここでいっている依存関係とは、呼び出し順序の依存関係です。
>
>状態Sが更新されない場合は、確かにMa、Mbには依存関係はありません。
>しかし、MaでSが更新され、MbがMaで更新されたことをあてにしている場合、
>MbはMaに依存しているということになります。
Mbが依存しているのは Maじゃなくて、ステートSなんだと思うんだよね。
Maの呼び出しによって、ステートS => ステートSa となるとして、
Mbが当てにしているのは「事前のMaの呼び出し」ではなくて
「Ma呼び出しによってセットされるステートSa」なんじゃないかな?
よって、ステートSを外に出したところで MbがステートSaを前提にしていることには
なんら変わりない、ステートSを中に置こうと外に出そうと何も変わりはない、と。
0930805
NGNGごめん、ソースは
http://d.hatena.ne.jp/higayasuo/20041024#1098580377
ね。
0931デフォルトの名無しさん
NGNGひがさんのブログでの反応とあいまって
こうなったんで、このままここでいいよ。
0932デフォルトの名無しさん
NGNGこのスレには優しい人が多いということか。
0933デフォルトの名無しさん
NGNGそうすれば、今までのこともスレ違いではなくなる。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGおバカな漏れからみると、ステートを外出しに出来れば、例えばセッションの方を
ステートフルにしてサービス(ロジック)オブジェクトはステートレスにしてプーリング
したりできて便利になるような気がするんだけど。
もちろんこれは(現実に広い応用はあっても)トイ・アプリケーションレベルの簡単な
ロジックの場合だけであって、複雑なステートを持つ UI セントリックなアプリケーションが
必要な場合などにはステートを外だしにすることによって情報隠蔽の逆を行ってしまう
可能性もあるわけだけれども (そういう部分をクライアント側に押し付けられるなら有効か・・・)。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG「S2のソナタ」にでもしておけばよかろう
正直漏れは次スレいらん気がしてるが
0938デフォルトの名無しさん
NGNG人たちというか、そもそもS2ってそれ自体で何が出来るというものでもなくて
開発を支援する(=楽にする)ってな発想だと思うので、その流れでくーすときて
じゃ、既存のOOPとか設計ってどうなのよ?って話になってもおかしくないと思われ。
>936
Flash(Flexもだが)やら.NetのSmart ClientみたいなRIA(リッチかどうかはさておき)のWebアプリなら
Presentation層で保持するのでやり易いだろう。
HTMLのブラウザベースのWebアプリだと小細工をせんといかんのだけど
0939デフォルトの名無しさん
NGNGそこでS2JSFですよ。
0940デフォルトの名無しさん
NGNGおれ今までsessionとかrequestってプレゼン側領域だと思って
状態の管理にも使ってたんだけど、世間じゃ違うのかな。
小細工ってどんなの?
0941デフォルトの名無しさん
NGNG新しい別のスレをたてる必要はない。
そこではSeasarの話はスレ違いだがね。
Seasarの話、くーすの話、ひがさんはぶさんの話がしたければ、それなりのタイトルのスレ建てれ。
0942デフォルトの名無しさん
NGNG長文多いしage多いしスレ違い多いし
ハッキリ言ってウザイ
0943805
NGNG> >>929
> おバカな漏れからみると、ステートを外出しに出来れば、例えばセッションの方を
> ステートフルにしてサービス(ロジック)オブジェクトはステートレスにしてプーリング
> したりできて便利になるような気がするんだけど。
ドメインロジックを含んだクラスをステートレスにすると、
SmalltalkBestPracticePatternsで挙げられているパターンや、リファクタリングの
テクニックの大半が使えなくなります。
# 数少ない経験に基づいてるので嘘かもしれませんが。
そんな強烈なデメリットを負ってまでステートレスにして得られるものが、
「サービスオブジェクトのプーリング」というのは、
*個人的には*、割に合わないと感じています。
# もちろん、必然性のあるステートレス化には賛成ですが。
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGアプリケーション毎に違うんだよ。どういうパターンがいいかなんて。
もう漏れは飽きた。寝る。
0946デフォルトの名無しさん
NGNG全てはひが様のもとへ、じゃ。
よってこのまま続行。
つか、ここの住人が杓子定規なスレタイ重視によって
分散してしまうのは、しじょーにもったいなく思いまーす。
0947デフォルトの名無しさん
NGNGでなければまずはsage進行で頼む。
0948デフォルトの名無しさん
NGNGCookieゴソゴソしたり、HTTP越しにSessionオブジェクトを弄ぶのはなんか不健康な気がしたので。
勿論、仕方無しにPresentationの役割と思ってやってるんだけど
>941、942
見てるからには何らかの関心があると思うんだが、じゃ、どんな話題なら良いのよ?
大半の香具師はアンチうざいのでsage進行だと思うしさあ。
とにもかくにも嫌なら見ることねえじゃん。君の人生、時間は限られてるんだからさあ。
>944、946
禿同、けど’ダイコン時代’ってキーワードはまだ認知されてないのでスレタイにはどうかなあ。
J2EEに疲れてませんかってなのはどう?けど、アンチJavaの呼び水になるからなあ。
あ、ちなみに自分は.NetもJavaでも楽に儲かりゃどっちでもいいし、どっちも実務でやってるので
宗教論争ならくだらん。
0949デフォルトの名無しさん
NGNG上にくりゃ見えちまうだろうが。
sageくらい覚えろよ。
あと変なポインタ振るな。
長々書き込むな。
正直このスレの住人ウザイ。
2ちゃんにくんな。
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGN速にでも逝って2ちゃんらしさを存分に味わっとけ。
次スレはsage進行でマターリと語りたいね。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG開発を見つめるDICON
0955デフォルトの名無しさん
NGNGそもそも同人板のヲタ女達が始めた風習だし。
0956デフォルトの名無しさん
NGNGいまそういう風習なんだから。
0957デフォルトの名無しさん
NGNGないかと思う。設計段階でDomain Modelを完璧に固めるのは困難だし、
かと言ってXPみたいにボトムアップでぐりぐり設計が変わるのを許容して
しまうと、チームに馬鹿が一人いるだけでリーダーは安心して眠れない。
そしてある程度の規模の仕事となるとだいたい馬鹿のほうが多数派になって
しまうのが悲しい現状だ。
そこで「馬鹿はinterfaceをいじっちゃいけない」という制約が登場。
0958デフォルトの名無しさん
NGNGsageでマターリとか個人名晒した誹謗中傷はなしとかそういうのな
せっかくいい感じになってきたのでタノム
0959デフォルトの名無しさん
NGNGペアプログラミングと腐らずコミュニケーション続けることしか解決の道は無い
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGS2JSFだとContentTypeヘッダーを送れないというのなら別だけど。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGなんでかっこわるいの?
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGそれがかっこわるい理由か?
0969デフォルトの名無しさん
NGNGRFC&W3Cマンセーなんだね。
IEおよびNetscapeの特定のバージョン(忘れた)でヘッダだけでは
文字化けする場合があるバグありバージョンがある。
客に文字化けするんだがって言われたらブラウザのバグですって言うの?
まー、客から見たら文字化けしないサイトもあるんだから対応しろボケって
なると思うけど。
0970デフォルトの名無しさん
NGNG国産DIコンテナSeaserとくーす その2
http://pc5.2ch.net/test/read.cgi/tech/1098885253/
0971デフォルトの名無しさん
NGNGお客さんの価値観とは合わなくなる事が多く思いますが
よい例でしょうかね。
俺も出来る事なら存分にかっこつけてみたいわ。
0972デフォルトの名無しさん
NGNGひがさんてば、こんな事にまで答えてくれるとは・・・・。
0973デフォルトの名無しさん
NGNG俺は >>571 です。
ここはエセ技術屋が多いインターネッツですね。
うんこばかりだな。
0974デフォルトの名無しさん
NGNGあなたみたいにみんなから尊敬される素晴らしい技
術屋さんには見るもの全てがうんこにしか見えない
んだろうからここに来なくてもいいよ
0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG相変わらずの粘着ぶりでつね!
0977デフォルトの名無しさん
NGNG571ってこと?
まあmetaタグがどうのってこだわりがあって
そういうのが技術力だって価値観も確かにアリだと思うけど
そういう価値観の人ならseasarもくーすも要らないんじゃないかな。
0978デフォルトの名無しさん
NGNGASM も meta もせっかく教えてやってるのに聞いてくれないのでひがたんはうんこな香具師だと思ってるのでつ
要するに 571 たんはひがたんのうんこが食べたいのでつ
頑張ってイソターネッツとか書いてる 571 たんは本当はいい人なのでつ
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG例えば、metaタグでcontent-type入れるのとか。
0985デフォルトの名無しさん
NGNG○ィ
0986デフォルトの名無しさん
NGNG次スレばっかり伸びてるじゃねえか
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNGシーサー
次!
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGサナダムシ
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。