JAVA

JavaってGLOBAL使えたんだー

gtags -vとかやったら [69/107] extracting tags of java/src/com/rubyeventmachine/EventableDatagramChannel.java [70/107] extracting tags of java/src/com/rubyeventmachine/EventableSocketChannel.java [71/107] extracting tags of java/src/com/rub…

Javaの黒魔術

Javaの黒魔術の最たるものってなんだろなーと考えたことがあって、BCELみたいなバイトコードを直接いじっちゃうのがそれではないかと思ったりした。 もちろんRubyだって動的にクラスをいじることはできるけど、動的な型付けの言語のそれとは少し性質が違うよ…

link: 短時間に大量アクセスを行うとネットワークエラーとなる

http://www1.odn.ne.jp/~aaa10090/zaregoto/deb/d050305a.htm JMeterで負荷テストをやっていたら遭遇。 JMeterの問題じゃなくてよかった…

読書進捗API - Java版

エラー処理とか、いくつかのオプションとかを省いているけど、おおむね出力は一緒。 ソース一式 http://storehouse.sakura.ne.jp/hatena/book_progress_java.tar.bz2 所感 とりあえず、JavaでもCGI作る程度の感覚で、Webアプリを公開できることは分かった。 …

読書進捗API - Java版: 計ってみる

いくつか機能を省いているとはいえ、並列処理は強力だなー。 アプリケーションサーバを変えたら、もっと上がるのかな? 追記 よくよく見たらjpegで出力してた。 pngじゃないと比較になんないな… 追記2 jpeg→pngに修正。スループットがさらに上がってしまっ…

サーブレットで動的に画像を生成

標準APIだけで出来た。出力画像はこちらと同じ。 ライブラリは強力なのに、シンプルに使えるAPIがないのがJavaの不幸なところだナー、と思う。シンタックスの問題じゃなくて。 ところで、Graphicsがawtにあるのはどうなんだろう?いいのかな? サーブレット …

QuickVPS: Tomcat

http://storehouse.quickvps.net/jsp-examples/ 動くは動いた。 proxy ajp楽だなー。

urlから画像を取得

