タグ

Groovyに関するryoasaiのブックマーク (100)

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

    日、Java Day Tokyo 2014に来ています。 で、ついさっきのセッションで「JDK8ではInvokeDynamic(以下、indy)の実装を一新したのですごく速くなったよ」という話を聞いたので、Groovyのindyモードで試してみました。 Groovyは2.0(現在は2.3)でindy対応されています。 それ以前はGroovy独自機構による性能改善が行われていました。 しかし、JDK7からのホヤホヤなindyを前提にしてしまうと、JDK6で動かなくなってしまいます。 Groovyは下位互換性が重視されているので、これは問題です。 というわけで、indyが使えないJDK上でも使えるように既存の独自機構もそのまま残っているし、indy不要バージョンが標準になっていて、indyオプションを利用可能にするには$GROOVY_HOME/lib配下を$GROOVY_HOME/indy配

    Java8のInvokeDynamic実装一新によるGroovyのindyモードの性能改善効果が凄すぎた件 - 豆無日記
  • Java 8のOptionalをGroovyから超簡潔に使用する - uehaj's blog

    結論 Java8のOptionalは超すっきり扱えるよ、そう、Groovyならね。 Optionalって何? Java 8で導入される新規クラスの一つ、java.util.Optionalは、メソッドの実行結果で成功する場合と失敗する場合があるときに、その返り値で成功と失敗を表現するためのものです。 Opitonalは単一要素を保持するコンテナ型。成功した場合は返り値をコンテナで保持させたものを返す。(成功時の返り値をラッピングする) 「失敗」は固定のシングルトン(Optional.empty())として扱う まあ、それだけの話といえばそれだけなのですが、効果は、 失敗のある可能性のあるメソッドと無いメソッドをコメントではなくプログラムの一部として明示し、両者の違いをコーディング上も区別する 失敗のある可能性のあるメソッドと無い混在・混同することのないようにコンパイル時チェックをできるよう

    Java 8のOptionalをGroovyから超簡潔に使用する - uehaj's blog
  • SpockにおけるMock、Stub、Spyの違い - uehaj's blog

    テスティングフレームワークSpockで相互作用中心のテストをする場合、いわゆるテストダブルとして、MockとStubとSpyの3種類を使えます。それぞれの意味などを簡単に解説します。 Spock全体含め詳しい解説はこちらなどを参照ください。 Mockに関しては、id:yamkazu 氏によるこちらのJGGUG G*Workshopの資料も秀逸です。 Stubとは 最初に、Stub(GroovyStub)についてです。Stubは後述Mockの低機能版であり、具体的には「モッキングができないMock」がStubです。StubができることはMockでできるので、来Stubを使う必要はありません。モッキングしないことを明示したいなら、使えば良いでしょう。なお、Spock用語の「スタビング」とは別のものです(スタビングおよびモッキングについては後述)。 Mockとは Mock(もしくはGroovy

    SpockにおけるMock、Stub、Spyの違い - uehaj's blog
  • 私がGroovyを好きな9つの理由 2011年版 - No Programming, No Life

    ぐるーびーたんと by id:torazuka はじめに G* Advent Calendar 2011 12/12(12日目)に参戦ということで。 そろそろGroovyについて語っておくベキかなと思ったのであらためて書いてみます。私なりの、Groovyを気に入っている理由を9つほど述べてみたいと思います。この記事を読み終わったころ、皆さんもGroovyの魅力が伝わっていれば幸いです。それではどうぞ。 1.シンプル 非常に短いコードで多くのことを可能に Groovyはその簡潔さ故、非常に短いコードで様々な事が可能である。 たとえば、Groovyなら1行でできる97のことを見ていただければその強力さが伝わるでしょう。これはPerl使いが好むような、ワンライナーをGroovyで簡単に実現できる実例を示しています。 また、プログラミングGROOVY発売記念として行われたghelloなども140

    私がGroovyを好きな9つの理由 2011年版 - No Programming, No Life
  • [groovy] Groovy 2.0と静的型チェック - uehaj's blog

    先週にリリースされたGroovyの1.9系の最新版バージョンは、1.9 beta 5かと思いきやなんと、2.0 beta 1となる、とのことでした。リリースノートはこちら。今後1.9系はなくなることになります。 なんでこうしたかというと、1.xxのxxを増やすのが限界*1なので、これからは、バージョン付けの規約を変更して一年に1つメジャーバージョンアップする、ということだそうです。 いままでも将来のロードマップとして2.0というのは語られてきた(MOP 2.0とか)わけですが、いつか将来の"2.0"はおいといて、具体的に次のを2.0にしましたヨロシクとのことです。ちなみに2.0の正式リリースは2012年初予定とのこと。 ちょっとびっくりしました。 さて以上は前置きで、1.9 beta5あらため2.0beta1ですが、目玉は、"Grumpy Mode"という愛称で*2親しまれてきた(?)静的

    [groovy] Groovy 2.0と静的型チェック - uehaj's blog
  • [#GROOVY-4998] Real currying support - jira.codehaus.org

    Hi. Groovy's Closure have a name of method 'curry'. But this is not work for a real currying, it work as a partial function application. So, I wrote method of 'Real currying'. Referenced http://en.wikipedia.org/wiki/Currying Closure add = {a, b, c -> a + b + c } // Closure of adding 3 arguments. assert add(1, 2, 3) == realCurry(add)(1)(2)(3) assert 6 == add(1, 2, 3) def curriedAdd = realCurry(ad

    ryoasai
    ryoasai 2011/09/06
    実に、素晴らしい。勇気を出してどんどん英語で発言してみるべきですね。
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    ryoasai
    ryoasai 2011/09/05
    これは誤用のカリー化の解説。
  • お前に本当のカリー化を見せてやろう、Groovyで - No Programming, No Life

    はじめに 思いの外話題になっているようなので、Groovyでちゃんとしたカリー化をする関数を書いてみました。ちょっとタイトルはあれですがお許し下さい。 こんな感じでいいんですよね?(ツッコミ大歓迎) ここでは、addが引数を3つ取って、加算するクロージャです。メソッドrealCurryはクロージャを引数にとり、カリー化したクロージャを返却します。 add = {a, b, c -> a + b + c } ↓カリー化! curriedAdd = {a -> {b -> {c -> a + b + c}}} 当はClosure.metaClass.getCurryとかでやりたかったんですけど、どうもdelegateまわりが変な挙動をするのでバッサリ諦めました。あと、都合によりアンカリー化は実装しておりませぬ。 foldLeftで使ってみる (2011-09-06 追記) カリー化 != 部

    お前に本当のカリー化を見せてやろう、Groovyで - No Programming, No Life
  • http://groovy.codehaus.org/api/groovy/lang/Closure.html

  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • 明日から使えるgradle

    3. 今日はGradle凄いぞ! な話は話しませんw 基の紹介スライドの紹介 @literalice さん 「GradleによるG*なビルドシステムの構築」 http://www.slideshare.net/literalice/gradle- introduction サンプル http://bit.ly/gNu4Ad @nobeans さん “How about Gradle?" http://d.hatena.ne.jp/nobeans/20110225/12985 98901 4. ユーザドキュメントの和訳サイト @literalice さん http://www.monochromeroad.com/artifacts/ gradle/userguide/userguide.html GitHubで翻訳活動されています https://github.com/literalic

    明日から使えるgradle
  • はてなブログ | 無料ブログを作成しよう

    ハリイカの焼売と中華炒め ハリイカをよく、見かけるようになりましたよ。生け簀で、泳いでいたものを一杯購入しました 立派な大きな墨袋や肝は冷凍保存して 柔らかな身は季節のお豆、お野菜と合わせて中華の炒めものに。新鮮なにんにくの茎は刻み、香り高く欲そそられますね 下足はミンチにし…

    はてなブログ | 無料ブログを作成しよう
  • 2011-07-29

    7月29日 第17回 G*ワークショップ(東京都) (写真:品川駅) この日の前日に2chで出された『東京駅で17:30に大量殺人します』予告がどれほど影響あったのかは定かでは無いですが(自分は最寄り駅が東京駅だったので少なからず心配してました。結局何事も無く普通に東京駅から山手線で品川へ向かいました)、予定通り開始時間前に到着。 会場はNTTソフトウェア品川社。Jenkins勉強会やこれまでのGroovy関連のイベントで良く使われている場所ですね。 では早速参戦メモ。 関連TogetterTogetter - 「20110729_第17回 G*ワークショップ(#jggug)」 1.4.0.M1 !? 2.0.0.M1 -更新メモ- 山剛(TwitterID:@tyama) さん セッション講演者の都合により、こちらのセッションからの開催となりました。 @tyamaさんはGrail

    2011-07-29
    ryoasai
    ryoasai 2011/07/30
    毎回詳しいレポートで非常に助かります。
  • Groovyではprivateが無視されるというのはバグとみなされている - uehaj's blog

    これもトリビア。現在のGroovyはprivateを無視します。なのでjava.lang.String#valueの値を変えることも容易にできます。試験に便利なときもあるかもしれません。しかしこの機能(?)は古来からバグとみなされてます。いにしえのjsr-03では禁止されていたらしい。Groovy 2.0で修正予定だそうな。 http://jira.codehaus.org/browse/GROOVY-1875 http://jira.codehaus.org/browse/GROOVY-1063 http://jira.codehaus.org/browse/GROOVY-3010 いいのかい? privateをホイホイアクセスしちまって(AA略

    Groovyではprivateが無視されるというのはバグとみなされている - uehaj's blog
  • JavaプロジェクトでGroovyを導入すべき5つの理由 - うさぎ組

    前段 TDDBootCamp in Tokyo 1.5にJavaグループの一員として参加させていただきました。 そこでGroovyをやりたいというホットなエンジニアと出会いまして、GroovyでTDDをさせていただきました。 いきなりGroovyでプロダクトを書く事はなかなかないと思っているので、Javaのプロダクトコードに対して、Groovyのテストコードを書く。という方法で演習しました。 そこで、皆様がGroovyへ多少なりとも注目してくださいましたので、このエントリーを書いてみようと思いました。 JavaプロジェクトでGroovyテストコードを導入すべき5つの理由 以下であげる5つのポイントは「Groovyを知らないJavaプログラマーがすぐに始められるGroovyの強力な機能」をとりあげました。 もちろんここにあげた以外にもたくさんのGroovyの強力な機能はありますが、それらの威

    JavaプロジェクトでGroovyを導入すべき5つの理由 - うさぎ組
    ryoasai
    ryoasai 2011/07/12
    privateにアクセスできる点は裏技というか、将来的にはできなくなるのではなかったかな。あまり積極的に使わない方がいいのでは。
  • 現場で使えるGroovy(その3)「JavaにREPLが無いならgroovysh, groovyConsoleを使えばいいじゃない」 - No Programming, No Life

    このシリーズの一覧はこちら はじめに ご存知の通り、JavaにはREPLがありません。しかし残念がることはありません、そう、あなたにはGroovyが付いています。 Groovyがこれらの特性とJavaとの親和性を高いレベルで同時に実現していることです。 (中略) ・Javaに極めて近い文法(ほぼ上位互換) ・JavaコードはおおむねそのままGroovyコードとしても動作 (中略) ・JDKの標準ライブラリやサードパーティのライブラリ/フレームワークもすべて共用可能 (中略) 『プログラミングGroovy』P8 より ということで、GroovyのREPLであるgroovyshや、groovyshよりも便利なgroovyConsoleを利用すればJava自体のコード、クラスを素早く動かしてチェックすることができるわけです。 さっそくやってみましょう。 ケーススタディ1:Integerクラスのメ

    現場で使えるGroovy(その3)「JavaにREPLが無いならgroovysh, groovyConsoleを使えばいいじゃない」 - No Programming, No Life
  • 「ひとつ上の理想」を求める大人のJavaプログラマのために。 - みちしるべ

    東京タワーのライトアップが見える高層マンションから、デスマとは無縁で夕後、 優雅で楽しいプログラミングのひとときをすごしているイメージ。 それは、スーパーGroovyist4人が集結して作成した待望のGroovyペンギンを 購入すれば手に入る・・・・かも。 プログラミングGROOVY 関谷 和愛、上原 潤二、須江 信洋、中野 靖治 価格: ¥ 3,360 価格は記載時点のものです。購入前にAmazonでご確認ください。 Amazon.co.jp で詳細を見る

    「ひとつ上の理想」を求める大人のJavaプログラマのために。 - みちしるべ
    ryoasai
    ryoasai 2011/07/05
    おもしろい。
  • Groovy 1.8リリース | gihyo.jp

    2011年4月27日、JVM上で動作するプログラミング言語「Groovy」のバージョン1.8がリリースされました。2009年12月にバージョン1.7がリリースされて以来の大きなアップデートになります。 GroovyはJavaとの親和性が非常に高い軽量プログラミング言語で、Javaと比較して記述量を軽減できるため、Java言語の代替として海外を中心に利用されています。バージョン1.8にてアップデートされた主な内容は次のとおりです。 DSL(Domain Specific Language:ドメイン特化言語)を促進するコマンドチェイン パフォーマンスの向上 並行処理ライブラリ「GPars」の同梱 JSON対応 新たなAST変換(Abstract Syntax Tree Transfer:抽象構文木変換。@Log、@Fieldなど) 内部DSLが記述しやすくなった改善により、リスト1のような自然

    Groovy 1.8リリース | gihyo.jp
  • 【楽天市場】りとるまみい[木のおもちゃ雑貨]

  • [MMD] Groovy Dancing Girls

    motion data: http://www.youtube.com/watch?v=ZAOKZzUxgAE&feature=related original vocaloid vid: watch?v=JI_sQ6HpRLI&feature=related original vid: watch?v=emzcM7MQT5k

    [MMD] Groovy Dancing Girls
    ryoasai
    ryoasai 2011/06/19
    うさみみの人がいる。