<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>koba206の開発WIKI</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/" />
    <link rel="self" type="application/atom+xml" href="http://www.koba206.com/dev-wiki/atom.xml" />
    <id>tag:www.koba206.com,2008-11-17:/dev-wiki//1</id>
    <updated>2010-03-09T01:54:40Z</updated>
    <subtitle>日常プログラミングしていて、これは覚えておいたほうがいいと思ったことを載せています。
Java, C++, Perl, ActionScript2/3, JavaScript などなど</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.21-ja</generator>

<entry>
    <title>CVSのsshextをコマンドラインでする方法</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/03/cvssshext.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/03/cvssshext.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.38</id>

    <published>2010-03-09T01:39:52Z</published>
    <updated>2010-03-09T01:54:40Z</updated>

    <summary>Eclipseでsshextを使ってCVSに接続しているアナタ達へMACとかLi...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="cvs" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cvs" label="cvs" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sshext" label="sshext" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[Eclipseでsshextを使ってCVSに接続しているアナタ達へ<br /><br />MACとかLinux上で簡単にコマンドラインからCVSに接続することができます。<br />まずは~/.bashrcに以下の情報を入力<br /><br /><blockquote>export CVS_RSH="ssh"<br />export CVSROOT=":ext:&lt;username&gt;@&lt;cvsserverアドレス&gt;:/path/to/cvsroot"<br /><br />alias cvsstatus = "cvs status | grep Status | grep -v Up"<br />alias cvsupdate = "cvs update -P -C -d"<br /></blockquote><br />でこれを適用後、CVSチェックアウトしたら完了です。<br /><br /><blockquote>cvs -d $CVSROOT checkout プロジェクト名<br /></blockquote><br />参照：http://hurring.com/scott/cvs_ssh<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>高速検索コマンド</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/02/post-1.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/02/post-1.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.37</id>

    <published>2010-02-03T01:05:55Z</published>
    <updated>2010-02-03T01:08:12Z</updated>

    <summary>通常検索する場合、grep -H &quot;検索言葉&quot; ***.txt 又は grep ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[通常検索する場合、<code>grep -H "検索言葉" ***.txt 又は </code><code>grep -H "検索言葉" * <br />だけど、grepだと時間が掛かる。ファイル数が多い場合はかなり時間が掛かる。<br /></code><br />その場合は↓　高速検索だ<br />for i in `find ./`; do grep -H "検索言葉" $i; done ]]>
        
    </content>
</entry>

<entry>
    <title>ImageMagickとPerlMagickのインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/12/imagemagickperlmagick.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/12/imagemagickperlmagick.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.36</id>

    <published>2009-12-19T06:10:59Z</published>
    <updated>2009-12-19T06:23:48Z</updated>

    <summary>ImageMagick : http://www.imagemagick.org...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="imagemagick" label="ImageMagick" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlmagick" label="PerlMagick" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />ImageMagick : http://www.imagemagick.org/script/index.php<br />PerlMagick : http://www.imagemagick.org/script/perl-magick.php<br />PerlMagick cpan : http://search.cpan.org/~jcristy/PerlMagick/<br /><br /><b><u>ImageMagickのインストール</u></b><br /><br /><blockquote><span class="crtin">tar xvfz ImageMagick.tar.gz</span><br /><span class="crtin"></span><span class="crtprompt"></span><span class="crtin">cd ImageMagick-6.5.8</span><span class="crtout"></span><span class="crtprompt"> </span><br /><span class="crtprompt"></span><span class="crtin">./configure</span><span class="crtout"></span><span class="crtprompt"> </span><br /><span class="crtprompt"></span><span class="crtin">make</span><br /><span class="crtin">sudo make install</span><br /><span class="crtin">make check</span><br /></blockquote>make checkでエラーが出なかったらOK<br />Ubuntuの方は ~/.bashrc　に　export LD_LIBRARY_PATH=/usr/local/lib　を追加する<br /><br /><u><b>PerlMagickのインストール</b></u><br /><br />ImageMagickのソースディレクトリにそのバージョンに適用しているPerlMagickが入っているのでそれを使う<br /><br /><blockquote>perl Makefile.pl<br />make<br />sudo make install<br /><br /></blockquote>私の場合はmake中に下記のエラーが出た。<br /><br /><blockquote><font style="font-size: 0.8em;">LD_RUN_PATH="/usr/local/src/ImageMagick-6.5.8-6/PerlMagick/../magick/.libs:/usr/lib" cc&nbsp; -L../magick/.libs -lMagickCore -shared -O2 -L/usr/local/lib -fstack-protector&nbsp; Magick.o&nbsp; -o blib/arch/auto/Image/Magick/Magick.so &nbsp;&nbsp;&nbsp; \<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; -L/usr/local/src/ImageMagick-6.5.8-6/PerlMagick/../magick/.libs -lMagickCore -lperl -lm&nbsp; &nbsp;&nbsp;&nbsp; \<br />&nbsp;&nbsp;&nbsp; &nbsp; <br />/usr/bin/ld: cannot find -lperl<br />collect2: ld returned 1 exit status<br />make: *** [blib/arch/auto/Image/Magick/Magick.so] Error 1</font><br /></blockquote><br />これはlibperlが見つからないため。<br />&nbsp;<br />sudo apt-get install libperl-dev<br /><br />で入る。これでもう一度make &amp;&amp; make installインストールをしたら問題なく入る<br /><br /><br /><br /><br /><br /><blockquote><span class="crtin"></span></blockquote><span class="crtin"><br /><br /></span>]]>
        
    </content>
