argius note

プログラミング関連

Java

良いコメント悪いコメント

http://d.hatena.ne.jp/bleis-tift/20090421/1240324323 ためになります。 ほぼ全面的に同意です。ただし、自分がすべてにおいてこのルールを遵守しているかというと、そうでもありません。 それも含めて、コメントについてコメント。 ※見出しをお借りしてお…

Ubuntu8.04でJava

互換性テストのため、最近Ubuntu8.04を使ってみています。 これにはJavaが入っていないので、最初はOpenJDKを入れてみました。コマンドラインのプログラム(Fruiとか)は普通に動くみたいです。 次に、Antを動かそうとしたら、OpenJDKだと上手く行きません(…

SQLite+JDBC+Stew

StewでSQLiteに接続するのは、実はまだやったことがありませんでした。 今回、Trac関連でDBを直接覗くために試しました。※この実験は、Stewのプラグイン的な接続設定で動作するかどうかを試したものです。普通にCLASSPATHに通せば問題なく動作すると思います…

ドラッグ&ドロップ(DnD)でドロップされたファイル情報を取得する

DnDは、あまり使ったことありません。せいぜいmouseDraggedイベントの操作くらいで、ドロップ関連は全く触ったことがありませんでした。 というわけで練習。JFrameにExplorerなどで1つまたは複数選択したファイルをドラッグ&ドロップすると、標準出力にファ…

Antで日時文字列(DateFormat)を使用する

日時の付いたファイル名でZIPアーカイブを作成。 <tstamp> <format property="now" pattern="yyyyMMdd-HHmmss"> </tstamp> <zip destfile="results-${now}.zip"> <fileset dir="." includes="**" /> </zip> 追記(2010-01-30) JarタスクをZipタスクに修正。Jarでも出来ることは出来ますが、MANIFEST.MFがついてしまいます。

JUnitはテストケースごとにTestCaseインスタンスを生成する

Martin Fowler's Bliki in Japanese - Junit新インスタンス いままで気にする必要がなかったので、今回ちょっとハマってしまいました。 今回初めて、DBアクセスクラスのJUnitテストケースを作ることにしました。SELECTの場合は上手く行ったので、それで担当…

Effective Java 第2版

著者:ジョシュア・ブロック(Joshua Bloch) 訳者:柴田芳樹 asin:489471499X 遅ればせながら入手。まだざっと読んだ程度です。実践と交互に読んだほうが理解が深まると思いますので、繰り返し読むと良いでしょう。 Java5で導入された、ジェネリクスを始めとす…

なぜJavaびいきなのか

馬鹿な子 手のかかる子ほどかわいいものです。

Clojureが実(運)用

http://www.infoq.com/jp/news/2009/01/clojure_production;jsessionid=E564A7F9644CEE615D016B4A87C48288 Clojureは並列プログラミング(リンク)に重点を置いた開発言語である。ソフトウェアトランザクショナルメモリ(リンク)のモデルとエージェント・システ…

Java 7ロードマップ最新版 関連

現時点でのJava7の姿。個人的にはほとんど追跡していません。クロージャが無くなりそうなのは意外ですね。 以下、抜粋して。 Java 7で登場する新機能一覧、クロージャは残念な状況 | マイナビニュース アップデートされたJava 7ロードマップへの反応 InfoQの…

Gosling氏 インタビュー

Javaがレガシーだって? 冗談じゃないよ - James Goslingが語るJavaの現在 (1) Java 7の開発ペース、ゆっくりすぎやしませんか? | マイナビニュース なんとも心強いお言葉。FXとかJava7とか正直心配ですが、少し安心しました。

Ganymede(3.4.0)に移行

プラグインもだいぶ揃ってきたようなので、全面的にGanymedeに移行しました。 日本語対応は今後しないつもりなので、"IntelliJ IDEA"に乗り換えようかなとちょっと気持ちが動いています。もちろん、併用はすると思います。 Eclipseは相変わらずメニューのニ…

"Generate Javadoc"で生成されるjavadoc.xmlの改造

メニューの"Generate Javadoc"(Javadocの生成)で生成した javadoc.xml は、なんかゴチャゴチャしているので、雛形として改造したものを使いまわしたほうが良い気がします。 <project default="javadoc"> <target name="javadoc"> </target></project>

FirefoxのJavaプラグインを消す方法

動作確認のために、我が家のPCにはJDK1.3〜1.6が入ってるのですが、FirefoxでJavaアプレットを使うときに、Java1.3のJREが使われてしまって、(Java6の)Javaコンソールから消せない(変更できない)問題がありました。 これまでは他のPCのFirefoxで試していたの…

ロケール(言語と国)を指定するプロパティ

プログラマーの常識をJavaで身につける(5):国際化プログラミングの常識 (1/3) - @IT え、知らなかった..... class LocaleTest { public static void main(String[] args) { System.out.println(java.util.Locale.getDefault()); } } 上記コードをコンパ…

Hudsonバージョンアップとあれこれ

ちょっと前に、久しぶりにビルドしてみたら、 svnリポジトリが壊れてる? Java1.4→1.5 で設定変更忘れた (それと共存どうする?) xsltprocがCygwinインストールし直しで消えてた 単体テスト実行をビルドファイルから消してしまった などなど、いきなり嵌りま…

AntAPIの"tar"と"bzip2"で圧縮&解凍

「Javaでアーカイバ(java.util.zip関連) - argius note」のAntAPIから派生。 AntAPIには、前述エントリで使った"org.apache.tools.zip.*"の他に、"tar","bzip2"があります。GZIPが無いのは、標準APIで良いということのようです。 使ってみたので、サンプルを…

Javaでアーカイバ(java.util.zip関連)

java.util.zipあたりのAPIで簡易アーカイバを作ろうと以前から思ってたんですが、その時は2,3つまづく箇所があって挫折していました。今回なんとなく再開したら完成したのでメモしておきます。 発端 バックアップを単純なオペレーションで出来るようにしたい…

復習:セキュリティマネージャ

J2EEサーバでJavaアプリケーションを動作させる場合や、Applet上で実行する場合は、いくつかの機能へアクセスが制限されます。代表的なものを以下に挙げます。 プロパティ (java.util.PropertyPermission) ファイル (java.io.FilePermission) ネットワーク (…

Armed Bear Common Lisp (ABCL)

開発者が知っておくべきJavaと仮想マシンの歴史 - @IT 以前、Clojure - JavaVM上で動作するLisp - argius noteというのを見つけましたが、Clojureは割と「訛りの強い」Lispだと思いました。 今回の Armed Bear Common Lisp (ABCL) は、CommonLisp用のテスト…

Java HTTP Server

今日、教えていただいたのですが、Sunの*1JavaSE6には Java HTTP Server という組み込みHTTPサーバAPIがあります。これは、spiパッケージがあることから、プラグイン可能なHTTPサーバAPIのインタフェースになっていると思われます。以前作ったローカル用ブッ…

JQS (Java Quick Starter)

サービスの一覧を見ていたら、「おや、こんなものが」と見つけた。 ちゃんと調べてませんが、起動を早くしてくれるやつですよね。もう出てたんですね。とっくの昔に。参考 404 Not Found

Java仮想マシン仕様を復習 の続きなど

JRubyとかScalaとかJythonとかClojureとか、JVMが汎用VMに使われるようになってきている。そういえばParrotは。Parrotてレジスタマシンだ。VMじゃないインタプリタとかもちゃんと見てみないと。課題が山積み過ぎる... のんびりやってくか。

Java仮想マシン仕様を復習

復習と言っても、いままでは大雑把にしか見てなかったので、小さな自作言語から直接クラスファイルを作る、とかで遊んでみようかなと思っているところです。大したことはできないでしょう。

Clojure - JavaVM上で動作するLisp

http://clojure.sourceforge.net/ こういうのあると思ってたけど、やっぱりあった。LispからJavaが呼べるんです。CommonLispとかとはちょっと構文とか予約語?とかが異なる一種のLisp方言ですが、基本的にはLispのようです。 Wikiの内容が充実しているような…

改訂版:正規表現で文字列置換えしよう

2年前の日記を見てたら、これはひどい...ので訂正しておきます。 改訂版(Java1.4) import java.io.*; public final class RegexTest { public static void main(String[] args) throws IOException { String a = args[0]; // pattern String b = args[1]; //…

ビルド自動化をHudsonに移行

Hudsonはいわゆる「継続的インテグレーションツール」と呼ばれるものです。最近ちらほらと話題を目にするようになったので、使ってみました。 インストール時の設定とか無しに簡単に導入できる、という触れ込みでしたが、そのとおり。"java -jar hudson.war"…

POI vs JExcelAPI

Apache POI > http://poi.apache.org/ JExcelAPI > http://jexcelapi.sourceforge.net/ 今更紹介するまでも無いですが、JavaでExcelファイルを読み書きするためのAPI。というか、 JExcelAPI は知らなかったのです。なぜ知ったかというと、 POI では手に負え…

手動ソート

いくつかの候補を順位付けしたいんだけど、普通にやると上手くいかない。そこで、「AとBならどっち?」と言う風に聞かれたら答えやすいかな、と考え付いたのがこれ。 正確には比較を手動で行うので「手動比較ソート」となるのでしょうか。 PerlとRubyとJav…

AntのExecタスクでBATファイルを実行

私は今回こうやりましたが、いちばん良いやり方かどうかは分かりません。 <exec executable="cmd.exe"> <arg line="/C hello.bat" /> </exec>