手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。
そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。
そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて Groovy です。
「Javaで学ぶ自然言語処理と機械学習」という本で紹介されていた Wikipedia でトレーニング済みの単語分散表現データが便利。 このデータの活用例として日本のブランドのマップを作成してみた。
» Read MoreJava8 からは Rhino に変わって Nashorn を使って JavaScript を実行することができます。 Binding 機能を使えば、JavaScript から Java 側で作成した自前のオブジェクト利用することも簡単です。
そこで、この機能を使っていろいろと実験をしているのですが、少し困った問題が出てきました。 Java の ArrayList オブジェクトを Nashorn に Binding して使う場合、 こちらとしては、JavaScript の Array オブジェクトと同じように振る舞ってほしいのですが、 それとは微妙に作動が違うのです。
これを解決するためにいろいろ方法を探したのですが、どうやらAbstractJSObject を使って、 JavaScript の Array オブジェクトと同じように振る舞うオブジェクトを実装すればよいようです。
» Read MoreJavaでパイプする方法がよくわからなかったので、いろいろ試行錯誤した結果をまとめました。 Javaで書くとコードが長くなるので、Groovy で記述しています。
» Read Moreすでにこの世は Android 8.0 OREO 時代なのですが、 Android 6.0 Changes の Apache HTTP Client Removal で、Apache HTTP Client が削除されたという件に今さら直面した話。
» Read More正規表現で、.(dot)は改行にはマッチしない。これがポイントだった。 そこで、Pattern.DOTALL オプションをつけて、regex をcompileしてやれば、 .(dot)は改行にもマッチする。 したがって、以下のような Testクラスがあった場合に、改行含んだ状態のStringをコンストラクタに与えると、見事に複数行に渡っていても処理できる。
» Read Moreサーバ上に設置しているドキュメントの一部をリクエストがあった時点で画像に変換して出力する方法のメモ。
» Read Moreドキュメントの最後につける索引ページ、その索引語句をソートするときに 濁音を静音として評価してソートする必要がある場合があります。 このエントリーではその場合の対処例を書きます。
» Read MoreGUIが複雑なアプリの場合、実行環境にあわせて画面をフルに使いたい場合があります。 Javaには実行時にそのマシンのグラフィック環境に関する情報を取得できる機能があるので、それを使います。
» Read Moreサーブレットなどを使ってイメージを生成させるような場合、 サーバ上で実行すると失敗することがある。
そんなときは java の起動オプションとして -Djava.awt.headless=true
のようにして
Headlessモードにすればよい。
入力フォームに何を入力したらいいか例を示したい場合があります。 フォームの横に例を書く、という単純な方法もありますが、 以下のようにテキストフィールド上にヒントを書くという方法もあります。
» Read More