日々常々

ふつうのプログラマがあたりまえにしたいこと。

Groovy

JDK8EAでGrabが使えないぽ

わざわざEAなんて入れる人はハマらないんだろうけども……(´・ω・`) JDK8 Early Access Releasesさんを入れてる端末で。 % java -version java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b91) Java HotSpot(TM) 64-Bit Server VM …

Groovyをbrewからgvmに乗り換えるメモ

brewいいんですが、なんかgvmが流行なので乗り換えるです。 gvm? http://gvmtool.net/ 「the Groovy enVironment Manager」らしいです。とりあえず rvm っぽいものです。rvm もそんなに理解してないんですが。 gvmのインストール 書いてる通りやります。 $ c…

合同勉強会in大都会岡山 -2012 Winter-でG*紹介してきた

2012/12/15に 合同勉強会in大都会岡山 -2012 Winter- - PARTAKE にて hoge駆動 で参加してきました。 そもそもhoge駆動ってなんよ? しらん。 hoge駆動って岡山県近辺のIT勉強会コミュニティなの? しらんって。 スライド Javaな人が今すぐ使えるG* 内容 Gro…

GroovyでJUnitなテストを書くときの注意点……なんて無かった #gadvent2012

Groovy!!(挨拶) G* Advent Calendar 2012 の13日目でございます。 前日: SpockでビルトインされているExtensionsとかそのへん - Yamkazu's Blog / @yamkazuさん 翌日: groovy.lang.MissingPropertyException*1*2 http://piyopiyoducky.net/gadvent2012/ / …

関ジャバの裏でコード書いてたヤツら

関連エントリ 関西Javaエンジニアの会とやら #kanjava - 日々常々 Java SE 8 で入る Lambda の構文は新しいメソッド用と言うわけでもなく - 日々常々 関ジャバでLambdaのセッションの後、適当にGistに書殴ってポストしたわけです。さくらばさんのセッション…

Java SE 8 で入る Lambda の構文は新しいメソッド用と言うわけでもなく

Java SE 8 でようやく Project Lambda が入ります。何が嬉しいかってーと内部イテレーターですね。内部イテレーターってそのオブジェクトの中でぐるんぐるんするんで、外からは「この処理をしてくださいな」と渡す必要があります。それを簡単に書けるように…

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

GroovyのはPowerAssertという素敵なアレがあります。 assertに失敗したらそれを表示してくれるんですね。でも文字列で表示するだけなので、toStringの実装がequals/hashCodeの実装とアレだったらこう、残念なことになります。 hogeとhogeなのにfalseだよ、と…

GroovyでJavaのpackage-info.javaを一括生成するスクリプト

元ネタ: http://d.hatena.ne.jp/tbpg/20120808/1344447924package-info.javaを全部ごそっと作ろうってのをRubyで書いたものらしいです。Ruby勉強したはずなのに殆ど覚えてない残念さを噛み締めつつ、Groovyで書いてみようと思ったのと、Gist埋め込みやってみ…

Groovyのくろーじゃさん

Closureという概念が理解しにくいので色々やってみた@Groovy - (define -ayalog '())につけた長文コメントを整理しておこうかと思って書いた。動作確認は Groovy2.0.0 です。2.0.0 って言ってみたかった。でもこの辺って多分1.7とかと変わってないと思う。 …

"Buzzになる数字をn個挙げる"をGroovyで…やろうと思ったんだけど

“Buzzになる数字をn個挙げる”をScalaで - 裏紙 のお返し……をしようとして。 fizzBuzz = {it%15?it%3?it%5?it:'Buzz':'Fizz':'FizzBuzz'} (1..100).findAll{fizzBuzz(it)=='Buzz'}.take 10 「n個」がこれだとできん……orz 大きめにとってtakeで誤摩化してるけ…

ワンライナーを書こうとして詰まったメモ

昨日の を書いてる時に困ったとこ。コマンド慣れてないからかもしれないんだけど…。 簡単なの 簡単なのなら問題ないです。MacでもWindowsでも。 Airof:GAdvent irof$ groovy -e "println 'hello'" hello PS> groovy -e "println 'hello'" hello Macのほう シ…

groovyコマンドオプション一巡り #gadvent2011

G* Advent Calendar 2011の20日目です。 前:groovyist.jp - 整数論は数学の女王なんだってさ 次:mike、mikeなるままに…: 恥ずかしくて今さら聞けない、GMongo講座 2 コマンドラインのGroovy JavaがIDE前提にしている事も有り、JavaからGroovyに入った方はG…

MacでJava7でGroovyConsoleのメモ

参考 Mac OSXにOpenJDKをインストール #openjdk #java7 - #侍ズム openjdk-osx-build - OpenJDK 7 and 8 Community packages for OS/X Snow, Lion and Mountain Lion - Google Project Hosting あ、そうそう。MacBookAir買ったんですよ。Twitterでは言ってま…

「お題:文字列を先頭から見て同じところまで除去」をやってみた

お題:文字列を先頭から見て同じところまで除去 - No Programming, No Life前からちょっとやってみたいなーと思ってたfumokmmさんの「お題」の新しいのが出たのでやってみました。 出題者の土俵であるGroovyでやるあたり、向こう見ずな感じ。思った以上に苦…

「こんにちはGroovy」

第1回プログラミングGroovy勉強会(大阪)で話してきました。 http://atnd.org/events/17580 次は #ghello ネタです。この辺とGroovyConsoleとご一緒にー。 togetter URL まとめ URL #jggug2011-08-05 20:35:08 via Janetter2 こんにちはGroovy View more pres…

SpockをGroovy1.8のGroovyConsoleから使ってみよう

と思って backpaper0さんち を横目で見ながら GroovyConsole 立ち上げてやってみた。 groovy> @Grab('org.spockframework:spock-core:0.5-groovy-1.7') groovy> import spock.lang.* groovy> class HelloSpec extends Specification { groovy> } Exception t…

Groovyでネストしたクラスを触る時に注意しないといけないかもしれないこと

結論は「よくわかりません!」なのでメモ代わりです。 とりあえずバージョン PS> groovy -version Groovy Version: 1.8.0 JVM: 1.6.0_24 本題 class Outer { static class Inner { } } class Child extends Outer{ } new Child.Inner(); Javaだと出来る「子…

Groovyの処理の差し替えとtoString

class A { String toString() { return "AAA" } } def a = new A(); println a a.metaClass.toString = {return "BBB"} println a println a.toString() toStringを差し替えてみよーってだけなんだけど… 結果 AAA AAA BBB 勝手に呼ばれるのと明示的に呼ぶの…

Zusaar APIをGroovyで叩いてみる

殆ど ATND APIをGroovyで叩いてみる - 日々常々 と同じです。 ZusaarとATNDのAPIを使う上で違ところは殆どないので、「殆どそのままです」ってネタ。 「殆ど同じだから共通化」と考えるかもしれませんが、この場合は違う概念のものなので共通化しちゃいけな…

GroovyでMD5をやってみる

Shibuya.trac第12回勉強会 〜チケット管理システム大決戦 第二弾〜 http://sourceforge.jp/projects/shibuya-trac/wiki/meeting%2F17 http://togetter.com/li/156024 Ustで見てました。そしたら。 Twitter API ポケットリファレンスたくさんの応募ありがとう…

ATND APIをGroovyで叩いてみる

イベント開催支援ツールであるところのATND(アテンド)にはAPIがありまして、これはごくごくシンプルなあれで御座います。使おうと思ったら、誰でも使う事ができます。例えば以下のアドレスにアクセスすると、「google」を含むイベント10件をXMLで取得でき…

フォロー出来てないフォロワーのリストを作ってみる

欲しくなったんです。でもTwitterのリスト編集はお世辞にも使いやすいとは言えない。すみません、言い直します。Twitterのリスト編集は使い難い。 で、リスト管理するサービスってやっぱりあって、いくつか見てみたんですけど、なんか使うのめんどくさい。す…

Javaソースコードリーディング#4 で喋ってきた

http://atnd.org/events/14143 http://togetter.com/li/147119 Twitterを知らない人は居ないでしょう。そしてTwitter4JはTwitterを使ってるJava開発者で知らない人も居ないくらいのディファクトスタンダードなTwitterライブラリ。今回はその作者である @yusu…

第6回「Groovyイン・アクション読書会」IN 関西で(多分)読んできました

第6回「Groovyイン・アクション読書会」IN 関西 : ATND 第6回「Groovyイン・アクション読書会」IN 関西 - Togetterまとめ 第6回「Groovyイン・アクション読書会」IN 関西 で GContracts の紹介をしました - お だ のスペース 本より発表がメインだった、よう…

素数かを調べる

今日は11日です。 11は素数だから今日は素敵な日です。2011-05-11 08:51:19 via Echofonでも11が素数かは不安なので、本当に素数かどうか調べないといけません。 Javaでやってみる public class Main { static int value = 11; public static void main(Stri…

Groovyの文字列検索メソッド(eachMatch)の結果取得

GWだからGroovyの勉強してます! 本音は 第6回「Groovyイン・アクション読書会」IN 関西 に参加申込してしまったので慌てて勉強してるだけだったりします。 発端 Groovyイン・アクションの写経をしていたら assert 通らないのがあったんです。 Groovyイン・…

割り算を除算演算子なしで

何でこんなものを書こうと思ったんだろう…。 x = 10 //割られる数 y = 3 //割る数 z = 5 //小数点以下の最大桁数 i=0; j=1; while (x > 0 && z >= 0) { while(x >= y) {x-=y; i+=j} y *= 0.1; j *= 0.1; --z; } println i なんかもっと良い書き方ある気がす…

Windows7にGroovyをインストールしたメモ

T2Frameworkコードリーディングに行って来ましたので、Groovyをインストールしました。順接でつなぐのは間違っているように見えますが、書き間違えた訳ではありません。 ダウンロードとインストール さて、まずはGroovyをダウンロードしてきます。Windows版…