読者です 読者をやめる 読者になる 読者になる

groovy

JJUG CCC 2015 SpringでGroovyについて話してきた

2015/4/11のJJUG CCC 2015 Springで、Groovyについてお話ししてきました。 CFPに応募するかしばらく迷ってたんですが、ネタが思いつかなかったので先送りしていたら、〆切最終日辺りにさくらばさんや複数の人から「初心者向けでいいんですよ、むしろいいんで…

Java8のInvokeDynamic実装一新によるGroovyのindyモードの性能改善効果が凄すぎた件

本日、Java Day Tokyo 2014に来ています。 で、ついさっきのセッションで「JDK8ではInvokeDynamic(以下、indy)の実装を一新したのですごく速くなったよ」という話を聞いたので、Groovyのindyモードで試してみました。 Groovyは2.0(現在は2.3)でindy対応され…

GroovyServとGradle Daemonとの違い

10/23 9:50 訂正&追記: GradleがデフォルトでDaemon起動すると書いてた件 (thanks to きょんくん) 元記事: http://dev.classmethod.jp/server-side/gradle/gradle-first-contact/ 経緯的な id:daisuke-mが昼過ぎに技術を語るいつものシリーズにGradleを追加…

GExcelAPI 0.3 リリースしました #gexcelapi

GExcelAPI 0.3をリリースしました。 https://github.com/nobeans/gexcelapi Change Log、といえるかどうか 変更点としては、以下の2点。 POI3.9化 Java7対応 (thanks to @yamap_55) これだけ? はい、これだけです。 でも、Java7対応重要です。ですよね? オ…

Groovy基礎勉強会でGrailsのリクエスト制御をライブコードリーディングしてきました #GroovyBase

全編インテリジェイアイデアを使ったライブだったので、資料成分はほとんどありません。資料で共有する価値が若干でもありそうなのは、1ページだけだったので画像だけ貼っておきますね。ポイントとしては、 インテリジェイアイデア、マジ便利 新規購入はイケ…

「enumの抽象メソッドはgroovyでサポートされてない?」「Yes. でもそれだけじゃねーんだぜ」 #jggug #q

enumの抽象メソッドはgroovyでサポートされてない? #jggug #q - 山pの楽しいお勉強生活 へのアンサーエントリ的な。 Short Answer enumの抽象メソッドはgroovyでサポートされてない? はい。Groovyのenumサポートは微妙です。 Long Answer (or Investigati…

今更ながらGExcelAPIでJava7サポートしました(スナップショット版)

2010年から永らく放置熟成させておいたGExcelAPIですが、ビルドに使っているGroovyのバージョンが古すぎてJava7で動かないことが判明したので対応しました。機能面では変わっていませんが、ビルド&テスト時の依存ライブラリ等をアップグレードしました。 Gr…

Grails2.0.2以降のbinding機構にハメられた件

ハマった。Grails2.0.0で実装途中だったプロダクトを2.0.3に上げてみたらテストが通らなくなった。半端なバージョンだけれども、例のgithubでもあったRailsの脆弱性と同じ問題に対処するために、Grails2.0.2からコントローラ上でhoge.properties = params や…

JavaOne Tokyo 2012でマサカリを膝に受けてきた

