javaな人が今すぐ使えるg*

Post on 11-Nov-2014

1.159 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

#gbdaitokai のスライドです。

TRANSCRIPT

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あたりは最適

top related