Java

Google App Engine for Java で使用できるメモリ量

Sen がうまく動かないので,実際どのくらいのメモリが使えるのかを調べてみた.具体的には,簡単な指定したメモリ量を確保するだけのサーブレットを書いて,手動2分法で限界点を探してみた.サーブレットはこんなだ. public class memorytest_gaeServlet ex…

Sen on App Engine その後.

Senの辞書ファイルアクセス部にちょっと手をいれて,辞書ファイルを分割できるようにしてみた.これで,App Engineにアップロードはできるようになったのだけど,やっぱり実行時に, Error: Server Error The server encountered an error and could not com…

Sen

有名な日本語の形態素解析プログラムに,茶筅がある.これは,奈良先端大で開発されたもので,日本語の文章を入力すると,品詞を解析してくれる. こんばんわ,ラッシャー木村です.という入力に対して, こんばんわ (こんばんわ) 感動詞(0,5,5) コンバンワ …

Cream + App Engine

Cream はThreadを用いて書かれている.これは,所与の制約条件を満たす解が複数ある場合,すべての解を求めると時間がかかりすぎたり,メモリ消費量が大きすぎることがあるので,1つの解ごとにユーザのプログラムに制御を移すためである.もちろんオブジェク…

Javaによる制約解消系 Cream

さまざまな制約(Constraint)を満たす解を求める枠組みを制約解消系(Constraint Solver)と呼ぶ.たとえば,Prologなんかは言語でもあるけれど,制約解消エンジンが組み込まれているとも言える.制約解消は,いろんな問題に使えるが,身近なところだとパズルが…

いまさらJava RMI

Javaで単純なクライアント・サーバをプロトタイプしなければならなくなった.非同期の必要はないし,独自にプロトコルを切るのも面倒なので久しぶり(10年ぶり?)にいじってみたら,昔と違って随分扱いやすくなっていた. スタブとスケルトン リモートオブジェ…

Javaで簡単なインタプリタを書いてみよう (1)

と思う.手持ちのコードがあればいつかなにかの役に立つかもしれない.大昔にバイト先でlex,yaccを使って,C++で特殊な用途のインタプリタを書いたことがあるのだけど,最近はいろいろと状況が違いそうなので,まずは復習から.お手軽にやるにはパーザジェネ…

「クロージャの定義」

Java7のクロージャの提案者の一人,Neal Gafterのブログが大変参考になるので,ちょっと野良翻訳してみよう. クロージャの定義 Java 言語にクロージャを追加しようという我々の提案に関して混乱があるようだ.そもそも,Javaにはすでに無名インナークラスと…

Java 7で導入されるクロージャ

次期Javaでは,クロージャが導入されることになっている.クロージャとは,変数と束縛された関数のこと.Lispなどの動的な言語では数十年まえから一般的な機能で,昨今のスクリプト言語では無い方が珍しいぐらいなので,今更という感はなくもないが,導入さ…

Javaのselectは面倒くさい

selectといっても,SQLのSELECTではなく,複数の入力を同時に待つほうのselectのお話.Java言語にはもともとselectの機能は無かった.JavaはThreadが言語仕様に統合されているので,複数の入力に対してはそれぞれThreadを割り当てれば良い,という考え方だっ…

Amazon の ORマッパ Carbonado

JavaのORマッパと言えばhybernateが有名だが,なんか,やたら複雑そうに見えたので,最近出てきたCarbonadoのほうを試してみた.Carbonadoの特徴は,バックエンドのデータベースにいわゆるRelational DBではないBerkely DBが使えること.だから正確にはORマ…

OOWeb

Javaの軽量WebコンテナOOWebについて調べてみた.現在最新バージョンが一年前にでた0.7.1ということで,開発止まっちゃってるのかもしれないので,心配なのだけど,他に代替になりそうなものも見当たらないので.OOWebはPythonによるWebコンテナCherryPyにin…

Javaのテンプレートエンジン

Javaのテンプレートエンジンについて調べてみた.ざっと検索してよく引っかかってきたのは二つ. Velocity FreeMarker VelocityはApacheプロジェクトの一環で,Velocity Engineを中核として周辺にいくつかサブプロジェクトがある模様.現在version 1.5.Free…