<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/funf/">
    <title>気になったことを貼り付ける@Wiki</title>
    <link>http://w.atwiki.jp/funf/</link>
    <atom:link href="https://w.atwiki.jp/funf/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>気になったことを貼り付ける@Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2006-06-25T20:33:42+09:00</dc:date>
    <utime>1151235222</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/30.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/29.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/12.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/funf/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/funf/pages/1.html</link>
    <description>
      気になったことを書き留めるメモ帳ページ
とくにソフトウエア周りのまとめ用
個人ぺーじ
[[こっちに移動&gt;http://wiki.livedoor.jp/funf0/d/FrontPage]]

[[メニュー]]
[[メニュー２]]

ほしい本
 Oracle+Javaアプリケーション開発    DB press 
 実践 JDBC―Javaデータベースプログラミング術 
 PHPサイバーテロの技法―攻撃と防御の実際
 J2EEパフォーマンスチューニング徹底解説―見えないところを手抜きしないWebシステム実現のために    アドバンストサーバサイドプログラミング
あとで読むかもしれないリンク
 ハッカーwiki http://bogus.jp/pukiwiki/

メモ
 5/24
 結城浩さん、日経ソフトウエアで連載「簡単実装で学ぶWeb技術2006」を開始
 本になったらほしい。    </description>
    <dc:date>2006-06-25T20:33:42+09:00</dc:date>
    <utime>1151235222</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/30.html">
    <title>J2EE</title>
    <link>https://w.atwiki.jp/funf/pages/30.html</link>
    <description>
      [[無料APサーバー&gt;http://jp.sun.com/products/software/javasystem/applicationserver/]]    </description>
    <dc:date>2006-06-25T17:46:46+09:00</dc:date>
    <utime>1151225206</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/funf/pages/2.html</link>
    <description>
      メニュー
-[[トップページ]]
***言語
-[[Ｃ言語]]
-[[JAVA]]
-[[J2EE]]
-[[JavaScript]]
-[[PHP]]
-[[Haskell]]
-[[GPU]]
-[[SQL]]
***その他
-[[ISOファイル]]
-[[mona]]
**更新履歴
#recent(20)    </description>
    <dc:date>2006-06-25T17:46:13+09:00</dc:date>
    <utime>1151225173</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/14.html">
    <title>JavaScript</title>
    <link>https://w.atwiki.jp/funf/pages/14.html</link>
    <description>
      外部
[[Xライブラリの説明&gt;http://network.yasu21.net/diary/2005/12/javascript.html]]
[[JavaScriptをHTMLソースから消す方法&gt;http://my-chunqiu.cocolog-nifty.com/blog/2006/01/javascript_html_bc22.html]]


[[Ajax]]にはＸＭＬも含まれているそうなんだけど・・・

[[XMLを使う]]
[[Ajax]]

**入力フォームのチェック

 &lt;html&gt;
 
 &lt;script type=&quot;text/javascript&quot;&gt; 
 &lt;!--
   function check(object){
   
   var flag = 0; //入力みすがあったら１にする
   
   if(!(object.number.value.match(/\d+/))){//正規表現がつかえる
     alert(&quot;一個目は数値だけ&quot;);
     flag = 1
   }
 
   if(!(object.number.value.lenght &gt; 0)){//文字列の長さがゲットできる
     alert(&quot;二個目は何でもいいから文字を入れて&quot;);
     flag = 1
   }
   
   if(flag == 1){
     alert(&quot;入力みすなので、やり直してください&quot;);
     return false;
   }
   
   return true;
   } 
 
 //--&gt;
 &lt;/script&gt;
 &lt;body&gt;
 &lt;form action=&quot;hhh.html&quot; method=&quot;post&quot; name=&quot;inputForm&quot;&gt;
   &lt;input type=&quot;text&quot; value=&quot;&quot; name=&quot;number&quot;&gt;
   &lt;input type=&quot;text&quot; value=&quot;&quot; name=&quot;moji&quot;&gt;
   &lt;input type=&quot;submit&quot; onClick=&quot;return  check(inputForm);&quot;&gt;
 &lt;/form&gt;
 &lt;/body&gt;
 &lt;/html&gt;

submitのonClickと、checkのreturn true, return falseが重要
  var r = confirm(&quot;これでいいですか？&quot;);
  if(r == false ){//キャンセルだったら
    return false;
  }
OK、キャンセルダイアログ
処理時間の計測
new Date().getTime()
を二箇所で取る    </description>
    <dc:date>2006-06-13T23:06:02+09:00</dc:date>
    <utime>1150207562</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/29.html">
    <title>JAVA:文字列</title>
    <link>https://w.atwiki.jp/funf/pages/29.html</link>
    <description>
      *文字列について

***半角と全角をチェックする。

    public static void main(String[] args){
        String str = &quot;NetBeanでHello Worldをしてみる&quot;;
        byte[] bytes = null;
        try{
            bytes = str.getBytes(&quot;SJIS&quot;);
        }catch (Exception e){
            e.printStackTrace();
        }
        if(str.length() != bytes.length){
            System.out.println( bytes.length - str.length());
        }
    }
このソースコードはサンプルです。SJISに変換できない場合、止まる可能性があります。

　[[JAVA]]はUTF-８なので半角も全角も２バイトである。しかし、一旦SJISに変換(EUC-JPでもいいんだろうけど）すると、半角は１バイト、全角は２バイトになるので、全角の分だけ文字列長よりバイト配列の長さのほうが大きくなる。

　ここで、バイト配列内の全角と半角を判別するには、文字コードを見ればよい。半角は(多分)ASCIIコードと同じなので、0x7F以下になるはずである。つまり、0x80以上を見つかれば、その次のバイトと合わせて１文字の全角であると判断できる。    </description>
    <dc:date>2006-05-28T23:49:27+09:00</dc:date>
    <utime>1148827767</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/6.html">
    <title>JAVA</title>
    <link>https://w.atwiki.jp/funf/pages/6.html</link>
    <description>
      外部リンク
[[NetBeans&gt;http://www.netbeans.org/index_ja.html]]
開発環境。ノーマル状態だとEclipseより好き。

内部
[[JAVA:初期設定いろいろ]]
[[JAVA:参照型変数]]
[[JAVA:可変長配列]]
[[JAVA:ファイル操作]] 
[[JAVA:JUnit]]
[[JAVA:日付型]]
[[JAVA:文字列]]    </description>
    <dc:date>2006-05-28T23:36:27+09:00</dc:date>
    <utime>1148826987</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/28.html">
    <title>JAVA:日付型</title>
    <link>https://w.atwiki.jp/funf/pages/28.html</link>
    <description>
      ** 数値 &gt;&gt; DATE

 import java.util.Calendar;
 import java.util.Date; 
 
 public class testDate {
 	public static void main(String[] args){
 		
 		Calendar cl = Calendar.getInstance();
 		//年、月、日、時、分、秒
 		cl.set(2006, 6, 1, 0, 0, 0);
 		//カレンダーを時間に
 		Date d = cl.getTime();
 		
 		System.out.println(d);
 	}
 }
注意：月のみ０から始まる。１１＝１２月

比較
 d.before(d2) //d &lt; d2
 d.after(d2) //d &gt; d2    </description>
    <dc:date>2006-05-27T15:54:44+09:00</dc:date>
    <utime>1148712884</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/27.html">
    <title>JAVA:JUnit</title>
    <link>https://w.atwiki.jp/funf/pages/27.html</link>
    <description>
      外部
[[@IT:JUnit+Eclipse&gt;http://www.atmarkit.co.jp/fjava/devs/xpd05/xpd05.html]]
[[Javaの道:Junit(基本操作)&gt;http://www.javaroad.jp/opensource/js_junit2.htm]]
[[Javaの道:Eclipse(Junit)&gt;http://www.javaroad.jp/opensource/js_eclipse9.htm]]
[[JUnit実践講座&gt;http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/junit.html]]

[[JunitのAPI&gt;http://junit.sourceforge.net/javadoc/]]
[[JunitのAPI(日本語)&gt;http://www.asahi-net.or.jp/~xm5y-ysng/junit/javadoc/index.html]]
基本的には、APIのAssertクラスを使用する。
Eclipseや単体でのJunitの使い方はリンクを参照

*JUnitの基本
 setUp
 メソッド一個
 tearDown
の繰り返しで実行される。（順不同で）

***Junit 指定した順番で実行する。

ポイント:staticな戻り値Testでメソッド名suite()を作る
 public static Test suite(){
 	TestSuite suite = new TestSuite(); //決り文句？
 	
 	//あるテストクラスのメソッドをキューに入れる？場合
 	suite.addTest(new テストするクラス(&quot;そのメソッド&quot;));
 	//例 suite.addTest(new UtilTest(&quot;getNO&quot;));
 
 	//あるテストクラスを丸ごとキューに入れる？場合
 	suite.addTest(テストするクラス.class);
 	//例 suite.addTest(UtilTest.class);
 
 	return suite;
 }
addTestで追加する。
実行順は制御できるが、setUpとtearDownはメソッドごとに必ず実行されるようだ

***その他のアイディア？ノウハウ？

例外が発生しないようにするテストでは例外はthrowsするのがよい（正常系）
 public void test????() throws Exception{
    //正常なテストコード
 }

例外発生時のテストは、catchにassertTrue(true)を書くのがよいらしい
 public void test?????(){
   try{
     //例外を発生させるコード
     fail();
   }catch(なんとかException e){
     assertTrue(true);
   }
 }

繰り返しもforを使わずに手動で書いたほうが良い    </description>
    <dc:date>2006-05-24T23:21:22+09:00</dc:date>
    <utime>1148480482</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/19.html">
    <title>SQL</title>
    <link>https://w.atwiki.jp/funf/pages/19.html</link>
    <description>
      *外部リンク
[[AccessDBStudio&gt;http://orakumiko.hp.infoseek.co.jp/index.html]]
[[SQL講座&gt;http://www.rfs.jp/sb/sql/]]
*内部
**その他に重要なこと
|[[演算,比較&gt;SQL:演算]]|演算子や比較について|

**DML
|[[SELECT&gt;SQL:SELECT]]|データの検索|
|[[INSERT&gt;SQL:INSERT]]|行の挿入|
|[[UPDATE&gt;SQL:UPDATE]]|行の更新|
|[[DELETE&gt;SQL:DELETE]]|行の削除|
|[[TRUNCATE&gt;SQL:TRUNCATE]]|すべての行の削除|
|[[MERGE&gt;SQL:MERGE]]|行のマージ|

**DDL
|[[CREATE&gt;SQL:CREATE]]|表の作成|
|[[ALTE&gt;SQL:ALTE]]|表の変更|
|[[DROP&gt;SQL:DROP]]|表の削除|
|[[RENAME&gt;SQL:RENAME]]|表名の変更|

**DCL
|[[GRANT&gt;SQL:GRANT]]|権限の付与|
|[[REVOKE&gt;SQL:REVOKE]]|権限の削除|

**トランザクション
|[[COMMIT&gt;SQL:COMMIT]]|更新の確定|
|[[ROLLBACK&gt;SQL:ROLLBACK]]|更新の取り消し|
|[[SAVEPOINT&gt;SQL:SAVEPOINT]]|セーブポイントの作成|

**関数
|[[Oracle&gt;SQL:関数Oracle]]|Oracleの関数|
|[[postger SQL&gt;SQL:関数postger]]|postgerの関数|
|[[MySQL&gt;SQL:関数MySQL]]|MySQLの関数|    </description>
    <dc:date>2006-05-22T22:58:05+09:00</dc:date>
    <utime>1148306285</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/12.html">
    <title>Ｃ言語</title>
    <link>https://w.atwiki.jp/funf/pages/12.html</link>
    <description>
      |int|4バイト|
|long|4バイト|
|short|2バイト|
|char|1バイト|
|float|4バイト|
|double|8バイト|
gccだとintが４バイトまで使える不思議。longも４バイトで意味不明

fopen系は２Ｇくらいまで
open/lseek/read/close つかえと

 gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 test.c
のオプションで４Ｇ越えのファイル読めた    </description>
    <dc:date>2006-05-11T21:47:45+09:00</dc:date>
    <utime>1147351665</utime>
  </item>
  </rdf:RDF>
