Upload
yu-sudo
View
1.602
Download
1
Embed Size (px)
Citation preview
のちょっとイイ話。〜 全世界400万人のJava技術者が、
Grailsと⽢く切ない恋に落ちた︕ 〜
須藤 悠
http://grails.org/http://grails.jp/
発表者について�須藤 悠 (SUDO Yu)� NTTソフトウェア株式会社 Grails推進室“Grails Advocate”� Grailsを用いたファイルアップローダ作成� http://www.ntts.co.jp/publish/column/tec/java_02/
� 社内研修講師(CSS/jQuery/Grails/Groovy)
� JGGUG運営委員⻑� ピザ大好き
JGGUGについて�日本Grails/Groovyユーザグループ� G*ワークショップZ� 毎月第3⾦曜⽇、Groovyエコシステム関連のハンズオン
� http://jggug.doorkeeper.jp/events/
� G*Magazine� GroovyエコシステムのWeb情報誌
� http://grails.jp/g_mag_jp/
� JGGUG公式Twitterアカウント� @jggug https://twitter.com/jggug
その他G*関連について� G* Advent Calendar 2013� http://qiita.com/advent-calendar/2013/gastah
� Groovyist/G*のあれやこれや� http://orangeclover.hatenablog.com/entry/2013
/11/02/223238
� Yokohama.groovy� Groovyエコシステムの「もくもく会」
� http://connpass.com/series/253/
Grails(ぐれいるず)とは�Webアプリケーションフレームワーク� OSS/fullstack/out of box
�Ruby on Railsと共通の概念� CoC/DRY/MVC/Scaffold …etc
�XML設定不要� YAML…ではなくGroovyのコード(DSL)で
�Pivotal/SpringSourceが開発
Grailsのちょっとイイところ� Javaの世界と地続き� Grailsの中身�対応Servletコンテナ�性能� Java資産の活用
�Groovyで書く�Spockでテストする
from Unhindered by Talent (CC-BY-SA) http://www.fotopedia.com/items/flickr-250890495
Javaの世界と地続き
Grailsの中身(※一部)
�Spring Framework
�Hibernate - O/R Mapper
�Apache Tomcat Embed 7
�Apache Ivy - Dependency Manager
�H2 Database
対応Servletコンテナ�Tomcat 6↑�GlassFish 2↑�Resin 3↑�Oracle WebLogic 9↑� IBM WebSphere 6.1↑(※条件あり)
http://grails.jp/doc/latest/guide/gettingStarted.html#supportedJavaEEContainers
� Jboss 5↑� Jetty 6↑� tc Server
性能�Web Framework Benchmarks
� http://www.techempower.com/benchmarks/
� Round 6� Multiple queries� FullStack or Platform� Full or Micro ORM
�で⾒てみると…︖(※一例です)
性能�Web Framework Benchmarks
� http://www.techempower.com/benchmarks/
Scala/Lift, Play!PHP/Phalcon, Cake, LithiumNode.jsPython/DjangoRuby/Rails
…より速い︕
� Javaライブラリを簡単に利用できる�運用ノウハウがそのまま活かせる� Grailsアプリはただのwar� TomcatのSession Replicationとか� Servletコンテナの性能チューニングとか
�Spring/Hibernateの経験が活きる�学習コストが抑えられる
Java資産の活用
http://groovy.codehaus.org/
Groovyで書く
from https://speakerdeck.com/glaforge/what-makes-groovy-groovy-jax-london-2013
Java開発者の人生をシンプルにする︕
Groovyのちょっとイイところ�クロージャ�メタプログラミング/MOP�AST変換�Groovy-JDK� メソッド定義による演算子オーバーロード� コレクションの拡張 …etc
�チェック例外のチェック省略 …などなど
Groovyのちょっとイイところ�詳しく知りたいなら�書籍「プログラミングGROOVY」が良書� 技術評論社
� ISBN: 978-4-7741-4727-7
� http://gihyo.jp/book/2011/978-4-7741-4727-7
Spockでテストする
テスティングフレームワーク
Spockhttps://code.google.com/p/spock/
from https://speakerdeck.com/glaforge/what-makes-groovy-groovy-jax-london-2013
Spockでテストする�詳しくはJGGUGのワークショップ資料をご覧ください︕� G*ワークショップZ - Spockハンズオン� https://github.com/yamkazu/spock-workshop
�@yamkazuさん作(Grailsドキュメント和訳チーム)
� JavaシステムのテストをSpockでおこなうこともできます︕
Grailsにまつわるちょっとイイ機能�GVM:Groovy enVironment Manager
�Grails wrapper�Grails consoleコマンド�dbconsole�プラグイン機構�Serviceとトランザクション
Grailsのちょっとデメリットいところ�Checkstyle/Findbugsが使えない� CodeNarc を使うことになる
�パートナー探し� 「Grailsで︕」って言うと「経験無いんで…」� SpringかHibernateの経験があれば︕
�メモリフットプリントが大きい� PaaS利用では大きなデメリット
Q&A�ログ出⼒は︖� log4jを内蔵� http://grails.jp/doc/latest/guide/conf.html#log
ging
� logbackを利用するプラグインもあるよ� http://grails.org/plugin/logback
Q&A�スタックトレースどんな感じ︖� こ� ん� な�感
� じ
Q&A�マルチデータソースにしたいんだけど� デフォルトで対応� http://grails.jp/doc/latest/guide/conf.html#mul
tipleDatasources
�NoSQL使いたいんだけど� プラグインで対応� MongoDB, Redis, Hadoop HBase, Neo4j,
Cassandra, CouchDB, DynamoDB, Riak…
Q&A�Hibernateを使いたくないんだけど/SQLを生で書きたいんだけど� HibernateのネイティブSQL APIを使う� sessionFactory.currentSession から session を取得
� Groovy SQLを使う� dataSource から直接DBにアクセス
� 2次キャッシュのOFFと、必要に応じて1次キャッシュのクリア
� MyBATISプラグインなどを使う
Q&A�Grailsプラグインの一覧どこかにない︖� list-pluginsコマンドでどうぞ� http://grails.org/doc/latest/ref/Command%20Li
ne/list-plugins.html
Q&A�Grailsの書籍は︖� Grails 2.x系に対応した日本語の書籍は無い�本家のドキュメントが親切でボリューム大︕� http://grails.org/doc/latest/
� http://grails.jp/doc/latest/
� Grails 2.x系に対応した洋書なら� The Definitive Guide to Grails 2
� Programming Grails
� Grails in Action, Second Edition
ご清聴ありがとうございました︕Copyright(c) 2013 NTT Software Corporation All Rights Reserved.
本資料に記載されているロゴ、会社名、製品名等は、
各社および商標権者の登録商標または商標です。
“Oracle”と”Java”は、Oracle Corporation及びその子会社、
関連会社の米国及びその他の国における登録商標です。