</entry>

<entry>
    <title>[android] ログを表示する方法</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/12/android.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/12/android.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.35</id>

    <published>2009-12-04T04:33:19Z</published>
    <updated>2009-12-04T05:37:53Z</updated>

    <summary>コマンドラインを立ち上げてAndroid SDKのtoolsフォルダーまでいくC...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="android" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[コマンドラインを立ち上げてAndroid SDKのtoolsフォルダーまでいく<br /><br />C:\eclipse-android\android-sdk-windows\tools&gt;<br />C:\eclipse-android\android-sdk-windows\tools&gt;adb logcat<br /><br />C:\eclipse-android\android-sdk-windows\tools&gt;adb logcat *:I <br />↑Infoだけ出力したい場合<br /><br />と入力すれば、<br />ソース側で<br />import android.util.Log;<br /><br />Log.i("Hello World");<br /><br />などしたものは全部出力されますよ。<br /><br />------------------------------------------------------<br />出力モード：<br />Log.<span class="me1">v</span> <span class="br0">(</span><span class="kw1">for</span> verbose<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">d</span> <span class="br0">(</span><span class="kw1">for</span> debug<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">i</span> <span class="br0">(</span><span class="kw1">for</span> info<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">w</span> <span class="br0">(</span><span class="kw1">for</span> warnings<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">e</span> <span class="br0">(</span><span class="kw1">for</span> errors<span class="br0">)<br /><br />参考サイト： http://developer.android.com/guide/developing/tools/adb.html<br /><br /></span>]]>
        
    </content>
</entry>

<entry>
    <title>client denied by server configuration</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/09/client-denied-by-server-configuration.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/09/client-denied-by-server-configuration.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.34</id>

    <published>2009-09-14T04:54:12Z</published>
    <updated>2009-09-14T05:02:19Z</updated>

    <summary>Apache 2.2を再インストールして、mod_perlを使ってCatalys...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="apache" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />Apache 2.2を再インストールして、mod_perlを使ってCatalystを起動する設定にした。<br />Catalyst内のページにアクセスしようとするとApacheのログに下記のエラーが出てた。<br /><br />[Mon Sep 14 13:48:50 2009] [error] [client 203.112.27.142] client denied by server configuration: /www/dev_koba206/cpanauthors, referer: http://www.koba206.com/<br /><br />何が原因か探していたら、server confのアクセス権限の設定がApache 2.20から変わっていた。<br /><br />Apache 2.0のは<br />&lt;Directory &gt;
    Options FollowSymLinks
    AllowOverride None
&lt;/Directory&gt;
<br /><br />Apache 2.20のは<br />&lt;Directory&gt;
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
&lt;/Directory&gt;<br /><br />このセキュリティー強化設定でvhostのdocrootへのアクセス拒否を起こしていたのであった。<br /><br />コメントアウトしたらOKになったけど、セキュリティー上どうなんだろ。。 <br />]]>
        
    </content>
</entry>

<entry>
    <title>[django, python, mysqldb] Djangoセットアップ</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb-django.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb-django.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.33</id>

    <published>2009-07-05T12:21:47Z</published>
    <updated>2009-07-05T12:47:04Z</updated>

    <summary>djangoをインストール後、新しいウェブアプリケーション・ディレクトリを作成す...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Python" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="django" label="Django" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[djangoをインストール後、新しいウェブアプリケーション・ディレクトリを作成する。<br /><b>$ django-admin.py startproject &lt;ウェブアプリケーション名&gt;</b><br /><br />作成したウェブアプリをテスト起動するには<b><br />$ python manage.py runserver localhost:8000</b><br /><br />ウェブアプリケーションの<br /><ul class="simple"><li><a title="Django's authentication framework." class="reference external" href="http://docs.djangoproject.com/en/dev/topics/auth/#module-django.contrib.auth"><tt class="xref docutils literal"><span class="pre">django.contrib.auth</span></tt></a> -- An authentication system.</li><li><a title="Provides generic interface to installed models." class="reference external" href="http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#module-django.contrib.contenttypes"><tt class="xref docutils literal"><span class="pre">django.contrib.contenttypes</span></tt></a> -- A framework for content types.</li><li><a title="Provides session management for Django projects." class="reference external" href="http://docs.djangoproject.com/en/dev/topics/http/sessions/#module-django.contrib.sessions"><tt class="xref docutils literal"><span class="pre">django.contrib.sessions</span></tt></a> -- A session framework.</li><li><a title="Lets you operate multiple web sites from the same database and Django project" class="reference external" href="http://docs.djangoproject.com/en/dev/ref/contrib/sites/#module-django.contrib.sites"><tt class="xref docutils literal"><span class="pre">django.contrib.sites</span></tt></a> -- A framework for managing multiple sites
with one Django installation.</li></ul>を適用させるにはDBにテーブルを作る必要がある。それをするには下記のコマンドで実行<br /><br /><b>$ python manage.py syncdb</b><br />Creating table auth_permission<br />Creating table auth_group<br />Creating table auth_user<br />Creating table auth_message<br />Creating table django_content_type<br />Creating table django_session<br />Creating table django_site<br /><br />You just installed Django's auth system, which means you don't have any superusers defined.<br />Would you like to create one now? (yes/no): yes<br />Username (Leave blank to use 'tkobayashi'):<br />E-mail address: koba206@gmail.com<br />Password:<br />Password (again):<br />Superuser created successfully.<br />Installing index for auth.Permission model<br />Installing index for auth.Message model<br /><br />参考URL：<br />http://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>[django, python, mysqldb] mysqldbインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.32</id>

    <published>2009-07-05T12:03:21Z</published>
    <updated>2009-07-05T12:20:45Z</updated>

    <summary>DjangoでMySQLを使う際にはまずMySQLｄｂをインストールする必要があ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Python" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mysqldb" label="MySQLdb" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[DjangoでMySQLを使う際にはまずMySQLｄｂをインストールする必要がある。<br /><br />#python<br />&gt;&gt;&gt; import MySQLdb<br />Traceback (most recent call last):<br />&nbsp;&nbsp; File "&lt;stdin&gt;", line 1, in ?<br /><pre>ImportError: No module named MySQLdb<br />とMySQLdbが入っていないエラーが出る。<br /></pre>pythonではapt-getみたいな自動インストールツールがある。それがeasy_install。これを使うには、まずsetuptoolsをインストールする必要がある。<br /><br />wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py2.5.egg#md5=fe67c3e5a17b12c0e7c541b7ea43a8e6<br />sh setuptools-0.6c9-py2.5.egg<br /><br /><strike>wget http://sourceforge.net/projects/mysql-python/files/mysql-python-test/MySQL_python-1.2.3c1-py2.6-linux-i686.egg<br />easy_install MySQL_python-1.2.3c1-py2.6-linux-i686.egg</strike><br /><br />↓結局こっちのほうがうまくいった<br />apt-get install python-mysqldb<br />apt-get install libmysqlclient15-dev<br /><br />root@koba206:/usr/local/src# python<br />Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)<br />[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2<br />Type "help", "copyright", "credits" or "license" for more information.<br />&gt;&gt;&gt; import MySQLdb<br /><br />↑エラーが出なかったので、これでOK<br /><br />参考URL<br />http://sourceforge.net/projects/mysql-python/files/<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>iPhoneでmp4ファイルを途中再生対応について</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/06/iphonemp4.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/06/iphonemp4.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.31</id>

    <published>2009-06-02T05:14:40Z</published>
    <updated>2009-06-02T06:00:25Z</updated>

    <summary>nginxではpsuedo streamingという途中再生が可能になる機能に対...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<pre class="wiki"><a href="http://nginx.net/">nginx</a>ではpsuedo streamingという途中再生が可能になる機能に対応している。</pre><pre class="wiki">たとえば、ファイル名の後に ?start=60　を付けたら最初から1分後からの動画をリクエストできるようになっている。</pre><pre class="wiki">これをiPhoneでも試してみようと思ったが、少し工夫が必要だったのでここに記載する。</pre><pre class="wiki">iPhoneで再生可能なのはmp4ファイルで、videoがh.264、audioがaacだ。</pre><pre class="wiki">&nbsp;</pre><pre class="wiki"><u><strong>Ngix＆mp4ストリーミングモジュールインストール方法</strong></u></pre><pre class="wiki">①</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/
wget http://www.<span class="searchword0">nginx</span>.eu/download/sources/<span class="searchword0">nginx</span>-0.7.9.tar.gz
tar zxvf <span class="searchword0">nginx</span>-0.7.9.tar.gz
</pre></blockquote>
<p>&nbsp;②</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/
svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx <span class="searchword0">nginx</span>_http_h264_<span class="searchword2">stream</span>ing
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split <span class="searchword0">nginx</span>_http_h264_<span class="searchword2">stream</span>ing
</pre></blockquote>
<p>③&nbsp;</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/<span class="searchword0">nginx</span>-0.7.9
./configure --add-module=/usr/local/src/nginx_http_h264_streaming --sbin-path=/usr/local/sbin --with-debug
make
sudo make install</pre></blockquote>
<p>④</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>&nbsp;vi /usr/local/<span class="searchword0">nginx</span>/conf/<span class="searchword0">nginx</span>.conf</p></blockquote>
<p>下記を追加（43行目ぐらい）：</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">location ~ \.<span class="searchword1">mp4</span>$ {
  <span class="searchword1">mp4</span>;
}</pre></blockquote><pre class="wiki">⑤起動</pre><pre class="wiki"><blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">sudo /usr/local/sbin/<span class="searchword0">nginx</span>
</pre></blockquote></pre>
<p align="center">-------------------------------------------------------------------------------------------------------</p>
<p align="left">モジュールのSVN(iphone再生対応しているブランチ)：</p>
<p><a href="http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx">http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx</a></p>
<p><a href="http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split">http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split</a></p>
<p>&nbsp;</p>
<p>参照：</p>
<p><a href="http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2">http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2</a>&nbsp;- Nginxインスト方法</p>
<p>（ここに記載されているmod_h264_streamingはiPhone再生に対応していない）</p>
<p><a href="http://h264.code-shop.com/trac/discussion/1/18">http://h264.code-shop.com/trac/discussion/1/18</a>&nbsp;- iPhone range requestの件</p>
<p><a href="http://h264.code-shop.com/trac/wiki/ReleaseNotes-Version2">http://h264.code-shop.com/trac/wiki/ReleaseNotes-Version2</a>&nbsp;iPhone range requestに対応しているバージョン</p>
<p>&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Perl5.10からpseudohashes使えない件</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/perl510pseudohashes.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/perl510pseudohashes.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.30</id>

    <published>2009-05-28T07:06:02Z</published>
    <updated>2009-05-28T08:45:43Z</updated>

    <summary>Perl5.10以前ではPseudo-hashesを使っても「Pseudo-ha...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />Perl5.10以前ではPseudo-hashesを使っても「Pseudo-hashes are deprecated」とWarningが出るだけだったが、Perl5.10では使えなくなっている。Restricted hashesを使うように推奨されている。<br /><br />もちろん、Pseudo-hashesは使わないほうがいいのだが、どうしてもという時がある。<br />その時は、Class::PseudoHash モジュールを使うとPseudo-hashesをPerl5.10でも使えることができる。みたい。。<br /><br /><br />参照：<a href="http://books.google.co.jp/books?id=1bbjLxkBLaMC&amp;pg=PA130&amp;lpg=PA130&amp;dq=perl+Pseudo-hashes+foreach&amp;source=bl&amp;ots=GfdQLyUNOA&amp;sig=urMcjtNYqXddUtOYe1SSdXGno74&amp;hl=en&amp;ei=-TYeSqjOK8aIkAX5oq2ODQ&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=5#PPA131,M1">Pro Perl</a><br />]]>
        
    </content>
