【Java】 Java Web Application Framework 総合at TECH
【Java】 Java Web Application Framework 総合 - 暇つぶし2ch331:デフォルトの名無しさん
13/03/13 11:42:57.54
Linuxサーバーって一回設定したら以後放置だよね。Windows Update + Windows Serverの方がよいよね
スレリンク(poverty板)

332:デフォルトの名無しさん
13/03/13 15:53:58.68
>>329
調査不足つか調査力不足
Hibernate2.xの頃ですらできてた

333:デフォルトの名無しさん
13/03/13 16:53:32.09
>>332
昔って書いたのに何でそういう否定の仕方するんかね。
俺が見たのは2003年ごろだよ。バージョンは忘れた。

334:デフォルトの名無しさん
13/03/13 17:18:16.36
別に1000回DELETEすることは問題じゃないと思う。
それが1回のSQLでDELETEするのと同じ速度なら。
でもまだそういう時代じゃないからO/Rマッピングは悪だと思う。

335:デフォルトの名無しさん
13/03/13 18:07:27.21
>>333
事実だから
2002年1月リリースの0.9.2からできてたことに気づけず断念とか調査力不足だろ

336:デフォルトの名無しさん
13/03/13 18:34:57.15
>>335
まさかHQLのことじゃないよね?

337:デフォルトの名無しさん
13/03/13 18:50:25.71
すり替えキタwww
少なくとも10年選手なんだろ?情けねぇ・・・
「hibernateって昔、1000件DELETEするときに」
「hibernateって昔、1000件DELETEするときに」
「hibernateって昔、1000件DELETEするときに」
どう見てもHQL使うべき場面です

338:デフォルトの名無しさん
13/03/13 19:00:25.43
できるできるってHQLのことかよ
HQL書かないといかんのなら使わんよそんなもん
隠蔽されて実行されるSQLを最適化してくれるよう
進化してるかが質問の意図だったんだが

339:デフォルトの名無しさん
13/03/13 19:09:20.82
>>338
だよな
それをわかってないんだよ
ここの奴らは

340:デフォルトの名無しさん
13/03/13 19:11:33.54
は?その意図が「1000件DELETEするときに」で伝わると思ってんの?
少なくとも10年選手なんだろ?大丈夫かお前
ついでに言っておくと、2002年の1.1からバッチ更新使うから
「1000回DELETE文が走る」も成立しない
だいたいHQL書かないならDELETE関係なくHibernate使えないじゃねーか
1000件フェッチしてくるのだって大概HQL書くだろ
idとナビゲーションだけでやるつもり?アフォですか
「10年前は未熟でした」で終わらせておけばいいものを「今も」バカだって晒してどうする

341:デフォルトの名無しさん
13/03/13 19:14:31.73
ファビョるなw

342:デフォルトの名無しさん
13/03/13 19:16:26.44
一応書いておくが、俺(340他)はHibernate使えるとは思ってない
↓がバカだと思っただけだ

> 1000件DELETEするときに
> 1000回DELETE文が走るとかでこれは使えないと断念

343:デフォルトの名無しさん
13/03/13 19:16:53.38
そもそもオブジェクトを操作するだけでSQLと遜色ない速度で
動いてくれないと意味ないんだよ。

344:デフォルトの名無しさん
13/03/15 01:16:45.46
亀レス&スレチですまん。

>>224
いまだにメインはJavaなんだけど、node.jsを使い始めてる。
フロント側をJavaScript+jQueryでやることが多くなって
サーバ側も同じ言語が使えるのは良い感じ。
ただ、JSはタイプセーフじゃないから、巨大なシステムにはまだ不安。

345:デフォルトの名無しさん
13/03/15 14:12:49.96
タイプセーフは重要

346:デフォルトの名無しさん
13/03/16 00:31:32.17
>>344-345
同じ言語を使えるってのは楽でいいね

言語の問題は置いておいて、node用のフレームワークの出来はどう?
expressだっけ?

TypeScript使えばJSも部分的にTypeSafeになるんじゃない?

347:デフォルトの名無しさん
13/03/16 00:47:09.87
Expressが必要なところでNode.jsを使ったら負けだと思ってる

348:224
13/03/16 22:53:33.58
>>344
node.jsか。レスありがとう!

349:デフォルトの名無しさん
13/03/18 20:10:52.78
Mybatisのセカンドレベルキャッシュってどこに保存されてるんだろ
Serializableを要求するからTEMPフォルダでも指定してるのかと思ったが見あたらない?
もしかしてインメモリなのか?ローカルキャッシュよりは全然遅いのだが

350:デフォルトの名無しさん
13/03/18 20:49:09.28
ああreadonlyに設定してないと読み取りの度にシリアライズが走るのか
イミュータブルにすると周囲にやや不評だろうけど安全だしそうするか

351:デフォルトの名無しさん
13/03/20 00:08:40.52
mapper XMLでinsertをする時、useGeneratedKeysを指定すれば自動採番されたIDが取得できるのは
わかってるんだけど、これって単発insertのときだけじゃないですか。
insert selectで複数行をinsertしたとき、全部の自動採番IDを取ることって出来るんですか?

352:デフォルトの名無しさん
13/03/20 01:00:57.18
生JDBCのgetGeneratedKeys()はResultSetを返すんだからできるんじゃねーの?

353:351
13/03/20 01:13:31.36
いろいろ端折り過ぎてた
spring + myBatisでPostgreSQLです
keyPropertyに指定するフィールドを配列やListにしてみたんだけどダメだったなー
生JDBCでできているてことは、自前でhandlerとか作ってやればいいのかな

354:デフォルトの名無しさん
13/03/25 11:00:30.07
O/R マッピングは便利なんだけど何を使ってもテーブル結合と集計で悩む.
Entityと1:1にならない1000SQLのために対応するDTOを1000作るのか? みたいな.
型の安全性とか名前の管理とか考えたらList<Map>よりずっとマシなんだけど数がなぁ…

355:デフォルトの名無しさん
13/03/25 11:10:09.19
あと、Tableに対応するクラスはEntityでいいとして、SQLに対応するクラスは何と定義してどのパッケージに突っ込んでる?
前者をDomainEntity, 後者をCustomizeEntityと呼んで同じパッケージに突っ込んでるプロダクトもあるみたいだけど.

356:デフォルトの名無しさん
13/03/25 11:31:00.42
だからまったくSQLを意識しなくてすむレベルまでオブジェクトにしても
パフォーマンスがぜんぜん問題にならないくらいになるまで
使うべきじゃない。時期尚早。

357:デフォルトの名無しさん
13/03/25 11:52:33.44
>>356
使わないのも選択肢としてありだと思うけど>>354-355の課題は使用有無に関わらず発生するよね
これみんなどうしてるのかねぇ

358:デフォルトの名無しさん
13/03/25 12:15:04.22
>>354
適材適所でいいんじゃないの
SQL使うほうが楽な場所はSQLで直接やればいい。
お決まりの処理で性能を満たす場合はORMで。

359:デフォルトの名無しさん
13/03/25 14:06:30.14
>>358
まったくそのとおりだと思う。
実際ORマッパには生SQLを発行できるタイプもあるし、
生SQLで検索したものをオブジェクトにマップもできる。
(マップできないようにもできる。集計やグループ化もたいていは対応してるんじゃないかな。)
SQLインジェクションにならないようにするだけでも価値があるし、
コネクションプーリングだけでも有用だと思う。
ORマッパにもよると思うがあまり毛嫌いする要素はないと思う。

360:デフォルトの名無しさん
13/03/25 14:31:52.65
SQLインジェクションとコネクションプール用途で使うには重すぎるだろ
そんなのcommonsあたりで簡単に対応できるしな

361:デフォルトの名無しさん
13/03/25 15:17:03.51
>>360
え、そんなことないよ。軽いものなんていくらでも。例えばS2JDBCとか。
マップする用途からしない用途までわざわざ書いたのはそういうことですよ。
CommonsだとCommons使わない人が出てくるのでSQLインジェクション対策としては
片手落ちだと思っています。
あえて言っておきますがORマッパを使わない選択肢は否定していませんからね。

362:デフォルトの名無しさん
13/03/25 15:36:33.34
>>359
>生SQLで検索したものをオブジェクトにマップもできる。
ここが気になるって話じゃないの?
マップできるのはいいとして、SQLに対応するクラスをSQLの数だけ作るのか、
またはList<Map<String, Object>>とかで済ませてるのか

うちは後者で統一されてて、生SQLのSELECT句に対応するDTOは作成が禁止されてる
Mapのキー管理がかなり面倒だけどクラスの数を増やしたくないらしい

363:デフォルトの名無しさん
13/03/25 15:49:27.32
>>362
あーORマッパ書いて公開しているんですが、
その手のものはいろいろ手法があって、ResultSetを便利にしたようなもの
を使ってもらうことが多いと思います。
フィールド値を取得するときにその型で取ると。
int value = result.intValue(column);
とか

> SQLに対応するクラスをSQLの数だけ作るのか
そういう手法もあります。GenericsなTuple作る手もありますね。
Scala的に書くと、
val (id, name, date) = result.get[M: (Long, String, Date)]
とか。

364:デフォルトの名無しさん
13/03/25 17:45:17.21
>>354-355
俺はある程度割り切ってクラスを共有するよ。
ざっくりとした例なので批判されるかもしれないけど
会員名、店舗名、都道府県名を格納できるDTOを用意して
会員→店舗までしかJOINしない場合もそのDTOを使用する。
都道府県名はnullなので都道府県名が欲しい場合は別のSQL使ってねと。

365:デフォルトの名無しさん
13/03/25 17:50:01.38
ありだな

366:デフォルトの名無しさん
13/03/25 18:22:48.02
ありだと思うよ
ただその場合だと複数機能で共有するだろうからパッケージに悩みそうかな
SQL書くときって機能でパッケージ分けてると共有しづらいよなー
ドメインモデリングは理解できる奴少なかったりするし

367:デフォルトの名無しさん
13/03/25 18:59:18.05
>>363
マッピングせずにResultSet(風)を触らせるのもありか
SQL発行した側はカラム名も型もわかってるはずだしな

この前久しぶりにMyBatis採用案件見たけど
これくらいシンプルな方が設計者も実装者もわかりやすくていいのかもしれないな

368:デフォルトの名無しさん
13/03/25 19:05:13.70
ようするにO/Rマッピングは現段階では不要だな

369:デフォルトの名無しさん
13/03/25 19:26:38.33
>>368
それはさすがに極論すぎて、ORマッパ以前にバグやセキュリティホールの温床になりそうです。

現状Webアプリなどの場合はORマッパがボトルネックになるより、
RDBMSの処理の方がボトルネックになることが多くて、
ORマッパの意義はむしろ昔より重みが増しているように感じられます。
#つまりCommons DbUtils使ってやれはちょっと...ということです。
#そして最近のORマッパは結構薄いラッパであることが多く、
#そんなに重たくありません。

ただ素のSQLやPLSQL/pgSQLなどの手続き言語を併用するのを
否定することではなく、バッチ処理のようなデータベースで処理だと
ORマッパ以前にフロントエンドの処理がボトルネックになることが
あると思います。その場合はそれを選択すればいいだけです。

370:デフォルトの名無しさん
13/03/25 19:37:43.30
>>369
O/Rマッパーを使わないとバグやセキュリティホールの温床になるってのは
技術職、開発会社としてどうなんだ?
俺は条件によってはO/Rマッパーが有効なプロジェクトもあると思ってるが
上記のことは本質とはだいぶ違うと思うのだが。

371:デフォルトの名無しさん
13/03/25 19:40:36.78
SQL生成用クラスを一個つくればいいよね

372:デフォルトの名無しさん
13/03/25 19:45:11.79
>>370
本質じゃないというか言いたいのは「直接JDBC触らせるな」(DbUtils含む)ということですよ。
ORマッパはDAOみたいな機構も持っていることがあるので、
それなら最初からORマッパを使えば?ということです。
そういう汎用性をちゃんと持っているという認識が必要です。

>>371
そうですね。
でもそのサポートもDAOやORマッパがやってくれますけどね。

373:デフォルトの名無しさん
13/03/25 19:48:36.82
あと聞きたいのですが、JDBCなどを使っている場合、
java.sql.PreparedStatementをちゃんと使ってますか?

374:デフォルトの名無しさん
13/03/25 20:04:13.30
SQL生成用クラスでPreparedStatementを使ってバインドしてるよ。

375:デフォルトの名無しさん
13/03/26 01:20:56.00
Javaソースの中で文字列連結しながらSQL作るようなのはダメ絶対

376:デフォルトの名無しさん
13/03/26 01:40:04.61
別にダメじゃないだろ
O/RマッパーやPreparedStatementがないと
基本的なセキュリティ対策すらできないことのほうが問題
Javaじゃないと作れない人になってしまうよ

