<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5014947095113341238</id><updated>2024-09-12T02:24:17.711+09:00</updated><category term="php"/><category term="mac"/><category term="javascript"/><category term="zend"/><category term="actionscript"/><category term="git"/><category term="mysql"/><category term="trac"/><category term="youtube"/><category term="apache"/><category term="pecl"/><category term="python"/><category term="twitter"/><category term="vim"/><title type='text'>kasahi memo</title><subtitle type='html'>基本的には技術メモです。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kasahi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-21941246410289186</id><published>2012-01-11T14:26:00.000+09:00</published><updated>2012-01-11T14:26:11.339+09:00</updated><title type='text'>ffmpegを使ってmp3をwavやoggに変換</title><content type='html'>&lt;p&gt;html5のvideoタグやaudioタグを使うときにwavやoggファイルが必要だったので。&lt;/p&gt;

&lt;p&gt;ffmpegを使う。&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;mp3 --&gt; wav&lt;/b&gt;&lt;/p&gt;
$ ffmpeg -i hoge.mp3 hoge.wav


&lt;p&gt;&lt;b&gt;mp3 --&gt; ogg&lt;/b&gt;&lt;/p&gt;
$ ffmpeg -i hoge.mp3 -vcodec libtheora -acodec libvorbis hoge.ogg</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/21941246410289186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/21941246410289186'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2012/01/ffmpegmp3wavogg.html' title='ffmpegを使ってmp3をwavやoggに変換'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-298701721556562516</id><published>2012-01-10T01:59:00.001+09:00</published><updated>2012-01-10T02:00:43.545+09:00</updated><title type='text'>macでmp4からmp3に変換（抽出）</title><content type='html'>&lt;p&gt;
&lt;a href=&quot;http://itunes.apple.com/us/app/wannaaudio/id402366512?mt=12&quot;&gt;WannaAudio&lt;/a&gt;を使う。
これで一発で抽出できる。
&lt;/p&gt;
&lt;p&gt;
・&lt;a href=&quot;http://itunes.apple.com/us/app/wannaaudio/id402366512?mt=12&quot;&gt;Mac App Store - WannaAudio&lt;/a&gt;
&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/298701721556562516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/298701721556562516'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2012/01/macmp4mp3.html' title='macでmp4からmp3に変換（抽出）'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-461064174562016374</id><published>2011-12-01T22:17:00.000+09:00</published><updated>2012-01-11T14:27:09.749+09:00</updated><title type='text'>macにffmpegをインストール</title><content type='html'>&lt;p&gt;mac portsから楽にインストールできる&lt;/p&gt;

&lt;p&gt;※手元のmac portsが古かったのでアップデート&lt;/p&gt;
$ sudo port selfupdat

&lt;p&gt;ffmpegとコーデックのインストール（xvid, mp3, H264を一緒にいれる)&lt;/p&gt;
$ sudo port install ffmpeg +gpl +lame +x264 +xvid</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/461064174562016374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/461064174562016374'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/12/macffmpeg.html' title='macにffmpegをインストール'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-651394375963412658</id><published>2011-07-16T04:45:00.005+09:00</published><updated>2013-05-12T04:03:50.528+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><title type='text'>さくらのVPSにgitのリポジトリをおいてmacから使う</title><content type='html'>さくらVPSを使って個人的なプロジェクトや設定ファイルのGitレポジトリ管理をしてみます。個人メモ。&lt;br /&gt;
（※gitosisなどの高度なgit管理は今回なし。あくまでも個人的にシンプルな管理で）&lt;br /&gt;
&lt;br /&gt;
1.さくらのVPS上でやること&lt;br /&gt;
&lt;br /&gt;
・gitをインストール&lt;br /&gt;
yumで直接インストールできないのでWebtaticリポジトリを追加、指定してインストール&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ rpm -ivh http://repo.webtatic.com/yum/centos/5/latest.rpm
$ yum -y install --enablerepo=webtatic git
&lt;/pre&gt;&lt;br /&gt;
・gitで使うアカウント作成（今回はkasahi）とりあえずwheelグループに追加&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ useradd kasahi
$ passwd kasahi
$ usermod -G wheel kasahi
$ id kasahi
uid=500(kasahi) gid=500(kasahi) groups=500(kasahi),10(wheel)
&lt;/pre&gt;&lt;br /&gt;
・/var/gitをリポジトリのルートにする。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ mkdir /var/git
$ chmod 775 /var/git
$ chown root:wheel /var/git
$ cd /var/git
$ mkdir demo.git
$ chmod 775 demo.git
$ chown root:wheel demo.git
$ cd demo.git
&lt;/pre&gt;・gitをshare用にinit&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ git init --bare --shared
Initialized empty shared Git repository in /var/git/demo.git/
&lt;/pre&gt;これで（空の）共用demo.gitリポジトリができた。&lt;br /&gt;
&lt;br /&gt;
この共用demo.gitにmacからアクセスしてみる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.続いて、mac上でやること&lt;br /&gt;
&lt;br /&gt;
・gitのインストール（macのportsから）&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port install git-core
&lt;/pre&gt;・git用のユーザ名とメールアドレスを設定&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ git config --global user.name &quot;Your Name&quot;
$ git config --global user.email you@example.com
&lt;/pre&gt;&lt;br /&gt;
・適当な場所で、さくらVPSで作ったdemo.gitリポジトリをcloneしてみる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ cd ~/tmp
$ git clone ***.***.***.***:/var/git/demo.git demo-clone
&lt;/pre&gt;&lt;br /&gt;
・空のdemo.gitリポジトリにファイルを追加してみる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ cd demo-clone
$ touch README.txt
$ git commit -am &quot;initial checkin&quot;

[master (root-commit) c045b23] initial checkin
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 README.txt
&lt;/pre&gt;&lt;br /&gt;
・demo.gitリポジトリにpushしてみる。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ git push ***.***.***.****:/var/git/demo.git master

Counting objects: 3, done.
Writing objects: 100% (3/3), 261 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To 182.48.45.221:/var/git/demo.git
 * [new branch]      master -&amp;gt; master
&lt;/pre&gt;&lt;br /&gt;
・状態などチェック&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ git log
$ git status
&lt;/pre&gt;※gitのコマンドは別途勉強。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ここまでで、macからさくらVPS上に立てたgit共用リポジトリを使うことができた。&lt;br /&gt;
&lt;br /&gt;
続いて、コマンドラインからだけではなくwebからもリポジトリの状態が見れるように、gitwebを導入する。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.gitwebの導入&lt;br /&gt;
&lt;br /&gt;
以下、さくらVPSで作業する。&lt;br /&gt;
&lt;br /&gt;
・まずapacheをインストール&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum -y install httpd
&lt;/pre&gt;・apacheを起動&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo service httpd start
&lt;/pre&gt;&lt;br /&gt;
・gitwebをインストール&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ yum -y install --enablerepo=webtatic gitweb
&lt;/pre&gt;・gitweb用の設定ファイルを修正&lt;br /&gt;
/etc/httpd/conf.d/git.conf というファイルが出来てるので修正&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;Alias /git /var/www/git

&amp;lt;Directory /var/www/git&amp;gt;
    Options +ExecCGI
    AddHandler cgi-script cgi 
    DirectoryIndex gitweb.cgi

    AuthType Basic
    AuthName &quot;Please enter your ID and password&quot;
    AuthUserFile /var/www/git/.htpasswd
    require valid-user
