<?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/handsrecs/">
    <title>Developer&#039;s Note@Wiki</title>
    <link>http://w.atwiki.jp/handsrecs/</link>
    <atom:link href="https://w.atwiki.jp/handsrecs/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Developer&#039;s Note@Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2010-01-27T14:35:23+09:00</dc:date>
    <utime>1264570523</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/40.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/36.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/41.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/39.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/38.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/3.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/33.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/34.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/handsrecs/pages/5.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/40.html">
    <title>Javascript</title>
    <link>https://w.atwiki.jp/handsrecs/pages/40.html</link>
    <description>
      *Javascript

** タグ名の取得
※prototype.jsを使用
大文字が返ってくる
 $(&#039;タグのid&#039;).tagName;

** タグの属性値の取得
※prototype.jsを使用
 $(&#039;タグのid&#039;).getAttribute(&#039;属性名&#039;);
※イベント系の属性は上記方保ではIE6は動かない(IEのバグ)ので以下のようにする必要があった
 $(&#039;タグのid&#039;).setAttribute(&quot;onfocus&quot;, new Function(&quot;Element.show(&#039;help&#039;);&quot;));
http://nanto.asablo.jp/blog/2005/10/29/123294

** $()で存在しないIDを指定した場合の戻り値
 null


*** 関数の可変引数
 function hoge() {
 	for (var i = 0; i &lt; hoge.arguments.length; i++) {
 		alert(hoge.arguments[i]);
 	}
 }

 // 呼び出し元
 hoge(&#039;aaaa&#039;);
 hoge(&#039;1&#039;,&#039;2&#039;);
 hoge(&#039;test1&#039;, &#039;test2&#039;, &#039;test3&#039;);




http://javascriptist.net/docs/samples_prototype.html

http://d.hatena.ne.jp/javascripter/20080501/1209647788
インベントハンドラ2
http://www.rfs.jp/sb/javascript/01/09.html

日付
http://www.hoge256.net/2007/08/64.html    </description>
    <dc:date>2010-01-27T14:35:23+09:00</dc:date>
    <utime>1264570523</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/36.html">
    <title>PHP</title>
    <link>https://w.atwiki.jp/handsrecs/pages/36.html</link>
    <description>
      *PHP
**セッション
 // セッションスタート
 session_start();

 // セッション変数初期化
 $_SESSION = array();

 // セッション破棄
 session_destroy();

セッションを破棄する前にセッション変数を初期化する

** 日付
*** 文字列日付形式変換
 // 2009年10月5日　→　2009-10-5
 date(&#039;Y-m-d&#039;, strtotime(&#039;2009年10月5日&#039;));
*** 2038年問題
http://www.revulo.com/blog/20070412.html
http://www.syuhari.jp/blog/archives/198

*** DateTimeによる日付操作
オブジェクト生成
 $datetime = new DateTime(&#039;2009-02-10&#039;);

出力形式(xxxx年xx月xx日)
 $datetime-&gt;format(&#039;Y年m月d日&#039;);

翌日
 $datetime-&gt;modify(&quot;+1 day&quot;);

** 配列
*** 削除
 unset($data[&#039;delete_key&#039;]);

*** ソート
 ksort($dateArray);  // キーソート昇順
 krsort($dateArray); // キーソート降順

*** 配列の検索
 in_array(検索値, 検索配列); // true:あり false:なし

** 型変換
*** 数値→文字列
 strval($int)


** 文字列
*** 小文字→大文字
 strtoupper(&#039;yyy&#039;)    </description>
    <dc:date>2010-01-26T10:28:03+09:00</dc:date>
    <utime>1264469283</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/41.html">
    <title>MySQL</title>
    <link>https://w.atwiki.jp/handsrecs/pages/41.html</link>
    <description>
      *MySQL
** 昨日のデータを取得
1.より2.の方が断然早い

1. カラムのデータをdate型に変換
 select * from accesses where date(created) = date(current_date()-1)

2. 範囲指定(昨日～本日)
 select * from accesses where created &gt;= date(current_date()-1) and created &lt; date(current_date())    </description>
    <dc:date>2010-01-22T16:15:17+09:00</dc:date>
    <utime>1264144517</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/39.html">
    <title>CakePHP</title>
    <link>https://w.atwiki.jp/handsrecs/pages/39.html</link>
    <description>
      *CakePHP
**Molde　モデル
*** find()メソッド
 find(&#039;all&#039;, &#039;パラメータ&#039;) 		// 全件取得
 find(&#039;first&#039;, &#039;パラメータ&#039;)	// 最初の1件取得

** Helper
*** HTML
-tag(string $tag, string $text, array $htmlAttributes, boolean $escape = false)
&lt;?php echo $html-&gt;tag(&#039;span&#039;, &#039;Hello World.&#039;, array(&#039;class&#039; =&gt; &#039;welcome&#039;));?&gt;


*** divタグを表示しないようにする
 echo $form-&gt;submit(&#039;保存&#039;, array(&#039;div&#039;=&gt;false))

*** checkbox
 echo $form-&gt;input(&#039;モデル名.カラム名&#039;, array(&#039;type&#039; =&gt; &#039;select&#039;, &#039;multiple&#039; =&gt; &#039;checkbox&#039;, &#039;options&#039;=&gt;array(&#039;key1&#039;=&gt;&#039;value&#039;,&#039;key2&#039;=&gt;&#039;value2&#039;), &#039;selected&#039;=&gt;array(&#039;key1&#039;)));
■value1
□value2

*** 注意事項
-「var $belongsTo = null;」とするとエラーとなる。

http://bakery.cakephp.org/articles/view/using-the-ajax-helper-for-inplaceeditor-and-inplacecollectioneditor-fields


http://tech.li-pton.com/php/cakephp_assosiation.html

http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&amp;order=DESC&amp;topic_id=1695&amp;forum=6

http://www.cpa-lab.com/tech/081

http://www.garacter.com/notes/CakePHP+Note/ni:5    </description>
    <dc:date>2009-12-15T10:36:22+09:00</dc:date>
    <utime>1260840982</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/38.html">
    <title>アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法</title>
    <link>https://w.atwiki.jp/handsrecs/pages/38.html</link>
    <description>
          </description>
    <dc:date>2009-06-13T12:49:42+09:00</dc:date>
    <utime>1244864982</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/3.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/handsrecs/pages/3.html</link>
    <description>
      *ページ一覧
#list_read_only(100,sort=timestamp,ignore=topbar,ignore=メニュー)

**更新履歴
#recent(10)

#ref_list()    </description>
    <dc:date>2009-06-13T12:47:23+09:00</dc:date>
    <utime>1244864843</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/33.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/handsrecs/pages/33.html</link>
    <description>
      *人気TOP20
#popular(20,ignore=トップページ,ignore=メニュー,ignore=topbar,total)

*カウンタ
昨日：&amp;counter(yesterday)
今日：&amp;counter(today)
全体：&amp;counter()    </description>
    <dc:date>2009-06-13T12:36:29+09:00</dc:date>
    <utime>1244864189</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/37.html">
    <title>HTML/CSS</title>
    <link>https://w.atwiki.jp/handsrecs/pages/37.html</link>
    <description>
      *HTML / CSS



**互換モードと標準モード(IE6の対応のため)
http://2xup.org/log/2007/07/27-2111


**ツール
-HTML構文検証&amp;br;http://validator.w3.org/

**テンプレート集
-http://www.mantisatemplates.com/
-http://csseasy.com/    </description>
    <dc:date>2009-06-08T17:48:33+09:00</dc:date>
    <utime>1244450913</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/34.html">
    <title>Zend Framework</title>
    <link>https://w.atwiki.jp/handsrecs/pages/34.html</link>
    <description>
      *Zend Framework
#contents(,option=word)

**開発環境
+ダウンロードする&amp;br;http://framework.zend.com/download/current/
+プロジェクトフォルダ以下のような構成で作成する
 -プロジェクトルート
     -application(任意)     アプリ用フォルダ
     -public_html(任意)     web公開ルートフォルダ
+ダウンロードファイルを解凍し「library」フォルダのみプロジェクトフォルダにコピーする。&amp;br;最終的には以下のようになる。
 -プロジェクトルート
     -library               Zend Frameworkライブラリ
     -application(任意)     アプリ用フォルダ
     -public_html(任意)     web公開ルートフォルダ
+web公開用フォルダに以下の「.htaccess」ファイルを作成する
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} -s [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
+「public_html」にindex.htmlを作成する
 &lt;?php
 // インクルードパスにZend Frameworkを設定する
 ini_set(&#039;include_path&#039;, ini_get(&#039;include_path&#039;) . PATH_SEPARATOR . &#039;../library&#039;);
 
 require_once &quot;Zend/Loader.php&quot;;
 Zend_Loader::LoadClass(&#039;Zend_Controller_Front&#039;);
 Zend_Controller_Front::run(&#039;../application/controllers&#039;); // パスは環境によって合わせる
 ?&gt;


**DB接続 ： Zend_Db
※Win版 xampp 1.7.0を使っている場合、MySQLのPDOライブラリDLLに不具合があるためselect文を発行しようとすると失敗する場合がある。

■解決方法
+最新版のxamppを入れる2009.05.19現在(xampp1.7.1)
+「libmysql.dll」ライブラリDLLを変更する&amp;br;以下のディレクトリの「libmysql_5.0.51a.dll」を「libmysql.dll」に名前を変更して上書きする&amp;br;※apacheを停止して行う
 /apache/bin/
 /php/







 
**Hello Zend FrameWork　Zend_Controller


**Action Controller 主な機能
***リクエストパラメータの取得方法
***リクエストがPOSTであるか？
 $this-&gt;getRequest()-&gt;isPost()

***フォワードの仕方
 // action : アクション名
 // controller : コントロール名
 // module : モジュール名
 // params : パラメータ配列
 $this-&gt;_forward(&#039;action&#039;, &#039;controller&#039;, &#039;module&#039;, params);

**セッション
Zend Frameworkでは、「Zend_Session」ライブラリのクラスを使用して、セッション管理をすることが推奨されている。
PHP の session_start()関数とZend_Sessionを両方使用すると予期せぬ動作を起こす。

//***全リクエストに対してセッション管理をする設定
//起動ファイル(index.php)にて以下を記述する。
// Zend_Session::start();

//***セッションから値を取得、セッションに値をセット
//※呼び出す前にZend_Session::start();が呼び出されていることが前提

// // セッションから値を取得

#ref_list(20,sort=count,sort2=desc)    </description>
    <dc:date>2009-05-19T12:58:27+09:00</dc:date>
    <utime>1242705507</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/handsrecs/pages/5.html">
    <title>コーディングルール</title>
    <link>https://w.atwiki.jp/handsrecs/pages/5.html</link>
    <description>
      *コーディングルール
#contents(,option=word)
**はじめに
***目的
プロジェクト開発においてコーディングルールに沿って開発を進めていくことは、非常に重要である。その理由は以下の通りである。
+本人だけでなく他人のもわかりやすいコードとなる。
+開発スピードが高められる。
+バグの発生を未然に防ぐことができる。
+バグ発生時も素早い対応ができる可能性が高くなる。

本コーディングルールは基本的なルールと有効的なルールをまとめたものである。必ずしもこのルールに沿って開発をする必要はない。プロジェクト開発においてJavaでコーディングする際のルール、推奨、および迷った時の指針を提供するものである。

***心得
-わかりやすいコードを意識する(他人の視線を意識する)。
--Javadocやコメントをきちんと書く。
--適切にインデントする。
--複数のコーディングがある場合、実行速度に差があまりなけれ-ば、わかりやすいコーディングを選択する。
-同じコードは2度書かない。
--修正が生じた場合、2箇所変更しなければならず、バグの原因になる可能性が高いから。
-わかりやすいネーミングをつける。
--全て英語で表記し、長くても名前だけである程度推測できるネーミングが良い。

***良いコードの特徴(実践J2EEシステムデザイン第4章より)
+良いコードは、大幅な変更そ行わずに拡張でき、ばらばらにしなくても簡単に機能を追加できる。
+良いコードは、読みやすく、保守しやすい。
+良いコードにはきちんとしたドキュメントがある。
+良いコードを基にして悪いコードを書くのは難しい。
+良いコードはテストしやすい。
+良いコードはデバッグしやすい。
+良いコードには重複するコードがない。
+良いコードは再利用される。

-[[基本ルール]]
--[[命名規約]]
--[[フォーマットスタイル]]
--[[コーディング]]
--[[設計]]

#ref_list()    </description>
    <dc:date>2009-05-18T20:40:45+09:00</dc:date>
    <utime>1242646845</utime>
  </item>
  </rdf:RDF>