</entry>

<entry>
    <title>CPANモジュールをローカルにインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/cpan-1.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/cpan-1.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.29</id>

    <published>2009-05-28T01:45:50Z</published>
    <updated>2009-05-28T05:30:30Z</updated>

    <summary>通常root権限がないとCPANモジュールをインストールする時に権限がなくてエラ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[通常root権限がないとCPANモジュールをインストールする時に権限がなくてエラーが発生する。<br />これを回避することができる。自分にフルアクセスがあるホームディレクトリに全部入れることができる。<br /><br />perl -MCPAN -e shell<br /><br /><blockquote><strike>cpan[6]&gt; o conf makepl_arg "LIB=~/perl/lib \</strike><br /><strike>&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN1DIR=~/perl/man/man1 \</strike><br /><strike>&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN3DIR=~/perl/man/man3"</strike><br /><strike>&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=~/perl/lib INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3]</strike><br /><strike>Please use 'o conf commit' to make the config permanent!</strike><br /></blockquote>↑フルパスじゃないとダメみたい<br /><br /><blockquote>cpan[3]&gt; o conf makepl_arg "LIB=/mnt/nfs/home/tkobayashi/perl/lib \<br />&nbsp;&nbsp;&nbsp; &gt; PREFIX=/mnt/nfs/home/tkobayashi/perl \<br />&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 \<br />&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3"<br />&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=/mnt/nfs/home/tkobayashi/perl/lib PREFIX=/mnt/nfs/home/tkobayashi/perl INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3]<br />Please use 'o conf commit' to make the config permanent!<br /></blockquote><br />↓これでちゃんと値が入力しているかチェック<br /><blockquote>cpan[5]&gt; o conf makepl_arg<br />&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=/mnt/nfs/home/tkobayashi/perl/lib PREFIX=/mnt/nfs/home/tkobayashi/perl INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3]<br />Type 'o conf' to view all configuration items<br /></blockquote><br />この修正をコミットしておく<br /><blockquote>cpan[3]&gt; o conf commit<br />commit: wrote '/mnt/nfs/home/tkobayashi/.cpan/CPAN/MyConfig.pm'<br /></blockquote>これだけだとインストール先のディレクトリがPerlのライブラリパスに含まれていないので、せっかくインストールしたモジュールが使えない。そこでPERL5LIBという環境変数を設定する。<br /><br />export PERL5LIB=/mnt/nfs/home/tkobayashi/perl/lib:/mnt/nfs/home/tkobayashi/perl/lib/site_lib<br /><br />.bash_profileなどにこの設定を書き込んでおくとそのユーザでは常に野良インストールしたモジュールが使えるようになる。逆に言えばこの設定を無効にすることで、いつでも元の環境に戻すことができる。<br />]]>
        <![CDATA[<div align="center"><br />---------------------------------------------------------------------------------------------------------<br /></div><br /><br />どうやら、本文の設定だけでは完璧ではなかったらしい。＄PERL5LIBの設定だけでは.pmファイルの保管場所だけを設定していて、/usr/local/lib/perl にアクセスしにいこうとしてエラーを起こす。<br /><br />ここで最近流行って使われているのが <a href="http://search.cpan.org/%7Eapeiron/local-lib-1.004001/lib/local/lib.pm">local::lib</a>　のモジュールを使用することらしい。<br />これを使えば＄PERL5LIBを含め必要な環境設定を全部してくれる。（してくれるというか、何を設定するばいいか、教えてくれる感じ）<br /><br />とりあえず、このlocal::libモジュールもcpan使っては正しく入らないので、<a href="http://search.cpan.org/src/APEIRON/local-lib-1.004001/lib/local/lib.pm">ソースファイル</a>をダウンロードしてくる。localディレクトリを作ってその中にダウンロードしてきた、lib.pmファイルを入れる。で↓のように実行して上げたら、必要な変数が自動的にセットしてくれる。<br /><br /><blockquote>cd /&lt;Perlモジュールなどをインストールしてもらいたいディレクトリ&gt;<br />
<pre>perl -Mlocal::lib=./　←アウトプットしてくれるだけ<br />eval $(perl -Mlocal::lib=./)　←実際の実行<br /><br /></pre></blockquote><pre>アウトプットしたやつを.bash_profileか何かに入れておけば、毎回自動的にセットしてくれる。<br /><br /><br /></pre><br />]]>
    </content>