&amp;lt;/Directory&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
・一応basic認証をいれておく（==&gt; &lt;a href=&quot;http://www.luft.co.jp/cgi/htpasswd.php&quot;&gt;htpasswdファイル生成(作成)&lt;/a&gt;）※本当はIP制限もかけたほうが安全かも&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ vi /var/www/git/.htpasswd
&lt;/pre&gt;修正後、 apache を再起動。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo service httpd restart
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
次に /var/www/git/gitweb.cgi に git のリポジトリパスを設定する。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;72  # absolute fs-path which will be prepended to the project path
73  #our $projectroot = &quot;/pub/scm&quot;;
74  #our $projectroot = &quot;/var/lib/git&quot;;
75  our $projectroot = &quot;/var/git&quot;;        # &amp;lt;---- /var/git を追加
&lt;/pre&gt;&lt;br /&gt;
apacheに/var/gitを読み込む権限があるか確認&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ id apache
uid=48(apache) gid=48(apache) 所属グループ=48(apache)
&lt;/pre&gt;ないので追加&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo usermod -G wheel apache
&lt;/pre&gt;&lt;br /&gt;
あとは、***.***.***.***/gitにアクセスすれば、web経由でリポジトリが確認できる。&lt;br /&gt;
&lt;br /&gt;
便利。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/651394375963412658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/651394375963412658'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/07/vpsgitmac.html' title='さくらのVPSにgitのリポジトリをおいてmacから使う'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-2417884477507054031</id><published>2011-07-16T03:23:00.004+09:00</published><updated>2011-12-30T22:46:42.530+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>macにapache、mysql、phpをインストールしてWeb開発</title><content type='html'>macでWeb開発をするときにいつもやってることメモ。&lt;br /&gt;
&lt;br /&gt;
いわゆるMAMPとかを使わずに、apache、mysql、phpをインストールしてローカルで開発する手順です。自分用。&lt;br /&gt;
ドメインをhostsに設定して切り替えて開発します。&lt;br /&gt;
&lt;br /&gt;
・ MacPortsを最新版にアップデートしておく&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port -d selfupdate
$ sudo port -d sync
&lt;/pre&gt;・ apacheを入れる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port install apache2
&lt;/pre&gt;・ MySQLを入れる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port install mysql5 mysql5-server
&lt;/pre&gt;・ phpを入れる。オプションでpearとか有効にしておく&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port -d install php5 +apache2 +curl +mysql5 +pear +mbstring
&lt;/pre&gt;・apache moduleのphp5を有効に。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /opt/local/apache2/bin/apxs -a -e -n &quot;php5&quot; /opt/local/apache2/modules/libphp5.so
[activating module `php5&#39; in /opt/local/apache2/conf/httpd.conf]
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・MysqlのDBをセットアップ&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo -u mysql mysql_install_db5
&lt;/pre&gt;・サーバの起動&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
&lt;/pre&gt;・Mysqlのパスワードを設定（以下はrootアカウントを設定する場合）&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ /opt/local/lib/mysql5/bin/mysqladmin -u root password &#39;*********&#39;
&lt;/pre&gt;・Mysqlにログインしてみる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ /opt/local/lib/mysql5/bin/mysql -u root -p
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・apacheのconfigを修正&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /opt/local/apache2/conf/httpd.conf
&lt;/pre&gt;httpd.conf&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;IfModule dir_module&amp;gt;
    DirectoryIndex index.html index.php
&amp;lt;/IfModule&amp;gt;

&amp;lt;IfModule mime_module&amp;gt;
    AddType application/x-httpd-php .php .html .htm
&amp;lt;/IfModule mime_module&amp;gt;

# これをやらないと.htaccessが有効にならない
&amp;lt;Directory &quot;/opt/local/apache2/htdocs&quot;&amp;gt;
    AllowOverride All
&amp;lt;/Directory&amp;gt;

# Virtual hosts
Include conf/extra/httpd-vhosts.conf
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・apacheのVirtualHostを設定&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo cp /opt/local/apache2/conf/extra/httpd-vhosts.conf /opt/local/apache2/conf/extra/httpd-vhosts.conf_bak
$ sudo vim /opt/local/apache2/conf/extra/httpd-vhosts.conf
&lt;/pre&gt;httpd-vhosts.conf（※hogehoge.comを適当に読み替え）&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;#
# Virtual Hosts
#
NameVirtualHost *:80

&amp;lt;VirtualHost *:80&amp;gt;
    DocumentRoot &quot;/opt/local/apache2/htdocs/phpmyadmin&quot;
    ServerName phpmyadmin
    ErrorLog &quot;/opt/local/apache2/logs/error_log&quot;
    CustomLog &quot;/opt/local/apache2/logs/error_log&quot; common

    &amp;lt;Directory &quot;/opt/local/apache2/htdocs/phpmyadmin&quot;&amp;gt;
        Order deny,allow
        Allow from All 
    &amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;

&amp;lt;VirtualHost *:80&amp;gt;
    DocumentRoot &quot;/opt/local/apache2/htdocs/hogehoge.com&quot;
    ServerName hogehoge.com
    ServerAlias www.hogehoge.com
    ErrorLog &quot;/opt/local/apache2/logs/hogehoge.com/error_log&quot;
    CustomLog &quot;/opt/local/apache2/logs/hogehoge.com/access_log&quot; common

    &amp;lt;Directory &quot;/opt/local/apache2/htdocs/hogehoge.com&quot;&amp;gt;
        Order deny,allow
        Allow from All 
    &amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;・ログ用ディレクトリを作る&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo mkdir /opt/local/apache2/logs/hogehoge.com
$ sudo chmod 777 /opt/local/apache2/logs/hogehoge.com
&lt;/pre&gt;・apache再起動など&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /opt/local/apache2/bin/apachectl start
$ sudo /opt/local/apache2/bin/apachectl stop
$ sudo /opt/local/apache2/bin/apachectl restart
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・MySQL用の設定を変更&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /opt/local/etc/mysql5/my.cnf
&lt;/pre&gt;my.cnf&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;[mysqld]
max_allowed_packet=256M
&lt;/pre&gt;&lt;br /&gt;
・MySQL再起動など&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
&lt;/pre&gt;（※必要ならばDB流しこみ）&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /opt/local/lib/mysql5/bin/mysql -uroot -p****** dbname &amp;lt; ~/hogehoge.sql
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・pear関連&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pear install Cache_Lite
&lt;/pre&gt;など。&lt;br /&gt;
&lt;br /&gt;
・PHP Extension関連&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port install php5-mbstring
$ sudo port install php5-curl
$ sudo port install php5-mysql
$ sudo port install php5-iconv
($ sudo port install php5-imagick)
&lt;/pre&gt;&lt;br /&gt;
・hostsを編集&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/hosts
&lt;/pre&gt;/etc/hosts&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;127.0.0.1   localhost
127.0.0.1   phpmyadmin
127.0.0.1   hogehoge.com
&lt;/pre&gt;&lt;br /&gt;
・phpmyadminを設定&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ chmod 777 /opt/local/apache2/htdocs/
&lt;/pre&gt;phpmyadminを落としてくる（今回は phpMyAdmin-3.4.3.1-all-languages ）&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ mv ~/Downloads/phpMyAdmin-3.4.3.1-all-languages /opt/local/apache2/htdocs/.
$ cd /opt/local/apache2/htdocs/
$ ln -s phpMyAdmin-3.4.3.1-all-languages phpmyadmin
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
・phpの設定ファイルを修正&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
$ sudo vim /opt/local/etc/php5/php.ini
&lt;/pre&gt;php.ini&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;pdo_mysql.default_socket =/opt/local/var/run/mysql5/mysqld.sock
mysql.default_socket =/opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket =/opt/local/var/run/mysql5/mysqld.sock
short_open_tag = On
&lt;/pre&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2417884477507054031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2417884477507054031'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/07/macapachemysqlphp.html' title='macにapache、mysql、phpをインストールしてWeb開発'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-7755541005052583781</id><published>2011-07-15T02:44:00.003+09:00</published><updated>2011-07-15T02:49:49.195+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="vim"/><title type='text'>Eclipse（Ver3.7）とPDTを使ってPHP開発。あとgitも。</title><content type='html'>Eclipseでのphp開発メモ。あとgitも。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・&lt;b&gt;Eclipseのダウンロード&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.eclipse.org/downloads/&quot;&gt;Eclipse Downloads&lt;/a&gt;から、「Eclipse IDE for JavaScript Web Developers」のMAC OS X 64 bit版をダウロード。&lt;br /&gt;
Eclipseのバージョンは3.7 (indigo）でした。&lt;br /&gt;
&lt;br /&gt;
ダウンロードしたら、インストールして起動。&lt;br /&gt;
&lt;br /&gt;
はじめのworkspaceの設定は自分はDocumentRootにしています。&lt;br /&gt;
（macなので/opt/local/apache2/htdocs に設定）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・&lt;b&gt;プラグインPDT (PHP Development Tools) を入れる。&lt;/b&gt;&lt;br /&gt;
PHPの開発用プラグインを入れる。Eclipse3.7にはパッケージインされてなかったので別途入れる。&lt;br /&gt;
&lt;br /&gt;
メニューの「Help --&gt; Install New Software」から。&lt;br /&gt;
&lt;br /&gt;
Work Withは、プルダウンから「 Indigo - http://download.eclipse.org/releases/indigo 」を選択。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・&lt;b&gt;プラグインEgitを入れる。&lt;/b&gt;&lt;br /&gt;
gitを使いたいので、上記PDTと同じくindigoリポジトリからEgitを入れる。&lt;br /&gt;
&lt;br /&gt;
昔は別途インストールの必要があったみたいだけど、Eclipse3.7からは直接indigoリポジトリの中からインストールできるみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・&lt;b&gt;プラグインVrapperを入れる。&lt;/b&gt;&lt;br /&gt;
Eclipse上でvimキーバインドで開発できるプラグイン。基本はvimを使っているので。&lt;br /&gt;
&lt;br /&gt;
Vrapperのインストールは、Eclipseの更新サイトに&quot;http://vrapper.sourceforge.net/update-site/stable&quot;を設定してインストールする。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・&lt;b&gt;その他&lt;/b&gt;&lt;br /&gt;
Workspaceの文字設定をUTF-8にする。&lt;br /&gt;
「Preferences　→　General　→　 Workspace」をクリック。&lt;br /&gt;
その中の Text file encoding をUTF-8に変更。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;参考&lt;/b&gt;&lt;br /&gt;
・&lt;a href=&quot;http://d.hatena.ne.jp/yuroyoro/20100218/1266477264&quot;&gt;Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ゆろよろ日記&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://kaworu.jpn.org/kaworu/2009-01-10-1.php&quot;&gt;Eclipseの文字コードをutf-8に設定する&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://labs.unoh.net/2010/12/eclipsephp.html&quot;&gt;ウノウラボ by Zynga Japan: EclipseでPHP開発&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/7755541005052583781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/7755541005052583781'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/07/eclipsever37pdtphpgit.html' title='Eclipse（Ver3.7）とPDTを使ってPHP開発。あとgitも。'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-2687676406019802780</id><published>2011-06-01T05:07:00.000+09:00</published><updated>2011-10-30T05:11:40.463+09:00</updated><title type='text'>macにMail_MimeDecodeをインストール</title><content type='html'>メール投稿受付用
&lt;p&gt;
$ sudo pear install Mail_MimeDecode
&lt;/p&gt;
&lt;p&gt;
downloading Mail_mimeDecode-1.5.5.tgz ...
Starting to download Mail_mimeDecode-1.5.5.tgz (11,554 bytes)
.....done: 11,554 bytes
downloading Mail_Mime-1.8.2.tgz ...
Starting to download Mail_Mime-1.8.2.tgz (30,914 bytes)
...done: 30,914 bytes
install ok: channel://pear.php.net/Mail_Mime-1.8.2
install ok: channel://pear.php.net/Mail_mimeDecode-1.5.5
&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2687676406019802780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2687676406019802780'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/08/macmailmimedecode.html' title='macにMail_MimeDecodeをインストール'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-2741081615099189300</id><published>2011-03-04T11:09:00.000+09:00</published><updated>2011-03-04T11:09:59.558+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="actionscript"/><title type='text'>flash（ActionScript3.0）でクラスパスの設定とかComponentの配置とか。</title><content type='html'>完全なメモ。&lt;br /&gt;
flashでcomponents.swcとか、google analytics用のanalytics.swcを使いたい。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;windowsのflash CS3の場合&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
・クラスパスの設定&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;編集 --&amp;gt; 環境設定 --&amp;gt; ActionScript --&amp;gt; ActionScript3.0設定 --&amp;gt; クラスパスを追加（$(AppConfig)/ActionScript 3.0/Classes になってた）

&lt;/pre&gt;・実際の場所&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;C:\Program Files\Adobe\Adobe Flash CS3\ja\Configuration\ActionScript 3.0\Classes
&lt;/pre&gt;&lt;br /&gt;
・swcとかのコンポーネントの配置&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;C:\Program Files\Adobe\Adobe Flash CS3\ja\Configuration\Components
&lt;/pre&gt;の中にswcファイルを置く。&lt;br /&gt;
&lt;a href=&quot;http://code.google.com/apis/analytics/docs/tracking/flashTrackingSetupFlash.html&quot;&gt;Adobe Flash Setup - Google Analytics - Google Code&lt;/a&gt;あたりにも書いてある。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2741081615099189300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/2741081615099189300'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/03/flashactionscript30component.html' title='flash（ActionScript3.0）でクラスパスの設定とかComponentの配置とか。'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-8477560536881271809</id><published>2011-02-16T16:15:00.001+09:00</published><updated>2011-02-16T16:15:09.603+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>macでphp用のiconvをいれる</title><content type='html'>こんなエラーが出た&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;Fatal error: Call to undefined function iconv_get_encoding()
&lt;/pre&gt;&lt;br /&gt;
macのiconv関連php拡張が入ってないみたい。&lt;br /&gt;
&lt;br /&gt;
インストール&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo port install php5-iconv
&lt;/pre&gt;&lt;br /&gt;
これでOK。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8477560536881271809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8477560536881271809'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/macphpiconv.html' title='macでphp用のiconvをいれる'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-8199550373299946632</id><published>2011-02-16T15:00:00.002+09:00</published><updated>2011-02-16T15:11:31.567+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>macでyoutubeの動画をコマンドラインからダウンロード</title><content type='html'>youtubeの動画を落とすときにコマンドラインから楽に落としたい。&lt;br /&gt;
&lt;br /&gt;
探してみると、Pythonで書かれたYouTubeビデオダウンロードプログラムを見つけました。&lt;br /&gt;
-&lt;a href=&quot;http://rg3.github.com/youtube-dl/&quot;&gt;youtube-dl&lt;/a&gt;&lt;br /&gt;
Python 2.4以降が必要みたいです。&lt;br /&gt;
&lt;br /&gt;
「Download it」っていうボタンから、Pythonのプログラムをダウンロード。&lt;br /&gt;
ファイルがそのままテキストになってるので、自分は落としてきて、名前を「youtube-dl.py」とかにしました。&lt;br /&gt;
で、一応、chmodでパーミションを755にして実行権限を与えます。&lt;br /&gt;
&lt;br /&gt;
あとはコマンドラインから、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ ./youtube-dl.py http://www.youtube.com/watch?v=********* -l
&lt;/pre&gt;とyoutubeのビデオURLを渡すだけ。-lオプションを付けてるのは、つけないとデフォルトのflvファイル名が英数字の羅列になっちゃうので。-lを付ければ名前もちゃんとつけてくれます（日本語OK）。&lt;br /&gt;
&lt;br /&gt;
一応オプション。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ ./youtube-dl.py -h
Usage: youtube-dl.py [options] url...

Options:
  -h, --help            print this help text and exit
  -v, --version         print program version and exit
  -U, --update          update this program to latest stable version
  -i, --ignore-errors   continue on download errors
  -r LIMIT, --rate-limit=LIMIT
                        download rate limit (e.g. 50k or 44.6m)
  -R RETRIES, --retries=RETRIES
                        number of retries (default is 10)
  --playlist-start=NUMBER
                        playlist video to start at (default is 1)
  --playlist-end=NUMBER
                        playlist video to end at (default is last)
  --dump-user-agent     display the current browser identification

  Authentication Options:
    -u USERNAME, --username=USERNAME
                        account username
    -p PASSWORD, --password=PASSWORD
                        account password
    -n, --netrc         use .netrc authentication data

  Video Format Options:
    -f FORMAT, --format=FORMAT
                        video format code
    --all-formats       download all available video formats
    --max-quality=FORMAT
                        highest quality format to download

  Verbosity / Simulation Options:
    -q, --quiet         activates quiet mode
    -s, --simulate      do not download video
    -g, --get-url       simulate, quiet but print URL
    -e, --get-title     simulate, quiet but print title
    --get-thumbnail     simulate, quiet but print thumbnail URL
    --get-description   simulate, quiet but print video description
    --get-filename      simulate, quiet but print output filename
    --no-progress       do not print progress bar
    --console-title     display progress in console titlebar

  Filesystem Options:
    -t, --title         use title in file name
    -l, --literal       use literal title in file name
    -A, --auto-number   number downloaded files starting from 00000
    -o TEMPLATE, --output=TEMPLATE
                        output filename template
    -a FILE, --batch-file=FILE
                        file containing URLs to download (&#39;-&#39; for stdin)
    -w, --no-overwrites
                        do not overwrite files
    -c, --continue      resume partially downloaded files
    --cookies=FILE      file to dump cookie jar to
    --no-part           do not use .part files
    --no-mtime          do not use the Last-modified header to set the file
                        modification time
&lt;/pre&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8199550373299946632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8199550373299946632'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/macyoutube.html' title='macでyoutubeの動画をコマンドラインからダウンロード'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-834524879871506011</id><published>2011-02-16T12:41:00.001+09:00</published><updated>2011-02-16T12:42:17.773+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>macでyoutubeの動画をmp3にする</title><content type='html'>やり方やツールは色々あるけど。&lt;br /&gt;
&lt;br /&gt;
なるべく無劣化が希望なので、方法としては、flvを落とす→flvからmp3を抽出、がよさそう。&lt;br /&gt;
一度mp4とかにすると（よく分からないけど）一度変換が挟まってそうなので。&lt;br /&gt;
あと、なるべくブラウザの拡張ではなくアプリでやりたい。&lt;br /&gt;
&lt;br /&gt;
flvを落とす場合は、&lt;br /&gt;
-&lt;a href=&quot;http://www.chromeextensions.org/other/easy-youtube-video-downloader/&quot;&gt;Easy Youtube Video Downloader « Google Chrome Extensions&lt;/a&gt;&lt;br /&gt;
のChrome Extensionか、&lt;br /&gt;
-&lt;a href=&quot;http://www.macupdate.com/app/mac/24373/flash-video-downloader/&quot;&gt;Download Flash Video Downloader for Mac - Batch download and save streaming Flash videos. MacUpdate.com&lt;/a&gt;&lt;br /&gt;
のアプリを使うとよさげ。&lt;br /&gt;
&lt;br /&gt;
Chrome Extensionだとブラウザでダウンロードすることになるので、キューとかに入れられなくてちょっと嫌だなと思って始めはFlash Video Downloaderを使ったのだけど、なんけ結構ダウウンロードに失敗する。&lt;br /&gt;
なので、ブラウザ経由のダウンロードでもOKな人は、Chrome Extensionのほうが安定してるかも（個人の見解）。&lt;br /&gt;
&lt;br /&gt;
で、落としたflvをmp3に変換。iExtractを使う。&lt;br /&gt;
無劣化で音声を抽出できるらしい。&lt;br /&gt;
&lt;br /&gt;
-&lt;a href=&quot;http://www.macupdate.com/app/mac/26798/iextractmp3&quot;&gt;Download iExtractMP3 for Mac - Extracts MP3 from Flash video files. MacUpdate.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
iExtractでの抽出はめちゃくちゃ早い。数秒で終わる。&lt;br /&gt;
すばらしいです。ありがとうございます。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/834524879871506011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/834524879871506011'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/macyoutubemp3.html' title='macでyoutubeの動画をmp3にする'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-4315294365244708692</id><published>2011-02-16T11:01:00.001+09:00</published><updated>2011-02-16T11:01:37.794+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Imagickで画像を正方形にリサイズ</title><content type='html'>ImageMagickのphp版Imagickを使って画像を正方形にリサイズしたい。&lt;br /&gt;
&lt;br /&gt;
画像を正方形にリサイズする場合、&lt;br /&gt;
正方形に切り抜く場合と、余分な背景をうめて正方形にする2パターンがある&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;?php
// 正方形に切り取る
$im = new Imagick();
$im-&amp;gt;readImage(&#39;/home/kasahi/tmp/org.jpg&#39;);
$im-&amp;gt;cropThumbnailImage(80, 80);
$im-&amp;gt;writeImage(&#39;/home/kasahi/tmp/resize.jpg&#39;);
$im-&amp;gt;destroy();
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;?php
// 余りの背景を白でうめて正方形にする場合
$im = new Imagick();
$im-&amp;gt;readImage(&#39;/home/kasahi/tmp/org.jpg&#39;);
$sideNum = 300; // 一辺を300ピクセルにする
$im-&amp;gt;setImageBackgroundColor(new ImagickPixel(&#39;white&#39;));
if ($im-&amp;gt;getImageWidth() &amp;gt; $im-&amp;gt;getImageHeight()) {
    $im-&amp;gt;scaleImage($sideNum, 0); 
    $height = ($sideNum - $im-&amp;gt;getImageHeight()) / 2;
    $im-&amp;gt;spliceImage(0, $height, 0, 0); 
    $im-&amp;gt;spliceImage(0, $sideNum - $im-&amp;gt;getImageHeight(), 0, $im-&amp;gt;getImageHeight());
} else {
    $im-&amp;gt;scaleImage(0, $sideNum);
    $width = ($sideNum - $im-&amp;gt;getImageWidth()) / 2;
    $im-&amp;gt;spliceImage($width, 0, 0, 0); 
    $im-&amp;gt;spliceImage($sideNum - $im-&amp;gt;getImageWidth(), 0, $im-&amp;gt;getImageWidth(), 0); 
}
$im-&amp;gt;writeImage(&#39;/home/kasahi/tmp/resize.jpg&#39;);
$im-&amp;gt;destroy();
?&amp;gt;
&lt;/pre&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4315294365244708692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4315294365244708692'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/imagick.html' title='Imagickで画像を正方形にリサイズ'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-1817871228142424111</id><published>2011-02-16T10:36:00.001+09:00</published><updated>2011-02-16T15:45:26.850+09:00</updated><title type='text'>ImageMagick（imagik）がsegmentation faultするようになってしまった。</title><content type='html'>&lt;a href=&quot;http://kasahi.blogspot.com/2011/02/centos-55imagemagick.html&quot;&gt;kasahi memo: CentOS 5.5のImageMagickのバージョンを上げる&lt;/a&gt;のあとに、&lt;br /&gt;
cropThumbnailImage()とかspliceImage()とか使おうとすると、&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ php imagik_test.php
zsh: segmentation fault  php imagik_test.php
&lt;/pre&gt;とかsegmentation faultを起こすようになってしまった。&lt;br /&gt;
&lt;br /&gt;
むーと思って軽く調べると、&lt;br /&gt;
&lt;br /&gt;
-&lt;a href=&quot;http://article.gmane.org/gmane.comp.lib.qt.general/26147&quot;&gt;Re: 1 2 OT ImageMagick, OpenMP and QThread Mac OS X WORKAROUND ?&lt;/a&gt;&lt;br /&gt;
-&lt;a href=&quot;http://webcache.googleusercontent.com/search?q=cache:m9f7C4ysyFkJ:www.imagemagick.org/discourse-server/viewtopic.php%3Ff%3D2%26t%3D13560+disable+openmp+centos&amp;amp;cd=1&amp;amp;hl=ja&amp;amp;ct=clnk&amp;amp;gl=jp&amp;amp;client=firefox-a&amp;amp;source=www.google.co.jp&quot;&gt;ImageMagick • View topic - ImageMagick 6.4.8 running too slower&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
なんだかOpenMP周りがあやしい？&lt;br /&gt;
--disable-openmp&lt;br /&gt;
を付けてImageMagickを再コンパイルしたほうがよさげ。&lt;br /&gt;
&lt;br /&gt;
でもうちょっと見てみると、　&lt;br /&gt;
-&lt;a href=&quot;http://webcache.googleusercontent.com/search?q=cache:YISD---3E68J:d.hatena.ne.jp/rdera/20110202/1296645173+disable+openmp+centos&amp;amp;cd=5&amp;amp;hl=ja&amp;amp;ct=clnk&amp;amp;gl=jp&amp;amp;client=firefox-a&amp;amp;source=www.google.co.jp&quot;&gt;rubyでrmagickを使うために - rderaログ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
$ make
$ sudo make install
&lt;/pre&gt;このオプションでコンパイルしてたので先人に習ってそのままやって見る。&lt;br /&gt;
&lt;br /&gt;
結果、segmentation faultが起こらなくなりました。よかった。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1817871228142424111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1817871228142424111'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/imagemagickimagiksegmentation-fault.html' title='ImageMagick（imagik）がsegmentation faultするようになってしまった。'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-8706087051176093926</id><published>2011-02-15T22:34:00.003+09:00</published><updated>2011-02-16T10:38:53.888+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pecl"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>CentOS 5.5のImageMagickのバージョンを上げる</title><content type='html'>peclのimagickでgetImagePropertyを使おうと思ったら、なぜか&lt;br /&gt;
PHP Fatal error:  Call to undefined method Imagick::getImageProperties()&lt;br /&gt;
&lt;br /&gt;
マニュアルみたら、&lt;br /&gt;
&lt;a href=&quot;http://jp.php.net/manual/en/function.imagick-getimageproperty.php&quot;&gt;PHP: Imagick::getImageProperty - Manual&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ImageMagick version 6.3.2 or newer. &lt;br /&gt;
&lt;br /&gt;
になってる。&lt;br /&gt;
&lt;br /&gt;
で、CentOS5.5のImageMagickのバージョンを見てみると、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ convert -v
Version: ImageMagick 6.2.8 08/28/09 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
&lt;/pre&gt;で6.2.8だった。&lt;br /&gt;
&lt;br /&gt;
バージョンを上げないとimagickのgetImagePropertyが使えないみたい。&lt;br /&gt;
&lt;br /&gt;
ということで上げる。&lt;br /&gt;
&lt;br /&gt;
uninstall old ImageMagick&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum remove ImageMagick
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
get new ImageMagick sources&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
&lt;/pre&gt;&lt;br /&gt;
untar and configure, make, install&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ tar zxvf ImageMagick.tar.gz
$ cd ImageMagick-6.6.7-7
$ ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
$ make
$ sudo make install
&lt;/pre&gt;※configureのオプションに関しては↑を付けておいたほうがよさげ。&lt;br /&gt;
--&gt;&lt;a href=&quot;http://kasahi.blogspot.com/2011/02/imagemagickimagiksegmentation-fault.html&quot;&gt;kasahi memo: ImageMagick（imagik）がsegmentation faultするようになってしまった。&lt;/a&gt;。&lt;br /&gt;
&lt;br /&gt;
チェック。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ convert -v
Version: ImageMagick 6.6.7-7 2011-02-15 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
&lt;/pre&gt;OK。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
あとは、peclのimagickを元々使ってたので、一度削除して、再インストール&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl uninstall imagick
&lt;/pre&gt;&lt;br /&gt;
で、再インストール。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl install imagick
&lt;/pre&gt;&lt;br /&gt;
これでOK。&lt;br /&gt;
&lt;br /&gt;
そしてhttpdを再起動&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /etc/init.d/httpd restart
&lt;/pre&gt;&lt;br /&gt;
これで無事バージョンが上がって、関数も使えるようになりました。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8706087051176093926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8706087051176093926'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/centos-55imagemagick.html' title='CentOS 5.5のImageMagickのバージョンを上げる'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-9092649904067963840</id><published>2011-02-15T18:32:00.000+09:00</published><updated>2011-02-15T18:32:04.453+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>CentOS 5.5にImageMagick for PHPを入れる</title><content type='html'>手始めにpecl経由でインストールしようとすると、、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl install imagick

------------
.....................done: 93,920 bytes
13 source files, building
running: phpize
sh: phpize: command not foundERROR: `phpize&#39; failed
------------
&lt;/pre&gt;と言われる。phpizeがないみたい。&lt;br /&gt;
&lt;br /&gt;
phpizeを使うために、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ yum -y install php-devel
&lt;/pre&gt;を入れる。&lt;br /&gt;
&lt;br /&gt;
再挑戦&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl install imagick

------------
.....................done: 93,920 bytes
checking whether to enable the imagick GraphicsMagick backend... no
checking ImageMagick MagickWand API configuration program... configure: error: not found. Please provide a path to MagickWand-config or Wand-config pr
ogram.
ERROR: `/var/tmp/imagick/configure --with-imagick&#39; failed
------------
&lt;/pre&gt;&lt;br /&gt;
ありゃ、もっかいエラー。調べる。&lt;br /&gt;
&lt;br /&gt;
-参考&lt;br /&gt;
--&lt;a href=&quot;http://labs.uechoco.com/blog/2008/04/phppecl.html&quot;&gt;[php]PECLコマンドが成功するまでのエラー解決備忘録(imagick編) : うえちょこ＠ぼろぐ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ImageMagick-develを入れればよさげ。&lt;br /&gt;
というわけでyum経由でインストール。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum -y install ImageMagick-devel

------------
..........
Installed:
ImageMagick-devel.x86_64 0:6.2.8.0-4.1

Dependency Installed:
ghostscript-devel.x86_64 0:8.15.2-9.12.el5_5
lcms-devel.x86_64 0:1.18-0.1.beta1.el5_3.2 
libICE-devel.x86_64 0:1.0.1-2.1
libSM-devel.x86_64 0:1.0.1-3.1
libXext-devel.x86_64 0:1.0.1-2.1
libXt-devel.x86_64 0:1.0.2-3.2.el5

Dependency Updated:
ghostscript.x86_64 0:8.15.2-9.12.el5_5

Complete!
------------
&lt;/pre&gt;&lt;br /&gt;
入ったっぽい。　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
再々挑戦&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl install imagick

------------
........
Build process completed successfully
Installing &#39;/usr/lib64/php/modules/imagick.so&#39;
Installing &#39;/usr/include/php/ext/imagick/php_imagick_defs.h&#39;
Installing &#39;/usr/include/php/ext/imagick/php_imagick_shared.h&#39;
Installing &#39;/usr/include/php/ext/imagick/php_imagick.h&#39;
install ok: channel://pecl.php.net/imagick-3.0.1configuration option 
&quot;php_ini&quot; is not set to php.ini location
You should add &quot;extension=imagick.so&quot; to php.ini
------------
&lt;/pre&gt;&lt;br /&gt;
うまく行ったっぽい。&lt;br /&gt;
&lt;br /&gt;
iniファイルに追記（ファイル名はなんでもOK）&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/php.d/imagick.ini
&lt;/pre&gt;imagick.ini&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;extension=imagick.so
&lt;/pre&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/9092649904067963840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/9092649904067963840'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/02/centos-55imagemagick-for-php.html' title='CentOS 5.5にImageMagick for PHPを入れる'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-5065980210672758374</id><published>2011-01-26T01:11:00.001+09:00</published><updated>2011-01-26T01:12:23.276+09:00</updated><title type='text'>お名前のVPSでAPCを使う</title><content type='html'>環境はCentOS5.5です。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum install pcre-devel
$ sudo pecl listall apc

※もしかしたら事前にこのあたりも入れておいたほうがいいかも
( $ yum install -y php-devel )
( $ yum install -y httpd-devel )
&lt;/pre&gt;&lt;br /&gt;
iniファイル作成&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/php.d/apc.ini
extension=apc.so
&lt;/pre&gt;&lt;br /&gt;
再起動&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /etc/init.d/httpd restart
&lt;/pre&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/5065980210672758374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/5065980210672758374'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2011/01/vpsapc.html' title='お名前のVPSでAPCを使う'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-3347401395061489539</id><published>2010-12-24T16:29:00.001+09:00</published><updated>2010-12-24T16:30:25.165+09:00</updated><title type='text'>phpでmemcachedを使う</title><content type='html'>環境はCentOS5.5です。&lt;br /&gt;
&lt;br /&gt;
インストール&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum -y install emcached
$ sudo pecl install memcache
Build process completed successfully
Installing &#39;/usr/lib64/php/modules/memcache.so&#39;
install ok: channel://pecl.php.net/memcache-2.2.6
configuration option &quot;php_ini&quot; is not set to php.ini location
You should add &quot;extension=memcache.so&quot; to php.ini
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
iniファイル作成&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/php.d/memcache.ini
extension=memcache.so
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
立ち上げる&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ memcached -d -m 64 -p 11211
&lt;/pre&gt;&lt;br /&gt;
これで立ち上げます。&lt;br /&gt;
&lt;br /&gt;
オプションの意味はこんな感じです。&lt;br /&gt;
-d :        　デーモンモード&lt;br /&gt;
-m 64 :       64MBのメモリをストレージとして使用する&lt;br /&gt;
-p 11211 :    11211番ポートで待ち受ける&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
もしローカル環境からのアクセスのみ許可する場合はこう。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ memcached -d -m 64 -p 11211 -l 127.0.0.1
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
とりあえず使ってみる。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;?php
$memcache = new Memcache;
$memcache-&amp;gt;connect(&#39;localhost&#39;, 11211) or die (&quot;Can&#39;t connect&quot;);

// &#39;key&#39; = &quot;1&quot; で保存。圧縮はなし。期限は30秒。
$memcache-&amp;gt;set(&#39;key&#39;, &quot;hogehoge&quot;, false, 30);
print($memcache-&amp;gt;get(&#39;key&#39;));  //  hogehoge
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
ついでに、サービス起動されるように設定します。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo chkconfig memcached on
&lt;/pre&gt;&lt;br /&gt;
これで再起動してもmemcacheが自動的に起動されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;参考&lt;/b&gt;&lt;br /&gt;
・&lt;a href=&quot;http://sj6.org/memcached_install_with_php/&quot;&gt;memcachedをインストールしphpから使用する - 適当な日々&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/3347401395061489539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/3347401395061489539'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/12/phpmemcached.html' title='phpでmemcachedを使う'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-4593155501709622418</id><published>2010-12-24T16:24:00.000+09:00</published><updated>2010-12-24T16:24:29.824+09:00</updated><title type='text'>PHPとMecab関連のリンクメモ</title><content type='html'>個人的なメモ。&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://mecab.sourceforge.net/dic-detail.html&quot;&gt;MeCab の辞書構造と汎用テキスト変換ツールとしての利用&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://mecab.sourceforge.net/dic.html&quot;&gt;MeCab: 単語の追加方法&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://codezine.jp/article/detail/4991&quot;&gt;文章の中のはてなキーワードをハイライトさせる（1/7）：CodeZine&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://d.hatena.ne.jp/maxy/20080224/1203865731&quot;&gt;ubuntu 7.10にmecab 0.97をインストール - たまに書くメモ&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://yamashita.dyndns.org/blog/php-mecab-module-extension/&quot;&gt;PHPからMecabを利用する拡張モジュール | Weboo! Returns.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://blog.livedoor.jp/tuzzy92/archives/52150687.html&quot;&gt;FreeBSD(とLinux)雑記:明日のためにmecabをいれてみたｗ - livedoor Blog（ブログ）&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://d.hatena.ne.jp/eight-tree/20071025&quot;&gt;2007-10-25 - やぎLabs&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://page2.xrea.jp/#php_mecab&quot;&gt;MeCab を使って文章の形態素解析をする PHP 用の拡張モジュールです。&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://d.hatena.ne.jp/IT7C/20100830/1283097718&quot;&gt;CentOS 5.5 に形態素解析ライブラリMeCab 0.98を入れてみる - イノベートな非日常&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://somenotes.seesaa.net/category/6801984-1.html&quot;&gt;PHP: プログラミング関係ごちゃごちゃメモ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://d.hatena.ne.jp/pcmaster/20100211/p2&quot;&gt;PHPで都道府県、市区町村、町域名以降の住所分割を高速に行う方法 - 理想未来はどうなった？&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://lab.klab.org/young/2010/08/irc%e3%83%9c%e3%83%83%e3%83%88%e3%82%b3%e3%83%b3%e3%83%86%e3%82%b9%e3%83%88%e3%82%a8%e3%83%b3%e3%83%88%e3%83%aa-%e3%81%9d%e3%81%ae%e4%b8%80%e3%80%80%ef%bd%9e%e3%82%81%e3%81%8b%e3%81%b6%e3%81%a7/#more-1589&quot;&gt;IRCボットコンテストエントリ その一　～めかぶで夏を乗り切ろう&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://blog.zuzara.com/2006/07/05/95/&quot;&gt;MeCab PHP extension moduleを使ってみた&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;http://www.programming-magic.com/20080808173652/&quot;&gt;MeCabで形態素解析してみた【PHP】 - Programming Magic&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4593155501709622418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4593155501709622418'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/12/phpmecab.html' title='PHPとMecab関連のリンクメモ'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-1645507341892329073</id><published>2010-12-09T18:47:00.003+09:00</published><updated>2010-12-24T16:25:41.114+09:00</updated><title type='text'>「PHPとMecabでキーワード自動リンクを実装する」をCentOS 5.5上でやってみた。その2</title><content type='html'>&lt;a href=&quot;http://kasahi.blogspot.com/2010/12/phpmecabcentos-55.html&quot;&gt;前回の続きで&lt;/a&gt;、&lt;br /&gt;
続いて、独自の辞書ファイルを作る&lt;br /&gt;
&lt;br /&gt;
辞書に必要なファイル群を作成していく。&lt;br /&gt;
&lt;br /&gt;
まずurlのリストファイル。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;url.csv&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;Google,0,0,-5878,http://www.google.com/
Yahoo,0,0,-4472,http://www.yahoo.com/
ChaSen,0,0,-5878,http://chasen.org/
京都,0,0,-3200,http://www.city.kyoto.jp/
&lt;/pre&gt;&lt;br /&gt;
その他のファイルの中身は下記のように。&lt;br /&gt;
これらのファイルは末尾に改行があるとエラーになるので、入れないように。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;matrix.def&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;1 1
0 0 0
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;char.def&lt;/b&gt;&lt;br /&gt;
-----------&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;DEFAULT 1 0 0
SPACE   0 1 0
0x0020 SPACE
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;unk.def&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;DEFAULT,0,0,0,*
SPACE,0,0,0,*
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;dicrc&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;cost-factor = 800
bos-feature = BOS/EOS
output-format-type=autolink

node-format-autolink = &amp;lt;a href=&quot;%H&quot;&amp;gt;%M&amp;lt;/a&amp;gt;
unk-format-autolink = %M
eos-format-autolink = \n
&lt;/pre&gt;&lt;br /&gt;
ここまでできたら辞書をコンパイル。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ /usr/libexec/mecab/mecab-dict-index -f utf-8 -c utf-8
./pos-id.def is not found. minimum setting is used
reading ./unk.def ... 2
emitting double-array: 100% |###########################################| 
./pos-id.def is not found. minimum setting is used
reading ./url.csv ... 4
emitting double-array: 100% |###########################################| 
reading ./matrix.def ... 1x1

done!
&lt;/pre&gt;&lt;br /&gt;
これで辞書ファイルができたので、コマンドラインから使ってみる。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ mecab -d .
京都に行った
&amp;lt;a href=&quot;http://www.city.kyoto.jp/&quot;&amp;gt;京都&amp;lt;/a&amp;gt;に行った
&lt;/pre&gt;&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
つづいて、php_mecabから使ってみる。&lt;br /&gt;
sample.php&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;?php
$options = array(&#39;-d&#39;, &#39;上記辞書ファイルを作成したディレクトリへのパス&#39;);

$t = new MeCab_Tagger($options);
$str = &#39;京都についてGoogleとYahooで検索した。&#39;;

print $t-&amp;gt;parse($str);
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
実行&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ php sample.php
&amp;lt;a href=&quot;http://www.city.kyoto.jp/&quot;&amp;gt;京都&amp;lt;/a&amp;gt;について&amp;lt;a href=&quot;http://www.google.com/&quot;&amp;gt;Google&amp;lt;/a&amp;gt;と&amp;lt;a href=&quot;http://www.yahoo.com/&quot;&amp;gt;Yahoo&amp;lt;/a&amp;gt;で検索した。
&lt;/pre&gt;&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
※追記&lt;br /&gt;
url.csvのスコアを求めるサンプル&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;?php
$text = &#39;Yahoo&#39;;
$cost = (int)max(-36000, -400 * (pow(mb_strlen($text, &#39;UTF-8&#39;), 1.5)));
print($cost);
?&amp;gt;
&lt;/pre&gt;こんな感じで。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1645507341892329073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1645507341892329073'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/12/phpmecabcentos-552.html' title='「PHPとMecabでキーワード自動リンクを実装する」をCentOS 5.5上でやってみた。その2'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-3062846267911520893</id><published>2010-12-09T18:40:00.003+09:00</published><updated>2011-05-11T17:40:23.970+09:00</updated><title type='text'>「PHPとMecabでキーワード自動リンクを実装する」をCentOS 5.5上でやってみた</title><content type='html'>phpでキーワードを自動リンクする必要がでてきた。&lt;br /&gt;
&lt;br /&gt;
なので、&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://labs.unoh.net/2008/01/keyword-autolink-using-php-and-mecab.html&quot;&gt;ウノウラボ Unoh Labs: PHPとMecabでキーワード自動リンクを実装する&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
こちらのエントリを参考にphpとMecabで実装してみる。&lt;br /&gt;
&lt;br /&gt;
使用OSとバージョンは、CentOS 5.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まずMecabを入れる&lt;/h2&gt;&lt;br /&gt;
yumでためしにインストールしようとすると、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ yum install mecab mecab-ipadic mecab-devel
....
Setting up Install Process
No package mecab available.
No package mecab-ipadic available.
No package mecab-devel available.
Nothing to do
&lt;/pre&gt;となり、CentOS にはない。&lt;br /&gt;
&lt;br /&gt;
なのでこのあたりの記事を参考に、ソースからビルドする。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://codezine.jp/article/detail/4991&quot;&gt;文章の中のはてなキーワードをハイライトさせる（1/7）：CodeZine&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://kaworu.jpn.org/kaworu/2008-09-07-1.php&quot;&gt;CentOSにmecabとphp_mecabをインストールする&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ tar xvzf mecab-0.98.tar.gz
$ cd mecab-0.98
$ ./configure --with-charset=utf8
$ make
$ sudo make install
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
なお、次のmecab-ipadicを入れるときに、こんなメッセージが出ちゃう。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory
&lt;/pre&gt;&lt;br /&gt;
.soが読み込めてない。なので、&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vi /etc/ld.so.conf
--------------
/usr/local/lib # この一行を追加
--------------
&lt;/pre&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo ldconfig
&lt;/pre&gt;&lt;br /&gt;
として、読み込み先を追加しておく。&lt;br /&gt;
&lt;br /&gt;
で、mecab-ipadicを入れる。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf-8
$ make
$ sudo make install
&lt;/pre&gt;&lt;br /&gt;
入ったら動作テスト&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ mecab
MeCabのインストール　[Enter]
MeCab   名詞,固有名詞,組織,*,*,*,*
の      助詞,連体化,*,*,*,*,の,ノ,ノ
インストール    名詞,一般,*,*,*,*,インストール,インストール,インストール
&lt;/pre&gt;&lt;br /&gt;
ちゃんとうごいてる。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;php_mecabをいれる&lt;/h2&gt;&lt;pre class=&quot;prettyprint&quot;&gt;$ wget http://page2.xrea.jp/pub/php_mecab-0.2.0.tgz
$ tar xvzf php_mecab-0.2.0.tgz
$ cd php_mecab-0.2.0
$ phpize
$ ./configure --with-mecab=/usr/bin/mecab-config
$ make
$ sudo make install
Installing shared extensions:     /usr/lib64/php/modules/
&lt;/pre&gt;&lt;br /&gt;
.soを読み込ませる&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/php.d/mecab.ini
--------------
extension=mecab.so       &amp;lt;---- 一行を追加して保存
--------------
&lt;/pre&gt;&lt;br /&gt;
apacheを再起動&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /etc/init.d/httpd restart
&lt;/pre&gt;&lt;br /&gt;
ロードされてるか確認&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ php -m | grep mecab
mecab
&lt;/pre&gt;&lt;br /&gt;
OK。&lt;a href=&quot;http://kasahi.blogspot.com/2010/12/phpmecabcentos-552.html&quot;&gt;続いて、独自の辞書ファイルを作る。&lt;/a&gt;長くなりそうなので。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/3062846267911520893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/3062846267911520893'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/12/phpmecabcentos-55.html' title='「PHPとMecabでキーワード自動リンクを実装する」をCentOS 5.5上でやってみた'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-4570486226924721211</id><published>2010-11-26T10:27:00.004+09:00</published><updated>2010-11-26T10:43:21.870+09:00</updated><title type='text'>PHPerなら知っておいて損はない10の関数 : アシアルブログ</title><content type='html'>&lt;a href=&quot;http://blog.asial.co.jp/779&quot;&gt;PHPerなら知っておいて損はない10の関数 : アシアルブログ&lt;/a&gt;&lt;br /&gt;
さんの記事より。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PHPerなら知っておきたい10の関数が紹介されていました。メモ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/nl2br&quot;&gt;nl2br&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;改行を&amp;lt;br /&amp;gt;に変換&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/mb_strimwidth&quot;&gt;mb_strimwidth&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;文字を丸める&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/number_format&quot;&gt;number_format&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;数値をフォーマット&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/http_build_query&quot;&gt;http_build_query&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;配列からクエリ文字列を生成&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/parse_str&quot;&gt;parse_str&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;クエリ文字列から配列を生成&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://jp.php.net/array_filter&quot;&gt;array_filter&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;配列をフィルタリング&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/ucfirst&quot;&gt;ucfirst&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;文字列の先頭を大文字に変換&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/var_dump&quot;&gt;var_dump&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;変数に関する情報をダンプ&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/memory_get_peak_usage&quot;&gt;memory_get_peak_usage&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;メモリのピーク値を返却&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://jp.php.net/phpcredits&quot;&gt;phpcredits&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;PHPのクレジットを出力&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
phpcreditsは初めて知った。&lt;br /&gt;
色々な関数があるなぁ。&lt;/div&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4570486226924721211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/4570486226924721211'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/11/phper10.html' title='PHPerなら知っておいて損はない10の関数 : アシアルブログ'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-6930123048660861794</id><published>2010-11-24T10:51:00.002+09:00</published><updated>2010-11-24T10:51:18.578+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><title type='text'>macでpdfファイルを「プレビュー」で開きたい</title><content type='html'>pdfを見るアプリケーションといったらAdobe Readerが有名ですが、&lt;br /&gt;
正直起動が若干遅い。&lt;br /&gt;
&lt;br /&gt;
macには「プレビュー」という使えるアプリが元からついていて、&lt;br /&gt;
プレビューは起動がすごく早い。&lt;br /&gt;
なのでpdfファイルを開くときはデフォルトでプレビューを使いたい。&lt;br /&gt;
&lt;br /&gt;
■やり方&lt;br /&gt;
&lt;br /&gt;
・そのデータのアイコンを選択&lt;br /&gt;
・Command＋iで、インフォメーションを表示&lt;br /&gt;
・インフォメーションの「このアプリケーションで開く」を選択し、プレビューを指定&lt;br /&gt;
・で、その下の「すべてを変更ボタン」をクリックする。これでその他のpdfについてもプレビューで開くようになる</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/6930123048660861794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/6930123048660861794'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/11/macpdf.html' title='macでpdfファイルを「プレビュー」で開きたい'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-5122543362892325253</id><published>2010-11-22T18:40:00.001+09:00</published><updated>2010-11-22T18:45:45.955+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>jQueryで画面のスクロールに合わせて画像を読み込む「Lazy Load Plugin for jQuery」</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_Pf0RekLvWb4/TOo7wOzWGGI/AAAAAAAAaoU/Kuvnm4BqrNg/s1600/lazyload.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;http://1.bp.blogspot.com/_Pf0RekLvWb4/TOo7wOzWGGI/AAAAAAAAaoU/Kuvnm4BqrNg/s320/lazyload.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.appelsiini.net/projects/lazyload&quot;&gt;Lazy Load Plugin for jQuery&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
このjQueryプラグインを使えば、&lt;br /&gt;
ディスプレイで表示されている分だけ画像を読み込める。&lt;br /&gt;
&lt;br /&gt;
スクロールにあわせて画像をそのつど読み込むので、&lt;br /&gt;
ムダな画像読み込みがへる。&lt;br /&gt;
&lt;br /&gt;
なので、そのぶんページ表示速度が上がると！&lt;br /&gt;
&lt;br /&gt;
これから導入する。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/5122543362892325253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/5122543362892325253'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/11/jquerylazy-load-plugin-for-jquery.html' title='jQueryで画面のスクロールに合わせて画像を読み込む「Lazy Load Plugin for jQuery」'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Pf0RekLvWb4/TOo7wOzWGGI/AAAAAAAAaoU/Kuvnm4BqrNg/s72-c/lazyload.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-1837516460715173008</id><published>2010-09-28T12:05:00.001+09:00</published><updated>2010-09-28T12:06:45.563+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="zend"/><title type='text'>zendのgetParam()はデフォルト値を取れる</title><content type='html'>使い始めのころは知らなかった。&lt;br /&gt;
いちいち空チェックをやってた。&lt;br /&gt;
&lt;br /&gt;
たとえばページ番号なんかをpageパラメータから取得するときに&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$page = $this-&amp;gt;getRequest()-&amp;gt;getParam(&#39;page&#39;, 1);
&lt;/pre&gt;とかやれば、pageパラメータにデフォルトで1が入る。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
まぁ普通にソース見てもいいし、ドキュメントにも書いてあるので、&lt;br /&gt;
とりあえず、API Documentationは一通り見ようと思った。&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://framework.zend.com/apidoc/1.10/&quot;&gt;Zend Framework API Documentation&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1837516460715173008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/1837516460715173008'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/09/zendgetparam.html' title='zendのgetParam()はデフォルト値を取れる'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-5014947095113341238.post-8295222998309783159</id><published>2010-09-28T11:21:00.004+09:00</published><updated>2010-09-28T12:06:05.984+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="zend"/><title type='text'>Zend FrameworkのMimeType Validatorがうまく動かない。</title><content type='html'>Zendを使っていて、&lt;br /&gt;
Zend_File_Transfer_Adapter_Httpでファイルをアップロードするとき、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$adapter-&amp;gt;addValidator(&#39;MimeType&#39;, false, array(&#39;image/gif&#39;, &#39;image/png&#39;, &#39;image/jpg&#39;, &#39;image/jpeg&#39;, &#39;image/pjpeg&#39;, &#39;image/x-png&#39;)); // jpg, png, gif
&lt;/pre&gt;こんなんとか、&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$adapter-&amp;gt;addValidator(&#39;IsImage&#39;, false);
&lt;/pre&gt;こんなんとかを使ってMimeTypeのチェックをしようと思ったが、なぜかうまくいかない。&lt;br /&gt;
&lt;br /&gt;
見ると、&lt;br /&gt;
Zend_Validate_File_IsImage::NOT_DETECTED&lt;br /&gt;
のエラーを吐いてる。&lt;br /&gt;
&lt;br /&gt;
どうやらmimetypeが取得できないみたい。&lt;br /&gt;
&lt;br /&gt;
コードに問題はなさそうだし、なんか挙動がよくわからないので、Zend/Validate/File/MimeType.php の中身を見る。&lt;br /&gt;
&lt;br /&gt;
追っていくと、途中の&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;} else if (!(class_exists(&#39;finfo&#39;, false))) {
&lt;/pre&gt;&lt;br /&gt;
に引っかかって Exceptionが飛んでる。&lt;br /&gt;
&lt;br /&gt;
どうやらfinfoがないみたい。&lt;br /&gt;
調べると pecl経由でfileinfoを入れればよさそう。&lt;br /&gt;
（自分の環境はCentOS 5.5）&lt;br /&gt;
&lt;br /&gt;
一応チェック&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ php -i | grep fileinfo
（何も出ない）
&lt;/pre&gt;&lt;br /&gt;
なので、やっぱり入ってないみたい。&lt;br /&gt;
うーむ、しかし内部的に finfo_open()を使ってるんだなー。。。&lt;br /&gt;
&lt;br /&gt;
というわけで、fileinfoをインストール。&lt;br /&gt;
&lt;br /&gt;
peclでphpizeを使うため、手始めにphp-develをインストール。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo yum install php-devel

.....

Installed:
  php-devel.x86_64 0:5.2.10-1.el5.centos

Complete!
&lt;/pre&gt;&lt;br /&gt;
続いて、peclコマンドでfileinfoをインストール。&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo pecl install fileinfo

.....

Build process completed successfully
Installing &#39;/usr/lib64/php/modules/fileinfo.so&#39;
install ok: channel://pear.php.net/Fileinfo-1.0.4
&lt;/pre&gt;&lt;br /&gt;
これでOK。&lt;br /&gt;
あとは設定ファイルに書いてモジュールをロードする。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo vim /etc/php.d/fileinfo.ini

extension=fileinfo.so
&lt;/pre&gt;&lt;br /&gt;
で再起動。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ sudo /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
&lt;/pre&gt;&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;$ php -i | grep fileinfo
/etc/php.d/fileinfo.ini,
fileinfo
fileinfo support =&amp;gt; enabled
&lt;/pre&gt;&lt;br /&gt;
enabledになってればOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これでMimeTypeのチェックがちゃんと動いた。</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8295222998309783159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5014947095113341238/posts/default/8295222998309783159'/><link rel='alternate' type='text/html' href='http://kasahi.blogspot.com/2010/09/zend-frameworkmimetype-validator.html' title='Zend FrameworkのMimeType Validatorがうまく動かない。'/><author><name>kasahi</name><uri>http://www.blogger.com/profile/15378056932964538053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwt8oQPEBqJ_o2zhMffJJ6nqWqHatVfz9ndOlheX92Q9dHJtVckveL6tEWIW9dSsUFbJFvIYlB1E2GXu72FGIgjlhvKmead-11Iwx2Bk_Lt0EQs4OqHHiGe6QMeLXh8m8/s220/2322319589_f81091a9a1_m.png'/></author></entry></feed>