377:デフォルトの名無しさん
13/03/26 02:09:42.74
JavaスレだからJavaソースと書いたがどの言語でも同じ
ただしSQLを組み立てるライブラリは除く、を書き忘れた
アプリで文字列連結しながらSQL作るようなのはダメ絶対

378:デフォルトの名無しさん
13/03/26 05:36:16.05
>>376
PreparedStatementを積極的に使わない理由が思いつかない。
動的SQLなんて大抵の言語とRDBMSで使えるでしょ。
Javaじゃないと作れない人になってしまう理由がない。

379:デフォルトの名無しさん
13/03/26 07:38:05.65
>>376
他の言語もJDBCに相当する機能では、今はPreparedStatement的な手法が主流だし問題ないと思う

380:デフォルトの名無しさん
13/03/26 11:20:44.10
昔は、文字列と、変数の配列(リスト)の2つを受け取って、
SQLをStringBuffer(StringBuilder)で連結しつつ、 ? を埋め込んで、
PreparedStatement 発行したもんだ。

381:デフォルトの名無しさん
13/03/26 12:31:12.72
オープンソースJava O/Rマッピングソフト一覧(2013年1月版) | Unofficial DB2 BLOG
URLリンク(db2.jugem.cc)

382:デフォルトの名無しさん
13/03/26 22:37:34.34
PreparedStatementってDBサーバ側の機能だからな
>>376の発想がおかしい

383:デフォルトの名無しさん
13/03/27 05:23:30.46
>>382
「Javaじゃないと作れない人になってしまうよ」と言っている当人がJavaでしか作ったことがないパターンでは。

384:デフォルトの名無しさん
13/03/27 08:43:10.56
DBとのやり取りにDAOパターンを採用するとき何をどこに入れるかってどうすることが多い?

(1) Aテーブルに対する主キーでの1件取得、全件取得、挿入、更新、削除などの基本的な操作
(2) Aテーブルに対する業務に特化した操作(他業務で使うことはない)
(3) 複数テーブルを結合する複数業務で利用する操作

うちの周りだと下記のようにすることが多いんだけど、保守フェイズに入ると(3)が問題になりがちなんだよね
(1)は全テーブル分用意して共通パッケージに突っ込んでる
(2)は業務ごとにパッケージとDaoクラスを作成してそこに突っ込む
(3)は代表的なテーブルのDao(上記1に該当するもの)に突っ込んで他の業務でも使う

385:デフォルトの名無しさん
13/03/27 08:52:59.87
開発の規模によるがうちなら⑴と⑶だけかな
⑵は他の業務から使えないのが微妙

386:デフォルトの名無しさん
13/03/27 08:54:46.69
問題の内容忘れてたわ…

問題1. どの業務が使っているかわかりにくいから触るのが怖い
問題2. 最初は(2)のパターンだったけど改修の結果(3)のパターンになった時に共通パッケージに移動しづらい
(移動すると共通Daoを触る全業務の再テストが必要になる)

個人的には問題1はお前保守なんだから調査しろよ、
問題2はそこの客の方針がそうなら移動諦めて各業務Daoで重複させるか再テスト頑張れよ
って思ってて、実際そう伝えたんだけど納得されなくてなあ…

銀の弾丸はなかなかないんだよ

387:デフォルトの名無しさん
13/03/27 09:12:01.84
結局生SQLが一番いいという結果になるな

388:デフォルトの名無しさん
13/03/27 11:55:44.21
>>382
その上「基本的なパフォチューすらできない」っていうねw
SQLがどうやって実行されるか気にしたこともないんだろうな

389:デフォルトの名無しさん
13/03/27 11:58:16.26
結局SQLがどうやって実行されるか気にしなければならない
O/Rマッパは使わないほうがいい。

390:デフォルトの名無しさん
13/03/27 12:49:51.63
>>388
なんでセキュリティ対策のこと書くとパフォーマンスチューニングについて
わかってないことになるの?議論がめちゃくちゃ

391:デフォルトの名無しさん
13/03/27 13:35:29.45
前から言ってるけどO/RマッパやDAO、DSLか生SQL、どれを選択するのかは使う用途によると思う。
その前提がなくただO/Rマッパは使わないほうがいいというのは、少なくとも今のトレンドに
あっていないことも自覚すべきじゃないかと思う。
#特に国内と国外との違いにいつも愕然とするんですよね。

SQLやその実行過程を理解しガリガリにチューニングしなければならないというのも間違っていないし、
そしてO/Rマッパを使って抽象化・簡略化するのも間違っていないと思う。
何が目的でどういう手段を使うべきかをもうちょっと考察して議論したほうがいいと思う。

PreparedStatementを例に出したのはちょっとしたトラップで、
* PreparedStatementの利点を理解しているか?
* そもそも(たいていの場合)PreparedStatementを直接書くのが間違っているのを認識しているか?
を知りたかったからです(すみません)。

392:デフォルトの名無しさん
13/03/27 14:38:38.18
でもJavaの用途はWebがほとんどだからパフォーマンス重視なのは
仕方ない。だから生SQLが一番いい。

393:デフォルトの名無しさん
13/03/27 14:49:37.60
>>392
興味本位で聞くのですけど、O/Rマップってどのくらい遅いのですか?
具体的にベンチマークしましたでしょうか?
#「あおり」じゃないので興味あったらで。

十分選択肢に入るくらい軽くなってますよ。
#さらにいうと生SQLも書けるのですが(例えばMyBatis)。

394:デフォルトの名無しさん
13/03/27 15:02:22.39
O/Rマッピングはアンチパターン? | スラッシュドット・ジャパン デベロッパー
URLリンク(developers.slashdot.jp)

395:デフォルトの名無しさん
13/03/27 15:14:44.15
>>393
びっくりするほど遅い。んで生SQLに書き直さないといけなくなる。
せめて生SQLにしないといけない割合が全体の1割未満なら使ってもいいけど
実際のプロジェクトではマスタメンテのような機能以外は
生SQLになってしまうので使い物にならない。

396:デフォルトの名無しさん
13/03/27 15:29:57.81
どういうケースでどんな理由で遅くなるのか具体例が欲しいな。

397:デフォルトの名無しさん
13/03/27 15:40:04.67
>>395
(また言いますけど煽りじゃないです。O/Rマッパ開発者としては現状認識を知りたい。)
生SQLをO/Rマッパに使ってもですか?

私の思う生SQLやストアドプロシージャを使う場面は、
* 長大で複雑ななクエリ(検索)
* バッチ処理など、検索以外にも挿入や更新が多い処理
だと思うのですけど、そういうケースですか?
あとO/Rマッパ(名前およびバージョン)に何使ったのかも気になりますね。

一般的なケースだとあまりボトルネックにならないのですが...。特にWebアプリだと。

>>395
そうそう気になりますよね。参考になりますし。

398:デフォルトの名無しさん
13/03/27 16:47:15.90
RailsみたいにORマッパに適したテーブル設計ができていれば、
結構不都合無いパフォーマンスになるんですけどね。
IOの激しいWeb系とかゲームだと設計的に厳しいし、
がちがちの業務系だとそういう設計のできないアホなSEばっかだし、
そもそも設計をフレームワークに合わせるのか、とか不毛な議論が始まるので。。。
小規模なアプリをサクッと作る場合には便利なんですけどねぇ。

399:デフォルトの名無しさん
13/03/27 17:42:51.07
社内システムならDBの負荷はたかがしれてるから
ORM使っても性能上の問題ないよ
開発スピードも上がる。

パフォーマンスが大きく変わるのはメモリ上にDBのデータが
のっているかどうかだろう

WebサービスであってもほとんどORM使って問題ないと思うし
本当に性能が必要な場面はストアドプロシージャ使えばSQLより速くなる。

必死にORM否定してる人は使い方が分からないか、
使いどころがわからないだけ

400:デフォルトの名無しさん
13/03/27 17:50:31.65
ストアドプロシージャは使いたくないです。

401:デフォルトの名無しさん
13/03/27 18:09:34.30
まぁ2:8の法則だわな。
8割の処理はORMで十分だし、利用頻度が高かったり負荷の高い2割の処理は生SQL。
ってのが常道だと思う。
俺がよく使ってるのはHibernateJPAだけど、速度的には不満は無いね。
むしろDBにきちんと索引張ったり外部キー設計する方が大事だと思う。

402:デフォルトの名無しさん
13/03/27 21:02:46.76
ORMいらない、と言っている人間ははよくわからんな。
Micro-ORMで十分、なら理解できるが。

403:デフォルトの名無しさん
13/03/27 21:14:49.27
ORMと一括りにして議論している時点で程度が知れてる、というべきだな。

404:デフォルトの名無しさん
13/03/28 00:33:47.55
同じSQLでO/Rマッパーだけ遅いなら外すしかないね。
内部のリフレクションとかが遅いんじゃないの?

405:デフォルトの名無しさん
13/03/28 01:24:46.14
問題になる遅さなのそれ。

406:デフォルトの名無しさん
13/03/28 01:29:38.75
生SQLとかORMいらないとか連投してるのは荒らしだろ
現実的にはこのどっちか

・SQLを暗黙的に発行することがあるHibernate含むJPA系のORM
・プログラムで指定したとおりのSQLを発行するMyBatisやSeasar系などのORM

407:デフォルトの名無しさん
13/03/28 14:06:46.51
生SQLの定義がわからんね
SQL*Plusなんかで直接実行できるSeasarの2way SQLは生SQLなのかどうか

408:デフォルトの名無しさん
13/03/28 14:32:20.33
フレームワークが勝手に作ったSQLを発行するんじゃなくて、
開発者が書いたSQLを流すのが生SQLでいいと思う

MyBatisとかDOMAとかの生SQLベースのマッピングはめんどくさいところもあるけど入門編にはいいと思うわ

409:デフォルトの名無しさん
13/03/28 14:41:14.77
だとするとJPA系を除く多くのORMは生SQLが主なんだが
生SQL君が言いたいのはORMイラネじゃなくJPAイラネなのか?
ORMイラネ君と同一人物かと思ってたんだが

410:デフォルトの名無しさん
13/03/28 14:49:50.56
>>407 >>409
ORMはSQLを生成して、SQLを投げるだけだよ
複雑なJOINしない限り、ほとんど性能は落ちない。

生SQLってのは自分でSQL文を書くってことだろう
JPAもORMの一種

ORM要らないって連呼してるひとは、
上のほうでフレームワークも要らないと必死に主張していたひとと同一人物だと思う。

411:デフォルトの名無しさん
13/03/28 15:07:49.10
>>410
自分で書いたSQLをORMで実行した場合も生SQLだとしたら、
生SQLが必要だからORMイラネってのはおかしいという話
生SQLが主のORMもたくさんあるわけだから
生SQL君とORMイラネ君が同一人物かどうかはしらんけど

412:デフォルトの名無しさん
13/03/28 18:43:58.87
俺は生SQL書きやすいORMならOK派かな。
Hibernateみたいなのは勘弁。
フレームワークも不要。

413:デフォルトの名無しさん
13/03/28 20:20:44.35
MyBatis+標準SQL(SQL92あたり)でいいわ

414:デフォルトの名無しさん
13/03/28 22:50:54.10
まぁ日本の開発現場ではNIH症候群が蔓延してるからな。
車輪の再発明大好きだし。

415:デフォルトの名無しさん
13/03/29 00:30:58.37
おれもMyBATIS+SQLだな
学習コスト少なめだし、バグがあっても追いやすいし
裏で動的にSQL生成してるようなフレームワークで
いい思いをしたことがない

416:デフォルトの名無しさん
13/03/29 05:58:23.38
SQL方言だけ吸収してくれれば

417:デフォルトの名無しさん
13/03/29 07:20:01.88
Hibernateかなぁ。
幸い個々のエンティティに関して比較的単純なCRUDしか必要が無いのでMyBatisでSQL書いた
ところでHibernateが生成するSQLとあまり大差無いものを書くことになったり。

個人的にはエンティティ引っぱってくるときに射影相当の演算や、関連を引っぱってくるのを
LazyにするのかEagerにするのか、固定ではなく場面に応じて簡単に指定出来ると有り難い。
HibernateだとCriteriaに頼ることになるので面倒。

418:デフォルトの名無しさん
13/03/30 09:24:08.73
>>415
どれでも発行SQLだけ確認やログ出しも出来るし
2WAYならチェックした上でマズいの手書きできる
フレームワークで統一性のない動的生成ルールが面倒だけどな

それよりもDTO周りの議論に戻ってくれ
俺も今DTO増殖中で疲れてる

419:デフォルトの名無しさん
13/03/30 10:34:49.59
DTOはある程度割り切って共有で結論出てなかったっけ
割り切り共有+継承+テーブル定義とにらめっこ、
すればそこまで増殖しないと思うが。

