<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>おいぬま日報</title>
	
	<link>http://tech.lampetty.net/tech</link>
	<description>Apache, MySQL, Perl, Python あたり</description>
	<lastBuildDate>Sun, 20 May 2012 08:55:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/oinume/diary" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="oinume/diary" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://superfeedr.com/hubbub" /><item>
		<title>Pythonで標準出力をキャプチャする</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/465?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=python%25e3%2581%25a7%25e6%25a8%2599%25e6%25ba%2596%25e5%2587%25ba%25e5%258a%259b%25e3%2582%2592%25e3%2582%25ad%25e3%2583%25a3%25e3%2583%2597%25e3%2583%2581%25e3%2583%25a3%25e3%2581%2599%25e3%2582%258b</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/465#comments</comments>
		<pubDate>Sun, 20 May 2012 08:55:57 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=465</guid>
		<description>PerlだとCapture::TinyというCPANモジュールがあるのだけど、Pythonだとやり方がわからなかったので調べてみたところ、Capture stdout from a script in Python &amp;# [...]</description>
			<content:encoded><![CDATA[<p>Perlだと<a href="http://search.cpan.org/~dagolden/Capture-Tiny/lib/Capture/Tiny.pm">Capture::Tiny</a>というCPANモジュールがあるのだけど、Pythonだとやり方がわからなかったので調べてみたところ、<a href="http://stackoverflow.com/questions/5136611/capture-stdout-from-a-script-in-python">Capture stdout from a script in Python &#8211; Stack Overflow</a>で色々とやり方が紹介されている。</p>
<p>普通に標準出力の内容を文字列として取りたいだけなら下記でいいんじゃないかと思われる。Python詳しくないのでもっとスマートな方法があれば教えてほしいです。</p>
<p><script src="https://gist.github.com/2757398.js"> </script></p>
<p>withが使えるといいカンジで書けますな。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948"><img src="http://ecx.images-amazon.com/images/I/41bZDMzzeTL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948">Pythonプロフェッショナルプログラミング</a></p>
	<p><em>著者／訳者：</em>ビープラウド</p>
	<p><em>出版社：</em>秀和システム( 2012-03-26 )</p>
	<p>単行本 ( 464 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/NQWl85ZA6vK8zTrdd75RBjyIWt8/0/da"><img src="http://feedads.g.doubleclick.net/~a/NQWl85ZA6vK8zTrdd75RBjyIWt8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NQWl85ZA6vK8zTrdd75RBjyIWt8/1/da"><img src="http://feedads.g.doubleclick.net/~a/NQWl85ZA6vK8zTrdd75RBjyIWt8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/HyFRvDwcKWQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/465/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WikiならConfluenceがオススメ</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/463?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wiki%25e3%2581%25aa%25e3%2582%2589confluence</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/463#comments</comments>
		<pubDate>Fri, 04 May 2012 16:45:46 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Confluence]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=463</guid>
		<description>※自分はAtlassianの回し者ではありません 会社で使っているConfluenceというエンタープライズWikiが気に入っている。Wikiと言えば今まで MediaWiki PukiWiki FreeStyleWik [...]</description>
			<content:encoded><![CDATA[<p>※自分はAtlassianの回し者ではありません</p>
<p>会社で使っている<a href="http://www.atlassian.com/ja/software/confluence/overview">Confluence</a>というエンタープライズWikiが気に入っている。Wikiと言えば今まで</p>
<ul>
<li>MediaWiki</li>
<li>PukiWiki</li>
<li>FreeStyleWiki</li>
<li>RedmineのWiki</li>
</ul>
<p>を使ってきたんだけど、機能的なバランスの良さを考えるとこのConfluenceに軍配が上がると思っている。</p>
<p>Confluenceのオススメポイントとしては</p>
<ul>
<li>スペースという概念がある(独立した子Wikiみたいなもの)</li>
<li>マークアップの表現力が充実している</li>
<li>デフォルトでWYSWIGのエディタがついてる</li>
<li>ページに階層構造があり、ページの移動が簡単にできる</li>
<li>ページにラベル(タグ)が付けられる</li>
<li>編集履歴が100%残る</li>
<li>ウォッチ機能(ウォッチしているページが更新されたらメール通知)</li>
<li>プラグインによる機能追加が可能。プラグインも豊富</li>
<li>LDAP認証、ActiveDirectory認証に対応</li>
<li>ユーザ・グループ単位でページの閲覧・編集制限が可能</li>
</ul>
<p>などが挙げられる。</p>
<p>ただし、Wiki記法が独特なのがちょっと痛い。もはや新しいWiki記法を覚えてられないので、自分用のメモWikiもこのConfluenceにしてしまったぐらいである。ちなみにサーバインストール型のライセンスなら10ユーザまでなら年間$10で買えるのでオススメ。</p>
<p>最近やっと運用ノウハウが溜まりつつあるので、今後ちょいちょい公開していきたいと思う。</p>

<p><a href="http://feedads.g.doubleclick.net/~a/7hZ1Hiqdd9OYyQKdAI5TZf1qQ7M/0/da"><img src="http://feedads.g.doubleclick.net/~a/7hZ1Hiqdd9OYyQKdAI5TZf1qQ7M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7hZ1Hiqdd9OYyQKdAI5TZf1qQ7M/1/da"><img src="http://feedads.g.doubleclick.net/~a/7hZ1Hiqdd9OYyQKdAI5TZf1qQ7M/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/2OI497XwxsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/463/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自宅サーバのGitリポジトリをbitbucketに移行</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/462?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e8%2587%25aa%25e5%25ae%2585%25e3%2582%25b5%25e3%2583%25bc%25e3%2583%2590%25e3%2581%25aegit%25e3%2583%25aa%25e3%2583%259d%25e3%2582%25b8%25e3%2583%2588%25e3%2583%25aa%25e3%2582%2592bitbucket%25e3%2581%25ab%25e7%25a7%25bb%25e8%25a1%258c</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/462#comments</comments>
		<pubDate>Thu, 03 May 2012 02:58:24 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=462</guid>
		<description>サーバの設定ファイルや個人のdotfileを格納していた自宅サーバのGitリポジトリ、よくよく考えたらbitbucketって無料でプライベートリポジトリ作れたよなぁって思って移行してみた。 bitbucketのアカウント [...]</description>
			<content:encoded><![CDATA[<p>サーバの設定ファイルや個人のdotfileを格納していた自宅サーバのGitリポジトリ、よくよく考えたらbitbucketって無料でプライベートリポジトリ作れたよなぁって思って移行してみた。</p>
<p>bitbucketのアカウントさえ取ってしまえば、Gitのリポジトリの移行自体はすごく簡単だった。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">git</span> remote
$ <span style="color: #c20cb9; font-weight: bold;">git</span> remote <span style="color: #c20cb9; font-weight: bold;">rm</span> origin
$ <span style="color: #c20cb9; font-weight: bold;">git</span> remote add origin <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>bitbucket.org:oinume<span style="color: #000000; font-weight: bold;">/</span>repo.git</pre></div></div>

<p>ってやるだけ。</p>

<p><a href="http://feedads.g.doubleclick.net/~a/K0oKQYac8YDEjp4KKlfW9XG4v7c/0/da"><img src="http://feedads.g.doubleclick.net/~a/K0oKQYac8YDEjp4KKlfW9XG4v7c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/K0oKQYac8YDEjp4KKlfW9XG4v7c/1/da"><img src="http://feedads.g.doubleclick.net/~a/K0oKQYac8YDEjp4KKlfW9XG4v7c/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/f6b5599p84E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/462/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shellで絶対パスを取得する</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/461?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=shell%25e3%2581%25a7%25e7%25b5%25b6%25e5%25af%25be%25e3%2583%2591%25e3%2582%25b9%25e3%2582%2592%25e5%258f%2596%25e5%25be%2597%25e3%2581%2599%25e3%2582%258b</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/461#comments</comments>
		<pubDate>Thu, 03 May 2012 02:19:51 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=461</guid>
		<description>よく忘れてしまうのでメモ。例えば実行するスクリプトの絶対パスを取得する場合。 #!/bin/sh &amp;#160; DIR=$&amp;#40;cd $&amp;#40;dirname &amp;#34;$0&amp;#34;&amp;#41; &amp;#38;&amp;#038;a [...]</description>
			<content:encoded><![CDATA[<p>よく忘れてしまうのでメモ。例えば実行するスクリプトの絶対パスを取得する場合。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">DIR</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">cd</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">dirname</span> <span style="color: #ff0000;">&quot;$0&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">pwd</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$DIR</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sh</span> ~<span style="color: #000000; font-weight: bold;">/</span>Dropbox<span style="color: #000000; font-weight: bold;">/</span>code<span style="color: #000000; font-weight: bold;">/</span>sh<span style="color: #000000; font-weight: bold;">/</span>abspath.sh
Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>Dropbox<span style="color: #000000; font-weight: bold;">/</span>code<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span></pre></div></div>


<p><a href="http://feedads.g.doubleclick.net/~a/ECJ0rTW6MsdU0u4WN6nBf_1nuHA/0/da"><img src="http://feedads.g.doubleclick.net/~a/ECJ0rTW6MsdU0u4WN6nBf_1nuHA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ECJ0rTW6MsdU0u4WN6nBf_1nuHA/1/da"><img src="http://feedads.g.doubleclick.net/~a/ECJ0rTW6MsdU0u4WN6nBf_1nuHA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/fFIwpvRJ-ws" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/461/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>複数バージョンのPythonでテストしてくれるtoxが便利すぎる</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/457?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e8%25a4%2587%25e6%2595%25b0%25e3%2583%2590%25e3%2583%25bc%25e3%2582%25b8%25e3%2583%25a7%25e3%2583%25b3%25e3%2581%25aepython%25e3%2581%25a7%25e3%2583%2586%25e3%2582%25b9%25e3%2583%2588%25e3%2581%2597%25e3%2581%25a6%25e3%2581%258f%25e3%2582%258c%25e3%2582%258btox%25e3%2581%258c%25e4%25be%25bf%25e5%2588%25a9%25e3%2581%2599</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/457#comments</comments>
		<pubDate>Sun, 15 Apr 2012 05:09:18 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=457</guid>
		<description>tomahawkはPython 2.4/2.5/2.6/2.7 対応を謳っている。ただ、テストするたびに virtualenv で切り替え→テスト実行が非常に手間だった。そんなところにこのスライドでtoxという複数のバー [...]</description>
			<content:encoded><![CDATA[<p><a href="http://readthedocs.org/docs/tomahawk/en/latest/">tomahawk</a>はPython 2.4/2.5/2.6/2.7 対応を謳っている。ただ、テストするたびに virtualenv で切り替え→テスト実行が非常に手間だった。そんなところに<a href="http://www.slideshare.net/aodag/bpstudy54-python3">このスライド</a>で<a href="http://tox.readthedocs.org/en/latest/">tox</a>という複数のバージョンのPythonでテストできるツールがあることを知った。実際使ってみたところ、今までやっていた作業が完全に自動化されてウハウハになったので紹介したい。</p>
<h3>toxの実行時の流れ</h3>
<p>toxはvirtualenvを使って環境を作っては切り替えてくれる。実行時のログを見た限り、流れとしては下記のようになっているようだ。</p>
<ul>
<li>テストしたいソフトウェアのディレクトリ上にtox.iniを作成</li>
<li>該当ディレクトリで tox コマンドを実行</li>
<li>python setup.py sdist が実行される</li>
<li>tox.iniで定義された環境をvirtualenvで作成し、必要なライブラリをインストール</li>
<li>tox.ini内のcommandsでテストコマンドを実行</li>
</ul>
<h3>tox.ini</h3>
<p>depsにはテストで必要なライブラリなどを書いておく。テスト対象のソフトウェアが依存しているライブラリはtoxがpipを使うので、setup.pyで依存をしっかり書いておけば自動でインストールされる。</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>tox<span style="">&#93;</span></span>
<span style="color: #000099;">envlist</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> py25,py26,py27</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>testenv<span style="">&#93;</span></span>
<span style="color: #000099;">deps</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">nose</span>
<span style="color: #000099;">commands</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> nosetests -sdv tests/internal</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>testenv:py25<span style="">&#93;</span></span>
<span style="color: #000099;">basepython</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /usr/local/pythonbrew/pythons/Python-2.5.6/bin/python2.5</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>testenv:py26<span style="">&#93;</span></span>
<span style="color: #000099;">basepython</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /usr/local/pythonbrew/pythons/Python-2.6.8/bin/python2.6</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>testenv:py27<span style="">&#93;</span></span>
<span style="color: #000099;">basepython</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /usr/local/pythonbrew/pythons/Python-2.7.3/bin/python2.7</span></pre></div></div>

<h3>toxを実行してみる</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">pwd</span>
<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk
$ tox
________________________________________ <span style="color: #7a0874; font-weight: bold;">&#91;</span>tox sdist<span style="color: #7a0874; font-weight: bold;">&#93;</span> ________________________________________
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>creating sdist package
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk$ <span style="color: #000000; font-weight: bold;">/</span>System<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Frameworks<span style="color: #000000; font-weight: bold;">/</span>Python.framework<span style="color: #000000; font-weight: bold;">/</span>Versions<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2.7</span><span style="color: #000000; font-weight: bold;">/</span>Resources<span style="color: #000000; font-weight: bold;">/</span>Python.app<span style="color: #000000; font-weight: bold;">/</span>Contents<span style="color: #000000; font-weight: bold;">/</span>MacOS<span style="color: #000000; font-weight: bold;">/</span>Python setup.py sdist <span style="color: #660033;">--formats</span>=<span style="color: #c20cb9; font-weight: bold;">zip</span> <span style="color: #660033;">--dist-dir</span> .tox<span style="color: #000000; font-weight: bold;">/</span>dist <span style="color: #000000; font-weight: bold;">&gt;</span>.tox<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>copying new sdistfile to <span style="color: #ff0000;">'/Users/kazuhiro/.tox/distshare/tomahawk-0.5.0.zip'</span>
____________________________________ <span style="color: #7a0874; font-weight: bold;">&#91;</span>tox testenv:py25<span style="color: #7a0874; font-weight: bold;">&#93;</span> _____________________________________
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>creating virtualenv py25
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox$ <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>pythonbrew<span style="color: #000000; font-weight: bold;">/</span>pythons<span style="color: #000000; font-weight: bold;">/</span>Python-2.5.6<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python2.5 <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Python<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2.7</span><span style="color: #000000; font-weight: bold;">/</span>site-packages<span style="color: #000000; font-weight: bold;">/</span>virtualenv.py <span style="color: #660033;">--distribute</span> <span style="color: #660033;">--no-site-packages</span> py25 <span style="color: #000000; font-weight: bold;">&gt;</span>py25<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing dependencies: nose
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py25<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download nose <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">1</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing sdist
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py25<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>tomahawk-0.5.0.zip <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">2</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk$ .tox<span style="color: #000000; font-weight: bold;">/</span>py25<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>nosetests <span style="color: #660033;">-sdv</span> tests<span style="color: #000000; font-weight: bold;">/</span>internal
test_command.test_01_execute ... ok
test_command.test_02_execute_error ... ok
test_command.test_03_execute_timeout ... ok
test_command.test_04_execute_option_host_files ... ok
test_command.test_05_execute_option_continue_on_error ... ok
test_command.test_06_execute_option_ssh_options ... ok
test_command.test_07_output_format ... ok
test_rsync.test_01_execute ... ok
test_rsync.test_02_execute_error ... ok
test_rsync.test_03_execute_timeout ... ok
test_rsync.test_04_execute_option_rsync_options ... ok
test_rsync.test_05_execute_option_mirror_mode_pull ... ok
test_rsync.test_06_execute_option_continue_on_error ... ok
&nbsp;
<span style="color: #660033;">----------------------------------------------------------------------</span>
Ran <span style="color: #000000;">13</span> tests <span style="color: #000000; font-weight: bold;">in</span> 12.750s
&nbsp;
OK
____________________________________ <span style="color: #7a0874; font-weight: bold;">&#91;</span>tox testenv:py26<span style="color: #7a0874; font-weight: bold;">&#93;</span> _____________________________________
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>creating virtualenv py26
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox$ <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>pythonbrew<span style="color: #000000; font-weight: bold;">/</span>pythons<span style="color: #000000; font-weight: bold;">/</span>Python-2.6.8<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python2.6 <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Python<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2.7</span><span style="color: #000000; font-weight: bold;">/</span>site-packages<span style="color: #000000; font-weight: bold;">/</span>virtualenv.py <span style="color: #660033;">--distribute</span> <span style="color: #660033;">--no-site-packages</span> py26 <span style="color: #000000; font-weight: bold;">&gt;</span>py26<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing dependencies: nose
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py26<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download nose <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">1</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing sdist
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py26<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>tomahawk-0.5.0.zip <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">2</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk$ .tox<span style="color: #000000; font-weight: bold;">/</span>py26<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>nosetests <span style="color: #660033;">-sdv</span> tests<span style="color: #000000; font-weight: bold;">/</span>internal
<span style="color: #7a0874; font-weight: bold;">&#40;</span>snip<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #660033;">----------------------------------------------------------------------</span>
Ran <span style="color: #000000;">13</span> tests <span style="color: #000000; font-weight: bold;">in</span> 13.355s
&nbsp;
OK
____________________________________ <span style="color: #7a0874; font-weight: bold;">&#91;</span>tox testenv:py27<span style="color: #7a0874; font-weight: bold;">&#93;</span> _____________________________________
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>creating virtualenv py27
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox$ <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>pythonbrew<span style="color: #000000; font-weight: bold;">/</span>pythons<span style="color: #000000; font-weight: bold;">/</span>Python-2.7.3<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python2.7 <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Python<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2.7</span><span style="color: #000000; font-weight: bold;">/</span>site-packages<span style="color: #000000; font-weight: bold;">/</span>virtualenv.py <span style="color: #660033;">--distribute</span> <span style="color: #660033;">--no-site-packages</span> py27 <span style="color: #000000; font-weight: bold;">&gt;</span>py27<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing dependencies: nose
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py27<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download nose <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">1</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">***</span>installing sdist
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>py27<span style="color: #000000; font-weight: bold;">/</span>log$ ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--download-cache</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>_download <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk<span style="color: #000000; font-weight: bold;">/</span>.tox<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>tomahawk-0.5.0.zip <span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">2</span>.log
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>kazuhiro<span style="color: #000000; font-weight: bold;">/</span>work<span style="color: #000000; font-weight: bold;">/</span>tomahawk$ .tox<span style="color: #000000; font-weight: bold;">/</span>py27<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>nosetests <span style="color: #660033;">-sdv</span> tests<span style="color: #000000; font-weight: bold;">/</span>internal
<span style="color: #7a0874; font-weight: bold;">&#40;</span>snip<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #660033;">----------------------------------------------------------------------</span>
Ran <span style="color: #000000;">13</span> tests <span style="color: #000000; font-weight: bold;">in</span> 14.168s
&nbsp;
OK
_______________________________________ <span style="color: #7a0874; font-weight: bold;">&#91;</span>tox summary<span style="color: #7a0874; font-weight: bold;">&#93;</span> _______________________________________
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> py25: commands succeeded
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> py26: commands succeeded
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> py27: commands succeeded
<span style="color: #7a0874; font-weight: bold;">&#91;</span>TOX<span style="color: #7a0874; font-weight: bold;">&#93;</span> congratulations :<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>というわけで、toxオススメです。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948"><img src="http://ecx.images-amazon.com/images/I/41bZDMzzeTL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948">Pythonプロフェッショナルプログラミング</a></p>
	<p><em>著者／訳者：</em>ビープラウド</p>
	<p><em>出版社：</em>秀和システム( 2012-03-26 )</p>
	<p>単行本 ( 464 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/CEZQstQcJdZsgrmcbGe8cABx5Uc/0/da"><img src="http://feedads.g.doubleclick.net/~a/CEZQstQcJdZsgrmcbGe8cABx5Uc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CEZQstQcJdZsgrmcbGe8cABx5Uc/1/da"><img src="http://feedads.g.doubleclick.net/~a/CEZQstQcJdZsgrmcbGe8cABx5Uc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/WwzovjzVpas" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/457/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pythonbrewで新しいPythonをインストールできるようにする</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/456?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pythonbrew%25e3%2581%25a7%25e6%2596%25b0%25e3%2581%2597%25e3%2581%2584python%25e3%2582%2592%25e3%2582%25a4%25e3%2583%25b3%25e3%2582%25b9%25e3%2583%2588%25e3%2583%25bc%25e3%2583%25ab%25e3%2581%25a7%25e3%2581%258d%25e3%2582%258b%25e3%2582%2588%25e3%2581%2586%25e3%2581%25ab%25e3%2581%2599%25e3%2582%258b</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/456#comments</comments>
		<pubDate>Sat, 14 Apr 2012 16:38:25 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=456</guid>
		<description>Python-2.7.3がリリースされたので早速入れようと思ったら $ pythonbrew install 2.7.3 ERROR: Unknown python version: `Python-2.7.3` と言わ [...]</description>
			<content:encoded><![CDATA[<p>Python-2.7.3がリリースされたので早速入れようと思ったら</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ pythonbrew <span style="color: #c20cb9; font-weight: bold;">install</span> 2.7.3
ERROR: Unknown python version: <span style="color: #000000; font-weight: bold;">`</span>Python-2.7.3<span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>と言われて残念な気持ちになったので、どうすればpythonbrewで新しいPythonがインストールできるか調べてみた。</p>
<p>やり方は簡単で $PYTHONBREW_ROOT/etc/config.cfg に下記のように追加すればいいだけだった。</p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">$ diff -u config.cfg.orig config.cfg
<span style="color: #888822;">--- config.cfg.orig	2012-04-15 01:34:23.000000000 +0900</span>
<span style="color: #888822;">+++ config.cfg	2012-04-15 01:35:09.000000000 +0900</span>
<span style="color: #440088;">@@ -154,6 +154,9 @@</span>
&nbsp;
 <span style="">&#91;</span>Python-2.7.2<span style="">&#93;</span>
 url = http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
<span style="color: #00b000;">+</span>
<span style="color: #00b000;">+<span style="">&#91;</span>Python-2.7.3<span style="">&#93;</span></span>
<span style="color: #00b000;">+url = http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz</span>
 latest = True
&nbsp;
 <span style="">&#91;</span>Python-<span style="">3.0</span><span style="">&#93;</span></pre></div></div>

<p>追記したらいつものようにインストールするだけ。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ pythonbrew <span style="color: #c20cb9; font-weight: bold;">install</span> 2.7.3</pre></div></div>

<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948"><img src="http://ecx.images-amazon.com/images/I/41bZDMzzeTL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798032948">Pythonプロフェッショナルプログラミング</a></p>
	<p><em>著者／訳者：</em>ビープラウド</p>
	<p><em>出版社：</em>秀和システム( 2012-03-26 )</p>
	<p>単行本 ( 464 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/c95MGq0MKZ32RBDH8DdDJN61xWo/0/da"><img src="http://feedads.g.doubleclick.net/~a/c95MGq0MKZ32RBDH8DdDJN61xWo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/c95MGq0MKZ32RBDH8DdDJN61xWo/1/da"><img src="http://feedads.g.doubleclick.net/~a/c95MGq0MKZ32RBDH8DdDJN61xWo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/if_zomlnD0U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/456/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shellでset -uした時の引数の取り扱い</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/455?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=shell%25e3%2581%25a7set-u%25e3%2581%2597%25e3%2581%259f%25e6%2599%2582%25e3%2581%25ae%25e5%25bc%2595%25e6%2595%25b0%25e3%2581%25ae%25e5%258f%2596%25e3%2582%258a%25e6%2589%25b1%25e3%2581%2584</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/455#comments</comments>
		<pubDate>Sat, 07 Apr 2012 22:55:10 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=455</guid>
		<description>#!/bin/sh &amp;#160; DIR=$1 &amp;#160; rm -rf $DIR/ なんてやると$1がなかった時に / が消されてしまうので非常に危険。こういう場合は set -u して、未定義の変数があればエラーに [...]</description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">DIR</span>=<span style="color: #007800;">$1</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$DIR</span><span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>なんてやると$1がなかった時に / が消されてしまうので非常に危険。こういう場合は set -u して、未定義の変数があればエラーにすることが推奨される。</p>
<pre>
/Users/kazuhiro/Dropbox/code/sh/set_u.sh: line 3: $1: unbound variable
</pre>
<p>ただし、 set -u すると引数の個数を$#を使って、いちいちチェックしないといけない。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #660033;">-u</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># 引数のサイズをチェック</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-le</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #007800;">DIR</span>=<span style="color: #007800;">$1</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$DIR</span><span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>ちょっと面倒だけど set -u している時は $# 使いましょうということで。</p>

<p><a href="http://feedads.g.doubleclick.net/~a/kg5dzWFXNN3xfGwn46o4UK2HHzE/0/da"><img src="http://feedads.g.doubleclick.net/~a/kg5dzWFXNN3xfGwn46o4UK2HHzE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kg5dzWFXNN3xfGwn46o4UK2HHzE/1/da"><img src="http://feedads.g.doubleclick.net/~a/kg5dzWFXNN3xfGwn46o4UK2HHzE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/mwg1VtaGTSo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/455/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>log-back.xml内で変数を使って環境差異を吸収する</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/454?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=log-back-xml%25e5%2586%2585%25e3%2581%25a7%25e5%25a4%2589%25e6%2595%25b0%25e3%2582%2592%25e4%25bd%25bf%25e3%2581%25a3%25e3%2581%25a6%25e7%2592%25b0%25e5%25a2%2583%25e5%25b7%25ae%25e7%2595%25b0%25e3%2582%2592%25e5%2590%25b8%25e5%258f%258e%25e3%2581%2599%25e3%2582%258b</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/454#comments</comments>
		<pubDate>Fri, 06 Apr 2012 12:33:18 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=454</guid>
		<description>変数と言ってもJavaなのでプロパティなのですが。 &amp;#60;configuration&amp;#62; &amp;#60;appender name=&amp;#34;FILE&amp;#34; class=&amp;#34;ch.qos.logback. [...]</description>
			<content:encoded><![CDATA[<p>変数と言ってもJavaなのでプロパティなのですが。</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;appender</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;FILE&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;ch.qos.logback.core.FileAppender&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>${app.home}/app.log<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;layout</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;ch.qos.logback.classic.PatternLayout&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/layout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/appender<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;root</span> <span style="color: #000066;">level</span>=<span style="color: #ff0000;">&quot;${root-level:-debug}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;appender-ref</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;FILE&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> 
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>↑のような感じでlog-back.xmlを定義。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">java -Dapp.home=<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>app ...</pre></div></div>

<p>のようにシステムプロパティ定義してあげると、logback.xml内の${app.home}の部分が /var/log/app に置き換わる。</p>
<p>もともと、開発環境と本番環境でTomcatのディレクトリが違っていて、logback.xmlを環境ごとに定義していたのだけど、${app.home}で環境差異を吸収できるのでlogback.xmlは1ファイルで済む。もうちょいエレガントな方法がありそうだけど&#8230;</p>
<p>出典：http://logback.qos.ch/manual/joran.html#variableSubstitution</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88Java-PERFECT-SERIES/dp/4774139904%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774139904"><img src="http://ecx.images-amazon.com/images/I/51sc1ff5eML._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88Java-PERFECT-SERIES/dp/4774139904%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774139904">パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)</a></p>
	<p><em>著者／訳者：</em>アリエル・ネットワーク株式会社 井上 誠一郎 永井 雅人 松山 智大 </p>
	<p><em>出版社：</em>技術評論社( 2009-09-24 )</p>
	<p>大型本 ( 640 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/GhFfppuqhRSRqv8ifQ0E0J0pavE/0/da"><img src="http://feedads.g.doubleclick.net/~a/GhFfppuqhRSRqv8ifQ0E0J0pavE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GhFfppuqhRSRqv8ifQ0E0J0pavE/1/da"><img src="http://feedads.g.doubleclick.net/~a/GhFfppuqhRSRqv8ifQ0E0J0pavE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/eumFbD3rVqw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/454/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>amazon.comでKindle版オライリー本を買うと$4.99でDRMフリーなバージョンが買える</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/452?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=amazon-com%25e3%2581%25a7kindle%25e7%2589%2588%25e3%2582%25aa%25e3%2583%25a9%25e3%2582%25a4%25e3%2583%25aa%25e3%2583%25bc%25e6%259c%25ac%25e3%2582%2592%25e8%25b2%25b7%25e3%2581%2586%25e3%2581%25a84-99%25e3%2581%25a7drm%25e3%2583%2595%25e3%2583%25aa%25e3%2583%25bc%25e3%2581%25aa%25e3%2583%2590%25e3%2583%25bc</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/452#comments</comments>
		<pubDate>Sat, 24 Mar 2012 11:14:36 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=452</guid>
		<description>先日amazon.comでKindle版の Just Spring 著者／訳者：Madhusudhan Konda 出版社：Oreilly &amp;#038; Associates Inc( 2011-08-04 ) ペーパーバック ( [...]</description>
			<content:encoded><![CDATA[<p>先日amazon.comでKindle版の<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/Just-Spring-Madhusudhan-Konda/dp/1449306403%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1449306403"><img src="http://ecx.images-amazon.com/images/I/51WDKIraIjL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/Just-Spring-Madhusudhan-Konda/dp/1449306403%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1449306403">Just Spring</a></p>
	<p><em>著者／訳者：</em>Madhusudhan Konda</p>
	<p><em>出版社：</em>Oreilly & Associates Inc( 2011-08-04 )</p>
	<p>ペーパーバック ( 63 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>を買ったら、その本の中に</p>
<blockquote><p>Upgrade this ebook today for $4.99 at oreilly.com and get access to additional DRM-free formats including PDF and EPUB, along with free lifetime updates.</p></blockquote>
<p>という文章があった。どうやらオライリーで追加$4.99払うとDRMフリーなバージョンのものが手に入るらしい。</p>
<p>Good ReaderでiOS内蔵の辞書が使えるようになって、洋書をちょいちょい買っているので嬉しい。</p>

<p><a href="http://feedads.g.doubleclick.net/~a/2Z6AXHcsY7d7c0cE5pNC4q407lw/0/da"><img src="http://feedads.g.doubleclick.net/~a/2Z6AXHcsY7d7c0cE5pNC4q407lw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2Z6AXHcsY7d7c0cE5pNC4q407lw/1/da"><img src="http://feedads.g.doubleclick.net/~a/2Z6AXHcsY7d7c0cE5pNC4q407lw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/Jnpvgx5lLIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/452/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 6.x上でtomahawk-0.4.x使ってsudoつきのコマンドが失敗する場合</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/451?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=centos-6-x%25e4%25b8%258a%25e3%2581%25a7tomahawk-0-4-x%25e4%25bd%25bf%25e3%2581%25a3%25e3%2581%25a6sudo%25e3%2581%25a4%25e3%2581%258d%25e3%2581%25ae%25e3%2582%25b3%25e3%2583%259e%25e3%2583%25b3%25e3%2583%2589%25e3%2581%258c%25e5%25a4%25b1%25e6%2595%2597%25e3%2581%2599%25e3%2582%258b%25e5%25a0%25b4%25e5%2590%2588</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/451#comments</comments>
		<pubDate>Sun, 18 Mar 2012 13:41:11 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[tomahawk]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=451</guid>
		<description>CentOS 6.2で sudo 付きのコマンドを送る場合は tomahawk -o=-t -l -h localhost 'sudo uptime' のように、-o=-t をつけます。これでssh時に pseudo-t [...]</description>
			<content:encoded><![CDATA[<p>CentOS 6.2で sudo 付きのコマンドを送る場合は</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">tomahawk <span style="color: #660033;">-o</span>=-t <span style="color: #660033;">-l</span> <span style="color: #660033;">-h</span> localhost <span style="color: #ff0000;">'sudo uptime'</span></pre></div></div>

<p>のように、-o=-t をつけます。これでssh時に pseudo-tty が割り当てられる。ちなみに今開発中の0.5系はデフォルトで -o=-t がつく状態になっています。</p>
<p>あと、-D でデバッグ出力が有効になります。同僚からバグ報告をもらったのですが、&#8221;sudo: sorry, you must have a tty to run sudo<br />
&#8221; と言われているので、「ああ、そういうことか」とわかりました。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ bin<span style="color: #000000; font-weight: bold;">/</span>tomahawk <span style="color: #660033;">-D</span> <span style="color: #660033;">-l</span> <span style="color: #660033;">-h</span> localhost <span style="color: #ff0000;">'sudo uptime'</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> options = Namespace<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">command</span>=<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #ff0000;">'sudo uptime'</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>,
<span style="color: #007800;">continue_on_error</span>=None, <span style="color: #007800;">debug</span>=True, <span style="color: #007800;">delay</span>=<span style="color: #000000;">0</span>,
<span style="color: #007800;">expect_delay</span>=<span style="color: #000000;">0.050000000000000003</span>, <span style="color: #007800;">expect_encoding</span>=<span style="color: #ff0000;">'utf-8'</span>,
<span style="color: #007800;">expect_timeout</span>=None, <span style="color: #007800;">hosts</span>=<span style="color: #ff0000;">'localhost'</span>, <span style="color: #007800;">hosts_files</span>=None,
<span style="color: #007800;">no_sudo_password</span>=False, <span style="color: #007800;">output_format</span>=<span style="color: #ff0000;">'${user}@${host} %
${command}\n${output}\n'</span>, <span style="color: #007800;">parallel</span>=<span style="color: #000000;">1</span>, <span style="color: #007800;">profile</span>=False,
<span style="color: #007800;">prompt_login_password</span>=True, <span style="color: #007800;">prompt_sudo_password</span>=False, <span style="color: #007800;">ssh</span>=<span style="color: #ff0000;">'ssh'</span>,
<span style="color: #007800;">ssh_options</span>=None, <span style="color: #007800;">ssh_user</span>=None, <span style="color: #007800;">timeout</span>=<span style="color: #000000;">10</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> arguments = <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #ff0000;">'sudo uptime'</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
Enter a password <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">ssh</span> authentication:
Enter a password <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span>:
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">command</span> = <span style="color: #c20cb9; font-weight: bold;">ssh</span>, args = <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #ff0000;">'-l'</span>, <span style="color: #ff0000;">'kazuhiro'</span>, <span style="color: #ff0000;">'localhost'</span>, <span style="color: #ff0000;">'/bin/sh'</span>,
<span style="color: #ff0000;">'-c'</span>, <span style="color: #ff0000;">'&quot;sudo uptime&quot;'</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> expect index = <span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> expect.EOF
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> child closed.
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> exit_status = <span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>DEBUG<span style="color: #7a0874; font-weight: bold;">&#93;</span> line = kazuhiro<span style="color: #000000; font-weight: bold;">@</span>localhost<span style="color: #ff0000;">'s password: *********
[DEBUG] line = sudo: sorry, you must have a tty to run sudo
[DEBUG] output_text = sudo: sorry, you must have a tty to run sudo
[error] kazuhiro@localhost % sudo uptime
sudo: sorry, you must have a tty to run sudo
Command failed ! (status = 1)
[error] Command &quot;sudo uptime&quot; failed on host &quot;localhost&quot;</span></pre></div></div>


<p><a href="http://feedads.g.doubleclick.net/~a/eW89DElvb3ryQoZ9hoZVSFvqhEk/0/da"><img src="http://feedads.g.doubleclick.net/~a/eW89DElvb3ryQoZ9hoZVSFvqhEk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eW89DElvb3ryQoZ9hoZVSFvqhEk/1/da"><img src="http://feedads.g.doubleclick.net/~a/eW89DElvb3ryQoZ9hoZVSFvqhEk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/gNJl3H2fOR0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/451/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefoxで開いているタブのタイトル/リンクの一覧を生成するアドオン</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/449?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=firefox%25e3%2581%25a7%25e9%2596%258b%25e3%2581%2584%25e3%2581%25a6%25e3%2581%2584%25e3%2582%258b%25e3%2582%25bf%25e3%2583%2596%25e3%2581%25ae%25e3%2583%25aa%25e3%2583%25b3%25e3%2582%25af%25e4%25b8%2580%25e8%25a6%25a7%25e3%2582%2592%25e7%2594%259f%25e6%2588%2590%25e3%2581%2599%25e3%2582%258b%25e3%2582%25a2%25e3%2583%2589</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/449#comments</comments>
		<pubDate>Sat, 17 Mar 2012 16:17:56 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=449</guid>
		<description>FirefoxにCopy Urls Eexpertというアドオンがあって、最近これを便利に使っているので紹介。 どういうアドオンかというと、「ウィンドウ内で開いているタブの一覧から、タイトルとURLをリスト化してくれる」 [...]</description>
			<content:encoded><![CDATA[<p>Firefoxに<a href="https://addons.mozilla.org/en-US/firefox/addon/copy-urls-expert/" title="Copy Urls Eexpert">Copy Urls Eexpert</a>というアドオンがあって、最近これを便利に使っているので紹介。</p>
<p>どういうアドオンかというと、「ウィンドウ内で開いているタブの一覧から、タイトルとURLをリスト化してくれる」というもの。リストは下記のようになる。</p>
<p>1. Matt Sergeant / Time-Piece &#8211; search.cpan.org &#8211; http://search.cpan.org/dist/Time-Piece/<br />
2. Dave Rolsky / DateTime &#8211; search.cpan.org &#8211; http://search.cpan.org/dist/DateTime/<br />
3. Johan Vromans / Getopt-Long &#8211; search.cpan.org &#8211; http://search.cpan.org/dist/Getopt-Long/</p>
<p>URLの一覧をWikiやブログに貼りつけたい時などに超絶便利です。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/Firefox%E3%82%92%E7%A9%B6%E3%82%81%E3%82%8B256%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E4%B8%8B%E7%94%B0-%E6%B4%8B%E5%BF%97/dp/4798012246%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798012246"><img src="http://ecx.images-amazon.com/images/I/5107NVSQRFL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/Firefox%E3%82%92%E7%A9%B6%E3%82%81%E3%82%8B256%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E4%B8%8B%E7%94%B0-%E6%B4%8B%E5%BF%97/dp/4798012246%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798012246">Firefoxを究める256のテクニック</a></p>
	<p><em>著者／訳者：</em>下田 洋志 大和 徳明 </p>
	<p><em>出版社：</em>秀和システム( 2006-01 )</p>
	<p>単行本 ( 431 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/_aThX-tPSjRHV-lok9tLqb-N--I/0/da"><img src="http://feedads.g.doubleclick.net/~a/_aThX-tPSjRHV-lok9tLqb-N--I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_aThX-tPSjRHV-lok9tLqb-N--I/1/da"><img src="http://feedads.g.doubleclick.net/~a/_aThX-tPSjRHV-lok9tLqb-N--I/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/Xgie35Lf7cE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/449/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linuxでディスクが壊れた場合のデータ復旧方法</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/447?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=linux%25e3%2581%25a7%25e3%2583%2587%25e3%2582%25a3%25e3%2582%25b9%25e3%2582%25af%25e3%2581%258c%25e5%25a3%258a%25e3%2582%258c%25e3%2581%259f%25e5%25a0%25b4%25e5%2590%2588%25e3%2581%25ae%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e5%25be%25a9%25e6%2597%25a7</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/447#comments</comments>
		<pubDate>Wed, 29 Feb 2012 07:48:30 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=447</guid>
		<description>先日自宅サーバのディスク(SSD)がお亡くなりになって、「あーやっべー、データ全部バックアップしてないわー」ということが発覚し途方に暮れていたんだけど、グーグル先生に問い合わせたところ dd_rescue なるコマンドが [...]</description>
			<content:encoded><![CDATA[<p>先日自宅サーバのディスク(SSD)がお亡くなりになって、「あーやっべー、データ全部バックアップしてないわー」ということが発覚し途方に暮れていたんだけど、グーグル先生に問い合わせたところ dd_rescue なるコマンドがあり、これを使ったらほぼ完全にデータが復旧できましたとさ！</p>
<p>Debian/Ubuntu なら</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ddrescue</pre></div></div>

<p>自分は新しいマシンを用意していたので、そのマシンに壊れたディスク(/dev/sdd)と余っていたディスク(/dev/sde)を刺して</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> dd_rescue <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdd <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sde</pre></div></div>

<p>と実行し、壊れたディスクである /dev/sddのデータを /dev/sde にコピー。</p>
<p>あとは /dev/sde を適当にマウントして、データをコピーすればOK。<br />
いやー dd_rescue 様様でした。ありがたい。</p>
<h3>参考</h3>
<ul>
<li><a title="void GraphicWizardsLair( void ); // クラッシュしたHDDをサルベージするときはKNOPPIXかFreeSBIEでdd_rhelpとかdd_rescueするのがオススメ" href="http://www.otsune.com/diary/2006/11/19/1.html">void GraphicWizardsLair( void ); // クラッシュしたHDDをサルベージするときはKNOPPIXかFreeSBIEでdd_rhelpとかdd_rescueするのがオススメ</a></li>
<li><a title="PCとmacな日々: ddrescueでHDを復旧する" href="http://pcandmacandwin.blogspot.com/2008/09/ddrescuehd.html">PCとmacな日々: ddrescueでHDを復旧する</a></li>
</ul>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%AA%E3%83%BC-GROOVY-HDD%E3%82%92USB-SATA%E6%8E%A5%E7%B6%9A2-5-UD-505SA/dp/B001K97W56%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001K97W56"><img src="http://ecx.images-amazon.com/images/I/51hj9wSbPHL._SL75_.jpg" border="0" alt="タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25"ドライブ専用 UD-505SA" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%AA%E3%83%BC-GROOVY-HDD%E3%82%92USB-SATA%E6%8E%A5%E7%B6%9A2-5-UD-505SA/dp/B001K97W56%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001K97W56">タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25"ドライブ専用 UD-505SA</a><hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/5p1cSsERtsoVUVhfgKhidJ-YXj0/0/da"><img src="http://feedads.g.doubleclick.net/~a/5p1cSsERtsoVUVhfgKhidJ-YXj0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5p1cSsERtsoVUVhfgKhidJ-YXj0/1/da"><img src="http://feedads.g.doubleclick.net/~a/5p1cSsERtsoVUVhfgKhidJ-YXj0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/icvQYL0xxNg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/447/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhoneのホームボタンを延命するためのAssistiveTouch</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/446?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=iphone%25e3%2581%25ae%25e3%2583%259b%25e3%2583%25bc%25e3%2583%25a0%25e3%2583%259c%25e3%2582%25bf%25e3%2583%25b3%25e3%2582%2592%25e5%25bb%25b6%25e5%2591%25bd%25e3%2581%2599%25e3%2582%258b%25e3%2581%259f%25e3%2582%2581%25e3%2581%25aeassistivetouch</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/446#comments</comments>
		<pubDate>Sat, 11 Feb 2012 02:30:34 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=446</guid>
		<description>iPhoneのホームボタンって酷使されるもので、よく「ホームボタンがきかなくなった」などの症状を訴える人が多い。そんな人達に朗報なのが、このAssistiveTouchという設定。設定→一般→アクセシビリティ→(身体機能 [...]</description>
			<content:encoded><![CDATA[<p>iPhoneのホームボタンって酷使されるもので、よく「ホームボタンがきかなくなった」などの症状を訴える人が多い。そんな人達に朗報なのが、このAssistiveTouchという設定。設定→一般→アクセシビリティ→(身体機能サポート)AssistiveTouchをオンにすると、</p>
<p><a rel="lightbox" title="AssistiveTouch" href="http://www.flickr.com/photos/8250493@N05/6854403083/"><img class="alignnone" alt="AssistiveTouch" src="http://farm8.staticflickr.com/7017/6854403083_41f32360c5.jpg"></a></p>
<p>写真の右下にあるようなフワッとしたボタンが出てきて、これをタップするとホームボタンが出てくる。</p>
<p><a rel="lightbox" title="AssistiveTouch2" href="http://www.flickr.com/photos/8250493@N05/6854406239/"><img class="alignnone" alt="AssistiveTouch2" src="http://farm8.staticflickr.com/7067/6854406239_1f75d6754a.jpg"></a></p>
<p>詳細は<a title="iPhoneのホームボタンを使わない方法" href="http://weekly.ascii.jp/elem/000/000/074/74479/">iPhoneのホームボタンを使わない方法</a>にいろいろ書いてあるけど、これを覚えてからホームボタンを押す機会が半減したので、ホームボタン故障恐怖症の人はためしてみるといいと思う。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/iPhone%E3%83%90%E3%82%AB-1800%E3%82%A2%E3%83%97%E3%83%AA%E3%81%9F%E3%82%81%E3%81%97%E3%81%9F%E7%94%B7%E3%81%AE%E3%81%99%E3%81%94%E3%81%84%E6%B4%BB%E7%94%A8%E8%A1%93-iPhone4S%E5%AE%8C%E5%85%A8%E5%AF%BE%E5%BF%9C-%E7%BE%8E%E5%B4%8E-%E6%A0%84%E4%B8%80%E9%83%8E/dp/4776206919%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4776206919"><img src="http://ecx.images-amazon.com/images/I/51QEkDvuxsL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/iPhone%E3%83%90%E3%82%AB-1800%E3%82%A2%E3%83%97%E3%83%AA%E3%81%9F%E3%82%81%E3%81%97%E3%81%9F%E7%94%B7%E3%81%AE%E3%81%99%E3%81%94%E3%81%84%E6%B4%BB%E7%94%A8%E8%A1%93-iPhone4S%E5%AE%8C%E5%85%A8%E5%AF%BE%E5%BF%9C-%E7%BE%8E%E5%B4%8E-%E6%A0%84%E4%B8%80%E9%83%8E/dp/4776206919%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4776206919">iPhoneバカ　1800アプリためした男のすごい活用術　iPhone4S完全対応!</a></p>
	<p><em>著者／訳者：</em>美崎 栄一郎</p>
	<p><em>出版社：</em>アスコム( 2011-11-28 )</p>
	<p>単行本（ソフトカバー） ( 254 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/5T8Jja67iBi8wNeI41Dn2L7UUpM/0/da"><img src="http://feedads.g.doubleclick.net/~a/5T8Jja67iBi8wNeI41Dn2L7UUpM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5T8Jja67iBi8wNeI41Dn2L7UUpM/1/da"><img src="http://feedads.g.doubleclick.net/~a/5T8Jja67iBi8wNeI41Dn2L7UUpM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/HN-TcynUd2M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/446/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shellでset -e の状態を解除するにはset +e</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/444?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=shell%25e3%2581%25a7set-e-%25e3%2581%25ae%25e7%258a%25b6%25e6%2585%258b%25e3%2582%2592%25e8%25a7%25a3%25e9%2599%25a4%25e3%2581%2599%25e3%2582%258b%25e3%2581%25ab%25e3%2581%25afset-e</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/444#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:36:09 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=444</guid>
		<description>&amp;#8220;set -e&amp;#8221;: 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する &amp;#8211; RX-7乗りの適当な日々にある通り、Shellスクリプトで set -e すると実行結果が0 [...]</description>
			<content:encoded><![CDATA[<p><a title="\"set -e\": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - RX-7乗りの適当な日々" href="http://d.hatena.ne.jp/rx7/20101226/p1">&#8220;set -e&#8221;: 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する &#8211; RX-7乗りの適当な日々</a>にある通り、Shellスクリプトで set -e すると実行結果が0以外の場合、勝手にスクリプトが終了する。で、この挙動をスクリプトの途中で元に戻したい(＝エラーにしたくない)場合は以下のように set +e すればいい。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">set</span> <span style="color: #660033;">-e</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;in set -e&quot;</span>
...
<span style="color: #000000; font-weight: bold;">set</span> +e
hoge
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;in set +e&quot;</span></pre></div></div>

<p>これで hoge でコマンドが失敗してもエラーでShell自体は終了しなくなる。<br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E5%85%A5%E9%96%80UNIX%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E2%80%95%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6UNIX%E3%81%AE%E4%B8%96%E7%95%8C-%E3%83%96%E3%83%AB%E3%83%BC%E3%82%B9-%E3%83%96%E3%83%AA%E3%83%B3/dp/4797321946%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4797321946"><img src="http://ecx.images-amazon.com/images/I/41shA4AJs9L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E5%85%A5%E9%96%80UNIX%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E2%80%95%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6UNIX%E3%81%AE%E4%B8%96%E7%95%8C-%E3%83%96%E3%83%AB%E3%83%BC%E3%82%B9-%E3%83%96%E3%83%AA%E3%83%B3/dp/4797321946%3FSubscriptionId%3DAKIAJGVWECUONT35GEJA%26tag%3Dkazzhomeunixo-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4797321946">入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界</a></p>
	<p><em>著者／訳者：</em>ブルース ブリン</p>
	<p><em>出版社：</em>ソフトバンククリエイティブ( 2003-02 )</p>
	<p>単行本 ( 434 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>

<p><a href="http://feedads.g.doubleclick.net/~a/F_Li4ZXHMKRjBMLyRJNMCxl0xd8/0/da"><img src="http://feedads.g.doubleclick.net/~a/F_Li4ZXHMKRjBMLyRJNMCxl0xd8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/F_Li4ZXHMKRjBMLyRJNMCxl0xd8/1/da"><img src="http://feedads.g.doubleclick.net/~a/F_Li4ZXHMKRjBMLyRJNMCxl0xd8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/25TVbI5QBKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/444/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>python-mode + auto-complete-mode + ac-pythonでPythonのコード補完</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/443?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=python-mode-auto-complete-mode-ac-python%25e3%2581%25a7python%25e3%2581%25ae%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2589%25e8%25a3%259c%25e5%25ae%258c</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/443#comments</comments>
		<pubDate>Wed, 18 Jan 2012 15:52:48 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=443</guid>
		<description>Pythonの補完をEmacsでシンプルに最小労力で手早く使えるようにする &amp;#8211; 牌語備忘録 &amp;#8211; pygoの通りなんですが、手っ取り早くEmacsでPythonのコード補完を実現できた。ちなみにpy [...]</description>
			<content:encoded><![CDATA[<p><a title="Pythonの補完をEmacsでシンプルに最小労力で手早く使えるようにする - 牌語備忘録 - pygo" href="http://d.hatena.ne.jp/CortYuming/20111224/p1">Pythonの補完をEmacsでシンプルに最小労力で手早く使えるようにする &#8211; 牌語備忘録 &#8211; pygo</a>の通りなんですが、手っ取り早くEmacsでPythonのコード補完を実現できた。ちなみにpython-modeでもac-pythonは問題なく動いてる。これ設定したらコード書くスピードが今までの1.5倍ぐらい速くなったっす！</p>

<p><a href="http://feedads.g.doubleclick.net/~a/BsKaKLPrSkTKKrBsQiBOdq0b4hs/0/da"><img src="http://feedads.g.doubleclick.net/~a/BsKaKLPrSkTKKrBsQiBOdq0b4hs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/BsKaKLPrSkTKKrBsQiBOdq0b4hs/1/da"><img src="http://feedads.g.doubleclick.net/~a/BsKaKLPrSkTKKrBsQiBOdq0b4hs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/oinume/diary/~4/ElZbhdNqqiQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