カヤック星人の逆だ。時代を逆行してるな。 Rubyほどのシンプルさはないけど、eclipseの補完機能の強力さを改めて思い知る。 import java.io.*; import java.net.*; public class Foo { public static void main(String[] args) throws Exception { URL url …

SQLiteJDBC

http://www.zentus.com/sqlitejdbc/ こっちのほうがメンテされてんのかな。

Javaで作ってみる(よてい)

とりあえず、比較のためにJavaで読書進捗APIを作ってみよう。 画像の生成はImageIOでできそう 線引いたりとかわできるのかな? リモート画像の取得は…どうしよう? まあ標準ライブラリのなんかでできそうだけど。 フレームワークはなしで、シンプルなサーブ…

QuickVPS: jdk1.5 > debian

こちらを参考にしてインスコ。 source.listを以下のように変更。 ~# cat /etc/apt/sources.list deb http://ftp.jp.debian.org/debian/ unstable main contrib deb-src http://ftp.jp.debian.org/debian/ unstable main contribで、実行したら ~# java Error…

形態素解析システム Sen

http://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sen.html 故あってSenを使う。 MeCabよりはシンプルな感じかな。なんか本家のホームページが変なことに…。

Windows向け Jikesコンパイルメモ

http://www.yks.ne.jp/~tsurucha/contents/jikes-howto-install-mini.html Eclipseのインクリメンタルビルドで使えないのが残念…なのかな?

struts-config.xmlでのリダイレクトについて

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29605&forum=12 たまーに、リダイレクトで表示したいってありますよね。

Pico + Nano + Groovy

Groovyも1.0になったし、動的なクラス生成を使ってインターフェースレスにDIコンテナを使うのが、ナウなヤングにトレンディかも…と考えて、少し触ってみる。 依存するライブラリは次の通り。 asm-2.2.jar antlr-2.7.5.jar groovy-1.0.jar nanocontainer-1.0.…

Pico + Nano + Groovy その2

せっかくなので、動的にモックを作ってみる。 Groovyスクリプト import pico_nano.* class MyBaz extends Baz { def void func() { println "MyBaz#func()" } } pico = builder.container(parent:parent) { component(class:Foo) component(class:Bar) compo…

「Wicket」の使い方

http://www.javelindev.jp/wicket/docs/pages/Wicket01 Wicketもいいかも。 でも、当分はClick+Cayenneかなー。

Listリテラルもどき

なんとなく思いついたので public static void main(String[] args) { List<String> list = list("1", "2", "3"); System.err.println(list); } private static <T> List<T> list(T... objects) { List<T> list = new ArrayList<T>(); for (T o : objects) list.add(o); return l</t></t></t></t></string>…

Mapリテラルもどき

public static void main(String[] args) { Map<String, String> map = map(_("A", "a"), _("B", "b")); System.err.println(map); } private static <K, V> Map<K, V> map(Map.Entry<K, V>... entries) { Map<K, V> map = new HashMap<K, V>(); for (Map.Entry<K, V> e : entries) map.put(e.getKey(), e.getValu</k,></k,></k,></k,></k,></k,></string,>…

rubbish-db 1.7.4

http://sourceforge.net/project/showfiles.php?group_id=174258 ActiveRecordの親レコード/子レコード取得メソッドをtoParentName()/childNameList()に変更。 あと、結合したテーブルをもう少し簡単に取得できるように。 親レコード取得 Book book = Book.f…

ConfigurationFactory

汎用的に使えそうなのでメモ。 public class ConfigurationFactory { private static final String FILENAME = "xxxxx.properties"; private static Configuration singleton = null; public static Configuration getConfiguration() { if (singleton == nu…

java.lang.AbstractMethodError: com.microsoft.jdbc.sqlserver.SQLServerConnection.prepareStatement(Ljava/lang/String;I)

prepareStatement(Ljava/lang/String;I)がないっぽい…実装しているJDBCのバージョンが古いのかなぁ? SP2でもうまくいかないし…。 2005のドライバをつかえってことか?

2005 Driver

http://www.microsoft.com/downloads/details.aspx?familyid=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=ja 一応、2000に対応してるっぽい。 こっち使ってみるか。追記 1.1があった。紛らわしい…

Cayenne + SQL Server 2000 + キー自動生成

結局、2005のドライバでうまくいきました。 うぅ…ニッチなノウハウだ。

Statement#getGeneratedKeys()

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#getGeneratedKeys() こういうのもあるということで… 追記 とりあえずHSQLDBは未サポート、と。

rubbish-db 1.7-beta4

http://sourceforge.net/project/showfiles.php?group_id=174258 力技でmany-to-menyをActiveRecordに実装 テーブル定義がこんな感じ。 CREATE TABLE ARTIST ( ID INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, NAME VARCHAR(256) NOT NULL );CREA…

Cayenneに触ってみた

http://cwiki.apache.org/CAYDOC/quick-start.html 仕事がらみでちょっと触ってみたら、なかなか楽しい。 なんというか「直感的にわかるわかる感」が強いというか、Clickを触った感じと似ていると思う。 依存するライブラリがひとつのJarにまとまってるとこ…

rubbish-db 1.7-beta

http://sourceforge.net/project/showfiles.php?group_id=174258 ActiveRecord生成時、親レコード取得メソッド/子レコード取得メソッドを勝手に生成するようにしました。 以下のようなコードが書けます。 Book.find(Book.PUBLISHER.eq("01").and(Book.ID.eq(…

rubbish-db 1.7-beta2

http://sourceforge.net/project/showfiles.php?group_id=174258 ActiveRecord生成時に、子レコード追加メソッドを勝手に生成するように追加しました。 以下のようなコードが書けます。 Book book = new Book(); book.setId("999"); book.setTitle("タイトル…

DbUtils

http://jakarta.apache.org/commons/dbutils/ http://jakarta.apache.org/commons/dbutils/changes-report.html Java News経由。 すっかり開発が止まったもんだと思ってた。 DATEにnullをセットの件は(やっと)解決したらしい。