my notebook blog : Groovy

MapDB に PDF を保存する、そのために PDFデータを Base64 文字列に encode したり decode したりの話

別に PDF データに限らず Binaryデータを Base64 で文字列にして保存するという話。 時々必要になるがその度にあれどうするんだっけ、となるのでここにまとめておきます。 Groovy の LeftShift Operator (<<) を IO 系のコードで使うと直感的にわかりやす過ぎなのでおすすめです。

continue reading……

MapDB: Javaアプリケーションでちょっとしたデータを保存しておきたい場合に便利

アプリケーションでデータをキャッシュして再利用したい。 たとえば、 Mongo などを使えばそれを実現できるけれど、 UNIXのDBMのような、キーとバリューのセットを保存しておきたいだけなので、 もっと簡単に済ませたい。

Java界隈で DBM っぽいそれと言えば、Berkeley DB がかつては定番だった気がする。 もう少し手軽なものはないかと探してみると MapDB がありました。

continue reading……

Haskell の zip に相当する groovy の transpose が便利

2つのリストをつなぎ合わせたリストをつくる Haskell の zip 相当の機能は、Groovy では transpose で実現できます。

continue reading……

Groovy で画像処理、普段使いのスクリプト その2( 回転 )

Groovy で画像処理、普段使いのスクリプト その1 に続き その2 画像回転をやってみます。

Java2D では 画像を回転させるには AffineTransform を使います。 さらに AffineTransform に与える行列を計算するために、3x3行列の積の計算が必要です。 そのまま地道に計算してもたいしたことはないのですが、 ここでは Apache Commons Math を使います。 Commons Math にはさまざまな機能がありますが、 ここで必要な行列の積の計算には MatrixUtils と RealMatrix を理解しておけば十分のようです。

many-angles-white-donuts-360

continue reading……

Groovy で画像処理、普段使いのスクリプト その1 ( リサイズ/グレースケール/JPEG/切り抜き/2in1 )

普段ターミナル中心に bash と vim で仕事をしている身としては ちょっとした画像処理は いちいち Photoshop や GIMP を起動するより groovy スクリプトでちゃっちゃと済ませてしまいたいところです。

今回はそれら普段使いのちょっとした画像処理用コードをいろいろ書いてみます。 ここではこのとてもおいしそうな ポンシェのホワイトドーナツ 画像を例に いろいろ料理してみましょう。

white-donuts

continue reading……

Java でパイプを使う / 複数の変換処理をつなげて処理する

Javaでパイプする方法がよくわからなかったので、いろいろ試行錯誤した結果をまとめました。 Javaで書くとコードが長くなるので、Groovy で記述しています。

ここでは話を簡単にするために、最初の入力として以下のような果物名を列挙したデータがあり、 これを二つのフィルタを使って処理する例を考えます。

melon lime lemon raspberry cherry kiwi banana apple orange grape

continue reading……


« Newer PostsOlder Posts »