</entry>

<entry>
    <title>PuttyでEC2に接続する</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/puttyec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/puttyec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.28</id>

    <published>2009-05-25T09:35:25Z</published>
    <updated>2009-05-25T09:49:24Z</updated>

    <summary>１．PUTTYGENを使って、「ec2-add-keypair gsg-keyp...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[１．PUTTYGENを使って、「ec2-add-keypair gsg-keypair」で取得したkeyをコンバートする。<br /><blockquote>a. Load押してid_rsa-gsg-keypairファイルを選択。<br />b. 「Save private key」をクリックし、PUTTY用Keyファイルを作成する。<br /></blockquote>２．PUTTY.EXEを起動する。左メニュー「Connection」→「SSH」→「Auth」の「Authentication
parameters」にある「Private key file authentication」にPUTTY用Keyファイルを設定する。<br />３．左メニュー「Session」の 「Host Name」にホスト名を入れ、「Open」をクリック。<br />４．コンソールが出てきたら、「root」を入力したら入れる<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Firefoxプラグイン使ってEC2を操作する</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/elasticfox-firefox-extension-for-amazon-ec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/elasticfox-firefox-extension-for-amazon-ec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.27</id>

    <published>2009-05-25T08:44:08Z</published>
    <updated>2009-05-25T09:15:23Z</updated>

    <summary>Elasticfox Firefox Extension for Amazon ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[Elasticfox Firefox Extension for Amazon EC2を使ってEC2を操作してみる<br /><br />１．ここからFirefoxのプラグインをインストール<br />http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609<br /><br />２．Firefoxのツールに新しく追加された「Elasticfox」をクリック<br />３．左上にある「Credentials」をクリック<br />４．「Account Name」、「AWS Access Key」、「AWS Secret Access Key」を入力し「Add」をクリックすると、アカウントが追加される。<br />５．「Credentials」タブの横にある↓（下矢印）をクリック。先ほど入力したAccount Nameが表示されるのでそれを選択すると「Machine Images(AMIs)」タブにたくさんの利用可能なAMIが表示される。]]>
        
    </content>
