2007-12-01から1ヶ月間の記事一覧

AWTEvent.RESERVED_ID_MAX

java.awt クラス AWTEvent自作のGUIイベントオブジェクトクラスを作ろうとAWTEventクラスをベースにする場合、表題の定数よりも大きいIDを振るのが決まりだが、これって各自で振る訳で他の人が書いた同様のクラスを使う場合、IDが重複することがあるだろうと…

またインタフェース

インタフェースっていいよなぁ、と数日前に書いたけれど、これがJavaやC#を冗長にしている原因の一つでもあるのだなというのも納得している。 スクリプトの世界で暫く遊んだ後で静的な世界に戻ってくると、クラスを書くのがたまらなくだるく感じるからだ。か…

インタフェース

っていいよなぁやっぱり。ポーティングをしていると特にそう思う。 インタフェースは操作のみが定義、提供されている。Javaだろうが、C#だろうが操作は操作だし。 実装が無くてもビルドは通るしテストもできるから、中身が空のままどんどん作業を進められる…

Windows Vista Service Pack 1 RC

Windows Updateを実行してみた。ファイルI/O周りは確かに速くなったようだ。大量のファイルコピーやゴミ箱を空にする際の時間は確かに短縮されたが、先日実施したフォルダブラウズ時にZipファイルをいちいち展開しないことに比べるとインパクトは弱い。 それ…

Windows Vista Service Pack 1 RC Windows Update Installation Experience

知らぬ間にMSDNサブスクライバ ダウンロードにアップされていた。早速自宅で人柱。 それにしても今回の配布方法は変わっている。MSDNからダウンロードされるのはSP1の内容とインストール方法を書いたドキュメントとレジストリを書き換えるコマンドだけだ。 …

正規表現

告白するが、少しの間使っていないとすぐにメタキャラクタや文字クラスの意味を忘れるので、近くにリファレンス本が欠かせない。 正規表現の達人 第2版 正確に言うと持っているのは1版のほう。忘れないように深く覚えるには、と一念奮起。 詳説 正規表現 第2…

ヒール

暫くぶりにJavaメインの仕事に戻ってきたんだが、周りを見聞きするにどうして何時の間にJavaはこんなに悪役になってしまったんだろう。 Microsoftの開発言語/ツールも歴史的に悪役にされることがあるけれど(暗黒面とか散々言われたりしてきた)、それでも、ど…

内部クラス

Javaの内部クラスは種類が豊富なのが災いして解り難い。 ネストトップレベルクラス メンバクラス ローカルクラス 無名クラス それぞれちゃんと説明することは難しい。 私の場合はメンバクラスとローカルクラスは滅多に使うことは無いので忘れたりする。

GroupLayoutの難解さ

J2SE6で導入されたSwingの新しいレイアウトマネジャであるGroupLayoutクラスだが、そもそもIDEから自動生成されることを前提にしているのか、単に私の読解能力が低いのか、いろいろな所で散見される解説を読んでもさっぱり解った気がしない。クラス GroupLay…

Eclipse3.3 + VE

Eclipseは標準パッケージではGUI Builderを持たないがVE(Visual Editor)と呼ばれるプラグインがあり、これが事実上標準となっている。...がしかしEclipseはWebアプリケーションがメインストリームになってから世に出てきたIDEであることもあってかVEの開発は…

データ共有の仕組みとDB

以前に、C#のフレームワークをJavaに移行する際に代替が困難な仕組みについて言及した。 代替困難 この中でも特に大変なのが クライアントデータ(オブジェクト)の共有 だと思っていたのだが、大変なのは.NET RemotingをJavaプラットホームで再現しようとする…

ブレースと一貫性

Type1(主にC#) if (a == b) { a.SetHoge(b); } else { b.SetHoge(a); } Type2(主にJava) if (a == b) { a.setHoge(b); } else { b.setHoge(a); } C#からJavaへの移植。Type1からType2のブレーススタイルに変更するのが地味に面倒だ。 JavaでType1のスタイル…

JavaのAutoBoxingって..

JavaはJ2SE5(Tiger)でC#に似たAutoBoxingが導入された。C#のintとInt32等の関係とは違い、Javaの場合はプリミティブ型をどこかの段階でラッパークラスに変換しなくてはならない。これはそもそも書き手にBoxingを意識させないためなんだろうけれど、結果とし…

JavaのAutoBoxingって..(追記)

bleis-tiftさんからコメントで情報を頂いたが、JavaのAutoBoxingで不思議な?振る舞いになるのは、プリミティブをラッパーに変換する際にある範囲の値はキャッシュから返しているからだそうな。オートボクシング・アンボクシングの注意 - きしだのはてな なる…

師走は不思議と

一段寒くなる。11/30と12/1に気候上そんなに違いは無いはずなのだが、それでも12月に入ると寒く感じるのだ。何故だろう。

インナークラスをデバッグするとステップフィルタが効かない

標題の通りだが、Eclipse(Version 3.3.1.1)を使ってインナークラスをデバッグすると、本来はステップフィルタでフィルタリングされるはずが、Object.classまで遡ってしまうようだ。 JSDKのバージョンは"1.6.0_03"だが、今のところ原因は判らず。

J2SE6と式評価エンジン

拙作のフレームワークではDIコンテナの評価式のエンジンを挿げ替えることができるようになっているが、Javaでもこの仕様を踏襲する予定だ。 過去記事一覧検索 "DI 式評価".NETでは、Jscript.NET、IronPython、PoweShellと試してきたが、JavaではJ2SE6が提供…

J2SE6と式評価エンジン(その2)

例の善し悪しは別にして、DIの式評価エンジンにMozilla Rhino:Java Script for Javaを使うとこんなことも出来てしまう。(設定ファイルは開発中のものなので適当) <components> <component name="mainFrame" class="javax.swing.JFrame" instance="singleton" autoBinding="none"> <property name="Visible">true</property> <method name="setDefaultCloseOperation"> <arg><js>JFram…</js></arg></method></component></components>

Zipファイルのフォルダ展開を無効にする

WindowsXPの時はインストールしたzipfldr.dllを解除するだけで良かったのだが、Vistaの場合はその方法ではできないらしく一時はあきらめていたのだが、本日、基点となっているフォルダに巨大なZipがあることでFileVisorの起動に1分程待たされたのに我慢でき…

Woodstox

Woodstox - High-performance XML processorコメントで教えて頂いたWoodstoxは、バリデーション機能を既に有しているStAXパーサの実装。 J2SE7では参照実装も確実にバリデーション機能を持つだろうが、そこまで待てない場合はこちらを使わせて頂くことになる…