<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>キチガイブログ</title>
    <link>http://blog.as-roma.com/psycho/</link>
    <description></description>
    <language>ja</language>
    <generator>Nucleus CMS v3.24</generator>
    <copyright>blog.as-roma.com</copyright>
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://blog.as-roma.com/nucleus/nucleus2.gif</url>
      <title>キチガイブログ</title>
      <link>http://blog.as-roma.com/psycho/</link>
    </image>
    <item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1209</guid>
 <title><![CDATA[Ethna #8 (AppObject)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1209</link>
<description><![CDATA[誤ってリロードして書いた奴、全部消えた・・・<br />
メモ帳とかでバックアップしてない時に限ってコレだ<br />
<br />
ところで、EthnaではSQLを撃たなくても<br />
データベースを操作する方法が用意されている<br />
それがAppObject(アプリケーションオブジェクトだ)<br />
<br />
さて、実際にやってみよう<br />
<br />
コンソールで<br />
ethna add-app-object テーブル名<br />
と打ちEnter<br />
<br />
そしてapp内にできる<br />
プロジェクト名-テーブル名.php野中を(野中広務は売国奴)みてみよう<br />
<br />
extends Ethna_AppObjectの下に<br />
<blockquote><br />
<code class="codebeautifier">
　　　<span class="reserved">var</span>&nbsp;<var>$table_def</var>&nbsp;=&nbsp;<span class="reserved">array</span>(<br />
　　　&nbsp;<span class="string_literal">'テーブル名'</span>&nbsp;=&gt;&nbsp;<span class="reserved">array</span>(<span class="string_literal">'primary'</span>&nbsp;=&gt;&nbsp;<span class="reserved">true</span>,),);<br />
　　　);<br />
<br />
　　　&nbsp;<span class="reserved">var</span>&nbsp;<var>$prop_def</var>&nbsp;=&nbsp;<span class="reserved">array</span>(<br />
　　　　<span class="string_literal">'フィールド名'</span>&nbsp;=&gt;&nbsp;<span class="reserved">array</span>(<span class="string_literal">'primary'</span>&nbsp;=&gt;&nbsp;<span class="reserved">true</span>,&nbsp;<span class="string_literal">'key'</span>&nbsp;=&gt;&nbsp;<span class="reserved">false</span>,&nbsp;<span class="string_literal">'form_name'</span>&nbsp;=&gt;&nbsp;<span class="string_literal">'フォーム名'</span>,&nbsp;<span class="string_literal">'type'</span>&nbsp;=&gt;&nbsp;VAR_TYPE_INT,),<br />
　　　);
</code><br />
</blockquote><br />
と入れる<br />
<br />
table_defのprimaryはそのテーブルに主キーがあるなら<br />
trueにしよう<br />
<br />
prop_defの中の配列の設定値は<br />
primary 主キーがあるならtrue<br />
key 主キーか唯一キーがあるならtrue<br />
seq オートインクリメントならtrue<br />
form_name フィールド名がウェブから送信されたものに対応するフォーム名<br />
type 正直今のところ、どうでもいいようだ<br />
<br />
このファイルをコントローラ側でインクルードして<br />
使う側のactionまたはviewで<br />
$Obj = & new AppObject作成で指定した名前($this->backend);<br />
とすれば後は好き放題だ<br />
$Obj->set("フィールド名", "テスト");<br />
$Obj->add<br />
してINSET INTOするもよし<br />
$Obj->update<br />
して更新するもよし<br />
$Obj->remove<br />
して削除するもいい<br />
<br />
searchpropその他でデータを引きずり出せる<br />
<br />
詳細は次回]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1209</comments>
 <pubDate>Fri, 29 Sep 2006 07:23:07 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1136</guid>
 <title><![CDATA[Ethna #7 (掲示板を拡張せよ DAO化計画)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1136</link>
<description><![CDATA[ここまでは某所に書いてきたのを<br />
そのままもってきたのでリターンズとしてたが<br />
ここからはここだけで新たに行かせてもらう<br />
<br />
前回は掲示板作成のところまでこぎつけた<br />
さて、ここで喜んではいられない<br />
次のステップへと行こうじゃないか<br />
<br />
それはDAO化だ<br />
さっきのソースコードを見た限り<br />
やはりフレームワークを使っているので<br />
結構シンプルに出来ていると思われる、がだ<br />
データベースアクセス処理に関してだが<br />
ここは後で無駄が起きてしまう<br />
なぜ?処理は2つしかないのに?<br />
<br />
いやいや、ここからが大変なんだ<br />
これがショッピングカートやSNSとか作る際に<br />
こんなコードを一杯書いていったら・・・<br />
当然だけど、冗長化していき<br />
同じコードを何度も書いてしまうはめになる<br />
そこでDAO化なんだ<br />
DAOとはData Access Objectの略で<br />
そのままデータにアクセスするための部品<br />
これを書くことで少しはコードの削減に<br />
一役買ってくれる事だろう<br />
<br />
DAO化はそれぞれ手順を踏むだろうが<br />
私はこう書いてみた<br />
<br />
まずappディレクトリにBBSのIO処理のためのDAOを作成する<br />
名前はbbs.io.dao.php<br />
oh! なんてセンスのないファイル名なんだろう!!!<br />
<br />
サンプルソース↓<br />
<iframe src=http://hogehogehoge.ath.cx/any/sample/bbs.io.dao.txt width=400 height=500></iframe><br />
因みにPEAR DBに直接アクセスしている<br />
これをコントローラの上部にincludeすれば<br />
使えるようになる<br />
include_once('bbs.io.dao.php');<br />
こうね<br />
<br />
ところて、mb_converというのが目に入ったか?<br />
これはmb_convert_encodingが配列に対応<br />
してないっぽいので、独自に配列に対応<br />
させたのを組んでみた<br />
エラーが出てしまうのがアレだが・・・<br />
ソース↓<br />
<iframe src=http://hogehogehoge.ath.cx/any/sample/mb_convert.txt width=400 height=500></iframe><br />
<br />
もうちょっと吟味する必要があるな・・・<br />
さて、ここまで出来たら後はこうするだけだ<br />
<br />
ViewのIndex.phpのデータ読み込み処理<br />
<br />
$bbs = new bbs_io;//BBSデータ読み込みオブジェクトの生成<br />
$read = $bbs->bbs_read(); //読み込むだけ<br />
		<br />
array_pop($read); //ケツについてしまった要らんデータを消す・・・<br />
$this->af->setApp("bbs", $read);//出力<br />
<br />
ここここ・・・・・これだけ・・・・<br />
DAOの威力恐るべし<br />
<br />
続いて書き込みactionのIndexの処理<br />
<br />
$name = $this->af->get('nm');<br />
$mail = $this->af->get('mail');<br />
$body = $this->af->get('bd');<br />
//書き込み用に配列を作る<br />
$write = array($name,$mail,$body);<br />
//BBS入出力DAOオブジェクトの生成<br />
$bbs = new bbs_io;<br />
//入力チェック<br />
if($this->af->validate() == 0){<br />
	$bbs->bbs_add($write);//書き込み<br />
}<br />
return 'index';<br />
<br />
はいしゅーりょー<br />
<br />
DAOって凄いね]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1136</comments>
 <pubDate>Mon, 7 Aug 2006 00:39:37 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1135</guid>
 <title><![CDATA[Ethnaリターンズ#6 (掲示板(BBS)の完成)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1135</link>
<description><![CDATA[オーチンハラショー!!!<br />
順調だ<br />
<br />
前回はデータベースアクセスの方法について記述した<br />
さてここからは、公約通り掲示板の作成作業に<br />
当っていく<br />
<br />
コントローラからの記述の説明とか<br />
前に書いてあるので想像に任せるとして<br />
ここからは、いきなりコアな部分から行くとしよう<br />
<br />
流石に、これまで使ってきたSampleプロジェクトの<br />
Loginを流用するにはごちゃごちゃしてて<br />
限界があるので掲示板用に新たにプロジェクトを<br />
作成する事にする<br />
<br />
<br />
<br />
まずデータベースを生成する <br />
DB名はbbs <br />
そこにbbsテーブルを作る <br />
name mail共にvarchar 255 <br />
datetimeはtimestamp <br />
commentはtext <br />
<br />
EthnaコマンドでBBSプロジェクトを作る <br />
Ethna add-project BBS /ドキュメントルート <br />
ディレクトリ作るか?y <br />
<br />
appのviewにIndex.phpを作る(最初からあると思うけど) <br />
<br />
$form内に <br />
<br />
'mail' => array('name' => 'メール', 'required' => false, 'type' => VAR_TYPE_TEXT,), <br />
'nm' => array('name' => '名前', 'required' => false, 'type' => VAR_TYPE_TEXT,), <br />
'bd' => array('name' => 'コメント', 'required' => true, 'type' => VAR_TYPE_TEXT,), <br />
<br />
そしてfunction preforwardの中に <br />
$db = & $this->backend->getDB(); <br />
$sql = "select * from `bbs`"; <br />
$result = & $db->query($sql); <br />
$i = 0; <br />
while($temp = $result->fetchRow(DB_FETCHMODE_ASSOC)){ <br />
$fd[$i][name] = mb_convert_encoding($temp[name], "euc", "auto"); <br />
$fd[$i][mail] = mb_convert_encoding($temp[mail], "euc", "auto"); <br />
$fd[$i][datetime] = mb_convert_encoding($temp[datetime], "euc", "auto"); <br />
$fd[$i][comment] = mb_convert_encoding($temp[comment], "euc", "auto"); <br />
$i++; <br />
} <br />
<br />
etcのiniの$configの中に <br />
'dsn' => "mysql://ユーザ名:パスワード@localhost/bbs", <br />
<br />
templateのjaにbbs.tplを作って <br />
{foreach from=$app.bbs item=data} <br />
名前:{if $data.mail}<a href=mailto:{$data.mail}>{/if}{$data.name}{if $data.mail}</a>{/if} 書き込み時刻{$data.datetime}<br> <br />
<font style="font-size:10pt;">{$data.comment|nl2br}</font><br><br> <br />
{/foreach} <br />
<br />
&lt;form action={$script} method=POST&gt;<br />
&lt;input type=hidden name=action value=bbs&gt;<br />
名前:&lt:input type=text name=nm&gt;<br />
メール:&lt;input type=text name=mail value={$form.mail}&gt;&lt;br&gt;<br />
コメント&lt;br&gt;<br />
&lt;textarea cols=70 rows=10 name=bd&gt;<br />
&lt;/textarea&gt;&lt;br&gt;<br />
&lt;input type=submit value=書き込み name=bbs&gt;<br />
<br />
BBS_Controllderの$forwardの中に <br />
'index' => array('forward_path' => 'bbs.tpl',), <br />
<br />
これで表示はできるようになった <br />
Smartyの説明は書かない <br />
<br />
class_nameとview_nameは別に要らない模様 <br />
<br />
さて書き込み処理だ <br />
<br />
appのactionの中に <br />
//DB書き込み処理 <br />
$db = & $this->backend->getDB(); <br />
$name = mb_convert_encoding($this->af->get('nm'), "UTF-8", "EUC-JP,SJIS"); <br />
$mail = $this->af->get('mail'); <br />
$body = mb_convert_encoding($this->af->get('bd'), "UTF-8", "EUC-JP,SJIS"); <br />
if($body||$name){ <br />
$result = & $db->query("INSERT INTO bbs VALUES('$name','$mail',NOW(),'$body')"); <br />
} <br />
return 'index';<br />
<br />
データベースがUTF-8<br />
表示がEUC-JPである事を想定している<br />
私の環境がそうなので<br />
<br />
名前が統一されてなかったり<br />
おかしな部分もあるかもしれないけど<br />
多めに見てくれ<br />
<br />
さて、このままではDBにアクセスするのに<br />
無駄があると思われるので<br />
次はDAO化に挑戦するとしよう]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1135</comments>
 <pubDate>Mon, 7 Aug 2006 00:26:27 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1134</guid>
 <title><![CDATA[Ethnaリターンズ#5 (データベースアクセスの幕開け)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1134</link>
<description><![CDATA[一気に第五版まで来てしまった<br />
<br />
Ethnaを使うための環境構築<br />
Ethnaの初歩の初歩<br />
Ethnaで作るHello World<br />
Ethnaでの入力処理<br />
<br />
と今まできてきた<br />
んで遂に5版な訳だが<br />
ここから先は掲示板の作り方を紹介する<br />
IO処理にはファイルではなく<br />
データベースを使わせてもらう<br />
折角のPHPなのにDBを使わない方法は勿体無い<br />
なのでfopenなんてのは使わない<br />
<br />
と、、、その前に復讐と行こうではないか<br />
おっと復讐ではない復習だ<br />
わかっててやってると思っても突っ込むな<br />
<br />
前からも述べたがSmartyについての<br />
説明は省く、何故か?<br />
面倒だからだ<br />
<br />
appディレクトリにコントローラファイルがある <br />
そこに記述する内容として <br />
-------------------------- <br />
表示を司るforward <br />
view_name = 表示する時に使うViewクラス <br />
forward_path = 使うテンプレ <br />
/?に連動するアクションクラス <br />
class_name = 使うアクションクラス <br />
------------------------- <br />
因みにこれらは省略できる模様 <br />
ただforward_pathは必要か <br />
<br />
*これらは全てappのapp_id_Controllerに記述する <br />
MVCのCの部分 <br />
<br />
出力はSmary奴隷 <br />
$this->af->setApp("向こうの名前", 変数)<br />
<br />
Okay?<br />
<br />
さて、お次はなんだ?<br />
掲示板と行こう<br />
その前にデータベースへの<br />
アクセス方法を、紹介する<br />
<br />
といっても、悩む必要はない<br />
やり方は極簡単だ<br />
まず、設定を済ませよう<br />
ここは手続きみたいで<br />
元VBユーザな私にとっては楽しい(いや一応まだ現役なんだけど・・・)<br />
<br />
海外旅行の際には出国する際も入国する際も<br />
パスポートがいる<br />
見せるだけという手続きと同じように単純だ<br />
<br />
etcにあるプロジェクト名がついてini.phpファイルを探そうか<br />
あったら開いて$config配列の中に<br />
'dsn' => 'mysql://ユーザ名:パスワード@接続先DBホスト名/データベース名',<br />
と記述する<br />
dsnはData Source Nameの略で道案内サービスではない<br />
<br />
mysqlはDBによって変えられる<br />
Postgreの場合はpgsql<br />
参考例<br />
ユーザ名はroot<br />
パスワードはpassword<br />
接続先はlocalhost<br />
データベース名はsample<br />
'dsn' => 'mysql://root:password@localhost/sample',<br />
<br />
これで大丈夫だ<br />
<br />
例えばさっき作ったLogin.php<br />
Viewディレクトリのね?<br />
を開こう<br />
<br />
こいつはtemplateのjaのLogin.tplに<br />
処理結果を表示している<br />
<br />
ここにデータベースアクセス処理を記述しよう<br />
DBにアクセスするにはEthnaのbackendを使う<br />
$db = & $this-&gt;backend=&gt;getDB();<br />
これでデータベースにアクセスできるようになる<br />
sampleデータベースのtestというテーブルにアクセスしてみよう<br />
$result = & $db-&gt;-query("SELECT * FROM `test`");<br />
SQL構文についても説明しない<br />
めんどうだからだ<br />
<br />
これで$resultに取得結果が返ってくる<br />
次にその中身をわかりやすく変数に入れよう<br />
$i=0;<br />
while($row[$i] = $result-&gt;fetchRow()){<br />
　　　$i++;<br />
}<br />
<br />
これで例えば初めのレコードの<br />
初めのフィールドをとりたい場合は<br />
$this-&gt;af-&gt;setApp($row[0][0]);<br />
で行ける<br />
<br />
更にデータ取得の場合は2種類の取得方法がある<br />
DB_FETCHMODE_ORDERED<br />
と<br />
DB_FETCHMODE_ASSOC<br />
だ<br />
<br />
前者はフィールドの順番毎に番号で<br />
後者はフィールド名そのままで返してくれる<br />
<br />
なのでフィールドごとの名前を連想配列に使いたい場合はASSOCを使おう<br />
使い方は<br />
while($row = $reuslt-&gt;fetchRow(DB_FETCHMODE_ASSOC))<br />
で行ける]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1134</comments>
 <pubDate>Mon, 7 Aug 2006 00:17:12 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1133</guid>
 <title><![CDATA[Ethnaリターンズ#4 (フォームの舞台を巡る)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1133</link>
<description><![CDATA[前回はHello Worldの出し方を紹介した<br />
次は一歩踏み込んでフォームを使ってみよう<br />
<br />
テーマは入力だ<br />
<br />
私は入力処理の習得の簡素の第一歩として<br />
税金を計算するプログラムをいつも<br />
どのような言語でも最初に作ってる<br />
<br />
まず、今回はテンプレートから作ろうか<br />
前回作ったlogin.tplを再利用しよう<br />
templateのjaにあるlogin.tplを開いて<br />
&lt;form action={$script} method=post&gt;<br />
&lt;input type=hidden name=action value=login_do&gt;<br />
&lt;input type=text name=tax&gt;<br />
&lt;input type=submit value=税込み&gt:<br />
&lt;/form&gt;<br />
と入力する<br />
<br />
税金なクセしてloginなのは本家に忠実だからだ<br />
気にしないでくれ<br />
<br />
続いてEthnaコマンドを使用して<br />
login_doファイルを生成する<br />
Ethna add-action login_do /ドキュメントルート/sample<br />
するとappのactionにLoginディレクトリができる<br />
更にそこにDo.phpというファイルも生成される<br />
<br />
Do.phpを開く<br />
$formの中に<br />
'tax' =&gt; array('name' =&gt; '税込み', 'required' =&gt; true, 'type' =&gt; VAR_TYPE_INT,),<br />
と入力し定義する<br />
<br />
次にperformの中に<br />
return 'login_do';<br />
return 'index'; //それぞれ遷移先を記述する<br />
$tax = $this-&gt;af-&gt;get('tax')*0.05;<br />
$tax = $tax + $this-&gt;af-&gt;get('tax');<br />
$this-&gt;af-&gt;setApp("tax", $tax);<br />
<br />
税込み価格は税率が5%だから5/100で0.05<br />
それに定価をかける<br />
そして出た結果を定価に足す<br />
<br />
そしてtemplateのjaにLoginというディレクトリを作って<br />
Do.tplを作成し<br />
{$app.tax}と書く<br />
後は/?action_login=trueにアクセスして好きな値段を書いて<br />
税込みを押すと結果が返ってくる<br />
例100&gt;105円<br />
<br />
ただ、税金を出すにはもってやりやすい方法があって<br />
定価*1.05とするだけで出てくる<br />
$this-&gt;af-&gt;setApp("tax", $this->af->get('tax')*1.05);<br />
だけでも答えがでてくるわけだ<br />
ブラボー!!!]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1133</comments>
 <pubDate>Sun, 6 Aug 2006 23:41:45 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1132</guid>
 <title><![CDATA[Ethnaリターンズ#3 (Hello Worldの野望)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1132</link>
<description><![CDATA[いよいよ、Hello Worldへと突入する<br />
<br />
ethna add-action login /web/sample<br />
でアクションファイルを生成し<br />
appのactionのLogin.phpを開く<br />
<br />
function performの中に<br />
return 'login';<br />
と書こう<br />
<br />
次にviewファイルを同じ要領で書き<br />
appのviewの中のLogin.phpを開く<br />
<br />
function preforwardの中に<br />
$this->af->setApp('test', 'Hello World');<br />
とか書いてみよう<br />
<br />
そしてtemplateのjaの中に<br />
Login.tplファイルを作成して<br />
{$app.test}とか書いて保存すれば<br />
Hello Worldの完成だ<br />
<br />
プロジェクトディレクトリ/?action_login=true<br />
としてみよう]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1132</comments>
 <pubDate>Sun, 6 Aug 2006 23:06:34 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1124</guid>
 <title><![CDATA[Ethnaリターンズ#2 (それはコントローラから始まった)]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1124</link>
<description><![CDATA[偉そうにサブタイつけてみる<br />
それもNHKの○○の○○のパクリみたいな<br />
タイトルで<br />
<br />
いきなりだが本題だ<br />
PEARでEthnaを入れると<br />
Ethnaコマンドが使える<br />
早速作業に取り組もう<br />
<br />
例えばSampleというプロジェクトを作るとする<br />
DocumentRootはwebとする<br />
Ethna add-project Sample /web<br />
ディレクトリがない場合は作るか?と聞かれる<br />
yと入力しよう<br />
<br />
気づいたら色々とファイルができているが<br />
そこら辺の説明は本家に書いてある<br />
<br />
早速コードを弄ろう<br />
/web/sample/app/Sample_Controller.phpを開く<br />
<br />
こっから重要なのが<br />
$actionと$forward<br />
<br />
$actionの配列内に<br />
<b>'index' => array('class_name' => 'Sample_Action_Index',),</b><br />
と書いてみよう<br />
<br />
これでappの中のactionディレクトリにある<br />
Sample_Action_Indexクラスと関連付けられる<br />
これはアクションが生じた時に処理が行われる<br />
<br />
次に$forwardだ<br />
$forwardの配列内に<br />
<b>'index' => array('view_name' => 'Sample_View_Index', 'forward_path' => 'index.tpl'),</b><br />
と書いてみよう<br />
これで、Viewディレクトリ内にある<br />
Sample_View_Indexと関連づけられて<br />
表示時にこの処理が実行される<br />
forward_pathで指定されるのは<br />
templateのjaの中のテンプレートファイル(Smarty経由で使用)となる<br />
<br />
ただ、view_nameとclass_nameは入力する必要がない<br />
という驚くべき事実]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1124</comments>
 <pubDate>Fri, 4 Aug 2006 23:27:12 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1123</guid>
 <title><![CDATA[Ethnaリターンズ#1]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1123</link>
<description><![CDATA[とりあえず、今までわかってきた<br />
Ethnaについての以下略称を以下略称<br />
<br />
<br />
いきなりEthnaを入れる前に<br />
Ethnaには側近がいるんだ<br />
それは賢いのかスリムなのかわからないが<br />
Smartyっていう奴と<br />
わたしがどうしてもピアと呼んでしまう梨、PEARだ<br />
PHP Extension Application Repositoryだったけ?<br />
<br />
両方を入れていざ鎌倉<br />
それとMySQLとかいれとこう<br />
ああ、Apacheとかは当然ね<br />
<br />
それらをphp.iniでinclude_pathして<br />
ここら辺の説明は省くね<br />
XAMPP使わない限りいくらでも<br />
導入説明があるし<br />
<br />
<br />
コードの書き始めは次のアイテムに渡す]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1123</comments>
 <pubDate>Fri, 4 Aug 2006 23:11:56 +0900</pubDate>
</item><item>
 <guid isPermaLink="true">http://blog.as-roma.com/psycho/index.php?itemid=1122</guid>
 <title><![CDATA[はじめに]]></title>
 <link>http://blog.as-roma.com/psycho/?itemid=1122</link>
<description><![CDATA[これはあなたのweblogにおける最初のアイテムです。自由に削除していただいてかまいません。<br />
<br />
いいえ、削除しません]]></description>
 <category>General</category>
<comments>http://blog.as-roma.com/psycho/?itemid=1122</comments>
 <pubDate>Fri, 4 Aug 2006 22:54:07 +0900</pubDate>
</item>
  </channel>
</rss>