420:デフォルトの名無しさん
13/03/30 13:05:35.15
DTOのクラスが増えるのが嫌なら、全部Mapに突っ込んでしまえば?w

421:デフォルトの名無しさん
13/03/30 13:07:19.28
Mapでええやろ

422:デフォルトの名無しさん
13/03/30 13:37:01.55
mapでいいならJavaじゃなくていいだろ
getterがあるからキーの文字列を意識しないで済んでるのに

423:デフォルトの名無しさん
13/03/30 19:32:32.72
MapとDTOは使い分ければ良いと思うけどなぁ。

424:デフォルトの名無しさん
13/03/31 10:16:31.71
Java系のフレームワーク、海外ではGrailsがすごい人気高くて驚いた
Java系だとGrailsはトップ3に入ってる

Java系でサクサク開発できるのはGrailsとPlayみたいだ
Javaの方言のGroovyだからといってGrailsを敬遠しないほうがよさそう

425:デフォルトの名無しさん
13/03/31 11:10:40.80
GroovyはJavaの資産は使えるなら積極的に使おうって姿勢かな

426:デフォルトの名無しさん
13/03/31 22:08:24.97
GroovyはJavaの方言というかJavaプラスアルファぐらいに考えた方が良いと思う。
Javaの文法にRuby風の文法やメソッドも付け加えた感じで、両方を混ぜて書ける。
JavaとRuby両方の素養がある人だとすごく便利だと思うよ。

Grailsだと根っこのドメインロジックはJava風にカッチリ書いたりそれこそJavaとして書いて、
逆にGSP(Grails版JSPみたいなもの)に埋め込むコードとか簡単なコントローラーはGroovyの
文法駆使して簡単に書く。

427:デフォルトの名無しさん
13/04/01 00:51:09.20
Groovy、Rubyほどギークでもない人でもゆるく書けるし、scalaより難しくないので、もっと流行ってもいいと思うんだけどな。
といいつつ周りではやっとこさ少しずつ広がってきて、以下のようなことをやるような人が増えてきた。
→納品物(webアプリケーション本体)はJavaだが、UTコード、内部ツールはGroovy、など。
 ビルドはgradle、とか。

といいつつRubyに素養がある人はRubyでやっちゃうんだよな。

428:デフォルトの名無しさん
13/04/01 02:41:51.01
JavaのView層はいつまでも安定しないね
似たようなコードの書き方、次から次に覚えないといけないのはきつい
他の言語はほとんど安定してるのになあ

429:デフォルトの名無しさん
13/04/01 03:21:29.18
Grailsは確かにもっと流行っても良い気はする。
会社でやっているプロジェクトも最近ようやくGrails2.2.1にバージョンアップして依存性管理を
Mavenに移行出来たので他のプロジェクトとの連携がよりやりやすくなった。

430:デフォルトの名無しさん
13/04/01 07:00:39.53
フレームワーク使わない人ってURLマッピングはどうやっているのだろう。

例えばクエリーを使ったレガシーなURLリンク(aaa)みたいな
URLではなく、よりRESTfulなURLリンク(aaa)みたいなURLを使う場合。

フレームワーク無しの生Servertだと毎度自前でpathをパースしたりサブリソース毎に条件分岐したりと
手作りできるにせよ無駄に面倒だと思う。

431:デフォルトの名無しさん
13/04/01 11:03:54.12
>>430
mod_rewrite

432:デフォルトの名無しさん
13/04/01 11:09:20.88
自前でパースしないと遅いしな

433:デフォルトの名無しさん
13/04/01 17:14:29.59
面倒を厭わない人たちなのはよく解った。

434:デフォルトの名無しさん
13/04/01 17:20:23.50
>>433
面倒を避けようとしてさらに面倒なことになってる印象。

435:デフォルトの名無しさん
13/04/01 22:00:58.98
でもSEO対策が入ってくるとできあいのフレームワークじゃ難しいんだよな
みんなどうしてるか、そっちのが気になるわ

436:デフォルトの名無しさん
13/04/01 22:09:02.05
JSFだのASP.NETだのはイントラじゃなきゃ難しいな

437:デフォルトの名無しさん
13/04/01 22:22:26.68
>>435
どうやってタグを吐くかだから
フレームワークは無関係

438:デフォルトの名無しさん
13/04/01 22:48:03.67
JSP&Servletだけで十分フレームワーク

439:デフォルトの名無しさん
13/04/01 22:50:16.68
URLについては、Struts時代はRouter自作。
Spring MVCでは無問題。

440:デフォルトの名無しさん
13/04/01 23:19:13.95
jspの文字コードがshift_jisで、サーブレットの文字コードがutf-8で書かれている場合、
jsp → サーブレット → jsp でformパラメータの受け渡しで日本語が文字化けしないようにするには
どうしたらいいでしょうか?

サーブレット側で
変数 = new String(request.getParameter("パラメータ名").getBytes("Shift_JIS"), "UTF-8"));

としてPOSTパラメータを受け取ってUTF-8として処理し終わった後、

変数 = new String(変数.getBytes("UTF-8"), "Shift_JIS");

としてShift_JISに戻して

request.setAttribute("jspで受け取るパラメータ名", 変数);

としたのですが文字化けしてしまいます。

441:デフォルトの名無しさん
13/04/01 23:30:22.30
>>440
JSPの先頭
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="Windows-31J" %>

Servlet
req.setCharacterEncoding("UTF-8");

こうだったかな。JSPファイルもUTF-8にしちゃえば管理も楽だと思うのだけどねぇ

442:デフォルトの名無しさん
13/04/01 23:33:39.56
>>441
すいません。jspは文字コードを使い分けたいので、そのやり方はダメなんです・・・。
あくまで違う文字コードでの受け渡しでやりたいんです。

443:デフォルトの名無しさん
13/04/01 23:41:07.31
Java内部の文字列処理はUTF-16だよ
サーブレットの文字コードって表現が既におかしいんじゃない?

JSPのcharsetもSJISにしたいなら
req.setCharacterEncoding("Windows-31J");
とサーブレット側で受ければいい

444:デフォルトの名無しさん
13/04/02 00:05:07.91
>>443
サーブレットのソースコードのテキスト文字コードがUTF-8ってことです。

サーブレット側では冒頭で
request.setCharacterEncoding("Shift_JIS");
response.setCharacterEncoding("Shift_JIS");

と書いています

445:デフォルトの名無しさん
13/04/02 00:29:51.55
>>443
ああ、サーブレット側でsetCharacterEncodingやsetConentTypeで
Shift_JISを指定するだけで行けました。
サーブレット内での余計な変換処理は要らなかったんですね。
どうもです。

446:デフォルトの名無しさん
13/04/02 02:15:06.83
>>438
>JSP&Servletだけで十分フレームワーク

これはマジでそう思う。

ただ他方で機能不足なフレームワークはその上にオレオレフレームワークが育つ格好の培地でもある。

447:デフォルトの名無しさん
13/04/02 04:23:34.10
JSPはServletのフレームワークだな。
JSP嫌いだから引っこ抜いちゃうw

448:デフォルトの名無しさん
13/04/02 04:40:47.74
>JSP&Servletだけで十分フレームワーク

ただしServlet3以降に限る

449:デフォルトの名無しさん
13/04/02 10:51:31.04
Servlet2.5 と Servlet3 で大きな違いってあるの?
Servlet3はほとんど追いかけてないのですが、
HttpServletののサブクラス作るときにアノテーション付けておけば、web.xmlに書かなくていい
ぐらいのことしか知らん。

450:デフォルトの名無しさん
13/04/03 08:10:55.48
ないと思うなー。
>HttpServletののサブクラス作るときにアノテーション付けておけば、web.xmlに書かなくていい
フレームワーク自体を作る側の人にとって嬉しいくらいじゃね?

451:デフォルトの名無しさん
13/04/03 08:15:23.37
そもそもアノテーションとか要らない

452:デフォルトの名無しさん
13/04/03 08:21:53.88
なにいってるんだか
xml地獄を解決するために生まれたのがアノテーションでしょ

453:デフォルトの名無しさん
13/04/03 08:24:32.09
フレームワークさえなければXML地獄もなかったのに

454:デフォルトの名無しさん
13/04/03 08:29:46.34
>>453
GrailsはXML地獄なかったよ

XML地獄のフレームワークはほんと時代遅れ
コードが見づらくなるし、コンパイラで検出できないエラーがでる。
なるべくコードで設定するってのが流行りだし、アノテーションは必須の機能

455:デフォルトの名無しさん
13/04/03 08:31:41.31
じゃあなんでSQLをXMLに外出しするような糞ORマッパを
勧めたりするんだ?

456:デフォルトの名無しさん
13/04/03 08:38:17.94
>>455
アンカーくらいつけてまともな日本語で書けよ
何が言いたいんだ

457:デフォルトの名無しさん
13/04/03 08:43:30.16
フレームワークとかORマッパが嫌い

458:デフォルトの名無しさん
13/04/03 08:47:54.30
>>457
だったらこのスレを見るなよ

459:デフォルトの名無しさん
13/04/03 08:53:54.35
いやさすがにわかるだろw
XML地獄を敬遠するくせにSQLはXMLいいのかってことだろ?
Javaの中でしか使わない設定はアノテーションとかでJavaの中に取り込んでいいと思うんだけど、
SQLについてはDBに流して確認とかよくやるから中に入り込まない方がいいな
今の所はSeaser系の2-way SQLが一番その辺り楽にできる
パラメータをSQLコメントに追い出すことで文法エラーにしないのは秀逸だと思った

460:デフォルトの名無しさん
13/04/03 09:04:33.36
海外だとHibernateが第一選択肢でそれ以外は比較的測定限界以下なのに、日本だとMyBatisとか
ガラパゴスフレームワークの類が幅をきかせているのは何か特殊事情があるのかな。

461:デフォルトの名無しさん
13/04/03 09:20:17.93
外出しすれば綺麗だと思うのは間違い
C++になっても変数宣言を関数の先頭でやるくらい汚い

462:デフォルトの名無しさん
13/04/03 09:21:15.39
全部のORMがXML使うわけじゃないし
TypesafeなORMが良ければそういうORMと組み合わせて
使えばいいだけだろ
入れ替えて使えるようにDIとかがあるわけで

うんこフレームワークを体験したからといって
フレームワーク全体を否定するのはアホ

うんこORMを体験したからといって
ORM全体を否定するのは馬鹿

463:デフォルトの名無しさん
13/04/03 09:23:53.81
いろいろなフレームワークがあること自体間違い

464:デフォルトの名無しさん
13/04/03 10:28:49.35
SQL外出しなオレオレフレームワークは色んな現場で見てきたけど、大体良い思い出が無いなぁ…。
大体SQLだけメンテしようとして、SELECT項目やバインド変数の数間違えてトラブるのが定番だった気がする。
事前にコンパイラみたいなのでチェックできるならいいんだけどね。

465:デフォルトの名無しさん
13/04/03 11:36:08.03
とりあえずSeasar信者の受け売りが嫌だ

466:デフォルトの名無しさん
13/04/03 11:47:15.81
色んなフレームワークがあるのは構わんけど、色んな実装があるのは嫌だ。
JAX-RSとかJSF、JPAとか。

つーか、WebやORMのフレームワークで、わざわざ仕様と実装をわける意味がわからん。
結局、実装固有の拡張機能を使わないと使い物にならなかったりするし。

467:デフォルトの名無しさん
13/04/03 12:02:47.87
>>466
その無駄な複雑性はJavaの悪いところだし
ORACLEが無能だからだろうな

468:デフォルトの名無しさん
13/04/03 13:39:18.89
継承や委譲を使うべきところまでPOJOがどうのこうのとアノテーションだらけにする
無能な糞フレームワークがあるな。S2なんとかーだけど。

469:デフォルトの名無しさん
13/04/03 13:55:01.70
自分も Hibernate より MyBatis のほうが好きなタイプだが、
Hibernate は嫌われるのに、Rails の ActiveRecord がみんなに受け入れられているのはなぜだろう?

両方とも似たようなタイプなのに

470:デフォルトの名無しさん
13/04/03 14:58:00.57
規約やアノテーションを活用する今のHibernateではなく、XML地獄時代のHibernateのイメージ
があるからじゃないのかな。

471:デフォルトの名無しさん
13/04/03 16:26:08.57
ActiveRecordが受け入れられている理由
-> RoRを使用するような用途/データモデルではそれで困らないから

Hibernateが受け入れられない理由
-> Javaがおそらく最も使用されているユースケース/データモデルではそのAPIモデルでは困るから

ソーシャルなWebアプリっぽいもの、DOA世界な帳票とかのLOBアプリでは、APIに求められるインターフェースも違うだろうし。

