No Programming, No Life

プログラミング関連の話題や雑記

2011-01-01から1年間の記事一覧

「1000以下の回文素数で最大のものを示せ」をGroovyでやってみた

当メモは [お題] 1000以下の回文素数で最大のものを求める | Think Twice へ移管しました。

Groovyでリスト内包表記(その2)

はじめに Groovyでリスト内包表記 - No Programming, No Lifeの記事にfujwaraさんより、Scalaでは以下のようにできるけど、Groovyではどうやればできるの?とコメントをいただきました。 手始めにGroovy流に書いてみる うん、ほんとはこれでいいと思うんだけ…

Groovyの再帰処理(trampoline)についてひとつ分かったこと

はじめに Groovyのクロージャ(Closure)には.trampolineってメソッドがあって、これをうまい感じに使うと末尾再帰を最適化してくれる。 よしやってみよう では、簡単な合計値を求めるサンプルを再帰処理で。 java.lang.StackOverflowError お約束。 よし、今…

Groovyでdo-whileループを!

はじめに No 'do ... while()' syntax as yet. do ... while() 構文はまだないよ! Due to ambiguity, we've not yet added support for do .. while to Groovy 曖昧だもん、だからGroovyのサポートにはまだdo ... while()ループは追加してないんだからね! …

「Groovy物語」はじめました

