Java系スクリプト言語 ..
435:デフォルトの名無しさん
06/12/14 20:23:26
サポートというか開発はちゃんと続くんだろうな?
436:デフォルトの名無しさん
06/12/15 13:18:24
>>435
Groovyは当分開発は続くと思うよ
MLはgroovy users/devともに流量も多くて活発だし、減る様子もあんまり無い
437:デフォルトの名無しさん
06/12/16 00:56:07
背景として開発はとめられないんじゃない?
JAVA SE6でスクリプトがサポートされたのはいいけれど、
Groovyだと遅い、っていう評価が出ちゃったから、
これを覆すには開発を継続していくしかないんじゃないかしら。
438:デフォルトの名無しさん
06/12/16 01:08:58
チョット書き忘れてたけど、
Groovyだと遅い、の理由は言語的な問題じゃなく、
スクリプトエンジンの問題みたいっす。
439:デフォルトの名無しさん
06/12/27 20:03:15
it's groovy!
440:デフォルトの名無しさん
07/01/04 23:03:09
URLリンク(docs.codehaus.org)
Groovy 1.0 リリース!
441:デフォルトの名無しさん
07/01/21 17:11:28
なんでこんなにも盛り上がってないんだろう
442:デフォルトの名無しさん
07/01/21 17:45:17
JVMの上ならJava動かせば良いから。
443:デフォルトの名無しさん
07/01/21 18:26:57
リリースに手間取ってる間に、JDK6にはJavaScriptが載ったし、流行はRubyだし。
444:デフォルトの名無しさん
07/01/22 01:57:24
他はともかく、Rubyって流行してないだろ…
445:デフォルトの名無しさん
07/01/22 08:57:26
Java使いの注目ったら、Rubyしかないだろ。
446:デフォルトの名無しさん
07/01/22 10:11:44
Rubyで実装されたシステムって有名どころでは何?
ちなみにGroovyは聞いたことが無い。
447:デフォルトの名無しさん
07/01/22 18:24:16
GroovyにもRailsが出来れば流行るだろう。
・・・いや、流行るかもしれない。
・・・・流行る可能性は否定しきれない・・・
・・・・・・・無理かな・・・
jrunscriptでRhino使うの楽だもん・・・・・
448:デフォルトの名無しさん
07/01/22 20:53:11
んーと, どこのリンクをはるのが良いか…
Grails 本家: URLリンク(docs.codehaus.org)
Grails 和訳? URLリンク(grails.codehaus.org)
Oracle が参加したとか云う記事もあったが, 実際どうなの?
449:デフォルトの名無しさん
07/01/23 03:27:33
GroovyのGroovy MarkupとかGroovy BeanとかGrailsとかは結構出来はいいと
思うよ。Grailsなんか元の名前は「Groovy On Rails」だったわけで。
まあ有名では全然ないが。
450:デフォルトの名無しさん
07/01/23 10:16:56
Grailsおもろいぜ。Rails系なりの手軽さが味わえる。
ただ、RoRでなくてGrailsを選ぶ理由は何かと問われると、答えに困る。
def〜endより{〜}が好きとか、HTML記述はtaglib風構文の方がまだ許せるとか、
それくらいしか思いつかない。
Java互換でJavaのライブラリが使えるって言っても、あんまりメリットとも思えない。
GroovyでHttpUnit使ったプログラム書いたら、エディタに補完機能がなかったので
タイプ数の多さにまいった。
スクリプト言語にはスクリプト言語なりのAPIが要ると思ったね。
451:デフォルトの名無しさん
07/01/23 11:02:19
>>447 おまえは真のrhinoを知らない!
アレは劣化rhinoだ!!(笑)
てかrhinoはコンパイルモードがデフォだし、
クラスロードが出来なきゃ自作のネイティブオブジェクト読めねぇよ。
マシン型を実装してくれんとLiveConnectで整数型が認識出来んし。
ファイル操作とXML操作が組み込まれてるのは便利だが。デバッガくらい同梱して欲しかったな。
>>450
クライアントサイドのgroovy向けツールキットとか有っても良いと思うんだけどな。
複雑な処理をスクリプトで行うために。
ちょっとした捨てアプリでGUI書くのはスクリプトになっても手間だし。groovy用swingラッパーとか良いかも。
探したんだけどデスクトップアプリ用groovyライブラリとか無かったよ・・・
452:447
07/01/23 18:47:01
>>451
正直、俺が一番使いやすいのはpnuts
リストとかコレクションAPIのクラス普通に使えるし
rhinoはあんまり使ってないさw
453:デフォルトの名無しさん
07/01/23 21:21:21
pnutsいいね
フットプリントもちっちゃいしコードも読みやすい
454:デフォルトの名無しさん
07/01/23 22:33:48
pnutsは速いらしいね。
455:デフォルトの名無しさん
07/01/26 12:11:27
Pnutsは処理系も安定してるし、便利なライブラリもそれなりにあるしいいよね
って、なんでGroovyスレでPnutsの話題になってるんだかw
456:デフォルトの名無しさん
07/01/26 15:44:42
いやだって、俺pnutsスレ探してこのスレたどり着いて定住してるからww
pnuts単体だとスレ立てても過疎るだろうなぁと思って立てずに
groovy,rhino,pnutsとか込みで、ここ見てる感じ。
457:デフォルトの名無しさん
07/01/26 21:08:23
いまこそjrunscriptのスレを立てるべき時!
実は需要あるんではないかと睨んでたんだが・・・
Scripting APIに従ったエンジンならJavaと通信できそうだし
スクリプトから使うことを前提としたJavaラッパーライブラリが欲しいぜ。
クライアントサイドJavaScriptみたいに
//新規ウィンドウを生成するファクトリ
window.open(hoge,hoge)
て感じなのをJavaで書いてスクリプトから共通利用出来たら捨てアプリ作るの楽じゃない?
言語非依存だし
458:デフォルトの名無しさん
07/01/26 22:26:13
Scripting API という括りの方が良さそうですね。
Pnuts の話題が出ているのは個人的に(ノ∀`)ウレシイ
Pnuts なら、
frame("test").show()
の一文だけで、
AWT のウィンドウ表示ができるよ。
Groovy の拡張ライブラリの
種類の豊富さや開発状況から見ると
需要はそこそこなんじゃないかなと思う。
本も二冊出版されている様子だし。
・・とはいえ、殆ど英語圏の話。
Scripting API 絡みで
Pnuts への注目も少しは強まるかなと思ったけど
まだネット上を見る限りでは変化がない模様。
459:デフォルトの名無しさん
07/01/26 23:32:08
>>458
jsなら
(new java.awt.frame("test")).show()
だな
Pnutsとrhinoは安定している事に加えてPnutsならライブラリの充実、rhinoならJavaScriptのブラウザでの実績があるがgroovyは処理系が安定してないし、実行が遅いってのがあるな。
Javaのライブラリをシームレスに扱えるのが一番デカイが
あとgroovyスクリプトからgroovyスクリプトを呼ぶのに一度コンパイルする必要があったがもう改善された?
Scripting API の組み込み候補ならrhino,Pnuts,groovyの3つが有力だし
【jdk6/組み込み】Scripting API 総合【Rhino/Pnuts/Groovy】
って感じで括れば面白いかもな。
スレの内容としてはJava VM上で動作しJavaと通信出来る言語用フレームワークの紹介とか情報交換とか。
日本語圏じゃjdk5すら浸透してないけどな
460:デフォルトの名無しさん
07/01/29 17:29:53
Scripting APIってことは、BSFは無し?まああんまり話題も無いだろうけど
461:デフォルトの名無しさん
07/01/30 19:34:51
BSFは別フレームワークだしな・・・。
それにBSFだとピンポイントでJSP絡みな話来そう。
ここの板連中ゲームとJavaEEは苦手じゃね?
462:デフォルトの名無しさん
07/02/01 11:14:03
Groovyってinclude無いの?
それともincludeなんて当たり前すぎてどのサイトにも載ってないのか?
463:デフォルトの名無しさん
07/02/04 13:13:33
import じゃなくて include を探してるの??
464:462
07/02/04 13:23:44
>>463
ん、importでソースファイルの参照できんの?
クラスのimportはネットでよく見るけどソースファイルを指定してのimportは見つけられなかった
スクリプト言語なので、クラスのimportじゃなくて普通にincludeしたい
465:デフォルトの名無しさん
07/02/04 14:52:23
cppでも使ってろ
466:ネカマ由紀恵
07/02/04 19:58:43
groovy スクリプト・ソースに対しても
import で読み込めるよ。
467:デフォルトの名無しさん
07/02/23 22:16:25
Grails使ってる奴いる?
Tomcat5で動かすと、HTTP GETで送ったパラメータが文字化けする問題が解決できないんだが。
Grails付属のJettyや、Tomcat4.1.34だと上手くいくし、Tomcat5でもPOSTなら文字化けしない。
試したTomcat5は、5.5.20と5.0.28。あと6.0.9もダメだった。
Grailsの web.xmlにはフィルタの定義が3つあって、
最初のfilter-mappingにSpring FrameworkのCharEncodingFilterを定義して
フィルタ内でrequest.setCharacterEncoding("UTF-8")してるんだけど、どうもそこが機能していないっぽい。
フィルタの順番の問題?ちゃんと最初のfilter-mappingで定義してるんだけど。
468:デフォルトの名無しさん
07/02/24 03:37:56
>>467
Tomcat5以降のデフォルトではGETのパラメータにsetCharacterEncodingが効かない。
469:467
07/02/24 08:10:52
>>468
感謝感激!server.xmlのConnectorに、
userBodyEncodingForURI="true"か、URIEncoding="UTF-8"を加えたら上手く動きました!
Grails関係なかったね…
470:デフォルトの名無しさん
07/04/23 12:34:44
age
Grails使ってるやついる?いたら感想たのむ。
URLリンク(journal.mycom.co.jp)
471:470
07/04/23 12:37:13
>>440
既出だったな スマソ
472:デフォルトの名無しさん
07/06/16 12:24:12
TemplateServletもーちとなんとかならんかね。
変数探す時勝手にrequestを探しに行ってくれたりとかnullの時は
何も表示しないように出来たりとかしてほしい。
473:デフォルトの名無しさん
07/06/19 21:35:00
勝手に探して出てきた変数使われたら怖すぎ
474:デフォルトの名無しさん
07/06/20 11:26:29
>>473
Velocityだのはそうなんだけどなあ
475:デフォルトの名無しさん
07/06/25 16:59:24
公式で公開されてる。1.0の正式リリースってJSR構文とjava likeなfor文使えないの?
@Property hoge
def foo as String
for( ; ; ){//bar}
って文。何かしらの実行時引数とかソース中にディレクティブ追加が必要?
476:デフォルトの名無しさん
07/06/27 01:24:58
>>473
JSPとかタグライブラリの立場は…
477:デフォルトの名無しさん
07/08/14 20:23:38
お前はすでに死んでいる・・・。
478:デフォルトの名無しさん
07/09/06 13:56:55
今頃なんだが、@Property は1.0でまたまた変更されてるんだね。
(GroovyBeans の宣言ということだが)
@Property の部分を、Object と型名宣言に単純に置換する、という
理解でいいのか?
479:デフォルトの名無しさん
07/09/07 15:47:45
groovyConsole の挙動はおかしいよね。
文法の形式が正しいかどうかだけをチェックしようと思って、
普通のクラス宣言なんかを通してみると、それだけでエラーを吐く。
(本家から拾ったサンプルコードさえ、エラーを吐いたりする)
なんでかなあと思ったら、
メインメソッドか、クラス外に必ず実行される文が println でも
なんでもいいからないと、ダメらしい。
おかげて、
println("これはテストコードです")
という一文をくっつけないと、文法の形式チェックもできない。
頭にきて、JRuby に乗り換えようと一瞬思ったが、
Javaとの親和性を考えて、もうちょっと踏みとどまろうと思う。
普通、意味ある実行文なんて1行もなくても、
形式チェックぐらいできるだろ。いちいちNetBeans立ち上げるのが
面倒なんだよ!
こんどなにかあったら、即、JRubyに行くからな!
(ていうか、しっかりしてくれよ、ホントにもう)
480:デフォルトの名無しさん
07/09/07 15:55:38
つーか、
NetBeans でやっても同じだったわw
いや、print文だけデフォで書いてあった。
ま、プリント文が一つあるだけでいいわけだが。
そういう仕様ということだった。なんつーか orz
481:デフォルトの名無しさん
07/09/07 23:59:03
Groovy in Action って翻訳出ないのかな
482:デフォルトの名無しさん
07/09/09 19:55:55
def printStr(str) {
println str
}
closure = printStr
closure("aaa")
closure("bbb")
予想していた実行結果:
aaa
bbb
このコードが撥ねられるというのは、おかしいよなー。
クロージャは変数に入れられなくなった? よく分からん…
483:デフォルトの名無しさん
07/09/09 20:00:40
>>482
よくしらんけど、printStrは括弧無しの呼び出しとはみなされないの?
484:デフォルトの名無しさん
07/09/09 20:49:40
>>483
いや、1.0以前は動いてたサンプルコードだと思ったんだが、
1.0でいろいろ変わっていて、クロージャだけじゃないけど、
動かないのが多いんだよ。
どうも、以下のような構文じゃないと、ダメになったみたい。
自分の勘違いでなければ、だけど。
// 例1
def printStr(str) {
println str
}
printStr("aaa")
printStr("bbb")
実行結果:
aaa
bbb
// 例2
def printStr(str) {
println str
}
closure = printStr("aaa")
実行結果:
aaa
485:デフォルトの名無しさん
07/09/09 21:56:36
1.0の挙動は所々ふしぎに思う部分もあるが言語仕様はどこにあるんだ?
486:デフォルトの名無しさん
07/09/09 22:30:54
>>485
そりゃ、やっぱりホームのドキュメントだとは思うんだが、
ホームのサンプルでもエラーを吐くこともあるし。
URLリンク(groovy.codehaus.org)
groovyConsole で、旧バージョンの構文を1.0での変更点を勘案しつつ、
実際動かしてみるしかないのでは?
(参考)Groovyクラシック・コードと、新構文の変更点チェックリスト
URLリンク(docs.codehaus.org)
ただ、@Propertyのところとか、信用ならん。
@Property に変えて、型宣言すればいいように思える。
487:デフォルトの名無しさん
07/09/13 13:04:46
Groovy は、Java言語そのもののもう一つの表記法とも言われているけど、
実際そんな感じだけども、
いわゆる Groovyっぽい書き方ということになると、
ちょっとJava的オブジェクト指向とは少し違う傾向があるよね。
java では、クラスでデータと関数を結びつける。
でもGroovy では、基本的考え方として、データと関数は分離する。
クラスでは、データのみ定義し、関数は別のところに持って、
クロージャなどで活用するっていうか。
いわゆる関数言語的な書き方に近いような気がする。
自分はまだまだ修行中なんだけど、なんだかすごく気にいっちゃった。
Java使う人間なら、絶対触ってみてほしいよ。
JRubv じゃ、ここまでスムーズにJava と連携できないと思うし、
いつか 風向きが Groovy に向くと思うんだけど。
488:デフォルトの名無しさん
07/09/19 23:59:23
しかしそれにつけてもGroovyは絶望的に遅すぎ。まずはそこからだ。
489:デフォルトの名無しさん
07/09/25 18:46:31
>>488
別にそんなに遅いとも思わないけどなー。
(そりゃ、JVMの起動時間はかかるけど)
だいいち、あまりに遅い部分があるなら、そこだけJava で書けばいいじゃん。
Groovy 使えてJava 分からんなどという人間がいるとも思えないが…
490:デフォルトの名無しさん
07/09/26 00:27:06
いやGroovyは遅いぞ。他のJava VM系言語色々試してみ。
groovyの強みが今のところjavaとの通信のシームレスさがズバ抜けている事しかない上に
更新は遅い、正式版出した割に挙動がちょっと怪しい、スクリプトのロードが面倒、
標準化されてる仕様(構文周り)が実装されてない。
と、トロトロやってるうちに他のJava VM系言語に追い抜かれてしまってる。
シームレスな通信の存在は大きいから使っていきたいけど上に挙げた問題から移行まではしてないな。
491:
07/09/26 00:59:57
グルグルグルグルグル グルービー
492:デフォルトの名無しさん
07/09/26 11:02:42
透過性を求めるんだったらpnutsもいいよ
実用的な速度でるし
493:デフォルトの名無しさん
07/09/26 13:29:40
ん。一番軽量高速ってイメージがあるね。>>pnuts
494:デフォルトの名無しさん
07/09/28 10:39:58
イメージかよ
495:デフォルトの名無しさん
07/09/28 15:29:25
じゃあJavaスクリプト系言語のベンチマーク取ってみるか。
どんなベンチがいいかな?
・起動時間(スクリプト起動前のtime - スクリプト頭のtime)
・終了時間(スクリプト尻のtime - スクリプト終了後のtime)
・インスタンス生成ループ
・メソッド/関数呼び出しループ
なんかおもいつかねえ。
あと、対象は?
- Rhino
- Groovy
- JRuby
- Jython
- JavaFX
- Pnuts
他なんかあるかな?
あ、あと、
- Java
今見たら、俺一番Groovy使ってないわ。
496:デフォルトの名無しさん
07/09/28 16:00:37
Rhinoはインタプリタモードとコンパイルモードの使い分けが難しいのとバージョンが上がる度に
密かに最適化がアグレッシブになり、インタプリタモードとコンパイルモードで最適化実装が
違うから単純にベンチマーク取れるもんじゃないよ。
あと、java6のRhinoはRhinoじゃないから。
497:デフォルトの名無しさん
07/09/28 17:11:27
そんな難しいのは、試行のバリエーションの一つ。
提供されたものを素直に動かしたらどうなるかのレベルでいいと思う。
498:デフォルトの名無しさん
07/09/28 17:19:04
>>495
URLリンク(shootout.alioth.debian.org)
でも移植してみたら。
RhinoとGroovyとJRubyは既にあるので他のを。
499:デフォルトの名無しさん
07/09/28 17:50:53
>>496のいいたいことを分かりやすく解説すると
「おれはRhinoに詳しいんだぜ」
500:デフォルトの名無しさん
07/09/28 19:09:51
あのなぁ、
ろくにGroovy 試してみたこともないような奴らは、来なくていいから。
ていうか、こないでくれ!!! うざい。
501:デフォルトの名無しさん
07/09/28 19:25:34
次スレからは、他のスクリプト系言語も受け入れるスレタイにしような・・・・
>>950 あたり、よろしく頼むよ・・・・
502:デフォルトの名無しさん
07/09/28 19:52:19
>>500
2chはそういうところなんで、オマエが来なければいいと思うよ
503:デフォルトの名無しさん
07/09/28 20:48:05
いいか、ここは Groovy のスレなんだ!
お前らは不要!!!
504:デフォルトの名無しさん
07/09/28 21:12:55
そういうのがイヤなら、勝手によそでwikiとか立てておけばいいと思うよ。
505:デフォルトの名無しさん
07/09/28 21:19:55
最近、Groovy以外の話題も多く
せっかくなのでスピンアウトしてみました。
【色々】Java系スクリプト言語【やってるよ】
スレリンク(tech板)
506:デフォルトの名無しさん
07/10/06 23:46:02
話題がないのも寂しいから、初歩のサンプル・コードをいくつか…
ファイル読み込みと画面表示 サンプル・コード
myFileName = "/tmp/sampleTextData.txt"
// sampleTextData.txt ファイルの入った tmp フォルダを
// C ドライブ直下に事前に置いておくこと。
// 注 "/fileName.txt" の形式は、C ドライブ直下
myFile = new File(myFileName)
printFileLine = { println "File line: " + it }
myFile.eachLine( printFileLine )
実行結果(ファイルの内容が表示される。
ただし、各行頭に File line: が付加されている)
507:デフォルトの名無しさん
07/10/06 23:51:55
初歩のサンプルコード ファイルへの書き込み
myFileName = "/tmp/sampleTextData.txt"
// C ドライブ直下に事前にtmp フォルダを作っておく。
// "/fileName.txt" の形式は、C ドライブ直下
myFile = new File(myFileName)
myFile.write("これは groovy による書き込みテストです")
実行結果
事前に用意してあったC ドライブ直下の tmp フォルダ (つまり C:\tmp)内に
sampleTextData.txt が生成され、 これは groovy による書き込みテストです と
書き込まれている。
508:デフォルトの名無しさん
07/10/07 18:32:19
>>491
サンビーム乙
509:デフォルトの名無しさん
07/10/23 21:10:52
URLリンク(yher2.blogspot.com)
に、各スクリプト言語のベンチマークがあった。
(2006年後半時点でのことだが)
Javaとの実行時間比は:
groovy: 約5.5〜500倍
rhino: 約1.5〜50倍
jython: 約2〜150倍
jruby: 約20〜6000倍
となる。
Groovy はJava からみればかなり遅いが、
それでも本家より速いと評判のJruby よりは
かなり速いわけだなぁ。
あと、個人的にはようやく1.0の文法がほぼ分かった。
うまく使いこなせるようになりたい。
1.1は11月中旬に登場だそうだが、楽しみだ。
510:デフォルトの名無しさん
07/10/24 07:13:33
Rubyの本家ってどんだけ(ry
511:デフォルトの名無しさん
07/10/24 17:49:26
2006年後半時点ではまだ本家より速く無かったよ
今だってオプションやらを付けなきゃ本家より遅いはず
512:デフォルトの名無しさん
07/10/25 02:27:55
macじゃどうかしらないけどlinuxだとrubyはthreadが有効だと
なんかポーリングか何かが多発して恐ろしく遅くなるんだよな。
これはvmのデザイン上の問題?それともシステムライブラリ回りと相性悪いのか。
513:デフォルトの名無しさん
07/10/25 14:42:39
まあ、Ruby のスピードの話はともかくとして、
Groovy は実は他のスクリプトと同等程度のスピードは持っている
のに、とかく度外れて遅い呼ばわりされてしまうのは、
やっぱりJVM の起動時間なんでしょうねぇ。
SE7 ではHD上にJVM のキャッシュなどを持つことによって、
起動時間が速くなるとされてます。
あと、来月半ば登場のGroovy1.1ではなんでも2割程度スピードアップ
されているような記事を見たと思います。
まあ、個人的には自分のマシンを最新の Core2Duo にする方が先だろ、
というのはありますけど。まだCeleron なんですよー orz
514:デフォルトの名無しさん
07/10/25 21:34:26
全てのJVM系スクリプト言語の期待の星は
Java Quick Starter
515:デフォルトの名無しさん
07/10/29 18:12:25
pnutsでwebアプリのプロトを作ろうと試みたが、本家でダウンロードできる
pnuts-examples.zip(pnutswiki)をtomcatで実行できますか?
pnutsは最新1.2.1, jdk1.5, tomcat5.1の環境で試みているのだが。
一見ドキュメントが整備されているように見えるが、何かやろうとすると、
全然足りない。
516:デフォルトの名無しさん
07/10/30 15:47:51
ここには pnuts 分かる人はほとんどいないんじゃない?
自分もそうだが、Groovy だけで手一杯だし。
yahoo の pnuts のグループの方が戸松さんも見てるみたいだし、
なにか返事があるかも。
URLリンク(groups.yahoo.co.jp)
517:デフォルトの名無しさん
07/10/30 17:55:59
Problem with Javascript engine.
URLリンク(osdir.com)
バイバイ哀愁でいとー - 回転と脱線
URLリンク(d.hatena.ne.jp)
開発者がじぶんで使う小物ツールからあわよくばテスティング
フレームワークみたいなの作れてハッピーだよね、みたいな
かんじだけど具体的な導入事例みたいなのが見えて来ない…
結局のところ人海戦術で潰してくしかないような。>>UI周りのバグ
518:デフォルトの名無しさん
07/10/30 18:42:38
>>516 レスありがとうございます。
yohooの方はあんまりな寂れ具合にビビリました。ので、メイルでもしてみようかと思います。
ただ、本当に普及させようという感じに思えないので、pnutsを選択すること
について、再考の余地ありかと思いました。
519:デフォルトの名無しさん
07/10/30 20:27:58
>>518
もし、サーブレットを操りたいということでしたら、
Java 王道のJSP じゃダメですか?
JSP もいちおうスクリプトですし、ここは王道に従っても、
スクリプト言語のメリットは受けられるように思いますが。
520:デフォルトの名無しさん
07/10/30 20:32:56
そもそも何でまたよりによって、pnutsなんだ
521:デフォルトの名無しさん
07/10/30 21:22:15
>>519
JSPはあくまでJavaであり、スクリプト言語にあらず。
Java風スクリプト言語であるPnutsやGroovyとは違う。
触ってみれば違いが分かるよ。
ところでJava以外の言語でJSPとかできないんだろうか。
<%@page language="Java" %>以外を指定できるコンテナないのかね。
522:デフォルトの名無しさん
07/10/30 21:52:27
>>521
GSP ってのはダメなん?
おなじみ、実用的なGroovy の記事だけど、
URLリンク(www.ibm.com)
その記事で見るかぎり、
GSP はまるきりJSP のように見える…
523:デフォルトの名無しさん
07/10/31 00:28:17
なんちゅうか、CGI のノリで、下みたいな感じでやったらダメ?
def text = """\
<html>
<head>
<title>My Simple Groovlet</title>
</head>
<body>
<h1>My Simple Groovlet</h1>
<p>Today is ${new java.util.Date()}.</p>
</body>
</html>
"""
println(text)
524:523 の補足
07/10/31 01:02:55
もし、>>523 をコピペして、
テキストがプリントされずエラーが出たら、1行目の\ の後ろに
スペースが入っているからだから、取り除いて。
それでエラーは出ないはず。と思うけど。
これは、
URLリンク(kakutani.com)
にあったGroovlet のサンプル
out.println <<<EOS
<html>
<head>
<title>My Simple Groovlet</title>
</head>
<body>
<h1>My Simple Groovlet</h1>
<p>Today is ${new java.util.Date()}.</p>
</body>
</html>
EOS
が手元のGroovy1.0 では実行するとエラーになるから、
僕が勝手に上のように書き換えたものだよ。
(このままでは 1.0ではダメなのかな? よく分からない)
GSP は要するにテンプレだから、別につかわなくったっていいんでしょ?
昔、perl でみんなこんな感じでCGI 書いてたじゃん。
525:デフォルトの名無しさん
07/10/31 12:07:02
それだと、forとかifとか制御構文を入れだしたら、Perlのような世界が待ってるな。
今更戻りたくない。
526:デフォルトの名無しさん
07/10/31 12:53:39
>>525
そこで、VIEW をまかせるためのGSP のご登場ということなのかな。
Groovy 本家HPには、
URLリンク(groovy.codehaus.org)
のようなサンプルがあるが。
で、これがプロジェクトのHP のようだが
URLリンク(gsp.dev.java.net)
あと、参考になりそうなのは、
実用的なGroovy: Groovyでサーバー側に対応する
URLリンク(www.ibm.com)
角谷氏のHP のGroovlet の項目かな(web.xml の設定も)
URLリンク(kakutani.com)
あと、意外なところでは Grails のHP にも GSP の解説がある。
URLリンク(grails.codehaus.org)
GSP タグ リファレンス
URLリンク(grails.codehaus.org)
しかし、Grails 独自の拡張をしてあるようにも思えるが、どうだろう?
自分としては、Groovy にはJava にはないヒアドキュメントの機能があるので、
テンプレート機能は使わなくてもかなりのことがやれると思う。
527:デフォルトの名無しさん
07/11/03 15:21:58
Servlet の件だけれどさ、やっぱり、
最初に無理やりスクリプトにこだわるより、
はじめだけでも Java 王道からやった方が、結局は楽と思う。
NetBeans による Web アプリケーション開発入門 というのが、
URLリンク(www.netbeans.org)
にある。
これがもっともシンプルに Web アプリを生成する方法だと思う。
少なくとも、初心者にとって。
(Eclipse だと ビルドに 標準的な ant だけではないものを使っている
とか、Tomcat をバンドルしてないとか、いろいろ面倒がある)
まず、これを押さえてから、これをベースにして
他の手法を(Groovlet であれなんであれ)やった方がいい。
でないと、初心者の場合、最初に動かすまでにつまづいてしまって、
先へ進めないと思う。
528:デフォルトの名無しさん
07/11/03 15:40:54
別に、初心者がPnutsなりGroovyなりでWebアプリ作るための手段を話しているわけではない。
529:デフォルトの名無しさん
07/11/03 16:28:06
そうでないとすると、
俺にはなんでそこまでスクリプトにこだわるのか、
まるっきり理解できないよ。
Java 本体でやるほうが楽なところはJava でやればいいんだし、
もちろん、(JVM上の)スクリプトで楽なところはそれでやればいい。
(とくに、Groovy ではクロージャがあるので、場合によっては
たしかに使う意味があると思うが)
両者の組み合わせは自在だし、なにがなんでもスクリプトでという
その執念の理由が分からないな…
自分も pnuts は多少使うことを検討したこともあるが、
oop すら満足にサポートしてなさそうで、敬遠した…。
530:デフォルトの名無しさん
07/11/03 16:47:22
なぜなら、そこに言語があるからだ。
531:デフォルトの名無しさん
07/11/03 20:51:41
>>530
それ、ツマンネ
532:デフォルトの名無しさん
07/11/04 13:47:04
まあ、とにかく servlet の知識がなければ、なにも始まらない
わけだからさ。
(Groovlet は下のように servlet のサブクラスなんだからね)
java.lang.Object
- javax.servlet.GenericServlet
-- javax.servlet.http.HttpServlet
--- groovy.servlet.AbstractHttpServlet
---- groovy.servlet.GroovyServlet
web.xml の設定の仕方ひとつとっても、なにがなんだか分からないでしょ。
servlet 知らないと。
533:デフォルトの名無しさん
07/11/10 16:25:28
GSPって日本語扱うと化けない?
どこにも設定できる場所が見あたらないんだけど.
ちなみに今作ってるのはjetty+groovy+hsqldbで,
パッケージングされたスタンドアロンな掲示板システム.
何の役に立つかは秘密.
534:デフォルトの名無しさん
07/11/16 01:09:01
1.1正式版、まだかよー。
535:デフォルトの名無しさん
07/11/27 07:49:53
Groovyまた最近盛り上がってきた?
536:デフォルトの名無しさん
07/11/27 12:18:09
つーか、JVM系スクリプト言語、
たくさんあり過ぎてどうすりゃいいか分かんない状態。
腰が定まらないw
537:デフォルトの名無しさん
07/11/27 20:16:03
結論
素のJava最強
538:デフォルトの名無しさん
07/11/29 10:55:35
>>536
俺は当時のことは知らないけど、
70年代にLispの上に言語開発するのが流行ったけど、
あれに似た状況になっているな。
539:デフォルトの名無しさん
07/12/07 19:52:53
1.1正式版、待ちくたびれたー
540:デフォルトの名無しさん
07/12/09 21:14:10
なにやら、いきなり1.5 になったんでない?
ウチはまだインストールしてないけど、インストールした人いる?
541:デフォルトの名無しさん
07/12/10 23:54:07
使ってみたけどシェルの起動が遅くなった気がする。
ところでgroovyってスクリプトをロードする関数無いの?
Rhinoで言うload()関数みたいな。
542:デフォルトの名無しさん
07/12/11 00:17:55
Rhino を知らないからよく分からないが、
下は参考にならないかね?
実用的なGroovy: JavaアプリケーションにGroovyを混ぜ込む
URLリンク(www.ibm.com)
あと、シェルの起動が遅いって、groovyConsole のこと?
あれは、使わなきゃいいんじゃない?
cドライブ直下に、myProgram.groovy というファイルでも
置いておいて、そこにプログラムを毎度書くことにしておいて、
コマンドプロンプトで
cd c:\
groovy myProgram.groovy
と打つと決めてしまえば、groovyConsole は使わなくてすむよ。
あとは、cドライブ直下の myProgram.groovy のショートカットを
デスクトップにでも置いておけば楽チンかと。
ていうのは、ダメかい? 起動はすごく早くなるけどね。
543:デフォルトの名無しさん
07/12/11 00:32:43
読んでみたけど一度groovycでコンパイルして吐いたクラスファイルをimportしなきゃだめなの?
544:デフォルトの名無しさん
07/12/11 00:44:26
>>543
そのページにある GroovyScriptEngine ていうのじゃダメ?
(クラスにする必要はないはずだが。自分はライトなユーザーなんで、
よう知らんけどw)
それ以上のことは、パワーユーザーの方、よろ。
545:デフォルトの名無しさん
07/12/11 00:53:14
これはビルドインなクラスをインポートする例でしょ?
ユーザー定義のクラスを読み込むにはざっと見た感じ、一度クラスファイル吐くみたいだけど・・・。
クラスファイル吐かないでロードやインクルードの類が出来ないかなって事なんだけど。
546:デフォルトの名無しさん
07/12/11 01:04:58
ちがうか、スクリプトエンジン自体をgroovyから生成してコンテキストにバインドしてソースファイル読み込んでるのか。
普通にインクルードしたいだけなのになんでこんなに謎だらけなんだw
547:デフォルトの名無しさん
07/12/11 01:06:48
だけど、そこには
>直接コンパイルによってGroovyスクリプトをJavaプログラムに取り込む方法の他に、スクリプト自体を埋め込む方法に関しても、幾つかの選択肢がある
って、はっきり書いてあるやん。
俺自身は、スクリプトとして使うことしか興味ないんで、
いままでJavaとの連携をやったことはないが。
(Java はJava、Groovy はGroovy という使い方しかしてこなかったなぁ)
548:デフォルトの名無しさん
07/12/11 01:13:38
たぶん、いろんなJVMスクリプトをいろいろ混ぜ込ませるなら、
Bean Scripting Framework を使うと決めてしまうのが、
混乱すくなくてよさそうな気がする。
いや、なんとなくだけど
549:デフォルトの名無しさん
07/12/11 15:22:56
".groovy" という拡張子でファイルをおけば それを import で取り込めるけどそういうことではない?
550:デフォルトの名無しさん
07/12/11 16:18:12
>>549
そのやり方で、Java から自分の書いたGroovy スクリプトを
実行できたっけ?
groovyShell か groovyScriptEngine (スペルあってるかな)を
通す必要があるんじゃない???
551:デフォルトの名無しさん
07/12/11 16:18:46
まさにそれなんだけどどうやってやるの?
552:デフォルトの名無しさん
07/12/11 16:35:22
ああ、>>549宛てね。
import <ファイル名>;
import <パッケージ名>;
import <完全修飾クラス名>;
で試してもエラー出るんだけど。
553:デフォルトの名無しさん
07/12/11 19:06:58
$ cat Hello.groovy
public class Hello {
public void sayHello() {
println "Hello!"
}
}
$ cat main.groovy
import Hello
def hello = new Hello()
hello.sayHello()
$ groovy main.groovy
Hello!
$
554:デフォルトの名無しさん
07/12/11 19:39:21
ああ、パッケージ名付けたらダメなのか。
555:デフォルトの名無しさん
07/12/11 19:59:27
パッケージをつける場合はパッケージと同じディレクトリ階層を作って
そこにファイルを置くみたいだね
556:デフォルトの名無しさん
07/12/11 20:39:05
そこだけjavaと同じなのか。ややこしい。
557:デフォルトの名無しさん
07/12/12 10:59:46
「だけ」ってことはないだろ
558:デフォルトの名無しさん
07/12/12 16:03:53
groovy 同士のやり取りの話もいいが、
Java 上でのgroovy スクリプトを動作させる件だが、groovy1.5 で確認したが、
GroovyShell とGroovyScriptEngine とも、旧バージョンと代わりなく動作したよ。
以下、NetBeans 5.5で確認した例ね。
// Cドライブ直下の groovyScripts フォルダに myProgram.groovy ファイルと
// myProgram2.groovy ファイル置き、適当なテスト用スクリプトを書いておいた。
// なお、ツールメニューのオプション・コマンドで groovy Home を指定するとともに、
// ツール・メニューのライブラリマネージャーから、groovyLib の名で
// groovyフォルダ内の全jarファイルを取り込んでおく。
// (あ、もちろんcoyote プラグインは入っている URLリンク(groovy.codehaus.org) )
import java.io.File;
import groovy.lang.Binding;
import groovy.util.GroovyScriptEngine;
public class ScriptEngineEmbedGroovy {
public static void main(String args[]) throws Throwable{
String[] paths = {"C:\\groovyScripts"};
GroovyScriptEngine gse = new GroovyScriptEngine(paths);
Binding binding = new Binding();
Object[] path = {""};
binding.setVariable("args",path);
// groovyプログラムへ与えるターゲットファイルの指定
gse.run("myProgram.groovy", binding);
gse.run("myProgram2.groovy", binding);
}
}
// 以上を実行すると、Java上で myProgram.groovy と myProgram2.groovy が実行される
559:558
07/12/12 16:14:09
上の補足ね。
Object[] path = {""};
binding.setVariable("args",path);
// groovyプログラムへ与えるターゲットファイルの指定
がひとまとまりね。
ターゲットファイルがないので、
Object[] path = {""};
と、なにも指定していない。
560:デフォルトの名無しさん
07/12/12 17:12:05
まだ無名クラスがサポートされてないんだな。
561:デフォルトの名無しさん
07/12/13 15:28:23
そもそも、クロージャがあるのに無名クラスなんているのか?
基本的に、クラスだってJavaとは違う使い方が想定されているし。
(Java のようにも使えるが)
クラスではプロパティーのみを定めて、メソッドは外に追い出し
それはクロージャで追加的に組み合わせて、あちこちで流用するという
ようなそんな感じなんじゃないか?
Java のように使うつもりなら、Java でやればいいんだし、
groovy使う意味がない。まー、自由に行き来できるんだから、
好きなように組み合わせればいいわけだが。
562:デフォルトの名無しさん
07/12/13 16:06:33
こういうコードの場合無名クラスが欲しくなる。
groovy
URLリンク(sourcepost.sytes.net)
js
URLリンク(sourcepost.sytes.net)
563:561
07/12/14 20:50:16
>>562
ああ、GUI の扱いね。そんなこともあるのかな。
自分の場合は、Swing はNetBeans の GUIビルダで組んで、
groovyと組み合わせようかと考えてた。
groovy でのSwing は情報少なくて大変そうな気がするが、
そうでもないのかなぁ。
564:デフォルトの名無しさん
08/01/14 22:19:26
>>562
リスナーなんぞ使わずに直接ぶち込むんだ!
window.windowClosed = { System.exit(0) }
window.windowClosing = { window.setVisible(false); window.dispose() }
1.0betaの頃に、ドキュメントが間違っているのか、実装が間違っているのか、俺が間違っているのか分からず
ちょっと触っただけで離れてしまったけど、1.5はなかなか良さそうだな。
今こそが始め時な気がする。
565:デフォルトの名無しさん
08/01/22 21:32:31
プリミティブな配列の宣言ってどうするの?
JOGLのデモソース移植しようとしたら
プリミティブ型とラッパークラスのオートアンボクシングが行われなくて例外でるんだけど・・・。
566:デフォルトの名無しさん
08/02/11 17:44:51
さて、俺が興味を示しましたよ
567:デフォルトの名無しさん
08/02/15 21:10:09
anarchy golfに追加されたよ
568:デフォルトの名無しさん
08/02/15 21:15:23
マジかw
569:デフォルトの名無しさん
08/02/15 21:43:28
あなごるスレでつぶやいたら速攻追加されたw
早速トライしてみるがいきなり2でつまづきそう。25byteでできるのか。。。
570:デフォルトの名無しさん
08/02/15 23:58:18
echoの30byteはたぶん
System.in.eachLine{println it}
25byteはどう書いたんだろう。
571:デフォルトの名無しさん
08/02/16 05:15:32
あそこは答さえ合えばなんでもありなので
572:デフォルトの名無しさん
08/02/20 19:13:02
とある理由によりGroovyに触れる機会がありそうなんだが、微妙っぽいな
やっぱりJVM上はJava以外ありえんな
573:デフォルトの名無しさん
08/02/21 22:11:36
Scalaはいいぞ〜
574:デフォルトの名無しさん
08/02/26 19:32:26
だめか
println System.in.text
575:デフォルトの名無しさん
08/02/27 23:10:20
lnはいらん
print System.in.text
System.out<<System.in
576:デフォルトの名無しさん
08/03/10 02:00:43
grailsのdomainのpojo書くだけで勝手にDBのスキーマまで作ってくれるのと、
サービスのメソッドが何の宣言しなくてもトランザクションになってるのは
黒魔術っぽくて好き
運用中のgrailsアプリで、domainのフィールド何気に削ってセーブしたら、
DBの方まで削られてエライ目にあったけどw
577:デフォルトの名無しさん
08/03/10 02:12:05
連載めい☆みくTV
URLリンク(zoomtv.atspace.com)
連載めい☆みくTV4
URLリンク(zoomtv.atspace.com)
578:デフォルトの名無しさん
08/03/16 21:02:01
Groovy/GrailsのMLを作成されました。
URLリンク(groups.yahoo.co.jp)
興味がある方はご参画ください。
579:デフォルトの名無しさん
08/03/31 02:14:50
grails動かしながらコンパイルが通らないdomain書くと、
セーブした瞬間に
buildexceptionでgrailsごと止まるのはどうにかならんのか。
ソース書いてる途中でC-x C-sする癖があるので知らん間に落ちてる。
いちいちgrails run-appするのうざったい。
580:デフォルトの名無しさん
08/03/31 20:57:25
>>578
日本語でおk
581:デフォルトの名無しさん
08/04/16 00:27:18
Groovy 1.5.5 出ました
582:デフォルトの名無しさん
08/04/18 00:26:07
yieldマダー?
583:デフォルトの名無しさん
08/05/07 23:38:38
Groovy は getopts みたいな
コマンドライン引数解析を楽にするものは付いてないんですかね
Commons CLI 使えってのは無しで
584:デフォルトの名無しさん
08/05/07 23:48:00
>>583 ですけど Commons CLI が
Groovy の配布物の中に含まれてるからそのまま使えるんですね
スレ汚し失礼しました
585:あぼーん
あぼーん
あぼーん
586:39s
08/06/18 20:15:22
39s
587:あぼーん
あぼーん
あぼーん
588:あぼーん
あぼーん
あぼーん
589:あぼーん
あぼーん
あぼーん
590:デフォルトの名無しさん
08/07/09 22:05:15
WinGroovy
591:デフォルトの名無しさん
08/07/11 19:34:42
ちょいおれの Groovy の使い方の妄想をと聞いてくれよ、
まだためしてないんだけどな。
・bash や perl などのスクリプト言語の代替ではなく、
・Java で繰り返し書くような"たいくつな"コードを Groovy にできないか、というアプローチを目指す
1.たとえば JUnit のテストクラスはある意味使い捨てなわけで、ここらへんを Groovy でぬるく書けないか
2.Struts + Spring + ORM なんかのときに、Spring と DAO クラスは Java で書き、
Action クラス内の
HogeForm form = (HogeForm) form;
String zaikoNo = form.getZaikoNo();
List<Zaiko> zaikoList = zaikoService.findList(zaikoNo);
if (zaikList.size() == 0) {
// 画面A へ
} else {
// 画面B へ
}
といった、単なる比較や分岐のようなところは Groovy にできないか?
あと、この方のblogをたまにみている。
URLリンク(d.hatena.ne.jp)
ant builder って使ったことある人いる?
592:デフォルトの名無しさん
08/07/12 00:54:43
■■■□■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■□■■■■□■■■■□■■■■■■■■■■□■■■■■■
■■■□□□□■■□■■■□■■□□□□□■■■□■■■■■■
■■■□■■□■■□■■■□■■■■■■□■■■□■■■■■■
■■□■■■□■■■■■□■■■■■■□■■■■□■■■■■■
■■□■■■□■■■■■□■■■■■■□■■■■□■■■□■■
■■■■■■□■■■■■□■■■■■□■■■■■□■■■□■■
■■■■■□■■■■■□■■■■■■□□■■■■□■■□■■■
■■■■■□■■■■■□■■■■■□■■□■■■□■■□■■■
■■■■□■■■■■□■■■■■□■■■■□■■□■□■■■■
■■■□■■■■■□■■■■■□■■■■■■■■□□■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■□□□□□■■■□□□□□■■■■■□■■□■■□■■■□■
■□■■■□■■■□■■■□■■■■□■□■■□■□■■□■■
■□□□□□■■■□□□□□■■■□■■■□■■■□■■■■■
■□■■■□■■■□■■■□■■■□□□□■■□□□□□□■■
■□□□□□■■■□□□□□■■■■■□■■■□■■■■□■■
■□■■■■■■■■■■■□■■■■■□■■■□□□□□□■■
■□■■■■■■□■■■■□■■■□□□□□■□■■■■□■■
■□■■□□□□□□□■■□■■■■■□■■■□□□□□□■■
■□■■■■■■□■■■■□■■■□■□■□■□■■■■□■■
■□■■■■■□□■■■■□■■■□■□■□■□■■■■□■■
■□■■■■□■□■■■■□■■■□■□■■■□□□□□□■■
■□■■□□■■□■■■■□■■■■■□□□■■□■■□■■■
■□■■■■■□□■■■□□■■■□□□■■□□■■■■□□■
593:デフォルトの名無しさん
08/07/16 01:57:05
BuilderSupportを使って、自分のツリー構造のオブジェクトを作ってみたいんだけど、
どうやって作ればよいかよくわからない。
594:デフォルトの名無しさん
08/08/24 21:50:08
>>593
既存のビルダー、特にSwingBuilderのソース読んで勉強すると良いと思う
大して難しく無いよ。
595:デフォルトの名無しさん
08/09/20 17:18:35
Groovyイン・アクション
URLリンク(book.mycom.co.jp)
9/27 発売らしい。
596:デフォルトの名無しさん
08/09/21 19:06:46
>Groovyイン・アクション
ガンダムのフィギュアかと思ったw
597:デフォルトの名無しさん
08/09/21 22:28:20
てめぇイン・アクションシリーズをディスったな!
先月はこれも出たし、Groovy/Grailsの本が増えてきていい感じ。
URLリンク(www.amazon.co.jp)
後はIDEだな…Eclipseのはイマイチだし、ここはNetBeansに期待か。
598:使い捨て取締役 ◆QLzND0Vw6o
08/09/27 16:48:01
Grailsは1.0.3で安定したっぽいな
599:デフォルトの名無しさん
08/10/13 19:20:45
GrailsのGSPでなにかのパラメータ付けるとデバッグモードになり
エラーのsrc箇所がわかるってやつなかったっけ?
確かerror_with_srcみたいな感じのパラメータ。。。
600:デフォルトの名無しさん
08/10/24 22:38:48
あったけど、なんだっけ??
urlの後ろにつけるやつだよね。
601:初心者
08/11/09 17:13:21
C/C++で作成された関数をGroovyから呼び出せるのでしょうか?
pythonなら簡単にできましたけど。
602:デフォルトの名無しさん
08/11/09 23:47:03
swigでラッパ作ってJNI経由になるが、一応可能。
603:デフォルトの名無しさん
08/11/14 00:49:21
Spring、Groovy、Grails 1企業の旗本へ、SpringSource買収発表
URLリンク(journal.mycom.co.jp)
604:デフォルトの名無しさん
08/11/15 09:20:16
Grails 1.0.4でた
605:使い捨て取締役 ◆QLzND0Vw6o
08/12/14 18:10:56
日本語解説本は出版されないのかな
606:デフォルトの名無しさん
08/12/14 21:22:12
>>605
Groovyイン・アクション
URLリンク(www.amazon.co.jp)
Grails徹底入門
URLリンク(www.amazon.co.jp)
607:デフォルトの名無しさん
08/12/15 02:12:45 BE:871719438-2BP(22)
韓国がサーバー攻撃してきたっぽい
vipperが凸したんだけど韓国以外のIPがはじかれて困ってんだけどなんか良い手ない?
串とかはもう試したけど田代しか無理だからあまり効果がなくってね
ここが現行スレ
スレリンク(news4vip板)
608:デフォルトの名無しさん
08/12/24 04:35:27
Grails1.1 beta2 出た。
URLリンク(grails.org)
609:デフォルトの名無しさん
08/12/24 14:51:49
Groovy 1.6 RC1でた
610:デフォルトの名無しさん
09/01/31 02:48:54
Grails 1.1 beta 3 出た
611:デフォルトの名無しさん
09/02/10 04:51:23
Groovy 1.6 RC3 出た
612:デフォルトの名無しさん
09/02/11 04:34:05
流行ってねーな
613:デフォルトの名無しさん
09/02/20 18:28:23
1.6 age
614:デフォルトの名無しさん
09/02/24 17:09:29
Manymoon : To Do List and Project Management App Built on Grails
URLリンク(www.manymoon.com)
615:デフォルトの名無しさん
09/03/05 12:52:00
Groovy Update: 1.6 Released
URLリンク(www.springsource.org)
というか、Spring 流行ら…
>This 4-day course is offered at a price of AU2,995
四日で講習東京開催15-20万…
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5344日前に更新/146 KB
担当:undef