472:デフォルトの名無しさん
13/04/03 19:43:14.80
そういやhibernate entity manager経由でしか触ってないな
今って生hibernateどうなってんだろ
後で試してみるか…

473:デフォルトの名無しさん
13/04/03 20:06:18.41
>>471
でもそれだけだと内外差の説明はつかないなぁ。

474:デフォルトの名無しさん
13/04/03 20:33:32.91
>>469
RailsのようにConvention over Configurationが徹底した
フレームワークだと、ほとんどORMの設定することなく使える。

Javaの場合、RailsほどCoC重視したフレームワークがまだ少ないから
Hibernateのめんどうなマッピング設定が必要になって、嫌われるのでは

>>470 のいうように、昔のXML地獄のHibernateしか知らない人もいる
のも原因かもしれない。

475:デフォルトの名無しさん
13/04/03 21:17:53.29
>>473

ニホンジンはガイコクジンに比べて帳票ダイスキー、っという説はどうだろう?

- 帳票の出力内容はSQLレベルで複雑な処理を書くのが一番効率的
- その場合、求められるAPIは文字列としてのSQLをそのまま実行できるようなもの
- 日本において、Javaはもっぱらそういうアプリを作る用途で使われている(土方的な)
- そういう現場にHibernateを持って行っても(゚Д゚)ハァ?

国内では受け入れられていない理由が、昔のXML地獄のイメージがあるからとかっていうのは、
自分としては枝葉の話な気がするが。

476:デフォルトの名無しさん
13/04/03 21:21:36.90
>>472
そういやHibernate4はEntityManager/Annotationsがネイティブになって
旧APIとXMLマッピングがその上のラッパーになるってどっかで見たけど
実現してないんだな。今もドキュメントはXMLマッピングから始まる

477:デフォルトの名無しさん
13/04/03 21:44:55.39
>>473
日本のIT業界が世界に取り残される一番大きな理由は
大半が英語ができないからだよ
英語のドキュメントが満足に読めない人ばかり。

日本語の書籍がでて日本語情報が充実してこないと普及しない。

478:デフォルトの名無しさん
13/04/03 21:51:43.05
iBatis/MyBatisなんて日本語の情報が充実してなくても結構使われてるだろ
Springだって使われてる度合いに比べたら日本語の情報は少ないし
Hibernateは使われてない割に情報多い
たいして相関してる気がせんな

479:デフォルトの名無しさん
13/04/03 21:55:28.57
ぶっちゃけStringの連結なんてしたくないわ
テキストに書けるならそっちの方がチューニングもしやすいでな

480:デフォルトの名無しさん
13/04/03 22:02:27.77
>>478
Batis系はHibernateよりも単純だから英語のドキュメント
読めなくてもなんとかなるからだろう

Hibernateのほうがはるかに高機能な分、覚える概念が多い。
Hibernateの本、日本語のもあるけど今のと違いすぎて役経たないと思う
英語弱者にとって厳しいのがHibernate

ORMにしてもEntityベースでやるのが主流になってるし
SQLに近いBatis系はもう海外では流行ってない。
疑うならwebフレームワークの採用ORM見てみなよ

481:デフォルトの名無しさん
13/04/03 22:04:26.47
内外差以前に海外の実情がわからんのだよな
いつまでもTomcat使ってるのは日本だけと某エバンジェリストが言ってたけど
URLリンク(www.javacodegeeks.com)
を見ると海外でもTomcat強いしJetty含めてJavaEEじゃない方が主流だよな
海外じゃJSFやJPAが普及してるってのもどこまで本当か…
マーケティングに釣られてるんじゃないかと思うことがある

482:デフォルトの名無しさん
13/04/03 22:07:31.15
>>480
> 疑うならwebフレームワークの採用ORM見てみなよ

Playじゃebeanやnormも採用されてる件

483:デフォルトの名無しさん
13/04/03 22:36:07.96
英語・日本語にかかわらず、ドキュメント読まなくても使えるシンプルなのがいいのは確かだな

484:デフォルトの名無しさん
13/04/04 00:51:54.82
Struts1のEOLが決定しました
URLリンク(www.h3.dion.ne.jp)

潮流が変わるきっかけになるかね?

485:デフォルトの名無しさん
13/04/04 02:02:52.91
RailsとHibernateが同じようなものというのはない
JavaのフレームワークはXML地獄かアノテーション地獄
Railsなんて学習コストやハマりコストめちゃ低いぞ

486:デフォルトの名無しさん
13/04/04 02:21:25.71
こんな簡単なSQLで苦労するところ見ちゃうと学習コストが低いなんて信じられん
URLリンク(qa.atmarkit.co.jp)

487:デフォルトの名無しさん
13/04/04 04:49:50.13
う~ん規約に従っている限りHibernateのアノテーションの量なんてたいしたほどではないと
おもうのだが。規約から外れるとマッピングの記述量が増えるのはRailsも一緒だし。

488:デフォルトの名無しさん
13/04/04 07:30:48.85
>>485
名前だけでなくGrailsはRailsとかなり似てるから楽でいいよ
Javaを知っている人ならGrailsのが学習コストは低いとおもう。

>>484
日本の遅れたIT業界のことだから、ダメなのわかっててStruts2
に移行したりするんだろうなぁ

489:デフォルトの名無しさん
13/04/04 07:35:07.70
>>484
フレームワークなんか使うからこうなる。

490:デフォルトの名無しさん
13/04/04 07:44:26.43
>>489
お前自身がEOLってことに気づこうな

491:デフォルトの名無しさん
13/04/04 07:49:20.30
Grails、確かに使いやすいのだがRailsに似せるのに頑張りすぎていてかえってJava観点では
アレになっている部分も少なくないと思う。

例えばmappingsやtransientといったORMの定義、staticフィールドにRails風に記述できる
ようになっているけれども、型安全じゃないし正直JPA風のアノテーションの方がシンプルで
良かった。まあHibernateで定義したドメインクラスをインポートすれば良いのだけど。

あとビミョーに謎な振る舞いに悩むこともある。先日もドメインクラスにコンストラクタを定義
して使っただけでDIが動かなくなって暫し悩んだ。

492:デフォルトの名無しさん
13/04/04 07:49:35.61
>>489
まだこのスレにいたのか
必死にフレームワーク否定してるけど何つかったことあるんだよ

493:デフォルトの名無しさん
13/04/04 07:56:46.99
>>488
Javaのフレームワークにはいつも期待を裏切られてるけど
最後の最後ということでやってみるよ。アドバイスありがとう

494:デフォルトの名無しさん
13/04/04 08:05:53.42
作っては捨て作っては捨て
こんなのシステム開発では使えないよ。
趣味のプログラミングなら好きにやってくれていいけどさ。

495:デフォルトの名無しさん
13/04/04 08:52:46.84
>>494
毎回作り直してる俺々フレームワークのことですね、わかります

496:デフォルトの名無しさん
13/04/04 08:58:09.84
WicketライクなFW普及してくれ~

497:デフォルトの名無しさん
13/04/04 08:59:04.31
>>495
受託や派遣ばかりやってるからそういう発想になるんですね。わかります。

498:デフォルトの名無しさん
13/04/04 09:18:37.61
>>496
Wicket的な役回りはAngularJSとかブラウザ側でJSの時代だろ

499:デフォルトの名無しさん
13/04/04 11:52:00.96
>>493
まだGrailsのチュートリアルやってるレベルだけど
最新の2.2.1はエラー出たから、2.2.0で試すのがいいかもしれない。
v2.2.1だと、controller作成時に下のようなエラー出る
2.2.0なら大丈夫。

grails> create-controller hello
| Error Error running script create-controller hello: _GrailsCompile_groovy$_run_closure1
(Use --stacktrace to see the full trace)
grails>

指示通り、--stacktraceしてみると、

grails> --stacktrace
| Error Error running script --stacktrace: Cannot invoke method findAll() on null object (NOTE: Stack trace has been fil
tered. Use --verbose to see entire trace.)
java.lang.NullPointerException: Cannot invoke method findAll() on null object
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
| Error Error running script --stacktrace: Cannot invoke method findAll() on null object

500:デフォルトの名無しさん
13/04/04 20:48:10.99
JSFってFacelets+CDIだけやれるっけ?
バッキングビーンの思想は素晴らしいけど管理ビーンとCDIが別れてるのが糞すぎる

501:デフォルトの名無しさん
13/04/04 22:33:20.22
javascriptの時代が来る気がする
最近のjavascriptのライブラリは凄まじすぎるわ
jqueryuiとか、datatablesとか、jquery.sheetとか
マジでなんでもできるんだな
サーバーサイドもNode.jsになるんじゃないかな
ブラウザの開発ツールやらcloud9やらと、開発環境も整いつつあるし
Javaは下火になりそう

502:デフォルトの名無しさん
13/04/04 22:35:35.96
フレームワーク乱立のせいだな

503:デフォルトの名無しさん
13/04/04 22:41:00.19
>>501
その3つどれもただのjQueryのプレゼンテーション層よりの機能じゃないか
jQueryは他の言語のフレームワークでも連携させて使えるし、
サーバサイドが強いJavaとは強みのあるエリアがちがうよ

本格的なオブジェクト指向言語にすらなれてないJavascriptで
開発なんてしたくない

504:デフォルトの名無しさん
13/04/04 22:54:27.01
>>501
phpと争って削ってくれたらそれで十分な感じかな
あいつらだけはマ名乗ったらいかんレベル

505:デフォルトの名無しさん
13/04/04 22:59:26.63
apache cgi javaとかあればなー

506:デフォルトの名無しさん
13/04/04 23:23:40.46
>>503
それがさ、今single page applicationとかってのが流行ってるらしくて
サーバーサイドのコントローラの機能をクライアント側が吸収し始めてるんだよ
ライブラリさえあれば普通に本格的なオブジェクト指向言語だし
backbone.jsとかember.js見て驚愕した
requirejsやらcommonjsやらでモジュールもできるし、ビルドツールもある
qunitとかphantom.jsとかでテストも完備
サーバーサイドでormっぽいことも出来るみたいだし
URLリンク(nodejsdb.org)
ちょっと首を突っ込みはじめたんだが、マジで最強かも
ものすごいコミュニティができつつある

507:デフォルトの名無しさん
13/04/05 00:10:40.11
Javaのフレームワーク関連で
こんなにもたくさんの名前が出て来ること自体が異常
他の言語はここまで乱立してないから入りやすい

508:デフォルトの名無しさん
13/04/05 00:24:26.24
>>507
javaはまだマシだと思う
ほとんどspring一択だし、そこにplayあたりが割り込もうとしてるくらい
ぶっちゃけjeeだけってのもありだし
この点ではjavascriptのライブラリの乱立が一番ひどい

509:デフォルトの名無しさん
13/04/05 00:51:39.39
springjs
hibernatejs
なんかつよそう
jsf も js が付いていることに気がついた。でもうんこ

510:デフォルトの名無しさん
13/04/05 01:11:50.38
選択肢が無い方が幸せって人もいるけど俺はいやだな

511:デフォルトの名無しさん
13/04/05 06:32:32.04
趣味の自分プロダクトならそれでいいけど
フレームワークがコロコロ変わると
チームメンバーが大変だろう

512:デフォルトの名無しさん
13/04/05 06:47:37.60
そこまでころころは変わらない。

513:デフォルトの名無しさん
13/04/05 07:02:04.46
オレオレフレームワークで検索するとPHP率が結構高いのね。

514:デフォルトの名無しさん
13/04/05 08:05:54.47
Javascriptは「Javascriptへコンパイルする言語」の乱立が酷いけどな

515:デフォルトの名無しさん
13/04/05 09:36:15.65
>>508
DIコンテナとして下のレイヤーでSpringを使ってるのは多いみたいだね
GrailsもSpringをベースにして、HibernateやGroovyや
独自テンプレートエンジンなどを組み合わせたものだった。
VMwareがGrailsのバックについてるからSpringベースなのは当然かもしれないが。

>>510
選択肢は多いほうがいいね
ドキュメントが整備されているという条件つきだけど。

JSはドキュメントも十分にないようなライブラリが1万以上あってカオスだわ

516:デフォルトの名無しさん
13/04/05 11:15:07.30
2年前は、こんなにJSのフレームワークがいっぱい出てくるとは思わなかったわ

たんにデコレーションする JQueryとprototype js と ext js しか知らなくて、
Backbone JS みたいにクライアントサイドでロジックまで制御するようなフレームワークが
出てくるなんて思わなかった(自分のスキルが低いのだろうが)

517:デフォルトの名無しさん
13/04/05 11:17:44.83
俺はフレームワーク嫌いだからjQueryすら使わない

518:デフォルトの名無しさん
13/04/05 11:33:11.41
JSはただのライブラリであってフレームワークではないだろ