この4/4-4/5に日本で7年ぶりに開催されたJavaOne Tokyo 2012のBOFで登壇させていただきました。JVM言語BOFというセッションで、名前だけ見るとなんだかよくわかりませんが、セッション概要をみると JavaVM上で動作するさまざまなプログラミング言語 (Groovy…

Groovyを野良ビルドしてみよう

はじめに G* Advent Calendarの4日目を担当させていただきたいと存じますnobeansと申します。どうもどうも。さて今回のネタとして、 自プロダクトのGroovyServとか 今一押しのビルドツールGradleとか この前のTDDBC横浜で注目を集めたBDDフレームワークのSpo…

vimのquickrun.vimプラグインを使って編集中のGroovyコードをGroovyServ上で実行する

みんな大好きvimに、quickrun.vimという素晴らしいプラグインがあります。 vim-quickrun/doc/quickrun.txt at master · thinca/vim-quickrun · GitHub Vim上でプログラムを実行できるプラグインquickrun.vimで開発効率アップ - Vive Memor Mortis これを使う…

Windowsのショートネーム変換の~sがバグってるのでGroovyServ0.9の起動に失敗する場合がある

事象 ふもさんが、WindowsXP上のJava1.7.0でGroovyServを使おうとしてハマッたという報告を受け、我々取材班オレは急遽調査を開始した*1。 fumokmm: v0.9 on WindowsXP with jdk1.7.0 だと groovyclient が起動しないです。 JAVA_HOMEのパスがおかしいって言…

ふもさんの「お題:フルパスから相対パスを求める」をやってみた

続きまして、お題:フルパスから相対パスを求める - No Programming, No Lifeもやってみました。 こういうアルゴリズムっぽいものはあんまり得意じゃないので、すごくベタな感じになってます。無念。 ちょうど良いのでSpockのParameterized Testを使ってみま…

ふもさんの「お題:FizzBuzz(Nパターン)」をやってみた

Twitterでつぶやいて既に拾ってもらってはいますが、一応こっちにも書いておきます。id:fumokmmさんが出してるプログラミングお題一覧 - No Programming, No Lifeの中から、お題:FizzBuzz(Nパターン) - No Programming, No Lifeをやってみましたというお話。…

"Java SE 7 リリース記念 特別イベント"懇親会LTでのGParsのFork/Joinについての宿題の解答

最後が若干投げやりですが、やっとまとまりました。 はじめに 先週の7/7(木)に"Java SE 7 リリース記念 特別イベント"の懇親会でLTをしてきました。 JavaSE7 Launch Event: Java7xGroovy View more presentations from Yasuharu NAKANO "Java7のその機能Groo…

JythonをGroovyServで実行してみる

気がついたらTwitterでid:t-wadaからふられてた*1のでやってみました。 $ alias gython="groovyclient -cp /tmp/jython.jar -e 'import org.python.util.jython; jython.main(args)' --" こんなaliasを書けばそれっぽく動きました。jython.jarは自分の環境に…

DZoneでGroovyServについてのインタビュー記事が掲載されました

DZoneという海外の技術情報サイトがあるんですけど、GroovyZoneというサブカテゴリもあったりして、Groovy&Grailsの技術者が集っていたり、コミッタ達も割と出没していたりします。で、そこでライターをやっている(?)GriffonコミッタのAndres Almiray氏から…

JGGUGのg*workshopのLT枠でGradleを紹介してきたよ

http://kokucheese.com/event/index/7712/ http://togetter.com/li/104729今回のg*workshopでは、Jenkinsの川口さん(id:kkawa)をお招きして、JenkinsでどのようにGroovyを使い倒しているかなどのお話を1時間ほどしていただきました。いやもう↓の一言に尽きま…

GriffonのJavaFXプラグインFxBuilderをスタンドアロンで使ってみる

まずは 12/20の JavaFX & GlassFish 合同勉強会(http://atnd.org/events/10146)で、GroovyのBuilderについて発表させていただきました。 機会をいただいたid:skrbさんをはじめ、開催側・参加者の皆さんありがとうございました。Groovy's BuilderView more pr…

ひっそりとGExcelAPI v0.2をリリースしました

はじめに みんな大好きExcelのファイルに超簡単にアクセスしまくれるGroovy用ライブラリです。 名前がGExcelAPIなのに使ってるライブラリはApache POIです。JExcelAPIじゃないのでご注意。 だって語呂がいいだもん。 元々暖めてたアイデアを某書籍のサンプル…

Groovy1.7.4のWindows-InstallerにGroovyServ0.3がバンドルされてた件

まったく事前情報がなかったのですが、tyamaさんのツイートでWindows-Installerがでたよ、みたいなのをみかけたので何の気なしにURLをクリックしたら、なんとそこにGroovyServの文字が!!!! ということでこのPOST。AAは略。 ありのままに今起こったことを…

g*workshopで発表してきました

2010/7/26にOracle青山センターで、JGGUG総会とともにg*workshopが開催されました。そこでGroovyServについてid:uehajと一緒に発表してきたので、資料をはっておきますね。 id:uehajが概要とかコンセプトとか使い方とかで、自分が実装面の説明という分担でし…

GroovyのPowerAssertにおける空文字の表現がわかりづらい件

以下のようなPower Assertだと、左辺がStringの内部表現(?)になってしまいます。 ""とかで出力してくれればいいのに。 $ groovy -e "assert new String() == 'HOGE'" Caught: Assertion failed: assert new String() == 'HOGE' | | | false java.lang.String…

Paul Kingがやってくる!ヤァ!ヤァ!ヤァ!

Groovyのメインコミッタの一人、Paul King氏が来日するんですってよ奥さん。 この方、ちょうど3月末に拙作の超ニッチな場面でのみ役立つ文字エンコーディング周りをほげほげするGroovyのパッチをApplyしてくれたNice Guyです。 Family Nameが"King"な人に悪…

Groovyでクロージャを使って例外のテストを局所的にしてみる

id:taediumさんのエントリの あと気に入ったのは例外のテスト。期待する例外をテストメソッドの属性に書くと、例外をスローするかもしれないスコープが広くなりすぎてしまうですが、デリゲートを使うことでとても局所的にできます。例外を戻してさらにテスト…

超爆速Java系スクリプト言語として進化したGroovy、その名はGroovyServ

はじめに 前回のエントリでちょっと匂わせた爆速Groovyですが、 githubのWikiにはちょっとだけ書いてありますが、とあるツールを使うとgroovyが爆速になって最高なんですが、それは"あとで書く"。 Mavenリポジトリを検索してPOMとかGrape用形式で出力できる…

Mavenリポジトリを検索してPOMとかGrape用形式で出力できるスクリプトを書いてみた

はじめに Groovyで、GrapeというIvyベースのツールがあって鼻水ちょちょぎれるほど便利(ry というわけで、最近はちょくちょくMavenリポジトリを検索することがあります。 Groovyのコードを書くときはscreen+vimでやってるんですけど、そうなると、一々Webブ…

YouDebugでGroovyスクリプトやその向こうのJava系ライブラリをデバッグする

はじめに YouDebugという、Hudson作者のid:kkawaさんによるデバッガツールがあるんですが、これGroovyみたいなスクリプト on JVM系のデバッグに非常に便利っすね。すごいっす。 非対話的デバッガ YouDebug - 川口耕介の日記 http://d.hatena.ne.jp/kkawa/200…

GroovyでOSGiサービスを書いてGradleでサクッとバンドル化する方法

はじめに 最近、Twitterのタイムラインなどをはじめ、至る所で「OSGi」について言及されてるので、ここらで試しておこうと。 今回動作確認で使ったOSGi実装は、Apache Felix(http://felix.apache.org/site/index.html)です。 Equinoxでもどっちでもよかった…

GrapeでGparsを使おうとすると依存性が解決しきれなくて困った件

もうGroovyなライブラリは、Grapeを使うのがアタリマエですよね。そうですよね。 というわけで、2009/12/04にTwitterで0.9-beta1がでたよ!というTweetをみかけたので、さっそくGrapeで試してみました。 // Fibonacci def fib = { n -> return (n == 0) ? 1 …

Groovyでお手軽IRCBot

たまたま ircのbotのお話 - プログラミングお勉強きろく を目にして、そういえばずっと前にPircBotを要チェックや!とはてブしつつずっと放置していたなーというのを思い出しました。 というわけで、早速GroovyのGrapeを使って簡単IRCBotを書いてみました。 …

Grails1.0.4以降でScaffold時のドメインモデルの変数サフィックスがキモくなった件の回避パッチを当ててもらったんだぜの巻

[追記 2016/2/19] Grails 3.0からInstanceなしがデフォルトに返り咲きました。今後はInstanceがほしい人がapplication.ymlでgrails.scaffolding.templates.domainSuffix='Instance'を指定する、ということになります。 何の話? 2009-02-12に書いた 今までは…

Gradleで文字エンコーディングを指定する方法

[2015/01/14 追記] 1行で書けることが分かったので追記しておきます。 ポイントはGroovyの闇仕様の「展開ドット演算子の代入用法」を使うところです。これによってeach部分が単なる代入で書けます。 def defaultEncoding = 'UTF-8' tasks.withType(AbstractC…

Groovyベースのビルド管理ツールGradleを使ってみる

Gradleってなに? 簡単に言えばMaven2のようなものですね。 あらかじめ様々な機能がプラグインとして用意されているビルドツールです。勝手に選んだ主な特徴のトップ3は↓。 設定ファイルをXMLではなく、GroovyによるDSLで書く(build.gradleファイル) Groovy…

プロキシ経由でGrapeを使う方法

毎回コマンドラインで指定する場合 $ groovy -DproxyHost=proxy.example.com -DproxyPort=8080 sample.groovy グローバルに指定しておく場合 一回設定しておけば、あとは気にする必要がありません。 Cygwin用 GROOVY_HOME/bin/startGroovy の先頭付近に以下…

Groovy対応IDE

Netbeans6.5でGroovy/Grails対応がされてるけど、やっぱり使い慣れたEclipseでできるとうれしいなぁ、というところで、この記事をみつけました。 InfoQ: 動的言語のIDE:Groovy-Eclipse情報 http://www.infoq.com/jp/news/2008/12/groovy-eclipse これはwktk…

Groovyはじめの一歩

インストール とりあえずインストールする。 あらためて書くほどのことでも無いので、適当にぐぐってどうぞ。 Google: groovy インストール http://www.google.co.jp/search?q=groovy+%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&lr=lang_ja&ie…