grails

Screencast: Grails And Git QuickCast

http://www.grails.org/screencast/show/10 G2One時代からあったんだけど,登場してすぐSpringSourceに買収されてしばらく行方不明だったScreencastが復活したみたい。一通り見たけど,昔見たのとちょっと変わった感じがしてる(ロゴとかSpringSourceになっ…

便利かどうかわからないが Grails1.2M2のドキュメント生成を試してみた

...いや,これから便利になるんだろう。 Grails1.2M2からGrails User Guideと同じドキュメントエンジンがユーザプロジェクトでも使えるようになるというので試してみた。まだ正式版じゃないので,微妙なところもあるけれど,これはちょっと面白い。 1.2M2の…

GORMのwithCriteriaの残念感

実際の所,ダイナミックファインダ(findByXxx系)はあまり使わず(使えず?),withCriteriaによる検索を行うことが多いのです。例えば,ダイナミックファインダは逆順(order desc)が出来ないとか,そんな簡単な理由で使いどころが限定されるのだ。 この…

GORMのMany-to-Manyをちょっと侮っていた...かも知れない

例のついったクローンで「お友だち/フォローされてる」を実装しようとしたときに,つまずいたというかGORMをよくわかってなくてベタな実装したかなって話を整理しておく。 やりたいことは,ある特定の人をピックアップして, その人をお友達登録している人…

PrettyTime

http://ocpsoft.com/prettytime/ (via http://www.transentia.com.au/flatpress/index.php/2009/06/19/using-prettytime-with-groovy/) Twitterみたく基準日から差で日時を表すJavaのライブラリ("n分前"とかいうアレ)。ライセンスはLGPL3 ちょうど使い道が…

Groovy/Grailsの地味に良いところ

当たり前すぎてついつい忘れがちなので,備忘録も兼ねて明記しとこ。 インストール簡単! JDKさえインストールできれば,ほぼ成功が約束されたようなもの。経験上,JDKのインストールはWindowsでもOSXでもLinuxでもSolarisでも困ったことがない。そもそも,W…

GORM-JPA

http://grails.org/plugin/gorm-jpaおおっスゴイ。もう出た。いろいろ制約もあるけど,これでGAE/JでもGORM使える道ができたワケだ。 #Criteria系が使えないのは仕方ないけど,かわりにexecuteQueryでJPQL書くんだろうか? 今すぐGAE/Jでどうこうってことは…

次の理由でGrailsはオススメしない

一通りGrailsを使ってみて,ほぼ確信に近い手応えを感じたので,一応書いとく。まったくもって余計なお世話様なのは百も承知。 Grails使っちゃダメ,ゼッタイ って,主にJavaでEclipse使った開発に慣れているチーム向けの話ね。:-) その理由はこんなの。 Ecl…

GrailsをサポートするIDEは,こいつを実装してくんなきゃ泣いてやる

NetBeansのGroovy/Grailsサポートは相当デキが良いと思うデス。IntelliJもGORMのER図書いたり相当スゴイことしてくれる。 → Features - IntelliJ IDEA でも,GORMのER図が見えたり,コード補完ガンバってる事より何よりも便利だったのが,これ。導入している…

タグライブラリの変態っぷりに茶ぁ吹いた(ほめてる)

