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)
2011年01月30日
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
したら、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
2011年01月26日
炎上程度
久しぶりの炎上プロジェクトなのですが、
それでも昔のに比べると、中炎上ぐらいですね。
投入される前は、大炎上的な話だったので、どうなるものかと思っていましたが、
一応22時程度には帰れていますね。
それでも昔のに比べると、中炎上ぐらいですね。
投入される前は、大炎上的な話だったので、どうなるものかと思っていましたが、
一応22時程度には帰れていますね。
2011年01月23日
ことの葉ひらひら その48
『無理をさせ、無理をするなと、無理を言う』
by http://japan.zdnet.com/blog/netcommerce/2011/01/22/entry_27044400/?ref=rss
これは、なるほどです。
あるある!
by http://japan.zdnet.com/blog/netcommerce/2011/01/22/entry_27044400/?ref=rss
これは、なるほどです。
あるある!
2011年01月20日
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
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
2011年01月17日
とりあえず
情報セキュリティスペシャリスト試験に向けて
午前T、Uの過去問をやってみました。
大体50%〜60%の正答率でした。
結構分からない問題がありました(^^;
とはいえ、足きりラインが60%なので、
もちっと底上げしないといかんです。
午前T、Uの過去問をやってみました。
大体50%〜60%の正答率でした。
結構分からない問題がありました(^^;
とはいえ、足きりラインが60%なので、
もちっと底上げしないといかんです。
2011年01月15日
WordのハイパーリンクをPDFに
PrimoPDFで、ハイパーリンクを含むWord文書をPDFに変換すると、
ハイパーリンクがただの青色文字列になってしまいます。
色々調べてみても、どうやらできなさそう。
どうしたものかと思っていたら、
OpenOfficeのWriterでできることがわかりました。
http://ja.openoffice.org/
WriterでWord文書を開いて、「ファイル」→「PDFとしてエクスポート」
でできました。
ハイパーリンクがただの青色文字列になってしまいます。
色々調べてみても、どうやらできなさそう。
どうしたものかと思っていたら、
OpenOfficeのWriterでできることがわかりました。
http://ja.openoffice.org/
WriterでWord文書を開いて、「ファイル」→「PDFとしてエクスポート」
でできました。
2011年01月11日
MPEG様々
MPEG-1
・データ転送速度:1.5Mビット/秒
・CD−ROMなどの蓄積メディア向け
MPEG-2
・データ転送速度:数M〜数十Mビット/秒 または 60Mビット/秒超
・高品質なテレビ放送、蓄積型メディア向け
MPEG-3
・現在では存在しない。MPEG-2へ吸収された。
MPEG-4
・データ転送速度:数十K〜数百Kビット/秒
・低ビットレート
・携帯電子機器向け
・データ転送速度:1.5Mビット/秒
・CD−ROMなどの蓄積メディア向け
MPEG-2
・データ転送速度:数M〜数十Mビット/秒 または 60Mビット/秒超
・高品質なテレビ放送、蓄積型メディア向け
MPEG-3
・現在では存在しない。MPEG-2へ吸収された。
MPEG-4
・データ転送速度:数十K〜数百Kビット/秒
・低ビットレート
・携帯電子機器向け
2011年01月09日
Redhat系Linuxのバージョン情報の確認
[root@localhost etc]# cat /etc/redhat-release
CentOS release 4.7 (Final)
CentOS release 4.7 (Final)
2011年01月06日
ラッキーな感じ
今日はてっきり火曜日かと思っていましたが、木曜日なんですね。
今週は水曜日スタートだったので勘違いしていました。
明日行ったら休みです。ちょっと得した気分。
今週は水曜日スタートだったので勘違いしていました。
明日行ったら休みです。ちょっと得した気分。
2011年01月05日
今日から仕事
2011年の仕事が始まりました。
といいつつ、午前中はほとんどボーっとしていましたが。
ともあれ、今年は「情報セキュリティスペシャリスト」を獲ろうと思います。
一応、春で午前を攻略して、秋は午前免除の午後攻略の作戦で。
といいつつ、午前中はほとんどボーっとしていましたが。
ともあれ、今年は「情報セキュリティスペシャリスト」を獲ろうと思います。
一応、春で午前を攻略して、秋は午前免除の午後攻略の作戦で。
2011年01月03日
三日とろろ、美味しゅうございました。
今日は、古式にのっとり三日とろろを食べました。
それは、ともかく昨年は週休2日は完全に「2日休養」にしてしまって
いましたが、松下さんの言葉にかえって「1日休養、1日教養」にしよう
と思いました。
それは、ともかく昨年は週休2日は完全に「2日休養」にしてしまって
いましたが、松下さんの言葉にかえって「1日休養、1日教養」にしよう
と思いました。
2011年01月02日
今日は外出してみました。
今日は昨年の破魔矢などをお焚き上げしてもらうのと初詣に
神田明神に行きました。今年こそはと商売繁盛などをお願い
してきました。
その後は、上野の国立科学博物館で開催されている「空と宇
宙展」に行きました。イカロスの「ソーラーセイル」の仕組み
が興味深かったです。「光圧」(こんな言葉があることを初めて
知りました)を使用しての姿勢制御なんてことが実用化され
ているのですね。面白かったです。
神田明神に行きました。今年こそはと商売繁盛などをお願い
してきました。
その後は、上野の国立科学博物館で開催されている「空と宇
宙展」に行きました。イカロスの「ソーラーセイル」の仕組み
が興味深かったです。「光圧」(こんな言葉があることを初めて
知りました)を使用しての姿勢制御なんてことが実用化され
ているのですね。面白かったです。
2011年01月01日
あけました
明けましておめでとうございます。
今日は爆笑ヒットパレードを見ながら、お燗を飲みながら、
年賀状を書いていたりしていました。
完全寝正月態勢で今年も臨んでいます。
今日は爆笑ヒットパレードを見ながら、お燗を飲みながら、
年賀状を書いていたりしていました。
完全寝正月態勢で今年も臨んでいます。