grailsx@ロンドンへ行ってきた報告。
DESCRIPTION
Grailsx2010@ロンドンへ行ってきた報告。TRANSCRIPT
GROOVY&GRAILS EXCHANGE 2010
@LONDONへ行ってきた報告!(ロンドン旅行記!?)
1
WHO WE ARE?
@tyama
@tamatamatamata
Company: Newcast inc.
Nagoya, Japan
http://grails.jp
2
本日の議題。
どの言語が優れているのか!?
日本のIT業界の未来は!?
日本経済の将来は!?
どのようにGroovyを流行らせるか!
実年齢と実質年齢。
3
と、いった話はしません。
4
GROOVY & GRAILS EXCHANGE とは?
5
2007. 第一回。
世界初となるG*なイベントがロンドンにて開催。
"Grails eXchange 2007"
@tyama もスピーカー参加!
@uehajさんも受講
6
発展とその後。
2008 - 2gx
2gx は、Grails eXchangeのアメリカ版。
No Fluff, Just Stuff 主催。
G2One買収後はS社と協同開催の "Spring One 2gx"
2009 - Groovy & Grails eXchange
2008の開催が先送りされて、2009-12-9 ~ 2009-12-10に開催。
GGUG、SkillsMatter主催。ユーザグループ主体?
7
DAY -2~0
8
名古屋 → 成田 → ロンドン
9
Hallam Hotel 繁華街に近く便利。
10
通信機器、ネット回線
iPad用 £10
iPhone用 £10Wi-Fi £2.50 / day
11
観光。
12
観光。10km walk.
13
ロンドン旅行記!?
14
DAY ZERO 2010-12-15
15
GROOVY FOR PRO'S
Dierk Konig
In the Brain Pro (gramming/fessional) Groovy
(前半)カッコイイ(Groovy)プログラマ・プロフェッショナルとは何かという内容。
(後半)Dierk氏が参加者の質問に答えていくディスカッションや、Groovyでサンプルコードを記述したり。
16
IN THE BRAIN PRO (GRAMMING/FESSIONAL) GROOVY
プロフェッショナルとは?
何がプロフェッショナルを育てるか?
(チームを)気にすること。気にできること。
プロフェッショナルは、物事を気にする。
継続的向上 (コンテニウスインプルーブ)
もちろんチームの向上も気にしないとダメ。
17
IN THE BRAIN PRO (GRAMMING/FESSIONAL) GROOVY
気になった言葉。
最初の頃のGroovyは、パフォーマンスでなくてクリーンなデザインにこだわった。
先ずはクリーンにつくり
知名度をあげて(笑)
想像ではなくプロファイラを使ってチューニングする。
DSLデザインはAPIをデザインするのと一緒。
18
GRAILSX DAY ONE2010-12-16
19
KEYNOTE
Guillaume LaForgeGroovy, state of the union
「過去(1.6),現在(1.7),未来(1.8)」のGroovyについての話。
Groovy開発チームが、どのような事に取り組んでいるかを紹介。
20
GROOVY, STATE OF THE UNIONダウンロード件数で見るGroovyの動向。
ピーク時は、公式サイトだけで18万件
21
GROOVY, STATE OF THE UNION
1.6 -
マルチプル・アサインメント、ASTトランスフォーム、Grapeの実装。
1.7 -
インナークラス、ネステッドクラス、パワーアサート、ASTビューワ、ASTビルダ、Grape改善
フラッシュバック。
22
GROOVY, STATE OF THE UNION
1.7.x -
Map改良! Mapのデフォルト値。 [:].withDefault {key -> "Default"}
XMLをStringに。
Date 改良!
Currying rcurry() ncurry()Stringメソッド追加。
Map の isCase()対応。
(G)String to Emun
1.7.x 以降の向上。
23
GROOVY, STATE OF THE UNION
1.8 -まだ検討中の物もあり、ロードマップは変わるらしい。
パフォーマンス向上。
クロージャ - アノテーション、composition,memoization,trampoline
ネイティブJSONサポート
ASTの追加
Gradleでビルド
Groovyのモジュラ化
Java 7 / Project Coinとの調整
DSLサポート強化
そして、1.8へ。
24
GROOVY, STATE OF THE UNION全部まとめると・・・。ワークショップ1本分は、あるので・・・。一部をスライドから。
スライド http://bit.ly/fIk0Ey
動画 http://bit.ly/fUkByl
そして、1.8へ。
25
GROOVY, STATE OF THE UNION
そして、1.8へ。
26
GROOVY, STATE OF THE UNION
そして、1.8へ。
27
Rich Grails UIs with Canoo RIA Suite
Dierk König
Java Swingを活用したRIA環境、Ultra Light Client (ULC)の紹介。
独自の通信技術を活かして少ない通信で大変な処理はサーバサイドに任せる。
Grailsのプラグインを提供。SwingBuilderを使って簡単にUIを記述できる。
28
Rich Grails UIs with Canoo RIA Suite
Canoo Ultra Light Client (ULC) www.canoo.com/ulc
サーバサイドプログラムモデル。
クライアントサイド・ビジュアライゼーション。
100% pure Java。
Groovy も使える。
Grails ULC プラグイン。
Half-Object & Protocol PatternULC on Grails は、アワードを受賞。(Java Oneで?)
デモ。
29
GradleA Better Way to Build
Peter Niederwieser
Spockの人。Gradle Inc.の人。Groovyのコミッター。
Ant(build.xml)、Maven(pom.xml)を見ながら、Gradle
ではどう書くかを紹介。テストの並列処理など、Gradle
の簡単なTipsを交えて解説が行われた。
30
GradleA Better Way to Build
Gradle !? www.gradle.org
Groovy DSLとJavaで実装されたコアで構成。
Java,Groovy,Scala,Web,OSGiを組込サポート。
今までのビルドシステムの問題点を解決するために開発された。
メンテナンス性、パフォーマンス、ユーザビリティ。
31
GradleA Better Way to Buildメモ!
Antからの移行で困ったら。ant.importBuild "build.xml"
forkEvery, maxParallelForks とか熱いね!
動画を視ると意外と楽しいかも。
32
ランチタイム
「日本人は、どうせRubyだろ。」 って言われた。
当然...
No!と答えてやった。実際に社内では、Rubyを開発言語としては使っていない。
Grails, Rocks!!
33
ランチタイム
34
Functional testingdynamic pages with Geb
Tomas Lin
Webテスト用フレームワーク"Geb"の紹介。
Spock+GebでGrailsのWebテストを行う説明とデモ。
デモ。
35
a lightweight groovy toolkit
Guillaume LaForge
Gaelyk! - GAE/JアプリをGroovyを活用してシンプルかつライトに開発できるツールキットを紹介。
デモでは、実際にGaelykで開発したDevoxカンファレンスのWebサイトを、実際にソースコードを参照しながら実装方法の奥まで紹介された。
36
Scalable Ajax with Grails
David Dawson
「GrailsでスケーラブルAjax」
「プルするよりプッシュ」
Ajaxのリクエストを数秒に1回送信する実装では不用なリクエスト、不要な負荷が発生する。そこでメッセージをプッシュで受け取る仕組みCometを活用してスケーラブルAjaxを提案。
提案。紹介。
37
Groovy Solutions for Data Flows
European Patent Office
欧州特許局でのGroovy DSL活用事例。
古い仕組みでは、コスト、複雑さなど様々な理由で問題が多かった。DFPをベースにGroovy DSLを活用した手法を変更した事で多くの問題点を解決。
事例。
38
Grails + GradleBuilding A Future Together
Peter Ledbrook
GrailsをGradleで使う話。
過去のAnt時代から、Gantへの移行。
ここでかなり優れた物となったが・・。
Grails 2.0に向けての試行錯誤。
多くの懸念事項。
https://github.com/pledbrook/grails-build-x(現行のバージョンでは動作しない)
39
GRAILSX DAY TWO2010-12-17
40
KEYNOTE
Graeme Rocher
In Search of the Grail of Developer ProductivityA Grails Roadmap Update
Grailsの現状
注目の更新情報
Grailsの今後
41
GrailsState of Nationグラフで見る動向。
プラグイン数の成長と、求人数の成長。
42
GrailsState of Nation
Grailsを使用している高負荷サイト
43
より良い開発環境。
STS 2.5.1 で、GrailsとSpring Insightのデモ。
GrailsSTS + Spring Insight
44
Grails 1.3.x
新たなプラグインのリリース ( http://grails.org/plugin/ {pluginname} )
NoSQL - GORM Abstraction
mongodb , redis , riak
GemFire - gemfire
Flex - flex
GrailsFeature Update
45
新たな公式プラグインのリリース ( http://grails.org/plugin/ {pluginname} )
NoSQL - GORM Abstraction
mongodb , redis , riak
GemFire - gemfire
Flex - flex
Spring Security
spring-security-core , ldap , openid , cas , acl , ui
RabbitMQ - rabbitmq
GrailsFeature Update
46
Grails 1.4
各ライブラリの更新
groovy 1.8, Spring 3.1, Hibernate 3.6
Agent-based Reloading - リロード機能をオーバーホール。Springチームと一緒にやるらしい。
GORM強化 - マイグレーション, リバースエンジニアリング , 抽象クラス継承 , ユニットテスト向上
静的リソースハンドリング機能
jQueryへ移行。
GrailsThe Year Ahead
リリース日は、関連ライブラリのリリース日に依存。
47
DB リバースエンジニアリング
reverse-engineer プラグイン
静的リソースハンドリング
デクレラティブ静的リソース
resources プラグイン
GORM ユニットテスト
redis プラグインに実装している。
以前のmockDomainに加え、クライテリア、名前付きクエリにも対応している。
GrailsThe Year Ahead
すでに一部の機能は、プラグインで配信されてます。
48
Grails 2.0
GrailsState of Nation
49
GrailsState of Nation全部まとめると・・・。ワークショップ1本分は、あるので・・・。動画を視ましょう。
動画 http://bit.ly/gqERiO
50
Get the message?Russ Miles
インテグレーションの話。過去から現在。
CORBA,Web Service,REST,Event Driven,EIP
GRINT -
51
What's Hot in GrailsPeter Ledbrook
Grailsのホットなプラグインの紹介。デモ。
52
Design for simplicitySky.com
Grailsでの高負荷サイト構築の事例と、Grails採用理由等の話。
GrailsとJavaでの2チームに分けて、同じ物を数週間、実際に開発を行ってみてGrails
の採用に至った。
53
Design for simplicitySky.com
現在3年目で、 7チーム、総勢
50人がGrailsでsky.comのサイトを支えている。
TDD、Scrum。
開発者募集中です!
54
The new static resources framework for Grails
Marc Palmer
Grails 1.4 からコアに組み込まれる機能。
Static Resources プラグインの解説。
デモ。
55
Grails Sans SQLGraeme Rocher
SQLのないGrails
Grailsでの NoSQLの話。
NoSQL技術の紹介。
NoSQLの種別。
NoSQLへの対応方法は様々。
56
Grails Sans SQLGrailsユーザは、GORMを使いたい!
永続化用メソッド。 save , delete , get(id)
ダイナミックファインダー
クライテリア
名前付きクエリー
そこで、NoSQL用のGORMを実装。
inconsequential - NoSQL用GORMアブストラクション
現在、Redis, Gemfire, Riak, MongoDB, ConcurrentHashMapに対応。
他に開発中として、 Cassandra, CouchDB, JCR
57
Grails Sans SQLNoSQLデモでは!
1つのプロジェクトで同じドメインモデルを使用。順番にGORM-NoSQLのプラグインを入れ換えながら紹介。 redis → gemfire → mongodb
公式GORM対応以外のNoSQL用サポートのプラグイン Neo4j , HBase , CouchDB
今後のGrailsを使えばNoSQLを便利に使えるような内容を提供していく予定。
58
Griffon in real lifeSébastien Blanc
実務で使うツールを簡単にGriffonで開発しよう!という提案の話。
Griffonの概要解説。
実際にライブコーディング、Griffonで簡単なアプリケーション作成と解説を行った。
59
HTML5 and Grails
Sébastien Blanc
HTML5の機能、Geolocation、ローカルストレージ等を、Grailsを使って開発する手法を実演。
60
まとめ。
61
まとめ。
Graemeに「Gアスタ マガジン」贈呈!
Grails徹底入門はPDFをみせました。
Peterに「Grails 日本語 Doc会」の事を説明してきた。
62
まとめ:そとへ出よう!
現地参加は動画より楽しい!
ネットの情報量の多さに、家にいても世界と交流ができるが、空気を味わえるのは現地参加。
冬のロンドンは寒い。
来年行く方はアドバイスしますw
リサーチ過ぎ注意。
知りすぎてると感動が減少。
63
今日の議題の解答。
どの言語が優れているのか!?
日本のIT業界の未来は!?日本経済の将来は!?
どのようにGroovyを流行らせるか!
実年齢と実質年齢。
正直どうでも良い。とりあえず英語勉強しよ。
大手SIerとか知らんが、中小企業は、もっと世界に目を向けた方が良いのでは?
64
どのようにGROOVYを流行らせるか!?
Don't Think, USE!考えるな!使え!
65
リンク。
Grailsx 公式サイトに、動画&当日の写真。
h t t p : / / b i t . l y / f 4 x K w r
66
大雪で観光地閉鎖!
大雪で空港閉鎖!
大混乱!
grailsxのスピーカー達も足止。
帰国。
67
参加します
68
(か?)
Yes,You can JOIN!!!
69
世界のG*なイベント。
2/17-18 Spring I/O - マドリード、 スペイン。
5/17-19 GR8Conf - コペンハーゲン、デンマーク。
9/? JGGUG合宿 - 熱海、Japan。
10/? SpringOne 2GX - アメリカのどこか。
12/8-9 Groovy & Grails eXchange - ロンドン、UK。
70
旅費など。
参加費: 0~ 15万くらい。
航空券(燃油・空港税込み) - 10万くらい。
宿泊 - 0円(野宿)~ 上限無し。
平均1泊 8,000円くらい。
その他 - 3万円くらいあれば。
なんだかんだで、
10万~25万くらい。
71
エントリー大会!!!
Groovy & Grails eXchange 2011
なんと、1/31までにエントリーでお得!£395.00 => £75.00 (¥9,800)
http://skillsmatter.com/event/java-jee/groovy-grails-exchange-2011
72
Thank you.
日本 Grails Groovy ユーザーグループhttp://www.jggug.org/
73