<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xml:lang="ja">
	<channel>
		<title>Hatena::Diary::Neko::kak 500 Internal Server Error</title>
		<link>http://d.hatena.ne.jp/nekokak/</link>
		<description>Hatena::Diary::Neko::kak 500 Internal Server Error</description>
		<dc:creator>nekokak</dc:creator>


		<item>
			<title>[perl]webアプリからircbotに話しかける方法</title>
			<link>http://d.hatena.ne.jp/nekokak/20100202/1265093005</link>

			<description><![CDATA[
		<div class="section">
			<p>今作ってる簡易TODO管理の仕組みでtaskが登録されたらircに通知されるようにしたかったので</p>
			<p>サックリつくってみた。</p>
			<p>仕組みとしてはircボットとして常駐しながら、json-rpcなserverもうごいているので、</p>
			<p>json-rpcで発言したい内容をpostするだけです。</p>
			<p><script src="http://gist.github.com/292417.js"></script></p>
			<p>irchttpd.plを常駐させておいて、</p>
			<p>Webアプリ側でpost.plでやってることをやらせるだけ。</p>
			<p>１チャンネルしか対応してないけど十分なり。</p>
		</div>
]]></description>

			<dc:creator>nekokak</dc:creator>

			<pubDate>Tue, 02 Feb 2010 06:43:25 GMT</pubDate>



			<category>perl</category>


		</item>

		<item>
			<title>[perl][skinny]Re:DBIx::Skinnyを使ってみた。</title>
			<link>http://d.hatena.ne.jp/nekokak/20100128/1264682072</link>

			<description><![CDATA[
		<div class="section">
			<p><a href="http://d.hatena.ne.jp/makotoworld/20100128/1264667446" target="_blank">http://d.hatena.ne.jp/makotoworld/20100128/1264667446</a></p>
			<p>test.pl内に幾つか間違い等があります。</p>
			<p>まず、</p>
<pre>
use Web::DB::Schema;

my $db = Web::DB::Schema-&#62;new;
$db-&#62;connect({dsn =&#62; &#39;dbi:mysql:test:3306;user=root;password=example;&#39;});
</pre>

			<p>この部分は</p>
<pre>
use WebMemo::DB;

my $db = WebMemo::DB-&#62;new;
$db-&#62;connect(
    {
        dsn      =&#62; &#39;dbi:mysql:test&#39;,
        username =&#62; &#39;root&#39;,
        password =&#62; &#39;example&#39;
    }
);
</pre>

			<p>このようになるはずです。</p>
			<p>次に、</p>
<pre>
# SELECT &#42; FROM webmemo WHERE id = 1 limit 1;
# を実行
$row = $db-&#62;single(&#39;webmemo&#39;);
</pre>

			<p>ですが、これは発行されるSQL的には</p>
<pre>
SELECT &#42; FROM webmemo limit 1;
</pre>

			<p>になります。</p>
			<br>

			<p>また、MySQLを使うときにどういうところで躓いたのか教えていただけるとありがたいです。</p>
			<p>結構エラー処理でわかりにくい場合があるかもしれないので、どしどしご意見ご要望おまちしております。</p>
		</div>
]]></description>

			<dc:creator>nekokak</dc:creator>

			<pubDate>Thu, 28 Jan 2010 12:34:32 GMT</pubDate>



			<category>perl</category>

			<category>skinny</category>


		</item>

		<item>
			<title>[perl][skinny]独自row拡張の拡張</title>
			<link>http://d.hatena.ne.jp/nekokak/20100124/1264262557</link>

			<description><![CDATA[
		<div class="section">
			<p><a href="http://d.hatena.ne.jp/magicalhat/20100118/1263745674" target="_blank">http://d.hatena.ne.jp/magicalhat/20100118/1263745674</a></p>
			<p>こちらでto_jsonのメソッドを生やすのに大変な思いをさせてしまいましたが、</p>
			<p>先程独自Rowをもう少し拡張しやすいバージョンをgithubにpushしました。</p>
			<p><a href="http://github.com/nekokak/p5-dbix-skinny/commit/2bd156a7d4c08cb621197105c3652151e86675d5" target="_blank">http://github.com/nekokak/p5-dbix-skinny/commit/2bd156a7d4c08cb621197105c3652151e86675d5</a></p>
			<p>これのサンプルが</p>
			<p><a href="http://github.com/nekokak/p5-dbix-skinny-sample/commit/1123d7b92bfcb28e8afda7cf3dbc030854202050" target="_blank">http://github.com/nekokak/p5-dbix-skinny-sample/commit/1123d7b92bfcb28e8afda7cf3dbc030854202050</a></p>
			<p>こちらになります。</p>
			<p>簡単に解説すると、</p>
			<p>Demo::DBがSkinnyを利用するクラスとすると</p>
			<p>Demo::DB::Rowというクラスを定義してここにto_jsonメソッドを用意してあげます。</p>
			<p>するとSkinnyでは内部でDemo::DB::RowをベースのRowクラスに利用するので、</p>
			<p>to_jsonメソッドが利用できるようになっています。</p>
			<p>また、</p>
			<p><a href="http://d.hatena.ne.jp/magicalhat/20100119/1263870619" target="_blank">http://d.hatena.ne.jp/magicalhat/20100119/1263870619</a></p>
			<p>こちらではイテレータにto_jsonメソッドをはやしていますが、</p>
			<p>こういうのはRow側でto_jsonできるメソッドがあれば</p>
			<p>あとは使う側でmapするだけですね。</p>
<pre class="syntax-highlight">
<span class="synStatement">my</span> <span class="synIdentifier">$itr</span> = <span class="synIdentifier">$db</span>-&#62;search(<span class="synConstant">'user'</span>);
<span class="synStatement">my</span> <span class="synIdentifier">@json</span> = <span class="synStatement">map</span> { <span class="synIdentifier">$_</span>-&#62;to_json } <span class="synIdentifier">$itr</span>-&#62;all;
</pre>

			<p>なので、無理にイテレータにメソッド生やす必要はないと思いますです。</p>
		</div>
]]></description>

			<dc:creator>nekokak</dc:creator>

			<pubDate>Sat, 23 Jan 2010 16:02:37 GMT</pubDate>



			<category>perl</category>

			<category>skinny</category>


		</item>

		<item>
			<title>[Perl]Test::Declareの今後について</title>
			<link>http://d.hatena.ne.jp/nekokak/20100119/1263908176</link>

			<description><![CDATA[
		<div class="section">
			<p><a href="http://d.hatena.ne.jp/tokuhirom/20100118/1263800343" target="_blank">http://d.hatena.ne.jp/tokuhirom/20100118/1263800343</a></p>
			<p>こちらに書かれているようにTest::Moreのsubtest機能をつかえば、</p>
			<p>Test::Declareに近い書き方ができます。</p>
			<p>また、Test::Declareでやりたかったtestの件数を数える機能も</p>
			<p>Test::Moreのdone_testingを使うことで対応可能なので、</p>
			<p>今後Test::Declareを積極的に開発するつもりはありません。</p>
			<p>ということで取り急ぎ。</p>
		</div>
]]></description>

			<dc:creator>nekokak</dc:creator>

			<pubDate>Tue, 19 Jan 2010 13:36:16 GMT</pubDate>



			<category>Perl</category>


		</item>

		<item>
			<title>[kamui][Perl]NoPaste</title>
			<link>http://d.hatena.ne.jp/nekokak/20100109/1263036059</link>

			<description><![CDATA[
		<div class="section">
			<p><a href="http://github.com/nekokak/p5-Kamui" target="_blank">Kamui</a>を使ったサンプルとしてNoPasteをつくっていたので微調整して公開してみた。</p>
			<p><a href="http://nopaste.nekokak.org/" target="_blank">http://nopaste.nekokak.org/</a></p>
			<p>NoPasteはサンプルアプリの事始めとしては分量的に最適ですね。</p>
			<p>ということでこのNoPasteのコードは普通にgithubにおいてあるので良かったら参考までにどうぞ。</p>
			<p><a href="http://github.com/nekokak/p5-Idiot" target="_blank">http://github.com/nekokak/p5-Idiot</a></p>
			<p>構成的にはWAFにKamuiをつかって、DB周りで<a href="http://github.com/nekokak/p5-dbix-skinny" target="_blank">DBIx::Skinny</a>を使っているくらいです。</p>
		</div>
]]></description>

			<dc:creator>nekokak</dc:creator>

			<pubDate>Sat, 09 Jan 2010 11:20:59 GMT</pubDate>



			<category>kamui</category>

			<category>Perl</category>


		</item>

	</channel>
</rss>
