2011年01月30日

スタックトレースを文字列として取得

Javaで例外が発生した場合に、そのスタックトレース(printStackTrace()で
標準出力するような情報)をログファイルに出力したいことがありまして、

ただ、ExceptionのメソッドでスタックトレースをStringとして直接取得する
メソッドが無いようなので、以下のgetStackTraceメソッドを作成してみました。

===

package example;

public class Sample001 {

public static void main(String[] args) {
try {
Integer.parseInt("a");
} catch (NumberFormatException e) {
System.out.println(getStackTrace(e));
}
}

public static String getStackTrace(Exception e) {
StackTraceElement[] list = e.getStackTrace();
String rtn = e.getClass() + ":" + e.getMessage() + "\n";
for( StackTraceElement s : list ) {
rtn += s.toString() + "\n";
}
return rtn;
}

}

【実行結果】
class java.lang.NumberFormatException:For input string: "a"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.parseInt(Integer.java:497)
example.Sample001.main(Sample001.java:11)
posted by 台北猫々 at 16:41| Comment(3) | TrackBack(0) | 技術メモ(Java)

2011年01月28日

Oracleのインポート時のORA-12899で躓いた件

Oracle10gでデータ移行をしようと思い、エクスポート&インポートを
したら、ORA-12899のエラーが発生。。。

初めは、エンコーディングの違いのせいかなと思い、
エクスポート時にNLS_LANGを設定して、キャラクタセットを移行元と移行先
で同じにしても変わらず、、、

