BigDecimalの比較をおこなうときは、注意が必要。
BigDecimal bigA = new BigDecimal(0.00);
if( bigA == BigDecimal.ZERO )
{
System.out.println("bigA=ZERO");
}
else
{
System.out.println("bigA is not ZERO");
}
実行結果:bigA is not ZERO
上記の条件式「bigA == BigDecimal.ZERO」は、falseとなります。
「==」演算子で比較をおこなうと、BigDecimalの「0.00」と「0」は、違うものと判断されました。
BigDecimalの値そのものを比較したい場合は、CompareToメソッドを使わなければなりません。
2015年10月27日火曜日
ZK FrameworkのJavascriptを修正してみる
ZKFrameworkを使えば、開発者はサーバプログラミングを記述するだけで
メンテナンス性の悪いJavaScriptを見る必要はない。
まるで、スタンドアローンアプリケーションを作っているような感覚で
イベント駆動処理をしながら、Webアプリケーションを開発できる。
っていうのが、ZKFrameworkの売り文句のひとつだろうけど
(ひと昔前のASP.Netと同じこと言ってるわけで)
やっぱり、顧客要件によっては、JavaScriptを見なきゃいけない場合も出てくる。
で、いざZKFrameworkのJavaScriptを見ようとすると、複雑怪奇で何のことかさっぱりなんてことになる。
そんなときに、役立つのがChromeの開発者ツール。
これがあれば、ZKFrameworkのJavaScriptのデバッグやカスタマイズもだいぶ楽になる。
難読化コードを整形したり、ステップ実行、ウォッチ、コールスタック表示なども普通にしてくれる。
JavaScriptのデバッグも、ついにここまでできるようになったようだ。
ちなみに、今回は顧客要望により、日付をスラッシュなしで入力しても、YYYY/MM/DDに自動変換するように、修正してみた。
メンテナンス性の悪いJavaScriptを見る必要はない。
まるで、スタンドアローンアプリケーションを作っているような感覚で
イベント駆動処理をしながら、Webアプリケーションを開発できる。
っていうのが、ZKFrameworkの売り文句のひとつだろうけど
(ひと昔前のASP.Netと同じこと言ってるわけで)
やっぱり、顧客要件によっては、JavaScriptを見なきゃいけない場合も出てくる。
で、いざZKFrameworkのJavaScriptを見ようとすると、複雑怪奇で何のことかさっぱりなんてことになる。
そんなときに、役立つのがChromeの開発者ツール。
これがあれば、ZKFrameworkのJavaScriptのデバッグやカスタマイズもだいぶ楽になる。
難読化コードを整形したり、ステップ実行、ウォッチ、コールスタック表示なども普通にしてくれる。
JavaScriptのデバッグも、ついにここまでできるようになったようだ。
ちなみに、今回は顧客要望により、日付をスラッシュなしで入力しても、YYYY/MM/DDに自動変換するように、修正してみた。
EGitで競合を解決する
コミットで競合が発生した場合、マージ作業をおこなわなければいけないのは
他のソース管理と同じだが、
EGitでは、マージを修正完了したファイルを自ら『索引に追加』をおこなうことで
競合を解決したことを認識させる必要があるようだ。
他のソース管理と同じだが、
EGitでは、マージを修正完了したファイルを自ら『索引に追加』をおこなうことで
競合を解決したことを認識させる必要があるようだ。
2015年10月20日火曜日
ZKのアーキテクチャの基本シーケンス図
ZKのAPIをADempiereで触っているけど、どうもしっくりこない。
何のサーブレットがあって、実際どういう役割を担っているのかとか、
まずは、アーキテクチャのシーケンス図的なものがほしかった。
やっとそれを説明してくれているページを見つけた。
http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2008/0802/080101as01/080101as01.html
サーブレットは、zkLoaderとauEngineってのがあって、
zkLoaderがレイアウトを作成し、auEngineがAjaxのEventの入出力口になっているようだ。
何のサーブレットがあって、実際どういう役割を担っているのかとか、
まずは、アーキテクチャのシーケンス図的なものがほしかった。
やっとそれを説明してくれているページを見つけた。
http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2008/0802/080101as01/080101as01.html
サーブレットは、zkLoaderとauEngineってのがあって、
zkLoaderがレイアウトを作成し、auEngineがAjaxのEventの入出力口になっているようだ。
登録:
投稿 (Atom)