519:デフォルトの名無しさん
13/04/05 11:41:08.76
ネイティブが好き

520:デフォルトの名無しさん
13/04/05 13:47:27.52
Javaのフレームワークの乱立について指摘されてるのに
JSのほうがもっと酷いからJavaの乱立はOK、というのはいかがなものか

521:デフォルトの名無しさん
13/04/05 13:53:42.65
>>518
MVCフレームワークが乱立してるよ
URLリンク(todomvc.com)

522:デフォルトの名無しさん
13/04/05 14:46:14.82
Node.jsはCPUを使う処理には弱いと書いてあるね。
シングルスレッドでしか使えない弱点が痛い。

グリーの宣伝(人材募集)みたいになっててアレな記事だけど。
URLリンク(codezine.jp)

メリットはリアルタイム処理が強いことくらいかな
でもソーシャルゲームとかチャットのようなリアルタイム性が
必要ないなら、Node.jsを使う意味は見当たらない。

JSは細かいライブラリが大量にあって情報追いかけるのがひたすらめんどくさいわ
現状は汎用的に使えるサーバサイドフレームワークって感じじゃなくて
リアルタイム処理が必要な場面で使うものに見える。

523:デフォルトの名無しさん
13/04/05 14:49:07.16
従来サーバ側のWebフレームワークが担ってきた役割、特にビューは
クライアント側(JSに限らずObjCやJava含む)への移動が始まってる
だからサーバ側もJAX-RS的なものでAPIだけ作る流れ
これでやっとStrutsとJSPの時代が終わる(JSFは始まらずに終わる)

524:デフォルトの名無しさん
13/04/05 14:52:50.13
>>522
今はJavaでもNettyがあるし、その上に作られたNode.js風のVert.xもある
Netty上に作られたErlang風のAkkaもあり、Akka上に作られたPlay!もある
技術的にはNode.jsを選ぶ理由はない

525:デフォルトの名無しさん
13/04/05 14:56:37.52
JAX-RSは地味によいものだと思う。

526:デフォルトの名無しさん
13/04/05 14:59:55.89
シングルスレッドとかありえねー

527:デフォルトの名無しさん
13/04/05 15:18:49.66
逆だろ、単体ではシングルスレッドにしておき、
CPUコア数に応じてスケールさせたければ、プロセスを複数立ち上げておいて、
フロントのロードバランサーなりリバースプロクシで分散させればよい。

Nodeにしろ、こういったのは、パフォーマンスを上げるために、マルチスレッドではなく
RubyのEventMachineみたいにイベント駆動にすることでパフォーマンスを上げようとするアプローチなんじゃないの?

って書いてて自分でも理解してないのだが、
マルチスレッドにしつつ、各スレッドは EventMachine 形式にしたら、もっといいんじゃないの?
と思うんだけど、併用できないんですか?

528:デフォルトの名無しさん
13/04/05 15:35:47.71
逆とか意味不明。シングルスレッドとか糞

529:デフォルトの名無しさん
13/04/05 15:44:10.18
シングルスレッドにはシングルスレッドの良さがある
同時1万接続をすいすい捌いてもメモリ256MBでおつりが来る
これはマルチスレッドじゃ無理
クラウド(PaaS)ではこれがコスト面で効いてくる場合がある
要は適材適所の一つ

530:デフォルトの名無しさん
13/04/05 15:45:51.78
>>523
Viewがクライアント側に移動が始まっている、の意味がさっぱりわからんですわ。

例えばCRUDのうち、データ取得する(SELECT的)処理をするとして
AP serverは、DBから得た結果を、htmlとマージして最終的にブラウザに
渡す必要があるのは何ら変わってないでしょう?
要するにTemplateにデータを合成して、レスポンスを返す処理。

実際に、今の主流のMVCのフレームワークでも
そういったViewのテンプレート処理を持ってるし、使ってるでしょう。

Node.jsをプッシュしてたひとと同じだと思うけど、「使われている事例がある」
というだけなのに、すべてそうなっていくかのように主張しているように見える。

531:デフォルトの名無しさん
13/04/05 15:50:45.64
>>529
ないない。
DB絡んだら1万同時接続なんて1台じゃ無理だし
シングルスレッドならなおさら無理。
さらに256MBで足りるなんて妄想もいいところ

1万接続で256MBとか馬鹿な主張はいいかげんにしろといいたい

532:デフォルトの名無しさん
13/04/05 15:58:18.20
シングルスレッドはマルチスレッドになれないけど
マルチスレッドはシングルスレッドになれるんだから
シングルスレッドのほうがいいなんてありえない。

533:デフォルトの名無しさん
13/04/05 16:02:24.39
>>530
HTMLを返す必要がなくなってきてるってこと
JSONだけ返しておけばあとはクライアント側でレンダリングする
だからクライアント側のMVCフレームワークが注目なわけ
君だいぶ遅れてるみたいだから少しはキャッチアップしておいて損はないと思うよ

534:デフォルトの名無しさん
13/04/05 16:15:06.17
>>531
Node.jsじゃDB接続もノンブロッキングだし1スレッドで十分
DBとのやり取りってアプリ側はSQL投げて返ってくるまで待つだけじゃん?
だから影響はないよ
もちろんDB側がボトルネックじゃない前提で

>>532
用語の使い方の問題だな
シングルスレッド: イベントループで複数の接続を扱うアーキテクチャ
マルチスレッド:  接続毎にワーカースレッドを使うアーキテクチャ

まともな議論にならないなら用語変えた方がいいかもね
実際はNode.jsだってマルチスレッドだよ
イベントループ以外のスレッドは持ってる

別にNode.jsプッシュしてるつもりはないんで
必要に応じて使ってるだけ

535:デフォルトの名無しさん
13/04/05 16:19:45.99
>>533
遅れてるとか馬鹿にしてるだけで答えになってないよ。
最終的にブラウザで表示されるhtmlはどうするんだよ
HTMLを返す必要はなくなってきてなんてないから

536:デフォルトの名無しさん
13/04/05 16:21:03.02
bodyタグの中身は空でjsで全部書くってことでしょう。

537:デフォルトの名無しさん
13/04/05 16:24:45.46
>>536
それ非効率極まりないね

あとJS無効にされてたらなにもレンダリングされないじゃないの。

プライベートブラウジング機能が搭載されてきてるから
JS無効になってるなんてケースは増えてる。

538:デフォルトの名無しさん
13/04/05 16:27:03.82
フレームワークを使う人は開発効率のみ優先だから。

539:デフォルトの名無しさん
13/04/05 16:30:26.06
>>523 >>533
それはないと断言できる
プログラムの前にキミはWebがわかってない

540:デフォルトの名無しさん
13/04/05 16:31:51.49
>>530
ViewはもともとウェブアプリケーションフレームワークによるHTML生成とウェブブラウザにる
レンダリングの共同作業だったわけだけど、書かれるロジックがどんどんブラウザ側のJavaScript
に引っ越ししつつあるというのは自分も解る。

ただ個人的にはウェブアプリケーションフレームワークでViewと呼ばれている部分よりもController
と呼ばれている部分に書かれていたロジックがお引っ越ししている印象。

ウェブアプリのMVCは本来のMVCとは違うとかMVC2とか細かいツッコミは別として、大まかに
ウェブアプリのCはURLマッピングで振り分けられたHTTPリクエストに応じてアクションを起こす
役割と、Vで表示されるデータをお膳立てするビューロジックの一部を担ってきたように思う。

これが前者に関しては最近はブラウザ上でSubmitボタンを押しても直接POSTリクエストが飛ぶの
ではなく、ブラウザ上でJavaScriptがRESTリソース、言うなればMにアクセスするリクエストを
組み立ててAjaxでやりとりしてHTMLを書き換える。この場合ウェブアプリ側のCというのはURL
にRESTリソースをバインドする程度のすごく薄いものになる。

後者に関しても例えばMの中に1万件あるデータをある属性で並べ替えて20番目から29番目を表示、
といったページングのためのビューロジックは大抵Cの中に書かれていた。ただこのロジックも最近
ではJavaScriptで書いて、AJAXをつかって動的にサーバから表示に必要なデータを取得する場合
も多いと思う。これもサーバ上のCからブラウザ上のJavaScriptにお引っ越ししている例。

541:デフォルトの名無しさん
13/04/05 16:38:33.99
>>539
同意。
他人を遅れてると馬鹿にして上から目線で発言してるわりに
アーキテクチャと利点、欠点などがわかってないわ

542:デフォルトの名無しさん
13/04/05 16:39:43.33
フレームワーク厨はフレームワークさえ使えればなんでもいいんだよ。
君らもフレームワークをありがたがってないでネイティブに回帰すべき。

543:デフォルトの名無しさん
13/04/05 16:43:38.62
>>535
最初は静的なHTMLで始まる(Javaで返す必要はない)
そこからロードされたJSがサーバからJSONを取得する
JSONで得た情報をJSでレンダリングする
そのためのJSで書かれたテンプレートエンジンもたくさんある
うちはHandlebars使ってる

まだそこまで極端なケースは少ないけど方向はこっち
(Twitterみたいに後戻りするケースもあるし流動的かもしれんが)
スマホのネイティブアプリとサーバ側が共有しやすいメリットも大きい
つかうちはスマホアプリが先で後からブラウザ対応が増えてきてる

ちなみに業務系はオンプレのJavaでStrutsベースのオレオレ、
それとは別にAWSでPHP、RoR、Node.jsを使ったサービスを並行してやってる
わかってないといわれるならそうなんだろう

544:デフォルトの名無しさん
13/04/05 16:49:34.93
そうやって間違った方向に進んでしまうのがIT業界の悪いところだな。

545:デフォルトの名無しさん
13/04/05 17:16:33.84
>>540 >>543
Google mapとかの地図サイトのように
ページの一部分を頻繁に読み込むようなサイトなら
JSは使うだろうし、それくらいは当然知ってます。
ページ全部を毎回読み込むのは非効率だし

ただ、MVCのある機能がブラウザ側に移動したというより、サーバとクライアントが
協調して動作するようなシステムが出てきたってだけの話だと思う。
結局、サーバサイドのフレームワークがなくなることはありえない。

>>523は、「分散」とかではなく「移動」といったうえで
「これでやっとStrutsとJSPの時代が終わる(JSFは始まらずに終わる)」
なんて結論づけたから噛みついたわけ。

Strutsがクソなのは知ってるけど、そこからサーバサイドのMVCフレームワークが
なくなっていくという話につなげられると
まったく同意しかねる、ということ。

Ajax, jQuery必須にしてしまえば、ブラウザでJS切ったら使い物にならないし
有効であってもバージョンの互換性でエラーが出る。
開発のコストも無駄にかかる。デメリットも大きい。
だから全般的に移行することはありえない。
デメリットを補ってあまりあるメリットがあれば使われる、というだけ

サーバだけでやるのか、サーバ+クライアントでやるのか、
使い分けの問題であって、サーバのみでやるのが遅れているわけでもない。
セキュリティ上の理由でクライアントサイドで処理できないこともある。

546:デフォルトの名無しさん
13/04/05 17:20:06.75
まったくだ。ニコ動もクライアントでいろいろやりすぎて
糞使いにくくなってる。
つまり何事もネイティブで考えることが必要だ。

547:デフォルトの名無しさん
13/04/05 18:58:11.74
中の人にはソレが段々と見えんくなってくるのでしょう。

548:デフォルトの名無しさん
13/04/05 19:24:11.12
JAX-RSを持ち上げる人が多いけどさ、他に比べればマシというだけであって、まだまだだと思うよ。

ちなみにうちは、jQueryの利用的なことから一歩進んで、JSフレームワークのLOBアプリへの適用もやりはじめた。
今までJSで個別に処理を記述していたところを、フレームワークを使って、
RESTなAPIの結果でObserverなVMのメンバを更新、バィンディングでHTMLの表示を更新というレベルだけど。

549:デフォルトの名無しさん
13/04/05 20:45:01.83
>>548
> JAX-RSを持ち上げる人が多いけどさ、他に比べればマシというだけであって、まだまだだと思うよ。

どの辺がまだまだ?

550:デフォルトの名無しさん
13/04/05 21:28:07.76
>>545
もちろん、なかなか消えはしないだろうけど、
徐々にviewの部分が移行していく流れだと思う
下手すると、cの部分も
本当に最後まで残るのは、モデル層だけだろう

551:デフォルトの名無しさん
13/04/05 21:41:16.25
今後流れがjavascriptに来るだろうというのは
確実に分かる
現在のライブラリの乱立がその徴候
今はその動きの中にいる人だけが気がついてる状態だが
これがやがて、本流になる