feedsプラグインを使ってて発見したのだが,まずはこのコントローラのコードを見て欲しい。 def feeds = { render(feedType:"rss", feedVersion:"2.0") { title = "My test feed" link = g.createLink(controller:"blog", absolute: true) Blog.list().each(…

テストまわりで残念なことがあるけど,Grailsはやればできる子

Grailsのテストについて,いくつかまとめておく。Grailsが標準で用意しているテスト環境は単体テスト(unit test)と結合テスト(integration test)の2つあって,それぞれこんな違いがある。 単体テスト(unit test) コンテナ外テストなので,幾つか制約…

ひとりPMS

Grailsネタに入る前に支援環境まわりを。ひとりプロジェクトだし,ゆるっとやるとはいえPMS的なにかはいるだろうと思い,試しにd3使ってみた。 #PMS=Project Management System えっと,これはTiddlyWiki(というかGTD TiddlyWiki)の派生ものらしく,Todo…

おすすめのネタもと

とりあえず,Grailsやるのに押さえておいた方がいい情報のソースを列挙しとこう。 Webサイト 本家のリファレンス → http://grails.org/doc/1.1/ なんだかんだで一番役に立つ Groovy GDKリファレンス → http://groovy.codehaus.org/groovy-jdk/ String#toInte…

ついったモドキをつくってみた

会社のプログラミングコンテストの課題がTwitterクローンだったので,Grailsの習作にちょうどよいと思って応募してみたんだが,応募締め切りが今月末なのにもうできちゃった。:-) 多分,実稼働時間で40時間かかってないんじゃないかな?もともと「サクっと」…

Grails AppEngine プラグインの日本語ドキュメント

これはスゴイ。スクリーンキャストに字幕が入っとる! → http://grails.jp/wiki/display/app-engine (via Grails AppEngineプラグインのドキュメント(日本語版) - Groovyラボ) さしあたってGAE/Jでやりたい事は無いんだけど,GrailsがGrailsのまま使える…

GAE/JにGrailsアプリをデプロイしてみた

イヤ,ホントはデプロイしただけでアプリは作ってない。ただWindowsでファイアウォール内でデプロイしてみたんで,一応手順を残す。 #もっと実用的なお話はこちらを参照したようがいいよっ。 #→ Grails on GAE/Jを試してみた - uehaj's blog ■実行環境 JDK…

Grails 1.1 Release

Grails 1.1出たよ。これを契機にもう v1.0.x系は忘れ去ってしまおう。 と言ってみたもののGrails使う用事も無いんだけどナー。 ついでにGriffon 0.1.0も出たよ。 願わくば,早くJetGroovyもGroovy1.6/Grails1.1に対応してほしいもんだ。 ps. Grails,お手軽…

Conditional display of text in GSP file in Grails - Messages from mrhaki

GSP上で実行モード別のコードを記述する方法。ifタグでできるそうな。 <g:if env="production"> ...JS code for Google Analytics... </g:if> ちょっと覚えておくといいかもダ。ちなみに,ControllerやScriptなどのロジック中は,GrailsUtil.getEnvironment()とかisDevelopmentEnv()を使う…

Scaffoldの登録・編集画面に表示させたくない項目の指定

たとえば作成日時と更新日時を自動で設定してくれるdateCreated, lastUpdated属性を登録画面(create.gsp)や編集画面(edit.gsp)に出したくない場合,display:falseを constraints に指定する。 (Dynamic Scaffoldしか試してないけど)Scaffoldするとこんな感…

GORMでjoin fetchをやってみる

さっきの例でBlogController.listを実行すると,こんなSQL(HQL?)が実行される。 Hibernate: select top ? this_.id as id0_0_, this_.version as version0_0_, this_.body as body0_0_, this_.title as title0_0_, this_.uploaded_file_id as uploaded5_0_0_…

アップロードしたファイルをDBに格納してみる

えー,バカのひとつ覚えで「アップロードしたファイルはディスクのどっかに置いとけ」っての信じてきたんだけど,運用が楽じゃない。Grailsとは言え,のちのちWARで配布とか考えると「カレントディレクトリってどこやん?」ってとこから考え込むハメになる。…

楽観的ロックをためす

GORMのドメインはほっといてもversion属性が付いて,save(flush:true)で楽観的ロックをやってくれる。 → http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html#5.3.5%20Pessimistic%20and%20Optimistic%20Locking 実際に試…

DynamicJasperプラグインでExcelファイルを生成してみた

DynamicJasperについては,InfoQのこの記事を参照してくれ。 →JavaおよびGrails向けの動的レポート超簡単に説明するよ。以下のコマンド叩いてプラグインをインストールする。 grails install-plugin dynamic-jasperこんな感じのドメインクラス作って,末尾に…

Excelファイルのダウンロードためしてみた

といっても実際に.xlsファイルを生成するのではなく,HTMLを無理矢理Excelで開かせるという古典的やり方。元ネタは「Groovy Recipes(asin:0978739299)」より。 type1がGroovy Recipesから引用したもの。GrailsはUTF-8だけど,ExcelはShift_JISを期待している…

Easy Grails with IntelliJ IDEA - 3. Dealing with Grails Plugins - DZone

書こうとおもったら先越された。ええ,ええ,JetGroovyのGrails pluginsは便利ですとも。 あたしの思い込みなのかも知れないけど,IDEA8.1RC1以前で"Apply Changes"ボタンが押せるようになるには,ちょっとしたオマジナイが必要だったような? これ見つけた…

Grails and BluePrintCSS | Tomás Lin's Programming Brain Dump

Grailsは楽しいんだけど,GORMに比べるとあまりにもGSPが地味でDynamic Scaffoldより先に進むのがおっくうだった。まあ,いちいちタグ打ちしたくない/でもあっさりしたUIもイヤだという身勝手以外のナニモノでもない欲求に振り回されてただけなんだけど。:-…

ServiceへのDataSourceの注入

http://d.hatena.ne.jp/atosimitu/20081031/p1で,サービスへデータソースを注入している例をみつけたときは「そうゆう裏技もあるんだぁ」程度に思っていたのだけれど,あらためてgrails.org調べてたら,ちゃんと書いてあった。 A javax.sql.DataSource inst…

Shingler's Thoughts: CodeMash 2009 - Griffon in Front Grails in Back

GrailsのフロントエンドにGriffonを使ってみた,なスライドとサンプルコード。 とかくGriffonのサンプルは貴重なので,あとで覗いてみる。 なるほど,GriffonだったらJava Web Startで配布もできるし,良いかも知んない。

Peek in Grails

AIR製Grailsドキュメントブラウザ。なんかの拍子に見つけた。 そうそう,grails.orgから,この(↓)ページにたどり着く経路を思い出せない。 → Grails - The search is over.

The Definitive Guide to Grails, Second Edition

eBook(PDF)版は出たらしい。洋書は高いわ読めないわで大変だから買わないけど,目次くらいは見たい。 それと,サンプルコードの場所はこちら。 → http://svn.codehaus.org/grails/trunk/grails-samples/dgg/