ほんとにどうでもいい話だが、
/.JのフィードSEにも「名ばかり管理職」 認定を読んでて思った。
「逆残業代」なんて話題も上がっていたが、
そもそも、何を基準にその日一日の作業量を測れば良いんだ??
元から怪しすぎる見積りでスタートしてるのに第三者的に作業量がわからん限り、
そういったことはできないだろうなぁ~
普段は自分の判断で一日の作業量を決めてやることやって、
さっさと帰るのがスタイルなんですが、
「逆残業代」って考えてがあれば、そんなことも考えなくていいのかなぁ~
っていうか、逆に帰れなくなりそう。。。
木曜日, 3月 12, 2009
月曜日, 3月 09, 2009
jUnitでSystem.exit(int)を無効にしてみる
unitテストを作ろうと思い、作って実行してみると途中で止まる。。。
「なんで?」
結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。
それならば、System.exit(int)が効かなくなるおまじないはないかな?
と調べてみたら一応あった。
・テストクラス
しかし、ある意味間違ってはないと思うんですが、
そもそも、FileとかSWTとかのからみでのポリシー設定でも何とかなるのかもしれない。。。
しかしながら、djUnitならこんなに悩まなくてもよかったのかもしれないが、
さすがに僕が勝手にライブラリーを増やすわけにはいかないので、
このやり方で当面はやりくりしてみよう。
「なんで?」
結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。
それならば、System.exit(int)が効かなくなるおまじないはないかな?
と調べてみたら一応あった。
・テストクラス
public class Target {
public static void main(String[] args) {
if (args != null) {
System.exit(0);
} else {
System.exit(-1);
}
}
}
・テストケース import java.security.Permission;
import junit.framework.TestCase;
public class TargetTest extends TestCase {
final SecurityManager sm = System.getSecurityManager();
protected void setUp() throws Exception {
super.setUp();
// JVMを終了させない
SecurityManager securityManager = new SecurityManager() {
public void checkPermission(Permission permission) {
if ("exitVM".equals(permission.getName())) {
System.out.println("System.exit[exitVM]が呼ばれた");
}
}
public void checkExit(int status) {
// super.checkExit(status);
throw new ExitException(status);
}
};
System.setSecurityManager(securityManager);
}
protected void tearDown() throws Exception {
System.setSecurityManager(sm);
super.tearDown();
}
protected class ExitException extends SecurityException {
public int state = 0;
public ExitException(int state) {
this.state = state;
}
}
public void test引数あり() {
try {
Target.main(new String[] {});
} catch (ExitException e) {
assertEquals(0, e.state);
}
}
public void test引数なし() {
try {
Target.main(null);
} catch (ExitException e) {
assertEquals(-1, e.state);
}
}
}
とりあえず、これでSystem.exit(int)を呼び出した場合に返されるintのassertも可能。しかし、ある意味間違ってはないと思うんですが、
そもそも、FileとかSWTとかのからみでのポリシー設定でも何とかなるのかもしれない。。。
しかしながら、djUnitならこんなに悩まなくてもよかったのかもしれないが、
さすがに僕が勝手にライブラリーを増やすわけにはいかないので、
このやり方で当面はやりくりしてみよう。
月曜日, 2月 23, 2009
g-client
まだまだ、emacsからbloggerへ投稿できないか?と悩んでいます。。。
g-clientってのを発見はしたんですが、
何やら文字コード周りでうまくいかないというようなのを斜め読みしてしまい、
ちょっと躊躇しています。
何かいいものないかなぁ~。。。
g-clientってのを発見はしたんですが、
何やら文字コード周りでうまくいかないというようなのを斜め読みしてしまい、
ちょっと躊躇しています。
何かいいものないかなぁ~。。。
日曜日, 2月 22, 2009
木曜日, 2月 12, 2009
javaDBでコードセットUTF8
DB2と違ってUSING CODESETなんて使えるわけではなく、
そうすりゃいいんだ?と思いながらApache Derbyのサイト内検索でderby.ui.codesetというのを発見した。
しかし、このオプションってij起動時に与える拡張パラメータ -Dhogehoge系のパラメータとして準備してやれば良いらしい。
でもって試してみた。
CLASSPATH周りは省略して
derby.ui.codesetでUTF8にしたらコンソールが文字化けするなんてのがネットに載っていたがそんなこともなくすんなり動いた。
ただし、これで本当にDBのコードセットがUTF8になっているかは動かしてみないことには何とも言えないなぁ~
一応、Derbyのサイト内での説明では-Dderby.ui.territoryは省略すればローカルのロケールになるとか書いてたと思うが、
如何せん、自分の知らないところで色々設定されると細かいところまでわかんなくなってしまうので、
ちょこちょこ細かいところも見ていこうとおもう。
後はjdbc-odbcを使ってA5:SQL経由で動かすことができるか実験だ!
そうすりゃいいんだ?と思いながらApache Derbyのサイト内検索でderby.ui.codesetというのを発見した。
しかし、このオプションってij起動時に与える拡張パラメータ -Dhogehoge系のパラメータとして準備してやれば良いらしい。
でもって試してみた。
CLASSPATH周りは省略して
java -cp $CLASSPATH -Dderby.ui.territory=ja_JP -Dderby.ui.codeset=UTF8 -Dij.protocol=jdbc:derby: org.apache.derby.tools.ijで呼び出せばいいみたい。。。
derby.ui.codesetでUTF8にしたらコンソールが文字化けするなんてのがネットに載っていたがそんなこともなくすんなり動いた。
ただし、これで本当にDBのコードセットがUTF8になっているかは動かしてみないことには何とも言えないなぁ~
一応、Derbyのサイト内での説明では-Dderby.ui.territoryは省略すればローカルのロケールになるとか書いてたと思うが、
如何せん、自分の知らないところで色々設定されると細かいところまでわかんなくなってしまうので、
ちょこちょこ細かいところも見ていこうとおもう。
後はjdbc-odbcを使ってA5:SQL経由で動かすことができるか実験だ!
javaDBのメモ
DerbyではなくJavaDBです。
CentOS上でXサーバ無しで色々しようとしていたので
あくまで自分用のメモレベル
リモート端末上でコマンドラインだけでijを動かしてcreateするまで
これでDBコネクションでのexecute arround methodなパターンの実験ができそうだ。
あくまで自分用のメモレベル
リモート端末上でコマンドラインだけでijを動かしてcreateするまで
- DERBY_HOMEを設定する(場所は/opt/sun/javadb)
- ijを起動(場所は$DERBY_HOME/bin/ij)
- ij>connect 'jdbc:derby:~/test;create=true;';
- ij>select current date from sysibm.sysdummy1;(DBができてるか確認)
これでDBコネクションでのexecute arround methodなパターンの実験ができそうだ。
日曜日, 2月 08, 2009
groovyの正規表現
忘れないようにメモ
こっそり、勉強しているGroovyなんですが
いきなりハマりました。。。
正規表現のオペレータは
==~
間にスペースを入れてしまうと実行できない。。。
スクリプト言語なんですぐに実行できるですが、
何故か一致しない。。。
よくよく読んでみると==~でひとつのオペレータなんだそうだ。
hoge == ~ /hoge/
しかし、動いてしまうってのもちょっと怖いなぁ~
hoge == ~だけで評価されてんじゃないのかな?
そうなると残された
/hoge/
はどうなるんだ??行方不明??
しかし、その行方不明になってるぽいものも省略したり、改行したりしてもコンパイルエラーになるようだった。。。
しっかり評価してくれないのにコンパイルを通ってしまうのなんてありなのかな??
こっそり、勉強しているGroovyなんですが
いきなりハマりました。。。
正規表現のオペレータは
==~
間にスペースを入れてしまうと実行できない。。。
スクリプト言語なんですぐに実行できるですが、
何故か一致しない。。。
// これは動く println "potatoe" ==~ /potatoe/ // 最初にこう書いてハマった。。。 println "potatoe" == ~ /potatoe/正直、最初はなんで結果がfalseでかえってくるの?と思ってたんですが、
よくよく読んでみると==~でひとつのオペレータなんだそうだ。
hoge == ~ /hoge/
しかし、動いてしまうってのもちょっと怖いなぁ~
hoge == ~だけで評価されてんじゃないのかな?
そうなると残された
/hoge/
はどうなるんだ??行方不明??
しかし、その行方不明になってるぽいものも省略したり、改行したりしてもコンパイルエラーになるようだった。。。
しっかり評価してくれないのにコンパイルを通ってしまうのなんてありなのかな??
登録:
投稿 (Atom)
failed to read qemu headerのときのメモ
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...
-
かなり久々、別に放置していた訳じゃないです。 仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。 前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっ...
-
俗にいう"New Blogger"改造(その2)アーカイブのカレンダー化 に引き続き今回はNew Bloggerから実装されたらしいラベル機能のクラウド化(よくいうところのタグクラウドってやつですね)について纏めました。 参考もとは前回と同じく phyde...
-
unitテストを作ろうと思い、作って実行してみると途中で止まる。。。 「なんで?」 結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。 それならば、System.exit(int)が効かなくなるおまじないはな...