552:デフォルトの名無しさん
13/04/06 00:15:09.70
サーバーサイドがhtmlではなくxmlでデータを返すに留まり
Ajaxで何でもやるなら既存のMVCフレームワークの延長でもできそうだな。
(ViewがXMLになり、XML/HTMLは互換性がある)
GWTとかPlayみたいなオレオレ色の強い独善的FWよりそっちがいいかもしれん。

だがサーバーにフレームワークが必要ないって意味不明。
クライアント側でjavascriptがJSONからHTML組み立てる言われても
誰がクライアントに渡すJSON/XMLを作るんだ?
まさかクライアント側のjavascriptがSQL発行してjson作るのだろうか?

553:デフォルトの名無しさん
13/04/06 00:35:34.78
今後はクセモノであるHTTPセッションを
クライアント側メモリに持ち込むのも増えていくだろうけど、
クライアントがスマフォとかだと大きいキャッシュデータとか無理だし
サーバー側でセッション作る必要がある。

554:デフォルトの名無しさん
13/04/06 01:04:28.16
インタラクティブな処理が必要な場合に、
クライアントサイドでのタスクを増やすってのがJSの使いどころ

このスレのJSやnode.js推してる人は、すべてクライアントサイドで
やる方向にいくと思ってるところが大間違い。
デメリットがわかってない。
必要のない場所でまでJSでやったら開発コストも増すし
ブラウザの互換性というやっかいな問題が現れる。

555:デフォルトの名無しさん
13/04/06 01:06:01.26
ダイナミックHTML時代のままで大いに結構
Ajaxまでは求めちゃいないよ

556:keisuken
13/04/06 01:24:33.06
ちょっと勘違いもあるかなと思うけど、今後は両方で進んでいくことはほぼ間違いないと思うけどな。
* ブラウザがFORMでPOSTしサーバがHTMLを返す
* ブラウザがAjaxでPOSTしサーバがJSON/HTMLを返す(JSONの場合はJavaScripotがDOMなどに適用する)
RESTful坊は後者に偏りがちで
* ブラウザの処理が重たくなる
* JavaScriptに対応していない端末で動かない
という欠点もあるんだけど
* サーバ側がかなりシンプルになる(Web APIの提供)
* 場合によってはレスポンスデータが小さくなる
などの利点もあって別に間違った方法でもないし、実際そういうサイトはいくらでもある。

JavaScriptでの開発が煩雑になり、開発しにくくなるというのも間違っていないのだが、
Wicketみたいにある程度フレームワークが解決してくれることもあるし、
今時のJavaScriptライブラリ/フレームワークは昔より良くできていることが
多いので案外どうにでもなっちゃう印象ですね。

特にスマートフォン対応だとむしろJavaScriptを使わないことが(主にレスポンシブや
アニメーション, レイテンシなどで)しょぼく感じてしまうケースもあるので
もう無視できなくなってると思う。

557:デフォルトの名無しさん
13/04/06 01:30:00.65
HTMLを返す処理はなくならないが
フレームワークの要不要はまた別問題だな
俺はいらんと思うけど

558:デフォルトの名無しさん
13/04/06 01:33:29.51
ブラウザで多くをやる方法は限界やデメリットがある以上、
サーバ側のフレームワークにとって代わることはない。

JavaのWebフレームワークのスレなのにスレ違いのレスばっかりになってる。

559:デフォルトの名無しさん
13/04/06 01:34:45.31
>>553
>今後はクセモノであるHTTPセッションを
>クライアント側メモリに持ち込むのも増えていくだろうけど、

セキュリティホール確定。
クライアント側は当然偽装し放題ですよ。

ちなみに自分は常にJavaScriptはOFF(もちろんJavaAppletだのFlashだのも)
なので、見えないページはムカつきつつ閉じてます。
わざわざ開く価値なんてないし。

560:デフォルトの名無しさん
13/04/06 01:36:37.41
>>558
JAX-RSだってJavaのWebフレームワークだからこの流れはスレ違いじゃない
自分の意見と違うからって排他的にならないでほしいね

561:デフォルトの名無しさん
13/04/06 02:12:52.30
>>559
いまどきJavaScriptをOFFとかありえないだろ。
商品リストのページングとかSession+Ajaxでやっていたようなものにも
クライアント側が操作しても問題ないようなデータは結構あるぞ。

562:デフォルトの名無しさん
13/04/06 02:19:09.71
>>559個人がどうするかは>>559の自由だから放っておいてやれw
ようはJS無効にしてるユーザを救うことによって得られる
利益とかかるコストをそれぞれのサイトがどう評価するかだ

563:デフォルトの名無しさん
13/04/06 02:24:58.73
クライアントJavaScriptでバリデーションをするとか嫌だな。
たとえば登録フォームだとパスワード半角英数8桁とか以外にも
同じ名前が既に登録されているのかとかチェックするときがありうる。
そうなるとデータベースとバリデーションが関連するわけで、
Ajaxを通すのは良いとしてもバリデーション自体は鯖側で行うべきだ。

564:デフォルトの名無しさん
13/04/06 02:51:01.86
クライアントから投げられる値なんて基本的に信頼できないからサーバ側でのバリデーションは
いつまでたっても必須だよ。ただsubmitする前にキー入力に応じてダイナミックにバリデーション
したい場合などはJavaScriptを使ってブラウザ上で「仮」バリデーションする場合もあるというだけ。

ただこれするには同じバリデーションロジックをJavaとJavaScriptでそれぞれ書くことになるので
二度手間になる。この点でGWTは地味に便利だった。Javaで書いたロジックをJavaScriptに変換して
ブラウザ上で使うから二度手間にならないし、Java上でロジックを書き換えるとそのままクライアント
側のロジックにも反映されるからロジックの同期も楽。

というわけでJavaからJavaScriptへのコード変換はそろそろjavaxとして仕様化すべきだと思う。
あるいはJava -> JavaScriptの変換を行う定番トランスレーターがデファクトで決まるのでも良い。

565:デフォルトの名無しさん
13/04/06 04:45:17.33
>>564
で、だったらはじめからサーバーもjavascriptで書けばいいじゃん
という流れになったりしてな
node人気が出てきたみたいだし

566:デフォルトの名無しさん
13/04/06 06:06:19.09
>>563-564
そうそう。
セキュリティ上の理由で、サーバ側でやらないといけないもの
があると書いたのはそういうValidationとか。

クライアントサイドのValidationは仮のチェックだね
レスポンスを高めるだけのものでしかない。

クライアントに渡した時点で汚染された(信頼できない)データに
なってしまうし、再度DBに入ってくるようなデータは渡したくない。

全部クライアントサイドでやる流れ、とか言ってる人は
セキュリティの観点が頭にない。

567:デフォルトの名無しさん
13/04/06 06:17:19.79
>>566
バッカだねぇ、「全部」クライアントでやる流れなんて誰が書いた?
サーバ側でバリデーションが必須なんて当たり前すぎて議論の余地無しだよ
JAX-RS使うとバリデーションできないとでも思ってる?
BeanValidatorはMVCフレームワークと密結合してるとでも思ってる?
レベル低すぎて相手にするのやめようと思ったけど想像以上の低さに驚いたよ

568:デフォルトの名無しさん
13/04/06 06:24:52.99
つーか「StrutsとJSPの時代が終わる」と書いた>>523でもJAX-RSのこと書いてるのに
なんで>>545みたく「サーバサイドのフレームワークがなくなることはありえない」
なんて的外れの反論しちゃうのかねぇ
あげくに「全部クライアントでやる流れ」とか誤読どころの話じゃないだろ
こんな文盲で仕事できるのかね?

569:デフォルトの名無しさん
13/04/06 06:26:42.29
>>567
自分の発言読み返してみろよ
そう読み取られてもおかしくない表現してる

>>523なんてアホ発言そのもの
他にもnode.jsの時代になってるだの妄想垂れ流しすぎ

570:デフォルトの名無しさん
13/04/06 06:27:53.82
>>568
おまえはJSスレに帰れよ
完全にスレ違い

571:デフォルトの名無しさん
13/04/06 06:29:14.15
一度スマホのネイティブアプリとだけつながるサービスの開発でもやってみると
(何が必要か考えるだけでも)知見も広がっていい経験になるんじゃないすかね?

572:デフォルトの名無しさん
13/04/06 06:32:39.84
>>569
具体的に指摘してみろよ
どこに「全部クライアントでやる流れ」と読み取られておかしくない発言がある?
Node.jsの時代になってるってのもどこにある?

573:デフォルトの名無しさん
13/04/06 06:43:39.54
>>572
誤解されてもおかしくない表現力だよ
他の人もそうとらえてる人がいる。

>>543もあんただろうけど滅茶苦茶

>最初は静的なHTMLで始まる(Javaで返す必要はない)
それができない場面もあることはすでに書かれていたよな?

>まだそこまで極端なケースは少ないけど方向はこっち
ほら、ここで自分でいってるだろう。
使えない場面がたくさんあるのに「方向はこっち」とか言ってる。

あと話の流れからみてnode.js推してる人とあんたは同一人物と判断してる。
自分ではないいうのなら自分のレス番号全部書くなりトリップつけないとわからない。
この板はIDでないから

574:デフォルトの名無しさん
13/04/06 06:55:48.45
>>573
> 他の人もそうとらえてる人がいる。

他の人じゃなくてさ、君がどの表現から「全部クライアントでやる流れ」と読み取ったのか教えてよ

> それができない場面もあることはすでに書かれていたよな?

できない場面「も」あるから何?

> 使えない場面がたくさんあるのに「方向はこっち」とか言ってる。

「たくさん」っていうのは君の主観だね

> あと話の流れからみてnode.js推してる人とあんたは同一人物と判断してる。

そもそもどのレスがNode.js推しなんだよ?
ちなみに>>524は俺だよ。Node.js推してるように読めるか?

575:デフォルトの名無しさん
13/04/06 07:03:44.94
>>574
>>524は別人だと思ったよ
俺とかいわれてもIDでないしわからない。

>君がどの表現から「全部クライアントでやる流れ」と読み取ったのか教えてよ

散々書いただろ。めんどくさいやつだな

あんたの発言がどのレスだか判別つかないことくらいわかってくれ。
俺のレスもすべてはわからないだろう。

576:デフォルトの名無しさん
13/04/06 07:25:47.54
>>575
「散々書いた」ってどこにあるんだよw
具体的に指摘する気はないみたいだからこれ以上は追求しないが、
勝手に拡大解釈して文句をつけるのはもうやめてくれ

577:デフォルトの名無しさん
13/04/06 07:33:12.04
>>576
散々書いたってわからないって?
俺もお前のレスがどれだかわかんないのよ
IDでないから
そういうしょうもない掲示板でまともな議論なんてできないの

578:デフォルトの名無しさん
13/04/06 07:37:32.20
>>577
あぁ、続ける気なんだ
別に「俺の」じゃなくていいからさ、君がどのレスのどの表現から
「全部クライアントでやる流れ」と読み取ったのか教えてよ
寝ぼけててもできる簡単なお仕事だろ?

579:デフォルトの名無しさん
13/04/06 07:42:19.34
>>572
「APIだけ作る流れ」
「HTMLを返す必要がなくなってきてる」

580:デフォルトの名無しさん
13/04/06 07:42:23.42
>>576
ちなみに俺は「君が」書いたレスかどうかは「気にしないで」読み返したけど
どこに「散々書いた」のか見つけられなかったよ
突然飛躍してるレスしか見あたらない

581:デフォルトの名無しさん
13/04/06 07:47:57.92
>>578 >580
しつこいなぁ、あんたも
「続ける気なんだ」どころか真逆だわ
IDでないしょうもない掲示板でまともな議論なんてできないってかいたろうに

IDでないんだから違う相手に反論してるなんてことあるだろ?
だからこれだけレスもついたし、検証作業なんてやりたくないの。
全員が正直に自分のレスを書いてトリップ書いたりしないと今となってはわからない。

582:デフォルトの名無しさん
13/04/06 07:49:57.54
>>579
それかよ(失笑)
Twitterが「API」も提供してのはもちろん知ってるだろ?
Twitter4Jとかあることくらいは知ってるだろ?
そのAPIはHTML返さないのも知ってるだろ?
じゃあTwitterのAPI叩くとTwitterのサーバじゃバリデーションも行わず、
「全部クライアントでやる」と思ってる?
違うだろ?冷静に考えてみてくれ

583:デフォルトの名無しさん
13/04/06 07:52:13.77
>>581
別に違う相手でも構わないよ
>>579にしたってさっきまでの誰かと同じかどうかはどうでもいい
それで議論できないなら半年ROMってろ

584:デフォルトの名無しさん
13/04/06 07:54:41.95
>>580
581 だけど>>579の人とは別人だぞw
ほら、他の人も、サーバサイドが不要になりつつあると解釈してるだろ?
だれかJS押しの必死な人がいるように見えるわけ。
でも、IDでないから同一人物かすらもうわからないわけ。
くだらないだろ?

