<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ひまぽ日記＠tndl.net &#187; Programing</title>
	<atom:link href="http://blog.tndl.net/category/programing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tndl.net</link>
	<description>中の人のたわごと</description>
	<lastBuildDate>Fri, 04 May 2012 11:56:33 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>WWW::Google::Calc つくった。</title>
		<link>http://blog.tndl.net/2011/11/16/445/wwwgooglecalc-%e3%81%a4%e3%81%8f%e3%81%a3%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.tndl.net/2011/11/16/445/wwwgooglecalc-%e3%81%a4%e3%81%8f%e3%81%a3%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 09:10:39 +0000</pubDate>
		<dc:creator>える*</dc:creator>
				<category><![CDATA[Programing]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.tndl.net/?p=445</guid>
		<description><![CDATA[<p>Google で検索するときに「1 + 1」とか「$100 in yen」とか「3フィートをメートルで」とかのやつ</p> <p>ソースコードは、<a title="eru / WWW-Google-Calc " href="https://github.com/eru/WWW-Google-Calc">GitHub</a>に置いておきます。</p> <p>使い方は超かんたん。</p> <p>モジュールのインストール</p> <p>サンプル</p> <p>実行結果</p> <p>こんな感じで使えます。</p> タグ: <a href="http://blog.tndl.net/tag/perl/" title="perl" rel="tag">perl</a><br />]]></description>
			<content:encoded><![CDATA[<p>Google で検索するときに「1 + 1」とか「$100 in yen」とか「3フィートをメートルで」とかのやつ</p>
<p><span id="more-445"></span>ソースコードは、<a title="eru / WWW-Google-Calc " href="https://github.com/eru/WWW-Google-Calc">GitHub</a>に置いておきます。</p>
<p>使い方は超かんたん。</p>
<p>モジュールのインストール</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
$ git clone git://github.com/eru/WWW-Google-Calc.git
$ cd WWW-Google-Calc
$ perl Makefile.PL
$ make
$ make test
$ sudo make install
</pre>
<p>サンプル</p>
<pre class="brush: perl; title: ; notranslate">
use strict;
use warnings;
use WWW::Google::Calc;
use Encode;

my $cal = WWW::Google::Calc-&gt;new(lang =&gt; 'ja');

print encode('utf-8', $cal-&gt;calc('$100 in yen')) . &quot;\n&quot;;
print encode('utf-8', $cal-&gt;calc('3フィートをメートルで')) . &quot;\n&quot;;

if($cal-&gt;calc(&quot;not numerical expression&quot;)) {
print &quot;true\n&quot;;
} else {
print &quot;false\n&quot;;
}
</pre>
<p>実行結果</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
$ perl sample.pl
US$ 100 = 7 702.97335 円
3フィート = 0.9144 メートル
false
</pre>
<p>こんな感じで使えます。</p>

	タグ: <a href="http://blog.tndl.net/tag/perl/" title="perl" rel="tag">perl</a><br />
]]></content:encoded>
			<wfw:commentRss>http://blog.tndl.net/2011/11/16/445/wwwgooglecalc-%e3%81%a4%e3%81%8f%e3%81%a3%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fedora 13 で rpm パッケージのない perl のモジュールを作る</title>
		<link>http://blog.tndl.net/2010/05/14/358/fedora-13-%e3%81%a7-rpm-%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%ae%e3%81%aa%e3%81%84-perl-%e3%81%ae%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b/</link>
		<comments>http://blog.tndl.net/2010/05/14/358/fedora-13-%e3%81%a7-rpm-%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%ae%e3%81%aa%e3%81%84-perl-%e3%81%ae%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b/#comments</comments>
		<pubDate>Fri, 14 May 2010 14:11:38 +0000</pubDate>
		<dc:creator>える*</dc:creator>
				<category><![CDATA[Programing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.tndl.net/?p=358</guid>
		<description><![CDATA[<p>やんごとなき事情で、rpm パッケージがない perl のモジュールが必要になったので、<br /> CPAN でインストールしようか考えたけど、環境を汚すことを考えると簡単に処理できる<br /> rpm パッケージのがいいので、作ろうとしたお話。</p> <p>まずは、CPAN から取得した tar.gz なりを rpm パッケージにできるソフトだが、<br /> cpan2rpm や cpanflute2 がある。</p> <p>cpan2rpm は CentOS と fedora9 くらいまでは yum でインストールできたが、<br /> 今はできなくなっていて、自分でソースいじってインストールしてみたがうまく動かなかった。</p> <p>そこで cpanflute2 を使う。</p> <p>まずは、 cpanflute2 のインストール</p> <p>余談だが、レポジトリ上にある perl のモジュールは &#8220;perl(MODULE_NAME)&#8221; を指定すれば<br /> インストールできることをこの作業中に知った。</p> <p>あとは、欲しいモジュールのアーカイブをCPANから探してきて cpanflute2 してやればいい。<br /> ただ、注意しなければならないのが、問答無双でソースを fedora 13 では、<br /> /root/rpmbuild/SOURCE に探しに行くので [...]]]></description>
			<content:encoded><![CDATA[<p>やんごとなき事情で、rpm パッケージがない perl のモジュールが必要になったので、<br />
CPAN でインストールしようか考えたけど、環境を汚すことを考えると簡単に処理できる<br />
rpm パッケージのがいいので、作ろうとしたお話。</p>
<p><span id="more-358"></span>まずは、CPAN から取得した tar.gz なりを rpm パッケージにできるソフトだが、<br />
cpan2rpm や cpanflute2 がある。</p>
<p>cpan2rpm は CentOS と fedora9 くらいまでは yum でインストールできたが、<br />
今はできなくなっていて、自分でソースいじってインストールしてみたがうまく動かなかった。</p>
<p>そこで cpanflute2 を使う。</p>
<p>まずは、 cpanflute2 のインストール</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# yum -y install &quot;perl(RPM::Specfile)&quot;
</pre>
<p>余談だが、レポジトリ上にある perl のモジュールは &#8220;perl(MODULE_NAME)&#8221; を指定すれば<br />
インストールできることをこの作業中に知った。</p>
<p>あとは、欲しいモジュールのアーカイブをCPANから探してきて cpanflute2 してやればいい。<br />
ただ、注意しなければならないのが、問答無双でソースを fedora 13 では、<br />
/root/rpmbuild/SOURCE に探しに行くので CPAN から tar.gz を持ってくるときに、以下のようにしとけばうまくいく。</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# cd /root/rpmbuild/SOURCE
# wget http://cpan.org/hogehoge.tar.gz
# cpanflute2 --buildall hogehoge.tar.gz
</pre>
<p>これで rpm ができてるのであとは、以下の様にすれば依存性を解決してインストールしてくれる。</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# yum --nogpgcheck install hogehoge.rpm
</pre>
<p>Win32::Fileなどの依存性でインストールできない場合は、 以下のようにしてインストールはできる。<br />
動作するかはソースを見て確認する必要があるが。</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# rpm -Uvh --nodeps hogehoge.rpm
</pre>
<p>こんな感じで、めんどくさくなってきたのでおわり。</p>

	タグ: <a href="http://blog.tndl.net/tag/perl/" title="perl" rel="tag">perl</a><br />
]]></content:encoded>
			<wfw:commentRss>http://blog.tndl.net/2010/05/14/358/fedora-13-%e3%81%a7-rpm-%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%ae%e3%81%aa%e3%81%84-perl-%e3%81%ae%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>switch文</title>
		<link>http://blog.tndl.net/2009/01/21/254/switch%e6%96%87/</link>
		<comments>http://blog.tndl.net/2009/01/21/254/switch%e6%96%87/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 05:59:58 +0000</pubDate>
		<dc:creator>える*</dc:creator>
				<category><![CDATA[Programing]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.tndl.net/?p=254</guid>
		<description><![CDATA[<p>言語によってswitch文の書き方がちがくて使いにくい。<br /> 忘れるとアレなのでメモ。</p> <p></p> <p>intとかめんどいので必要部分のみ<br /> 複数caseを用いた場合の話。</p> <p>// C言語<br /> switch(cmd) {<br /> case 1:<br /> case 2:<br /> printf(&#8220;1 or 2\n&#8221;); break;<br /> default:<br /> printf(&#8220;not 1 or 2\n&#8221;); break;<br /> }</p> <p>// perl 5.8.0～<br /> use Switch;<br /> switch($cmd) {<br /> case (sub {  ($cmd eq &#8220;1&#8243;) &#124;&#124; ($cmd eq &#8220;2&#8243;)  } ); [...]]]></description>
			<content:encoded><![CDATA[<p>言語によってswitch文の書き方がちがくて使いにくい。<br />
忘れるとアレなのでメモ。</p>
<p><span id="more-254"></span></p>
<p>intとかめんどいので必要部分のみ<br />
複数caseを用いた場合の話。</p>
<p>// C言語<br />
switch(cmd) {<br />
case 1:<br />
case 2:<br />
printf(&#8220;1 or 2\n&#8221;); break;<br />
default:<br />
printf(&#8220;not 1 or 2\n&#8221;); break;<br />
}</p>
<p>// perl 5.8.0～<br />
use Switch;<br />
switch($cmd) {<br />
case (sub {  ($cmd eq &#8220;1&#8243;) || ($cmd eq &#8220;2&#8243;)  } ); {<br />
print &#8220;1 or 2\n&#8221;;<br />
}<br />
else {<br />
print &#8220;not 1 or 2\n&#8221;;<br />
}</p>
<p>// Perl 5.10.0～ or Perl6<br />
use feature &#8216;switch&#8217;; #5.10でperl６の機能を使うためのfeature<br />
use switch; #perl6 この書き方は正確じゃないかも<br />
given ($cmd) {<br />
when (&#8220;1&#8243; || &#8220;2&#8243;) {<br />
print &#8220;1 or 2\n&#8221;;<br />
}<br />
default {<br />
print &#8220;not 1 or 2\n&#8221;;<br />
}</p>
<p>perl 5.8.0～switch文が標準で使えるようになったので試したら複数caseな書き方はダメみたい<br />
perl 6でgiven whenというswitch文と同じような機能が実装されるのでそれなら大丈夫っぽい</p>
<p>perl5でswitch文を使って複数caseを書くのはまだ不便っぽい<br />
従来どおりSWITCH:を使った似非switch文かif-elsifでどうにかしたほうがいいっぽい？</p>

	タグ: <a href="http://blog.tndl.net/tag/perl/" title="perl" rel="tag">perl</a><br />
]]></content:encoded>
			<wfw:commentRss>http://blog.tndl.net/2009/01/21/254/switch%e6%96%87/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS5 fedora9 で mediatomb③</title>
		<link>http://blog.tndl.net/2008/11/08/169/centos5-fedora9-%e3%81%a7-mediatomb%e2%91%a2/</link>
		<comments>http://blog.tndl.net/2008/11/08/169/centos5-fedora9-%e3%81%a7-mediatomb%e2%91%a2/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 07:43:52 +0000</pubDate>
		<dc:creator>える*</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[CentOS5]]></category>
		<category><![CDATA[fedora9]]></category>
		<category><![CDATA[mediatomb]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://blog.tndl.net/?p=169</guid>
		<description><![CDATA[<p>初回の記事の修正のしたのと<br /> パッチ作ったので、③はじめます？<br /> </p> <p><a href="http://blog.tndl.net/?p=156">初回のビルド記事</a>を色々修正して<br /> それを含めた分のパッチを作ったのでドゾー<br /> <a href="http://blog.tndl.net/files/2008/11/spec.diff">spec</a><br /> <a href="http://blog.tndl.net/files/2008/11/scripts.diff">mediatomb-service-fedora</a><br /> <a href="http://blog.tndl.net/files/2008/11/config.diff">mediatomb-conf-fedora</a></p> <p>mediatombのソースがあるディレクトリに移動して<br /> $ patch -p0 &#60; *diff<br /> ひとつのファイルにしなかったのはconfigとscriptは変更がないからです。</p> <p>パッチ仕様前提でのbuildguide<br /> めんどくさいので$と#は区別しないで#統一で書きます<br /> ※ %version%はその時々の&#8221;rev****&#8221;に置き換えてください。<br /> # svn co https://svn.mediatomb.cc/svnroot/mediatomb/trunk/mediatomb mediatomb<br /> # cd mediatomb<br /> # autoreconf -i<br /> (autoreconf -v == 2.61 )<br /> # [...]]]></description>
			<content:encoded><![CDATA[<p>初回の記事の修正のしたのと<br />
パッチ作ったので、③はじめます？<br />
<span id="more-169"></span></p>
<p><a href="http://blog.tndl.net/?p=156">初回のビルド記事</a>を色々修正して<br />
それを含めた分のパッチを作ったのでドゾー<br />
<a href="http://blog.tndl.net/files/2008/11/spec.diff">spec</a><br />
<a href="http://blog.tndl.net/files/2008/11/scripts.diff">mediatomb-service-fedora</a><br />
<a href="http://blog.tndl.net/files/2008/11/config.diff">mediatomb-conf-fedora</a></p>
<p>mediatombのソースがあるディレクトリに移動して<br />
<code>$ patch -p0 &lt; *diff</code><br />
ひとつのファイルにしなかったのはconfigとscriptは変更がないからです。</p>
<p>パッチ仕様前提でのbuildguide<br />
めんどくさいので$と#は区別しないで#統一で書きます<br />
※ %version%はその時々の&#8221;rev****&#8221;に置き換えてください。<br />
<code># svn co https://svn.mediatomb.cc/svnroot/mediatomb/trunk/mediatomb mediatomb<br />
# cd mediatomb<br />
# autoreconf -i</code><br />
(autoreconf -v == 2.61 )<br />
<code># ./configure --disable-ffmpegthumbnailer</code></p>
<p>//パッチ当て<br />
<code># wget http://blog.tndl.net/files/spec.diff<br />
# wget http://blog.tndl.net/files/config.diff<br />
# wget http://blog.tndl.net/files/scripts.diff<br />
# patch -p0 &lt; spec.diff<br />
# patch -p0 &lt; config.diff<br />
# patch -p0 &lt; scripts.diff</code></p>
<p>//ソースアーカイブの用意とビルド<br />
<code># cd ..<br />
# mv mediatomb* mediatomb-%version%<br />
# tar czvf mediatomb-%version%.tar.gz mediatomb-%version%<br />
# mv mediatomb-%version%.tar.gz /usr/src/redhat/SOURCES/<br />
# cd mediatomb-%version%<br />
# rpmbuild -ba mediatomb.spec</code></p>

	タグ: <a href="http://blog.tndl.net/tag/centos5/" title="CentOS5" rel="tag">CentOS5</a>, <a href="http://blog.tndl.net/tag/fedora9/" title="fedora9" rel="tag">fedora9</a>, <a href="http://blog.tndl.net/tag/mediatomb/" title="mediatomb" rel="tag">mediatomb</a>, <a href="http://blog.tndl.net/tag/patch/" title="patch" rel="tag">patch</a><br />
]]></content:encoded>
			<wfw:commentRss>http://blog.tndl.net/2008/11/08/169/centos5-fedora9-%e3%81%a7-mediatomb%e2%91%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagick</title>
		<link>http://blog.tndl.net/2008/06/19/127/imagick/</link>
		<comments>http://blog.tndl.net/2008/06/19/127/imagick/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 12:43:48 +0000</pubDate>
		<dc:creator>える*</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[imagick]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.tndl.net/?p=127</guid>
		<description><![CDATA[<p>phpで画像をアレコレできるやつのお話<br /> <br /> 　<br /> 　<br /> とりあえず導入<br /> apache,phpがインストール済みのCentOS5.1での話です<br /> # yum install php-devel ImageMagick-devel php-pear<br /> # pecl install imagick<br /> # vi /etc/php.ini<br /> 600行目あたりに&#8221;Dynamic Extensions&#8221;の部分があるので、以下を適当に追加<br /> ; magick.soの読み込み<br /> extension=imagick.so;<br /> # service httpd restart<br /> これでphpからimagickが使えるようになりました。やったね！</p> <p>まぁ、本題はこんなところではなく、<a href='http://www.linux-nantes.fr.eu.org/~fmonnier/doc/imagick/'>Documentation PHP-Imagick</a>これのお話。<br /> imagickを使うと画像をアレコレできるんですが、輪郭強調とかの方法をしってればそういうのもできちゃうんですよ。<br /> 画像の上に文字を透かしで載せたりとか、複数枚の画像を重ね合わせたりetc&#8230;<br /> そういうWebserviceを作ったら面白そうだなと思いました。</p> <p>この記事は未来の自分へのアイデアです。</p> タグ: <a href="http://blog.tndl.net/tag/imagick/" [...]]]></description>
			<content:encoded><![CDATA[<p>phpで画像をアレコレできるやつのお話<br />
<span id="more-127"></span><br />
　<br />
　<br />
とりあえず導入<br />
apache,phpがインストール済みのCentOS5.1での話です<br />
<code># yum install php-devel ImageMagick-devel php-pear<br />
# pecl install imagick<br />
# vi /etc/php.ini</code><br />
600行目あたりに&#8221;Dynamic Extensions&#8221;の部分があるので、以下を適当に追加<br />
; magick.soの読み込み<br />
extension=imagick.so;<code><br />
# service httpd restart</code><br />
これでphpからimagickが使えるようになりました。やったね！</p>
<p>まぁ、本題はこんなところではなく、<a href='http://www.linux-nantes.fr.eu.org/~fmonnier/doc/imagick/'>Documentation PHP-Imagick</a>これのお話。<br />
imagickを使うと画像をアレコレできるんですが、輪郭強調とかの方法をしってればそういうのもできちゃうんですよ。<br />
画像の上に文字を透かしで載せたりとか、複数枚の画像を重ね合わせたりetc&#8230;<br />
そういうWebserviceを作ったら面白そうだなと思いました。</p>
<p>この記事は未来の自分へのアイデアです。</p>

	タグ: <a href="http://blog.tndl.net/tag/imagick/" title="imagick" rel="tag">imagick</a>, <a href="http://blog.tndl.net/tag/php/" title="php" rel="tag">php</a><br />
]]></content:encoded>
			<wfw:commentRss>http://blog.tndl.net/2008/06/19/127/imagick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

