<?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/k_tech/">
    <title>k_tech @ ウィキ</title>
    <link>http://w.atwiki.jp/k_tech/</link>
    <atom:link href="https://w.atwiki.jp/k_tech/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>k_tech @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2008-01-16T01:05:23+09:00</dc:date>
    <utime>1200413123</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/51.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/50.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/49.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/48.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/47.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/46.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/45.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/44.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/43.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/42.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/51.html">
    <title>スーパークラスとサブクラス</title>
    <link>https://w.atwiki.jp/k_tech/pages/51.html</link>
    <description>
      - extends画内場合には、Objectクラスを直接拡張することになる。
- final修飾子がつくクラスについては、拡張することはできない。
**sample
 class SomeClass
 {
   private int counter;
   private String name;
   
   public int getCounter(){・・・}
   public void setCounter(int c){・・・]
   public String name(){・・・}
   public void setName(String s){・・・}
 }
 
 class SubSomeClass extends SomeClass
 {
   private String subName;                    // 追加するフィールド
  
   public String getSubName(){・・・}　　　　 // 追加するメソッド
   public void setSubName(String sn){・・・}  // 追加するメソッド
 }

**sample1
 class CountDown
 {
   protected int from;
   protected int to;
   
   public void setCountDown(int f,int t)
   {
     from = f;
     to = t;
   }
   public void doCountDown
   {
     System.out.println(&quot;Count Down Start&quot;);
     for( int i=from; i&lt;=to; i--)
       System.out.println(i);
     Sysmte.out.println(&quot;Count Down End&quot;);
   }
 }
 
 class CharCountDown extends CountDown
 {
   private char moji;
   
   public void setChar(ch    </description>
    <dc:date>2008-01-16T01:05:23+09:00</dc:date>
    <utime>1200413123</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/50.html">
    <title>継承</title>
    <link>https://w.atwiki.jp/k_tech/pages/50.html</link>
    <description>
      *[[java]]
- あるクラスを定義した跡に、そのクラスに新しいフィールドやメソッドを追加したり、メソッドの上書き（&amp;bold(){オーバーライド})したりすること。
- 一つのクラスから複数のクラスを派生させる事も可能。
- スーパークラス：サブクラスの関係は、１：多

#image(http://image.blog.livedoor.jp/okoba23/imgs/3/9/399ca540.gif,title=継承,http://image.blog.livedoor.jp/okoba23/imgs/3/9/399ca540.gif,blank,left)    </description>
    <dc:date>2008-01-16T00:38:27+09:00</dc:date>
    <utime>1200411507</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/49.html">
    <title>スタティックフィールドとスタティックメソッド</title>
    <link>https://w.atwiki.jp/k_tech/pages/49.html</link>
    <description>
      *[[java]]
**メソッドとフィールドへのアクセス
|修飾子|意味|
|public|任意の場所からアクセス可|
|private|フィールドまたはメソッドが定義されたクラス内のみアクセス可|
|protected|フィールドまたはメソッドが定義されたクラス内、そのクラスのサブクラス、そのクラスと同じパッケージ内のクラスからアクセス可|
|無指定|フィールドまたはメソッドが定義されたクラス内及びそのクラスと同じパッケージないのクラスからアクセス可|
**sample
 package test;
 public class PubClass
 {
   private int counter = 20;
   protected String message = &quot;メッセージ&quot;;
   
   public String getMessage(){ return message; }
   protected void setMessage(String s){ message = s; }
   public int getCounter(){ return counter;}
   private void setCounter(int c){ counter = c; }
 }

 import test.PubClass
 public class PubTest
 {
   public static void main(Strint[] args)
   {
     PubClass obj = new PubClass();
     
     // ※1 System.out.println(&quot;protected message -----&gt;&quot; + obj.message);
     // ※2 System.out.println(&quot;private message -----&gt;&quot; + obj.counter);
     
     // ※1 obj.setMessage(&quot;TEST PROGRAM&quot;);
     System.out.println(&quot;PubClass.getMessage() -----&gt;&quot; + obj.getMessage());
     
     </description>
    <dc:date>2008-01-15T21:42:02+09:00</dc:date>
    <utime>1200400922</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/48.html">
    <title>コンストラクタとメンバへのアクセス</title>
    <link>https://w.atwiki.jp/k_tech/pages/48.html</link>
    <description>
      *[[java]]
- コンストラクタはオブジェクトが生成される時に呼び出される。
- 修飾子を設定できる。&amp;bold(){public,protected,private}
- 引数を受け取るコンストラクタの定義も可能
- 宣言で例外を指定する事も可能
- 引数や型の異なるコンストラクタの複数定義も可能
**sample
 class sample
 {
   public SampleClass()               //  default
   
   public SomeClass(int count)        //  コンストラクタのオーバーロード
 }
+ コンストラクタには、フィールドの初期化処理などオブジェクトが生成されたときに最初に実行される処理を記述する
+ インスタンス変数の場合、&amp;bold(){数値は0、ブール値はfalse、参照変数はnull}に暗黙的に設定される
+ ローカル変数は明示的に初期化する必要あり
+ コンストラクタをオーバーロードする場合、this()を使ってコンストラクタの中でオーバーロードされたほかのコンストラクタを呼び出すことが可能
**sample
 class SomeClass
 {
   public SomeClass()                 //  default
   {
     this(20);                        //  もう一つのコンストラクタを呼び出す
   }
   public SomeClass(int count)        //   コンストラクタのオーバーロード
   {
     ・・・
   }
 }

**javaにはデストラクタはない
- 自動的にガベージコレクションを行うため明示的にメモリを開放すつ必要がない
- 明示的にする場合には、&amp;bold(){finalize method}で実装する。
- このmethodはインスタンスへの参照はもうないとガベージコレクションにより判断された場合に、ガベージコレクタにより呼び出される。

**コンストラクタの定義方法と使用方法と示すプログラム
 public class ConstructorTest    </description>
    <dc:date>2008-01-14T22:55:13+09:00</dc:date>
    <utime>1200318913</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/47.html">
    <title>メソッドの引数</title>
    <link>https://w.atwiki.jp/k_tech/pages/47.html</link>
    <description>
      *[[java]]
**メソッドの引数
- Javaでは引数に値を渡す場合、常に&amp;bold(){値渡し}
 public void setNumber(int number)
 {
   number = 100;
 }
 ※このメソッドで、引数で渡されたnumberを、100に置き換えようとしているが、変更されない。

 int number = 10;
 obj.setNumber(number);
 System.out.println(number);     // 100ではなく10が表示される。
 ※これは、呼び出し元からnumberという変数を渡すわけではなく、numberに格納されている10という値が
   setNumber()メソッドの引数に定義されているnumberにcopyされているため。
 ※呼び出しもとのnumberとメソッドの引数リストのnumberは別の変数であるため、setNumber()内で
   numberを変更しても呼び出し元の変数に影響はない。

- 参照型(&amp;bold(){配列型やクラス型})を使うと、メソッドにはインスタンスを参照する値を渡すため、変更することが可能
 public void setArray(int [] array)
 {
   for(int i=0; i&lt;array.length; i++)
     array[i] = 100;
 }
 
 int[] array = {1,2,3,4,5}
 obj.setArray(array);
 ※array[]の各要素はすべて100に置き換わる。
**メソッドのオーバーロード
- System.out.println()を呼び出すと、メソッド名は同じだが引数を渡さなかったり、異なる型の引数を渡している。
- System.out.println()を呼び出すと、Systemクラスのoutというスタティックフィールドに格納されているオブジェクトのprintln()を呼び出す。
- outはPrintStream型であるので、println()はもともとPrintStreamクラスで定義されているメソッド。
- PrintStreamではprintln()は数多く定義されている。(JDKのA    </description>
    <dc:date>2008-01-14T22:08:25+09:00</dc:date>
    <utime>1200316105</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/46.html">
    <title>python memo</title>
    <link>https://w.atwiki.jp/k_tech/pages/46.html</link>
    <description>
      * unix command実行
 os.system([コマンド内容])

* template
 from string import Template
 
 str = Template(&#039;$who likes $what&#039;)
 str.substitute(who=&#039;I&#039;,what=&#039;unko&#039;)
- substitute
substitute(  	mapping[, **kws])
テンプレート置換を行い、新たな文字列を生成して返します。mapping はテンプレート中のプレースホルダに対応するキーを持つような任意の辞書類似オブジェクトです。辞書を指定する代わりに、キーワード引数も指定でき、その場合にはキーワードをプレースホルダ名に対応させます。 mapping と kws の両方が指定され、内容が重複した場合には、 kws に指定したプレースホルダを優先します。 

* init
 #----------------------------------------------------------------
 # main
 #----------------------------------------------------------------
 if __name__ == &#039;__main__&#039;:
   
    # initialize
    dic_arr={}    </description>
    <dc:date>2007-12-10T13:41:59+09:00</dc:date>
    <utime>1197261719</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/45.html">
    <title>memo</title>
    <link>https://w.atwiki.jp/k_tech/pages/45.html</link>
    <description>
      - tabの文字数変更
 : set tabstop=4    </description>
    <dc:date>2007-12-05T00:07:57+09:00</dc:date>
    <utime>1196780877</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/44.html">
    <title>スクリプト</title>
    <link>https://w.atwiki.jp/k_tech/pages/44.html</link>
    <description>
      - connect check script
+ input file読み込み
+ 総件数count
+ ソート
+ maxtime 検出
+ 閾値over count
+ output file書き出し
 log_chk.py [infile] [outfile]
 #! /bin/python
 
 import conf
 import sys
 
 for arg in sys.argv[1:]:
         print &quot;unko&quot;
 print sys.argv[0]
 
 #test=[]
 #test1=[]
 
 #test=&quot;unko\n&quot;
 #test1=&quot;test&quot;
 
 
 #log=open(&#039;report.log&#039;,&#039;w&#039;)
 #log.writelines(test)
 #log.writelines(test1)
 #log.close()

- file up script    </description>
    <dc:date>2007-12-05T00:26:03+09:00</dc:date>
    <utime>1196781963</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/43.html">
    <title>小ネタ集</title>
    <link>https://w.atwiki.jp/k_tech/pages/43.html</link>
    <description>
      ■セキュリティ
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/index.html
http://www.ipa.go.jp/security/vuln/documents/website_security.pdf

●HTML、CSSの標準規格を整理
http://japan.zdnet.com/go?id=363641&amp;tag=zdnw

●リリースに遅れの次期Debian--開発者間の対立が影響か
http://japan.zdnet.com/go?id=339466&amp;tag=zdnw    </description>
    <dc:date>2008-02-23T00:55:48+09:00</dc:date>
    <utime>1203695748</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/42.html">
    <title>配列,演算子,文字列</title>
    <link>https://w.atwiki.jp/k_tech/pages/42.html</link>
    <description>
      *配列
 &lt;?[[php]]
   $var[]  = &quot;aaa&quot;;
   $var1[] = &quot;bbb&quot;;
   $var2[] = &quot;ccc&quot;;
 ?&gt;
** array()関数
- 複数の値(index)を1つの変数に格納する場合、array()関数でOK
 &lt;?php
   $var = array(&quot;aaa&quot;,&quot;bbb&quot;,&quot;ccc&quot;,&quot;ddd&quot;);
 ?&gt;
 
 &lt;?php
   $var = array(&quot;aaa&quot;,&quot;bbb&quot;,&quot;ccc&quot;,&quot;ddd&quot;);
   print($var[1]);
 ?&gt;
** explode()関数
- indexの区切り文字を基準として配列する
- indexの文字列の各項目として変数へ格納
 &lt;?php
   $var = explode(&quot;,&quot;,&quot;aaa,bbb,ccc&quot;);
   print($var[1]);
 ?&gt;
** 連想配列
- indexが文字列の配列
- 配列には数値でもOK
- list(),each()とか使ってループされたりする。
 &lt;?php
   $fruit = array(&quot;aaa&quot; =&gt; &quot;apple&quot;,&quot;bbb&quot; =&gt; &quot;banana&quot;,&quot;ccc&quot; =&gt; &quot;grape&quot;);
   while(list($key,$val) = each($fruit))
   {
     print($key,$val);
   }
 ?&gt;
* 演算子
** 代入演算子
|=|代入|-|-|
|+=|加算代入|$a += 1|$aに1を+|
|.=|加算代入|$a .= $b|$aに$bの値を連結して代入|
|++|加算代入|$a ++|$aに1を+|    </description>
    <dc:date>2007-11-11T01:02:42+09:00</dc:date>
    <utime>1194710562</utime>
  </item>
  </rdf:RDF>