無意味なレスばっかりになってる上にスレ違いだから、
クライアントJSの話題はJSのスレでやってくれ

585:デフォルトの名無しさん
13/04/06 07:56:09.01
>>582
スレ違い。荒らしになってる。
冷静にスレタイを読めとしか言えない

586:デフォルトの名無しさん
13/04/06 07:59:59.38
>>582
喧嘩してるとこ横レスして混乱させてすまんかった

JSONを返す流れについていってないやつは遅れてるとか
HTMLを返す仕事してるやつを小馬鹿にする発言もあったしなあ

じゃあバリデーションやデータの受け渡し以外は
全部クライアント側でやる流れってことでいいの?

587:デフォルトの名無しさん
13/04/06 08:01:53.46
>>585
JAX-RSはWebフレームワークだからスレ違いじゃないだろ
それともここはHTMLを返すフレームワーク限定なのか?
スレタイにも>>1にもそんなこと書いてないのに?自治厨?

588:デフォルトの名無しさん
13/04/06 08:10:29.51
>>587
スレ違いといってるのはクライアントサイドのJS

フレームワークという言葉を拡大解釈して、
スレ違いではないと強弁するのはやめたほうがいい

589:デフォルトの名無しさん
13/04/06 08:25:56.10
>>588
俺のに限らずクライアントJSの話が主のレスなんてほとんどないだろ
どのレスがスレ違いなんだよ

「フレームワークって用語を拡大解釈」ってJAX-RSに対して言ってる?

590:デフォルトの名無しさん
13/04/06 08:26:15.04
サーバーサイドで書かれていたビューロジックやコントローラー内の一部のロジックがJavaScriptで
クライアントサイドに書かれるようになりつつあるのは誰も否定しないと思う。

ではそれがどこまで行くのか、と考えると、まずビジネスロジックを実装したモデルやサービス層は
当面はサーバーサイドに留まる。クライアントの正直さを保証する仕組みが無いので。

ではそれ以外はクライアントに移るのかと問われると、それもやや期待過剰かなと個人的には思う。

正直今のHTML5やモバイルアプリからガンガンREST云々を叩いてクライアント側で動的に表示を
更新する仕組みは一昔前のRIAの流行の再放送を見る感じなんだよね。Flashその他でUIを作って
サーバー側をRPCで叩きまくった時代の(当時はBlazeDSとかSOAPとかだったけど。SOAP好き)。
サーバーからはJSONだけ返してHTMLはクライアントで組み立てる、というのも死産に終わった
クライアントサイドXSLTの夢を思い出させる。

なので問題点も未だに概ね共通していて、一つは検索サイトにインデックスされない、もう一つは
ハイパーリンクが難しい(モバイルアプリなんかは特にそう)。画面状態をURLに対応づける仕組みは
RIAの時代からあったけれども、それには単にUI作る以外の一手間が必要なことは今も昔もそれほど
変わらないし、DOMをグリグリいじくるのに夢中でその辺無頓着な開発者も多いような。
REST API等々使ってインタラクティブなWeb UIを作るのは簡単。でもREST APIにどっぷり依存
しながらそれ自体は全然RESTではないウェブアプリも少なくない。
さらにクライアントサイドでのHTML変換よりサーバーサイドでやった方が安全確実しかも簡単
でしょ、というのXSLTでの教訓。

このあたりの過去の教訓をちゃんと意識しないと、流行はともかく定着はしないと思う。

591:デフォルトの名無しさん
13/04/06 08:30:14.26
丁度今、JS側で色々やろうとして結果として中途半端な構成になっているプロジェクトに入ったので
JS側のFWを調べているところなんだだけど、正直、まだ時期早々だと感じている

View構築に関してサーバサイドFWからの依存を排除したい理由は
どうもネイティブアプリ化を睨んでいるみたいで、その主旨は理解したんだけど
まだ、そういった要件に完璧に応えてくれるデファクトなFWが存在していない
backbone.jsでは機能が足りないし、jQuery mobileは逆にサーバサイドに依存して作った方がやりやすいし
JSによるView機能も色々触ったけど、国際化等まで考え始めたらサーバから色々情報を渡さないといけないし、
結局、クライアント側でやるのは不便としか感じなかった
「できる」んだけど、「仕事としてしっかりできる」レベルには、どのFWも至っていないという印象

他にも、もっと多機能なFWもあるんだろうけど、そういうのはjQuery以外の独自ライブラリ依存だったりして
まだまだ取り組むのにはリスクが大きい感が否めない

以前のプロジェクトでは、何もかもJSでやるのではなく、
Viewはサーバサイド任せにしてイベント関連のみJSでやっていたけど
今はそういう作り方の方が断然楽だと感じる。自分がサーバサイド暦が長いせいもあるだろうけど

592:デフォルトの名無しさん
13/04/06 08:33:44.14
>>589で「俺のに限らずクライアントJSの話が主のレスなんて
ほとんどないだろ」って書いた俺涙目w

593:デフォルトの名無しさん
13/04/06 08:37:56.40
いいんじゃないの?
今はクライアントJSまで考慮しないとどうしようもないんだから
どうせスレ違いに拘ってるのは一人だけだろうし

594:デフォルトの名無しさん
13/04/06 08:43:45.27
>>589
ずっと上から読み返してみ?
サーバサイドのフレームワーク不要論を唱えだした奴いるだろ
>>579 の引用がその一例

その不要論を言いだすと、Java不要論になるし
このスレも全否定だし、
スレ住人が携わっているであろうサーバサイド開発も全否定になる。

要するに、このスレもスレ住人の仕事もJavaも全否定になるから、
サーバサイドフレームワーク不要論は反論されるし、
スレ違いだと言われるわけ。

比較のためにRailsとか他の言語のフレームワークの話題でることも
あるけど荒れなかった。

違いはなにかというと、ここのスレと住人を全否定したかどうか、
だと思う。

595:デフォルトの名無しさん
13/04/06 08:57:23.38
>>594
>>572>>523からの引用だが、それのどこが「サーバサイドの
フレームワーク不要論を唱えだした」?
JavaでJAX-RSでAPIを提供するサービスを作る流れっていうのが
「Java不要論になる」?「サーバサイド開発も全否定」?
頭おかしいんじゃね?

596:デフォルトの名無しさん
13/04/06 09:08:47.77
>>595
JSON返す流れになってるだのアホなこといってるのは
サーバサイドFW不要論そのものだろ

サーバサイド不要論唱えてる奴はいたわけ
このしつこさからしておまえの可能性高いけど

597:デフォルトの名無しさん
13/04/06 09:11:00.43
>>595
頭おかしいだの遅れてるだの口が悪い

598:デフォルトの名無しさん
13/04/06 09:15:15.54
>>596
JSON返すと「サーバサイドFW不要論」wwwwwwww
ダメだこいつw
俺とは「サーバサイドFW」の定義が違うようだが、
俺だけとじゃなくてこのスレ住人、Java開発者、Web開発者、
その他多くと違う定義だよそれ
負けたよ、さすがにもう相手にできないわwww

599:デフォルトの名無しさん
13/04/06 09:18:21.51
>>598
お前来てから荒れた。出てけ
このスレは遅れていて、相手にできないんだろ
はよでてけ

600:デフォルトの名無しさん
13/04/06 09:19:53.00
荒らしはLLスレにいたやつと同じにおいがする
これからはJavascriptの時代だってしつこいのなんの

601:デフォルトの名無しさん
13/04/06 09:22:13.99
このスレの連中は真面目に相手しすぎだわ

602:デフォルトの名無しさん
13/04/06 09:31:31.35
>>601
まったくだ
俺は>>563の時点で目眩がしたわw
CGI全盛時代のスレかと思ったよ

603:デフォルトの名無しさん
13/04/06 09:42:25.02
でも流行りに流されたほうが金になるというのもまた事実

604:デフォルトの名無しさん
13/04/06 09:53:37.29
Javascriptがもう少し機能的にもデザイン的にも優れものだったら、
プリミティブ型が使えて静的型・型推論・LINQ・JAXBとか持ち合わせていたら
「これからはJavascriptの時代だ」でも別にいいけどね。
ログ出力すらブラウザ互換性云々いってる糞言語は書きたくないし、
Dartとかも出力対象のJavascriptが糞すぎて未来が絶望的だろう。

WicketはJavaコンポーネントにJavascript自動生成させることで隠蔽し、
Javascriptを開発者から少しでも消し去ろうとした素晴らしいFWだった。
Javascriptフレームワークが乱立する現状とは逆の立場で流行らなかったが。

605:デフォルトの名無しさん
13/04/06 09:58:25.30
>>591
> どうもネイティブアプリ化を睨んでいるみたいで、

うちじゃ最初のターゲットがスマホアプリだけってケースが増えてる
先週ローンチしたサービスもそう(Webサイトはあるが静的コンテンツのみ)
だからブラウザ対応する場合も同じAPI叩くだけでやりたいって意見は強いね
SEO担当部署は抵抗してるが、検索サイトからの流入どころかブラウザで
アクセスする人が激減してるのが現実(もちろんサービスによるだろう)
LINEの成功もあってブラウザ対応はいらないってケースも増えそう

606:デフォルトの名無しさん
13/04/06 10:07:04.86
>>591
クライアントJSのMVCフレームワークが乱立してるわけだけど、
世界的には一番話題になってそうでリッチなAngularJSよりも、
日本じゃシンプルなBackbone.jsが人気あるように見えるのは、
JSFとStrutsを見てるようで興味深いw

607:デフォルトの名無しさん
13/04/06 10:22:53.57
>>606
apachcommons的なのなんて乱立なんてもんじゃない
手軽環境で誰でも書けるしハブとかあるからゴミが多くてフルパックじゃないとスタンダードになりえない
馬鹿でも書けるから調べて類似見つけて拡張依頼やコミッタ申請なんて事も少ない
アンドロマーケットと一緒

608:デフォルトの名無しさん
13/04/06 11:33:00.31
XML+XSLTが攻守最強だな
リッチクライアントでもブラウザでも行ける

609:デフォルトの名無しさん
13/04/06 11:34:57.01
もうそういうのやめてくれ
ネイティブが一番いい。

610:デフォルトの名無しさん
13/04/06 16:34:25.16
とりあえずJAX-RSに関してはあまり否定的な意見は出てこないな。

611:デフォルトの名無しさん
13/04/06 22:01:52.60
評価保留って感じじゃないの、2.0になってから本番な感じだし

612:デフォルトの名無しさん
13/04/06 22:08:36.83
JAX-RSの否定ではないが、各実装固有の機能を使わないと微妙、っという点は多々ある。

613:デフォルトの名無しさん
13/04/06 22:14:28.20
JAX-RSはシンプルでいい
標準だけじゃ足りないって意見はあるが重厚よりはいい
各実装の独自機能も自前で作るよりはいい

JAX-RS 2.0(JSR 399)見たけどフィルターや
インターセプターが標準に含まれてるね
Bean Validationとの連携も入ってた
JerseyのViewable的なものは見あたらない

JSONが相変わらずJAXBなのだけ残念だわ
Java API for JSON Processing(JSR 353)はどうしたと
思ったら、あれマッピングは含まれてないんだと
Jerseyのjson.POJOMappingFeatureを使い続けることになりそうだ

614:デフォルトの名無しさん
13/04/06 22:35:44.41
JAX-RSに限らないんだけど、JSRと実装とか馬鹿な事はさっさとやめて、今ある各実装の良いとこどりしたMVC機能も持った単一の実装を作ってよ。
そしたらSpring MVCから乗り換えるのに。

615:デフォルトの名無しさん
13/04/07 00:45:35.77
サーバーサイドはvalidation等のセキュリティ関連と、
データベースだけ残るだろ
あとは全部クライアントサイドに行く
それにサーバーサイドもjavaがやってる部分はnode.jsに置き換わるよ

616:デフォルトの名無しさん
13/04/07 00:48:56.77
ないない。Javaが持つ膨大なライブラリをカバーするのに何年かかんだよ

617:デフォルトの名無しさん
13/04/07 00:51:23.43
もう既にカバーしてるし、できないこともたくさんできてしまってる

618:デフォルトの名無しさん
13/04/07 00:53:08.10
釣る気満々のレスに速攻で釣られるなよ

619:デフォルトの名無しさん
13/04/07 00:55:43.89
>>615
またJS信者湧いてるのかよ

620:デフォルトの名無しさん
13/04/07 00:59:31.13
node.jsなんてlibuvだけだろ

621:デフォルトの名無しさん
13/04/07 01:08:38.35
ここ見てオシッコちびるなよ?
URLリンク(www.nodecloud.org)

622:デフォルトの名無しさん
13/04/11 07:24:36.04
Javascript云々のくだらない流れで過疎ったぞ

