Javaな人が今すぐ使えるG*
description
Transcript of Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*プロダクト
合同勉強会in大都会岡山 -2012 Winter-hoge駆動
@irof
ところで
Groovyの普及度がわからない
この場には……
Java知ってる人は多いはず
Groovy知らない人は多いはず
でも名前くらいは?
ところで
Groovyの普及度がわからない
この場には……
Java知ってる人は多いはず
Groovy知らない人は多いはず
でも名前くらいは?
違っても手遅れだから確認しないけど。
Groovy?
Javaが書ける人なら誰でも書ける
動的なのか静的なのかスクリプト言語なのかどうかも
よくわからない言語
Groovyがナニモノか?なんてどーでもいいんだ
すぐに使えるものを二つ紹介
GradleAntやMavenとか使ってますよね?
Spockテストコード書いてますよね?
ぐれーどる
Gradle
ビルドシステム
Ant / Maven のイイトコ取り
Groovyは似たモノのイイトコをパクるものと思って間違いない。
Gradle ビルドスクリプト
Gradle DSLを使う(Groovyの拡張)
ビルドも出来てGroovyにも触れられる!やったあ!
apply plugin: 'java'repositories.mavenCentral()dependencies.testCompile 'junit:junit:4.11'
build.gradle
Gradleのいいとこ
シンプルなMavenプロジェクトなら即乗り換え可
Antタスク使える(てーか build.xml そのまま読める)
その気になれば何でも出来る
やり過ぎ注意
GradleWrapperは反則だと思う
Gradleのわるいとこ
しらん
すぽっく
※写真の人は関係ありません。たぶん。
Spock
テスティングフレームワーク
一応 BDD に属する。一応。
特徴的なパラメタライズドテストをサポートする。
JUnitの拡張だから、JUnit動くとこなら動く。IDEでも自然に。
Spock テストコード
@Unrolldef "fizzBuzz(#num) return #res"() { expect: fizzBuzz(num) == res where: num | res 1 | "1" 3 | "Fizz" 5 | "Buzz" 15 | "FizzBuzz"}
Spock テストコード
@Unrolldef "fizzBuzz(#num) return #res"() { expect: fizzBuzz(num) == res where: num | res 1 | "1" 3 | "Fizz" 5 | "Buzz" 15 | "FizzBuzz"}
こんな感じ。
Spock + Gradle
Spock + Gradle
fizzBuzz(#num) return #res
Spock + Gradle
fizzBuzz(#num) return #res
Power Assert
セットアップ関連
Groovy
IntelliJ IDEA: 標準おk
NetBeans: 標準でおk
Eclipse: プラグイン
セットアップ関連
Groovy
IntelliJ IDEA: 標準おk
NetBeans: 標準でおk
Eclipse: プラグイン
Eclipseやめよう!
セットアップ関連
Gradle
brew以外しらん。
Spock
GradleでもMavenでも。
ただのライブラリだし。
しめ
Javaが書けるなら「動くGroovyコード」は絶対書ける。
周りから入るのもいいよ
Gradle, Spockあたりは最適