</entry>

<entry>
    <title>Amazon EC2を使ってみる</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/amazon-ec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/amazon-ec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.26</id>

    <published>2009-05-24T07:42:17Z</published>
    <updated>2009-05-25T09:30:43Z</updated>

    <summary>１．Amazon Web Servicesでアカウント作成する(amazon.c...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />１．Amazon Web Servicesでアカウント作成する(amazon.comで登録済みだったらそのままでOK）<br />http://aws.amazon.com/<br /><br />２．運用するサービスを選ぶ： Amazon EC2<br /><span class="hdrdkorange"><nobr>Amazon Simple Storage Service</nobr></span>
		  も自動的に選択される（データ保存に必ず必要）<br /><br />３．メールにAccess Identifiers（認証キー）へのリンクを送ってくれる。<br /><br /><b>コマンドプロンプトからコマンドを使用する方法</b><br />４．EC2 API Toolsをダウンロードする<br />これを使ってPCからインスタンスを起動したりコントロールする<br />参考：http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&amp;categoryID=88<br /><br />５．EC2 API Toolsをセットアップ<br />a. ダウンロードしたディレクトリをunzipしてc:\aws\ec2-api-tools という感じで置く<br />b. 環境変数設定をする<br /><blockquote><b>C:\&gt; set EC2_HOME=&lt;path-to-tools&gt;<br />C:\&gt; set&nbsp; PATH=%PATH%;%EC2_HOME%\bin</b><br /></blockquote>参考：http://docs.amazonwebservices.com/AmazonEC2/gsg/2007-01-19/setting-up-your-tools.html#set-aes-home<br /><br />６．認証情報をToolsに登録する<br />a. Amazon Web Servicesページに行ってX.509 Certificateを作成する<br />そしたらPrivate KeyファイルとX509認証書ファイルがダウンロードできるようになる。ダウンロードして、c:\aws\ec2\ に置いておく。<br />b. 環境変数設定をする<br /><blockquote><b>C:\&gt; set EC2_PRIVATE_KEY=C:\aws\ec2\pk-&lt;*****&gt;.pem<br />C:\&gt; set EC2_CERT=C:\aws\ec2\cert-&lt;*****&gt;.pem<br /></b></blockquote>＊環境セットアップはここで終わり＊<br /><br />７．接続の確認<br />
次のコマンドを入力し、いくつかのインスタンスが表示されれば、接続成功。<br />
<b>C:\&gt;ec2-describe-images -o self -o amazon<br /><br /></b>８．SSH接続するためのKeypairの作成<br />
<b>C:\&gt;ec2-add-keypair gsg-keypair <br /></b>このときに出力されたキーをファイルとして保存しておこう。<br /><blockquote>-----BEGIN&nbsp;RSA&nbsp;PRIVATE&nbsp;KEY-----<br /><br />-----END&nbsp;RSA&nbsp;PRIVATE&nbsp;KEY-----<br /></blockquote>Puttyなどで接続する際に必要になってくる。<br />コピーする時は上記のコメントも含める。<br />保存するファイル名は「id_rsa-gsg-keypair」。<br /><br />９．インスタンスの起動<br />
<b>C:\&gt;ec2-run-instances ami-25b6534c -k gsg-keypair</b><br />
                                ami-25b6534c　はFedora4Core、Apache 2.0、MySQL 4.1、PHP 5.0が入っている<br /><br />１０．インスタンスの状態の確認(How to Check the instance)<br />
<b>C:\&gt;ec2-describe-instances ＜インスタンスID&gt;</b><br /><br />１１．アクセス可能にするポートを開放<br />
<b>C:\&gt;ec2-authorize default -p 22</b><br />
<b>C:\&gt;ec2-authorize default -p 80</b><br /><br />
この時点でURLにアクセスしたらApacheテストページが出てくる
<br /><br />１２．インスタンスを終了<br />CMD シャットダウン中<br />
<b>C:\&gt;ec2-terminate-instances i-XXXXXXXX</b><br />
INSTANCE        i-71ee2318      running shutting-down<br /><br />CMD シャットダウン完了<br />
<b>C:\&gt;ec2-terminate-instances i-XXXXXXXX</b><br />
INSTANCE        i-71ee2318      terminated      terminated<br /><br /><b><br /></b>]]>
        
    </content>
