<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/ME2.2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Astrodeo</title>
	<link>http://astrodeo.com/blog</link>
	<description>WordPress ME 2.2 - Capriccioso</description>
	<pubDate>Wed, 15 Oct 2008 09:25:00 +0900</pubDate>
	<generator>http://wordpress.org/?v=ME2.2.3</generator>
	<language>ja</language>
			<item>
		<title>CakePHP1.2のビューキャッシュ(nocacheについて)</title>
		<link>http://astrodeo.com/blog/archives/168</link>
		<comments>http://astrodeo.com/blog/archives/168#comments</comments>
		<pubDate>Wed, 15 Oct 2008 16:18:53 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/168</guid>
		<description><![CDATA[ビューキャッシュを使うとかなりパフォーマンスが向上するらしい。
静的なページには物凄く簡単に使える。
使い方もすぐ出てくる。
core.phpのConfigure::write(&#8217;Cache.check&#8217;, true);にして、
使いたいコントローラで、ヘルパーにキャッシュを追加して、var $helpers = array(&#8217;Cache&#8217;);
var $cacheAction = array(&#8217;index&#8217; => 86400);って変数にアクションと保持する時間を決めてあげる。
問題は、キャッシュしたくない部分。
マニュアルを見ると、

&#60;h1&#62; New Products! &#60;/h1&#62;  
&#60;cake:nocache&#62;  
&#60;ul&#62;  
&#60;?php foreach($newProducts as $product): ?&#62;  
  &#60;li&#62;&#60;?php echo $product['name']; ?&#62;&#60;/li&#62;  
&#60;?php endforeach; ?&#62;  
&#60;/ul&#62;  
&#60;/cake:nocache&#62;  

&#60;cake:nocache&#62;で囲めばいいよと書いてあるだけ。
たしかに、出来るキャッシュファイルを見ると、囲った部分はこのまま残ってるから効いてるんだけど、
キャッシュがあるとアクションが呼ばれないので、上記の例だと$this->setで設定していた$newProductsがないのでエラーが出る。
じゃあどう値を取得すればいいのかなと思って、調べてみた。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/168/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP1.2のbeforeValidate</title>
		<link>http://astrodeo.com/blog/archives/167</link>
		<comments>http://astrodeo.com/blog/archives/167#comments</comments>
		<pubDate>Thu, 09 Oct 2008 16:33:04 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/167</guid>
		<description><![CDATA[beforeValidateなるコールバックメソッドがあった。
model内にあると、validateの直前に呼んでくれるようだ。
model内でvalidate前に値を加工したいときは便利。
$this->dataに値が入ってるので、加工する。

function beforeValidate() {

    // 処理    

    return true; // trueを返さないとsave時にエラーになる
}

]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/167/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP1.2のcounterCache</title>
		<link>http://astrodeo.com/blog/archives/166</link>
		<comments>http://astrodeo.com/blog/archives/166#comments</comments>
		<pubDate>Thu, 11 Sep 2008 23:11:17 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/166</guid>
		<description><![CDATA[1.1にもあったのかもしれないけど、1.2はModelにcounterCacheって便利な機能がある。
modelがアソシエーションしてるときに、model名_countってカラムを用意しといて、
bindModelのときに&#8217;counterCache&#8217; => trueを指定しとくと、勝手に数を数えて増減を登録してくれらしい。
詳しい説明はここにある。
使ってみたけど、たしかに便利。
でもこれを使ってると、bindModel($params, $reset = true)の$reset=falseが効かなくなるのね。
なので、うまくつかわないと$this->paginateが使えなくなっちゃうね。
※この記事参照
僕の書き方が悪かったんだけど、いきなり動かなくなるからあせった。
ソース読んでないからなんともいえないけど、両立する方法もあるのかな。
※追記
使いたいときだけ下記のようにmodel内でbindModelしてつかってた。

// model名_countをもつModelをバインドする
$this->bindModel(array('belongsTo'=>array('Model_blongsTo'=>array('className'=>'Model_blongsTo',
                                                 [...]]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/166/feed</wfw:commentRss>
		</item>
		<item>
		<title>PHPでXML宣言をすると画面が崩れた</title>
		<link>http://astrodeo.com/blog/archives/165</link>
		<comments>http://astrodeo.com/blog/archives/165#comments</comments>
		<pubDate>Mon, 08 Sep 2008 17:54:10 +0900</pubDate>
		<dc:creator>go</dc:creator>
		
		<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/165</guid>
		<description><![CDATA[HTMLコーディングしてて、ファイルをPHPにしてプレビューしたら、エラーが出たよ。

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\index.php on line 1

調べてみたら、どうやら一行目のXML宣言がまずかったみたい。

< ?xml version="1.0" encoding="utf-8"?>

こいつの？の部分をPHPが認識してしまって、エラーが起きるみたいだ。

< ?php echo ''; ?>

なので、echoで呼ぶようにしたら問題無く表示されました。
やはりデザイナーがPHPをいじると、しょうもない所でつまづくなぁ。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/165/feed</wfw:commentRss>
		</item>
		<item>
		<title>PHPでサイトのルートパスを取得する方法</title>
		<link>http://astrodeo.com/blog/archives/164</link>
		<comments>http://astrodeo.com/blog/archives/164#comments</comments>
		<pubDate>Mon, 08 Sep 2008 17:45:21 +0900</pubDate>
		<dc:creator>go</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/164</guid>
		<description><![CDATA[外部ファイルをincludeしたい場合に、絶対パスではなくて、サイトルートからのパスで取得したい場面に出くわしました。調べたら、PHPにはサイトのルートを返してくれる便利なものがあるんですね。

$_SERVER['DOCUMENT_ROOT']

こいつで一発でした。
覚えておこうっと。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/164/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHPのafterSave</title>
		<link>http://astrodeo.com/blog/archives/163</link>
		<comments>http://astrodeo.com/blog/archives/163#comments</comments>
		<pubDate>Tue, 26 Aug 2008 17:57:35 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/163</guid>
		<description><![CDATA[modelにafterSaveってメソッドを作っとくと、save後に自動で呼んでくれる。
今回は使わなかったからいいけど、パラメータを渡したい場合どうしたらいいのかが、いまいちよくわかんないな。
save時のidは、保持してるからそれを使ってなんとかしろってことかな。
idだけじゃなんともなら内場合は、変数に保持させとくしかないのか。
あとあんまり関係ないけど、model内で別のmodelを呼びたい場合は、リレーションにすると呼べるのね。

class ModelA extends AppModel {

       function test(){
              // いきなりこうかくとエラー
              $this->ModelB->find();
       }

       [...]]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/163/feed</wfw:commentRss>
		</item>
		<item>
		<title>長崎の雀荘WILD CATS</title>
		<link>http://astrodeo.com/blog/archives/161</link>
		<comments>http://astrodeo.com/blog/archives/161#comments</comments>
		<pubDate>Fri, 01 Aug 2008 22:09:38 +0900</pubDate>
		<dc:creator>go</dc:creator>
		
		<category><![CDATA[サイト発表]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/161</guid>
		<description><![CDATA[以前作ったNani-kiru.comを見た長崎の雀荘の方から、「何切るの要素を取り入れたHPを作って欲しい」と依頼がありました。
その依頼を受けて、出来たのがWILD CATS様の公式サイトです。

通常のHPとしての機能の他に、何切るのシステムを搭載しています。
Nani-kiru.comと違い、問題に対しての議論がしやすいように作られています。
また、プロ雀士の方や雀荘のスタッフが問題を投稿しているので、問題の質が高いです。もちろん一般の方の投稿も簡単に出来るようになっています。
東京に住んでいるので、一度もお会いする事なく制作を終えたのですが、なんとかなるものですね。インターネット超便利です。
長崎に行く機会があったら、絶対に行ってみたい雀荘です。
近くにお住まいの方は、ぜひ遊びに行ってみてください。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/161/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP1.2のラジオボタン</title>
		<link>http://astrodeo.com/blog/archives/159</link>
		<comments>http://astrodeo.com/blog/archives/159#comments</comments>
		<pubDate>Thu, 10 Jul 2008 19:17:11 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/159</guid>
		<description><![CDATA[1.2のformヘルパーのラジオボタンのメモ
こんな風に書くと

< ?php echo $form->radio('radio',array('0'=>'テスト0','1'=>'テスト1'));?>

こんな風になる。

Radio


テスト0

テスト1

hiddenが勝手にできるのはいいけど、Radioがジャマだった。

< ?php echo $form->radio('radio',array('0'=>'テスト0','1'=>'テスト1'),array('legend'=>false));?>

こうしたら消えてくれた。
間を空けたい場合はセパレータに空白でも渡してあげればいい。

< ?php echo $form->radio('radio',array('0'=>'テスト0','1'=>'テスト1'),array('legend'=>false,'separator'=>'　　'));?>

忘れそうだから自分用にメモ
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/159/feed</wfw:commentRss>
		</item>
		<item>
		<title>CakePHPのModelのcreate</title>
		<link>http://astrodeo.com/blog/archives/160</link>
		<comments>http://astrodeo.com/blog/archives/160#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:35:49 +0900</pubDate>
		<dc:creator>zuya</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/160</guid>
		<description><![CDATA[モデルにあるcreateメソッド。

if($this->Model->create($this->data) &#038;&#038; $this->Model->validates()){
}

こんな感じにいっつもコントローラーで使ってたんだけど、
createした時に、引数の配列になかったデータはDBのデフォルト値を勝手にいれてくれるんだね。
その処理では変更しないカラムが、勝手にデフォルト値に戻っててびっくりした。
引数にnullかfalseを渡せば、デフォルト値は入れないみたい。

$this->BaseInfo->create(false);
if($this->Model->set($this->data) &#038;&#038; $this->Model->validates()){
}

でもこう書くなら始めからsetだけでいいようなきもする。

if($this->Model->set($this->data) &#038;&#038; $this->Model->validates()){
}

validationErrorsとかidを初期化したい時はcreateしなきゃいけないのかな。
なんとなく使ってたけど、createをちゃんと調べないといかんなこれは。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/160/feed</wfw:commentRss>
		</item>
		<item>
		<title>本末転倒すぎる「ふせん機能」</title>
		<link>http://astrodeo.com/blog/archives/157</link>
		<comments>http://astrodeo.com/blog/archives/157#comments</comments>
		<pubDate>Fri, 04 Jul 2008 11:17:18 +0900</pubDate>
		<dc:creator>go</dc:creator>
		
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://astrodeo.com/blog/archives/157</guid>
		<description><![CDATA[はてなを見てたらこんな記事を見つけました。

「スターバックス　紙カップの秘密」
おお、面白そうだな。どういう秘密があるんだろう・・・。って思ってリンク先に飛んでみたら・・・

工エエェェ(´д｀)ェェエエ工
本文がまったく読めない・・・。
スターバックスの秘密が気になるのに！！！本文が「ふせん機能」に邪魔されて読めない・・・。しばらく迷って、「ふせんジャマ？」ボタンを発見しました。これを押したらふせんは消えたんですが・・・。
いやいやいや、これ、ジャマってレベルじゃないでしょ。だって肝心の本文が読めないんだから・・・。せめて本文の邪魔にならないようにふせんを配置するとかそういった配慮が無いと、面白い記事、人気の記事になればなるほど本文が読めなくなる可能性がありますよね。俺は「ふせんジャマ？」ボタンを見つけられたから良かったですが、見つけられない人とか、記事を開いた瞬間ブラウザバックで戻るユーザーも少なからずいるような・・・。
記事にふせんを貼るっていうアイディアやそれを実装している技術力はすごいと思いましたが、やはりコンテンツが命だと思うので、そのコンテンツを見えなくしてしまうというのはどうなのでしょうか。コンテンツよりもユーザーの意見、コメントを重視したいというのなら分るのですが、それだとしてもふせん自体も重複して貼れるので、それすらも読みにくいという・・・。
解決策を考えてみる
ふせん機能を維持したまま、ユーザービリティを極力下げないようにするにはどうすれば良いのかちょっと考えてみます。
まず、ユーザーがふせんの位置を自由に決められるってのが問題だと思います。好きな位置に貼れるから本文の上とかにも貼ってしまう。（機能面は想像です。使ってみようと思ったんですが、男子禁制らしいので諦めました・・・。）
なので表示される位置をあらかじめ指定しておくようにします。ふせんにコメントを書いて投稿すると、指定された位置に順番に表示される。これならコンテンツが隠れてしまう事が無い。いわゆる普通のブログのコメント機能ですね。本当にありがとうございました。
ま、好きな場所に貼れるっていう部分をどうしても残すというなら、時間が経つとフェードアウトするとか？でもこれだとそのコメントの意味が薄くなるなぁ。やっぱりコメント非表示ボタンをもっとわかりやすく表示させるとかが一番無難なのかなー。
せめてふせんの位置をドラッグアンドドロップで動かせると見やすくなるのに・・・。てかこの機能は実装されてると思ったので、直観でやってみたのですが、出来ませんでした。JSじゃなくてCSSでやってるのね。
あんまりいいアイディアが浮かびませんでしたが、やはり普通のブログのコメント機能が一番良いような気がします。
]]></description>
		<wfw:commentRss>http://astrodeo.com/blog/archives/157/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
