Blog - 最新エントリー
0パディングの話はしましたが、
0サプレスの話もあると思いましたので、
サンプルを公開します。
公開といってもメモ程度ですけど。。。
参考になれば幸いです。
もっと良い簡単な方法があれば、コメント頂けると嬉しいです。
public static String zeroSupPress(String numStr) {
String tmp = null;
Pattern ptn
= Pattern.compile("^0+([0-9]+|[0-9]+[.]+[0-9]+)");
Matcher m = ptn.matcher(numStr);
if (m.matches()) {
tmp = m.group(1);
} else {
try {
Double.parseDouble(numStr);
tmp = numStr;
} catch (NumberFormatException nfe) {}
}
return tmp;
}
0サプレスの話もあると思いましたので、
サンプルを公開します。
公開といってもメモ程度ですけど。。。
参考になれば幸いです。
もっと良い簡単な方法があれば、コメント頂けると嬉しいです。
public static String zeroSupPress(String numStr) {
String tmp = null;
Pattern ptn
= Pattern.compile("^0+([0-9]+|[0-9]+[.]+[0-9]+)");
Matcher m = ptn.matcher(numStr);
if (m.matches()) {
tmp = m.group(1);
} else {
try {
Double.parseDouble(numStr);
tmp = numStr;
} catch (NumberFormatException nfe) {}
}
return tmp;
}
JSTQB テスト技術者資格認定
ある程度開発している人がこのシラバスを見ると、
ものすごく共感できる内容、意外と後輩に説明できてなかったんだな
と実感してしまった。
シラバス72ページ印刷して、電車で読んでますw
試験は、来年2月か・・・受けようかな(21000円)
ある程度開発している人がこのシラバスを見ると、
ものすごく共感できる内容、意外と後輩に説明できてなかったんだな
と実感してしまった。
シラバス72ページ印刷して、電車で読んでますw
試験は、来年2月か・・・受けようかな(21000円)
指定した文字列の先頭文字を大文字に変換する方法です。
あまり使用頻度はなさそうですが、参考にどうぞ。
public static String upperCaseTop(String str) {
StringBuilder sb = new StringBuilder(str);
String initial = sb.substring(0, 1);
sb = sb.delete(0, 1);
initial = initial.toUpperCase();
sb.insert(0, initial);
return sb.toString();
}
データクラス仕様書から
Javaソースファイルを生成するツールを配布します。
「データクラスを1からコーディングするのはもう止めましょう」
と思っている方は沢山いるはずです。
Eclipseプロジェクトで配布します。(here)
【使用方法】
1. ./excel/データクラス仕様書.xls (データクラスの仕様を定義(複数シート定義可))
2. ./templates/class_template.vm (フォーマットカスタマイズ)
3. ./EntityCreator.batを実行します。
4. ./outputにソースファイルを出力します。
※その他、カスタマイズする場合は、直接お願い致します。
そのままでも使用できるとは思います。
面倒な作業をするよりは、早く家に帰りましょう。(笑)
Javaソースファイルを生成するツールを配布します。
「データクラスを1からコーディングするのはもう止めましょう」
と思っている方は沢山いるはずです。
Eclipseプロジェクトで配布します。(here)
【使用方法】
1. ./excel/データクラス仕様書.xls (データクラスの仕様を定義(複数シート定義可))
2. ./templates/class_template.vm (フォーマットカスタマイズ)
3. ./EntityCreator.batを実行します。
4. ./outputにソースファイルを出力します。
※その他、カスタマイズする場合は、直接お願い致します。
そのままでも使用できるとは思います。
面倒な作業をするよりは、早く家に帰りましょう。(笑)
1.何をやっても うまくはいかず
避けて逃げ出すことばかり
思案に暮れた日々もある
疲れた体と心をかかえ
留まることさえ出来ぬ街
切なさ哀しさ心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 愚痴も言わずに
文句も言わず
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
2.抱えきれない 哀しみ背負い
先も見えない暗闇を
這いずり回った日々もある
疲れた体と心をかかえ
振り向くことさえ出来ぬ街
辛さと痛みを心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 笑みを浮かべて
涙もみせず
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
3.開きなおれぬ 弱さをかかえ
損な役割こなしても
心の晴れぬ日々ばかり
疲れた体と心をかかえ
眠ることさえも出来ぬ街
辛さと痛みを心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 後ろも向かず
ただうなずいて
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
作者名「ポエット・M」
避けて逃げ出すことばかり
思案に暮れた日々もある
疲れた体と心をかかえ
留まることさえ出来ぬ街
切なさ哀しさ心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 愚痴も言わずに
文句も言わず
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
2.抱えきれない 哀しみ背負い
先も見えない暗闇を
這いずり回った日々もある
疲れた体と心をかかえ
振り向くことさえ出来ぬ街
辛さと痛みを心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 笑みを浮かべて
涙もみせず
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
3.開きなおれぬ 弱さをかかえ
損な役割こなしても
心の晴れぬ日々ばかり
疲れた体と心をかかえ
眠ることさえも出来ぬ街
辛さと痛みを心に刻み
折り合いなだめて越えて来た
石ころばかりのやぶれ道
でも 後ろも向かず
ただうなずいて
共に歩いてくれた人
ああこの人に
俺の力で幸せを
運んでやりたい
ただ それだけが
それだけが
ささやかな夢
作者名「ポエット・M」
ABCオロチサーバーでは、
なんかXML配信に広告表示部分が設定され、なぜかエラーとなります。
ABCオロチサーバは、ファイル名に「frame」という接頭辞があると、
広告表示を設定しないということなので・・・
修正(1)
/public_html/modules/d3blog
@index.php
上記ファイルをコピーして、
「frame_index.php」をというファイル名で同場所に配置(中身も同じ)
修正(2)
/xoops_trust_path/modules/d3blog/include
@header.inc.php
【変更前】
$feeder['rss'] = sprintf('%s/modules/%s/index.php?page=rss', XOOPS_URL, $mydirname4show);
$feeder['rdf'] = sprintf('%s/modules/%s/index.php?page=rdf', XOOPS_URL, $mydirname4show);
【変更後】
$feeder['rss'] = sprintf('%s/modules/%s/frame_index.php?page=rss', XOOPS_URL, $mydirname4show);
$feeder['rdf'] = sprintf('%s/modules/%s/frame_index.php?page=rdf', XOOPS_URL, $mydirname4show);
この対応で平成ハッカーズ(当サーバ)は運用しております。
なんかXML配信に広告表示部分が設定され、なぜかエラーとなります。
ABCオロチサーバは、ファイル名に「frame」という接頭辞があると、
広告表示を設定しないということなので・・・
修正(1)
/public_html/modules/d3blog
@index.php
上記ファイルをコピーして、
「frame_index.php」をというファイル名で同場所に配置(中身も同じ)
修正(2)
/xoops_trust_path/modules/d3blog/include
@header.inc.php
【変更前】
$feeder['rss'] = sprintf('%s/modules/%s/index.php?page=rss', XOOPS_URL, $mydirname4show);
$feeder['rdf'] = sprintf('%s/modules/%s/index.php?page=rdf', XOOPS_URL, $mydirname4show);
【変更後】
$feeder['rss'] = sprintf('%s/modules/%s/frame_index.php?page=rss', XOOPS_URL, $mydirname4show);
$feeder['rdf'] = sprintf('%s/modules/%s/frame_index.php?page=rdf', XOOPS_URL, $mydirname4show);
この対応で平成ハッカーズ(当サーバ)は運用しております。
お勧めフリーソフトの紹介です。
良さげなプロジェクト管理ソフトを発見しました。
開発マイルストーン
ホームページより抜粋
マイルストーンは一つの指標です。プロジェクトでは、達成したい目標へ向かってまずステップごとに段階を分け、計画を立てて実施します。その結果の検証をして、これをもって修正された新たな計画を立て再び実施を行います。このようなサイクルでプロジェクトを進めていく上で重要な指標がマイルストーンです。
ちょっと親しい上司に教えてあげたいです。
良さげなプロジェクト管理ソフトを発見しました。
開発マイルストーン
ホームページより抜粋
マイルストーンは一つの指標です。プロジェクトでは、達成したい目標へ向かってまずステップごとに段階を分け、計画を立てて実施します。その結果の検証をして、これをもって修正された新たな計画を立て再び実施を行います。このようなサイクルでプロジェクトを進めていく上で重要な指標がマイルストーンです。
ちょっと親しい上司に教えてあげたいです。
範囲指定(rownum)による大量レコードの検索(Oracle)
上記を考える前に別のアプローチ方法を記載します。
【問題案件】
大量レコードを取得し、1件ずつバッチ処理を実行する。
大量レコードを取得し、データクラスに格納する際に「Out Of Memory」が発生する。
【対応方法】
結果セット(ResultSet)から1件ずつ処理を行います。
結果セットは、メモリ上に展開された仮想的な部分テーブルです。
内部的に現在のレコード位置を表わす「レコードポインタ」ですので、
結果セット(ResultSet)の内容を読み込む場合には、
このポインタを移動させながら1レコードずつ読み込んでいきます。
参考ページはここ
ResultSet rs = stmt.executeQuery();
executeQuery()メソッドを実行して、
タスクマネージャーを見るとわずかのメモリ消費量が増えただけらしい。
上記を考える前に別のアプローチ方法を記載します。
【問題案件】
大量レコードを取得し、1件ずつバッチ処理を実行する。
大量レコードを取得し、データクラスに格納する際に「Out Of Memory」が発生する。
【対応方法】
結果セット(ResultSet)から1件ずつ処理を行います。
結果セットは、メモリ上に展開された仮想的な部分テーブルです。
内部的に現在のレコード位置を表わす「レコードポインタ」ですので、
結果セット(ResultSet)の内容を読み込む場合には、
このポインタを移動させながら1レコードずつ読み込んでいきます。
参考ページはここ
ResultSet rs = stmt.executeQuery();
executeQuery()メソッドを実行して、
タスクマネージャーを見るとわずかのメモリ消費量が増えただけらしい。
TABLE: T_ORDER_LIST

