jdbで実行したら”Invalid JNI signature character ‘;'”と怒られた

GUIのないサーバで、javaのプログラムをデバッグしていた時のおはなし。
Eclipseしか使ったことのない方には馴染みがないと思いますが、javaにはjdbというgdbみたいなデバッガがあります。
jdbは、画面のない環境でも(gdbを使い慣れた人なら)お手軽にデバッグできるツールなのですが、あるプログラムをデバッグしようとしたら

Exception in thread "JDI Internal Event Handler"
java.lang.IllegalArgumentException: Invalid JNI signature character ';'
        at com.sun.tools.jdi.JNITypeParser.nextTypeName(JNITypeParser.java:236)
        at com.sun.tools.jdi.JNITypeParser.typeNameList(JNITypeParser.java:140)

のようなExceptionが出てデバッグができませんでした。
jdbを使わなければ、普通に動きます。jdbでデバッグしようとするとこのようにExceptionが出ます。
ちなみに、Javaのバージョンは、1.6.0_18(OpenJDK)。OSは、Ubuntu 10.04です。
Continue reading →

Google DevFest Quizをやってみました。(パッチワーク問題の回答)

すでに旧聞に属するネタですが、話題のGoogle DevFestのQuizの私の回答(に使ったプログラム)を晒してみます。間違いなどのご指摘があればコメントをお願いします。
ちなみに、こちらには他の方の回答(プログラム)がまとめられています。
いろんな解き方がありますね。
Continue reading →

ActionScript3.0でSingletonパターンを実装する

最近、ActionScript3.0でコードを書いています。当然、今まで使っていた言語とは様々な仕様上の違いがあるのですが、その中でちょっと困ったのは、コンストラクタにprivate属性を指定できないこと。Singletonパターンなどを実装しようとしてprivateなコンストラクタを宣言すると、コンパイル時に「A constructor can only be declared public.」というエラーが発生してしまいます。

小さなプロジェクトであれば「インスタンス化しないように注意する」ということでもなんとかなりますが、やはりどうしても寝覚めが悪いので、対策を考えてみます。
Continue reading →

QRコード生成WebサービスQR-BMP

動的に(URLのパラメータ指定で)QRコード®を生成するWebサービスを作りました。
すでにそういうサービスはいくつかあると思いますが、コラボさいたま2009の当社展示での使用のため、よそ様のサービスを使わないですむように自前でつくりました。
おかげさまで無事、展示(およびフォローサイトの運用)も終わったので、サービスの開放およびソースコードの公開をします。
Continue reading →

BASE64Encoderを使おうとしたら「rt.jarで制限されているためアクセスできません」と言われた件

Eclipse 3.5(Pleiades All in One 3.5.1.20090930でjdk1.6.0_06を使用)でのお話。
Javaプロジェクトを作って、sun.misc.BASE64Encoderを使おうとしたらエラーと表示されました。
メッセージを見ると、「アクセス制限: 型 BASE64Encoder は必須ライブラリー (Javaのインストールディレクトリ)\lib\rt.jar で制限されているためアクセスできません」とのこと。
検索しても対処法がすぐにわからなかったので、メモしておきます。
Continue reading →