<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>u39 technik</title>
    <link rel="alternate" type="text/html" href="http://tech.u39.info/" />
    
   <id>tag:,2009:/5</id>
    <link rel="service.post" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5" title="u39 technik" />
    <updated>2009-09-26T14:22:05Z</updated>
    <subtitle>There's no better way to fly nowhere.　 ←technikはドイツ語です...</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type  4.23-ja</generator>
 

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/u39technik" /><feedburner:info uri="u39technik" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>Services_Twitterで投稿が文字化けする</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/0QhnhLYq2cE/1041" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1041" title="Services_Twitterで投稿が文字化けする" />
    <id>tag:tech.u39.info,2009://5.1041</id>
    
    <published>2009-09-26T14:10:59Z</published>
    <updated>2009-09-26T14:22:05Z</updated>
    
    <summary>twitter関連のPEARライブラリ「Services_Twitter(作者が...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="PHP" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;twitter関連のPEARライブラリ「Services_Twitter(作者が日本人じゃない方)」を使って、twitterに投稿すると文字化けする。ハマったので、メモ。&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
Twitter.phpの566行目付近の&lt;/p&gt;

&lt;pre name="code" class="php"&gt;
if ($pType == 'string' &amp;&amp; !$this-&gt;isUnicode($arg)) {
  // iso-8859-1 string that we must convert to unicode
  $arg = utf8_encode($arg);
}
&lt;/pre&gt;

&lt;p&gt;utf8_encodeの処理をしている行をコメントアウトすればOK。&lt;/p&gt;

&lt;p&gt;コメントの通り、元の文字コードがiso-8859-1であるという、豪快な決めうちっぷり。。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/0QhnhLYq2cE" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1041</feedburner:origLink></entry>

<entry>
    <title>さくらのレンタルサーバにGeoIPを入れる</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/YRd0FoaqeQk/1017" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1017" title="さくらのレンタルサーバにGeoIPを入れる" />
    <id>tag:tech.u39.info,2009://5.1017</id>
    
    <published>2009-03-14T16:17:12Z</published>
    <updated>2009-03-14T16:40:41Z</updated>
    
    <summary>IPアドレスから所在地が分かるという「GeoIP」。下記の記事を参考に、さくらの...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="さくら共有サーバー" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;IPアドレスから所在地が分かるという「GeoIP」。下記の記事を参考に、さくらのサーバでもインストールできるか試してみた。例によってbashを想定。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20090127/323589/"&gt;121. IPアドレスから所在地探し&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;GeoIPライブラリ&lt;/b&gt;&lt;br /&gt;
&lt;pre name="code"&gt;&lt;br /&gt;
$wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz&lt;br /&gt;
$tar zxvf GeoIP.tar.gz&lt;br /&gt;
$cd GeoIP.tar.gz&lt;br /&gt;
$./configure --prefix=$HOME/local&lt;br /&gt;
$make&lt;br /&gt;
$make install&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;GeoIPデータ&lt;/b&gt;&lt;br /&gt;
参考ページにあるURLがそのまま使えなかったので、適宜変更。&lt;/p&gt;

&lt;pre name="code"&gt;
$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
$gunzip GeoIP.dat.gz
$cp GeoIP.dat.gz ~/local/share/GeoIP

&lt;p&gt;$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz&lt;br /&gt;
$gunzip GeoLiteCity.dat.gz&lt;br /&gt;
$cp GeoLiteCity.dat.gz ~/local/share/GeoIP/GeoIPCity.dat&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Peclモジュール&lt;/b&gt;&lt;br /&gt;
一度ダウンロードしてコンパイル。余計なconfigureオプションがあるかも。&lt;/p&gt;

&lt;pre ame="code"&gt;
$export PHP_AUTOCONF=autoconf259
$export PHP_AUTOHEADER=autoheader259.

&lt;p&gt;$pecl download geoip&lt;br /&gt;
$tar zxvf geoip-1.0.7&lt;br /&gt;
$cd geoip-1.0.7&lt;br /&gt;
$phpize&lt;br /&gt;
$./configure --prefix=$HOME/local --exec-prefix=$HOME/local --with-php-config=$HOME/local/bin/php-config --with-geoip=$HOME/local&lt;br /&gt;
$make&lt;br /&gt;
$make install&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;設定&lt;/b&gt;&lt;br /&gt;
php.iniにモジュールを設定。&lt;/p&gt;

&lt;pre name="code"&gt;
extension_dir="/home/u39lab/local/lib/php/extensions/no-debug-non-zts-20060613/"
extension="geoip.so"
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;テスト&lt;/b&gt;&lt;/p&gt;

&lt;pre name="code" class="php"&gt;
var_dump(geoip_record_by_name('whitehouse.gov')); 
&lt;/pre&gt;

&lt;pre name="code"&gt;
array
  'continent_code' =&gt; string 'AS' (length=2)
  'country_code' =&gt; string 'SG' (length=2)
  'country_code3' =&gt; string 'SGP' (length=3)
  'country_name' =&gt; string 'Singapore' (length=9)
  'region' =&gt; string '' (length=0)
  'city' =&gt; string '' (length=0)
  'postal_code' =&gt; string '' (length=0)
  'latitude' =&gt; float 1.366700053215
  'longitude' =&gt; float 103.80000305176
  'dma_code' =&gt; int 0
  'area_code' =&gt; int 0
&lt;/pre&gt;

&lt;p&gt;シンガポール？ MaxMind社の&lt;a href="http://www.maxmind.com/app/locate_ip"&gt;Online Demo&lt;/a&gt;と結果が違うが、エラーログは吐いてない...。&lt;/p&gt;

&lt;pre name="code" class="php"&gt;
var_dump(geoip_record_by_name($_SERVER['REMOTE_ADDR'])); 
&lt;/pre&gt;

&lt;pre name="code"&gt;
array
  'continent_code' =&gt; string 'AS' (length=2)
  'country_code' =&gt; string 'JP' (length=2)
  'country_code3' =&gt; string 'JPN' (length=3)
  'country_name' =&gt; string 'Japan' (length=5)
  'region' =&gt; string '40' (length=2)
  'city' =&gt; string 'Tokyo' (length=5)
  'postal_code' =&gt; string '' (length=0)
  'latitude' =&gt; float 35.685001373291
  'longitude' =&gt; float 139.75140380859
  'dma_code' =&gt; int 0
  'area_code' =&gt; int 0
&lt;/pre&gt;

&lt;p&gt;とりあえず都道府県まで。緯度経度は皇居...。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" target="_blank"&gt;&lt;br /&gt;
&lt;img border="0" width="300" height="125" alt="" src="http://www24.a8.net/svt/bgt?aid=081013233437&amp;wid=002&amp;eno=01&amp;mid=s00000001717001065000&amp;mc=1"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" alt=""&gt;&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/YRd0FoaqeQk" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1017</feedburner:origLink></entry>

<entry>
    <title>さくらのレンタルサーバにXdebugを入れる</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/W_kEyY_N_6g/1016" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1016" title="さくらのレンタルサーバにXdebugを入れる" />
    <id>tag:tech.u39.info,2009://5.1016</id>
    
    <published>2009-03-13T15:12:36Z</published>
    <updated>2009-03-14T16:19:39Z</updated>
    
    <summary>前回のPHP5のインストールに引き続き、Xdebugをインストール。リモートデバ...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="さくら共有サーバー" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;前回の&lt;a href="http://tech.u39.info/1014"&gt;PHP5のインストール&lt;/a&gt;に引き続き、Xdebugをインストール。リモートデバッグは恐らく使えないだろうが、var_dumpが色つきでビジュアルライズされるだけでも、使う価値がある拡張モジュールと言える。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bohebohe.livedoor.biz/archives/51093251.html"&gt;さくらのサーバにxdebugをインストールする。&lt;/a&gt;を参考に...。 bashを想定。&lt;/p&gt;

&lt;p&gt;&lt;b&gt;環境変数の設定&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$export PHP_AUTOCONF=autoconf259&lt;br /&gt;
$export PHP_AUTOHEADER=autoheader259&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;コンパイル・インストール&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$wget http://www.xdebug.org/files/xdebug-2.0.4.tgz&lt;br /&gt;
$tar zxvf xdebug-2.0.2.tgz&lt;br /&gt;
$cd xdebug-2.0.2&lt;/p&gt;

&lt;p&gt;$which phpize&lt;br /&gt;
/home/u39lab/bin/phpize&lt;/p&gt;

&lt;p&gt;$phpize&lt;br /&gt;
$./configure --prefix=$HOME/local --exec-prefix=$HOME/local --with-php-config=$HOME/local/bin/php-config --bindir=$HOME/local/bin --enable-xdebug&lt;br /&gt;
...&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;設定&lt;/b&gt;&lt;br /&gt;
本来ならば本番環境とテスト環境を分けるために、.htaccessのphp_valueでXdebugの利用有無を設定したいが、さくらではphp_valueに対応していない模様。というわけで、素直にphp.iniに記述。&lt;/p&gt;

&lt;pre class="code"&gt;
zend_extension="/home/u39lab/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
&lt;/pre&gt;

&lt;p&gt;個人的によく間違えるのが、extensionのスペルミス。&lt;/p&gt;

&lt;p&gt;あとは、phpinfo()やvar_dump()などでXdebugが正しく動作しているかチェック。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" target="_blank"&gt;&lt;br /&gt;
&lt;img border="0" width="300" height="125" alt="" src="http://www24.a8.net/svt/bgt?aid=081013233437&amp;wid=002&amp;eno=01&amp;mid=s00000001717001065000&amp;mc=1"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" alt=""&gt;&lt;br /&gt;
&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/W_kEyY_N_6g" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1016</feedburner:origLink></entry>

<entry>
    <title>さくらのレンタルサーバにSubversionを入れる</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/FeQ3DJVn5p4/1015" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1015" title="さくらのレンタルサーバにSubversionを入れる" />
    <id>tag:tech.u39.info,2009://5.1015</id>
    
    <published>2009-03-09T15:01:09Z</published>
    <updated>2009-03-13T15:27:12Z</updated>
    
    <summary>さくらインターネットの共有サーバーにSubversionを入れてみる。シェルはb...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="さくら共有サーバー" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;さくらインターネットの共有サーバーにSubversionを入れてみる。シェルはbashで、$HOME/localにイロイロ入れることを想定。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.nyarla.net/2006/10/21/2"&gt;Subversionをさくらインターネットにインストール&lt;/a&gt;を参考に...。もしかするとSubversionだけならさらにシンプルに出来るかもしれない。&lt;/p&gt;

&lt;p&gt;&lt;b&gt;パスの設定&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$export PATH="$HOME/local/bin:$PATH"&lt;br /&gt;
$export LD_LIBRARY_PATH="$HOME/local/lib"&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;SWIG&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$wget http://downloads.sourceforge.net/swig/swig-1.3.38.tar.gz?use_mirror=jaist&lt;br /&gt;
...&lt;br /&gt;
$./configure --prefix=$HOME/local --with-python=/usr/local/bin/python&lt;br /&gt;
...&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;APR&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.3.3.tar.gz&lt;br /&gt;
...&lt;br /&gt;
$./configure --prefix=$HOME/local --disable-static&lt;br /&gt;
...&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;APR-util&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.3.4.tar.gz&lt;br /&gt;
...&lt;br /&gt;
$./configure --prefix=$HOME/local --with-apr=$HOME/local --with-expat=/usr/local --with-iconv=/usr/local --disable-static&lt;br /&gt;
...&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Subversion&lt;/b&gt;&lt;br /&gt;
&lt;pre class="code"&gt;&lt;br /&gt;
$wget http://subversion.tigris.org/downloads/subversion-1.5.6.tar.gz&lt;br /&gt;
...&lt;br /&gt;
$./configure --prefix=$HOME/local --with-neon=$HOME/local --without-berkeley-db --enable-swig-bindings=perl --with-swig=$HOME/local/bin/swig --with-apr=$HOME/local/bin/apr-1-config --with-apr-util=$HOME/local/bin/apu-1-config --disable-static&lt;br /&gt;
...&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;レポジトリの作成&lt;/b&gt;&lt;br /&gt;
レポジトリは$HOME/var/snv/repoに設置することを想定。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.livedoor.jp/memozilla/archives/54933239.html"&gt;さくらインターネットに設置した subversion で ssh ログイン時に発生するエラー&lt;/a&gt;を参考にしながら。&lt;/p&gt;

&lt;pre class="code"&gt;
$ln -s $HOME/subversion_path/bin $HOME/bin
$mkdir -p $HOME/var/svn
$svnadmin create --fs-type=fsfs $HOME/var/svn/repo
&lt;/pre&gt;

&lt;p&gt;Eclipseでプロジェクトを作成し、右クリック「チーム」→「プロジェクトの共用」。Subclipseにて、下記のURLを指定。&lt;/p&gt;

&lt;p&gt;svn+ssh://xxxxx.sakura.ne.jp/home/xxxxx/var/svn/repo&lt;/p&gt;

&lt;p&gt;&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" target="_blank"&gt;&lt;br /&gt;
&lt;img border="0" width="300" height="125" alt="" src="http://www24.a8.net/svt/bgt?aid=081013233437&amp;wid=002&amp;eno=01&amp;mid=s00000001717001065000&amp;mc=1"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" alt=""&gt;&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/FeQ3DJVn5p4" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1015</feedburner:origLink></entry>

<entry>
    <title>さくらのレンタルサーバーにPHP5を入れる(PDO対応・今さら編)</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/fAsED3RLu40/1014" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1014" title="さくらのレンタルサーバーにPHP5を入れる(PDO対応・今さら編)" />
    <id>tag:tech.u39.info,2009://5.1014</id>
    
    <published>2009-03-08T15:15:09Z</published>
    <updated>2009-03-13T15:26:38Z</updated>
    
    <summary>さくらインターネットの共有サーバーでは、長らくPHP5のサポートが行われていなか...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="さくら共有サーバー" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;さくらインターネットの共有サーバーでは、長らくPHP5のサポートが行われていなかったため、一部のユーザが、独自にPHP5をホームディレクトリ内にインストールを試み、ノウハウが共有されてきた。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/nazoking/20041213/1102925275"&gt;・さくらのレンタルサーバでPHP5&lt;/a&gt;&lt;br /&gt;
などを参照。&lt;/p&gt;

&lt;p&gt;昨年ようやく、さくらインターネットの共有サーバーでもPHP5のサポートが開始されたが、何か物足りない...。&lt;/p&gt;

&lt;p&gt;・好き勝手PHP.iniをいじりたい&lt;br /&gt;
・好き勝手モジュールを入れてコンパイルしたい&lt;br /&gt;
・任意のバージョンを入れたい&lt;/p&gt;

&lt;p&gt;ということで敢えて今更やってみる。準備としていくつかディレクトリを作成。&lt;/p&gt;

&lt;pre name="code"&gt;
$mkdir ~/local
$mkdir ~/src
$mkdir ~/etc
&lt;/pre&gt;

&lt;p&gt;PHPをダウンロードして展開する。&lt;/p&gt;

&lt;pre name="code"&gt;
$cd ~/src
$wget http://...
$tar zxvf php-5.2.9.tar.gz
&lt;/pre&gt;

&lt;p&gt;展開したディレクトリに、以下のようなシェルスクリプトを用意する。&lt;/p&gt;

&lt;p&gt;&lt;b&gt;conf.sh&lt;/b&gt;&lt;br /&gt;
&lt;pre name="code"&gt;&lt;br /&gt;
#!/bin/sh&lt;/p&gt;

&lt;p&gt;./configure \&lt;br /&gt;
--prefix=$HOME/local \&lt;br /&gt;
--with-config-file-path=$HOME/etc \&lt;br /&gt;
--with-pear=$HOME/local/share/pear5 \&lt;br /&gt;
--enable-mbstring=all \&lt;br /&gt;
--enable-mbregex \&lt;br /&gt;
--enable-force-cgi-redirect \&lt;br /&gt;
--with-openssl=/usr \&lt;br /&gt;
--with-mysql \&lt;br /&gt;
--with-curl \&lt;br /&gt;
--enable-ftp \&lt;br /&gt;
--enable-pdo \&lt;br /&gt;
--with-pdo-mysql=/usr/local/bin/mysql&lt;br /&gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;PDOやFTPなどをオプションでとりあえず指定。GDは必要なし。無駄にハマってしまったのがphp.iniのパス指定で、ここではファイル名ではなくディレクトリ名を指定する。&lt;/p&gt;

&lt;p&gt;スクリプトに実行権を与えて、実行(=configure)する。その後makeしてインストール。&lt;/p&gt;

&lt;pre name="code"&gt;
$cd php-5.2.9
$chmod u+x conf.sh
$./conf.sh
...
$make
...
$make test
...
$make install
...
&lt;/pre&gt;

&lt;p&gt;続いてCGIモードでオリジナルのPHPを動かすための作業。&lt;/p&gt;

&lt;pre name="code"&gt;
$mkdir ~/www/cgi-bin
$ln ~/local/bin/php-cgi ~/www/cgi-bin/php5.cgi
&lt;/pre&gt;

&lt;p&gt;ドキュメントルート(~/www)に下記のような.htaccessを設置。&lt;/p&gt;

&lt;pre name="code"&gt;
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php
&lt;/pre&gt;

&lt;p&gt;最後に~/etcにphp.iniの設置。どこかのphp.iniを使うなり、php.ini-recommendedを使うなりする。.htaccessのphp_valueでエラーログファイルの切り替えができないので、あらかじめphp.iniでログの保存先ディレクトリを指定しておくと良い。&lt;/p&gt;

&lt;pre name="code"&gt;
error_log = /home/xxxxx/var/log/php.log 
&lt;/pre&gt;

&lt;p&gt;&lt;br /&gt;
最後に、ドキュメントルートに置いたphpファイルにphpinfo()を記述し、インストールしたPHPが動いているかチェックして完了。&lt;/p&gt;

&lt;p&gt;ただし、CLIでPHPを動かす場合はインストール先のPHPを指定する。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" target="_blank"&gt;&lt;br /&gt;
&lt;img border="0" width="300" height="125" alt="" src="http://www24.a8.net/svt/bgt?aid=081013233437&amp;wid=002&amp;eno=01&amp;mid=s00000001717001065000&amp;mc=1"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=1C8E7L+786GWQ+D8Y+6C9LD" alt=""&gt;&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/fAsED3RLu40" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1014</feedburner:origLink></entry>

<entry>
    <title>【宣伝】慶應義塾創立150年記念 未来をひらく福澤諭吉展</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/dC63QZsG5eg/1013" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1013" title="【宣伝】慶應義塾創立150年記念 未来をひらく福澤諭吉展" />
    <id>tag:tech.u39.info,2009://5.1013</id>
    
    <published>2009-02-22T14:51:52Z</published>
    <updated>2009-02-22T14:55:07Z</updated>
    
    <summary> 「福澤諭吉展」が東京国立博物館にて開催されています。東京では3月8日(日)まで...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="未分類" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;&lt;a href="http://www.fukuzawa2009.jp/cg/k13.html" title="未来をひらく福澤諭吉展サイトへ" &gt;&lt;br /&gt;
&lt;img src="http://www.fukuzawa2009.jp/banner/banner01.jpg" width="250" height="250" alt="未来をひらく福澤諭吉展 2009 東京,福岡,大阪" style="border:none;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;「福澤諭吉展」が東京国立博物館にて開催されています。東京では3月8日(日)まで、今後福岡・大阪で開催される予定です(例によって&lt;a href="http://ja.wikipedia.org/wiki/%E5%90%8D%E5%8F%A4%E5%B1%8B%E9%A3%9B%E3%81%B0%E3%81%97"&gt;名古屋飛ばし&lt;/a&gt;)。&lt;/p&gt;

&lt;p&gt;ネットでこのイベントを知り興味を持ったのですが、応援団になってバナーを貼り付けると素晴らしいことに招待券が貰えてしまうとのことで、しばらくの間サイドバーにバナーを掲載します。&lt;/p&gt;

&lt;p&gt;興味のある方はぜひ行かれてみてはいかがでしょうか。&lt;/p&gt;

&lt;p&gt;そういえば、入学時に貰った福翁自伝をまだ読んでません...。ATOKで変換できないのに免じてダメ塾員を許してやって下さい。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/dC63QZsG5eg" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1013</feedburner:origLink></entry>

<entry>
    <title>さくらインターネット - 共有サーバーのサービスを刷新</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/wpi69mrsShA/1012" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1012" title="さくらインターネット - 共有サーバーのサービスを刷新" />
    <id>tag:tech.u39.info,2009://5.1012</id>
    
    <published>2009-02-09T16:00:00Z</published>
    <updated>2009-02-10T16:01:50Z</updated>
    
    <summary>いろいろ遊べて安価な共有サーバーでお馴染み、さくらインターネットがバージョンアッ...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="未分類" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;いろいろ遊べて安価な共有サーバーでお馴染み、さくらインターネットがバージョンアップしました。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://journal.mycom.co.jp/news/2009/01/26/040/index.html"&gt;MYCOM : さくらインターネットが共有サーバのセキュリティ強化、法人向け新プランも&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;嬉しいのが、月5,000円のプランしか対応していなかったSSLが、共有SSLという形で月500円のプランでも使えるようになっています。またMySQLが4から5に一気にバージョンアップ。ようやくサブクエリーが使えるようになります...。&lt;/p&gt;

&lt;p&gt;既存ユーザーのプランのグレードアップはこれからだですが、またいろいろ遊んでいきたいと思います。広告も新しいのが出ていました。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+786GWQ+D8Y+6BU5T" target="_blank"&gt;&lt;br /&gt;
&lt;img border="0" width="240" height="240" alt="" src="http://www28.a8.net/svt/bgt?aid=081013233437&amp;wid=002&amp;eno=01&amp;mid=s00000001717001063000&amp;mc=1"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img border="0" width="1" height="1" src="http://www17.a8.net/0.gif?a8mat=1C8E7L+786GWQ+D8Y+6BU5T" alt=""&gt;&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/wpi69mrsShA" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1012</feedburner:origLink></entry>

<entry>
    <title>イトーヨーカドーのネットスーパー - 安い・便利・丁寧</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/3sH8F7ZNx7c/1009" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1009" title="イトーヨーカドーのネットスーパー - 安い・便利・丁寧" />
    <id>tag:tech.u39.info,2009://5.1009</id>
    
    <published>2009-02-08T07:53:08Z</published>
    <updated>2009-02-08T07:54:56Z</updated>
    
    <summary>今年に入り、イトーヨーカドーのネットスーパーを数回使ってみた。開始した当初は対応...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="生活・ワークスタイル" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;今年に入り、&lt;a href="https://www.iy-net.jp/"&gt;イトーヨーカドーのネットスーパー&lt;/a&gt;を数回使ってみた。開始した当初は対応地域も限られていたが、順調に対応店舗とエリアを拡大している。ネットスーパーと言えば、やはり気になるのは品揃えとお値段。&lt;/p&gt;

&lt;p&gt;品揃えは悪くない。一般にスーパーで買っているものであれば大抵手に入る。食品では99円のお菓子、特売のお肉、お総菜、カット野菜なども手に入るので一人暮らしをしている人にも便利だ。また日用雑貨も取り扱っているのがデパートの強み。オムツやちょっとした雑貨を買うときも、持って帰る手間を省くことができる。&lt;/p&gt;

&lt;p&gt;またウェブサイトも使いやすい(AutoPagarizeにも対応していた)ので、買い物がスムーズもできる。献立の提案をしてくれるコーナーもあり、関連する食材を一括して購入することができるのも便利だ。&lt;/p&gt;

&lt;p&gt;続いてお値段。さすがにタイムセールの値引きはないが、実際の店舗で買う値段と変わらない。配送料については店舗によって異なるようで、大井町店であれば300円の配送料が、7,000円以上の購入で無料になる。日用品やお米などを組み合わせれば、クリアーできるはずだ。&lt;/p&gt;

&lt;p&gt;例えばドリンクも特売品ならば安い。配送料がかかるため楽天で購入するのは論外だが、以前使っていたAmazonと比較してみる。「六甲のおいしい水2リットル6本入り」をAmazonで購入すると1,013円のところ、イトーヨーカドーのネットスーパーでは588円。「ポカリスエット1.5リットル×8」が1,764円の所、2リットル×6本で1,188円となる。残念なことに一人6本までという制限があるものの、アスクルなんかよりも安いと思う。&lt;/p&gt;

&lt;p&gt;配送方法も丁寧なので、最後まで好印象を持てる。お肉はドライアイスに入れて冷やして持ってくるし、卵のパックはもちろん、パスタでさえプチプチに梱包して配送してくれる。ちなみに、どこかに書いてあったが宅配ボックスには対応していないようだ。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://tech.u39.info/img/080208-1.jpg" alt="イトーヨーカドー・ネットスーパーの梱包"/&gt;&lt;/p&gt;

&lt;p&gt;唯一気にしなければいけないのが、注文受付時間。希望する配送時間の数時間前までに注文する必要があるが、配送できる数に限りがあるので早い時間でも締め切られてしまう場合がある。余裕をもって事前に買い物を済ませる必要があるだろう。&lt;/p&gt;

&lt;p&gt;いろいろ書いてみたが、なんと言ってもやはりその存在自体がうれしい。重い物を持って帰らなくてもいい(そう言う時に限って雨が降ってくる)というメリットは何に変えても変えがたい。そんなこんなで、前回はお米やらストック用のドリンクやらで、総計30Kg前後の買い物をしてしまいました...。配送スタッフの方ごめんなさい。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/3sH8F7ZNx7c" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1009</feedburner:origLink></entry>

<entry>
    <title>CakePHPへの愚痴いろいろ</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/AgUFuvH9fKw/1000" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=1000" title="CakePHPへの愚痴いろいろ" />
    <id>tag:tech.u39.info,2009://5.1000</id>
    
    <published>2009-01-25T13:13:34Z</published>
    <updated>2009-01-26T14:12:55Z</updated>
    
    <summary>CakePHPは便利なフレームワークの一つであることは確かだが、いくつか使ってみ...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="CakePHP" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;CakePHPは便利なフレームワークの一つであることは確かだが、いくつか使ってみての愚痴を書いてみたい。&lt;/p&gt;

&lt;p&gt;(1)仕様変わりすぎ&lt;/p&gt;

&lt;p&gt;バージョンによって仕様がコロコロ変わっている。使い始めて「あれ？」となったのは、思いつくだけでも、&lt;/p&gt;

&lt;p&gt;・conditionの書き方変更&lt;br /&gt;
・findAll廃止&lt;br /&gt;
・web routingの変更&lt;/p&gt;

&lt;p&gt;などなど。このため入門書や解説サイトが役に立たないことがある。&lt;/p&gt;

&lt;p&gt;(2)ロジックはモデルに&lt;/p&gt;

&lt;p&gt;というベストプラクティスのようなものが少し前に議論されていたが、「当たり前の話ではないか」と違和感を感じざるを得なかった。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.sooey.com/journal/2008/03/26/717/"&gt;Sooey：CakePHPを使ったMVC設計のベストプラクティス&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;特にPerlやPHPでプログラミングを始めた人は、CakePHPに限らずコントローラーにベッタベタにロジックを書く人が多く、Javaでプログラミングを始めた人は、ちゃんとドメインモデルを守ってモデル・エンティティにロジックを書くというスタイルに慣れていると思う。あくまで主観。&lt;/p&gt;

&lt;p&gt;(3)モデルはエンティティではない&lt;/p&gt;

&lt;p&gt;最初にハマった。data?何それ。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wiki.cre8system.jp/index.php?PHP%2FCakePHP%2FCakePHP%A4%CE%A5%E2%A5%C7%A5%EB%A4%F2%A5%A8%A5%F3%A5%C6%A5%A3%A5%C6%A5%A3%A4%C8%A4%B7%A4%C6%B0%B7%A4%A6"&gt;Happy Engner Life：CakePHPのモデルをエンティティとして扱う&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(4)プラグインの構成要素&lt;/p&gt;

&lt;p&gt;CakePHPのプラグインは「コントローラー＋モデル＋ビュー」をまとめたものが、プロジェクト間での可搬性という意味でプラグインという概念を考えると、「コンポーネント＋ヘルパー」のパッケージを使う機会のほうが多いと思う。&lt;/p&gt;

&lt;p&gt;ヘルパーとは、ビューのロジックの切り替えを隠蔽したもの(HTMLを書く必要を無くすという意味合いではない)である。その切り替えロジックはコントローラー間で共通である事が多く、コントローラー間の処理を共通する処理はコンポーネントで書くのがセオリーだ。&lt;/p&gt;

&lt;p&gt;例えば携帯電話向けページの処理。ヘルパーでキャリア判別を行っているものも見たことがあるが、キャリア判別をコンポーネントのbeforeRenderで行い、ヘルパーはコンポーネントの判別結果(フィールド値なり)を参照して分岐を行えば、判別処理を一箇所にまとめることができスッキリとする。&lt;/p&gt;

&lt;p&gt;このような「モバイルプラグイン」のようなコンポーネントとヘルパーの組み合わせであれば、可搬性という意味でもいいのではないかと思うのだが、周りはどうしているのだろうか。一方で、ヘルパーはコンポーネントに依存しちゃいかん、という文も見かけたことがある。全く不可解だ。&lt;/p&gt;

&lt;p&gt;(5)設定の切り替え&lt;/p&gt;

&lt;p&gt;本番環境とテスト環境によって設定の値を変えたい場合が多々あるが、CakePHPは環境の切り替えをサポートする機構が弱いのではないかと思った。できれば設定値一発で、使用する設定ファイルを切り替えられるのが理想だ。&lt;/p&gt;

&lt;p&gt;既に自分で取り入れていて一番シンプルなのは、.htaccessやhttpd.confの中に、SetEnvで環境ごとの値を置いておいて、PHP側で$_SERVERから読み出して認識させる方法。&lt;/p&gt;

&lt;p&gt;テスト環境と本番環境で思い出したが、テスト環境は「test」や「debug」という英単語で良いと思うのだが、本番環境を「real」としていた会社チームがあった。素で「debub」と書く奴もいたな。プログラミング言語は英語で書く言語だけに、スペルミスはもちろん、こういう微妙な間違いもチームの士気を下げる一因となってしまう。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/AgUFuvH9fKw" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/1000</feedburner:origLink></entry>

<entry>
    <title>iPhotoやiPodでうまくファイル名順に写真の並び替えができない</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/FC_-61TN4nk/999" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=999" title="iPhotoやiPodでうまくファイル名順に写真の並び替えができない" />
    <id>tag:tech.u39.info,2009://5.999</id>
    
    <published>2009-01-25T11:44:08Z</published>
    <updated>2009-01-25T11:46:04Z</updated>
    
    <summary>誰かハマっているかもしれないのでメモ。 iPhotoのタイトルで並べ替え(*1)...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="未分類" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;誰かハマっているかもしれないのでメモ。&lt;/p&gt;

&lt;p&gt;iPhotoのタイトルで並べ替え(*1)や、iPodの写真の並び順は、ExprolerやFinderとは仕様が少し異なる。下記のようなファイル名のファイル群をインポートしたとする。&lt;/p&gt;

&lt;p&gt;(*1)ファイル名で並び替え：「表示」→「写真を並べ替え」→「タイトル」&lt;/p&gt;

&lt;p&gt;XXXX-1.jpg&lt;br /&gt;
XXXX-2.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-10.jpg&lt;br /&gt;
XXXX-11.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-100.jpg&lt;br /&gt;
XXXX-101.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-110.jpg&lt;br /&gt;
XXXX-111.jpg&lt;/p&gt;

&lt;p&gt;通常のExproler, Finder, Picasaではこの順番のままだが、iPhotoやiPod(iPhone)で見ると、&lt;/p&gt;

&lt;p&gt;XXXX-1.jpg&lt;br /&gt;
XXXX-10.jpg&lt;br /&gt;
XXXX-100.jpg&lt;br /&gt;
XXXX-101.jpg&lt;br /&gt;
XXXX-102.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-109.jpg&lt;br /&gt;
XXXX-11.jpg&lt;br /&gt;
XXXX-111.jpg&lt;br /&gt;
XXXX-112.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-119.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-12.jpg&lt;br /&gt;
XXXX-121.jpg&lt;/p&gt;

&lt;p&gt;という順番になってしまう。恐らくデジカメが生成するファイル名が関連しているものと思われるが、これを解決するためには、&lt;/p&gt;

&lt;p&gt;XXXX-001.jpg&lt;br /&gt;
XXXX-002.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-010.jpg&lt;br /&gt;
XXXX-011.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-100.jpg&lt;br /&gt;
XXXX-101.jpg&lt;br /&gt;
...&lt;br /&gt;
XXXX-110.jpg&lt;br /&gt;
XXXX-111.jpg&lt;/p&gt;

&lt;p&gt;とケタを揃えて0で埋めるしかない...。ウザい仕様だ。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/FC_-61TN4nk" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/999</feedburner:origLink></entry>

<entry>
    <title>ジオコーディングに過度に期待していた件</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/WIKMvH5xo30/998" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=998" title="ジオコーディングに過度に期待していた件" />
    <id>tag:tech.u39.info,2009://5.998</id>
    
    <published>2009-01-20T15:00:00Z</published>
    <updated>2009-01-19T16:01:17Z</updated>
    
    <summary>どうやら「ジオコーディング」に期待しすぎていたようで、現実を知ってガッカリした。...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="Webサービス" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;どうやら「ジオコーディング」に期待しすぎていたようで、現実を知ってガッカリした。ジオコーディングとは住所または施設名から緯度経度を返してくれるサービスで、日本ではgoogleやYahooなどが提供しているのが有名。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://developer.yahoo.co.jp/webapi/map/localsearch/v1/localsearch.html"&gt;Yahoo!デベロッパーネットワーク - 地図 - ローカルサーチ&lt;/a&gt;には下記のような説明がある。&lt;/p&gt;

&lt;blockquote&gt;
ローカルサーチAPIでは、キーワード検索、周辺検索の機能を提供します。キーワード検索は、住所・郵便番号・施設を指定して、その位置情報（緯度、経度）を出力します。周辺検索は、位置情報（緯度、経度）、範囲を指定すると、その範囲内に含まれる施設情報を出力します。 

&lt;p&gt;landmark - 施設（役所、学校、病院、郵便局など）を対象に検索&lt;br /&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;この「など」という文言に、妄想に妄想を膨らませていたが、「施設名」とはランドマーク的な物に限るようだ。駅や公共施設は問題ないが、現実には一般のお店はおろか期待していた「チェーン系のお店」ですら出てこない。&lt;/p&gt;

&lt;p&gt;個人レベルで利用できるマスターデータもなさげで、住所と店舗名をクローリングして自分で情報をメンテナンスしなきゃダメなのだろうか。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://5515.biz/"&gt;チェーン店検索なら「ここいこ店舗なび」　5515.biz&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/WIKMvH5xo30" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/998</feedburner:origLink></entry>

<entry>
    <title>効率的にMTのテンプレートコーディングを行う</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/eyczkAfQnpU/997" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=997" title="効率的にMTのテンプレートコーディングを行う" />
    <id>tag:tech.u39.info,2009://5.997</id>
    
    <published>2009-01-19T15:14:49Z</published>
    <updated>2009-01-19T15:25:27Z</updated>
    
    <summary>ランチブログ：偏食偏在はいつもの通りMTで構築したのですが、ビュー部分のコーディ...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="MovableType" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;&lt;a href="http://lunch.u39.info/"&gt;ランチブログ：偏食偏在&lt;/a&gt;はいつもの通りMTで構築したのですが、ビュー部分のコーディングでは、こちらの便利なプラグインを利用しました。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.webcreativepark.net/2008/03/21-191325.html"&gt;MTのテンプレート開発で再構築を不要にするfastDevelopmentプラグイン：to-R&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MTのテンプレートコーディングで何が嫌かと言えば、あのもっさりとした管理画面です。特にバージョン4になって酷くなりました。しかも特定の箇所を継続して修正したい際、変更ボタン押下後に画面が再描画されるため、テキストフィールドのカーソルを再度該当する箇所に合わせる必要があります。これでは全く「コーディング→確認」のリズムがつかめません。&lt;/p&gt;

&lt;p&gt;管理画面を回避する方法としては、ファイルリンクを利用して外部エディタで編集する方法がありますが、ファイルが更新されたことをMTが検知する必要があるため、確認のたびに再構築作業が必要です(ダイナミックパブリッシングの場合は管理画面上での何らかの操作でOK?)。&lt;/p&gt;

&lt;p&gt;こちらのプラグインは、ダイナミックパブリッシング利用下において、ファイルシステムのテンプレートファイルの変更を、すぐに画面に反映・確認できるようにするものです。仕組みとしてはブートストラッパー(mtview.php)の処理をフックして、表示毎に古いテンプレートのキャッシュを破棄することにより、毎回新しい内容をファイルからロードして解釈(MT→Smarty→PHP[→キャッシュ])させ、実行・表示させているのかと思います。ていうか、こんなフックができるなんて知りませんでした。素晴らしい。&lt;/p&gt;

&lt;p&gt;とは言え、わざわざローカルで編集したファイルをSFTPでチマチマとアップロードする作業もアホくさいので、Eclipseで編集+アップロード→という流れか、ssfhsでサーバをマウントしてしまい、エディタで編集+直接保存という流れがメインになりそうです。&lt;/p&gt;

&lt;p&gt;さてさて、特にカスタムフィードの普及以降、MTはブログツールではなくCMSであるという考えがようやく認知されはじめ、SixApartのwebでも事例として紹介されていますが、最近の個人的にはもう少しプリミティブな機能で見ており、「MT = 標準的に設計されたDBスキーマ + カスタマイズ可能な管理画面セット + インターフェイス(Atom or XML-RPC)」である、という認識を持ちながらいろいろと活用を考えています。そんな話はまた追々。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/eyczkAfQnpU" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/997</feedburner:origLink></entry>

<entry>
    <title>ランチブログ「偏食偏在」をリリース</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/skDnlg4l-wQ/988" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=988" title="ランチブログ「偏食偏在」をリリース" />
    <id>tag:tech.u39.info,2009://5.988</id>
    
    <published>2009-01-11T09:39:24Z</published>
    <updated>2009-01-11T09:42:32Z</updated>
    
    <summary>ランチブログ「偏食偏在」をリリースしました。偏食偏在は、個人的に食べたランチを記...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="偏食偏在" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;ランチブログ「偏食偏在」をリリースしました。偏食偏在は、個人的に食べたランチを記録していくブログです。&lt;/p&gt;

&lt;p&gt;ランチというのは、お仕事の合間の重要な息抜きであり、楽しみの一つだと思います(楽しみを意図的に増やすのは良いことです)。わざわざそのブログを立ち上げた発端は「人は生涯、何回外でランチを取るのだろう」という疑問からで、個人でコツコツ記録し続けることで、食べログには勝てなくとも、そこそこのコンテンツ群になるのではないかと考えたからです。&lt;/p&gt;

&lt;p&gt;そのため「続ける」事を主眼に、&lt;/p&gt;

&lt;p&gt;・写真は携帯カメラでの撮影で十分&lt;br /&gt;
・写真のレタッチはしない&lt;br /&gt;
・説明は適当でいい&lt;br /&gt;
・チェーン店は極力掲載しない&lt;/p&gt;

&lt;p&gt;というポリシーでやっていきたいと思います。まだまだ、やりたいこと・いじりたいところは沢山あるのですが、サイトオープンを優先しました。&lt;/p&gt;

&lt;p&gt;現在は三軒茶屋のランチ情報のみを掲載していますが、今後地域を増やしていけるようにコーディングをしています。ちなみに名前の「偏在」はそこから来ており、一報の偏食は好きなものだけ食べているという意味です。&lt;/p&gt;

&lt;p&gt;どうぞよろしくお願いします。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://lunch.u39.info/"&gt;ランチブログ：偏食偏在&lt;/a&gt;&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/skDnlg4l-wQ" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/988</feedburner:origLink></entry>

<entry>
    <title>iPod touchで十分</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/J9yvHNRqNnA/965" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=965" title="iPod touchで十分" />
    <id>tag:tech.u39.info,2008://5.965</id>
    
    <published>2008-12-31T07:03:25Z</published>
    <updated>2008-12-31T07:05:28Z</updated>
    
    <summary>2008年は、iPhoneが日本上陸ということで騒がれた年でしたが、個人的にハマ...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="ハードウェアレビュー" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;2008年は、iPhoneが日本上陸ということで騒がれた年でしたが、個人的にハマっていたのが、その弟分とも言うべきiPod touchでした。iPhoneとの機能的な差異は、電話とGPSとカメラ機能だけなのですが、PDAやコンテンツビューアーとしての完成度は変わらず素晴らしく、煩わしい契約や月々の負担なしで手に入る、革命的な一品です。&lt;/p&gt;

&lt;p&gt;どうもiPodという名前が名前だけに、忘れられた存在というか、過小評価をされてしまっていないでしょうか？　数ヶ月前にWindows Mobile機を売り払い、iPod touchをAmazonで購入、こんな箱で届きました。今更ながら少々レビューしたいと思います。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://tech.u39.info/img/081228-1.jpg" alt="iPod touchの箱"/&gt;&lt;/p&gt;

&lt;p&gt;まずはPDAとして、必要なアプリケーションが揃っているのは言わずもがな。標準のアプリケーションでも十分な機能を有していますが、なんと言っても世界中のデベロッパーが注目しているデバイスで、役に立つアプリケーションから意味不明なアプリケーションまで次々とリリースしています。開発言語や、配布形態にやや難がありますが、しばらくこの流れは止まらないでしょう。&lt;/p&gt;

&lt;p&gt;いかに数々の制約の元、操作を最小化するかというPDAの永遠の課題に対して、タッチスクリーンと指先の操作UIという、iPod touch/iPhoneの回答は非常に優秀でした。その回答を端的に要約すれば、「モード」という概念を取っ払ってしまったということです。&lt;/p&gt;

&lt;p&gt;例えばピンチ、フリックという操作という指先の操作だけで、スクロールモードと、拡大・縮小モードの切り替えをシームレスに行うことができます。そこにボタンのON/OFFやメニュー表示は必要ありません。&lt;/p&gt;

&lt;p&gt;関連して、これはAppleの思想から来ているのか、そもそもPDAの割にはボタンが少なかったり、メニューや操作項目自体も少なめです。かといって機能が足りないとは感じず、心地よい割り切り感を感じます。&lt;/p&gt;

&lt;p&gt;このためMac同様、iPod touchは初心者にもかなり使いやすいのではないでしょうか。例えばWindowsのメタファーを知らない人が、いきなりWindows Mobileを使ってみるというのは困難です。誰でも使える、余計なボタンがないという利点を活かして、観光地などでiPod touchをレンタルして、観光客のガイドビューアーとして使うなど、様々な可能性が生まれてくると覆います&lt;/p&gt;

&lt;p&gt;あとPDAとして、本当に細かい部分で「良くできているなぁ」と思わざるを得ません。例えばキーボード周りだと、名前を英語で入力する欄には、最初の名前の文字と、半角スペース後の名字の文字は自動的に大文字にしてくれたり、アドレス入力欄で「.」を打った後に「.com」ボタンを押しても、「..com」にならずに自動修正しれくれます。&lt;/p&gt;

&lt;p&gt;他にも動画や音楽再生中にイヤホンがはずれてしまっても、一時停止になってスピーカーから音を出さずに済むような配慮もされているのもいいですね。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://tech.u39.info/img/081228-2.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;さて、コンテンツビューアーとしても文句はありません。&lt;/p&gt;

&lt;p&gt;ドキュメントビューアとしてサクサクとPDFを見ることができ、その様子を見せると快適性に誰もが驚きます。速度面で快適というのもありますが、なんと言ってもペンを持ってスクロールバーをいじったり、十字キーをぽちぽち押さなくても良いという操作性でしょう。ただ、なぜかメールなどの普通の文章の描画がやや遅いのが気になりますが。&lt;/p&gt;

&lt;p&gt;大きい画面なので、写真ビューアーとしても大活躍します。写真を撮るのが好きな人は、他の人に写真を見せるというのが大きな楽しみになっているかと思います。そんな時に、気軽にいつでも他の人に写真のストックを見せられたら嬉しいですよね。&lt;/p&gt;

&lt;p&gt;PC側との連携方法は、フォルダごと指定する方法と、iPhotoとシンクする方法がありますが、写真の並べ替えが気軽にできるため、やはり後者の方が遥かに使いやすく、Macを買わせるインセンティブの一つになります。&lt;/p&gt;

&lt;p&gt;バッテリーの持ちをそこまで気にしなければ、動画ビューアとしても活躍します。あらかじめMP4に変換した動画はもちろん、youtube動画を隙間時間に見ています。最初はあまり使わないだろうと思っていても、意外とイケます。&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
とまぁ、いろいろと並べてみましたがiPhoneを買わなくても、これだけ楽しめます。オフライン環境を前提とした使い方ですが、無線LAN環境だけでもできる強力な機能を備えており、個人的にはビジネスユースでも通用し、いろいろなソリューションが生まれてくると思います。もう一度言いますが、iPodという名前にだまされてはいけません...。&lt;/p&gt;

&lt;p&gt;欲を言えば、オフライン用途で割り切るのであれば、iPodをPCと接続した時のように、無線LAN環境に入ったら複数のアプリケーションデータを一斉に同期できる機能があればと思いました。現状、一つ一つアプリケーションを起動して、それぞれの同期ボタンを押さなければなりません。iPhoneだったらいつでも同期できるのでしょうけど。&lt;/p&gt;

&lt;p&gt;また、iPod touchがiPhoneくらいの厚みを持ってもいいので、バッテリーをもう少し持続させて欲しいと思います。そういう意味では、まだ全面的にiPhoneに移行する勇気はありません。フルブラウザは携帯で使ってますし、音楽に関してはいまだにiPod nanoと併用しています。音楽を入れなければiPod touchは8Gで十分です。&lt;/p&gt;

&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;&lt;div class="amazlet-image" style="float:left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0016AN68G/yusakuwtnb-22/ref=nosim/" name="amazletlink" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/412XodlBinL._SL160_.jpg" alt="Apple iPod touch 8GB" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0016AN68G/yusakuwtnb-22/ref=nosim/" name="amazletlink" target="_blank"&gt;Apple iPod touch 8GB&lt;/a&gt;&lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B0016AN68G/yusakuwtnb-22/ref=nosim/" title="Apple iPod touch 8GB" target="_blank"&gt;amazlet&lt;/a&gt; at 08.12.30&lt;/div&gt;&lt;/div&gt;&lt;div class="amazlet-detail"&gt;アップル (2008-09-10)&lt;br /&gt;売り上げランキング: 83&lt;br /&gt;&lt;/div&gt;&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;おすすめ度の平均: &lt;img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /&gt;&lt;/div&gt;&lt;img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /&gt; PDA としての評価&lt;br /&gt;&lt;img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /&gt; 値段以上の価値でした。&lt;br /&gt;&lt;img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /&gt; iPodよりはるかに買い！&lt;br /&gt;&lt;/div&gt;&lt;div class="amazlet-link" style="margin-top: 5px"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0016AN68G/yusakuwtnb-22/ref=nosim/" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="amazlet-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/J9yvHNRqNnA" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/965</feedburner:origLink></entry>

<entry>
    <title>ブルックス追加発注</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/u39technik/~3/9ximMh6Y1vE/950" />
    <link rel="service.edit" type="application/atom+xml" href="http://cms.tank.jp/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=950" title="ブルックス追加発注" />
    <id>tag:tech.u39.info,2008://5.950</id>
    
    <published>2008-12-18T15:52:41Z</published>
    <updated>2008-12-18T15:56:46Z</updated>
    
    <summary>先日のエントリーでBROOK'S(ブルックス)に手を出したことを紹介しましたが、...</summary>
    <author>
        <name />
        
    </author>
    
        <category term="生活・ワークスタイル" />
    
    <content type="html" xml:lang="ja" xml:base="http://tech.u39.info/">
        &lt;p&gt;先日のエントリーで&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+60PSZ6+5WS+C1DUQ&amp;a8ejpredirect=http%3A%2F%2Fwww.rakuten.co.jp%2Fbrooks%2F" target="_blank"&gt;BROOK'S(ブルックス)&lt;/a&gt;&lt;img border="0" width="1" height="1" src="http://www17.a8.net/0.gif?a8mat=1C8E7L+60PSZ6+5WS+C1DUQ" alt=""&gt;に手を出したことを紹介しましたが、早くもお試しセットが切れそうだったので、追加発注してみました。&lt;/p&gt;

&lt;p&gt;いろいろなパック(豆)が入っている「セット」は、選ぶ楽しみがあるのですが、自分に合わないパックも入っています。なので今回は、単品のをまとめ買いしてみました。セレクトしたのは、酸味も苦みもほど良い感じの「&lt;a href="http://px.a8.net/svt/ejp?a8mat=1C8E7L+60PSZ6+5WS+C1DUQ&amp;a8ejpredirect=http%3A%2F%2Fwww.rakuten.co.jp%2Fbrooks%2F" target="_blank"&gt;&lt;img border="0" width="1" height="1" src="http://www17.a8.net/0.gif?a8mat=1C8E7L+60PSZ6+5WS+C1DUQ" alt=""&gt;コロンビア&lt;/a&gt;」。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://tech.u39.info/img/081219-1.jpg" alt="BROOK'S"/&gt;&lt;/p&gt;

&lt;p&gt;マイルドな味なのでどの時間帯やシチュエーションにも合い、毎日飽きずにおいしく飲んでいます。送料込みで4,200円、160袋入りです。1袋換算で26.25円ですね。&lt;/p&gt;
        
    &lt;img src="http://feeds.feedburner.com/~r/u39technik/~4/9ximMh6Y1vE" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://tech.u39.info/950</feedburner:origLink></entry>

</feed>
