15. Grails For Hipsters
- Robert Fletcher
Photo from http://www.flickr.com/photos/skillsmatter/8284468042/
Slide:
http://www.slideshare.net/rfletcher/grails-for-hipsters
Video:
http://skillsmatter.com/podcast/groovy-grails/grails-for-hipsters
27. Using Spring In Grails
- Burt Beckwith
Photo from http://www.flickr.com/photos/y___u/8270792917/
Slide:
http://www.slideshare.net/burtbeckwith/under-the-hood-using-spring-in-grails-
15633030
Video:
http://skillsmatter.com/podcast/groovy-grails/under-the-hood-using-spring-in-grails
28. Using Spring In Grails
Test や Resources で Service を利用する際の
- 参照・設定する例
- Transactional にする例
トランザクション処理に関わるヘルパメソッド
Spring SpEL を使った複雑な依存性の設定
29. Using Spring In Grails
Beanのスコープ
Beanのinit()やdestroy()やafterPropertiesSet()
Beanポストプロセッサ
Beanエイリアス
Spring MVC の機能の使い方
30. Using Spring In Grails
オライリーの Programming Grails を執筆
Early Release したよ
http://shop.oreilly.com/product/0636920024750.do
31. Theming & UIs With
Grails Platform UI
- Marc Palmer
Photo from http://www.flickr.com/photos/y___u/8271858922/
Slide:
https://speakerdeck.com/marcpalmer/themeing-and-uis-with-grails-platform-ui
Video:
http://skillsmatter.com/podcast/groovy-grails/theming-and-user-interfaces-with-
grails-platform-ui
32. Grails Platform UI
Grailsでの rapid development のために
out of the box でイケてる画面を用意できる機構が必要
themetrust.com や themeforest.net を見てみて
Wordpress みたいなテーマ欲しいよね
UIセットとテーマは分かれているべき
テーマは複数のUIセットをまとめたものと考える
41. Leveraging Social Media
In Grails
- Bobby Warner
Photo from http://www.flickr.com/photos/y___u/8270792817/
Slide:
http://www.slideshare.net/burtbeckwith/under-the-hood-using-spring-in-grails-
15633030
Video:
http://skillsmatter.com/podcast/groovy-grails/under-the-hood-using-spring-in-grails
43. Leveraging Social Media
OAuthのAPIラッパーは
- 特定のOAuthプロバイダ用ライブラリ
- OAuthプロバイダ非依存のフレームワーク
にわかれる
Grailsではoauthプラグイン(Scribeを利用)が最もシンプル
でよくメンテナンスされてる
2つ以上のOAuthネットワークを使うなら、spring-social-*
プラグインがオススメ
44. Park Bench Discussion
Photo from http://www.flickr.com/photos/y___u/8271858798/
Video:
http://skillsmatter.com/podcast/groovy-grails/park-bench-discussion-3650
57. Debugging Grails
Database Performance
View で 10 SQL を発行し 754 ms かかる例でのデモ
クエリとかかる時間が一覧され見やすい
クエリを Service にまとめたら 24 ms に短縮された
<miniprofiler:javascript /> タグを挿入すれば使える
表示するプロファイル結果はAjaxで受け取っている
IntelliJ では、コマンドキー押しながらスワイプで文字の
サイズ変えられるよ
58. Contributing Back To Grails
- Bobby Warner
Photo from http://www.flickr.com/photos/y___u/8270792817/
Slide:
https://github.com/bobbywarner/ggx2012/blob/master/ggx-contributing-back-to-
grails.pdf?raw=true
Video:
http://skillsmatter.com/podcast/groovy-grails/contributing-back-to-grails
59. Contributing Back To Grails
Grails に貢献しよう!
Mail, JIRA, Github, Hudson(Jenkins) が使われてるよ
grails-core は cherry-pick は使わない方針
全ての branch は定期的に master に merge される
5件の簡単な修正を Live Pull-Requesting で実践!
66. Securing Grails Applications
Grailsでのセキュリティ対策 A to Z、必読!
セキュリティリスクと対策を網羅してある
OWASP: Open Web Application Security Project
でもチートシート公開したよ!(まだ中身ないけど)
https://www.owasp.org/index.php/Grails_Secure_Code_Review_Cheat_Sheet
Don't trust the users!
71. Securing Grails Applications
failure to restrict url access
- grails.plugins.springsecurity.rejectIfNoRule=true を忘れると
大変!
insufficient transport layer protection
- grails.plugins.springsecurity. auth.forceHttps=true
unvalidated redirecs and forwards
- ?nextPage=/hoge みたいなGETパラメータがあるとき
=http://othersite.com/ みたいなことをやりやすい
72. Building An Ecommerce
Business With GR8
- Domingo Suarez Torres
Photo from http://www.flickr.com/photos/y___u/8302273751/
Video:
http://skillsmatter.com/podcast/groovy-grails/building-an-ecommerce-business-
with-gr8-technologies-in-latin-america
73. Building An Ecommerce
Business With GR8
メキシコのEコマースサービス clickOnero についてのお
話
規模:
- 20万~30万 visits/day
- 1500万 PV/day
- 8万 concurrent user
参考: とらのあなが1200万PV/day(2011年の記事)
http://www.itmedia.co.jp/news/articles/1109/07/news070.html
74. Building An Ecommerce
Business With GR8
ver 1.0:
Grails, MySQL, Tomcat, ehcache/terracotta, RabbitMQ
4人でつくった
Java → Grails への転向、Grailsの簡潔さに感動!
テストのカバレッジ低かった、CIも無し
コントローラにたくさんのコードがあったり
GORMのクエリがイケてなかったり
75. Building An Ecommerce
Business With GR8
使ったGrailsプラグイン
- Rabbitmq
- Spring-Security
- Rendering
- Quartz
- Feeds
- Export . . . Etc
JavaMelodyのダッシュボードでいろいろ見れて嬉しかった
JDBCに入ってきたクエリとか
Logstalgia でログを可視化した
76. Building An Ecommerce
Business With GR8
ver 2.0:
single pageにした
chaplin/backbone.js を使って3コンポーネントに分割
- API :Grails, Tomcat(JSONだけしゃべる、GSP無し)
- Admin :Grails, Tomcat
- Hipstore:静的HTML, chaplin, Apache
httpd, CoffeeScript, pushstate, require.js, handlebars, jQ
uery, underscore, bootstrap, jake, . . .etc
77. Building An Ecommerce
Business With GR8
Spock と Jasmine を使ってテストケースを作成
Jenkins も使うようにした
Pushstate でURL書き換え
ブックマークとかソーシャルメディアにも対応可能ですげー
便利
Googleのクローラが変なパラメータ付きでやってくる!
Zombie.js でサイトを巡回し、生成されたページを静的コン
テンツとして利用
WebサーバもDBサーバも負荷は減ったしリンクのシェアはで
きるようになったしいいことずくめ
78. Thanks.
Copyright(C) 2013 NTT Software Corporation All Rights Reserved.
記載されているロゴ、システム名、製品名は各社
および商標権者の登録商標あるいは商標です。