Java
最近は様々な Web サイトで Ajax が当たり前のように使われています。 ページ内のコンテンツをほぼ全てAjaxで別途ロードするようなサイトの場合、検索エンジンのロボットにはすっからかんのページがクロールされてしまいます。そのために、サーバ側で予めブ…
Integer.toString だと基数 36 (0-9a-z) までしか対応していなかったので自前で作った。 自然数を 62進数表記(0-9a-zA-Z)に変換する。 public static String toBase62String(final long value) { long val = value; StringBuilder sb = new StringBuilder(…
メモ。 データ型 "date" 2009-05-25+09:00 データ型 "dateTime" 2009-05-25T10:15:28.261+09:00
メモ。 エンティティ @Entity @Generated(value = {"S2JDBC-Gen 2.4.35", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl"}, date = "2009/05/11 10:51:08") public class ExampleEntity extends AbstractEntity implements Seriali…
Macbook Air に Eclipse 入れようと http://www.eclipse.org/ に行ってみたら、新バージョンがリリースされていた。 全然知らなかったと思って調べたところ、http://journal.mycom.co.jp/news/2008/06/27/002/index.html とタイムリーな話題だったらしい。 …
メモ書き。 Tomcat 5.5.25 からレルム設定で JAASRealm の Principal に個別なクラスを設定していると、クラスローダが発見できずに落ちるらしい。 でも The Apache Tomcat 5.5 Servlet/JSP Container - Changelog を見ていたら、 Bug 44084 – JAASRealm use…
Google 翻訳サービスを Java から簡単に使える Java ライブラリが Google Code にある。 http://code.google.com/p/google-api-translate-java/ 非常に簡単。翻訳対象文字列と元言語、変換言語を指定するだけ。 import com.google.api.translate.Language; i…
今まで、URI を経由して URL url = 〜; new StreamSource(new File(url.toURI()))); としていたが、下記のように openStream を使用した方がいいことがわかった。 new StreamSource(url.openStream()); URL が「jar:file:/C:/xxx」のようなときに URI 経由だ…
直接 ArrayList に要素を代入したいときのサンプル。 <root> <values> <value>VALUE</value> <value>test</value> <value>123456</value> </values> </root> … <pattern value="root/values"> <object-create-rule classname="java.util.ArrayList" /> <pattern value="value"> </pattern></object-create-rule></pattern>
ジェネリックであれば、for (Map.Entry entry : map.entrySet()) でいける。ジェネリックでないものを処理するときに entrySet() をうまく使えてなかったのでメモしておく。 下記は、HttpServletRequest のパラメータを別のハッシュマップにコピーしている。…
仕事で Java Web アプリケーションサーバから Web サービスを叩いてみるということで、HTTP クライアントをどうしようかと考えた。 プロキシ認証とかリトライとかタイムアウトとか色々ありそうなので Jakarta Commons HttpClient を試してみた。せっかくなの…
Webアプリケーションを作るときにXMLファイルの読み込みなどでファイルを指定するとき、ユニットテストかWebアプリケーションサーバか、WindowsかUNIXか、とプラットフォームでパス指定が変わってくる。URL クラスのインスタンスを使用するのが良いみたい。D…
log4j.xml の設定を動的に切り替えるため、リロードメソッドを実装してみる。 import org.apache.log4j.xml.DOMConfigurator; public class LogManager { … public static reload() { URL url = getLogConfigURL() DOMConfigurator.configure(url); } }
ディレクトリパスをファイル名の結合をするときに、/ \ といった区切り文字を気にしないで行いたい。.NET では、Path という便利なクラスが用意されているが、Java ではそのようなユーティリティクラスはない。File のコンストラクタがその役目を担ってくれ…
生成もとの DocumentBuilderFactory の setNamespaceAware(true) を呼んでおく。
public String createDigest(String source) { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] data = source.getBytes(); md.update(data); byte[] digest = md.digest(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < dig…
XMLの書き出しが簡単にできるクラスを探していたがない…。C#のXmlWriterと同じようなものを求めていたんだがないもよう。結局、作ってしまった。1時間探して、作ったのは40分なわけで。 Betwixtはちょっとだけ難しいことがあると簡単に対応できない。Digeste…
Judeは1.5ソースファイルの読み込みに対応していない。もっともCommunityエディションだと1.4止まりだが。
32ビット版JVMだと2GBまで。32ビットのアドレス空間だからね。64ビット版JVMはまだあまり使われていないみたい。もちろんそれなら超えられる。あとは、1プロセスの連続したメモリ確保など、OSでの制限もあるため。 高性能マシンで使うときは色々設定を気にし…