Java

考えることは同じ

結局、みんな同じことを考える。 ref:http://d.hatena.ne.jp/bleis-tift/20070731/1185812617 ref:http://d.hatena.ne.jp/odz/20061025/1161837641 ref:http://www.coins.tsukuba.ac.jp/~i021216/diary/?date=20070109#p01 (なぜか 403 で見えない) あと、Bu…

xrange

ref:予定は未定Blog版 - Javaでrange わざわざ配列を作ってしまうのは非効率だよなー、ということで xrange 版。いやまぁ、boxing と unboxing のコストがかかるけどねー。 import java.util.Iterator; public class XRange implements Iterable<Integer> { private s</integer>…

正規表現で Unicode Block

ref:神様なんて信じない僕らのために - すべての漢字を取り出す正規表現 そういや、Python の正規表現エンジンって、named group は使えるけど、Unicode Block は使えないんだっけ? Perl や Java なら Unicode Block が使える。 use strict; use warnings; …

Javaの開発環境

最近は、すっかり淘汰されてしまった感があるけども、一時期は Java の開発環境ってすごいいろいろ出ていた。 ということで、意味もなく列挙。 Eclipse (Eclipse Foundation) NetBeans (Sun) IntelliJ IDEA (JetBrains) Borland JBuilder (Borland) Oracle J…

予約語の追加

アノテーションは@interfaceと宣言する。まぁ、一種のインターフェイスであることには違いないが、専用のキーワードを用意しても良かったんじゃないかな、とも思う。少なくとも日本人にはannotationなんて名前付けるような人はいない気が*1・・・ 自然言語処…

Eclipse 3.3

ref:【特集】ついに登場! Eclipse 3.3 - 新機能と同梱プラグインを速攻レビュー (1) ついに登場!Eclipse 3.3新機能レビュー | エンタープライズ | マイコミジャーナル 数週間前から RC 版を使っていたりするけど、なんか細かく機能拡張されてていいよね。以…

Joda-Time と Java API

ref:http://d.hatena.ne.jp/nowokay/20070628 Java で日時を扱うのは今のところ、Joda-Timeを使うのが一番いいんじゃないかと思う。JSR 310も Joda-Time がベースになっているらしい。 ていうか、以前にも書いたけど、やっぱり、Jakarta Commons (の特に com…

Lucene in Maven Repository

いつになったら Lucene 2.2 の jar が Maven の Repository に入るんだろうと思っていたんだけど、今見たら、Lucene 2.2 と一緒に Lucene 2.1 の jar が Maven Repository に登録されていた。なんだこのタイミングは。

Java で Suffix Array

なんか Java で Suffix Array なコードというリクエストがあったので簡単に。 とりあえず Suffix Array の構築だけ。効率とか一切無視で。 import java.io.IOException; import java.util.Arrays; import java.util.Comparator; import java.util.regex.Matc…

JRuby vs CRuby #2

Someone said, try running it a few more times in the script, so Java’s JIT can optimize it.Yes, that is well known fact. I tried another test according to this proposal. def fib(n) if n == 0 then 0 elsif n == 1 then 1 else fib(n-1) + fib(n…

JRuby vs CRuby

ref:JRuby 1.0ベンチマーク(fib(30).rb) - 航海日誌 (2007-06-12) ref:フィボナッチ数ベンチマーク - val it : α → α = fun ref:しつこく JRuby - val it : α → α = fun Debian etch, Athlon 64 X2 4400+ で試してみた。 % ruby -v ruby 1.8.6 (2007-06-07 p…

Xeon + Mac OS X + Java

研究室の Mac Pro は Dual Core Xeon x 2 で Mac OS X が入っているんだけど、当然 Java も 64bits モードで動くと思っていたら。 % java -Xmx4000m test Error occurred during initialization of VM Could not reserve enough space for object heapあれ?…

Mac + Java で突然意味不明なエラーになる

ref:"Re: Error running a headless Java application (BOOTSTRAP 1100)" Mac OS X のサーバに SSH でログインして Java のプログラムを実行しようとしたら(いま研究室にある最速のマシンが Dual Core Xeon 2.66GHz x 2 の Mac Pro だったりする) 2007-06-12…

Java on Mac OS X without GUI

Mac OS X のサーバに ssh でログインして Java を実行しようとしたら Can't connect to window serverなんてことを言われておこられた。検索してみたところ、どうも java -Djava.awt.headless=true ClassNameとして実行すればいいらしい。

MacOSX の Java

なんか MacOSX の Java ってなぜかデフォルトで file.encoding が SJIS なんだな。意外だ。 とりあえず、端末のエンコーディングは UTF-8 なのに Shift_JIS で出力されると困るので、 alias java='java -Dfile.encoding=UTF-8' alias javac='javac -encoding…

Java の Web Browser

ref: [Java][ソフト] Javaで書かれたブラウザ - 航海日誌 (2007-05-07) mixi の Java コミュニティであがってきててふと思い出した話。 SWT の Browser コンポーネントを使うソリューション。 あと、Flying Saucerという XHTML 専用レンダラと TagSoup を組…

Ruby VM と JVM

ref:ASIPの徒然なるままに: 何故、今、Rubyに注目するのか? あとで書く、と思う。たぶん。

Click + Securit Manager

Clickは ClickServlet の初期化時にいくつかのファイルをコンテキストパス以下に配備しようとする。 が、Tomcat で Security Manager を有効にしているとコンテキストパス以下に書き込み権限がなくなってはまる罠。Debian etch の tomcat だとデフォルトで S…

Open type

ref:Enjoy*Study - Eclipseに最低限入れておきたいプラグイン Java のコードに限定するなら Open Type (Ctrl + Shift + T) で十分かなぁ、と思ったり。Camel Case Search は面白そうだけど。 関係ないけど Quick Outline は激しく便利だと思う。

Java における定数展開

ref:天使やカイザーと呼ばれて: インスタンスフィールドが勝手に上書きされる!? via:神様なんて信じない僕らのために - C++では不法!? C++ の方は、以前バカが征くでもやってましたね。まぁ、それはよくて。 クラス継承の上位のデフォルトコンストラクタ…

Unicode 正規化と文字種判定

この処理は、 もともと、Web page が英語なのかどうかを判定したいという目的があるのだが、 実際にこのメソッドで処理したら、 例えば、見た感じは全部英語っぽいのだが、 いわゆる全角空白が使われている、 というページが出てくる。 どう見ても英語なのだ…

言語判定

ref:裏表(Phinloda のもう裏だか表だか分からないページ) | Java で「英語で書かれたページ」を判定する方法は? 「日本語でない」でいいなら、Character.UnicodeBlock を使って、ひらがな、カタカナ、漢字がないかどうか調べればいいと思うけど、そうでない…

Eclipse と NetBeans

ref:NetBeans軽いねぇ - 航海日誌 (2007-03-03) ref:NetBeans軽いねぇ その弐 - 航海日誌 (2007-03-04) NetBeans もよくなってきているという話はいろんなところに出てくるから、何度か NetBeans を使ってみようとしたことはあるんだけども、どうにも自分は …

意味分からなくなってきた

Generics を使いまくってたらだんだん意味不明になってきた。 Map<Long, Collection<Set<Pattern>>> patternIdToPatternClustersMap; typedef とか alias とかないしな。いい加減、型宣言が煩雑になってきた。なにかいい方法はないものか。</long,>

Generics の型宣言に複数のクラス・インターフェースを書く

ref:Onion開発日記(2007-02-16) ref:odz buffer - Java の型システム おぉ。Generics では型制約に複数のクラス・インターフェースをかけるのか。恥ずかしながら知らなかった。API Referencfe を良く見ると Collections#max もこんな宣言になっているじゃな…

拡張 for 構文の認知度

最近必要に迫られて Perl を使うようになった研究で Java を使う某氏から聞いたとほほなセリフ。 Perl の foreach 見たいなのが Java にも実装されたらいいのに ちょ、おま Generics を使いながらなぜ。あ、そこ、同意して「Perl の foreach はいいよ」とか…

Java の型システム

強い型付けの言語が好きなんだけど、最近のJavaってLLにめちゃめちゃ遅れをとっているよねー、Javaってだめなのかなーって思っている人向けです(笑)。 ええと、静的/動的な型付けと、強い/弱い型付けを混同するのはまずいんじゃないですか。 というか、どうも…

Seasar2 雑感

なんだかんだで、S2Dao + Click な構成を試してみたりする。 あー、なんか DI(Dependency Injection)ていまいちメリットが見えなかったんだけど、使ってみると悪くないな。オブジェクトの依存関係の解決と生存期間の管理をコンテナがやってくれるわけね。っ…

Search without Scoring

Lucene で検索結果のスコアリングを省くテクニック。 普通の検索は IndexSearcher.search(Query) を使うが、スコアリングがいらない場合は Filter と IndexReader を使って BitSet を取得する。こんな感じ。 IndexReader reader = IndexReader.open(indexPat…

Click & Spring Framework

Click と Spring Frameworkを使ってみたり。なかなかいいな。 しかし、servlet-mapping を書いて ReuquestDispatcher で JSP に forward してた時代が懐かしい。当時は Servlet API 2.2 で Tomcat も 3.x だったもんなぁ。 てなことを書くと「お前はいったい…