<?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-25T17:46:46+09:00</dc:date>
    <utime>1151225206</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/30.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/29.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/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/funf/pages/21.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <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/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/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とtear    </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/26.html">
    <title>SQL:関数Oracle</title>
    <link>https://w.atwiki.jp/funf/pages/26.html</link>
    <description>
      *Oracleの関数

*単一行関数
-数値関数
|[[CEIL&gt;SQL:関数CEIL]]|小数点以下を切り上げする|
|[[FLOOR&gt;SQL:関数FLOOR]]|小数点以下を切り捨てする|
|[[MOD&gt;SQL:関数MOD]]|割り算の余りを求める|
|[[POWER&gt;SQL:関数POWER]]|累乗を求める|
|[[SQRT&gt;SQL:関数SQRT]]|平方根を求める|
|[[ROUND&gt;SQL:関数ROUND]]|指定した桁で四捨五入する(小数でもOK)|
|[[TRUNC&gt;SQL:関数TRUNC]]|指定した桁で切り捨てる|

-文字関数
|[[LENGTH&gt;SQL:関数LENGTH]]|文字列の長さを調べる|
|[[INSTR&gt;SQL:関数INSTR]]|文字列の位置をしらべる（[[JAVA]]のindexOfのようなもの)|
|[[SUBSTR&gt;SQL:関数SUBSTR]]|文字列から文字列を抜き出す|
|[[INITCAP&gt;SQL:関数INITCAP]]|各単語の先頭を大文字、残りを小文字にする|
|[[UPPER&gt;SQL:関数UPPER]]|すてべ大文字にする|
|[[LOWER&gt;SQL:関数LOWER]]|すべて小文字にする|
|[[CONCAT&gt;SQL:関数CONCAT]]|2つの文字列を連結する|
|[[LPAD&gt;SQL:関数LPAD]]|左に指定したパッティング文字を入れ、桁をあわせる|
|[[RPAD&gt;SQL:関数RPAD]]|LPADの右版|
|[[TRIM&gt;SQL:関数TRIM]]|先頭、最後、その両方の文字列を削除する|
|[[REPLACE&gt;SQL:関数REPLACE]]|置換する|

-日付関数
|[[ADD_MONTHS&gt;SQL:関数ADD_MONTHS]]|日付に指定した月を足す|
|[[LAST_DAY&gt;SQL:関数LAST_DAY]]|指定した日付の月末を返す|
|[[NEXT_DAY&gt;SQL:関数NEXT_DAY]]|指定した日付の次にくる指定した曜日の日付を返す|
|[[MONTHS_BETWEEN&gt;SQL:関数MONTHS_BETWEEN]]|日付同士が何ヶ月はなれているかを返す|
|[[SYSDATE&gt;SQL:関数SYSDATE]]|現在の日時を戻す|
    </description>
    <dc:date>2006-05-06T22:38:47+09:00</dc:date>
    <utime>1146922727</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/25.html">
    <title>SQL:DROP</title>
    <link>https://w.atwiki.jp/funf/pages/25.html</link>
    <description>
      *DROP

 DROP TABLE 表名

表を丸ごと削除する。表自体の存在が消える。

**Oracleのみ？
 DROP TABLE 表名 [CASCADE CONSTRAINTS]

CASCADE CONSTRAINTSをつけることにより、外部キー制約ごと削除することが出来る。ちなみに、この句をつけないで外部キー制約がついている表を削除しようとするとエラーとなる。    </description>
    <dc:date>2006-05-05T16:27:25+09:00</dc:date>
    <utime>1146814045</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/24.html">
    <title>SQL:TRUNCATE</title>
    <link>https://w.atwiki.jp/funf/pages/24.html</link>
    <description>
      *TRUNCATE

***注意
この命令は、[[SQL]]の規格では実装されていないようです。しかし、Oracleやpostger SQL、MySQLで実装されていることが確認できています。それぞれのデータベースにより実装内容が異なる場合があるかもしれないので、使用する際にはそれぞれの仕様書を読みましょう。

 TRUNCATE TABLE 表名

表中のすべての行を削除する。
DELETE文を使用する場合よりも高速に削除することができる。

TABLEの部分は省略できるデータベースと出来ないものがあるため、省略しないほうがいいでしょう。

以下に、データベース別の処理について書きます。間違っている部分は修正してください。

**Oracle
-ロールバックできない。
-表削除のトリガーが使えない。
-外部キーとなっている親表の場合は削除できない。

**postger SQL
-ロールバックできない。

**MySQL
-ロールバックできない。
-表を削除し、再構成している？
-データやインデックスファイルがこわれても、定義ファイルがあれば復旧できる。（中身は多分無くなる）
-バージョンによりTABLEが省略できない    </description>
    <dc:date>2006-05-05T16:21:30+09:00</dc:date>
    <utime>1146813690</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/23.html">
    <title>SQL:DELETE</title>
    <link>https://w.atwiki.jp/funf/pages/23.html</link>
    <description>
      *DELETE

 DELETE FROM 表名
     [WHERE 検索条件]

WHEREに一致した行を削除する。つまり、WHEREがない場合は、表にある行すべてが削除されてしまう。注意して使用しなければならない。

WHERE句に副問い合わせを使用できる。    </description>
    <dc:date>2006-05-05T16:29:28+09:00</dc:date>
    <utime>1146814168</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/22.html">
    <title>SQL:UPDATE</title>
    <link>https://w.atwiki.jp/funf/pages/22.html</link>
    <description>
      *UPDATE

 UPDATE 表名
    SET 列名 = 値[, 列名 = 値, ・・・・・]
    [WHERE 検索条件]

列名＝値を複数,で区切ることにより、複数の列を同時に修正することが可能となる。

WHERE句に副問い合わせを使用できる。

**注意
WHERE句を使用しない場合、表内のすべての行が更新されてしまう。    </description>
    <dc:date>2006-05-05T16:29:54+09:00</dc:date>
    <utime>1146814194</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/funf/pages/21.html">
    <title>SQL:INSERT</title>
    <link>https://w.atwiki.jp/funf/pages/21.html</link>
    <description>
      *INSERT

 INSERT INTO 表名
         [(列名, 列名, .....)]
    VALUES(  値,   値, .....)

値には、文字列なら&#039;&#039;で囲み、日付ならTO_DATEなどで日付の値にして入力しなければならない。NULLを入れることもできる。
列名を指定して入力する場合、指定しなかった列名が存在する時には自動的にNULLが入る。

また、SELECT文を使用して行を追加することもできる。（外部リンク参照）    </description>
    <dc:date>2006-05-05T15:39:18+09:00</dc:date>
    <utime>1146811158</utime>
  </item>
  </rdf:RDF>
