Yokohama.groovy #1 を開催してきた #yokohamagroovy

人数としては少人数(現在6人)ではあるし、特に開催にあたって公的に募集を掛けている訳ではないですが、主にアジャイルサムライ読書会 横浜道場に参加されている方々を中心にTwitter上で話が進み(、これより前に第0回を開催してざっくり進め方を決めた後)、この日第1回を実施してみました。


開催場所はタネマキ@横浜。


Groovyに関するイベントというと真っ先に『JGGUG』が思い浮かびますが、こちらは講演が主。(実践系イベントも時折あったりしますが)

こちらのイベントの趣旨としては、Groovy及びG*界隈に関するテーマを取り上げ、手を動かして(写経・実践)理解を深めて行こうよ、というもの。適度なペースで課題に取り組み、手を動かして分からない所は教え合い、課題に対する理解を深めていければ良いかな〜と言う感じですね。


テーマについては幾つかアイデアが上がったりしましたが、まずはGroovyを始めるならまずこの1冊!という位置付けの書籍『プログラミングGroovy』の写経・実践から始めてみようと言う事になりました。今後しばらくはこのテーマで続きそうな予感。

プログラミングGROOVY

プログラミングGROOVY


以下にやった内容、躓いた所、調べた内容/調べておきたい内容、Tips等など列挙メモしてみる。

環境構築

  • 参加メンバーほぼ全員がIntelliJ IDEAという偏りっぷり(笑) 自分もそうでしたけど、後でEclipseベースの実行方法も押さえておきたいと思います。
  • Groovy及びGradleをインストール、環境変数設定及びPATH設定まで済ませる。
  • Gradleを使ってIDEAベースのプロジェクト作成を行う。以下のファイルを『build.gradle』として作成。
"apply plugin: 'groovy'
apply plugin: 'idea'

version = '1.0'

sourceCompatibility = 1.7
targetCompatibility = 1.7

[compileJava, compileTestJava, compileGroovy, compileTestGroovy].each { it.options.encoding = 'UTF-8' }
[compileGroovy, compileTestGroovy].each { it.groovyOptions.encoding = 'UTF-8' }

repositories {
    mavenCentral()
}

dependencies {
    groovy 'org.codehaus.groovy:groovy-all:1.8.6'
    testCompile 'org.spockframework:spock-core:0.6-groovy-1.8'
}

task quickStart << {
    sourceSets*.allSource*.srcDirs.flatten().each { it.mkdirs() }
}

task wrapper(type: Wrapper) {
        gradleVersion = 1.1
}

『プログラミングGroovy』1章 Groovyの世界へようこそ

  • 各自事前に読解済、且つ写経すべき箇所も特に無いので割愛。

『プログラミングGroovy』2章 Groovyの利用方法

  • 基本割愛。
  • ただ、後にGroovyスクリプトを動かす際に以下の実行方法が選択肢として存在、その中で『プログラムに引数を渡して実行するにはどうすればいいのか/どうやれば良いのか』というのがポイントとして挙がってました。当日はIDEA経由で実行時の環境を設定し、実行するという手法と取っていましたが、その他の手法(Groovy Console, Groovysh)については調べが付かないまま終わってたので、(可能であれば)どういう操作方法で実現出来るのか、というのは課題。

『プログラミングGroovy』3章

3.1.コード例でのassertの使用について
  • 割愛。
3.2.ひとめぐり
  • 本日のメイン。各自でコードを書き、その後書籍に倣って読み進め、理解を深めた。
  • 【躓いた点】割と多くの人が、"Macでバックスラッシュ"が出せない状態だった。
    • 単純に[¥]ではNG。
    • [option + ¥]で意図する文字(バックスラッシュ)が出せた!
その他
  • メソッド名に日本語が使えない(ので使えるようにするための手順)点については、各自気には掛けていたがその場では特に踏み込む事はせず。テスト関係では使う事になるのでこの辺も把握しときたい。
  • クロージャ』について
    • ひとめぐりの題材でいきなり出て来ていた。雰囲気何となく分かるけど、ちゃんとした理解が必要。
    • itに関する疑問・考察等で議論。




時間にすると20:00〜22:00、約2時間。タネマキの閉店時間(22:00)を以て会もお開きに。

次回については『3.3 プログラムの構成』以降。この後は構成的に

と重要ポイントが続くため、対象範囲もこの辺りにフォーカスを当てて進めていく事になりそうです。


写経なり独学については一人でも出来ますが、割と通常業務やその他優先事項が割り込むと後回しにされがち。勉強会というイベント駆動にする事で進める気持ちが出てくるのは良い効果ですね。程良いスピードで見聞が広がり、理解も深まるのは嬉しい所。

個人的には『Groovyイン・アクション』も所持しているので(若干バージョンは古くなっているけど)こちらとあわせて予習・復習を行ってこうと思います。

Groovyイン・アクション

Groovyイン・アクション