623:デフォルトの名無しさん
13/04/11 10:27:17.03
【超速報】 Java8、仮想マシンに.NET/Mono採用検討開始 - プログラミング界に激震
スレリンク(poverty板)

624:デフォルトの名無しさん
13/04/11 10:43:32.25
Mono、のちのちMS.netランタイムでjarが動くようになるなら
Javaデスクトップアプリケーションにはありがたいなぁ。

625:デフォルトの名無しさん
13/04/11 10:49:37.28
でも .class → JVM → .NETランタイム(CLR)ということで、変換が二重になってパフォーマンスが悪い、
ということにはならないのかな。

626:デフォルトの名無しさん
13/04/11 10:52:56.26
何事もネイティブが一番

627:デフォルトの名無しさん
13/04/11 12:21:34.13
IKVMはありえんよ、最悪の選択肢

628:デフォルトの名無しさん
13/04/11 17:51:08.92
最良の選択肢はjavascript

629:デフォルトの名無しさん
13/04/11 19:46:00.52
マルチパラダイム対応が一番。
Java、Scala、Groovyを自在に混ぜて使えばよいし、それはさほど難しくない。

630:デフォルトの名無しさん
13/04/12 01:22:11.91
ScalaとかGroovyとかいらんよ
Java周辺は勉強してもすぐ消えていくから信用ならない

631:デフォルトの名無しさん
13/04/12 01:57:44.58
ScalaやGroovyをちょっと勉強してみたら
とてもそうは思えなくなる
やっぱり利便性が全然違う

632:デフォルトの名無しさん
13/04/12 07:12:38.76
>>622
JS推してたうざいやつのせいだな

>>623
Monoはまず品質をなんとかしてほしいわ
MS純正版との互換性がなさすぎてMono版のASP.net MVCは
使いものにならなかった。

633:デフォルトの名無しさん
13/04/24 21:18:24.48
Java8延期された
Java 8 Delayed to 2014 by Ongoing Security Woes
URLリンク(www.infoq.com)

634:デフォルトの名無しさん
13/04/26 23:42:43.59
>>632
どうやったらlinuxServer+ASP,netとかアホな構成を選べるのかわからんけど実務で使ってるアホいるんだぜ?

635:デフォルトの名無しさん
13/04/27 23:37:45.83
EE7がそろそろ?

636:デフォルトの名無しさん
13/04/28 23:31:36.49
JavaEE使いづらいよママン…

637:デフォルトの名無しさん
13/04/29 08:26:27.28
使いづらいものをなんでわざわざ使おうとするの?、Mなの?

638:デフォルトの名無しさん
13/04/29 09:28:07.82
>>637
フレームワークの選択権限俺じゃないんだよ・・・。
そりゃ俺ならSpringMVCかSAStrutsにするよ…。

639:デフォルトの名無しさん
13/04/29 11:26:27.70
上がアホだとどうしようもないよな

640:デフォルトの名無しさん
13/04/29 11:28:42.07
プッ、バーカw

641:デフォルトの名無しさん
13/04/29 12:00:06.81
>>640
なんだこいつ

642:デフォルトの名無しさん
13/04/29 14:01:22.83
>>638
SpringもJavaEEつかってるんじゃないの?

643:デフォルトの名無しさん
13/04/29 17:22:34.76
なに言ってんだおまえは…。

644:デフォルトの名無しさん
13/04/29 20:09:51.80
>>642
・・・
開発をSpringMVCでやるかSAStrutsでやるか
標準のJavaEEでやるか?っていう話だと言えばいいのか?
SpringMVCの中身の話ではない。
単に何で開発したいかと言うことだ。

645:デフォルトの名無しさん
13/04/29 20:25:40.36
>>644
SAStrutsなんて日本でしか使われてないやつでしょ?
新規でそんなの使う意味がわからない

646:デフォルトの名無しさん
13/04/29 20:29:28.26
URLリンク(dev.worksap.co.jp)

JavaOne参加者は、JavaEE利用者とSpring利用者が半々くらいだったらしい。

JavaEEはJavaEE5以降でSpringを取り入れてきているとも書かれてる。
純正JavaEEでやる人がまた増えてきてるということじゃないの

647:デフォルトの名無しさん
13/05/01 17:20:11.87
>>645
世界で戦ってるわけでもあるまいが…。

648:デフォルトの名無しさん
13/05/01 17:53:07.34
Authentication/Authorizationには皆さん何使ってる?

社内システム用にSpring Securityを使い始めたもののなんか微妙。

649:デフォルトの名無しさん
13/05/01 19:04:34.20
Spring使ってるけどSpring Securityは微妙。
認証・承認って、結局システム固有の要素が入ることがほとんどなので、自分はそこはいつも自前。

650:デフォルトの名無しさん
13/05/01 19:08:13.20
今更SAStrutsを奨めもしないけど、海外でどうだからという話は無視して良いと思う。
禿とかがそういうdisりをしたりもするけど。

自分のニーズにあったものを選択するのが基本。

それに海外ではどうこういうなら、海外の人は細かい部分にルーズだ、みたいな話だってあるし。
それでJSFやJPA実装の細かい部分が微妙だったりとか。

651:デフォルトの名無しさん
13/05/01 20:26:41.12
さてJavaEE7きましたよ。

652:デフォルトの名無しさん
13/05/02 13:40:33.64
>>651
どこにきたの?
URLリンク(www.oracle.com)

653:デフォルトの名無しさん
13/05/02 14:39:16.33
URLリンク(blogs.oracle.com)

654:デフォルトの名無しさん
13/05/10 10:39:23.30
>>650
細かい部分にルーズにしては、国産FWが少ないし
Springに比べてS2Forumのアーティクルは少ねぇよなぁ

ほんとに海外について知ってるつもり?

655:デフォルトの名無しさん
13/05/10 11:33:01.75
良いものは海外でも流行る。
日本限定のマイナーなフレームワークなんかつかうと
すぐにメンテ終了になってしまう

656:650
13/05/10 12:38:17.38
俺は「世界ではJava EEが標準です(キリッ」みたいな発言を真に受けたり引用したりするのはやめれというだけで。
別に国産FWが良いと思っているわけじゃないよん。

657:デフォルトの名無しさん
13/05/10 13:07:44.12
俺が作ったフレームワークがどう考えても最高

658:デフォルトの名無しさん
13/05/11 09:13:44.19
>>656
何でやめなくちゃいけないんだ?
事実は事実のまま捉えろよ

659:デフォルトの名無しさん
13/05/11 10:26:19.98
JavaEEは最高のフレームワークです(キリッ
ほかのフレームワークを使っている奴らは無知なだけのカス

660:デフォルトの名無しさん
13/05/11 10:35:01.25
フレームワークがないと作れないやつって不幸だな

661:デフォルトの名無しさん
13/05/11 15:17:14.27
標準って用語は多重定義されてるからな
JavaEEが標準仕様なのは事実だしデファクト標準じゃないことも事実

662:デフォルトの名無しさん
13/05/11 15:41:42.22
依存性管理はそろそろデジュール標準でいって欲しいな。
そんで依存性ツリーを持たないAntプロジェクトとか撲滅して欲しい。

現状リポジトリはほぼMavenリポジトリがデファクトで、依存性解決はMavenの他に
ivyやGradle等といった複数の実装があるわけだけど、実装毎に微妙に解決した結果
が異なったりとか依存性の記法が異なるとかちょい勘弁。

って何時だよProject Jigsaw使えるようになるの。

663:デフォルトの名無しさん
13/05/17 20:56:32.32
うちなんて未だにApache Ant + CVSだよ
今年の予定がSubversionの適用とか10年遅れてるわ

664:デフォルトの名無しさん
13/05/17 21:51:50.52
もうSubversionはスキップしていいでしょw
GitやMercurialにすればよいのに。

665:デフォルトの名無しさん
13/05/18 01:26:59.84
>>663
昨年までEclipseとファイルコピーで何とかしてた俺よりましだな。
さすがに最近Git入れたけど。

666:デフォルトの名無しさん
13/05/20 08:38:34.64
CVSと用語の使い方が似ているとか長く使われて実績があるって意味ではSubversionもありはありだけど、それ以外に取り柄が無いよなぁ
分散リポジトリは概念説明からスタートだからめんどくさいとかあるのかな
構成管理担当のスキル不足で使いこなせないなんて笑えない理由だったら笑うがw

667:デフォルトの名無しさん
13/05/20 22:57:38.89
トラブルが起こらないという意味ではsubversionで十分かもな
Mavenとかだと、やれプロキシの設定だの、レポジトリが無いだの、
新しく入ったメンバーが自分で設定できないだの、
依存性が解決できないだのと、問題がつきもの

668:デフォルトの名無しさん
13/05/21 02:38:48.74
とのVCS(Subversion, Git, Mercurial, etc.)を使うかと、どのビルドツール
(Ant, Maven etc.)を使うかは基本的には直交した問題じゃないかな。

経験上ビルドツールに関してはMavenを使った方が新人対応も楽。なにせ手動で
インストールする必要のあるものを圧倒的に減らせるので開発環境の立ち上げが
楽だしメンバー間でのバージョンの同期もし易い。
Mavenの設定と言ってもひな形のsettings.xmlをコピペして社内Artifactory使う
クレデンシャルの設定だけを個々人で書き換えてもらう定型作業なので、ちゃん
と話を聞かなかったり勝手に先走る新人を除いてははまった経験もあまりない。

新人対応の面でMavenを避ける理由はあまり思いつかないかなぁ。単純に社内の
プロジェクトがAntベースか既にMavenizeされているかの問題ではないかと。

新人対応に関してはむしろVCSが問題で、GitやMercurialを使った経験のない
新人は戸惑う事が多い。updateやcommitだけしてpullやpushを忘れるのは定番
として、ブランチを切って開発するスタイルに慣れていないことが多いので。
こちらはJira等を使ったチケットベースの開発のサイクルとセットにして最初
から丁寧に手順を伝える必要がある。

669:デフォルトの名無しさん
13/05/21 04:14:23.88
手動でインストールって何のことだ
eclipseのフォルダごとコピーして終わりだわw

670:デフォルトの名無しさん
13/05/21 05:31:35.94
>手動でインストールって何のことだ

まずはScalaコンパイラやGrailsといったビルド環境。
これらはMaven Pluginが勝手にビルド環境をダウンロードしてくれるのでScala等を
インストールしてEclipseに登録したりせずともプロジェクトのビルドはすぐ出来る。

実際にScalaやGroovyでの開発担当が回ってきた場合は結局Scala等をインストールして
Eclipseにプラグイン入れないと不便だけれども、その場合もMavenを使って実行する
ビルドやテストでは必ずpomに書かれたバージョンのビルド環境が使われるのは便利。
Jenkins等でビルドするのにもJenkinsにプラグイン入れるよりMaven任せが楽だと思う。

もう一つは複数のプロジェクトで横断的に使われるフレームワークやcommons、log4j
といったライブラリのJar。これらのJarをローカルにインストールしてクラスパスを
通しておく方式は手間だし開発者間でバージョンの同期がとれない。
プロジェクトのlibフォルダにJarを放り込んでVCSで同期する方式だとプロジェクト間
で違うバージョンのJarが使われているとやはり面倒で、そのチェックも大変。

というか膨大な数のJarに依存する昨今のJavaフレームワークを依存性解決ツール無し
で使うのは無駄に大変だと思う。

671:デフォルトの名無しさん
13/05/21 08:17:14.09
え、scalaやgradleなんて何から何までeclipseプラグインが用意してくれるし、
eclipseプラグインはローカルフォルダごとコピーすればついてくるがな

672:デフォルトの名無しさん
13/05/21 09:38:09.94
GradleじゃなくてGrailsね。
Scala IDEはともかくSpringToolSuiteは手動でGrailsを落としてきてEclipseに登録する必要が
あるし、何れにしても本格的に開発するときはコマンドラインツールやIDEの支援がないと何かと
不便なので結局これらやプラグインは手動でインストールすることにはなる。

ただEclipseプラグインに頼った場合は適切に設定されたEclipse環境が無いとビルド出来ないけど、
Mavenプロジェクトは基本的にはmavenが走れば概ね無難にmvn単体でビルド出来る。これ重要。
なので素のEclipseでもm2eclipseだけ入れてもらえればあとはプロジェクトをチェックアウトする
だけで無難にEclipse上でもビルド出来る。Eclipse等とは無関係にビルドに必要な情報は全部pom
に集約されているから環境の違いによるブレが少ない。便利だと思うけれどもなぁ。

Eclipseフォルダのコピーはやらないなぁ。人によって設定も必要なプラグインも異なるし。
プロジェクト内の.projectとか.settingsの類も基本的にはバージョン管理から外す。


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