my-notebook blog

Code Monkey 楽しくプログラミングが学習できるオンラインツール、言語は CoffeeScript らしい

code-monkey-53

https://www.playcodemonkey.com/solutions/1eQ1gA

まだ始めたばかりです。 子どもにプログラミングを学んでほしくて、Code Monkey を試しています。

土曜の朝、無料版を試させたところ、 その日のうちに 無料で遊べる(学べる) 30問まで解いてしまったので、 早速 amazon で1年分のライセンスを購入しました。 お急ぎ便で日曜に到着して早速進めています。

続きを読む…

Nashorn, AbstractJSObject を使って JS Array っぽいオブジェクトをつくって使う

Java8 からは Rhino に変わって Nashorn を使って Javascript を実行することができます。 Binding 機能を使えば、Javascript から Java 側で作成した自前のオブジェクト利用することも簡単です。

そこで、この機能を使っていろいろと実験をしているのですが、少し困った問題が出てきました。 Java の ArrayList オブジェクトを Nashorn に Binding して使う場合、 こちらとしては、Javascript の Array オブジェクトと同じように振る舞ってほしいのですが、 それとは微妙に作動が違うのです。

これを解決するためにいろいろ方法を探したのですが、どうやらAbstractJSObject を使って、 Javascript の Array オブジェクトと同じように振る舞うオブジェクトを実装すればよいようです。

続きを読む…

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

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

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

many-angles-white-donuts-360

続きを読む…

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

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

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

white-donuts

続きを読む…

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

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

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

melon lime lemon raspberry cherry kiwi banana apple orange grape

続きを読む…


Older Posts »