No Programming, No Life

プログラミング関連の話題や雑記

Groovy

GroovyのPowerAssertの力を享受するなら、引数は1つの方を使わないとダメらしい

論よりコード。 動作確認バージョン $ groovy -v Groovy Version: 1.9.0-beta-1 JVM: 1.7.0-internal test.groovy def str = 'abc' assert 'わざと間違う' == str 結果 $ groovy test.groovy Caught: Assertion failed: assert 'わざと間違う' == str | | | …

第3回 もくもくGroovy 開催します!

ふも@JGGUG名古屋です。 兼ねてより企画しておりました、もくもくGroovy を開催いたします! イベント参加表明はこくちーずページよりお願いします。 http://kokucheese.com/event/index/15207/ 最近、Groovyユーザも増えてきましたね! 名古屋でも何かワー…

Twitter上に広がるGroovyistの輪、あなたもGroovyバッジを付けてみませんか?

アイコンにGroovyのロゴを追加するjarを作りました - No Programming, No Life にてアイコンにGroovyバッジ(Groovyのロゴ)を付けられるお手軽アプリを公開させていただいております。 これを利用して実際にTwitterアイコンにGroovyバッジを付けてくれている …

Mac OSXにOpenJDK7をインストールしてGroovyを実行する

こちらの@yusukeyさんの記事を参考にMac OSXにOpenJDK7をインストールしてGroovyを実行するところまで試してみたのでメモしておきます。 1.まずはOpenJDK7をダウンロード Mac OSX用のバイナリが以下から手に入るのでダウンロードしてきます。 http://code.go…

GroovyなJDK、それがGDK(java.util.List編)

このシリーズの一覧はこちら はじめに GroovyにはJavaの標準API(JDK)を拡張したGroovy JDK(GDK)があります。大量の便利メソッドが追加されており、これを使いこなすだけでも相当のことができるようになります。このシリーズでは毎回1クラスずつ各メソッドの…

Gradleで--daemonオプションを付けた際にnew Fileするとうまくいかない

はじめに --daemonオプションは高速起動するためのオプションなんですが、まだexperimental(実験段階)なんで何があっても自己責任でお願いしますということです。 $ gradle -h (省略) --daemon Uses the Gradle daemon to run the build. Starts the daemon …

Groovy v1.8.1とv1.9-beta-1の新機能をサクっと紹介するよ