そこで、あれっと思いました。
VARCHAR2のデータサイズって、文字数だっけ?バイト数だっけ?と。
調べてみると、デフォルトはバイト数とのこと。
(パラメータは、NLS_LENGTH_SEMANTICS

移行元は文字数("CHAR")で、移行先は("BYTE")。。。
これは、あかんなぁ

移行先は、データベースを間借りしているので、根元で変更するわけにはいか
ないので、

セッション単位で変更して、テーブルを再作成することで、なんとかなりました。

SQL> ALTER SESSION SET NLS_LENGTH_SEMANTICS='CHAR';

セッションが変更されました。
〜〜〜
この後にCREATE TABLEを実行しました。

参考:http://www.oracle.co.jp/forum/thread.jspa?threadID=2001445
posted by 台北猫々 at 23:50| Comment(0) | TrackBack(0) | 技術メモ(Oracle)

2011年01月26日

炎上程度

久しぶりの炎上プロジェクトなのですが、
それでも昔のに比べると、中炎上ぐらいですね。

投入される前は、大炎上的な話だったので、どうなるものかと思っていましたが、
一応22時程度には帰れていますね。
posted by 台北猫々 at 23:59| Comment(0) | TrackBack(0) | 日記

2011年01月23日

ことの葉ひらひら その48

『無理をさせ、無理をするなと、無理を言う』

by http://japan.zdnet.com/blog/netcommerce/2011/01/22/entry_27044400/?ref=rss


これは、なるほどです。
あるある!
posted by 台北猫々 at 21:35| Comment(0) | TrackBack(0) | ことの葉

2011年01月20日

そして、炎へ

今日から炎上プロジェクトに参加。
所詮、避けられぬ道。


posted by 台北猫々 at 22:50| Comment(0) | TrackBack(0) | 日記

2011年01月18日

全文検索エンジンの「senna」をWindows上でビルド

全文検索エンジンの「senna」で、n-gramのみを使用する場合は、
Mecabは必要ありません。

ですが、

http://pgfoundry.org/frs/?group_id=1000298
でバイナリで配布されているsenna-1.1.5_win32.zipの中にある
libsenna.dllはlibmecab.dllにリンクしているので、使わないのに
一緒に配置しないといけなくてスマートではないです。

なので、libmecab.dllにリンクしないlibsenna.dllを自分でビルドします。

ここでは、「Microsoft Visual C++ 2010 Express」で、Mecabに依存
しないlibsenna.dllをビルドする方法を示します。

(1)
http://sourceforge.jp/projects/senna/releases/46945
から"senna-1.1.5.tar.gz"をダウンロードして、適当な場所で
解凍します。

(2)
senna-1.1.5\vcc\libsenna.vc8.0.vcprojをVisualC++で開きます。

(3)
プロジェクトのプロパティを開き2箇所を修正
 ⇒構成プロパティ->プリプロセッサ のプリプロセッサの定義に「NO_MECAB」を追加
 ⇒構成プロパティ->リンカー の追加の依存ファイルから、「.\mecab\libmecab.lib」を削除

(4)
メソッド定義ファイルを修正
 ⇒ソースファイルのlibsenna.defの以下の行をコメントアウト(行頭に";")
  ;sen_lex_set_mecab_args @520

これでビルドすればOK。

※こちらも参照
http://qwik.jp/senna/install.html
posted by 台北猫々 at 23:55| Comment(0) | TrackBack(0) | 技術メモ

2011年01月17日

とりあえず

情報セキュリティスペシャリスト試験に向けて
午前T、Uの過去問をやってみました。

大体50%〜60%の正答率でした。
結構分からない問題がありました(^^;

とはいえ、足きりラインが60%なので、
もちっと底上げしないといかんです。
posted by 台北猫々 at 22:25| Comment(0) | TrackBack(0) | 日記

2011年01月15日

WordのハイパーリンクをPDFに

PrimoPDFで、ハイパーリンクを含むWord文書をPDFに変換すると、
ハイパーリンクがただの青色文字列になってしまいます。

色々調べてみても、どうやらできなさそう。
どうしたものかと思っていたら、

OpenOfficeのWriterでできることがわかりました。
http://ja.openoffice.org/

WriterでWord文書を開いて、「ファイル」→「PDFとしてエクスポート」
でできました。
posted by 台北猫々 at 14:45| Comment(2) | TrackBack(0) | 日記

2011年01月11日

MPEG様々

MPEG-1
・データ転送速度:1.5Mビット/秒
・CD−ROMなどの蓄積メディア向け

MPEG-2
・データ転送速度:数M〜数十Mビット/秒 または 60Mビット/秒超
・高品質なテレビ放送、蓄積型メディア向け

MPEG-3
・現在では存在しない。MPEG-2へ吸収された。

MPEG-4
・データ転送速度:数十K〜数百Kビット/秒
・低ビットレート
・携帯電子機器向け
posted by 台北猫々 at 22:22| Comment(0) | TrackBack(0) | 用語

2011年01月09日

Redhat系Linuxのバージョン情報の確認

[root@localhost etc]# cat /etc/redhat-release
CentOS release 4.7 (Final)
posted by 台北猫々 at 23:29| Comment(0) | TrackBack(0) | 技術メモ

2011年01月06日

ラッキーな感じ

今日はてっきり火曜日かと思っていましたが、木曜日なんですね。
今週は水曜日スタートだったので勘違いしていました。

明日行ったら休みです。ちょっと得した気分。
posted by 台北猫々 at 23:22| Comment(0) | TrackBack(0) | 日記

2011年01月05日

今日から仕事

2011年の仕事が始まりました。
といいつつ、午前中はほとんどボーっとしていましたが。

ともあれ、今年は「情報セキュリティスペシャリスト」を獲ろうと思います。
一応、春で午前を攻略して、秋は午前免除の午後攻略の作戦で。
posted by 台北猫々 at 23:52| Comment(0) | TrackBack(0) | 日記

2011年01月03日

三日とろろ、美味しゅうございました。

今日は、古式にのっとり三日とろろを食べました。

それは、ともかく昨年は週休2日は完全に「2日休養」にしてしまって
いましたが、松下さんの言葉にかえって「1日休養、1日教養」にしよう
と思いました。
posted by 台北猫々 at 20:49| Comment(0) | TrackBack(0) | 日記

2011年01月02日

今日は外出してみました。

今日は昨年の破魔矢などをお焚き上げしてもらうのと初詣に
神田明神に行きました。今年こそはと商売繁盛などをお願い
してきました。

その後は、上野の国立科学博物館で開催されている「空と宇
宙展」に行きました。イカロスの「ソーラーセイル」の仕組み
が興味深かったです。「光圧」(こんな言葉があることを初めて
知りました)を使用しての姿勢制御なんてことが実用化され
ているのですね。面白かったです。




posted by 台北猫々 at 21:22| Comment(0) | TrackBack(0) | 日記

2011年01月01日

あけました

明けましておめでとうございます。

今日は爆笑ヒットパレードを見ながら、お燗を飲みながら、
年賀状を書いていたりしていました。

完全寝正月態勢で今年も臨んでいます。

posted by 台北猫々 at 21:52| Comment(0) | TrackBack(0) | 日記