うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

Groovy

Java/Groovyでうるう秒を扱う方法

Java言語でうるう秒を扱う方法を調べたのでまとめておきます。Twitterで質問したらたくさんのリプライ、エアリプがありそれらをもとに調べることで達成できました。ありがとうございました。 概要 Java標準APIのOracle実装ではうるう秒を扱えない。Calendar,…

Spockのレポート生成はHTML, Markdown, Asciidocできるし、カスタムも出来るんだぜ

GroovyのテスティングフレームワークであるSpockは標準ではレポート生成機能はありません。 多くはGradleでビルドしたときのxmlやhtmlを利用していると思います。 Spockにはspock-reportという拡張ライブラリがあり、これを依存関係に追加するだけでテスト結…

Spock1.1の新機能紹介

SpockというGroovy言語で記述するテスティングフレームワークがあります。 今回は2017/05/01にリリースされたバージョン1.1の新機能のうち3つを紹介します。 Spock リリースノート 本記事はG* Advent Calendar 2017の14日目です。 verifyAll メソッドによる(…

GroovyのAST変換事情

Groovy言語ではAST変換をサポートしているのでその昔からAST変換をつかったライブラリがそこそこあります。 アノテーションでコード生成やボイラープレートなどの短縮、コード検査があります。 今回はAST変換の書き方というよりどういった成果物があったり、…

爆速WebFW(らしい) Light-4JをGroovyから使ってみる

G* Advent Calendar 5日目の記事です。 JVM上で使えるWebAPIを開発するFWなどは多々ありまして、ハイパフォーマンスなものを探していたらどうやら Light-4Jというものがあるらしいと聞きつけました。 彼が言うにはそこそこ速いということで、ベンチマークも…

Java女子部でSpockの入門ハンズオン講師しました。 #javajo

Java女子部というコミュニティで2017/03/25に半日間のハンズオンでSpockというテスティングフレームワークの使い方を教えてきました。 Javaはだいたい書けるけど、Groovyとかよくわかりません!みたいな人に最低限のGroovyの使い方とSpockを教えるみたいな感…

テストをテストする方法-ミューテーションテスト- #gadvent

はじめに これはG* Advent Calendarの12日目の記事です。今日はミューテーションテストについて書きます。明日はid:nobusue さんです。 G*Advent Calendar(Groovy,Grails,Gradle,Spock...) Advent Calendar 2014 - Qiita 概要 PITというツールの紹介です。「…

Geb 0.9.xの新機能紹介 #gadvent

はじめに これはG* Advent Calendarの11日目の記事です。今日はGeb0.9系の新機能について書きます。明日はid:kyon_mm さんのGroovyでテストをテストする です。 G*Advent Calendar(Groovy,Grails,Gradle,Spock...) Advent Calendar 2014 - Qiita 概要 GebはW…

Geb 0.10の新機能紹介 #gadvent

はじめに これはG* Advent Calendarの5日目の記事です。今日はGeb0.10の新機能について書きます。明日はid:grimrose さんのRatpackについて です。 G*Advent Calendar(Groovy,Grails,Gradle,Spock...) Advent Calendar 2014 - Qiita 概要 GebはWebアプリケー…

IntelliJ IDEA14をインストールしたら設定すること(Groovy編) #gadvent

はじめに これはG* Advent Calendarの4日目の記事です。今日はSpockの新機能について書きます。明日はid:kyon_mm さんのGeb 0.10の新機能について です。 G*Advent Calender(Groovy,Grails,Gradle,Spock...) Advent Calendar 2014 - Qiita 概要 以前にIntell…

Spock1.0でBDDとレポートが進化している! #gadvent

はじめに これはG* Advent Calendarの2日目の記事です。今日はSpockの新機能について書きます。明日はRyotaMurohoshi さんの「初心者でも】やろうぜGroovy!〜Web APIたたいたり、レスポンスの中身確認したり、データを保存したり〜編【今すぐ使える】」です…

Gradleを入門する方法から更に知る方法まで #gadvent

はじめに これはG* Advent Calendarの1日目の記事です。今日はGradleの勉強方法について書きます。明日はid:kyon_mm さんの「Spock1.0でBDDする」です。 G*Advent Calender(Groovy,Grails,Gradle,Spock...) Advent Calendar 2014 - Qiita 概要 GradleというG…

Gradleの最新版を簡単に使う方法

Gradleの最新を使いたい Gradleは素晴しいビルドツールで、インストールも簡単です。でも、成長がはやいので、いったい何がGradleのトレンドなのかわからなくなることも最もです。また、Gradleのバグが直っている可能性を考えると最新版を使いたくなります。…

Gradleの最新動向を紹介しました #jggug

Gradle本がでます。 日本人著者による日本語のGradle本がでます。僕が知っている中では最も深く突っ込んだ内容でいて、幅も広い書籍です。ぜひお手にとることをオススメします。やたらとレビューしました。 Gradle徹底入門 次世代ビルドツールによる自動化基…

HerokuでGrailsを使うとクエリパラメータが文字化けするのでbuildpack直しました。

TL;DR HerokuではGrailsを簡単に(普通のGrailsプロジェクトをgit pushするだけで)デプロイすることができます。ですが、(少なくともHerokuがデフォルトで使う)Tomcat7ではクエリパラメータが文字化けします。Grailsで使うTomcat7のクエリパラメータをUTF…

Spockの知られざる機能

僕だけが知らなかったのかもしれません。。。 Spockではテストメソッドに@Unrollとつけると、パラメタライズがテストメソッド名に反映されます。これとっても見やすくてよいです。 こんな感じ。。。 class WhenWatchingUstream extends Specification { @Unr…

Spockのテストレポートが想像以上に凄い件について

タイトルはホッテントリメーカーを使いました。http://pha22.net/hotentry/tb/r?word=Spock%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88&phrase=9 全国49万のSpockユーザのみなさま。SpockのMLを見ていると思うので、ご存知か…

GradleでREPLするプラグインを紹介しました #JGGUG

一ヶ月前になりますが、JGGUGが主催しているG* WorkShopでGradleのプラグインについて発表しました。LTとして。 わいわいGroovy ~ 教えてG*小ネタ大会 - JGGUG G*ワークショップZ Jun 2014 - 日本Grails/Groovyユーザーグループ | Doorkeeper 朗報 発表当初…

Groovy言語のWebサイトと言語リファレンスが新しくなりました

The Groovy programming language Groovy言語のWebサイトが新しくなりました。 また以前から少しずつ書かれていた言語リファレンスについては刷新されてだいぶ体系的で見やすくなりました。(まだTBDな部分は多いですが、かなりマシになりました) The Groov…

Groovy基礎勉強会開催報告 #GroovyBase

イベント募集ページ:【Groovy基礎勉強会 - connpass】 Togetter:【2013/03/09(#GroovyBase)Groovy基礎勉強会 - Togetterまとめ】 スライド The History of Groovy #GroovyBase from Kyon Mm 感想 名古屋以外での基礎勉強会は初めてだったのですけれど、無…

ネットに転がっているGroovyスクリプトを直接実行する

ネットワーク上にあるGroovyスクリプトを直接実行できます。 groovy https://gist.github.com/kyonmm/5187373/raw/ghello.groovy Groovyがインストールされている環境で上のコードを実行すると、SwingでHello Worldがでてくるはずです。 (実はこれは100文字…

Groovyは衰退しました #gadvent2012

G* Advent Calendarの9日目になります。 G* Advent Calendar 2012 : ATND前はid:touchez_du_bois さんのAST変換の無駄使い - とある技術の謹書目録です。 次はid:fumokmm さんです。マニアックな話を書きます。とATNDに書いたのですが、高度とかではなくてで…

Git + Jenkins + Groovyの連携3 #kyon_mmAdvent

kyon_mm Advent Calendar つぎのリンクにあるAdventCalendarの四日目です。 http://connpass.com/event/1457/ おしながき GradleでJenkinsプラグインインストール自動化 ビルド後をGroovyPostBuildで自由自在に操る 準備 Groovyのインストール Gradleのイン…

Git + Jenkins + Groovyの連携2 #kyon_mmAdvent

kyon_mm Advent Calendar つぎのリンクにあるAdventCalendarの三日目です。 http://connpass.com/event/1457/ Gitの共有サーバを構築して、開発PCと連携する よくあるというかやりやすそうな構成を下に図示しました。 GitとJenkinsを別サーバーにするほうが…

Git + Jenkins + Groovyの連携1 #kyon_mmAdvent

kyon_mm Advent Calendar つぎのリンクにあるAdventCalendarの二日目です。 http://connpass.com/event/1457/ JenkinsのJOBを作成してみる ビルドするプロジェクトに必要なJenkinsのプラグインやツールをJenkinsサーバーにインストールする。 Jenkinsで実行…

Git + Jenkins + Groovyのインストール #kyon_mmAdvent

kyon_mm Advent Calendar つぎのリンクにあるAdventCalendarの一日目です。 http://connpass.com/event/1457/ やること Groovyのインストール Gitのインストール Jenkinsのインストール 環境 特に指定しないが、GroovyとGitはWindowsでの説明とします。 Mac…

Re:GroovyのPowerAssertさんをいじめようとしてみた

今さらというか、下書きが残っていたので公開。 はじめに まずは id:irof (@irof) さんの【GroovyのPowerAssertさんをいじめようとしてみた - 日々常々】を読んでください。 今回はこのPowerAssertという素晴らしい機能についての説明です。 PowerAssertをぶ…

GroovyObjectSupportを読んでみた

GroovyObjectSupport (Groovy 2.2.1)コンストラクタ内でInvokerHelper#getMetaClass をコールしてフィールドのmetaClassを初期化しています。 get/setPropertyはフィールドのmetaClassを介して呼んでいて、metaClass自体はget/setMetaClassで取得/変更が出来…

GStringを読んでみた

GString (Groovy 2.2.1) GStringはabstract Class GroovyObjectSupportクラスを継承 GStringはObjectの配列valueを保持している getStringsでStringの配列を返す抽象メソッドを定義している invokeMethodではまずGroovyObjectSupportクラスに定義されている…

Groovyを勉強するときの手順

なんかプログラミング言語ならどれでも一緒だと思うんだけど、Groovyやるならこうするのがいい。と思ったので。 コードを書くとき Dumpを使う いま使いたい変数にどんなものが入っているのかわからない。型がなにでどんなメソッドやフィールドを持っているの…