Home About Contact
java.util.Timer を使って、連続で発生するイベントが小休止のときを見計らって処理する

手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。 そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。 そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて Groovy です。

» Read More
Word2Vec, 単語ベクトルを2次元でマッピング

Javaで学ぶ自然言語処理と機械学習」という本で紹介されていた Wikipedia でトレーニング済みの単語分散表現データが便利。 このデータの活用例として日本のブランドのマップを作成してみた。

word2vec-map

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

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

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

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

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

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

» Read More
HttpClient から URLConnection への切り替え ( Android )

すでにこの世は Android 8.0 OREO 時代なのですが、 Android 6.0 Changes の Apache HTTP Client Removal で、Apache HTTP Client が削除されたという件に今さら直面した話。

» Read More
Java のパッケージ名を xargs と sed を使って別のパッケージ名に一括書きかえする

Eclipse などの IDE を使っていれば、Java パッケージ名の変更は簡単にできますが、

ここではターミナル上でさっと変更する方法をメモしておきます。

» Read More
正規表現でテキスト置きかえ処理, 複数行にマッチさせる方法

正規表現で、.(dot)は改行にはマッチしない。これがポイントだった。 そこで、Pattern.DOTALL オプションをつけて、regex をcompileしてやれば、 .(dot)は改行にもマッチする。 したがって、以下のような Testクラスがあった場合に、改行含んだ状態のStringをコンストラクタに与えると、見事に複数行に渡っていても処理できる。

» Read More
サーブレット を使ってPNGイメージを動的に生成する方法

サーバ上に設置しているドキュメントの一部をリクエストがあった時点で画像に変換して出力する方法のメモ。

» Read More
ひらがなの濁音を清音に変換するには

ドキュメントの最後につける索引ページ、その索引語句をソートするときに 濁音を静音として評価してソートする必要がある場合があります。 このエントリーではその場合の対処例を書きます。

» Read More
ランタイム時の画面サイズを取得する(Java Swing)

GUIが複雑なアプリの場合、実行環境にあわせて画面をフルに使いたい場合があります。 Javaには実行時にそのマシンのグラフィック環境に関する情報を取得できる機能があるので、それを使います。

» Read More
サーブレットでイメージを生成する必要がある場合の headless 設定

サーブレットなどを使ってイメージを生成させるような場合、 サーバ上で実行すると失敗することがある。
そんなときは java の起動オプションとして -Djava.awt.headless=true のようにして Headlessモードにすればよい。

» Read More
ヒント情報付きテキストフィールド (Java,Swing)

入力フォームに何を入力したらいいか例を示したい場合があります。 フォームの横に例を書く、という単純な方法もありますが、 以下のようにテキストフィールド上にヒントを書くという方法もあります。

textfield-1

» Read More