<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JiroBlog</title>
	<atom:link href="http://www.jirosoft.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jirosoft.com/wordpress</link>
	<description>ただのオヤジプログラマのブログ</description>
	<lastBuildDate>Sun, 07 Mar 2010 12:44:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPressVerUP</title>
		<link>http://www.jirosoft.com/wordpress/2010-03-07-147/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-03-07-147/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 12:40:29 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=147</guid>
		<description><![CDATA[やっとVer2.9.2にアップしました。
以前からアップデートの表示は出ていたのですが、自動アップデートは「ダウンロードしています。」の表示から動かなくなり断念していました。
プラグインのアップデートは問題なく動いていた [...]]]></description>
			<content:encoded><![CDATA[<p>やっとVer2.9.2にアップしました。</p>
<p>以前からアップデートの表示は出ていたのですが、自動アップデートは「ダウンロードしています。」の表示から動かなくなり断念していました。</p>
<p>プラグインのアップデートは問題なく動いていたのに、本体のバージョンアップだけがダウンロードうまくいかずの状態でした。<br />
ダウンロードするフォルダが違っていてパーミッションの問題が発生していたのかもしれません。</p>
<p>今回コードを表示するプラグインを導入しようと思い立ったのですが、どうも現状バージョンでは対応していないようなので重い腰を上げてバージョンアップしました。</p>
<p>まず、現状のデータベースをバックアップし、ローカルにダウンロードしておきました。またWordpress内のすべてのファイルをダウンロードしてローカルに確保。</p>
<p>その後、すべてのプラグイン動作を停止して、WordPressのマニュアルを参照しながら削除すべきフォルダやファイルを削除していきます。その後、ローカルにダウンロードしておいた最新版のzipファイルをFTPでアップロードした後コマンドラインから解凍しました。</p>
<p>その後ブラウザでwordpressのアドレス打って見るとデータベースの変更確認が出ましたのでYESで無事終了しました。</p>
<p>特に問題も起こらず、停止していたプラグインを有効化したら、以前と同様の動きになりました。</p>
<p>元ファイルとデータベースのバックアップをしっかり取っておけば、あまり心配することなくできるようです。</p>
<p><a href="http://wpdocs.sourceforge.jp/WordPress_%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89/%E8%A9%B3%E7%B4%B0">ワードプレスのアップグレード詳細</a></p>
<p>上記のページを参考に作業しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-03-07-147/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP覚書#4</title>
		<link>http://www.jirosoft.com/wordpress/2010-03-04-134/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-03-04-134/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 12:19:03 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=134</guid>
		<description><![CDATA[ひとつのモデルの中で関数を作成して簡単に利用したいと思ったのですが、結果を返す際に
他のモデルも参照しなくちゃいけなくなりました。
このあたりは、アソシエーションを使ったほうが良いのかもしれませんが、データベースの作成が [...]]]></description>
			<content:encoded><![CDATA[<p>ひとつのモデルの中で関数を作成して簡単に利用したいと思ったのですが、結果を返す際に<br />
他のモデルも参照しなくちゃいけなくなりました。<br />
このあたりは、アソシエーションを使ったほうが良いのかもしれませんが、データベースの作成がまずくて<br />
うまく出来そうに無いので、モデル内の関数で他のモデルを呼び出して見ました。</p>
<pre class="brush: php;">
$this-&gt;loadModel('ModelA');
</pre>
<p>これは、やはりダメでした。</p>
<p>importでmodelを呼び出して使うみたい。</p>
<pre class="brush: php;">App::import('Model','modelA');
$modelA = new modelA;
$modelA-&gt;find($conditions,null,$orders);
</pre>
<p>こんな感じでいいようです。さて今から検証。</p>
<p>検証の結果うまくいきました。上記App::import(&#8216;model&#8217;と小文字になっていたところを訂正。</p>
<p>モデルの中で他のモデル呼び出すって、ちょっと邪道かなという気もします。</p>
<p>componentあたりに関数作成したほうがいいかもしれませんね。</p>
<p>また、コントローラの中でusesでたくさんのモデル定義していると使わなくてもSQLが走っているようです。</p>
<p>基本になるモデルひとつだけusesで定義しておくか、$uses=null;にしておいて、必要なアクションで必要なモデルを</p>
<p>loadModelしたほうが良い気がしますね。</p>
<p>まだパフォーマンスを上げる段階ではないですが、一通り動作するようになれば、次はパフォーマンス向上が大事だと思います。</p>
<p>現在はWindowsXPの非力なマシン上でXampp環境でのテストですが、ファンが唸ってますからねw</p>
<p>本番では随分昔のDellサーバーに乗せる予定です。こっちも非力ですからね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-03-04-134/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery書籍購入</title>
		<link>http://www.jirosoft.com/wordpress/2010-03-04-127/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-03-04-127/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 05:44:32 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=127</guid>
		<description><![CDATA[たまたま、本屋に行く機会があったのでちょっと立ち読みしてたらjQueryの本を見つけました。
基本的な使い方はWebで調べると色々出てくるのですが、この本はサンプル集が多くて「メニュー」「グリッド」「ツールチップ」などが [...]]]></description>
			<content:encoded><![CDATA[<p>たまたま、本屋に行く機会があったのでちょっと立ち読みしてたらjQueryの本を見つけました。</p>
<p>基本的な使い方はWebで調べると色々出てくるのですが、この本はサンプル集が多くて「メニュー」「グリッド」「ツールチップ」などが</p>
<p>掲載されていたので思わず購入してしまいました。</p>
<p>プラグインの使い方はWebで調べるの結構面倒なんですよね。まあ、例に漏れずすべてのプロパティやアクションを紹介している</p>
<p>わけではないのですが、とりあえず使ってみるきっかけにはいいですよね。</p>
<p>それに、度忘れしちゃうことが多いので、さくっと引いてみて「ああ、そうだった。」って感じで使ってます。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jiroshomepag-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4883376494&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-03-04-127/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP覚書#3</title>
		<link>http://www.jirosoft.com/wordpress/2010-03-02-122/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-03-02-122/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 06:10:11 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=122</guid>
		<description><![CDATA[連想配列(modelの内容をDBからとってきたもの)の配列。要は複数レコードを入れた配列なんですが、
foreachで回して、項目を変更したのだけど、元の配列自体に変更が及んでいないようで、その後saveAllしても
D [...]]]></description>
			<content:encoded><![CDATA[<p>連想配列(modelの内容をDBからとってきたもの)の配列。要は複数レコードを入れた配列なんですが、</p>
<p>foreachで回して、項目を変更したのだけど、元の配列自体に変更が及んでいないようで、その後saveAllしても</p>
<p>DBに反映されていない。</p>
<p>for文で直接もとの配列を書き直してみよう。</p>
<pre class="brush: php;">foreach ($bs as $b){
	$b['model']['data'] = &quot;test&quot;;
}</pre>
<p>こういう風にすると「$bs」のなかみ$bs[0]['model']['data']は書き換えられなかった。</p>
<pre class="brush: php;">for ($i=0;$i&lt;count($bs);$i++){
	$bs[$i]['model']['data']=&quot;test&quot;;
}</pre>
<p>こうしたらうまく書き換えてくれた。</p>
<p>findなどでデータベースのレコードを取得する場合の条件の書き方でくだらないミス。</p>
<pre class="brush: php;">
$conditions = array('nenrei&gt;' =&gt; $nenrei);
</pre>
<p>フィールド名と比較演算子の間のスペース忘れると変なことになる。</p>
<pre class="brush: php;">where 'nenrei&gt;' = 1</pre>
<p>比較演算子がフィールド名の一部と誤認識される。つーか、空白で区切らないと当たり前のことですね。ww</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-03-02-122/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP覚書#2</title>
		<link>http://www.jirosoft.com/wordpress/2010-03-01-115/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-03-01-115/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 05:47:00 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=115</guid>
		<description><![CDATA[ちょっと複雑なデータ更新が必要になってきたので、トランザクションを調べることにした。
ひとつのテーブルで更新と追加が同時発生、他のテーブルでも同様という風に二つのテーブルにまたがる処理ですが
アソシエーションでは定義でき [...]]]></description>
			<content:encoded><![CDATA[<p>ちょっと複雑なデータ更新が必要になってきたので、トランザクションを調べることにした。</p>
<p>ひとつのテーブルで更新と追加が同時発生、他のテーブルでも同様という風に二つのテーブルにまたがる処理ですが</p>
<p>アソシエーションでは定義できないようなもの。</p>
<p>まずMySQLのテーブルがMyISAMだとロールバックしても効かないので使えない。InnoDBに変更が必要となる。</p>
<pre class="brush: php;">show table  status;</pre>
<p>で現状の確認をする。MyISAMで作っている既存テーブルもInnoDBに変更可能。</p>
<p>変更するには、phpMyAdminであればテーブルの「操作」で「ストレージエンジン」を「InnoDB」に変更して実行押すだけ。</p>
<pre class="brush: php;">alter table 'xxxx'  engine=InooDB;</pre>
<p>が実行された。もちろんコマンドラインから、これを打ってもOKです。</p>
<p>さてさて、begin()  commit()  rollback() をどこで定義しておくか。</p>
<p>必要なテーブルのモデルだけで定義しておいてもいいけど面倒ですね。思い切ってapp_modelに書いとけば全部のモデルで継承してくれますから、これでいいかな。</p>
<p>いつものように、cake以下は触らないお約束で、cake/libs/modelのなかのapp_model.phpをapp/models以下にコピーしておいて追加します。</p>
<pre class="brush: php;">
function begin() {
	$dbs = &amp; ConnectionManager::getDataSource($this-&gt;useDbConfig);
	$dbs-&gt;begin($this);
}

function commit() {
	$dbs = &amp; ConnectionManager::getDataSource($this-&gt;useDbConfig);
	$dbs-&gt;commit($this);

}

function rollback() {
	$dbs = &amp; ConnectionManager::getDataSource($this-&gt;useDbConfig);
	$dbs-&gt;rollback($this);

}
</pre>
<p>これで、モデルの関数になるのでモデル名-&gt;begin()とかで使えます。</p>
<p>2つのモデルを同時更新なら</p>
<pre class="brush: php;">
	ModelA-&gt;begin();

	ModelB-&gt;begin();

	処理ほにゃらら

	なんか問題あったら

	ModelA-&gt;rollback();

	ModelB-&gt;rollback();

	エラー無く終了。

	ModelA-&gt;commit();

	ModelB-&gt;commit();
</pre>
<p>こんな具合かな。それとsavaAllを使うときの注意もあった。saveAllの外側でトランザクション開始していてもループの途中でコミットされちゃうみたいです。対策としてはパラメータを追加しておくこと。</p>
<pre class="brush: php;">
ModelA-&gt;saveAll($datas ,array('atomic'=&gt;false);
</pre>
<p>こんなおまじないが必須だ。</p>
<p>追記:どうもModelA ModelB両方にbegin() rollback() commit()を行わなくても、ModelAだけやっておけば、両方に効力があるという記述を発見。まだ未検証です。</p>
<p><span style="color: #ff0000;">追記:<span style="color: #000000;">検証しました。</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">実行されたSQLも確認しましたが、どれかひとつのモデルでトランザクション操作しておけばOKです。</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-03-01-115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP覚書</title>
		<link>http://www.jirosoft.com/wordpress/2010-02-28-111/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-02-28-111/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 09:14:23 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=111</guid>
		<description><![CDATA[テーブルに追加しておいたcreatedとmodifiedの項目。
これらの項目を追加しておくと自動的に追加した際と更新した際にタイムスタンプが登録されるはずなのだが
modifiedの更新日時が書き換えられていない。スペ [...]]]></description>
			<content:encoded><![CDATA[<p>テーブルに追加しておいたcreatedとmodifiedの項目。</p>
<p>これらの項目を追加しておくと自動的に追加した際と更新した際にタイムスタンプが登録されるはずなのだが</p>
<p>modifiedの更新日時が書き換えられていない。スペルを間違ってるのかなと心配になりググって見たら</p>
<p>cakePHP1.2からはmodifiedの項目はdefault Nullにしていないと更新されないようなのでテストしてみる。</p>
<p>うまく動作しました。ただdefault値をヌルにしたらSQLエラーで怒られたけど、よく見たらヌルを許可してなかっただけでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-02-28-111/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP Vaildateプラグインにはまる</title>
		<link>http://www.jirosoft.com/wordpress/2010-02-26-105/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-02-26-105/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 05:12:48 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[Validate]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=105</guid>
		<description><![CDATA[cakePHP画面開発しております。
ちょっと複雑な画面になってきて、チェックボックスをコントロールしたり、複数条件でのバリデートが入ってきたので
jQueryとプラグインを活用しています。javascriptによるクラ [...]]]></description>
			<content:encoded><![CDATA[<p>cakePHP画面開発しております。<br />
ちょっと複雑な画面になってきて、チェックボックスをコントロールしたり、複数条件でのバリデートが入ってきたので</p>
<p>jQueryとプラグインを活用しています。javascriptによるクライアント側でのバリデートに便利なプラグインを導入しました。<br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">ダウンロードはこちらから</a></p>
<p>利用にはjQueryが必要です。jQueryは、ループが不要でDOM内のエレメントをIDやタグ、クラスで引っ張ってきて簡単に更新が出来て<br />
すごく便利です。書式も簡略化しているし、軽いのもいいですね。</p>
<p>さてvalidateプラグインを導入してフォーム内のバリデートを行うのですが、通常用意されているルールだけでは足りず<br />
addMethodを利用して複雑な条件を孵化してみたのですがなかなか動きません。</p>
<pre class="brush: jscript;">
//時刻大小チェックメソッド追加
jQuery.validator.addMethod(&quot;checkTime&quot;,
	function(value, element, params) {
		if(params[0]&amp;gt;params[1]){
			return true;
		} else {
			return this.optional(element);
		}
	},
		&quot;時刻の指定が間違っています。&quot;
	);
</pre>
<p>と書いて、時刻を選択するセレクトボックスの内容を渡すため</p>
<pre class="brush: jscript;">
rules: {
	'data[Clinic][fromJikan1]': {
		required: &quot;#ClinicJikantai0:checked&quot;,
		&quot;checkTime&quot;: [$(&quot;#ClinicFromJikan1&quot;).val(),$(&quot;#ClinicToJikan1&quot;).val()]
	},
</pre>
<p>という風にセレクトボックスのvalueを渡してみたのですが、firebugで確認するとparamsに何も入ってきません。<br />
昨夜はこれではまったままでした。</p>
<p>色々と調べた結果、どうもパラメータで渡せるのは単なる文字列だけみたいで、意味も無くfunctionの返値にしてみたりと<br />
あがいたけどどうもなりませんでした。</p>
<p>結局エレメントのIDを文字列で渡して、メソッド側で処理することで成功しました。</p>
<p>書き直したのはこんな感じ。</p>
<pre class="brush: jscript;">
jQuery.validator.addMethod(&quot;checkTime&quot;,
	function(value, element, params) {
		if (!$(params[2]).attr('checked')){return true;}
		if ($(params[0]).val() &amp;lt; $(params[1]).val())	{
			return true;
		} else {
			return this.optional(element);
		}
	},
	&quot;時刻の指定が間違っています。&quot;
);
</pre>
<p>セットする側は</p>
<pre class="brush: jscript;">
rules: {
	'data[Clinic][fromJikan1]': {
		required: &quot;#ClinicJikantai0:checked&quot;,
		&quot;checkTime&quot;: [&quot;#ClinicFromJikan1&quot;,&quot;#ClinicToJikan1&quot;,&quot;#ClinicJikantai0&quot;]
	},
</pre>
<p>てことで、無事動作しました。prams[2]にはチェックボックスのIDをいれて、ここにチェックが入ってなければバリデートしないように<br />
しました。</p>
<p>忘れないうちに自分で覚書。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-02-26-105/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP Debug-Kit導入</title>
		<link>http://www.jirosoft.com/wordpress/2010-02-23-101/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-02-23-101/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 13:38:48 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=101</guid>
		<description><![CDATA[cakePHP開発環境にAptanaを採用。デバッグツールとしてプラグインのDebugKitを使用する。]]></description>
			<content:encoded><![CDATA[<p>cakePHPを使ってテストサイトの製作にいそしんでおります。</p>
<p>当初はphpeditorやK2Editerを使って、php javascript cssなどのファイルをごしごしコーディングしていましたが、ひとつのファイルごとにWindowが開くし、コード補完も無いのでとても不便でした。<br />
MVCで組み立てていくので、ひとつの画面作成するにもconroller view layout などなどたくさん開かないといけません。なんか良いのは無いかなと検討した結果Aptanaを導入しました。</p>
<p>eclipseのプラグインとしてではなくスタンドアロン版を使っています。eclipseは以前入れていたのですがなぜか動作しなくなっていました。スタンドアロン版でも充分便利です。<br />
多少ですがコート補完があるとないとでは全然効率が違います。</p>
<p>IDEはやはり便利です。いくつもファイル開いても散らからなくて。しかし、コードウィンドの水平垂直分割が出来ないのが残念です。ひょっとしたら方法があるのかもしれませんが、見つけ切れていません。<br />
知ってる人がいたら教えて欲しいw。</p>
<p>ダウンロードは<a href=http://www.aptana.org/>こちら</a>から。<br />
日本語化はプレアデスのプラグインで簡単に出来ます。<br />
Aptana 日本語化でぐぐれば出てきます。</p>
<p>php対応はインストール後にプラグインの追加でこれも簡単ですよ。</p>
<p>さて本題のcakePHP Debug-Kitプラグインですが。これもダウンロードして解凍したソースを<br />
/app/plugins/に置くだけです。zipの中身をplugin配下にdebug-kitのディレクトリ作成して<br />
そこにコピーでOKです。</p>
<p>そのままテストすると動作しません。ここでちとはまりました。<br />
/app/controllers/app_controller.phpに以下のコンポーネント宣言を追加します。<br />
<code>public $components = array('DebugKit.Toolbar');</code></p>
<p>すでに何か追加していたら、DebugKitを付け加えてください。<br />
/qpp/controllersにapp_controller.phpが無い場合は(初期設定のままだとありません。)/cake/libs/controllerからコピーして書き換えてください。</p>
<p>このデバッグキットはdebugの値を2以上にすると表示されます。<br />
Sessionや変数、タイマーやメモリまで表示してくれて超便利です。これで開発が楽になりそうです。</p>
<p><a href=http://github.com/cakephp/debug_kit>ダウンロードDebugKit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-02-23-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHPをやってみる</title>
		<link>http://www.jirosoft.com/wordpress/2010-02-13-97/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-02-13-97/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 20:28:35 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=97</guid>
		<description><![CDATA[ご無沙汰してます。
随分長いことこのブログも放置状態でした。WordPressの方も現在は勉強ストップしてます。
ブログやCMSとして活用を考えていたのですが、他の仕事が忙しくて。
その中でMicroSoft系のWPFや [...]]]></description>
			<content:encoded><![CDATA[<p>ご無沙汰してます。<br />
随分長いことこのブログも放置状態でした。WordPressの方も現在は勉強ストップしてます。<br />
ブログやCMSとして活用を考えていたのですが、他の仕事が忙しくて。</p>
<p>その中でMicroSoft系のWPFやWCFを使う機会がありました。<br />
これもなかなか面白かったのですが、Windowsサーバーに依存しなければならない点が、やはり問題です。今回はC#を使ったのですがフレームワークを理解するのに時間がかかり大変でした。C#自体は、なかなか興味深い言語でしたがMVMVCという考え方は少し複雑すぎる気がしました。連結をなるべく疎にしたかったのですが、なかなかそうはならず。どうしても他の部分に依存する書き方になって悩みました。またSilverLightを使う案もあったのですが、まだ開発例が少ないしバグも多そうだったので従来のWPFをメインでクライアント開発しました。<br />
サーバー側の開発はすごく便利で簡単でしたが、クライアントはまだまだ発展途上の気がしました。ClickOnesで配布できるクライアントを使うほうがブラウザ依存よりも使い勝手は良いのですが利用対象が絞り込まれた場合でないと難しい面もあります。</p>
<p>Adobe Airも同様ですね。</p>
<p>また勉強する機会もあるかもしれません。</p>
<p>あたらしいASPを考えていたので、WordPressよりもフレームワークの勉強をしようと思い立ちcakePHPをはじめました。<br />
フレームワークとしてはZendなどのほうが良いのでしょうが、入りやすいということと、Zendも取り込めるので手始めとしてこれに決めました。</p>
<p>随分php触ってなかったので、なかなか思い出せずに苦労してます。こちらのMVCはシンプルでなかなか使いやすいです。最終的には画面UIはAjaxに頼ることになりそうですがその勉強もなかなか大変そうです。</p>
<p>サイトや本を買って勉強中ですが、やはり細かい部分は記述が言及していませんね。私のような初心者にもわかりやすいサイトが欲しいなあ。</p>
<p>調べてわかったことをブログにすこしづつアップして行こうと思ってます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-02-13-97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressのセキュリティ</title>
		<link>http://www.jirosoft.com/wordpress/2009-04-24-94/</link>
		<comments>http://www.jirosoft.com/wordpress/2009-04-24-94/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 20:11:27 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=94</guid>
		<description><![CDATA[Googleのインデックスを眺めていたら、/wp-content/wp-pluginの配下とかがインデックスされてる。
なんだか嫌ですよね。
これはrobots.txtに
Disallow: /wordpress/wp- [...]]]></description>
			<content:encoded><![CDATA[<p>Googleのインデックスを眺めていたら、/wp-content/wp-pluginの配下とかがインデックスされてる。</p>
<p>なんだか嫌ですよね。</p>
<p>これはrobots.txtに</p>
<blockquote><p>Disallow: /wordpress/wp-*<br />
Allow: /</p></blockquote>
<p>を書き込んで巡回させないようにしたんですが、ちょっと心配でもあります。</p>
<p>各フォルダの下に空のindex.htmlを置いておけばいいのですが、プラグイン入れるたびにしなくちゃいけませんね。</p>
<p> </p>
<p><a title="wp-security-scan" href="http://wordpress.org/extend/plugins/wp-security-scan/" target="_blank">wp-security-scan</a>をダウンロードして導入しました。</p>
<p>いつものようにダウンロードしたzipを解凍してpluginフォルダに転送、ダッシュボードのプラグインから有効化します。<br />
Securityのメニューが出てきます。</p>
<p>Initial ScanではWPのバージョンとか色々チェックしてくれています。</p>
<p>MySQLデータベースのWP関係テーブルのプレフィックスを「wp-」からほかのものに変えろといっている。</p>
<p>後は「admin」ユーザーの変更と削除。/wp-adminの下に.htaccessを置けとか。</p>
<p>まあ、これで少しはセキュアになったでしょう。</p>
<p>最近スパムコメントもぼちぼち出てきたので、こちらのプラグインも入れないと面倒になりそうです。</p>
<p> </p>
<p>mixiの投稿から来てくださる方が増えてうれしいです。</p>
<p>コメントとか相互リンクとかいただけると、もっとうれしいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2009-04-24-94/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
