Groovy Streamというのがあるようです。「Lazy Generator class for Groovy」とのこと。 http://timyates.github.com/groovy-stream/ http://blog.bloidonia.com/post/22117894718/groovy-stream-a-lazy-generator-class-for-groovy サンプル。 @GrabResolve…
InfoQ記事の翻訳です(日本語版で翻訳されない…orz)。 わたし(Amit Jain氏)はIntelliGrapeというGroovy&Grailsを専門とする会社で働いています。この記事は、私たちのGrailsプロジェクトが従う、メーリング・リスト、スタック・オーバーフロー、ブログ、ポッ…
まず、Config.groovyで以下を設定。grails.views.default.codec='html'これによってGSP中で${}とかの出力はデフォルトでHTMLエスケープされるようになります。これはセオリー。問題は、これだけでは、やの出力はHTMLエスケープされないということです。なの…
JavaOne Tokyoに参加しています。 表記のBOFにはスピーカーの一人として参加致しました。資料はこちら。 Java One 2012 Tokyo JVM Lang. BOF(Groovy) View more presentations from Junji Uehara 直前の暴風雨で、予定していた懇親会が流れたせいで(?)、慣れ…
ちまたには、複数の実装があってこその成熟した言語、と言う見方もありますが、その意味ではGroovyにも別実装があってもいいのかもしれません。でもあまり聞きませんね。この理由はたとえば「Mavenの別実装」「antの別実装」が無いのと同様に、groovyはツー…
Groovy 2.0系では、静的型チェック(STC)の実装がぼちぼち進んでいます(参考過去記事,GEP-8 Static Type Checking)。さて、もう早速静的型の悪魔に魂を売り払いたい*1、という諸兄におかれましては、「@TypeChecked」というアノテーションを付けるのももどか…
JGGUGのイベントではおなじみの「Groovyじゃんけん」を実際に作ってみました。 import static Hands.* enum Hands{ GOO,CHOKI,PAR; public result = [:].withDefault{"$this is even with $this"} } def rule(Hands x) { [defeats:{Hands y-> x.result[y]="$…
前回記事「Groovyのクロージャはちゃんとしているか?の続きです。前回検討したGroovyのクロージャの振る舞いは、実際にJavaバイトコードとしてどのように実現されているでしょうか、ってのが今回のテーマです。本来ならここで、 groovycコマンドでコンパイル…
先日参加したStartupGroovy #1にて、参加者の方から「Groovyのクロージャはちゃんとしたクロージャか?」という質問がありました*1。 クロージャが「ちゃんとしている」とは何か 「クロージャがちゃんとしてる」とは何を意味するか、あるいは「ちゃんとしたク…
本日、うさぎ組きょん(@kyonn_mm)さんによる「StartupGroovy」イベントに参加してきました。公私ともに切羽詰りつつも、あたふたと参加しましたが、ひっじょーうに有意義なイベントでした。 Togetterまとめhttp://togetter.com/li/259632 マテリアル http://…
Groovy 1.8.1以降で追加されたGDKメソッド(主にコレクション関係)を解説するシリーズ第5段、「collectAllのcollectNestedへのリネーム、collectManyの新規追加」です。とりあえずこれでシリーズ打ち止め予定です。 collect系とfind系の概括的な違い まずは、…
Groovy 1.8.1以降で追加されたGDKメソッド(主にコレクション関係)を解説するシリーズ第4段、「findResultsの新規追加」です。 findResultsの新規追加 Groovy 1.8.1では新規GDKメソッドfindResultsが追加されました。findResultsは既存メソッド「findResult」…
Groovy 1.8.1以降で追加されたGDKメソッド(主にコレクション関係)を解説するシリーズ第3段、「引数無しfind/findAllの新規追加」です。 引数無しのfind()とfindAll() Groovy 1.8.1では以下の2つのGDKメソッドが追加されています。 public Object find() publ…
あけましておめでとうございます。書き初めならぬ、エントリ初め。今年もよろしくお願いします。みなさまにとって飛躍の年になりますように。さて、Groovy 1.8.1以降で追加されたGDKメソッド(主にコレクション関係)を解説するシリーズ第2弾、「複数クロージ…
大晦日も押し迫ってきたところで連続エントリを書き始めて年の瀬の区切りを悪くする試みです。本記事から続く一連のエントリでは、Groovy 1.8.1で追加されたGDKメソッド(主にコレクション関係)について解説してみます。書籍「プログラミングGROOVY」を執筆し…
G* Advent Calendarの22日目の@uehajです。Groovy関係のツール紹介ということで、Groovyの疑似デバッガgdbの紹介。gdbといってもGNUデバッガではありませんよ。gdbの説明や入手はこちら。これは、一般的なデバッガというより、コード上の特定の場所(com.gdb.…
遅いですが、Java Developer Workshopに参加しましたので報告。セッションの資料がこちらで公開されています。最初の、Nandini RamaniさんによるJavaFXを中心とした基調講演に続き、前半ではオラクルの寺田さん、佐藤さんから「Javaの今と今後」をコンパクト…
次期Groovyの新機能についての情報です。静的型チェック(STC, Statically Type Check)がGroovy 2.0 beta 1トランクに含められたのに続き、静的コンパイルのためのGroovy拡張提案(groovy enhancement proposal)、GEP10が提示されました。静的コンパイルはAST…
前にも書きましたが、12/1にJava Developer Workshop #2というのがあります。 http://blogs.oracle.com/javajp/entry/java_developer_workshop_2_%E9%96%8B%E5%82%AC http://www.oracle.com/goto/jpm111201 参加費無料でもりだくさんですので、御興味のある…
先週にリリースされたGroovyの1.9系の最新版バージョンは、1.9 beta 5かと思いきやなんと、2.0 beta 1となる、とのことでした。リリースノートはこちら。今後1.9系はなくなることになります。なんでこうしたかというと、1.xxのxxを増やすのが限界*1なので、…
来る12月1日に開催される、日本オラクル株式会社主催の「Java Developer Workshop #2」にてGroovyについて話すこととなりました。わりとGroovy紹介的な内容ですが、Spring One 2GX 2011に参加して(今日が最終日@シカゴ)感じた「熱気」みたいなものが伝えられ…
http://kokucheese.com/event/index/20336/第19回 G*ワークショップ開催!のお知らせです。 ーーーーーJGGUG会員の皆様 2011年11月22日(火)、NTTソフトウェア品川本社いてJGGUGの定例イベント、G*ワークショップを開催します。 今回のJGGUG G*ワークショップ…
Groovyのプロジェクトリードguilame laforge 氏のブログを実現しているブログエンジンbloogaeyは、Gaelykで実装されていてGAE上で動いてるんですね。GaelykはGroovyで実装されたGAE/J上のフレームワークです。GroovyMagの紹介によれば、 a blog engine writt…
Groovyのプロジェクトリードguilame laforge 氏のブログを実現しているブログエンジン「bloogaey」は、Gaelykで実装されていてGAE上で動いてるんですね。GaelykはGroovyで実装されたGAE/J上のフレームワークです。 そのうちこのブログも移行しようかしら…。
Android上でGroovy動作させるためのパッチとして、Discobotというものがあり、昔ほんの少し試しましたが、これは1.7.0対応のもので少し古いです。groovy-devのメーリングリストを見ていたら、discobotの開発が再開されたようです。 Hi all, We're currently …
GBenchなどのクールなGroovyツールを開発されている @nagai_masato さんが新たにAstSpecBuilderというのを公開されてますね AstBuilderのbuildFromSpecのためのspecをGroovyコードのASTから生成するというもの。AstBuilderというのは、AST変換のアウトプット…
Android SDKをインストールしてたら、groovy-all-1.7.0.jarを入れてるという表示が。たしかにlibの下にある。とTwitterでつぶやいたら、 @kimukou_26さんが発表されていたと教えてもらった。http://www.slideshare.net/kimukou/layout-analyzergroovyレイア…
Grails Pod cast 126を聞いてたら、SinataライクなGroovyベースのWebアプリケーションフレームワークGraffitiというのが出来ていたようです。SinatraはRubyで成功した軽量Webフレームワークですが、そんな感じのものをGroovyでも実現しようというプロジェク…
はぁ〜るの木漏れ日の中で〜*1。 失礼しました。id:orangecloverさんが「プログラミングGroovy」の表紙にあるペンギン&スターのマークの由来をGroovyポロシャツの予言という記事で解説してます。実は、上の同じ場にいたので、ふんふんそうだよなー驚きだよな…
旧聞に属するのですが、8月の頭ぐらいからGroovy-devのメーリングリストで、Groovyコアコミッターたち(の一部)による「"Grumpy"プロジェクト」なるものが始動していたことが話題になってました。 議論は、プロジェクトリードのGuillaume Laforge氏の休暇中に…