レッツゴーデベロッパー2011「プログラミングgroovy〜g*エコシステム編」
DESCRIPTION
TRANSCRIPT
Java
G*エコシステム編
Who am I?✓氏名:中野 靖治(a.k.a. nobeans)✓所属:NTTソフトウェア株式会社✓ブログ:豆無日記 http://d.hatena.ne.jp/nobeans/
✓String#tr()をコントリビュートしました✓GroovyServ作ってます
$ time groovy -e 'println "Hello, world!";'Hello, world!
real 0m1.806suser 0m1.321ssys 0m0.171s
$ time groovyclient -e 'println "Hello, world!";'Hello, world!
real 0m0.029suser 0m0.001ssys 0m0.002s
$ time groovyserverGROOVY: /Users/ynak/Developer/runtime/groovy/bin/groovyGROOVYSERV_HOME: /usr/local/Cellar/groovyserv/0.5/libexecstarting....groovyserver 71209(1961) is successfully started
real 0m5.038suser 0m0.015ssys 0m0.048s
http://www.flickr.com/photos/turyddu/2682923190/
“見よ、あれが
Groovyスクリプト使
い達の希望である”
http://groovy.dzone.com/news/dzone-interviews-yasuharu
Java
宣伝おわり
G*エコシステム
エコシステム||
生態系http://www.flickr.com/photos/philippeguillaume/4027168508
“ある場を共有し、関係を持つ種々の構成要素がその活動を維持して行くための仕組み”http://www.venturenow.jp/column/ogawa/20100721008569.html
もちつもたれつ
Spock
Spock
もちつ
Spock
もたれつ
Spock実用的なライブラリ・ツール群も全部ひっくるめてGroovyです
残り時間で、Groovyエコシステムの主要プロダクトをライトニング紹介します
Spock
✓フルスタックのWebアプリケーションフレームワーク✓Groovy版、Ruby on Rails✓現在はSpringSource社のラインナップの1つ✓SpringMVC, SpringFramework, Hibernateなどのデファクトなプロダクトを基盤として採用
✓面倒な設定は「規約&DSL」でまろやかにラッピング✓プラグインが便利!✓認証機能?→それ、Spring Securityプラグインで(ry✓CSVエクスポート?→それ、Exportプラグインで(ry✓詳しくはJGGUG名古屋支部長の@tyamaさんに!
✓SwingベースのRIAフレームワーク✓GroovyのSwingBuilderをフル活用✓Grailsのアーキテクチャをそのまま踏襲✓Jar, Applet, JWSなどにパッケージング可能✓将来的にJavaFX2.0への対応も予定✓詳しくはJGGUG関西支部長の@kiy0takaさんに!
✓並行プログラミングのためのライブラリ✓Groovy1.8から標準でバンドルされた!✓並行処理、非同期処理、分散処理のための直感的で安全な方法を提供✓コレクションの並行処理(Map/Reduce風)✓Erlang/Scalaのアクタープログラミングモデル✓Clojureのエージェント✓6/17(金)のg*workshopでふもさん(@fumokmm)が発表予定です!
✓ポストMavenの総合的なプロジェクト管理ツール✓Mavenはかなり意識してます✓ディレクトリ構成はMaven方式を踏襲✓もちろん、依存ライブラリも管理できる(Ivy利用)✓各種プラグインによる簡単機能追加(宣言を追加するだけ)✓Groovy, Maven, Eclipse, OSGi, Scala, etc.✓全面的にGroovyベースのDSLを採用✓柔軟なマルチプロジェクト構成が実現できる✓あのHibernateもGradleに移行した!✓詳しくはドキュメント日本語訳リーダ@literaliceさんに!
✓Google App Engine用ツールキット✓GroovyのProject LeadであるGuillaume Laforge氏が開発
✓GAEのAPIをGroovy風にするための薄いラッパー✓GroovyライクなDSLや記法をフル活用✓ツイッターBot程度なら超楽々✓詳しくはJGGUG運営委員長 兼 執筆リーダの@kazuchikaさんに!
✓BDD(ビヘイビア駆動開発)フレームワーク✓Power Assertの出身地✓AST変換を活用して、わかりやすいアサーションメッセージを表示できる
✓Groovy1.7で本家に取り込まれている✓緩募:日本Groovy界のミスタースポック
Spock
// 「0~9に含まれてる偶数の個数は4個だよね?」(違def list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]assert list.findAll{ it % 2 == 0 }.size() == 4
(参考)Power Assert
!!!!!!!!!!!!!!!!!!!!!!!!!!
Caught: Assertion failed:
assert list.findAll{ it % 2 == 0 }.size() == 4 | | | | | [0, 2, 4, 6, 8] 5 false [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
早すぎる?よくわからない?人に振りすぎ?サンプルコードがない?
6章
!"#"$%&'"()*+&',,-.%/*0'%&',1#
! " # " $ % & '
vol.2 C o n t e n t sGrails 1.4.0 M1 リリース 緊急企画
検証 ! Grails 1.4.0 の世界 …………………… 4!"#$"%&'(
Griffon 不定期便~第 3回 バインディング編~ ………………………10!"#$"%&')
CodeNarc を利用してGROOVY のコード品質を上げる~第 2回 開発ツールと連携~ ………………………14!"#$"%&'*
もし新人女子 Java プログラマが 『Groovy イン・アクション』を読んだら~第1章 もかは『Groovy イン・アクション』と出会った~ … 18!"#$"%&'+
Grails Plugin 探訪~第 3回 MongoDB GORM プラグイン~ …………24,-./#012$/-
リリース情報………………………………………28JGGUG4コマ漫画「ぐるーびーたん」第 2話 ……29
http://grails.jp/g_mag_jp/
いますぐダウンロード