SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Javaな人が
        今すぐ使える
        G*プロダクト
合同勉強会in大都会岡山 -2012 Winter-
                 hoge駆動
                     @irof
ところで

Groovyの普及度がわからない

この場には……
 Java知ってる人は多いはず
 Groovy知らない人は多いはず
   でも名前くらいは?
ところで
   違っても手遅
 れだから確認し
Groovyの普及度がわからない

     ないけど。
この場には……
 Java知ってる人は多いはず
 Groovy知らない人は多いはず
   でも名前くらいは?
Groovy?
Javaが書ける人なら誰でも
      書ける
動的なのか静的なのかスク
リプト言語なのかどうかも
   よくわからない言語
Groovyがナニモノか?
なんてどーでもいいんだ
すぐに使えるものを二つ紹介


Gradle
 AntやMavenとか使ってますよね?

Spock
 テストコード書いてますよね?
ぐれーどる
Gradle



ビルドシステム
Ant / Maven のイイトコ取り
  Groovyは似たモノのイイトコをパ
  クるものと思って間違いない。
Gradle ビルドスクリプト

                                 build.gradle
apply plugin: 'java'
repositories.mavenCentral()
dependencies.testCompile 'junit:junit:4.11'


  Gradle DSLを使う(Groovyの拡張)
    ビルドも出来てGroovyにも触れられ
    る!やったあ!
Gradleのいいとこ

シンプルなMavenプロジェクトなら即
乗り換え可
Antタスク使える
 (てーか build.xml そのまま読める)
その気になれば何でも出来る
  やり過ぎ注意
GradleWrapperは反則だと思う
Gradleのわるいとこ




しらん
すぽっく
※写真の人は関係ありません。たぶん。
Spock


テスティングフレームワーク
一応 BDD に属する。一応。
特徴的なパラメタライズドテストを
サポートする。
JUnitの拡張だから、JUnit動くとこな
ら動く。IDEでも自然に。
Spock テストコード

@Unroll
def "fizzBuzz(#num) return #res"() {
    expect: fizzBuzz(num) == res
    where:
    num | res
    1   | "1"
    3   | "Fizz"
    5   | "Buzz"
    15 | "FizzBuzz"
}
Spock テストコード

@Unroll
def "fizzBuzz(#num) return #res"() {
    expect: fizzBuzz(num) == res
    where:
    num | res
    1   | "1"
    3   | "Fizz"
    5   | "Buzz"
    15 | "FizzBuzz"
}
こんな感じ。
Spock + Gradle
fizzBuzz(#num) return #res




Spock + Gradle
fizzBuzz(#num) return #res




Power Assert


     Spock + Gradle
セットアップ関連


Groovy
  IntelliJ IDEA: 標準おk
  NetBeans: 標準でおk
  Eclipse: プラグイン
セットアップ関連
 Eclipse
やめよう!
Groovy
  IntelliJ IDEA: 標準おk
  NetBeans: 標準でおk
  Eclipse: プラグイン
セットアップ関連


Gradle
  brew以外しらん。
Spock
  GradleでもMavenでも。
  ただのライブラリだし。
しめ



Javaが書けるなら「動くGroovyコー
ド」は絶対書ける。
周りから入るのもいいよ
  Gradle, Spockあたりは最適

Mais conteúdo relacionado

Mais procurados

ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆
Naoya Nakazawa
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
Masanori Kado
 
Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)
Soudai Sone
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
Taku Miyakawa
 

Mais procurados (20)

ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
 
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
 
Mishimasyk6 iwatobipen
Mishimasyk6 iwatobipenMishimasyk6 iwatobipen
Mishimasyk6 iwatobipen
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
 
Mishimasyk 3 20140705
Mishimasyk 3 20140705Mishimasyk 3 20140705
Mishimasyk 3 20140705
 
クリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapmクリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapm
 
Try new transport protocol SRT (ver. 2)
Try new transport protocol SRT  (ver. 2)Try new transport protocol SRT  (ver. 2)
Try new transport protocol SRT (ver. 2)
 
ぎっとの「ぎ」
ぎっとの「ぎ」ぎっとの「ぎ」
ぎっとの「ぎ」
 
zshはいいぞ。 【限界LT #0】
zshはいいぞ。 【限界LT #0】zshはいいぞ。 【限界LT #0】
zshはいいぞ。 【限界LT #0】
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
 
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNAライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
秀丸最強化計画
秀丸最強化計画秀丸最強化計画
秀丸最強化計画
 
Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)
 
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
 
power-assert in JavaScript
power-assert in JavaScriptpower-assert in JavaScript
power-assert in JavaScript
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
 
GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.
 
ちょっと怖くなくったRails
ちょっと怖くなくったRailsちょっと怖くなくったRails
ちょっと怖くなくったRails
 

Semelhante a Javaな人が今すぐ使えるG*

JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyと
irof N
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
pocketberserker
 
Groovy base
Groovy baseGroovy base
Groovy base
Akura Pi
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
Atsushi Tadokoro
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
torutk
 
Ipv6について勉強しませんか 20110528
Ipv6について勉強しませんか 20110528Ipv6について勉強しませんか 20110528
Ipv6について勉強しませんか 20110528
kometch H
 

Semelhante a Javaな人が今すぐ使えるG* (20)

こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovy
 
JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyと
 
Javaに這いよる.NET
Javaに這いよる.NETJavaに這いよる.NET
Javaに這いよる.NET
 
Groovy joint
Groovy jointGroovy joint
Groovy joint
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファースト
 
ゆるふわアーキを支える技術
ゆるふわアーキを支える技術ゆるふわアーキを支える技術
ゆるふわアーキを支える技術
 
Introduction to guard + rspec
Introduction to guard + rspecIntroduction to guard + rspec
Introduction to guard + rspec
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Groovy base
Groovy baseGroovy base
Groovy base
 
SpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorbSpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorb
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
Go+revel
Go+revelGo+revel
Go+revel
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
 
Ipv6について勉強しませんか 20110528
Ipv6について勉強しませんか 20110528Ipv6について勉強しませんか 20110528
Ipv6について勉強しませんか 20110528
 

Javaな人が今すぐ使えるG*