仕事に関係する情報のメモ 技術、プロジェクト管理など

火曜日, 6月 10, 2008

BETWEEN句の使い方について

例えば適用開始日(TEKIYO_FROM)と、適用終了日(TEKIYO_TO)を項目として持つレコードで日付を指定してピンポイントで検索したい場合、以下の文で検索可能。

? BETWEEN TEKIYO_FROM AND TEKIYO_TO

TEKIYO_FROM TEKIYO_TO
①20080101 20081231
②20090101 20091231

'20080505' BETWEEN TEKIYO_FROM AND TEKIYO_TO
で、①が抽出される

金曜日, 6月 06, 2008

JAVAからPL/SQLのカーソル取り出し

ポイントは
cs.registerOutParameter(3,OracleTypes.CURSOR);
oracle.jdbc.driverパッケージにあるので、クラスパスに含めること。

【PL/SQL】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT EmpCurType
) IS

/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
OPEN retVal FOR SELECT * FROM M_TAX;

END GETCRE_NAME;

END PKG_CRM0700TEST;
/

【JAVA】
//★★ここから下は要らないので消すこと
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");

cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,OracleTypes.CURSOR);

cs.executeUpdate();

rs = (ResultSet) cs.getObject(3);

while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2));
}

JavaからPL/SQLをコールし、OUTパラメータを受け取る方法

【PL/SQL側】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT M_TAX.CRE_USER%TYPE
) IS

/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
SELECT CRE_USER INTO retVal FROM M_TAX WHERE DATA_SYU = prm1 AND TEKIYO_FROM = prm2;

END GETCRE_NAME;

END PKG_CRM0700TEST;
/

【JAVA側】
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");

cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,java.sql.Types.VARCHAR);

cs.executeUpdate();

System.out.println("OUT_PARAM:" + cs.getString(3));

金曜日, 5月 16, 2008

Oracleデータ領域サイズの見積り

http://otndnld.oracle.co.jp/deploy/maintenance/pdf/size_est.pdf

木曜日, 5月 15, 2008

javaScriptの単体テスト

JsUnit

これはスゴイ! JavaScript統合開発環境「Aptana」

eclipseベースのJavaScript開発環境。
プラグインではないらしい。

http://www.h2o-ajax.com/article253.html

火曜日, 5月 13, 2008

EBCDICコード変換

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36576&forum=12&2

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/intl/encoding.doc.html

Excel シートの上部をタイトル設定する

「ファイル」→「ページ設定」→「シートタブ」で「行のタイトル」を
 1:2
のように指定します(この例は1行目と2行目を毎ページ印刷)

クロスサイトスクリプティング対策

[本文の場合]
本文で特殊文字となる文字は、「<」「>」「&」の3つである。「<」と「>」は本文とタグを区切る開始と終了という特別な意味を持つ特殊文字で、「&」は文字参照(character references)を記述するための開始文字という意味を持つ特殊文字である。

これらの3つの文字をサニタイジングするには、それぞれ「<」「>」「&」に変換する。

[タグの場合]
<input type="hidden" name="namae" value="kokubu">
上記「"hidden"」「"namae"」「"kokubu"」の部分(属性値と呼ぶ)に入力値を入れる場合で、正しくサニタイジングをする必要がある。
属性値は必ず「"(ダブルクオーテーション)」または「'(シングルクオーテーション)」で囲む。これはW3Cが推奨しているのと同時に、サニタイジングが必要な特殊文字を限定することになる
「"」で囲った場合の特殊文字は「"」だけとなる。同様に「'」で囲った場合は「'」だけとなる。それぞれ、「"」と「'」に変換することでサニタイジング完了となる。

こうすることで、「""><script>alert("test");</script>"」という入力がなされても、 「alert("test");< /script>">」となり、タグが無効となる。

<>が入力値と同じでなくとも良いのなら、以下のような方法もある。
・「<」と「>」を消してしまう
・「<」と「>」を全角「<」「>」にしてしまう

月曜日, 5月 12, 2008

DJUnitでパッケージやプロジェクト単位でテスト実行

DJUnitは、作成したJUnitテストケースを実行した結果として、テスト対象のカバー率を表示することができるツールである。

作成したJUnitテストクラスを含むパッケージやプロジェクト単位でテストを行うには、以下のようにする。

①プロジェクトを右クリック
→②構成及び実行
→③表示されたWindowの右メニューでdjUnitを選択
→④"選択されたプロジェクト、パッケージ・・・のすべてのテストを実行"をチェックし、プロジェクト等を指定する。

あとは、djUnitのテストを行うと、選択したプロジェクト(パッケージ)のJUnitテストをすべて実行してくれる。

eclipseで、プラグインが認識されない場合

eclipse.exeに、"-clean"オプションをつけて起動してみる。

DJUnit

Eclipse上でJUnitを利用しての単体テスト実施。
テストカバレッジモニタなどの機能もある。

http://works.dgic.co.jp/djwiki/Viewpage.do?pid=@646A556E6974

金曜日, 5月 09, 2008

Windowsサービス登録

sc create SubversionServer binpath= "C:\Subversion\bin\svnserve.exe --service" displayname= "Subversion" depend= tcpip start= auto

水曜日, 5月 07, 2008

Excelでのガントチャート作成

予定と実績を日、週、10日単位などで登録可能

http://www.thinkit.co.jp/cert/project/1/3/2.htm

金曜日, 4月 25, 2008

Java2JavaScript

DWR(Direct Web Remoting)というフリーのツールならば,Javaで書いたソースをコンパイルして,JavaScriptに変換してくれます。

木曜日, 5月 31, 2007

Spread for NET

http://www.grapecity.com/japan/support/database/P7_361.htm

数式を用いた表計算、入力インタフェースの作成、データベースとの連結、印刷とプレビュー表示、ファイル入出力など多彩な機能と類まれな表現力を持つSPREAD。本バージョンでは要望の多かったフィルタリングや行列ドラッグ移動のほか、リッチなアプリケーション開発を支援する数多くの新機能を提供します。さらにVisual Studio 2005への対応により、開発環境を幅広くサポートします。

金曜日, 5月 11, 2007

方式設計

http://itpro.nikkeibp.co.jp/article/OPINION/20051205/225703/

アーキテクチャ設計
http://www.ogis-ri.co.jp/otc/hiroba/technical/coal-ADD/index.html#IsNecessary

月曜日, 5月 07, 2007

HIbernateなどのO/Rマッピングについて

UMLによる設計を行った際に、O/RマッピングツールでどのようにUMLで抽出したオブジェクトとマッピングツールで生成するオブジェクトとを対応付けできるのか、実際にどのような処理を持つオブジェクトを作ればよいのかがわからない。

ExcelでWEBアプリケーション

XCute
http://www.microlab.jp/xcute/xcute.htm

水曜日, 4月 04, 2007

blanco Framework

[blanco Framework,blanco,Framework,opensource,free,LGPL,blancofw,Java,C#.NET,JavaScript, VB.NET,PHP,コードジェネレータ] 手作り型オープン系システム開発現場を楽にする オープンソース下流開発フレームワーク 「blanco Framework (ブランコ・フレームワーク)」。Java / C#.NET / JavaScript / VB.NET / PHP ソースコードを自動生成。

http://hp.vector.co.jp/authors/VA027994/blanco/blanco.ja.html