X,Y,Zは、任意の値、
シチュエーションは、大量レコードを想定している。
データベースは「Oracle」が前提。
「商品コード」をGROUP BYで検索したいが、全情報を取得すると、
クライアント(Javaアプリ)にてメモリを大量に消費するため、
情報を数回に分けて取得し処理したい。
SELECT * FROM (
SELECT RES.*, ROWNUM AS RN FROM (
SELECT ITEM_CODE FROM T_ORDER_LIST
GROUP BY ITEM_CODE ORDER BY ITEM_CODE
) RES
)
) WHERE 1(※1) >= RN AND RN <= 1000(※1);
または、) WHERE BETWEEN RN 1 AND 1000;
※1 この引数の決定は、アプリケーション側で制御すればよい。
例)
1~1000
2001~3000
3001~4000

X,Y,Zは、任意の値、
シチュエーションは、大量レコードを想定している。
データベースは「Oracle」が前提。
「商品コード」をGROUP BYで検索したいが、全情報を取得すると、
クライアント(Javaアプリ)にてメモリを大量に消費するため、
情報を数回に分けて取得し処理したい。
SELECT * FROM (
SELECT RES.*, ROWNUM AS RN FROM (
SELECT ITEM_CODE FROM T_ORDER_LIST
GROUP BY ITEM_CODE ORDER BY ITEM_CODE
) RES
)
) WHERE 1(※1) >= RN AND RN <= 1000(※1);
または、) WHERE BETWEEN RN 1 AND 1000;
※1 この引数の決定は、アプリケーション側で制御すればよい。
例)
1~1000
2001~3000
3001~4000
バイトコードを操作する方法(javassist)を用いて、
任意のメソッドの処理時間(ns)を測定する性能測定ツールを作成しました。
「JWatcher」と名付けます。
様々なプロジェクトでサクッと使用できるツールだと思います。
何処で性能のボトルネックになっているか簡単に抽出が可能です。
ダウンロードは、ここ ※カスタマイズは自由に行って構いません。
【 動作確認 】
・ 環境変数「JW_HOME」を有効にして下さい。(JWatcherディレクトリ)
・ test_app.batを参考にして下さい。
・ jwatcher.confの設定で監視対象クラスの指定が可能です。
・ 起動後、jwatcher.logが出力されます。
任意のメソッドの処理時間(ns)を測定する性能測定ツールを作成しました。
「JWatcher」と名付けます。
様々なプロジェクトでサクッと使用できるツールだと思います。
何処で性能のボトルネックになっているか簡単に抽出が可能です。
ダウンロードは、ここ ※カスタマイズは自由に行って構いません。
【 動作確認 】
・ 環境変数「JW_HOME」を有効にして下さい。(JWatcherディレクトリ)
・ test_app.batを参考にして下さい。
・ jwatcher.confの設定で監視対象クラスの指定が可能です。
・ 起動後、jwatcher.logが出力されます。