dmsb @ ウィキ
http://w.atwiki.jp/dmsb/
dmsb @ ウィキ
ja
2008-03-27T18:55:47+09:00
1206611747
-
Java豆知識【exeのようにjarをダブルクリックで実行】
https://w.atwiki.jp/dmsb/pages/19.html
**Java豆知識【exeのようにjarをダブルクリックで実行】
投稿者: M.K
日付: 2007-10-03 22:24
お疲れ様です
今日は昔ちょっとはまってたjavaの勉強について共有できたらな
と思ってます。
今回はjavaをexeファイルのようにダブルクリックで実行
すると言うテーマです。
javaに触れた人なら分かると思うのですが、classファイルを実行する際、いちいちWindowsのコマンドプロンプト開いて
「java XXX」のように実行しないといけません。
CとかVBのようにEXEファイル作ってダブルクリックで
実行のほうが断然楽ですよね。
で、そんなことできないもんかと色々探していたところ、
ありました。
ある方法で作成したjarをダブルクリックすればいいとのことです。
jarとは、用はclassファイルをlzhみたく圧縮すること、つまりアーカイブファイルのことです。(*.jar)
である方法と言うのが下記に述べた感じになります。
①作りたいクラスを作る。
②①で作った処理を呼び出すMainのクラスを作る。
処理自体はコンストラクタに記載
③マニフェストファイル(Manifest.mf)を作成する。
中には下記を記載
Main-Class: ②で作ったクラス名
④下記をコマンドプロンプトで流してjarファイルを作成する。
javaをインストールしたフォルダのbin配下(用はJAVA_HOME」\jar.exe cvfm 作るjarの名前 ③で作成したマニフェストファイル 作成したclassファイル
例を挙げると下記のような感じ
C:\j2sdk1.4.2_12\bin\jar.exe cvfm Maked.jar Manifest.mf *.class command\*.class drawer\*.class
⑤完成です。 jarをダブルクリックで叩くと処理が走ります。
とまぁちょっと流れは複雑なのですが、慣れればすぐできます。
ただし注意点として下記点があります。
■javaがインストールされている環境でないと動かない
JDKかJREをインストールされていること
■作成したバージョンによっては動かない環境もできてしまいます。
ただこれを応用すれば、Windowsのタスクに登録してバッチのように実行できたり、ゲームやアプリケーションを作ることも可能です。
で、できればだれかjavaでゲームを作って下さい。
必ずやりますから(笑
下記にサンプルを置きました。
自端末にjavaが入っている方はぜひお試しください。
「開発情報 」→「新人教育APPの情報データ」に挙げたサンプルソース
を是非試してみてください。
使い方
Make-jar実行でjar作成。パスは自分のPCの設定になっているのでお好きに変更どうぞ
どこかの本とネットを見て作成しました。
では
----
2008-03-27T18:55:47+09:00
1206611747
-
SQL Server 2005 Express Edition
https://w.atwiki.jp/dmsb/pages/18.html
**SQL Server 2005 Express Edition
投稿者: Y.T
日付: 2007-09-29 12:30
----
SQL Server 2005の無償版のご紹介になります。
以下ページに製品概要、インストール手順等ありますので、お使いになる方はご参考にどうぞ。
http://www.thinkit.co.jp/free/article/0603/9/1/
----
2008-03-27T18:51:57+09:00
1206611517
-
Javaでのコピー(Javaの落とし穴)
https://w.atwiki.jp/dmsb/pages/17.html
**Javaでのコピー(Javaの落とし穴)
投稿者: M.K
日付: 2007-09-26 23:58
下記Gさんの過去メールを抜粋
----
新緑の萌ゆる季節なゴールデンウィーク。
皆様、如何お過ごしでしょうか。
お疲れ様です、Gです。
小職、GW全部出勤でかなーりブルーなわけですが。
まぁ、それはそれとして、掲題の件なのですが
経緯としては最近、新人さんに教える機会が増えました。
新人さんは色々と興味深い話題を提供してくれますので、
話題に困りません。
今回はその1つでございます。
ネタとしては、「=」は必ずしも値のコピーとはなりえない。
という話題でございます。以下はJavaソース。
その1では数値に対して「=」を行った場合の動作。
その2では日付オブジェクトに対して「=」を行った場合の動作。
その3では配列に対して「=」を行った場合の動作です。
・その1では「=」でつないだ後、変数bの値を変更しても変数aの値は保持されます。
・その2、その3ではdTest1、array1の値を変更していないにも関わらず、
dTest2、array2の値を変更した際に値が勝手に書き換わっている事が分かります、はい。
じゃぁ、どうすればできるんだという人のためにdTest3、array3を一例として示しておきます。
Javaプログラマがよくぶち当たる落とし穴でした。
不具合埋め込まないように気をつけましょう・・・プログラムってメンドクセ('Д`)
ご不明な点、間違ってるとこなどありましたら解説、土下座しますので
Gまでどうぞ。
●下記Javaソースの実行結果
a:1
b:2
1回目dTest1:Tue Apr 24 10:02:05 JST 2007
1回目dTest2:Tue Apr 24 10:02:05 JST 2007
1回目dTest3:Tue Apr 24 10:02:05 JST 2007
2回目dTest1:Fri Apr 24 10:02:05 JST 3007
2回目dTest2:Fri Apr 24 10:02:05 JST 3007
2回目dTest3:Tue Apr 24 10:02:05 JST 4007
1回目array1:リンゴ:みかん:いも
1回目array2:リンゴ:みかん:いも
1回目array3:リンゴ:みかん:いも
2回目array1:トラ:ライオン:トナカイ
2回目array2:トラ:ライオン:トナカイ
2回目array3:ばば:いのき:えのき
●以下ソース
// 演算子「=」の落とし穴じゃないけど、おさらいです。 その1
int a = 1;
int b = a;
b = 2;
System.out.println("a:" + a);
System.out.println("b:" + b);
// 演算子「=」の落とし穴 その2
java.util.Date dTest1 = new java.util.Date();
java.util.Date dTest2;
java.util.Date dTest3;
// いこーる
dTest2 = dTest1;
// くろーん
dTest3 = (Date) dTest1.clone();
System.out.println("1回目dTest1:" + dTest1);
System.out.println("1回目dTest2:" + dTest2);
System.out.println("1回目dTest3:" + dTest3);
dTest2.setYear(1107);
dTest3.setYear(2107);
System.out.println("2回目dTest1:" + dTest1);
System.out.println("2回目dTest2:" + dTest2);
System.out.println("2回目dTest3:" + dTest3);
// 演算子「=」の落とし穴その3
String[] array1 = {"リンゴ", "みかん\", "いも\"};
String[] array2;
String[] array3 = {"", "", ""};
// いこーる
array2 = array1;
// あれいこぴー
System.arraycopy(array1, 0, array3, 0, 3);
System.out.println("1回目array1:" + array1[0] + ":" + array1[1] + ":" + array1[2]);
System.out.println("1回目array2:" + array2[0] + ":" + array2[1] + ":" + array2[2]);
System.out.println("1回目array3:" + array3[0] + ":" + array3[1] + ":" + array3[2]);
array2[0] = "トラ\";
array2[1] = "ライオン\";
array2[2] = "トナカイ";
array3[0] = "ばば";
array3[1] = "いのき";
array3[2] = "えのき";
System.out.println("2回目array1:" + array1[0] + ":" + array1[1] + ":" + array1[2]);
System.out.println("2回目array2:" + array2[0] + ":" + array2[1] + ":" + array2[2]);
System.out.println("2回目array3:" + array3[0] + ":" + array3[1] + ":" + array3[2]);
----
2008-03-21T16:46:44+09:00
1206085604
-
Javaソート豆知識
https://w.atwiki.jp/dmsb/pages/16.html
**Javaソート豆知識
投稿者: K.M
日付: 2007-09-26 23:57
下記Gさんの過去メールを抜粋
----
お疲れ様です、Gです。
こっちはその2です。
今度は少し難易度が上がります。その分、使用頻度も減ります。
いつも大変お世話になっております。
Gです。
使い慣れると意外と手軽なJavaソート。
昔は自分でソートアルゴリズム書いてましたよ。
(大学で習った講義の中で社会に出てから、一番役に立ったのはアルゴリズムだな~。まともに聞いてなかったけど)
ま、そんなJavaソートですが、漢字を含んだ文字列は文字コード順、
オラクルSQLのORDERBY句によるソートは音読み順となってソートが行われるようです。
例:文字配列 "0","世","中\","1" があった場合、
・オラクルのORDERBY句
"0","1","世","中\"
・javaソート
"0","1","中\","世"
となってしまいます。
これは文字コードソートの仕様だそうで、回避方針は調べた限り見つかりませんでした。
(ちなみに↑の例にてエクセル2003でデータの並び替えを行った場合Javaソートと同じ結果となりました)
漢字のソートを行いたい場合、SQLのソートを利用する
又は、文字コード順によるソートとなる事を事前に確認することが必要なようです。
ちなみに、ソートが食い違うのは漢字のみで英数や平仮名カタカナのソートは文字コードの関係上、なんとかなるかもしれません。
(一応正規表現とほぼ同じ順序で並んでるので)
参考サイト
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/I18NStringCollation.html
http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/TWP_Sorting_10gR1.pdf
http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/BWP_Power_of_Globalization_Technology_10gR2.pdf
以上、情報共有でした。
客先からよく来るんですよね、この要望。
ソートを行うときSQLだとおっそいから、DBアクセスしないようにしてくれ。とかそんなんが。
その場合、文字コード順になりますよ。と一言、釘を刺しておきましょう。
----
2008-03-21T16:40:39+09:00
1206085239
-
親ウィンドウから子ウィンドウに親ウィンドウのFORMのパラメータを渡すには?
https://w.atwiki.jp/dmsb/pages/15.html
**親ウィンドウから子ウィンドウに親ウィンドウのFORMのパラメータを渡すには?
投稿者: M.K
日付: 2007-09-26 23:55
下記Gさんの過去メールを抜粋
js_parent_child.zipは
「ファイル共有」→「開発情報」→「新人教育APPの情報データ」
に置きました。
----
お疲れ様です、Gです。
今週末、講習会があるそうで。
小職は週明けに納品があるため、参加できそうになく残念です。
代わりと言うわけではないですが、
先日、個人的に作成してみたソースをさらそうと思います。
掲題のとおり、サーバサイドJavaの開発を行っている方には面白いかもしれません。
著作権はないので改変などご存分にどうぞ。(ただし自己責任で)
題して、「親ウィンドウから子ウィンドウに親ウィンドウのFORMのパラメータを渡す」です。
※ファイルは
グループメニュー>ブリーフケース>PG向け技術資料>js_parent_child.zip
にアップしております。
詳細な説明はソース内にコメント挟んでますので省略しますが、
いわゆる子ウィンドウから親ウィンドウの参照を行うopener関数の逆バージョンです。
それだけだと寂しいので、色々思いついた機能を詰め込んでます。
使い方は、parent.htmlを開いた後、
「子ウィンドウオープン」リンクをクリックするだけです。
テキストボックスなどの入力値が子ウィンドウのFORM内に
hiddenパラメータとして渡されています。
(右クリック>ソースで見ると空っぽですが、実際には取得可能です。)
通常親から子に同じ値を渡したい場合、一度サーブレット側で取得した後、
再度その値を子ウィンドウに出力するような無駄な処理を行ったりしますが、そーいうのを省けます。
(サーブレット、AJAXなどは使っておりませんです。純粋なJavaScriptのみです)
まだまだ実戦では使えないですが、色々と面白い処理をしていますので、
何かの役に立つものがあるかもしれません。
こんな事も出来るんだ、くらいで流して頂けると幸いです。
気が向いたら個人サイトにアップしようと思いますので、
そちらも見ると幸せになれるかもしれません(宣伝ぽorz)
http://www.green.dti.ne.jp/tantei/
また何か面白い技術を思いついたらアップしようと思います。
それでは皆様、お仕事頑張ってください。
----
2008-03-21T16:38:55+09:00
1206085135
-
【SQL】ソートその1
https://w.atwiki.jp/dmsb/pages/14.html
**【SQL】ソートその1
投稿者: M.K
日付: 2007-09-26 23:54
下記Gさんの過去メールを抜粋
samplesql.sql
「ファイル共有」→「開発情報」→「新人教育APPの情報データ」
に置きました。
----
皆様、こんにちは。Gです。
ご無沙汰してて申し訳ない。
職場のプログラマと話してて話題に挙がったので、情報共有です。
ブリーフケースにsamplesql.sqlをアップしました。
詳細はファイル内に記述してあるので省きますが、
話題としてはwindowsの整列などで以下のようなファイル名があった場合
ファイル名1
ファイル名2
ファイル名3
ファイル名10
ファイル名11
これをソートするとこうなります↓
ファイル名1
ファイル名10
ファイル名11
ファイル名2
ファイル名3
これだからwindowsバカじゃね?とか言われ続けてます。
最近発売されたVistaでもまだ出来ない事でしょう。(決め付け)
まぁ、とにかく、↑を満たすSQLはどうすればいいか?というのが発端です。
拙いコードですが何かの役に立つかもしれないので改編コピペはご自由にどうぞ。
それでは、また。
----
2008-03-21T16:38:21+09:00
1206085101
-
Oracle Database 10g Express Edition
https://w.atwiki.jp/dmsb/pages/13.html
**Oracle Database 10g Express Edition
投稿者: M.K
日付: 2007-09-26 23:38
下記Gさんの過去メールを抜粋
----
お疲れ様です、Gです。
http://www.oracle.com/technology/products/database/xe/index.html
先日帰社した際に新人の方にはちらっとお話しました、フリーのオラクルでございます。
新人さん向け研修ではMySQLを使った研修が基本ですが、
現場では、だいたいがOracleかSQL Serverだと思いますので・・
(MySQLが使えないという意味ではないですよ。あくまで現場の声です)
以下、簡単な紹介でも。
無料で使えます、普通にオラクルです。
商用に使えないとか、最大サイズが決まってるとかの制限はありますが、通常使用には全く問題ありません。
ただし、日本オラクルはマクロ的な視点で経済を測れないらしく(笑)、日本語版の予定は無いそうです。
(どうせ商用不可なんだから日本語版出して、学生さんに触らせといた方が国内シェアも
新人さんのスキルも上がると思うのですがorz)
まぁ、DBAの敷居を高いままにしておきたいとか色々あるのでしょう。
まぁ、そういう大人の事情もあって英語版のみです。
日本人はプログラマですら英語と聞くだけで拒絶反応を示す
体質らしいですから、
英語版を使いこなせるというのは立派な武器になります。
よって、英語版は長所です。ついでにeclipseも日本語化せずに使いましょう。
もちろん「業務に支障が出ない範囲」で、ですが(笑)
インストール~使用方法は探せば幾らでも出てくるので検索サイトやら何やらで探してみてください。
まぁ、私も自宅では使ってるので分からない事あったら、
ガシガシ書きこんで見てください。
私は違いますが、きっとオラクルマスターな社員の皆様が
答えてくださいます。
それでは。
----
2008-03-21T16:37:56+09:00
1206085076
-
メニュー
https://w.atwiki.jp/dmsb/pages/2.html
**技術共有ライブラリ
-[[Oracle Database 10g Express Edition]]
-[[【SQL】ソートその1]]
-[[親ウィンドウから子ウィンドウに親ウィンドウのFORMのパラメータを渡すには?]]
-[[Javaソート豆知識]]
-[[Javaでのコピー(Javaの落とし穴)]]
-[[SQL Server 2005 Express Edition]]
-[[Java豆知識【exeのようにjarをダブルクリックで実行】]]
-[[Javaの落とし穴【継承】]]
-[[ケアレスミス(言語問わず)「初心者向け★」 ]]
-[[セルに名前をつける]]
-[[新しいマクロの記録]]
-[[技術提供【エクセル&マクロ】]]
-[[【Oracle9i(R2以降)】誤ってコミットしちゃった場合の対処法(フラッシュバッククエリ) ]]
-[[【JAVA】リクエストパラメータの罠]]
-[[ DBパフォーマンスチューニング(mview編)「経験者向け★★★」]]
-[[【感想・意見・その他】1/11(金)AJAX勉強会に関して]]
-[[【情報共有】プチプチ正式名称]]
-[[【JAVA】Excelファイルの動的出力についてです。(POI)]]
----
**メニュー
-[[トップページ]]
-[[プラグイン紹介>プラグイン]]
-[[メニュー]]
-[[メニュー2]]
-[[新人アプリコーディング精査]]
----
**リンク
-[[@wiki>>http://atwiki.jp]]
-[[@wikiご利用ガイド>>http://atwiki.jp/guide/]]
//**他のサービス
//-[[無料ホームページ作成>>http://atpages.jp]]
//-[[無料ブログ作成>>http://atword.jp]]
//-[[無料掲示板レンタル>>http://atbbs.jp]]
//-[[2ch型掲示板レンタル>>http://atchs.jp]]
//-[[お絵かきレンタル>>http://atpaint.jp/]]
// リンクを張るには "[" 2つで文字列を括ります。
// ">" の左側に文字、右側にURLを記述するとリンクになります
//**更新履歴
//#recent(20)
&link_editmenu(text=ここを編集)
2008-03-21T16:33:26+09:00
1206084806
-
プラグイン/関連ブログ
https://w.atwiki.jp/dmsb/pages/9.html
* 関連ブログ
@wikiのwikiモードでは
#bf(興味のある単語)
と入力することで、あるキーワードに関連するブログ一覧を表示することができます
詳しくはこちらをご覧ください。
=>http://atwiki.jp/guide/17_161_ja.html
-----
たとえば、#bf(ゲーム)と入力すると以下のように表示されます。
#bf(ゲーム)
2008-02-19T17:06:47+09:00
1203408407
-
プラグイン/コメント
https://w.atwiki.jp/dmsb/pages/10.html
* コメントプラグイン
@wikiのwikiモードでは
#comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
=>http://atwiki.jp/guide/17_60_ja.html
-----
たとえば、#comment() と入力すると以下のように表示されます。
#comment
2008-02-19T17:06:47+09:00
1203408407