16
Grails 1.4.0.M1の話 -更新メモ(まだ途中)- 2011-06-17@jggug @tyama LT版

Grails 1.4.0.M1 メモLT

Embed Size (px)

Citation preview

Page 1: Grails 1.4.0.M1 メモLT

Grails 1.4.0.M1の話

-更新メモ(まだ途中)-

2011-06-17@jggug

@tyama

LT版

Page 2: Grails 1.4.0.M1 メモLT

Grails 1.4.0.M1 リリース• Groovy 1.8, Spring 3.1 M1, Hibernate 3.6,Servlet 3.0, Tomcat 7への更新。

• PrototypeからjQueryへ

• 基本データベースを、H2への変更

• エージェントベースリロード

• プラグイン使用統計トラッキング

• GORMの機能強化

• AST変換を使用したGORM APIとJava統合

• スカッフォルドUIがHTML5に!

• 静的リソースハンドリングの向上

• MixinベースUnitテスト

• バイナリープラグイン

Page 3: Grails 1.4.0.M1 メモLT

速度向上!http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/

Page 4: Grails 1.4.0.M1 メモLT

まだM1です!

Page 5: Grails 1.4.0.M1 メモLT

注意点など、少しだけ紹介!• grails upgrade• Unitテスト• Resources Plugins

Page 6: Grails 1.4.0.M1 メモLT

grails upgrade• 注意!BuildConfgで「grails.project.work.dir="target/work"」を定義してると起動しないよ![tyama@tyamamba]% grails upgradeWelcome to Grails 1.4.0.M1 - http://grails.org/Licensed under Apache Standard License 2.0Grails home is set to: /opt/grails-1.4.0.M1

Base Directory: /works/experiment/20110614/v137Running script Upgrade.groovyEnvironment set to developmentNOTE: Your application currently expects grails version [1.3.7], this target will upgrade it to Grails 1.4.0.M1 ...

WARNING: This target will upgrade an older Grails application to 1.4.0.M1. Are you sure you want to continue? [y,n] y [delete] Deleting directory /works/experiment/20110614/v137/target/classes [delete] Deleting directory /Users/tyama/.grails/1.4.0.M1/projects/v137/resources [copy] Copying 3 files to /works/experiment/20110614/v137/web-app [copy] Copying 1 file to /works/experiment/20110614/v137/web-app/WEB-INF [copy] Copying 1 file to /works/experiment/20110614/v137/web-app/WEB-INF [copy] Copying 4 files to /works/experiment/20110614/v137/web-app/WEB-INF/tldInstalling zip /opt/grails-1.4.0.M1/plugins/grails-hibernate-1.4.0.M1.zip... ... [delete] Deleting directory /Users/tyama/.grails/1.4.0.M1/projects/v137/plugins/hibernate-1.4.0.M1 [mkdir] Created dir: /Users/tyama/.grails/1.4.0.M1/projects/v137/plugins/hibernate-1.4.0.M1

Page 7: Grails 1.4.0.M1 メモLT

1.3.7 to 1.4.0.M1

Page 8: Grails 1.4.0.M1 メモLT

DB変わったよ!

• HSQDB → H2• BuildConfigに、runtime 'hsqldb:hsqldb:1.8.0.10'

• DBコンソールもあるよ!• 何ならこれを期に、H2にしてしまおう!

Page 9: Grails 1.4.0.M1 メモLT

Unitテスト• Unitテスト大幅改良!• フィルター・URLマッピング・ファイルアップロード・コンテントネゴシエーション・テンプレートビューレンダリング・ドメインクラスクライテリアクエリ

• http://grails.org/doc/1.4.x/guide/9.%20Testing.html#9.1%20Unit%20Testing

Page 10: Grails 1.4.0.M1 メモLT

@TestMixin

@Mock

@TestFor

Page 11: Grails 1.4.0.M1 メモLT

Unitテスト• コントローラテストの方法が、公式ドキュメントの "9.1" に詳しく掲載!

• リロード良くなったので、grails interactive モードでテストしよう!

• ドメインテスト注意点。• Car.findAllByMaker(.....)とかの、フィールド(この場合maker)には、インデックス定義必要。mappings に maker index:true 。

Page 12: Grails 1.4.0.M1 メモLT

簡易resourcesプラグイン講座• 1.4.0.M1からのリソース管理用には、新たにresourcesプラグインがコアとして追加された。そして、連動するjqueryプラグイン。

• まだM1だから、いきなり説明不足。• 公式Doc 6.7 AJAX• <g:javascript library="jquery"/>• いきなりエラー出ます。

Page 13: Grails 1.4.0.M1 メモLT

簡易resourcesプラグイン講座• AJAXするには!• ドキュメント通りに、

• そのままでは動きません。Grails初心者キラー。

Page 14: Grails 1.4.0.M1 メモLT

簡易resourcesプラグイン講座• 解決方法!

AJAXする対象ページに、 スクリプトタグ追加。以下のどれでも良い        <g:javascript library="jquery" plugin="jquery"/>        <g:javascript library="jquery"/>        <r:require modules="jquery"/>1.4.0からは、<r:require modules="jquery"/> が、望ましいね。

main.gspの<g:layoutHead/>の下辺りに、<r:layoutResources/>これが無いとJSが出ない。

さらに、これが無いと動かない。Config.groovyにgrails.views.javascript.library="jquery"

Page 15: Grails 1.4.0.M1 メモLT

まだM1です!

Page 16: Grails 1.4.0.M1 メモLT

Thank you...