<?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:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ryo.com &#187; php</title>
	<atom:link href="http://www.ryo.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryo.com</link>
	<description>by Ryosuke Hosoi</description>
	<pubDate>Thu, 20 Nov 2008 07:00:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>ja</language>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/tag/php/feed/" />
		<item>
		<title>XCache for WordPressでトラブル</title>
		<link>http://www.ryo.com/2008/03/02/419/</link>
		<comments>http://www.ryo.com/2008/03/02/419/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 14:32:23 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[cacher]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[xcache]]></category>

		<guid isPermaLink="false">http://www.ryo.com/2008/03/02/419/</guid>
		<description><![CDATA[
 photo credit: tyfn
PHPのcacherをAPCからXCacheに変えたついでに、XCache for WordPressを入れてみたんですが、微妙なトラブルが発生。
管理画面で投稿記事を編集して、 [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; margin-left: 1em"><a href="http://www.flickr.com/photos/tyfn/2295278615/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3132/2295278615_b186ae1c18_m.jpg" alt="Wordpress bag" title="Wordpress bag" border="0" /></a><br />
<small><a href="http://www.photodropper.com/creative-commons/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');" title="creative commons"><img src="http://www.ryo.com/wp-content/plugins/photo_dropper/images/cc.png" alt="Creative Commons License" align="middle" border="0" height="16" width="16" /></a> <a href="http://www.photodropper.com/photos/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');">photo</a> credit: <a href="http://www.flickr.com/photos/tyfn/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');" title="tyfn">tyfn</a></small></p>
<p>PHPのcacherを<a href="http://pecl.php.net/package/APC" onclick="javascript:pageTracker._trackPageview('/outbound/article/pecl.php.net');">APC</a>から<a href="http://xcache.lighttpd.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/xcache.lighttpd.net');">XCache</a>に変えたついでに、<a href="http://neosmart.net/dl.php?id=12" onclick="javascript:pageTracker._trackPageview('/outbound/article/neosmart.net');">XCache for WordPress</a>を入れてみたんですが、微妙なトラブルが発生。</p>
<p>管理画面で投稿記事を編集して、「保存して編集を続ける」を押すと、変更内容がリセットされちゃいます。</p>
<p>これは明らかにキャッシュが残っててクリアできてない・・・</p>
<p>どうやら「<a href="http://wordpress.rauru-block.org/index.php/1589" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.rauru-block.org');">WordPress チューニング (Rauru Blog)</a>」を見てその気になって、get_posts()の中にキャッシュに入れるコードを追加してたのが原因だったようで、そこを削除したら直りました。<br />
しかし、別にそこでキャッシュするのは悪いことじゃないので、edit時にキャッシュ更新orクリアをしてやるべきですね。<br />
まあ、あんまり勝手にいじるのは良くないなってことで、戻しておくことにしました。</p>
<p>しかしこのあたりのコード、あまりにも気になるのでsvn trunkのを見たのですが、かなり書き直されてるので2.5に期待しときます。<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
<li><a href="http://www.ryo.com/2008/03/10/440/"  title="WP-LightPopのテスト">WP-LightPopのテスト</a></li>
<li><a href="http://www.ryo.com/2008/03/07/434/"  title="WordPressのプラグインの実装でやるな！と思ったこと">WordPressのプラグインの実装でやるな！と思ったこと</a></li>
<li><a href="http://www.ryo.com/2008/03/04/422/"  title="WordPressのTinyMCEがdivをpに変換する問題">WordPressのTinyMCEがdivをpに変換する問題</a></li>
<li><a href="http://www.ryo.com/2008/02/27/400/"  title="All in One Adsense and YPNの修正">All in One Adsense and YPNの修正</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/03/02/419/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/03/02/419/" />
	</item>
		<item>
		<title>HTTP_ClientでリダイレクトされたときのURLがわからない</title>
		<link>http://www.ryo.com/2008/02/29/416/</link>
		<comments>http://www.ryo.com/2008/02/29/416/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 12:42:36 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[curl]]></category>

		<category><![CDATA[pear]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/2008/02/29/416/</guid>
		<description><![CDATA[
 photo credit: Mrs. Maze
pearのHTTP_Clientをいじってみたけど、リダイレクトされたときの実URLがわからない。

これじゃfeedやwebsiteの移転が追跡できないのだ。
引越先 [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; margin-left: 1em"><a href="http://www.flickr.com/photos/kmtucker/2240241396/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm3.static.flickr.com/2041/2240241396_a2f1a70f36_m.jpg" style="border-width: 0px; width: 240px; height: 155px" title="Simple. Good." alt="Simple. Good." border="0" height="155" width="240" /></a><br />
<small><a href="http://www.photodropper.com/creative-commons/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');" title="creative commons"><img src="http://www.ryo.com/wp-content/plugins/photo_dropper/images/cc.png" alt="Creative Commons License" align="middle" border="0" height="16" width="16" /></a> <a href="http://www.photodropper.com/photos/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');">photo</a> credit: <a href="http://www.flickr.com/photos/kmtucker/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');" title="Mrs. Maze">Mrs. Maze</a></small></p>
<p>pearの<a href="http://pear.php.net/package/HTTP_Client" onclick="javascript:pageTracker._trackPageview('/outbound/article/pear.php.net');">HTTP_Client</a>をいじってみたけど、リダイレクトされたときの実URLがわからない。<br />
<span id="more-416"></span><br />
これじゃfeedやwebsiteの移転が追跡できないのだ。<br />
引越先に連れて行ってくれるだけじゃなく、引越先の住所も教えて欲しいというわけ。</p>
<p>Clientオブジェクトをvar_dump()してみると、</p>
<pre class="code"> ["_defaultHeaders"]=&gt;array(1) {
  ["Referer"]=&gt;
  string(19) "http://www.ryo.com/"
}</pre>
<p>ってのがあるんで、これをつかってもいいんだけど、undocumentedなメンバ変数には触りたくないわけで・・・</p>
<p>これが<a href="http://php.net/curl" onclick="javascript:pageTracker._trackPageview('/outbound/article/php.net');">curl</a>なら、</p>
<pre class="code">curl_getopt($ch, CURLINFO_EFFECTIVE_URL)</pre>
<p>で、リダイレクトされたURLを得られる。<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
<li><a href="http://www.ryo.com/2008/02/19/374/"  title="CentOS4でphp-5.2.5のbuildにちょっと嵌った">CentOS4でphp-5.2.5のbuildにちょっと嵌った</a></li>
<li><a href="http://www.ryo.com/2008/02/10/371/"  title="WordPressのtable_prefix変更">WordPressのtable_prefix変更</a></li>
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/02/29/416/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/02/29/416/" />
	</item>
		<item>
		<title>このサイトで使用しているWordPressプラグイン一覧</title>
		<link>http://www.ryo.com/2008/02/27/405/</link>
		<comments>http://www.ryo.com/2008/02/27/405/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 12:39:02 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[ryo.com]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.ryo.com/2008/02/27/405/</guid>
		<description><![CDATA[
 photo credit: Ianiv &#38; Arieanna
このサイトで使用しているWordPressのプラグインをざっと紹介します。
WP-PluginsUsedというプラグイン一覧を生成するプラグインも [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; margin-left: 1em"><a href="http://www.flickr.com/photos/44124369050@N01/2289378141/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm3.static.flickr.com/2061/2289378141_dd19dd5b69_m.jpg" style="border-width: 0px; width: 240px; height: 160px" alt="DSC_2295" border="0" height="160" width="240" /></a><br />
<small><a href="http://www.photodropper.com/creative-commons/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');" title="creative commons"><img src="http://www.ryo.com/wp-content/plugins/photo_dropper/images/cc.png" alt="Creative Commons License" align="middle" border="0" height="16" width="16" /></a> <a href="http://www.photodropper.com/photos/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');">photo</a> credit: <a href="http://www.flickr.com/photos/ianivarieanna/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');" title="Ianiv &amp; Arieanna">Ianiv &amp; Arieanna</a></small></p>
<p>このサイトで使用しているWordPressのプラグインをざっと紹介します。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-pluginsused/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">WP-PluginsUsed</a>というプラグイン一覧を生成するプラグインもありますが、それは使わないで、軽く記事として書きますね。<br />
<span id="more-405"></span></p>
<h3><a href="http://eastcoder.com/code/wp-multibyte-patch" onclick="javascript:pageTracker._trackPageview('/outbound/article/eastcoder.com');">WP Multibyte Path</a></h3>
<p>WordPress のマルチバイト文字の取り扱い周りの不具合を解消してくれるプラグインです。<br />
メールやトラックバックなどでの文字化けを防いでくれるので、是非入れておきべきですね。</p>
<h3><a href="http://ideasilo.wordpress.com/2007/10/22/contact-form-7-in-japanese/" onclick="javascript:pageTracker._trackPageview('/outbound/article/ideasilo.wordpress.com');">Conract Form 7</a></h3>
<p>「<a href="http://www.ryo.com/about/contact/" >お問い合わせフォーム</a>」を実現するプラグインです。<br />
送信された問い合わせ内容は、設定したメールアドレスに転送されます。<br />
項目のカスタマイズが可能で、リストボックスをつくったりもできるので、WordPressでサイトを構築すれば、問い合わせフォームをわざわざ開発する必要はほとんど無くなったといえるでしょう。</p>
<h3><a href="http://www.laptoptips.ca/projects/tinymce-advanced/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.laptoptips.ca');">TinyMCE Advanced</a></h3>
<p>ビジュアルエディタのTinyMCEの高機能を提供してくれるプラグインです。<br />
エディタ内で実サイトのスタイルシートが適用されるので、よりWYSIWYG感が高くなります。</p>
<h3><a href="http://wordpress.org/extend/plugins/raw-html/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">Raw HTML</a></h3>
<p>記事の中に生HTMLやJavaScriptを埋め込みたいときに<br />
&lt;!&#8211;start_raw&#8211;&gt;&#8230;&lt;!&#8211;end_raw&#8211;&gt;<br />
と囲まれた範囲の中で、WordPressの文書整形をキャンセルしてくれるプラグインです。</p>
<h3><a href="http://www.photodropper.com/wordpress-plugin/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.photodropper.com');">Photo Dropper</a></h3>
<p>FlickrからCCライセンスの写真を検索し、本文中に埋め込むことの出来るプラグインです。<br />
写真は記事を書くモチベーションを与えてくれますね。</p>
<h3><a href="http://wordpress.org/extend/plugins/wordpress-23-related-posts-plugin/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">WP 2.3 Related Posts</a></h3>
<p>関連する（かもしれない）記事リンクを生成してくれるプラグインです。<br />
エディタで本文中に書くのではなく、wp23_related_posts();というテンプレートタグを記事テンプレートに入れることにより、全部勝手にやってくれます。</p>
<h3><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">All in One SEO Pack</a></h3>
<p>テーマファイルを修正することなく、HTMLのページタイトルや、METAタグによるdescriptionやkeywordの設定なんかの、細かいけど気になるSEO項目を、一気に引き受けてくれるプラグインです。</p>
<h3><a href="http://manalang.wordpress.com/wp-amazon/" onclick="javascript:pageTracker._trackPageview('/outbound/article/manalang.wordpress.com');">WP-Amazon</a></h3>
<p>amazonのアフィリエイトリンク作成に使ってます。<br />
最初日本のamazonに設定したら動かなくて、wp-amazon.phpの中で設定されているtldを「co.jp」から「jp」に変更たら動きました。</p>
<h3><a href="http://wordpress.org/extend/plugins/all-in-one-adsense-and-ypn/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">All in One Adsense and YPN</a></h3>
<p>Googleアドセンス広告の表示に使ってます。<br />
気に入ってるわけではないですが、楽なので。</p>
<h3><a href="http://www.joostdevalk.nl/wordpress/google-analytics/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.joostdevalk.nl');">Google Analytics for WordPress</a></h3>
<p>Google Analyticsのトラッキングコードを埋め込んでくれるプラグインです。<br />
テーマファイルにちょっと書けば済むようなことも、なるべくプラグインで済ましたいワケです。</p>
<h3><a href="http://www.arnebrachhold.de/redir/sitemap-home/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.arnebrachhold.de');">XML Sitemap Generator for WordPress</a></h3>
<p><a href="http://www.sitemaps.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sitemaps.org');">XML sitemap</a>を生成してくれるプラグインです。<br />
sitemapの生成だけでなく、GoogleやMSNなんかの検索エンジンに更新通知も送信してくれます。</p>
<h3>番外</h3>
<p><a href="http://www.ryo.com/bayarea/" >ベイエリアPlanet</a>や<a href="http://www.ryo.com/kyoto-ramen/" >京都ラーメンPlanet</a>は、自作プラグイン＋自作ページテンプレートで動いています。<br />
<a href="http://www.ryo.com/getsen/" >GetSenフォームインターフェース</a>と<a href="http://www.ryo.com/getsenreader/" >GetSen Reader</a>は、自作ページテンプレートの中で普通のphpプログラムが動いているという仕組み。<br />
WordPressのカスタマイズの自由度という意味では、ページテンプレートつくれば何でもできちゃいますね。もちろん、やり易いかどうかは別ですが。<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/03/10/440/"  title="WP-LightPopのテスト">WP-LightPopのテスト</a></li>
<li><a href="http://www.ryo.com/2008/03/07/434/"  title="WordPressのプラグインの実装でやるな！と思ったこと">WordPressのプラグインの実装でやるな！と思ったこと</a></li>
<li><a href="http://www.ryo.com/2008/03/04/422/"  title="WordPressのTinyMCEがdivをpに変換する問題">WordPressのTinyMCEがdivをpに変換する問題</a></li>
<li><a href="http://www.ryo.com/2008/02/27/400/"  title="All in One Adsense and YPNの修正">All in One Adsense and YPNの修正</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/02/27/405/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/02/27/405/" />
	</item>
		<item>
		<title>CentOS4でphp-5.2.5のbuildにちょっと嵌った</title>
		<link>http://www.ryo.com/2008/02/19/374/</link>
		<comments>http://www.ryo.com/2008/02/19/374/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 15:56:51 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[rpm]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=374</guid>
		<description><![CDATA[タイトルの通り、CentOS4.6でphp-5.2.5のbuildにちょっと嵌ったのでメモ
（FCからとってきたものベースの）RPMでのbuild-cgiで
ext/xsl/xsl.la
のところでlibtoolが
`/ [...]]]></description>
			<content:encoded><![CDATA[<p>タイトルの通り、CentOS4.6でphp-5.2.5のbuildにちょっと嵌ったのでメモ</p>
<p>（FCからとってきたものベースの）RPMでのbuild-cgiで<br />
ext/xsl/xsl.la<br />
のところでlibtoolが<br />
<code>`/usr/lib/libxml2.la' is not a valid libtool archive</code><br />
なんて吐いてこける。<br />
<span id="more-374"></span><br />
確かにlibxml2-develの中にも/usr/lib/libxml2.laなんてないし、いったい誰がそんなものをリンクしようとしているのかと思いきや<br />
<code>$ grep libxml2.la /usr/lib/lib*.la<br />
/usr/lib/libexslt.la:dependency_libs=' -lgcrypt -lgpg-error /usr/lib/libxslt.la -L/usr/lib /usr/lib/libxml2.la -lz -lpthread -lm'<br />
/usr/lib/libxslt.la:dependency_libs=' -L/usr/lib /usr/lib/libxml2.la -lz -lpthread -lm'</code><br />
/usr/lib/libxslt.laって何者？<br />
<code>$ rpm -qf /usr/lib/libexslt.la<br />
libxslt-devel-1.1.11-1</code><br />
公式パッケージでした。パッケージミスなのか？</p>
<p>しょうがないのでCentOS5.1からlibxslt-1.1.17-2.src.rpmをとってきてbuildしてインストール<br />
<code>$ grep libxml2.la /usr/lib/lib*.la<br />
(出力無し)<br />
</code><br />
というわけで直ってbuildに成功する予定なんで寝ます。</p>
<p>しかしパッケージミスとしたら、RedHatが直さないとCentOSも直らないってことになるのかなぁ？<br />
とりあえずそういうことはあまり深く考えずに、１ユーザーとして生きていこっと(笑)<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/03/25/456/"  title="logwatchからのメールがちゃんと来ない">logwatchからのメールがちゃんと来ない</a></li>
<li><a href="http://www.ryo.com/2005/11/08/124/"  title="xen@FC4安定稼働中">xen@FC4安定稼働中</a></li>
<li><a href="http://www.ryo.com/2008/11/17/659/"  title="続 エコぶってみる">続 エコぶってみる</a></li>
<li><a href="http://www.ryo.com/2008/10/27/636/"  title="ubuntu8.10リリース直前のubuntu8.04インストールメモ">ubuntu8.10リリース直前のubuntu8.04インストールメモ</a></li>
<li><a href="http://www.ryo.com/2008/10/17/621/"  title="ubuntuインストール前の準備:USBメモリにインストーラーを用意">ubuntuインストール前の準備:USBメモリにインストーラーを用意</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/02/19/374/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/02/19/374/" />
	</item>
		<item>
		<title>WordPressのtable_prefix変更</title>
		<link>http://www.ryo.com/2008/02/10/371/</link>
		<comments>http://www.ryo.com/2008/02/10/371/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 16:24:35 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=371</guid>
		<description><![CDATA[Wordpressのwp-config.phpで設定する $table_prefix ですが、これを運用途中で変更すると管理画面にログインできなくなる可能性があります。

英語版と日本語版のある某サイトでWordpres [...]]]></description>
			<content:encoded><![CDATA[<p>Wordpressのwp-config.phpで設定する $table_prefix ですが、これを運用途中で変更すると管理画面にログインできなくなる可能性があります。<br />
<span id="more-371"></span><br />
英語版と日本語版のある某サイトでWordpressのデータベースを引越したのですが、そのとき<br />
MYDB_en<br />
MYDB_ja<br />
という二つのMySQLデータベースを使うようになっていたので、MYDBに一本化し、table_prefixを &#8216;wp_&#8217; からそれぞれ &#8216;ja_&#8217; と &#8216;en_&#8217; に変更しようとして少し嵌りました。</p>
<p>データベースの引越とテーブル名の変更は、同一マシン上ですから<br />
<code>RENAME TABLE MYDB_ja.wp_users TO MYDB.ja_users;</code><br />
なんてデータベースをまたいでテーブルをrenameするというMySQLならではの荒技で簡単に出来たのですが、これだけでは不十分でした。</p>
<p>ja_options.option_name<br />
ja_usermeta.meta_key<br />
こいつらの中に &#8216;wp_&#8217;で始まる値が残っており、それらも更新してやる必要があったのです</p>
<p><code>select option_name from ja_options where option_name like 'wp_%';</code><br />
だとか<br />
<code>select meta_key from ja_usermeta where meta_key like 'wp_%';</code><br />
だとかで調べて、必要に応じて<br />
<code>update ja_options set option_name = 'ja_user_roles' where option_name = 'wp_user_roles';</code><br />
だとか<br />
<code>update ja_usermeta set meta_key= 'ja_capabilities' where meta_key= 'wp_capabilities';</code><br />
だとかで更新してやると、ちゃんと動くようになりました（もちろん、en_の方も同様に）。</p>
<p># table_prefixをkeyに使うなよ！って気はしますが、そうなってしまってるものは仕方ないわけです<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
<li><a href="http://www.ryo.com/2005/05/31/36/"  title="カンニングペーパー">カンニングペーパー</a></li>
<li><a href="http://www.ryo.com/2008/03/28/458/"  title="どう考えてもdel.icio.usのdaily blog postingが止まってる">どう考えてもdel.icio.usのdaily blog postingが止まってる</a></li>
<li><a href="http://www.ryo.com/2008/03/10/440/"  title="WP-LightPopのテスト">WP-LightPopのテスト</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/02/10/371/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/02/10/371/" />
	</item>
		<item>
		<title>phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</title>
		<link>http://www.ryo.com/2008/01/24/367/</link>
		<comments>http://www.ryo.com/2008/01/24/367/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 02:33:38 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=367</guid>
		<description><![CDATA[php.net/の後ろにキーワードを続けて入力するだけだぜ
例)
php.net/htmlspecialchars
php.net/PDO
php.net/splice
関連記事

コード書きをするとブログ書く時間が全く [...]]]></description>
			<content:encoded><![CDATA[<p>php.net/の後ろにキーワードを続けて入力するだけだぜ</p>
<p>例)<br />
<a href="http://php.net/htmlspecialchars" onclick="javascript:pageTracker._trackPageview('/outbound/article/php.net');">php.net/htmlspecialchars</a><br />
<a href="http://php.net/PDO" onclick="javascript:pageTracker._trackPageview('/outbound/article/php.net');">php.net/PDO</a><br />
<a href="http://php.net/splice" onclick="javascript:pageTracker._trackPageview('/outbound/article/php.net');">php.net/splice</a></p>
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2007/08/24/343/"  title="コード書きをするとブログ書く時間が全く無い">コード書きをするとブログ書く時間が全く無い</a></li>
<li><a href="http://www.ryo.com/2007/08/11/342/"  title="PDOがPDOExceptionを投げてくれない件">PDOがPDOExceptionを投げてくれない件</a></li>
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2006/07/17/246/"  title="PHP-gettext(wordpressに入ってたヤツ)">PHP-gettext(wordpressに入ってたヤツ)</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/01/24/367/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/01/24/367/" />
	</item>
		<item>
		<title>コード書きをするとブログ書く時間が全く無い</title>
		<link>http://www.ryo.com/2007/08/24/343/</link>
		<comments>http://www.ryo.com/2007/08/24/343/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 18:07:49 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=343</guid>
		<description><![CDATA[この数週間ひさしぶりにphpでコーディングをしてたら、さっぱりブログを書く時間がなくなりました
PHPUnitで単体テストしまくりなので、時間が出来たら使い方記事でも書こうかと思ったけど、http://phpunit.d [...]]]></description>
			<content:encoded><![CDATA[<p>この数週間ひさしぶりにphpでコーディングをしてたら、さっぱりブログを書く時間がなくなりました<br />
PHPUnitで単体テストしまくりなので、時間が出来たら使い方記事でも書こうかと思ったけど、<a href="http://phpunit.de/" onclick="javascript:pageTracker._trackPageview('/outbound/article/phpunit.de');">http://phpunit.de/</a>がしょっちゅー繋がらなくなりますな・・・<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
<li><a href="http://www.ryo.com/2007/08/11/342/"  title="PDOがPDOExceptionを投げてくれない件">PDOがPDOExceptionを投げてくれない件</a></li>
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2006/07/17/246/"  title="PHP-gettext(wordpressに入ってたヤツ)">PHP-gettext(wordpressに入ってたヤツ)</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2007/08/24/343/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2007/08/24/343/" />
	</item>
		<item>
		<title>PDOがPDOExceptionを投げてくれない件</title>
		<link>http://www.ryo.com/2007/08/11/342/</link>
		<comments>http://www.ryo.com/2007/08/11/342/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 05:51:57 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[pdo]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=342</guid>
		<description><![CDATA[PHP5だからってことでせっかくPDOを使ってるのに、全然PDOExceptionを投げてくれない！
errorCode()とかerrorInfo()なんてメソッドつかってたら、結局pgsql関数使ってるときと一緒じゃん [...]]]></description>
			<content:encoded><![CDATA[<p>PHP5だからってことでせっかくPDOを使ってるのに、全然PDOExceptionを投げてくれない！<br />
errorCode()とかerrorInfo()なんてメソッドつかってたら、結局pgsql関数使ってるときと一緒じゃん！<br />
と嘆いていたのは僕ですが、<br />
<code>$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)</code><br />
てやっとけばいいみたい。<br />
@see <a href="http://php.net/manual/ja/function.PDO-setAttribute.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/php.net');">PDO->setAttribute()</a></p>
<p>これで</p>
<blockquote><p>PDO のエラーコードは、SQL-92 の SQLSTATE エラーコード文字列に 標準化されています。 ネイティブのコードを適切な SQLSTATE コードに変換するのは、個々の PDO ドライバの仕事となります。</p></blockquote>
<p>こういう恩恵をたっぷり受けることができる！（ホント？）<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
<li><a href="http://www.ryo.com/2007/08/24/343/"  title="コード書きをするとブログ書く時間が全く無い">コード書きをするとブログ書く時間が全く無い</a></li>
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2006/07/17/246/"  title="PHP-gettext(wordpressに入ってたヤツ)">PHP-gettext(wordpressに入ってたヤツ)</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2007/08/11/342/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2007/08/11/342/" />
	</item>
		<item>
		<title>XML_Feed_Parserでdc:subject要素を読み込む</title>
		<link>http://www.ryo.com/2007/08/02/340/</link>
		<comments>http://www.ryo.com/2007/08/02/340/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 06:23:55 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[feed]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=340</guid>
		<description><![CDATA[はてブからdel.icio.usに移行したのですが、両方APIが公開されているおかげで移行が楽チンでした。
移行スクリプトは勉強のために（？）pythonで書こうかと思ったのですが、また今月は仕事でphpを書くことになっ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://b.hatena.ne.jp/rhosoi/" onclick="javascript:pageTracker._trackPageview('/outbound/article/b.hatena.ne.jp');">はてブ</a>から<a href="http://del.icio.us/rhosoi" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');">del.icio.us</a>に移行したのですが、両方APIが公開されているおかげで移行が楽チンでした。</p>
<p>移行スクリプトは勉強のために（？）pythonで書こうかと思ったのですが、また今月は仕事でphpを書くことになったので、しばらくphp漬けになるためにもphpで書くことに(笑)<br />
<span id="more-340"></span><br />
しかし少しこまったのが、はてブのfeedの仕様ではtagがdc:subjectという要素で表現されており、phpでよく使われているmagpieRSSやPEARのXML_RSSだと、複数の要素が連結されたテキストとして取り出されてしまい、tagをちゃんと取り扱えないという問題がありました。</p>
<p>PEARの<a href="http://pear.php.net/package/XML_Feed_Parser" onclick="javascript:pageTracker._trackPageview('/outbound/article/pear.php.net');">XML_Feed_Parser</a>を使うと、dc:subjectなどの拡張名前空間の要素もちゃんとparseすることができます。</p>
<p><a href="http://pear.php.net/manual/en/package.xml.xml-feed-parser.extensions.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/pear.php.net');">PEARのドキュメント</a>にもサンプルがありますが、entryからmodelを取り出し、getElementsByTagNameNSというメソッドで要素郡を取り出します。</p>
<p>entryからmodelを取り出す<br />
<code>$model = $entry-&gt;model;</code><br />
＊ここで$entry-&gt;linkや$entry-&gt;titleはそのまま使える状態</p>
<p>要素郡の取り出し<br />
<code>$subjects = $model-&gt;getElementsByTagNameNS('http://purl.org/dc/elements/1.1/', 'subject');</code><br />
＊もちろんnamespaceや要素名は正確である必要があります</p>
<p>取り出した要素郡に対してはnodeValueをつかって中身にアクセスします<br />
<code>foreach ($subjects as $subject) {<br />
    print $subject->nodeValue."\n";<br />
}</code></p>
<p>こんな高機能なparserがあると、RSSかかってこいやー！って気になれそうです。<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2007/05/14/319/"  title="MagpieRSSが嫌われた？">MagpieRSSが嫌われた？</a></li>
<li><a href="http://www.ryo.com/2005/06/10/52/"  title="GetSenでRSS/ATOMフィードを流し読み">GetSenでRSS/ATOMフィードを流し読み</a></li>
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2007/08/02/340/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2007/08/02/340/" />
	</item>
		<item>
		<title>MagpieRSSが嫌われた？</title>
		<link>http://www.ryo.com/2007/05/14/319/</link>
		<comments>http://www.ryo.com/2007/05/14/319/#comments</comments>
		<pubDate>Mon, 14 May 2007 13:17:28 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[feed]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=319</guid>
		<description><![CDATA[ベイエリアPlanetに追加したHAKさんのMy life as an APEというサイト、実は登録依頼は先月にあって、フィードはすぐ追加したんだけどなぜかfetchがうまくできてなかったのです。
引越しの忙しさもあって [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ryo.com/bayarea/" >ベイエリアPlanet</a>に追加した<a href="http://hak.wablog.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/hak.wablog.com');">HAKさんのMy life as an APE</a>というサイト、実は登録依頼は先月にあって、フィードはすぐ追加したんだけどなぜかfetchがうまくできてなかったのです。</p>
<p>引越しの忙しさもあって、なかなか調べられなかったんだけど、どうやら<a href="http://wablog.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wablog.net');">wablog</a>がMagpieRSSからのアクセスに対して403 Forbiddenを返してるということが判明！</p>
<p>wablogに連絡して理由をきいてみたい気もしたんだけど、変なアクセスポリシーもまぁ人それぞれだろうなってことで、MagpieRSSをrequireする前に<br />
<code>define('MAGPIE_USER_AGENT', 'Mozilla/4.0 (compatible; rss_fetch;)');</code><br />
ってしておくことにしました。<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2007/08/02/340/"  title="XML_Feed_Parserでdc:subject要素を読み込む">XML_Feed_Parserでdc:subject要素を読み込む</a></li>
<li><a href="http://www.ryo.com/2005/06/10/52/"  title="GetSenでRSS/ATOMフィードを流し読み">GetSenでRSS/ATOMフィードを流し読み</a></li>
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2007/05/14/319/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2007/05/14/319/" />
	</item>
		<item>
		<title>テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</title>
		<link>http://www.ryo.com/2006/08/07/251/</link>
		<comments>http://www.ryo.com/2006/08/07/251/#comments</comments>
		<pubDate>Tue, 08 Aug 2006 05:13:48 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=251</guid>
		<description><![CDATA[mixiに機能要望の投票とトラッキングがついたらしいので、個人ごとにタイムゾーン設定できるようにってのに投票しました。
# 現時点で評価は 良い94/悪い4　なんだけど、いつになったら検討されるのかさっぱり謎です。
で、 [...]]]></description>
			<content:encoded><![CDATA[<p>mixiに機能要望の投票とトラッキングがついたらしいので、<a href="http://d2.mixi.jp/view_idea.pl?id=1691" onclick="javascript:pageTracker._trackPageview('/outbound/article/d2.mixi.jp');">個人ごとにタイムゾーン設定できるように</a>ってのに投票しました。<br />
# 現時点で評価は 良い94/悪い4　なんだけど、いつになったら検討されるのかさっぱり謎です。</p>
<p>で、他にどんな面白い要望があるんだろうかとブラウズしたりして、ふと<a href="http://d2.mixi.jp/search_idea.pl?status=4&#038;category_id=0&#038;order=0&#038;" onclick="javascript:pageTracker._trackPageview('/outbound/article/d2.mixi.jp');">実装済のところ</a>を見てみると、ＸＳＳ脆弱性の修正が並んでる・・・<br />
しかも、「mixi機能要望におけるXSSの問題を根本的に修正してほしい」なんてのを筆頭に、最近リリースされてる機能にも平気でＸＳＳ脆弱性があった模様。</p>
<p>いまどきリリースされるwebアプリでも、XSS脆弱性はゴロゴロしてるのね。<br />
まあ、そこらのサンプルコードや入門書にXSS脆弱性やSQLインジェクションがゴロゴロしてるのは知ってましたが、mixiでリリースされてるアプリケーションでも未だにゴロゴロしてるとは、ちょっとびっくりです。</p>
<p>mixiのシステムはおいといて、ふと思ったのが「テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？」ってこと。</p>
<p>DBなどに入力値をそのまま持っておく設計（極めてフツーだけど）のwebアプリケーションだと、たとえばsmartyなら、HTMLを保存しているもの以外の全ての変数表示項目で{$hogehoge|escape}として、エスケープする必要があります。<br />
「ちゃんとエスケープしろよ」といっちゃえばそれまでなのですが、テンプレートってのはwebデザイナーさんもいじることがあるわけで、webデザイナーさんがescapeを忘れちゃったり間違えて取っちゃったりする可能性ってのは十分あるわけです。</p>
<p>このあたりの危うさを考慮すると、テンプレートシステムではデフォルトでエスケープするほうが安全だし、コードの量も減るでしょうね。</p>
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
<li><a href="http://www.ryo.com/2007/08/24/343/"  title="コード書きをするとブログ書く時間が全く無い">コード書きをするとブログ書く時間が全く無い</a></li>
<li><a href="http://www.ryo.com/2007/08/11/342/"  title="PDOがPDOExceptionを投げてくれない件">PDOがPDOExceptionを投げてくれない件</a></li>
<li><a href="http://www.ryo.com/2006/07/17/246/"  title="PHP-gettext(wordpressに入ってたヤツ)">PHP-gettext(wordpressに入ってたヤツ)</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2006/08/07/251/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2006/08/07/251/" />
	</item>
		<item>
		<title>PHP-gettext(wordpressに入ってたヤツ)</title>
		<link>http://www.ryo.com/2006/07/17/246/</link>
		<comments>http://www.ryo.com/2006/07/17/246/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 05:33:43 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[gettext]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=246</guid>
		<description><![CDATA[すごくひさしぶりにPHPのプログラムをまとめて書くことになり、PHPでgettextを使うってのを、いい機会なので調べてみました。
gettextエクステンション無しで直接MOファイルを読み込むPHP-gettextライ [...]]]></description>
			<content:encoded><![CDATA[<p>すごくひさしぶりにPHPのプログラムをまとめて書くことになり、PHPでgettextを使うってのを、いい機会なので調べてみました。</p>
<h3>gettextエクステンション無しで直接MOファイルを読み込むPHP-gettextライブラリ</h3>
<p>このサイトでも使っているWordpressというブログアプリケーションでは、gettextのMO filesを読み込むのに<a href="http://savannah.nongnu.org/projects/php-gettext/" onclick="javascript:pageTracker._trackPageview('/outbound/article/savannah.nongnu.org');">PHP-gettext</a>というライブラリが使われています。</p>
<p>このライブラリをつかった場合の特徴としては、直接MOファイルを読むライブラリなので・・・</p>
<ul>
<li><strong>&#8211;with-gettext</strong>つきでコンパイルしてないPHPでもMOファイルを読み込むことができる</li>
<li>もちろん、LOCALEを使わなくてもgettextの恩恵を受けることができる</li>
<li>当然、あの深いディレクトリ構造（BASE/${locale}/LC_MESSAGES/${domain}.mo）と戯れなくてすむ</li>
</ul>
<p>Wordpressのソースの中から、<a href="http://savannah.nongnu.org/projects/php-gettext/" onclick="javascript:pageTracker._trackPageview('/outbound/article/savannah.nongnu.org');">PHP-gettext</a>の成果物でありwp-includes/の下にある<a href="http://trac.wordpress.org/browser/branches/2.0/wp-includes/gettext.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.wordpress.org');">gettext.php</a>と<a href="http://trac.wordpress.org/browser/branches/2.0/wp-includes/streams.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.wordpress.org');">streams.php</a>をincludeしている<a href="http://trac.wordpress.org/browser/branches/2.0/wp-includes/wp-l10n.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.wordpress.org');">wp-l10n.php</a><br />
を読めば、使い方はすぐにわかると思います。<br />
このwp-l10n.phpでは、<abbr title="アンダースコア1個">_()</abbr>ではなく<abbr title="アンダースコア２個">__()</abbr>と<abbr title="アンダースコア１個とeでエコーする">_e()</abbr>という関数を用意しています。アンダースコア１個の関数を定義しようとすると、gettextエクステンションが組み込まれたPHPでコケてしまうので、素直にこの方法に従っておくのが吉ですね。</p>
<h3>PHPでgettextしたい！って人のための参考リンク</h3>
<ul>
<li><a href="http://home.catv.ne.jp/pp/ginoue/memo/gettext.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/home.catv.ne.jp');">gettext memo</a></li>
<li><a href="http://blog.poyo.jp/archives.php/categ-1/year-2006/month-4/id-1145244732" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.poyo.jp');">PHPでメッセージカタログはgettextしかありえないでしょ　 (よくきたblog)</a>
</li>
<li><a href="http://blog.poyo.jp/archives.php/categ-1/year-2006/month-5/id-1145599387" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.poyo.jp');">PHPでメッセージカタログはgettextしかありえないでしょ(何故gettextか?編) 　(よくきたblog)</a>
</li>
<li><a href="http://labs.unoh.net/2006/06/5_php_web_2.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/labs.unoh.net');">5分でわかる PHP で書かれた Web サービスの国際化(その2) (ウノウラボ Unoh Labs)</a>
</li>
</ul>
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
<li><a href="http://www.ryo.com/2007/08/24/343/"  title="コード書きをするとブログ書く時間が全く無い">コード書きをするとブログ書く時間が全く無い</a></li>
<li><a href="http://www.ryo.com/2007/08/11/342/"  title="PDOがPDOExceptionを投げてくれない件">PDOがPDOExceptionを投げてくれない件</a></li>
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2006/07/17/246/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2006/07/17/246/" />
	</item>
		<item>
		<title>phpなweb開発者はストロング読め</title>
		<link>http://www.ryo.com/2005/12/16/159/</link>
		<comments>http://www.ryo.com/2005/12/16/159/#comments</comments>
		<pubDate>Fri, 16 Dec 2005 11:50:36 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=159</guid>
		<description><![CDATA[MLや雑誌などで活躍されてるかなだまさかつさんのおさかなラボ(kaede.to)
php使うweb開発者は読むべし！です
# 何故か今日まで存在に気がつかなかったのですがものすごくお勧め
関連記事

phpのマニュアルを [...]]]></description>
			<content:encoded><![CDATA[<p>MLや雑誌などで活躍されてるかなだまさかつさんの<a href="http://kaede.to/~canada/doc/" onclick="javascript:pageTracker._trackPageview('/outbound/article/kaede.to');">おさかなラボ(kaede.to)</a><br />
php使うweb開発者は読むべし！です</p>
<p># 何故か今日まで存在に気がつかなかったのですがものすごくお勧め<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/01/24/367/"  title="phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）">phpのマニュアルを検索したい？アドレスバーに入力しよう（ブラウザ不問）</a></li>
<li><a href="http://www.ryo.com/2007/08/24/343/"  title="コード書きをするとブログ書く時間が全く無い">コード書きをするとブログ書く時間が全く無い</a></li>
<li><a href="http://www.ryo.com/2007/08/11/342/"  title="PDOがPDOExceptionを投げてくれない件">PDOがPDOExceptionを投げてくれない件</a></li>
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2006/07/27/247/"  title="&lt;noscript&gt;の使い方">&lt;noscript&gt;の使い方</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/12/16/159/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/12/16/159/" />
	</item>
		<item>
		<title>PHPからGoogle Baseにポストする</title>
		<link>http://www.ryo.com/2005/12/03/152/</link>
		<comments>http://www.ryo.com/2005/12/03/152/#comments</comments>
		<pubDate>Sat, 03 Dec 2005 22:36:55 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[googlebase]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=152</guid>
		<description><![CDATA[「Google Baseが動いてますね」で
今までのclassfiedサイトがAPIでGoogle Baseに対応すれば、ユーザーはカンタンに両方にpostすることができるわけで、さらに情報は今まで以上に検索されやすくな [...]]]></description>
			<content:encoded><![CDATA[<p>「<a href="http://www.ryo.com/2005/11/16/133/" >Google Baseが動いてますね</a>」で</p>
<blockquote><p>今までのclassfiedサイトがAPIでGoogle Baseに対応すれば、ユーザーはカンタンに両方にpostすることができるわけで、さらに情報は今まで以上に検索されやすくなるわけで、情報を適切に広げたいと思うユーザーにとっては、これはとってもイイことだと思います。</p></blockquote>
<p>と書いたのですが、<a href="http://www.phpbase.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.phpbase.org');">PhpBase (phpbase.org)</a>をつかえばPHPプログラムからGoogle Baseにデータを登録することができるみたいです。</p>
<p>これでウェブサイトがますますセマンティックで検索されやすいものになる！（Googleだけの閉じた世界で？）<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2005/11/28/147/"  title="phpでGoogle Mapsをカンタンに使う - GoogleMapAPI">phpでGoogle Mapsをカンタンに使う - GoogleMapAPI</a></li>
<li><a href="http://www.ryo.com/2006/10/08/278/"  title="Googleも間違えるhtml">Googleも間違えるhtml</a></li>
<li><a href="http://www.ryo.com/2006/01/11/177/"  title="Google Analytics Status Update">Google Analytics Status Update</a></li>
<li><a href="http://www.ryo.com/2005/12/21/162/"  title="さらにGoogleのPersonalized Home">さらにGoogleのPersonalized Home</a></li>
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/12/03/152/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/12/03/152/" />
	</item>
		<item>
		<title>phpでGoogle Mapsをカンタンに使う - GoogleMapAPI</title>
		<link>http://www.ryo.com/2005/11/28/147/</link>
		<comments>http://www.ryo.com/2005/11/28/147/#comments</comments>
		<pubDate>Mon, 28 Nov 2005 23:33:28 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[googlemaps]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=147</guid>
		<description><![CDATA[GoogleMapAPI (phpinsider.com)
にて、PHPからGoogle Mapsをカンタンに使うことのできるライブラリが公開されています
サンプルを見ると
require(&#8217;GoogleMa [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phpinsider.com/php/code/GoogleMapAPI/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.phpinsider.com');">GoogleMapAPI (phpinsider.com)</a><br />
にて、PHPからGoogle Mapsをカンタンに使うことのできるライブラリが公開されています</p>
<p>サンプルを見ると</p>
<blockquote><p>require(&#8217;GoogleMapAPI.class.php&#8217;);<br />
$map = new GoogleMapAPI();<br />
// setup database for geocode caching<br />
$map-&gt;setDSN(&#8217;mysql://USER:PASS@localhost/GEOCODES&#8217;);<br />
// enter YOUR Google Map Key<br />
$map-&gt;setAPIKey(&#8217;YOURGOOGLEMAPKEY&#8217;);</p></blockquote>
<p>と、コメント除いた４行で準備は完了。<br />
requireとnewはいわずもがな。<br />
setDSN()は、住所から座標への変換結果をキャッシュする機能のために、PEAR::DBのDSNを使用してデータベースを指定。<br />
setAPIKey()はもちろんGoogleMapsのAPIキーを指定します。</p>
<p>地図にマーカーをうつには</p>
<blockquote><p>// create some map markers<br />
$map-&gt;addMarkerByAddress(&#8217;621 N 48th St # 6 Lincoln NE 68502&#8242;,&#8217;PJ Pizza&#8217;,'&lt;b&gt;PJ Pizza&lt;/b&gt;&#8217;);<br />
$map-&gt;addMarkerByAddress(&#8217;826 P St Lincoln NE 68502&#8242;,&#8217;Old Chicago&#8217;,'&lt;b&gt;Old Chicago&lt;/b&gt;&#8217;);<br />
$map-&gt;addMarkerByAddress(&#8217;3457 Holdrege St Lincoln NE 68502&#8242;,&#8221;Valentino&#8217;s&#8221;,&#8221;&lt;b&gt;Valentino&#8217;s&lt;/b&gt;&#8221;);</p></blockquote>
<p>と、メソッドaddMakerByAddress($address,$title,$html)でカンタンにマーカーを作成することができますな。<br />
この住所から座標への変換にはYahooのgeocode APIを使っているそうです。<br />
で、この住所から座標への変換結果を、さっき指定したデータベースにキャッシュしてくれるってわけです。<br />
キャッシュ用のデータベースには</p>
<blockquote><p>CREATE TABLE GEOCODES (<br />
          address varchar(255) NOT NULL default &#8221;,<br />
          lon float default NULL,<br />
          lat float default NULL,<br />
          PRIMARY KEY  (address)<br />
        );</p></blockquote>
<p>ってな具合のテーブルを用意しておけとのこと。</p>
<p>HTML側では、<br />
head内で$map->printHeaderJS();と$map->printMapJS();を出力<br />
bodyのonload属性に&#8221;onLoad()&#8221;を指定<br />
$map->printMap()で地図本体を表示<br />
$map->printSidebar()でサイドバーとしてマーカー群のリンクを表示<br />
となってます。</p>
<p>テンプレートシステムに対応するために、上記のメソッドのprintの部分がgetになった、文字列を返すメソッドも用意されていますね。<br />
Smartyを使用した例もドキュメントに含まれてます。</p>
<p>JavaScriptをごちゃごちゃ書くのがめんどくさくて敬遠してた人が多い気がするGoogle Maps APIですが、これでphperへの敷居がぐぐっと低くなったんじゃないでしょうか？</p>
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2005/12/03/152/"  title="PHPからGoogle Baseにポストする">PHPからGoogle Baseにポストする</a></li>
<li><a href="http://www.ryo.com/2007/07/22/336/"  title="京都ラーメン食ったマップを使って簡単Google Maps API">京都ラーメン食ったマップを使って簡単Google Maps API</a></li>
<li><a href="http://www.ryo.com/2006/10/08/278/"  title="Googleも間違えるhtml">Googleも間違えるhtml</a></li>
<li><a href="http://www.ryo.com/2006/01/11/177/"  title="Google Analytics Status Update">Google Analytics Status Update</a></li>
<li><a href="http://www.ryo.com/2005/12/21/162/"  title="さらにGoogleのPersonalized Home">さらにGoogleのPersonalized Home</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/11/28/147/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/11/28/147/" />
	</item>
		<item>
		<title>md5とさよならしよう</title>
		<link>http://www.ryo.com/2005/11/19/138/</link>
		<comments>http://www.ryo.com/2005/11/19/138/#comments</comments>
		<pubDate>Sat, 19 Nov 2005 22:57:24 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[hash]]></category>

		<category><![CDATA[md5]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[sha1]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=138</guid>
		<description><![CDATA[MD4/MD5 コリジョンの実証コードが公開(slashdot.jp)
phpコードの中でも、死んでしまったmd5とは可能な限りさよならしましょう
パスワードの保存にハッシュ関数をつかっているか確認し、md5関数の変わり [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://slashdot.jp/security/article.pl?sid=05/11/18/0125251" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.jp');">MD4/MD5 コリジョンの実証コードが公開</a>(slashdot.jp)</p></blockquote>
<p>phpコードの中でも、死んでしまったmd5とは可能な限りさよならしましょう</p>
<p>パスワードの保存にハッシュ関数をつかっているか確認し、<a href="http://www.php.net/manual/ja/function.md5.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.php.net');">md5関数</a>の変わりに<a href="http://www.php.net/manual/ja/function.sha1.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.php.net');">sha1関数</a>を使うようにしましょう<br />
RDBMSで、md5()でつくった16進32文字をに保存するフィールドがchar(32)になっているなら、sha1()でつくられる16進40文字を保存できるようにchar(40)に拡張しましょう</p>
<p>セッション処理の識別子にmd5で生成したIDをつかっている場合、可能ならsha1を使用するように移行すべきです<br />
PHP5の場合、<b>session.hash_function に1を設定</b>するとsha1を使用するようです<br />
詳しくは<a href="http://www.php.net/manual/ja/ref.session.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.php.net');">マニュアルのセッション処理関数の章</a>を見てください<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2006/08/07/251/"  title="テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？">テンプレートシステムはデフォルトでエスケープするべきじゃなかろうか？</a></li>
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
<li><a href="http://www.ryo.com/2008/02/26/398/"  title="SSL証明書の期限切れは実によくあること">SSL証明書の期限切れは実によくあること</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/11/19/138/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/11/19/138/" />
	</item>
		<item>
		<title>ベイエリアPlanet</title>
		<link>http://www.ryo.com/2005/11/06/122/</link>
		<comments>http://www.ryo.com/2005/11/06/122/#comments</comments>
		<pubDate>Mon, 07 Nov 2005 04:03:50 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[雑記]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[sfbay]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=122</guid>
		<description><![CDATA[サイドバーに
Planet Fedora Japanese
Planet PHP Japan
Planet PostgreSQL Japan
と並べてるんですが、なんとなくマネして
ベイエリアPlanet
シリコンバレー [...]]]></description>
			<content:encoded><![CDATA[<p>サイドバーに<br />
<a href="http://oss.poyo.jp/fedora/planet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/oss.poyo.jp');">Planet Fedora Japanese</a><br />
<a href="http://catbot.sakura.ne.jp/planetphpjapan/" onclick="javascript:pageTracker._trackPageview('/outbound/article/catbot.sakura.ne.jp');">Planet PHP Japan</a><br />
<a href="http://blog.postgresql.jp/ppgj/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.postgresql.jp');">Planet PostgreSQL Japan</a><br />
と並べてるんですが、なんとなくマネして</p>
<blockquote><p><a href="http://www.ryo.com/bayarea/" >ベイエリアPlanet</a><br />
シリコンバレー・ＳＦベイエリア近辺に住む人々の日本語のブログ
</p></blockquote>
<p>ってのをつくってみました。<br />
こーいう、ローカルに並べると住んでる人には面白い、と思う。</p>
<p>例によってphp+magpieRSS+smartyでザクっと書いたので、ソースを見たい奇特な人は<br />
<a href="http://www.ryo.com/bayarea/index.php?mode=showsrc" >index.php</a><br />
<a href="http://www.ryo.com/bayarea/index.tpl" >index.tpl</a><br />
<a href="http://www.ryo.com/bayarea/index_rss.tpl" >index_rss.tpl</a><br />
をどうぞ<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2005/12/16/159/"  title="phpなweb開発者はストロング読め">phpなweb開発者はストロング読め</a></li>
<li><a href="http://www.ryo.com/2005/12/03/152/"  title="PHPからGoogle Baseにポストする">PHPからGoogle Baseにポストする</a></li>
<li><a href="http://www.ryo.com/2005/11/28/148/"  title="Sillicon Valley Today&#8217;s Specialがオープン">Sillicon Valley Today&#8217;s Specialがオープン</a></li>
<li><a href="http://www.ryo.com/2005/11/28/147/"  title="phpでGoogle Mapsをカンタンに使う - GoogleMapAPI">phpでGoogle Mapsをカンタンに使う - GoogleMapAPI</a></li>
<li><a href="http://www.ryo.com/2005/11/17/134/"  title="地方版復活？">地方版復活？</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/11/06/122/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/11/06/122/" />
	</item>
		<item>
		<title>GetSenでRSS/ATOMフィードを流し読み</title>
		<link>http://www.ryo.com/2005/06/10/52/</link>
		<comments>http://www.ryo.com/2005/06/10/52/#comments</comments>
		<pubDate>Sat, 11 Jun 2005 03:49:05 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[feed]]></category>

		<category><![CDATA[getsen]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=52</guid>
		<description><![CDATA[GetSenでもうちょっと遊んでみようってことで、GetSen Readerをつくってみました。
(サンプル)
FPNを流し読み
うーん、いい感じかも
100SHIKIを流し読み
目をひく(が中身がわかりにくい)タイトル [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ryo.com/getsen/" >GetSen</a>でもうちょっと遊んでみようってことで、<a href="http://www.ryo.com/getsenreader/" >GetSen Reader</a>をつくってみました。</p>
<p>(サンプル)<br />
<a href="/getsenreader/?feedurl=http%3A%2F%2Fwww.future-planning.net%2Fx%2Fbackend.php">FPNを流し読み</a><br />
うーん、いい感じかも</p>
<p><a href="/getsenreader/?feedurl=http%3A%2F%2Fwww.100shiki.com%2Fatom.xml">100SHIKIを流し読み</a><br />
目をひく(が中身がわかりにくい)タイトルに対しズバリの一文が抜け出せてる、と思わない？</p>
<p>PHP+XML/RPC(Pear)+MagpieRSSで、なかなかの生産性です。</p>
<p>(6/13 100SHIKIを追加)<br />
(6/18 Open Alexandriaを追加)</p>
<p>(2/25/2008 いろいろ削除)<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2007/08/02/340/"  title="XML_Feed_Parserでdc:subject要素を読み込む">XML_Feed_Parserでdc:subject要素を読み込む</a></li>
<li><a href="http://www.ryo.com/2007/05/14/319/"  title="MagpieRSSが嫌われた？">MagpieRSSが嫌われた？</a></li>
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/06/10/52/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/06/10/52/" />
	</item>
		<item>
		<title>PHPWalkerのGoogle Sitemap Generator</title>
		<link>http://www.ryo.com/2005/06/06/50/</link>
		<comments>http://www.ryo.com/2005/06/06/50/#comments</comments>
		<pubDate>Tue, 07 Jun 2005 04:35:17 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=50</guid>
		<description><![CDATA[Google Sitemap GeneratorをPHPで書く【序章】 (web-frigo.com)
と、いうわけでGoogle Sitemaps Generator for PHPよろしくです

blogに関しては既 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://phpwalker.web-frigo.com/item38.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/phpwalker.web-frigo.com');">Google Sitemap GeneratorをPHPで書く【序章】 (web-frigo.com)</a><br />
と、いうわけでGoogle Sitemaps Generator for PHPよろしくです<br />
<span id="more-50"></span><br />
blogに関しては既にfeedがあるので不要って気がするんで、使い回しが効く感じで</p>
<ul>
<li>Smartyテンプレート</li>
<li>テンプレート変数の仕様書</li>
<li>サンプルphpコード</li>
</ul>
<p>ってのが希望なんですけどダメ？<br />
Smarty嫌いとか使えない人もカバーするには、単なるfunction指向で変数仕様固めるだけでいいのかもしれない</p>
<p>ちなみにWordPress用は<br />
<a href="http://www.socialpatterns.com/search-engine-optimization/google-sitemaps-with-wordpress/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.socialpatterns.com');">Google Sitemaps with Wordpress (socialpatterns.com)</a> (勝手phpタイプ)<br />
<a href="http://www.arnebrachhold.de/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.arnebrachhold.de');">Google Sitemaps Generator v2 (arnebrachhold.de)</a> (pluginタイプ)<br />
と、すでにあって<br />
<a href="http://hiromasa.zone.ne.jp/blog/?p=266" onclick="javascript:pageTracker._trackPageview('/outbound/article/hiromasa.zone.ne.jp');">hiromasa.zoneさんのところ</a>でも動かしている模様。</p>
<p>そしていらない気がするといいつつもウチでも動かしてみました。<a href="/ryo/sitemap.xml">sitemap.xml</a></p>
<p>(どうやらタイトルからPHPWalkerの<b>k</b>が抜けてたので直しました(うっ)）<br />
(そしてPHPWalkerのタイトルから<b>sが抜けてるのに気が付きました(げら))</b><br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
<li><a href="http://www.ryo.com/2008/02/19/374/"  title="CentOS4でphp-5.2.5のbuildにちょっと嵌った">CentOS4でphp-5.2.5のbuildにちょっと嵌った</a></li>
<li><a href="http://www.ryo.com/2008/02/10/371/"  title="WordPressのtable_prefix変更">WordPressのtable_prefix変更</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/06/06/50/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/06/06/50/" />
	</item>
		<item>
		<title>カンニングペーパー</title>
		<link>http://www.ryo.com/2005/05/31/36/</link>
		<comments>http://www.ryo.com/2005/05/31/36/#comments</comments>
		<pubDate>Tue, 31 May 2005 09:44:46 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
		
		<category><![CDATA[IT関連]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[cheatsheet]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=36</guid>
		<description><![CDATA[今日はプログラマーはもちろんデザイナーもエディターも、すべてのwebデベロッパに送るべきcoolなプレゼントがあるんだ。

UKのJack Daniesを愛する男、Dave Childが公開してくれている、とってもcoo [...]]]></description>
			<content:encoded><![CDATA[<p>今日はプログラマーはもちろんデザイナーもエディターも、すべてのwebデベロッパに送るべきcoolなプレゼントがあるんだ<abbr title="すいません、ビール飲んでます">。</abbr><br />
<span id="more-36"></span><br />
UKのJack Daniesを愛する男、Dave Childが公開してくれている、とってもcoolなカンニングペーパー。みんな早速ダウンロードしてくれ。<br />
<a href="http://www.ilovejackdaniels.com/cheat-sheets/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ilovejackdaniels.com');">http://www.ilovejackdaniels.com/cheat-sheets/</a></p>
<ul>デザイナ・エディタ向け</p>
<li>CSS Cheat Sheetには状況依存セレクタや定義済みセレクタ、継承されるプロパティやBOXモデルの概念図など</li>
<li>RGB Hex Color Chartにはいわゆる&#8221;web safe&#8221;なカラーの一覧が色コードつきで</li>
</ul>
<ul>プログラマ向け</p>
<li>PHP Cheat Sheetには正規表現の文法やdate関数のフォーマット文字列、主要な関数など</li>
<li>MySQL Cheat Sheetはデータ型、PHPの関数、SELECT文のサンプルなど</li>
<li>mod_rewrite Cheat Sheetにはフラグやサーバー変数、RewriteRuleのサンプルなど</li>
</ul>
<p>全部一枚の紙に印刷できるサイズで、よくまとまっていて、なにより見た目がカッコイイので部屋や仕事場が<abbr title="あ〜あ、何書いてんだろ俺">coolになっちゃうこと間違いなしだぜ！</abbr></p>
<p># って<a href="http://clouder.jp/yoshiki/mt/archives/000423.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/clouder.jp');">Clouder::Bloggerさんの記事 cheat-sheets</a>で発見しました<br />
# あと、abbrでは「ため息」がちですが、表現に対してのため息であって、リンク先に書いてることについては本気ですよ<br />
<h3>関連記事</h3>
<ul class="related_post">
<li><a href="http://www.ryo.com/2008/02/10/371/"  title="WordPressのtable_prefix変更">WordPressのtable_prefix変更</a></li>
<li><a href="http://www.ryo.com/2008/03/02/419/"  title="XCache for WordPressでトラブル">XCache for WordPressでトラブル</a></li>
<li><a href="http://www.ryo.com/2008/02/29/416/"  title="HTTP_ClientでリダイレクトされたときのURLがわからない">HTTP_ClientでリダイレクトされたときのURLがわからない</a></li>
<li><a href="http://www.ryo.com/2008/02/28/409/"  title="初めて見たUA">初めて見たUA</a></li>
<li><a href="http://www.ryo.com/2008/02/27/405/"  title="このサイトで使用しているWordPressプラグイン一覧">このサイトで使用しているWordPressプラグイン一覧</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2005/05/31/36/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2005/05/31/36/" />
	</item>
	</channel>
</rss>
