2009-01-01から1年間の記事一覧
料理をしたことがない/できない、というプログラマを夫(もしくは彼氏)として持つ人がいたら、以下のように説明すると料理を作ってくれるようになるかもしれません。料理はソフトウェア開発と同じなんですよ!(言い切る) 両者には、以下のような対応関係が…
このブログエントリは書きかけです。 「素朴なオブジェクト指向」の限界 EJBが示した一つのことは、古典的なクラスベースオブジェクト指向の限界です。つまりクラスやメソッドの組み合わせを、継承やカプセル化・多態・の枠組みで列挙していくだけでは実用上…
Quanbanはいわゆる「ソフトウェアかんばん方式」をサポートするソフトウェアです。Grailsで書かれているとのこと。http://code.qbranch.se/
id:bikisukeさんの知人の方がGroovyの擬人化キャラクター「Groovyたん」を描いてくれました。 気さくな感じで良い方ですね!イカす!http://d.hatena.ne.jp/bikisuke/20091214/1260812173JGGUGの平均年齢が若が返った気がする!(ただし気分的に) この記事…
JNA(Java Native Access)というものがあります(https://jna.dev.java.net/)。これはJavaから動的にDLL中の関数を呼び出すものです。「動的に」ということの意味は、しち面倒くさくバグも作り出しやすい、悪名高きJNI(Java Native Interface)を使わずに、そも…
Groovyはテストを書くのに向いている、って言うじゃない。んで、いまどき、開発はMavenベースじゃないですか。 つうことで、mavenのプロジェクトでGroovyテストを書いてみましょうか、という話。まず、一番うまく行くパターンとして、Maven用の公式groovyプ…
Cucumberというのがあって、これはRuby用のBDDフレームワークで、RubyのDSLを使って英文のようにテストがかけるのが特徴です。cuke4dukeは、JRubyを使って、CucumberをJVM上で解釈させるためのライブラリです。GroovyでCucumberのテストを書くこともできて、…
ビューティフルアーキテクチャposted with amazlet at 10.05.30オライリージャパン 売り上げランキング: 87474おすすめ度の平均: 1章が価値高いAmazon.co.jp で詳細を見るこの本買ってみました。 おもしろすぐるです。たかだか、この十数年だと思うのですが…
Groovy用の並行処理ライブラリ/DSLであるgparsのドキュメントが最新化されたようです。http://www.gpars.org/guide/index.htmlながらくドキュメントが最新版(0.9系)に追随していなかったので、テストコードで動作を類推するしかなかったのですが、これでちゃ…
ちまたでは京速計算機の話が話題ですね。門外漢の意見として言うと、これって、NECが今の延長線上でのベクトル型プロセッサの開発をあきらめた、というのが発端であり本質であり核心ですよね。今予算をつけるつけないのというのは、なんていうか、余韻という…
TomcatなどJ2EEサーブレットコンテナとか無しで、apacheで直にGroovyコード実行させようというもの。http://code.google.com/p/mod-groovy/
Javaでクロージャが使えない? はぁ〜〜〜〜〜〜〜〜〜〜??? 聞こえんなぁぁ〜〜〜〜〜〜??? といわんばかりの豪腕なライブラリ。Closures support for Java using dynamic Groovy evaluation.文字列を実行時にGroovyのクロージャに変換してるみたい。…
「Groovy String Handling」を見てたまたま知ったことをメモ的に書いときます。Groovyで、複数行のダブルクォート(トリプルダブルクォート)もしくは複数行のシングルクォート(トリプルシングルクォート)で改行を含む文字列定数を書くことができます。 de…
Hudsonの川口さんが作った非対話型デバッガ、YouDebugというものが話題になっています。これはおもしろい。 本来なら試してから書きたいけどちょっとまだです。デバッガインターフェース経由のJVMのコントロールを、Groovy DSLを使って制御するというもので…
どう書く.org課題の「inline/embeded bytecode assembly」をやってみました。手っ取り早くjavassistで。 @Grab('javassist:javassist:3.8.0.GA') import javassist.*; ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.makeClass("DuffsDevice")…
If Programming Languages Were Real Persons(もしプログラミング言語がほんとの人間だったら・・)という記事。Groovyは「Jessica Groovy」という名前で擬人化されてます。http://jeez.eu/wp-content/uploads/2009/11/groovy.JPG Groovyは21才。その若さに…
以前、「どう書く.orgをGroovy好きな方、みんなで解きませんか」という呼びかけをさせていただきましたが、JGGUG合宿のイベントとしてid:nobusueさんと取り組み、無事目標であったScalaのカバレッジを越えることができました。投稿いただいた皆さん、groovy…
JSR-166yはJava 7で導入が予定されている、細粒度並列処理を効率よく行うことができるようにするためのライブラリ群です。Java7でjava.util.concurrent.forkjoinパッケージで提供される予定ですが、実は今でもダウンロードして利用できます。本記事ではこれ…
合宿で教えてもらいましたが、Maven 3ではPOMがGrovoyでかけるようになるようです。http://www.wakaleo.com/blog/236-writing-your-pom-files-in-groovy-a-sneek-preview-of-maven-3s-polyglot-features GMavenが取り込まれたということかな。Groovyがいろい…
id:nobuseさんが作られたツイッターボット。じわじわととても便利なので改めて紹介。Gaelykで作られているとのことです。 http://d.hatena.ne.jp/nobusue/20090823/p2 http://twitter.com/hatena_groovy はてなキーワードの「Groovyを含むブログ」(http://k.…
今日までわたしは、リストを返すクロージャを、sortに渡せば、ソートの第一キー、ソートの第二キーみたいにソートするのに使えると私は思っていました。 例えば以下のようなコードです。 data1 = [aa:1, z:1, c:7, b:1, g:1] println data1.sort{[it.value, …
地球に優しいリサイクル記事、今回はJGGUGニュースレターの宣伝をかねてJGGUGニュースレターVol.6に書いた記事を紹介します。こんな記事を含むJGGUGニュースレターをほぼ毎月読めますので、お気に召しましたらJGGUG(日本Grails/Groovyユーザ会)に加入なども…
長さゼロのリストは偽とみなされるけど、長さゼロの配列は偽とみなされない。なんでだろう。 a = [] as int[] assert a b = [] assert !b
(訂正があります) ついったー経由で知りましたが、以下の設定を行わないと、Groovy/GrailsはGAE/J 1.2.6 以上では動かないようです。自分では試していませんが。 set the System property, "stringchararrayaccessor.disabled" to true. 理由はこちら。 さ…
Groovyにはgroovy.lang.Writableというインターフェースがあります。定義は以下の感じ。 package groovy.lang; interface Writable { Writer writeTo(Writer out); } また、クロージャにはasWritable()というメソッドがあり、「クロージャ引数である出力スト…
id:kskyさんに以前書いた記事についてコメントで教えてもらいましたが、JSRになった時点では、仕様書が無いのは普通だとのことです。ありがとうございます。そうですね。「リクエスト」ですもんね。ちょっと間が開いているなあ(^^;)とは思いますが、いただい…
ついったーで評判が良かった(?)ので紹介。 日本語DSLです。Scalaのを見て書いてみました。http://jggugcode.appspot.com/view.groovy?id=2011 Object.metaClass.getの = {delegate} Object.metaClass.getを = {delegate} Object.metaClass.getが = {deleg…
JavaでBASIC認証するのは、ちらっとめんどい。http://d.hatena.ne.jp/nacookan/20071109/1194592229を参考にすれば、 import java.net.Authenticator; : final String username = "username"; final String password = "p@ssw0rd"; Authenticator.setDefault…
某所でRailsの「えせMVC」の論争が話題のようです。へたれなので、トラバは打ちませんが一言いわささしていただきます。 MVCパターン != MVC2。これ重要。Java界では誰もMVCなんていってません*1。むしろ「2」をつけることで、「本来のMVCそのものじゃない…
groovyのクロージャをブロックとして使っていると、breakとかcontinueとかができませんのできっと誰もが最初はあれ?と思ったはず。理由は単純で、クロージャというのは無名メソッド定義であって、たまたま平たくコード中にならんでいて、スコープ則にしたが…