</entry>

<entry>
    <title>サーバーの時間をJSTに変更する</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/jst.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/jst.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.25</id>

    <published>2009-05-19T13:31:50Z</published>
    <updated>2009-05-19T13:42:52Z</updated>

    <summary>下記のコマンドはJSTとして表示してくれるdateしてもUTCのまま。tkoba...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="jst" label="jst" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="タイムゾーン" label="タイムゾーン" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[下記のコマンドはJSTとして表示してくれる<br />dateしてもUTCのまま。<br /><br /><b>tkobayashi@koba206:~$ zdump Japan<br />Japan&nbsp; Tue May 19 22:33:59 2009 JST<br />tkobayashi@koba206:~$ date<br />Tue May 19 13:34:08 UTC 2009</b><br /><br />サーバーのタイムゾーンをJapanに変更すれば、dateした時にJSTで表示してくれます。<br /><br /><b>root@koba206:/etc# ln -sf /usr/share/zoneinfo/Japan /etc/localtime<br />root@koba206:/etc# date<br />Tue May 19 22:41:23 JST 2009</b><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>公式iPhone用Movable Typeプラグインを試してみた</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/iphonemovable-type.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/iphonemovable-type.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.24</id>

    <published>2009-05-11T05:41:22Z</published>
    <updated>2009-05-11T06:06:39Z</updated>

    <summary>先月に非公式iPhoneテンプレートfor MTを試してみたが、いくつか問題があ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[先月に非公式<a href="http://www.koba206.com/dev-wiki/2009/04/movable-typeiphone.html">iPhoneテンプレートfor MTを試してみた</a>が、いくつか問題があり面倒だった。<br /><br />最近Six Apartから<a href="http://plugins.movabletype.org/imt/">公式プラグイン</a>がリリースされたみたいなので、早速使って入れてみた。<br />インストールの方法は超簡単。<br />ダウンロードした2つのディレクトリを　mt-static/plugins/iMTと plugins/iMTに置くだけ。<br />iPhoneでアクセスすれば自動的にiPhone用のUIを表示してくれるので。<br />これはいい！<br /><br /><br />と思って使ってみたら、管理画面側だけiPhoneのインターフェースになるみたい。そりゃそうだよね。自動的にiPhoneからアクセスしてるかどうかを確認して、それようのページを表示するには静的ページじゃダメだもんな。残念＞＜<br /> ]]>
        
    </content>
</entry>

</feed>