.bbpBox{background:url(http://a1.twimg.com/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}Javaを知らないGroovy使いはきっと出てきづらい。GroovyはJava使いの道具箱みたいな感じの言語なので。ただ、Groovyから入ってJavaを知るという流れは出て…

第16回 G*ワークショップで発表してきました

こんにちは、ふもです。 発表してきました 2011/6/17(金) 19:00〜 より行われましたJGGUG恒例イベント 第16回 G*ワークショップ+JGGUG総会にて GParsのことをお話させていただきました。 発表で使ったスライド 今日からはじめるGPars View more presentatio…

Groovyでスリープソートとバケットソートをやってみた

はじめに ちょっと前にスリープソートが流行ってたので、それをid:orangecloverさんが実装していたのを見て、id:nobeansさんがさらに添削していたものを参考に書いたコードが下のようになりました。 スリープソートって スリープソートって、あるデータのも…

連載はじめました!「もし新人女子Javaプログラマが『Groovyイン・アクション』を読んだら」

すべてはこのツイートから始まった… .bbpBox{background:url(http://a1.twimg.com/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}「もしも新人女子JavaプログラマがGroovy in Actionを読んだら」って本を書いたら売れるでしょうか? #GroovySat Apr …

I made jar that adding Groovy's logo on your icon

(◕ ‿‿ ◕)Groovee Please contract with me, and will be a Groovyist!! This is a groovy badge, generated by contract in exchange. (This is parody of Japanese Anime "Madoka Magica") How to use First, download this jar. Using by GUI Double click…

アイコンにGroovyのロゴを追加するjarを作りました 

(◕ ‿‿ ◕)グルーべぇ 僕と契約して、Groovyistになってよ! 契約と引き換えに出来上がるのがGroovyバッジ。 契約方法 まずは、ここからjarをダウンロードして下さい。 GUIで使う jarをダブルクリックして起動 配置場所や縮小率などを調整 ウィンドウにアイコ…

ぼくのかんがえたUserscript

一覧化しておくための記事です。 順次追加して行きます。(動作確認のFはFirefox with Greasemonkey, CはChromeにて動作確認済み) 英語・語学の学習情報サイト「スペースアルク」:地球人ネットワークを創るアルク 向け 名称 インストール 説明 動作確認 ALC …

Groovyのtrampolineを使ってピラミッドのお題を解いてみた

お題はなつかしのどう書く?orgのもの。 Server error ソースコード 解説 計算したくない、再帰で書きたいと思った、そこでトランポリンですよ! ソース上に示したHINTみたいなリスト構造をつくって、エイヤで出力しています トランポリンしてるので、4段じ…

Erlang基礎文法ひとめぐり

はじめに ErlangかわいいよErlang。 ピリオド ピリオドは式の終わりを表す。 式. コメント コメント %から行末までがコメントになる。ブロックコメントはない。 % コメント %% コメント NOTE: 慣例として%%がよく使われる。 簡単な演算 1> 2 + 3 * 4. 14 2> …

Clojureの日本語翻訳はじめました

.bbpBox{background:url(http://a1.twimg.com/a/1303856755/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}#Clojure そういえばClojureのドキュメントを日本語に翻訳してる人っていないのかなぁ、いないなら翻訳作業をやりたいな。とつぶやいとけば…

やっとちょっとSpockのことが分かってきた気がする

前に作ってちょっと放置気味だったgroovy-extensions*1にSpockのテストをちまちま追加してます。 やっとちょっとSpockが使えるようになってきた。Spock面白いなぁ…テスト記述が楽しくなるね。今回の場合は use() { ... } の場合のテストを書きたかったので各…

Groovyで@Categoryを使ってカテゴリクラスを作成する

@Categoryアノテーションを付けるとそのクラスをカテゴリクラスにできますよというサンプル。この機能はObjective-Cのカテゴリ由来のようです*1。 以前までは第一引数にメソッドを追加したい型をパラメータself*2として付けたstaticなメソッドを宣言してやる…

Groovyソースコード斜め読み(その3)「GDKのメソッドはDGM、DGSMに定義されている」

このシリーズの一覧はこちら はじめに org.codehaus.groovy.runtime.DefaultGroovyMethods (JavaDoc) org.codehaus.groovy.runtime.DefaultGroovyStaticMethods (JavaDoc) というクラスをご存知でしょうか。実はGDKによって拡張されたメソッドの実態はこのク…

プログラミング言語の一生

黎明期 プログラミング言語は生まれてすぐの時から強力であると言える。それは他の言語では適わなかったことができるという意味においてである。しかしすぐに荒削りな部分が露呈し、修正が加えられ、より便利な機能が追加され、我々に新しいパラダイムという…

Groovy v1.8の新機能をサクっと紹介するよ

このシリーズの一覧はこちらGroovy v1.8リリースノートより。 はじめに 待ちに待ったGroovy v1.8がやっと出ましたね!ということで、Groovy v1.8の新機能をサクっと紹介したいと思います。 Groovy v1.8は結構多くの機能拡張がなされておりますので、サラっと…

日本のシステム開発現場について思うこと

システム開発において技術力は確かに必要なんだと思うけどプログラマ万人が高い技術力を保持できているわけでないのがこの業界の現状だ。 システム開発が職人技でなくなってしまった今、もう一度システム開発を職人技の域にまで押し上げるのはそれなりに難し…

気になってたSpockを試してみた

Groovy!(挨拶) はじめに SpockはGroovy製のBDDフレームワークです。前から気になっていた*1ので是非試してみたいなと思っていたら、 id:backpaper0 さんが はじめてのSpock - 裏紙 で試していたので、私も試してみました。といってもやった内容はほぼコピ…

5分で理解するProject Coin

はじめに そろそろJDK7が登場する時が近づいてきたのでJavaプログラマならProject Coinを先取りして予習しておくべき時期になってました。Project CoinというのはThe Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR#…

新人教育では「たのしさ」を教えています

とある事情により4月から今年度入社の新人システムエンジニアの卵君たちの教育を担当させてもらっています。主にプログラミングなどの技術面を担当しています。教育担当の人から講師の仕事を丸投げされた感じなのでなんともはやな感じなのですが「自由にやっ…

アウトプットのすすめ

知識を持っていることは偉くない 例えばあなたがあなただけしか知らない知識を持っているとして、それを自分の"武器"だと思っていたとします。その知識は様々な人が必要としているので、はじめのうちは皆あなたに感心を持ち、あなたのそばに寄ってくることで…

Groovyならインタフェースはクロージャとマップで実装できる

はじめに インタフェースは機能仕様と実装を切り離す素晴らしいアイデアです。Javaではinterfaceキーワードでこの機能を提供しています。が、Javaだとこれを実装するのが意外と面倒くさいんですよね。 Javaだとこうなる Readable r = new Readable(){ int re…

Groovyの本家ドキュメントの翻訳をはじめたよ

前々からやりたいなと思っていた作業なので勝手に参加させてもらうことにしました。日本語ドキュメントを見てみるとまだまだ数が少ないのでちょっとでも日本語のドキュメントが増えて日本のGroovyユーザが増えることに貢献できればと思います。 Groovyドキュ…

ゼロから2時間で作るGroovy DSL

はじめに この記事はA Groovy DSL from scratch in 2 hours | Groovy Zoneを意訳したものです。訳者の力不足により翻訳に未熟な部分が多数あると思われますこと、ご勘弁願います。 ゼロから2時間で作るGroovy DSL 今日はついてるな。DZoneでArchitecture Ru…

こだまでしょうか、いいえ、Groovyです。

「pom.xml書くのめんどい」っていうと「Gradle」っていう。「静的が良い」っていうと「Groovy++」っていう。「起動が遅い」っていうと「GroovyServ」っていう。「マルチコア」っていうと「GPars」っていう。「ウェブアプリ」っていうと「Grails」っていう。…

「Stitcher」でらくちんPodcast生活

iPhoneやiPodでPodcastを聴くとき、どうしていますか? 通常ですとiTunesでダウンロードして、その後iPhoneやiPodに同期して…という手順を踏むと思います。でも実はこの作業って結構面倒ですよね?毎日かかさずにiTunesで同期しないと聴きたかったあの番組を…

はてなダイアリーでは公開済みの日記は「下書き保存」しないほうがいい

はじめに 公開後の記事に対してちょっとずつ修正を加えていきたいという使い方があると思いますが、一気に書き終わらないことがあります。はてなダイアリーには下書き保存する機能がありますが、これは「公開前」に限って使ったほうがいいようです。なお、当…