Groovy

メモ Jenkins のスクリプトコンソールで Job の JDK を一括変換

gist.github.com save 呼ばないと反映されないので忘れないように。

Gradle で Java から Groovy なクラスを参照する時の設定

第24章 Groovyプラグイン にあるように、 compileJava -> compileGrooby, compileTestJava -> compileTestGroovy てな形の依存関係になっていて、 Groovy から Java は OK ですが、Java から Groovy はダメです。 main は OK">*1 たまたま src/test/java か…

メモ:Gradle で Java8 のビルドが失敗したけど直った

sourceCompatibility = targetCompatibility = '1.8' 上のように 1.8 にしてビルドすると、 1.8は無効なソース・リリースです とエラーが出ました。 Gradle 1.10 and Java8 / JDK8: invalid source release: 1.8 Gradle build with Java 8 - Stack Overflow …

メモ:gradle の task で MarkupBuilder を使う時の注意点

file とか name というタグを出力する時は、要注意。 groovy - How to avoid outer-scope values messing with using the MarkupBuilder? - Stack Overflow build.gradle import groovy.xml.MarkupBuilder task sample << { def writer = new StringWriter()…

Groovy は日本語クラス名を使ってるとコンパイルエラーになるケースがある

Groovy のバージョン:1.8.0 こんなコードがコンパイルエラーになる jpn.groovy class 社員 {} class Logic { 社員 getEmployee() { return null; } } assert new Logic().getEmployee() == null 4行目の 社員 が unexpected token でコンパイルエラーになる …

第7回「Groovyイン・アクション読書会」IN 関西 で 反省会LT しました

第7回「Groovyイン・アクション読書会」IN 関西 : ATND で プログラミング生放送勉強会 第9回@大阪 で Groovy 諸々の話しをしました - お だ のスペース で話した Groovy の部分 をネタに LT しました。 プログラミング生放送でのセッションは、アンケート結…

Map のキーに変数を使いたい場合は、()で囲む

忘れがちなのでメモ def key = "ABC" def map = [ key:"AAA" ] println map.get(key) // null println map.get("key") // "AAA" map = [ (key):"AAA" ] println map.get(key) // "AAA"

Java のコードをそのまま Groovy にコピペした際は、equals メソッドをオーバーライドしてたらハマる

同参照比較 は、Java では "==" ですが、Groovy では is メソッドです。 自分でもブログに書いていたんですが、すっかり忘れてました。 Object の同一性を確かめる - お だ のスペース Java で equals メソッドを override したコードを、そのまま GroovyCon…

6/18 大阪EffectiveJava読書会 第2回 で LT しました

大阪EffectiveJava読書会 第2回 : ATND で話す機会を頂いたので、LT(8分位) しました。 資料はこちら こんなEqualsは嫌だ View more presentations from odashinsuke Effective Java 第二版の 項目 8 equals をオーバーライドする時は一般契約に従う 項目 9 …

第6回「Groovyイン・アクション読書会」IN 関西 で GContracts の紹介をしました

第6回「Groovyイン・アクション読書会」IN 関西 : ATND で LT 枠をいただいたので、「契約プログラミング」という題で、GContracts の紹介をしました。*1 セッション資料はこちら 契約プログラミングGContracts は以前少しだけ取り上げました*2が、バージョ…

C# で Key、Value な コレクションを XML にしてみた

元ネタ: GroovyのMarkupBuilderで再起的な構造のXMLを生成する - No Programming, No Life GroovyでKey、ValueをXMLにクールに出力する-keyValueXml.groovy- - Togetter Groovy では乗り遅れた/書けない ので C# の勉強も兼ねて書いてみた。 本体 using Sys…

GContracts を触ってみました

久々の Groovy ネタです。 以前、GContract - uehaj's blog で紹介されていて触ってみようと思っていたのですが、一昨日やっと触ってみました。 面白いな〜と思ったので、簡単に紹介を。 現在は、1.1.2 迄リリースされているようです。 GContracts 1.1.2 Rel…

GMaven sourceEncoding が適用されない

POM ファイルで指定した、sourceEncoding は適用されない。 [#GMAVEN-13] sourceEncoding doesn't work - jira.codehaus.org どうも ${file.encoding} がそのまま適用されると思われ。 GMaven - groovy:compile 対応策は、mvn 実行時に、次のパラメータを渡…

synchronized でハマッた〜

Java の synchronized はメソッドに指定するだけではなく、ブロックにも指定出来るらしい。 こんな感じ synchronized (<object>) { // ロック中! } でこの、 は、ロックを取得する オブジェクト(参照型) を指定するんだけど、 Groovy の場合、値型 を渡してもコンパ</object>…

JGGUG 関西支部忘年会で Azure のセッションしました。

JGGUG関西支部 年忘れLT大会と忘年会 に参加します - お だ のスペース で書いた通り、「Azure for G*」というタイトルで話しさせていただきました。 LT の予定でしたが、諸々の事情で普通のセッションになりました。 内容は、このブログで何回か書いていた…

JGGUG関西支部 年忘れLT大会と忘年会 に参加します

JGGUG関西支部 年忘れLT大会と忘年会「2009年はなかったことにする」 で LT をやらせていただく予定です。 最近調べていた Windows Azure と Groovy の絡みで話そうと思ってます。

Gaelyk から Windows Azure Storage を使おうとして挫折

Gaelyk から SQL Azure を使おうとして挫折 - お だ のスペース で SQL Azure を使おうとして無理だったんですが、Windows Azure Storage はどうだろうと思い、 を使って試してみました。 が、SQL Azure の時と同じく無理でした。これも GAE ではサポートし…

Windows Azure Tomcat Solution Accelerator の環境構築 & Groovlet が動いた!

Windows Azure で Tomcat 動いた! - お だ のスペース で書きましたが、Windows Azure Tomcat Solution Accelerator - Home の環境構築から Azure にデプロイ迄を書きます。 といっても、すごく簡単なんですが…。前提条件として、Microsoft Download Center…

Azure 上で Groovlet が動きました

Windows Azure Tomcat Solution Accelerator の環境構築 & Groovlet が動いた! - お だ のスペース で作成した Azure パッケージをデプロイしてみました。 動いてますね〜

Windows Azure SDK for Java - Lab 1 Windows Azure Storage using Blob Service を試し中。

Windows Azure SDK for Java Developers Learn Lab 1 — Windows Azure Storage using Blob Service を試しています。サンプルソースを落として JUnit を実行すると、いきなり幾つかのテストが通らない。。 まだ、コードも全然読んでないんで何が原因かは分か…

Gaelyk から SQL Azure を使おうとして挫折

とりあえず試してみたけど、失敗しました。ローカルでもサーバーでも同じエラーが出ました。 ローカル Script processing failed.access denied (java.net.SocketPermission serverName.database.windows.net:1433 connect,resolve)java.security.AccessCont…

Groovy から SQL Azure に JDBC で接続してみた

ポータルサイトには、JDBC の接続文字列が表示されないので試してみました。 ちなみに、JDBCドライバは マイクロソフト公式ダウンロード センターから Microsoft SQL Server JDBC Driver 2.0 をダウンロード が必要だそうです。 参考にしたサイト:Possibili…

Gaelyk 動いた!

早速環境を構築してみた。Java SDK、Groovy はインストール済の環境に、 Eclipse 3.5、GAE/J SDK、Eclipse Plugin (GAE/J、Groovy) を入れて、id:kiy0taka さんが公開している [Groovy] Generate new Gaelyk project for Eclipse を実行。 スクリプトで出来…

Gaelyk すげ〜

JGGUG 第4回「Groovyイン・アクション」読書会 IN 関西 開催 にて、id:kiy0taka さんが紹介してくださいました。 動かす迄のデモ(環境構築〜実装〜動作)を見ましたが、あっという間に完成!何なんだこの手軽さは!最近はめっきり、GAE/J を触っていなかっ…

バックスペース(\b)をコンソールに出力したら、バックスペースする

昨日のJGGUG 第4回「Groovyイン・アクション」読書会 IN 関西 開催 にて Groovyイン・アクション の P-244 Thread.sleep を使った例で提示されているコードを動かしてみて感動した! Groovyイン・アクション P-244 コード抜粋 text = """ This text appears …

Groovy って NaN の比較が Java と違う…

ネタ元: なんぞこれ。NaNってなんなんすか?あのね、非数のことだよ。なんだかナンのカレーが食べたくなるね。ヒ素じゃなくてよかった。 びっくりした事 普段、double.NaN を意識するようなプログラムを書いていないので新鮮でした。そこで、早速 Groovy で…

ExpandoMetaClass.enableGlobally と disableGlobally

型に対するメタクラスとインスタンスに対するメタクラスで遊んでたら例外がでた - お だ のスペース の続きです。 ExpandoMetaClass.enableGlobally()について一言いっておくか - uehaj's blog にて、uehaj さんが解説してくれました。 ExpandoMetaClass (Gr…

Groovy の メタクラス でメソッドの処理を差し替えても Java から呼び出したら替ってないのか…

タイトルの通り。あくまでも メタクラス っていう Groovy 側が持っている物に登録しているから、それを利用せずに呼び出す Java からでは変更されないのかな? Groovy イン・アクション の メタプログラミング の章 を読んでみようか。 ちなみに、やりたかっ…

インターフェース で宣言しているメソッドをメタクラスで差し替える

インターフェースを実装しているクラスの一部のメソッドを差し替えるにはどうするの? - お だ のスペース の続き。 インスタンス を生成する前に、型の メタクラス で メソッド の上書き。そして インスタンス を生成後に、インスタンス の メタクラス でさ…

インターフェースを実装しているクラスの一部のメソッドを差し替えるにはどうするの?

やりたい事は、Java で宣言されているインターフェースとそれを実装したクラスがあって、インターフェースで宣言されている一部のメソッドの実装を差し替えたい。 このコードでうまくいかない。 Impl.java interface Test { void print(); } public class Im…