このシリーズの一覧はこちら はじめに 2011-07-21にGroovy v1.8.1とv1.9-beta-1が同時リリースされたようなので、その新機能の一部をサクっと紹介します。 1. プリミティブ型演算のパフォーマンス最適化 割愛*1 2. ストリーミングビルダー(StreamingJsonBuil…

猫にもわかるSwingBuilder「frame」

このシリーズの一覧はこちら はじめに 自分のSwing力の無さに愕然としたので、ちょこちょこサンプルを作ってはまとめてゆく。故にちょこちょこ記事は加筆修正されてゆく予定です。 まず何はともあれframeを作らないと始まらないですよね、ということでframe…

現場で使えるGroovy(その3)「JavaにREPLが無いならgroovysh, groovyConsoleを使えばいいじゃない」

このシリーズの一覧はこちら はじめに ご存知の通り、JavaにはREPLがありません。しかし残念がることはありません、そう、あなたにはGroovyが付いています。 Groovyがこれらの特性とJavaとの親和性を高いレベルで同時に実現していることです。 (中略) ・Ja…

「1000以下の回文素数で最大のものを示せ」をGroovyでやってみた

当メモは [お題] 1000以下の回文素数で最大のものを求める | Think Twice へ移管しました。

Groovyでリスト内包表記(その2)

はじめに Groovyでリスト内包表記 - No Programming, No Lifeの記事にfujwaraさんより、Scalaでは以下のようにできるけど、Groovyではどうやればできるの?とコメントをいただきました。 手始めにGroovy流に書いてみる うん、ほんとはこれでいいと思うんだけ…

Groovyの再帰処理(trampoline)についてひとつ分かったこと

はじめに Groovyのクロージャ(Closure)には.trampolineってメソッドがあって、これをうまい感じに使うと末尾再帰を最適化してくれる。 よしやってみよう では、簡単な合計値を求めるサンプルを再帰処理で。 java.lang.StackOverflowError お約束。 よし、今…

Groovyでdo-whileループを!

はじめに No 'do ... while()' syntax as yet. do ... while() 構文はまだないよ! Due to ambiguity, we've not yet added support for do .. while to Groovy 曖昧だもん、だからGroovyのサポートにはまだdo ... while()ループは追加してないんだからね! …

「Groovy物語」はじめました

.bbpBox{background:url(http://a1.twimg.com/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}Javaを知らないGroovy使いはきっと出てきづらい。GroovyはJava使いの道具箱みたいな感じの言語なので。ただ、Groovyから入ってJavaを知るという流れは出て…

第16回 G*ワークショップで発表してきました

こんにちは、ふもです。 発表してきました 2011/6/17(金) 19:00〜 より行われましたJGGUG恒例イベント 第16回 G*ワークショップ+JGGUG総会にて GParsのことをお話させていただきました。 発表で使ったスライド 今日からはじめるGPars View more presentatio…

Groovyでスリープソートとバケットソートをやってみた

はじめに ちょっと前にスリープソートが流行ってたので、それをid:orangecloverさんが実装していたのを見て、id:nobeansさんがさらに添削していたものを参考に書いたコードが下のようになりました。 スリープソートって スリープソートって、あるデータのも…

連載はじめました!「もし新人女子Javaプログラマが『Groovyイン・アクション』を読んだら」

すべてはこのツイートから始まった… .bbpBox{background:url(http://a1.twimg.com/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}「もしも新人女子JavaプログラマがGroovy in Actionを読んだら」って本を書いたら売れるでしょうか? #GroovySat Apr …

アイコンにGroovyのロゴを追加するjarを作りました 

(◕ ‿‿ ◕)グルーべぇ 僕と契約して、Groovyistになってよ! 契約と引き換えに出来上がるのがGroovyバッジ。 契約方法 まずは、ここからjarをダウンロードして下さい。 GUIで使う jarをダブルクリックして起動 配置場所や縮小率などを調整 ウィンドウにアイコ…

I made jar that adding Groovy's logo on your icon

(◕ ‿‿ ◕)Groovee Please contract with me, and will be a Groovyist!! This is a groovy badge, generated by contract in exchange. (This is parody of Japanese Anime "Madoka Magica") How to use First, download this jar. Using by GUI Double click…

Groovyのtrampolineを使ってピラミッドのお題を解いてみた

お題はなつかしのどう書く?orgのもの。 Server error ソースコード 解説 計算したくない、再帰で書きたいと思った、そこでトランポリンですよ! ソース上に示したHINTみたいなリスト構造をつくって、エイヤで出力しています トランポリンしてるので、4段じ…

Groovyで@Categoryを使ってカテゴリクラスを作成する

@Categoryアノテーションを付けるとそのクラスをカテゴリクラスにできますよというサンプル。この機能はObjective-Cのカテゴリ由来のようです*1。 以前までは第一引数にメソッドを追加したい型をパラメータself*2として付けたstaticなメソッドを宣言してやる…

Groovyソースコード斜め読み(その3)「GDKのメソッドはDGM、DGSMに定義されている」

このシリーズの一覧はこちら はじめに org.codehaus.groovy.runtime.DefaultGroovyMethods (JavaDoc) org.codehaus.groovy.runtime.DefaultGroovyStaticMethods (JavaDoc) というクラスをご存知でしょうか。実はGDKによって拡張されたメソッドの実態はこのク…

Groovy v1.8の新機能をサクっと紹介するよ

このシリーズの一覧はこちらGroovy v1.8リリースノートより。 はじめに 待ちに待ったGroovy v1.8がやっと出ましたね!ということで、Groovy v1.8の新機能をサクっと紹介したいと思います。 Groovy v1.8は結構多くの機能拡張がなされておりますので、サラっと…

気になってたSpockを試してみた

Groovy!(挨拶) はじめに SpockはGroovy製のBDDフレームワークです。前から気になっていた*1ので是非試してみたいなと思っていたら、 id:backpaper0 さんが はじめてのSpock - 裏紙 で試していたので、私も試してみました。といってもやった内容はほぼコピ…

Groovyならインタフェースはクロージャとマップで実装できる

はじめに インタフェースは機能仕様と実装を切り離す素晴らしいアイデアです。Javaではinterfaceキーワードでこの機能を提供しています。が、Javaだとこれを実装するのが意外と面倒くさいんですよね。 Javaだとこうなる Readable r = new Readable(){ int re…

Groovyの本家ドキュメントの翻訳をはじめたよ

前々からやりたいなと思っていた作業なので勝手に参加させてもらうことにしました。日本語ドキュメントを見てみるとまだまだ数が少ないのでちょっとでも日本語のドキュメントが増えて日本のGroovyユーザが増えることに貢献できればと思います。 Groovyドキュ…

ゼロから2時間で作るGroovy DSL

はじめに この記事はA Groovy DSL from scratch in 2 hours | Groovy Zoneを意訳したものです。訳者の力不足により翻訳に未熟な部分が多数あると思われますこと、ご勘弁願います。 ゼロから2時間で作るGroovy DSL 今日はついてるな。DZoneでArchitecture Ru…

こだまでしょうか、いいえ、Groovyです。

「pom.xml書くのめんどい」っていうと「Gradle」っていう。「静的が良い」っていうと「Groovy++」っていう。「起動が遅い」っていうと「GroovyServ」っていう。「マルチコア」っていうと「GPars」っていう。「ウェブアプリ」っていうと「Grails」っていう。…

Re:今流行のお題を出してみた(一方通行を許可した迷路を作成)

はじめに 元ネタはこちら。前から取り組んでいたのですが、仕様が複雑なのとアルゴリズムを考えてたら頭がこんがらがってきてしまっていたのと、新年度が始まったので色々と忙しかったので、なかなか取り組めてなかったのですが、力技で作ったやつを公開して…

Groovyでクラスにプロパティをくっつける

はじめに プロパティは オブジェクト.プロパティ の形式でアクセス可能なものです。Groovyの場合は引数を取らないクロージャとして定義することができます。 サンプルコード 解説 プロパティをくっつける方法は二つあります。 その1. ゲッターで定義 Object…