<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atomfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="0.3" xml:lang="en">
  <title>YappoLogs</title>
  <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/" />
  <modified>2010-03-09T03:35:04Z</modified>
  <tagline>Yappo運営者のメモとか色々
blogって単語は好きぢゃ無いけどスクラッチ代わりに使います。
</tagline>
  <id>tag:blog.yappo.jp,2010:/yappo//1</id>
  <generator url="http://www.movabletype.org/" version="2.661">Movable Type</generator>
  <copyright>Copyright (c) 2010, Yappo</copyright>
  <link rel="start" type="application/atom+xml" href="http://feeds.feedburner.com/yappo-atom" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="yappo-atom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>トランザクションを使用したMySQLのおまとめINSERTはどれくらい速いか</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000714.html" />
    <modified>2010-03-09T03:35:04Z</modified>
    <issued>2010-03-09T12:35:04+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.714</id>
    <created>2010-03-09T03:35:04Z</created>
    <summary type="text/plain">元ネタはMySQL のおまとめINSERTはどれくらい速いか - bonar noteです。 トランザクションでまとめてInsertしてからcommitしたほうが速くなるので、元ネタのベンチマークをベースにして試してみました。 環境は macports で入れた mysql 5.1.44 です。 まぁnormalからbulk(100)くらいの差は出てなくても、トランザクション使ってまとめてコミットしても多少速くなっとりますね。 normal と txn の差よりも bulk(100) と bulk(100)_txn の差が小さいのは、 bulk insert で最初から効率的になってるぶん差が少なくなってるという感じでしょうか。 コードは以下の通り。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>tech</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>元ネタは<a href="http://d.hatena.ne.jp/bonar/20100308/1268069666">MySQL のおまとめINSERTはどれくらい速いか - bonar note</a>です。</p>
<p>トランザクションでまとめてInsertしてからcommitしたほうが速くなるので、元ネタのベンチマークをベースにして試してみました。</p>

<p>環境は macports で入れた mysql 5.1.44 です。</p>

<script src="http://gist.github.com/326097.js?file=result.txt"></script>

<p>まぁnormalからbulk(100)くらいの差は出てなくても、トランザクション使ってまとめてコミットしても多少速くなっとりますね。<br />
normal と txn の差よりも bulk(100) と bulk(100)_txn の差が小さいのは、 bulk insert で最初から効率的になってるぶん差が少なくなってるという感じでしょうか。</p>

<p>コードは以下の通り。</p>

<script src="http://gist.github.com/326097.js?file=bulk_insert.pl"></script>]]>
      
    </content>
  </entry>
  <entry>
    <title>PHPの関数と同等の実装をPerlでどう書くリファレンスプロジェクト開始のお知らせ</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000713.html" />
    <modified>2010-03-03T03:02:20Z</modified>
    <issued>2010-03-03T12:02:20+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.713</id>
    <created>2010-03-03T03:02:20Z</created>
    <summary type="text/plain">ふとしたきっかけでPHPのリファレンスマニュアルにある関数と同等の機能をPerlで実装するにはどうするか?といったリファレンスを作るプロジェクトを始めました。 PHP使いの人がPerlを弄る時に「PHPのこれPerlでどうやれば良いんだ！」といった要望や、ごく普通のPerl使いの人が「これどうやって書けば良いのかな?」って時に使うcookbook代わりに使える事を想定しています。 ドキュメント管理にはgithubhttp://github.com/yappo/docs-php-funcref-in-perlを使い、ドキュメントのビューワーとしてwikihubWikiHub :: php-funcref-in-perl :: READMEを使っています。 書いて欲しいと思った人にはあらかたコラボレータ入れてるので、ドキュメント充実させたいと思ったらすぐにprivate repoをcloneして書けると思います。「俺入って無いし書きたいよ！」って人が居たら言ってもらえればコラボレータ追加します。 別にforkしてpull requestでもいいんですが、面倒なんでコラボにぶっ込みたい所。 書き方などはREADMEを読んでください。 今のところ書いてる人はPerl側の人間が多いので、もしPHPな人で気になった人が居たら参加してもらったら嬉しいなーとは思う所。なんかそのほうが完成度高くなりそう。 この形に落ち着くまでcodereposにしたりnim+perl-usersとか色々やってたんですが、miyagawa伝説とwikihubでの見た目が奇麗とsyntax highlightした時の組み込み関数にphp.netやperldoc.perl.org等にリンクされて便利ってのがwikihub採用の決め手でした。 とりあえず環境もろもろはいつも通り僕が用意したんですが、4000を越えるPHPの関数群のテンプレートファイルをyusukebeが用意してくれました。 ってことでどうぞよろしくです。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>ふとしたきっかけで<a href="http://jp2.php.net/manual/en/funcref.php">PHPのリファレンスマニュアル</a>にある関数と同等の機能をPerlで実装するにはどうするか?といったリファレンスを作るプロジェクトを始めました。</p>

<p>PHP使いの人がPerlを弄る時に「PHPのこれPerlでどうやれば良いんだ！」といった要望や、ごく普通のPerl使いの人が「これどうやって書けば良いのかな?」って時に使うcookbook代わりに使える事を想定しています。</p>

<p>ドキュメント管理にはgithub<a href="http://github.com/yappo/docs-php-funcref-in-perl">http://github.com/yappo/docs-php-funcref-in-perl</a>を使い、ドキュメントのビューワーとしてwikihub<a href="http://wikihub.org/wiki/php-funcref-in-perl">WikiHub :: php-funcref-in-perl :: README</a>を使っています。</p>

<p>書いて欲しいと思った人にはあらかたコラボレータ入れてるので、ドキュメント充実させたいと思ったらすぐにprivate repoをcloneして書けると思います。「俺入って無いし書きたいよ！」って人が居たら言ってもらえればコラボレータ追加します。<br />
別にforkしてpull requestでもいいんですが、面倒なんでコラボにぶっ込みたい所。</p>

<p>書き方などはREADMEを読んでください。</p>

<p>今のところ書いてる人はPerl側の人間が多いので、もしPHPな人で気になった人が居たら参加してもらったら嬉しいなーとは思う所。なんかそのほうが完成度高くなりそう。</p>

<p>この形に落ち着くまでcodereposにしたりnim+perl-usersとか色々やってたんですが、miyagawa伝説とwikihubでの見た目が奇麗とsyntax highlightした時の組み込み関数にphp.netやperldoc.perl.org等にリンクされて便利ってのがwikihub採用の決め手でした。</p>

<p>とりあえず環境もろもろはいつも通り僕が用意したんですが、<a href="http://yusukebe.com/archives/10/03/03/055123.html">4000を越えるPHPの関数群のテンプレートファイルをyusukebeが用意</a>してくれました。</p>

<p>ってことでどうぞよろしくです。</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>後方互換性を意識するというお話</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000712.html" />
    <modified>2010-02-18T11:20:57Z</modified>
    <issued>2010-02-18T20:20:57+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.712</id>
    <created>2010-02-18T11:20:57Z</created>
    <summary type="text/plain">そろそろ金曜日の天使の元ネタが増えても良いのになーと思ってるyappoです。転職した先でブログ書かないんでしょうか。 あーもーイチから作ったがええんかなぁ・・・。HTTP::EngineもStandaloneがPlackのおかげでremoveされるし。てーかモジュールを簡単にリムーブしてくれるなと・・・。よくみんなついていくよな、こんな事に。 とか好き放題言われてるようなんで一言いっておくと、まったくの嘘っぱちでHTTP::Engine::Interface::Standaloneまだ削除されてませんね。 世のおーぷんなんちゃらな感じでライブラリとかを出してる人は、誰しもが自分のプロダクトの後方互換性くらい意識してるでしょう。 HTTP::Engineだって例外ではありません。Plack/PSGIが熱いだとかいっていて開発するリソースが減ったとしても、一度世の中に出て使われてる以上は採用した人が困らないようにバグを潰すなり何なりでメンテナンスするべきです。 出来ないのなら変わりの人をみつけるか諦めるのも自由なんですが。 まぁ、そんな訳でHTTP::Engineなんかは黙々とバグ潰しをしてたり、raw_bodyがメモリ馬鹿食いしてうざいよねって時には、既存の挙動を壊さないように新たなオプションを豆乳してたりします。after PSGIでも。 まぁ、2年ぶりくらいにCPAN関連のモジュールをアップデートしてはまったとかでいうんなら御愁傷様です。まぁそれで困るような所でいきなりupgradeしてはまるとかそういう事はあり得ないと思ってますが。 とも思ったけど Plack、::Server::*が全部DEPRECATEDになった。ひでぇなぁ・・・。Impl -&gt; Server -&gt; Handler。すばらしくどーでも良いリファクタだこと。表層の名前をぽこぽこ変える神経がすげぇよ・・・。 らしいので良くわかりませんね。 そもそも Plack::Handler になるのって正式リリースまえのDEVELOPER RELEASEなのに何を言っているんでしょうか。僕には理解出来ません。 という事で、ただでさえ後方互換性を意識してても酷い事言われるので、みなさんしっかり後方互換性を意識しましょうねというおとぎ話でした。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>think</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>そろそろ金曜日の天使の元ネタが増えても良いのになーと思ってるyappoです。転職した先でブログ書かないんでしょうか。</p>

<p>
<blockquote>あーもーイチから作ったがええんかなぁ・・・。HTTP::EngineもStandaloneがPlackのおかげでremoveされるし。てーかモジュールを簡単にリムーブしてくれるなと・・・。よくみんなついていくよな、こんな事に。</blockquote>
とか好き放題言われてるようなんで一言いっておくと、まったくの嘘っぱちでHTTP::Engine::Interface::Standaloneまだ削除されてませんね。</p>

<p>世のおーぷんなんちゃらな感じでライブラリとかを出してる人は、誰しもが自分のプロダクトの後方互換性くらい意識してるでしょう。<br />
HTTP::Engineだって例外ではありません。Plack/PSGIが熱いだとかいっていて開発するリソースが減ったとしても、一度世の中に出て使われてる以上は採用した人が困らないようにバグを潰すなり何なりでメンテナンスするべきです。<br />
出来ないのなら変わりの人をみつけるか諦めるのも自由なんですが。</p>

<p>まぁ、そんな訳でHTTP::Engineなんかは黙々とバグ潰しをしてたり、raw_bodyがメモリ馬鹿食いしてうざいよねって時には、既存の挙動を壊さないように新たなオプションを豆乳してたりします。after PSGIでも。</p>

<p>まぁ、2年ぶりくらいにCPAN関連のモジュールをアップデートしてはまったとかでいうんなら御愁傷様です。まぁそれで困るような所でいきなりupgradeしてはまるとかそういう事はあり得ないと思ってますが。<br />
とも思ったけど
<blockquote>Plack、::Server::*が全部DEPRECATEDになった。ひでぇなぁ・・・。Impl -> Server -> Handler。すばらしくどーでも良いリファクタだこと。表層の名前をぽこぽこ変える神経がすげぇよ・・・。</blockquote>
らしいので良くわかりませんね。<br />
そもそも Plack::Handler になるのって正式リリースまえのDEVELOPER RELEASEなのに何を言っているんでしょうか。僕には理解出来ません。</p>

<p>という事で、ただでさえ後方互換性を意識してても酷い事言われるので、みなさんしっかり後方互換性を意識しましょうねというおとぎ話でした。</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>僕の撮影環境とFiciaの事について</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000711.html" />
    <modified>2010-01-20T15:27:09Z</modified>
    <issued>2010-01-21T00:27:09+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.711</id>
    <created>2010-01-20T15:27:09Z</created>
    <summary type="text/plain">今年に入ってから単純に僕の使ってるカメラのアフィブログ書こうと思ってたらこんなタイミングになった。とは言っても撮影テクニックやら詳しい事は良くわかってナインすが。。。 せっかくえとらぼ、写真ストレージサービス「Ficia」の追加容量を値下げ:ニュース - CNET Japanという感じで料金が1/10になって動画が上げられるようになったんでFiciaの事もまとめて書こうとおもう。 前座 今日は二本立てなんだけど、その前にみて物足りない所を。 どんだけ使ってるか 何かある度に写真取りまくってて動画対応される前までは15GBくらい溜まってたんですが動画対応始まってから20GB一気に越えてる感じです。枚数は9000枚くらい。 昔のは電源入れてないサーバとかに入ってて引っ張り出すのめんどいので入れてません＞＜ ちなみにFiciaに同期したら全部消してるので特にバックアップとってない。 ちなみにボスは数万くらい入れてるとか言ってた気がする。 リミッターが付いたよ！ 利用料金が90%安くなって月々315円で100GB使えるというのも大きいですが、もう一つ目立たない所で利用出来るストレージにリミッターが付いた所ですね。 どういう事かと言うと、今までは利用した容量に見合うだけの料金が請求されていました。うっかりCドライブの中身を全部アップロードしてしまって削除し忘れたら、その分だけ料金請求されてたんですね。 それが今日から予め選択した容量を越えるファイルをアップロードが出来なくなるというリミッターが付いた感じなんです。 最初は決済登録されてなくて2GB未満使える無料プランになってるので、お試しだけしたい人でもうっかり2GBを越えてしまう事無くお試し出来ると思います。 いくら全部上げが売りだからと言っても「うっかり全部上げて想定外の利用料金が発生してしまうようでは恐くて使えないよ！」という意見も聞いていたんですが、今日からは利用料金大幅値下げとあわせて自分の意図しない料金が請求されないようになったので、ゆったりと全部上げライフが堪能出来るんじゃないかと思います。 サービス内容が安全側になったという事でしょうか。 プライバシー的なあれ Ficiaはストレージサービスです。ストレージサービスである以上はアップロードされたファイルは常に非公開になっているべきです。なので、Ficiaにファイルを上げた直後は必ず非公開設定になってPublicにしたかったり特定の人に共有したい場合は共有アルバムに入れるまでは非公開になっています。 このへんは、利便性を考えて特定の方法でアップロードしたらtweetする的な事が出来るようになったりするかもしれないんですが、基本のポリシーはうっかり大事なデータを公開してしまわない配慮をするといった事があると思ってるので、うまく辻褄合うようになるんだと思います。 このへんも安全側に倒れるようにという強い思いはある所です。 写真撮影環境 デジタル一眼レフカメラ 僕はコンパクトデジタルカメラとデジタル一眼レフカメラの二通り持っていて、デジイチのほうはだいぶ前に Canon EOS KISS デジタル N を買いました。 ちなみに2台目に買ったシンセサイザーはEOS B700です。 Canon EOS KISS デジタル N ブラック...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>music</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>今年に入ってから単純に僕の使ってるカメラのアフィブログ書こうと思ってたらこんなタイミングになった。とは言っても撮影テクニックやら詳しい事は良くわかってナインすが。。。<br />
せっかく<a href="http://japan.cnet.com/news/media/story/0,2000056023,20406995,00.htm">えとらぼ、写真ストレージサービス「Ficia」の追加容量を値下げ:ニュース - CNET Japan</a>という感じで料金が1/10になって動画が上げられるようになったんでFiciaの事もまとめて書こうとおもう。</p>

<h4>前座</h4>

<p>今日は二本立てなんだけど、その前に<a href="http://d.hatena.ne.jp/hirose31/20100120/1263975113"></a>みて物足りない所を。</p>

<h5>どんだけ使ってるか</h5>

<p>何かある度に写真取りまくってて動画対応される前までは15GBくらい溜まってたんですが動画対応始まってから20GB一気に越えてる感じです。枚数は9000枚くらい。<br />
昔のは電源入れてないサーバとかに入ってて引っ張り出すのめんどいので入れてません＞＜<br />
ちなみにFiciaに同期したら全部消してるので特にバックアップとってない。<br />
ちなみにボスは数万くらい入れてるとか言ってた気がする。</p>

<h5>リミッターが付いたよ！</h5>

<p>利用料金が90%安くなって月々315円で100GB使えるというのも大きいですが、もう一つ目立たない所で利用出来るストレージにリミッターが付いた所ですね。</p>
<p>どういう事かと言うと、今までは利用した容量に見合うだけの料金が請求されていました。うっかりCドライブの中身を全部アップロードしてしまって削除し忘れたら、その分だけ料金請求されてたんですね。<br />
それが今日から予め選択した容量を越えるファイルをアップロードが出来なくなるというリミッターが付いた感じなんです。<br />
最初は決済登録されてなくて2GB未満使える無料プランになってるので、お試しだけしたい人でもうっかり2GBを越えてしまう事無くお試し出来ると思います。</p>

<p>いくら全部上げが売りだからと言っても「うっかり全部上げて想定外の利用料金が発生してしまうようでは恐くて使えないよ！」という意見も聞いていたんですが、今日からは利用料金大幅値下げとあわせて自分の意図しない料金が請求されないようになったので、ゆったりと全部上げライフが堪能出来るんじゃないかと思います。</p>

<p>サービス内容が安全側になったという事でしょうか。</p>

<h5>プライバシー的なあれ</h5>

<p>Ficiaはストレージサービスです。ストレージサービスである以上はアップロードされたファイルは常に非公開になっているべきです。なので、Ficiaにファイルを上げた直後は必ず非公開設定になってPublicにしたかったり特定の人に共有したい場合は共有アルバムに入れるまでは非公開になっています。<br />
このへんは、利便性を考えて特定の方法でアップロードしたらtweetする的な事が出来るようになったりするかもしれないんですが、基本のポリシーはうっかり大事なデータを公開してしまわない配慮をするといった事があると思ってるので、うまく辻褄合うようになるんだと思います。</p>

<p>このへんも安全側に倒れるようにという強い思いはある所です。</p>

<h4>写真撮影環境</h4>

<h5>デジタル一眼レフカメラ</h5>

<p>僕はコンパクトデジタルカメラとデジタル一眼レフカメラの二通り持っていて、デジイチのほうはだいぶ前に Canon EOS KISS デジタル N を買いました。<br />
ちなみに2台目に買ったシンセサイザーはEOS B700です。</p>

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0007VRPVE/yappo-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/414NXY5R4HL._SL160_.jpg" alt="Canon EOS KISS デジタル N ブラック Wズームキット 0208A004" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0007VRPVE/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Canon EOS KISS デジタル N ブラック Wズームキット 0208A004</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B0007VRPVE/yappo-22/ref=nosim/" title="Canon EOS KISS デジタル N ブラック Wズームキット 0208A004" target="_blank">amazlet</a> at 10.01.20</div></div><div class="amazlet-detail">キヤノン (2005-03-17)<br />売り上げランキング: 82835<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 思い切って大正解！<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> きっかけとしては満足です。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 良いんですが<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 価格対満足度はGood!<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> カメラ初心者でも簡単に使えます<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0007VRPVE/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

<p>僕は全くもって撮影技術が無いのでスペックとか関係無い感じですが、レンズさんのおかげで足りないテクニックを補正してもらってると思っています。</p>

<p>で、レンズなんですが去年の年末くらいに買った単焦点レンズを猿のように使っています。なんか道具の力で上手に撮れてる気がするので気に入ってます。</p>

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0001JZJT2/yappo-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/61V-PlG891L._SL160_.jpg" alt="Canon EFレンズ 35mm F2" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0001JZJT2/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Canon EFレンズ 35mm F2</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B0001JZJT2/yappo-22/ref=nosim/" title="Canon EFレンズ 35mm F2" target="_blank">amazlet</a> at 10.01.20</div></div><div class="amazlet-detail">キヤノン <br />売り上げランキング: 5249<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> スナップ用に最適<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 良い！<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 多い日でも安心♪夜用。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 3本目のレンズのはずがメインレンズに。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 記録用として満足<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0001JZJT2/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

<p>よくわかってないけどF2というだけあって明るいレンズなので、この本体だけでも先日のふたご座流星群の写真とか撮れました。シャッターは30秒しか空けられないのに。</p>

<p>
<a href="http://yappo.ficia.com/pl/album-photo/AABBE92C-E8FB-11DE-AD64-2BFA3743A844/5sN7Ovno3hGjcREUbzc4Fg" target="_blank"><img src="http://yappo.pst.ficia.com/m/5sN7Ovno3hGjcREUbzc4Fg.jpg" title="ふたご座流星群 - やっぽてぃ Ficia Photo" alt="ふたご座流星群 - やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
<a href="http://yappo.ficia.com/pl/album-photo/AABBE92C-E8FB-11DE-AD64-2BFA3743A844/cL54Rfno3hG6ziv6N0OoRA" target="_blank"><img src="http://yappo.pst.ficia.com/m/cL54Rfno3hG6ziv6N0OoRA.jpg" title="ふたご座流星群 - やっぽてぃ Ficia Photo" alt="ふたご座流星群 - やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
</p>

<p>あとは、暗い所でもフラッシュ焚かなくても撮れるのとかがいいです。個人的にフラッシュ嫌いなんで。プロの人を見てると室内だとばしばし焚いてるんでちゃんとした使い方覚えればいいんでしょうが。</p>
<p>
<a href="http://yappo.ficia.com/pl/album-photo/6B8AA806-05CA-11DF-ABFB-F53D3843A844/pku_LRD-3hG0mo5XOEOoRA" target="_blank"><img src="http://yappo.pst.ficia.com/m/pku_LRD-3hG0mo5XOEOoRA.jpg" title="やっぽてぃ Ficia Photo" alt="やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
</p>

<p>ただ、50mm固定なんでちょっと離れて撮影しなきゃいけないのがいやんな感じです。。。</p>

<p>もういっこは最初に買ったズームレンズです。</p>

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000ACCM4/yappo-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/414XV77FHAL._SL160_.jpg" alt="Canon EF 90-300mm F4.5-5.6 USM" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000ACCM4/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Canon EF 90-300mm F4.5-5.6 USM</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B0000ACCM4/yappo-22/ref=nosim/" title="Canon EF 90-300mm F4.5-5.6 USM" target="_blank">amazlet</a> at 10.01.20</div></div><div class="amazlet-detail">キヤノン <br />売り上げランキング: 115230<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 純正ズームレンズで低価格<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000ACCM4/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

<p>望遠レンズだと一番安かった気がしたんだけど、皆既月食やらご来光くらいは撮影出来るので良い買い物したなーと思ったですね。</p>
<p><a href="http://yappo.ficia.com/pl/album-photo/6B8AA806-05CA-11DF-ABFB-F53D3843A844/oJyS-w_-3hGdeY5XOEOoRA" target="_blank"><img src="http://yappo.pst.ficia.com/m/oJyS-w_-3hGdeY5XOEOoRA.jpg" title="元旦の皆既月食 - やっぽてぃ Ficia Photo" alt="元旦の皆既月食 - やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
<a href="http://yappo.ficia.com/pl/album-photo/6B8AA806-05CA-11DF-ABFB-F53D3843A844/4M1roRD-3hGUHo5XOEOoRA" target="_blank"><img src="http://yappo.pst.ficia.com/m/4M1roRD-3hGUHo5XOEOoRA.jpg" title="ご来光 - やっぽてぃ Ficia Photo" alt="ご来光 - やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
</p>

<p>後は高尾山から富士山撮るのも丁度良かった。</p>
<p><a href="http://yappo.ficia.com/pl/album-photo/6B8AA806-05CA-11DF-ABFB-F53D3843A844/XJesFRH-3hGEfP7Xbjc4Fg" target="_blank"><img src="http://yappo.pst.ficia.com/m/XJesFRH-3hGEfP7Xbjc4Fg.jpg" title="やっぽてぃ Ficia Photo" alt="やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a></p>

<p>あと、ごく普通の標準レンズもあるけど割愛。</p>

<h5>コンパクトデジタルカメラ</h5>

<p>普段持ち歩き用です。</p>

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001PARYGM/yappo-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51foMpOoiAL._SL160_.jpg" alt="CASIO デジタルカメラ EXILIM EX-Z400 ゴールド EX-Z400GD" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001PARYGM/yappo-22/ref=nosim/" name="amazletlink" target="_blank">CASIO デジタルカメラ EXILIM EX-Z400 ゴールド EX-Z400GD</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B001PARYGM/yappo-22/ref=nosim/" title="CASIO デジタルカメラ EXILIM EX-Z400 ゴールド EX-Z400GD" target="_blank">amazlet</a> at 10.01.20</div></div><div class="amazlet-detail">カシオ (2009-01-23)<br />売り上げランキング: 34253<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> デジカメなんてどれも同じ・・・ではありませんでした！<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> メイクアップモードが楽しい<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> ベストショットモードが良い感じ。夜景＋人物も良く撮れた。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 車載に最適<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001PARYGM/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

<p>普通の写真の上に動画を合成して撮影できるとかいう売りがあったのですが、あんまり面白い使い方が解らなくてスナップ写真くらいにしか使ってないす。<br />
最近のカメラは設定とか適当でもそれなりに奇麗に撮れるのが嬉しいすね！</p>

<p>
<a href="http://yappo.ficia.com/pl/album-photo/ACD75DF0-7F19-11DE-AC96-A331C2CDCC90/MgxGXhh_3hG-p5ywbjc4Fg" target="_blank"><img src="http://yappo.pst.ficia.com/m/MgxGXhh_3hG-p5ywbjc4Fg.jpg" title="やっぽてぃ Ficia Photo" alt="やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
<a href="http://yappo.ficia.com/pl/album-photo/28D08AA6-DDD6-11DE-A98B-3E313843A844/6MHgEtbd3hGF8T4xOEOoRA" target="_blank"><img src="http://yappo.pst.ficia.com/m/6MHgEtbd3hGF8T4xOEOoRA.jpg" title="やっぽてぃ Ficia Photo" alt="やっぽてぃ Ficia Photo" style="border:0;width:480px;" /></a>
</p>

<p>最近はFiciaでも動画対応が始まったので、ごっそりアップロードもしてます。<br />
最近のカメラは動画も大概奇麗に撮れるので普通のビデオカメラとか出番が少なくなってます。</p>
<p><a href="http://yappo.ficia.com/pl/album-photo/538A4AD0-FB3A-11DE-A435-57533843A844/EOY7DJUF3xGsxd-vbjc4Fg" target="_blank"><img src="http://yappo.vst.ficia.com/s/EOY7DJUF3xGsxd-vbjc4Fg.jpg" title="やっぽてぃ Ficia Movie" alt="やっぽてぃ Ficia Movie" style="border:0;" /><br /><img src="http://sta.ficia.com/common/images/icons/movie_icon.png" style="border:0;vertical-align:middle;" />やっぽてぃ Ficia Movie</a></p>

<p>ちなみに最初はEye-Fiを差してたんですが、いつの間にか接触が悪くなって手で強く押し込まないとカメラが認識してくれなくなったので最近使ってません。<br />
8GB Eye-Fi Pro X2 速く欲しいんです！</p>

<h5>携帯</h5>

<p>携帯のカメラももちろん使ってるんですが割愛</p>

<h4>Ficiaの事</h4>

<p>主に外部的要因な事を個人的に出来たら良いなーと思ってる事。</p>

<p>YAPC::Asia 2009 画像関連サービス BOF を芝生でやってた時に「livedoor PICS」も「30days Album™」も競合じゃなくて共存する関係にあるんだよ的な事を話していたのですが、究極的にはFiciaから写真選んで30days Album™でシェアリングする、PICSに上げてそっからlivedoor Blogで画像使う、はてなフォトライフ(ry(日本のサービスだけ列挙したけど)とか出来る世の中になるといいなーと思っとります。  </p>

<p>Ficiaはただのストレージなので、ミクシィやグリーやモバゲーなどで既にソーシャルグラフがあるのならソーシャルグラフを有効に使ったシェアリングは各サービスに任せてFiciaは大元のデータの管理のみに努めるとみんなenjoyしやすいと思う所存。</p>

<p>もちろん動画データも溜めてるので、ニコニコ動画,YouTubeなどにも簡単にoutputできるようにすべきでしょう。</p>

<p>ただ外部サービスに出すだけじゃ駄目で、どのようなデバイスからもデータを集めなきゃいけないですね。Eye-Fi, iPhone, ケータイ, CEREVO CAM, etc...</p>

<p>最近Eye-Fiカード壊れたので、コンパクトカメラも一眼レフもMac or Win 専用クライアントで勝手に同期される生活なんですが、よりもっとカメラに近い所で同期される生活になりたいすね。<br />
ちなみにEye-Fiは野良Eye-Fiサーバ立ててメールでFiciaに送ると言う(ry<br />
Ficiaは動画も対応したのでEye-Fi VIDEOで同期出来るようになると超嬉しい。</p>

<p>Ficiaをハードディスクの延長デバイスという利用が出来るようになった上で、新しい価値観が作れれば良いなと<b>個人的</b>に思ってる。</p>

<p>もちろん、Ficia本体のインターフェィスにも全く持って満足してないのでブラッシュアップしなきゃいけません！</p>

<h5>外部API</h5>

<p>なんだかんだで欲しいと思ってるけど、oEmbedぐらいなら外部から作れるから野良で作ろうかしら。とか今思った。<br />
Echofon でも対応して欲しいなーと思ってる。</p>

<h4>まとめ</h4>

<p>今日は、僕のカメラ関連の環境について紹介する事とEOS B700ユーザのカミングアウトを行いました。</p>

<p>で、なんだかんだ僕の持ってるデジカメの事調べてたらKiss X3が欲しくなったんだけど(5万くらいで売ってる)、tsukimiyaさんからエントリー→エントリーはそこまで感動しないと教えてもらって50D(9万くらい)をおすすめされたので調べてたら7D(13万もする。。。)が欲しくなってきた。</p>
<p>なんか最近のはSDカードさしてフルHDで動画撮れるとか書いてあってすごい！<br />一眼レフで動画撮りたいとか言ってたらDISられるかと思ってたけどそうでもないらしく、よく考えたら一眼レフのレンズじゃないと撮れないような動画とか撮影出来るのかと思った。<br />
とりあえずレンズはあるから本体だけ買えばいいと思ってる。</p>

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002NEFL64/yappo-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51NRZ7rGWdL._SL160_.jpg" alt="Canon デジタル一眼レフカメラ EOS 7D ボディ EOS7D" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002NEFL64/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Canon デジタル一眼レフカメラ EOS 7D ボディ EOS7D</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B002NEFL64/yappo-22/ref=nosim/" title="Canon デジタル一眼レフカメラ EOS 7D ボディ EOS7D" target="_blank">amazlet</a> at 10.01.21</div></div><div class="amazlet-detail">キヤノン (2009-10-02)<br />売り上げランキング: 1109<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> キャノンEOS-７Dカメラについて<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> AF性能が抜群に良くなった<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> いい感じです♪<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 私個人としましては鉄道写真撮影用カメラの決定版です。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 動画撮影は最高！<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002NEFL64/yappo-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

<p>という事で EOS 7D と 8GB Eye-Fi Pro X2 が欲しいです！<br />
あと CEREVO CAM も欲しいです！</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>kumofs での Data::Model の使い方</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000710.html" />
    <modified>2010-01-18T03:31:21Z</modified>
    <issued>2010-01-18T12:31:21+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.710</id>
    <created>2010-01-18T03:31:21Z</created>
    <summary type="text/plain"><![CDATA[スケート頑張りすぎて足首が痛いYappoですみなさまウインタースポーチュしてますか? 本日kumofsが公開されたので、折角なので Data::Model から kumofs を実際にどうつかっているかを紹介しようかとおもいます。 kumofs については 分散Key-Valueストア「kumofs」を公開しました！ - 古橋貞之の日記 を Data::Model::Driver::Memcached については dann さんによる Data::Model::Driver::Memcachedで超効率データ保存 - JPerl Advent Calendar 2009 を別途参照すると良いでしょう。 スキーマ定義 では実際に kumofs をつかった場合のスキーマ定義を下記に貼ります。 ちなみに、それらしいような定義をしてますが全部フィクションです。本当に。 解説 その1 Data::Model::Driver::Memcached のインスタンスを作る所で、 Cache::Memcached::Fast のインスタンスを指定する所で、3つのオプションを渡しています。 一つ目が、 serializer =&gt; 'Default', で、 Cache::Memcached...]]></summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>スケート頑張りすぎて足首が痛いYappoですみなさまウインタースポーチュしてますか?</p>

<p>本日<a href="http://code.etolabo.com/kumofs">kumofs</a>が公開されたので、折角なので Data::Model から kumofs を実際にどうつかっているかを紹介しようかとおもいます。</p> 

<p>kumofs については <a href="http://d.hatena.ne.jp/viver/20100118/p1">分散Key-Valueストア「kumofs」を公開しました！ - 古橋貞之の日記</a> を Data::Model::Driver::Memcached については dann さんによる <a href="http://perl-users.jp/articles/advent-calendar/2009/data-model/17.html">Data::Model::Driver::Memcachedで超効率データ保存 - JPerl Advent Calendar 2009</a> を別途参照すると良いでしょう。</p>

<h4>スキーマ定義</h4>

<p>では実際に kumofs をつかった場合のスキーマ定義を下記に貼ります。<br />
ちなみに、それらしいような定義をしてますが全部フィクションです。本当に。</p>

<script src="http://gist.github.com/279757.js?file=Kumofs.pm"></script>

<h4>解説 その1</h4>

<p>Data::Model::Driver::Memcached のインスタンスを作る所で、 Cache::Memcached::Fast のインスタンスを指定する所で、3つのオプションを渡しています。</p>
<p>一つ目が、 serializer =&gt; 'Default', で、 Cache::Memcached 標準の直列化手段をつかわずに Data::Model::Driver::Memcached 標準の直列化手段を利用します。<br />
即ち MessagePack を使った直列化を施します。 Data::Model で必要な MessagePack のコードは Pure Perl で内部的に実装されているのですが、実用的にするには Data::MessagePack をインストールしておくと、そっちを使って高速に直列化してくれます。</p>

<p>二つ目は、strip_keys =&gt; 1, です。<br />
通常の方法だと、 primary key も KVS の Value として直列化してストレージに格納しようとするのですが、 KVS だったら既に Key のほうに値が入っているべきで、この重複が無駄なので削除して直列化します。<br />
例えば、上記のコードを使った場合に以下のようなデータ構造だった場合に
<pre>
{
    file_id    =&gt; 'dankogai',
    media_type  =&gt; 1,
    client_type =&gt; 5,
    is_broken   =&gt; undef,
},
</pre>
file_id の項目を delete して、下記のような構造にしてから直列化します。
<pre>
{
    media_type  =&gt; 1,
    client_type =&gt; 5,
    is_broken   =&gt; undef,
},
</pre></p>

<p>三つ目としては ignore_undef_value です。<br />
これは何をする物かと言うと、カラムの値が undef だった場合は、その項目を DELETE してから直列化します。<br />
そして lookup などで kumofs から Data::Model の Row オブジェクトに戻す時点で、直列化されてるデータにカラムのデータが無ければ value が undef だったと解釈をして復元するのです。<br />
今回の例では、画像が壊れてた時だけ kumofs のストレージサイズが増加します。<br />
上ので書いたデータ例に適用すると下記の用に is_broken が削除されて kumofs に格納されます。
<pre>
{
    media_type  =&gt; 1,
    client_type =&gt; 5,
},
</pre></p>

<p>ユースケースとしては、稀にフラグを立てる必要があるんだけど、フラグ立って無いレコードに対してもディスク容量を消費するのが嫌だ！という時に使えます。<br />
SQL だと、別途 file_broken 的なテーブルを作って JOIN すれば済む話でしょう。<br />
あいにく kumofs では JOIN 出来ないので、このような時は別の Key-value にデータを突っ込まないといけません。<br />
そうすると GET する時のクエリの数が倍になったりするのでトレードオフしてどっちにするか選ばなきゃいけなくなるんですが、 ignore_undef_value を使っとけば、必要な時に必要なだけストレージを使いつつ GET する時のクエリ数も増えないので良い感じになるんです。</p>

<p>細かいこと言うと SQL で別テーブル使って JOIN するよりかは空間効率やらなんやらは良いと思うすけど。特に比較検証してないんでこれ以上はやめとくす。</p>

<h4>解説 その2</h4>

<p>今度は model 定義部分をみてみましょう。ポイントは二つあります。</p>

<p>一つ目は schema_options model_name_realname =&gt; 'f_m'; です。<br />
これは、 memcached protocol の key の所に入れる model namespace を短縮するのに使います。<br />
例えば key=file_id が 'dankogai' だとして、 schema_options model_name_realname が指定されてない場合は、このコード例では
<pre>kumofsfile_meta:dankogai</pre>という key で kumofs に SET します。<br />
そして、今回の例の schema_options model_name_realname を使うと
<pre>kumofsf_m:dankogai</pre>と短縮された key になります。</p>

<p>二つ目は schema_options column_name_rename の所です。<br />
これは直列化する直前で Key を任意の値に変換してから直列化をかけます。<br />
Data::Model 標準のシリアライザの MessagePack では、数値をとても効率よく直列化してくれるので、 media_type だとかいう長ったらしい key name を 2 とか言う数値に変換してしまいます。<br />
2 とかという小さい値だと直列化後も1バイトしか容量食わなくて嬉しいんです！</p>

<p>実際、上のほうで書いてるデータ例だと以下の用になります。
<pre>
{
    2 =&gt; 1,
    3 =&gt; 5,
},
</pre>
とんでもなく圧縮出来ている事がお分かり頂けますか。</p>

<p><a href="http://msgpack.sourceforge.jp/spec">MessagePack の spec</a>をみても解るとおり、15要素以下の HASH に1バイト、 7bit 以下の unsigned int では1バイトの容量しかかからないので、上記の圧縮後の value は5バイトという驚異的なサイズとなって kumofs の value に格納されます。</p>

<h4>まとめ</h4>

<p>今日は kumofs 公開したということで、 Data::Model からだったらどう使えるか、どう使うかという視点で書いてみました。<br />
Data::Model 側で用意してるオプションを使い切る事により、プログラムコードは書き易く、かつ空間効率を驚異的に高めて利用出来る事が解ったかと思います。<br />
もちろん Data::Model::Driver::Mecached は kumofs 専用という訳でなく Tokyo Tyrant やらなんやらでも利用できますので、機会があればお試しください。</p>

<p>まぁ、もちろんこんなレイヤ介さずに直接使えばいいって話も出てきそうですがね。</p>

<p>あわせて読みたい：<a href="http://blog.yappo.jp/yappo/archives/000674.html">YappoLogs: KVSでORマッパーを使うという事</a>]]>
      
    </content>
  </entry>
  <entry>
    <title>Mooseを使うべきでない理由とMooseを使う理由</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000709.html" />
    <modified>2010-01-08T16:07:23Z</modified>
    <issued>2010-01-09T01:07:23+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.709</id>
    <created>2010-01-08T16:07:23Z</created>
    <summary type="text/plain">twitterにでも書いて終りにしようと思ったけど140文字じゃ無理なんで。 Mooseの欠点やら利点やらMouseがどうだとかは今更感過ぎて割愛するし、下手な抽象的な表現も面倒なんでしない。 Mooseを使うべきでない理由 あなたが、再利用性の高いライブラリを作りたい場合はMooseを使うべきではない。 なぜならMooseはフレームワークだからであるからだ。 たとえ有用な再利用性の高いライブラリを作ったとしても、Mooseというフレームワークに依存してしまっては、あなたの有用なライブラリを選択してもらえない事もあるだろう。 誰かが小さいスクリプトを書くために、あなたが書いた有用なライブラリを使う事で楽が出来るとする、だがMooseというフレームワークに依存したばっかりに、その有用なライブラリの後ろに控えるものの大きさに臆して選択してくれないかもしれない。 もちろんMooseを使わなければ生産性が格段に落ちるだろう。メンテナンスも大変になるだろう。Mooseを使わないことによるペナルティの代わりに誰からも利用されるライブラリの作者になれると言うことだ。素敵だろ。 Mooseを使う理由 じゃぁCPANへ上げるライブラリはMooseを使うなってことか?いいや違う。 何度も言うがMooseは生産性を恐ろしく高める、だがしかし再利用性の高いライブラリでは使うべきでないと言っただけだ。 例えば App::* 名前空間のコードでは積極的に使っても良いだろう、Catalystだってそうだ。 え?Catalystは再利用性の高いライブラリじゃないか!だって?いいや、Catalystはとても有用なフレームワークだ。Catalystの中だけで世界が閉じているのだ。 総論 そう、Mooseを使う場面と使わない場面と言うのは、書こうとしているコードがそのコードの世界で閉じたものなのか、または閉じないものなのか。そういった基準を見るという視点があると良いのではないだろうか。 例えばDBICなんかは閉じた世界でないのでMooseに依存するべきでは無い。 たとえばDBI.pmがMooseに依存してたらどうする? HTTP::Engineは?うーん微妙だ。 Plack何かは閉じた世界では無いので使うべきでは無い。 じゃぁFeyはどうだ、、、、うーんMooseをたくさん使うという世界に閉じた中で使うと言う点ではありなんじゃないか? 繰り返すがMooseを使わないべきとは言っていない。良く考えて使うべきだと言っているのだ。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>twitterにでも書いて終りにしようと思ったけど140文字じゃ無理なんで。<br />
Mooseの欠点やら利点やらMouseがどうだとかは今更感過ぎて割愛するし、下手な抽象的な表現も面倒なんでしない。</p>

<h4>Mooseを使うべきでない理由</h4>
<p>あなたが、再利用性の高いライブラリを作りたい場合はMooseを使うべきではない。<br />
なぜならMooseはフレームワークだからであるからだ。<br />
たとえ有用な再利用性の高いライブラリを作ったとしても、Mooseというフレームワークに依存してしまっては、あなたの有用なライブラリを選択してもらえない事もあるだろう。<br />
誰かが小さいスクリプトを書くために、あなたが書いた有用なライブラリを使う事で楽が出来るとする、だがMooseというフレームワークに依存したばっかりに、その有用なライブラリの後ろに控えるものの大きさに臆して選択してくれないかもしれない。</p>

<p>もちろんMooseを使わなければ生産性が格段に落ちるだろう。メンテナンスも大変になるだろう。Mooseを使わないことによるペナルティの代わりに誰からも利用されるライブラリの作者になれると言うことだ。素敵だろ。</p>

<h4>Mooseを使う理由</h4>
<p>じゃぁCPANへ上げるライブラリはMooseを使うなってことか?いいや違う。<br />
何度も言うがMooseは生産性を恐ろしく高める、だがしかし再利用性の高いライブラリでは使うべきでないと言っただけだ。<br />
例えば App::* 名前空間のコードでは積極的に使っても良いだろう、Catalystだってそうだ。<br />
え?Catalystは再利用性の高いライブラリじゃないか!だって?いいや、Catalystはとても有用なフレームワークだ。Catalystの中だけで世界が閉じているのだ。</p>

<h4>総論</h4>
<p>そう、Mooseを使う場面と使わない場面と言うのは、書こうとしているコードがそのコードの世界で閉じたものなのか、または閉じないものなのか。そういった基準を見るという視点があると良いのではないだろうか。<br />
例えばDBICなんかは閉じた世界でないのでMooseに依存するべきでは無い。<br />
たとえばDBI.pmがMooseに依存してたらどうする?<br />
HTTP::Engineは?うーん微妙だ。<br />
Plack何かは閉じた世界では無いので使うべきでは無い。<br />
じゃぁFeyはどうだ、、、、うーんMooseをたくさん使うという世界に閉じた中で使うと言う点ではありなんじゃないか?</p>

<p>繰り返すがMooseを使わないべきとは言っていない。良く考えて使うべきだと言っているのだ。</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>Plack::Middleware::Debug のアイコンをどかす Middleware</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000708.html" />
    <modified>2010-01-05T06:26:16Z</modified>
    <issued>2010-01-05T15:26:16+09:00</issued>
    <id>tag:blog.yappo.jp,2010:/yappo//1.708</id>
    <created>2010-01-05T06:26:16Z</created>
    <summary type="text/plain"><![CDATA[Plack処女喪失したての金曜日の天使ですおげんきですか。 Plack::Middleware::Debug を使って Debug のメニューを消したときって みたくなってなんか邪魔なので、端っこにどかすCSSを適用するMiddleware書いてみた。 やりたい事としては、アプリとは関係ないファイルの管理をしないで PM::Debug のcssだけを置換して使いたいって事。 Plack::Middleware::Debug は、必要なjsやらcssをshareディレクトリ以下に入れて自分の好きなように書き換えて使えるんですが、それやるとアプリ以外にファイル管理しなきゃいけないので面倒なのでやりたくないというワケ。 上のコードを app.psgi に入れとくと な感じになってくれました。 とりあえず目的は達成。 このbuilder{ enable { my $app = shift; sub { $app-&gt;(@_) }; }; sub {}; };するような使い方ってMiddlewareって呼んでもいいものなかしら? &lt; miyagawa&gt; middleware でいいですよとの事。...]]></summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>Plack処女喪失したての金曜日の天使ですおげんきですか。</p>

<p>Plack::Middleware::Debug を使って Debug のメニューを消したときって<br />
<img src="http://gyazo.com/ca10088ae8f603c08fda7018a9a015ec.png"><br />
みたくなってなんか邪魔なので、端っこにどかすCSSを適用するMiddleware書いてみた。</p>

<p>やりたい事としては、アプリとは関係ないファイルの管理をしないで PM::Debug のcssだけを置換して使いたいって事。<br />
Plack::Middleware::Debug は、必要なjsやらcssをshareディレクトリ以下に入れて自分の好きなように書き換えて使えるんですが、それやるとアプリ以外にファイル管理しなきゃいけないので面倒なのでやりたくないというワケ。</p>

<script src="http://gist.github.com/269176.js?file=plack-middleware-debug-tiny-button.pl"></script>

<p>上のコードを app.psgi に入れとくと<br />
<img src="http://gyazo.com/86917128fd5d4e28472021576c36fd7f.png"><br />
な感じになってくれました。<br />
とりあえず目的は達成。</p>

<p>この<pre>builder{
    enable {
        my $app = shift;
        sub { $app-&gt;(@_) };
    };
    sub {};
};</pre>するような使い方ってMiddlewareって呼んでもいいものなかしら?
<pre>&lt; miyagawa&gt; middleware でいいですよ</pre>との事。</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>2009年のまとめ</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000707.html" />
    <modified>2009-12-31T14:58:04Z</modified>
    <issued>2009-12-31T23:58:04+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.707</id>
    <created>2009-12-31T14:58:04Z</created>
    <summary type="text/plain">■1月 　井澤ライブドア社長いじりで年を開ける 　CodeRepos新年会開催 ■3月 　Dan The Hack祭り ■4月 　Hatetter作った - いまも便利に使ってる 　Shibuya.pm #11 で発表 　　run_ops hack と Xen 周り 　mikio さんを励ました 　くさなぎくんが全裸になった ■5月 　Log::Dispatch::Screen::Color つくった 　虹が綺麗だった 　Iron Man Blogging Challengeに参加した 　　もう秋田 　AcotieScript 作った 　svn2git hack した 　Hash::Merge を褒めた ■6月 　Data::Model...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>music</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>■1月<br />
　井澤ライブドア社長いじりで年を開ける<br />
　CodeRepos新年会開催<br />
■3月<br />
　Dan The Hack祭り<br />
■4月<br />
　Hatetter作った - いまも便利に使ってる<br />
　Shibuya.pm #11 で発表<br />
　　run_ops hack と Xen 周り<br />
　mikio さんを励ました<br />
　くさなぎくんが全裸になった<br />
■5月<br />
　Log::Dispatch::Screen::Color つくった<br />
　虹が綺麗だった<br />
　Iron Man Blogging Challengeに参加した<br />
　　もう秋田<br />
　AcotieScript 作った<br />
　svn2git hack した<br />
　Hash::Merge を褒めた<br />
■6月<br />
　Data::Model を CPAN にあげた<br />
　kumofs 受賞おめでとう会を丸の内でやった<br />
　Imager::ExifOrientation を作って acotie をまわした<br />
■7月<br />
■8月<br />
■9月<br />
　HTTP::Engine project リタイアのお知らせ<br />
　YAPC::Asia 2009 で発表した<br />
　　Data::Model と nginx の PSGI の話<br />
　　nginx PSGI は何も進展してない<br />
　AnyEvent ちゃんといじった<br />
■10月<br />
　HTTP::Request::StreamingUpload 書いた<br />
　HTTP::Engine::Interface::PSGI リリース<br />
　Makefile polyglot かいて perl ./Makefile したら perl ./Makefile.PL するようなのかいた<br />
　JSTAPd 公開<br />
■11月<br />
　近所で大きい火事があった<br />
　Go に Acme::Oppai を移植した<br />
■12月<br />
　WWW::Shorten::Google 書いた　<br />
　JPerl Advent Calendar 参加 & メンテナ参加<br />
　　hacker track 2本 casual track 1本 data-model track 24本書いた<br />
　Module::Setup 0.07 をリリース<br />
　Module::Requires 書いた<br />
　JSTAPd を CPAN にあげた<br />
　Object::InterfaceType をリリース</p>

<p>■総括<br />
　今年は Moose な人たちと関ることをはじめとして!日本語圏の人とコミュニケーションをとれたのが良かった<br />
　gfxとjesseとclkaoをまとめて自宅に泊めたというイベントもあった<br />
　不意打ちで社長が所属バレしてた<br />
　githubはじめた<br />
　ちっちゃい省機能なモジュールを書くように意識し始めた<br />
　自作言語を作ってみた<br />
　そのほかいろいろ<br />
　来年の企画に向けた準備をもろもろやったよ<br />
　CPAN リリースはもっとしてるとおもう</p>

<p>■来年の目標<br />
　落とさない<br />
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Golang の interface type 風味の duck type する関数を作る Object::InterfaceType っての作った</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000706.html" />
    <modified>2009-12-31T07:21:38Z</modified>
    <issued>2009-12-31T16:21:38+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.706</id>
    <created>2009-12-31T07:21:38Z</created>
    <summary type="text/plain"><![CDATA[だいぶ前に作って放置してたんですが、そこそこCPANに上げられる感じにはしてあったので年末の倉庫整理をかねて CPAN にあげました。 http://github.com/yappo/p5-Object-InterfaceType Goではクラス定義で云々するんじゃなくて、interfaceで定義されてるメソッド群をすべて実装されてたらOKといった感じなんですが、まぁいわゆるduck typingできればおｋみたいな感じですね。 Perlの世界では if ($foo-&gt;can('bar') && $foo-&gt;can('baz')) みたいなコードで duck type可能かを調べるんですが、見た目がごちゃごちゃしがちになるので、Goのinterface type的な感じのものをPerlの世界に持ってきました。 if ($obj-&gt;can('read') && $obj-&gt;can('seek') && $obj-&gt;can('close')) { なんてコードを if ((interface_type [qw/ read seek close /])-&gt;($obj)) { という感じで書き換えられます。 my $is_filehandle = interface_type [qw/ read seek close...]]></summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>だいぶ前に作って放置してたんですが、そこそこCPANに上げられる感じにはしてあったので年末の倉庫整理をかねて CPAN にあげました。
<a href="http://github.com/yappo/p5-Object-InterfaceType">http://github.com/yappo/p5-Object-InterfaceType</a></p>

<p>Goではクラス定義で云々するんじゃなくて、interfaceで定義されてるメソッド群をすべて実装されてたらOKといった感じなんですが、まぁいわゆるduck typingできればおｋみたいな感じですね。</p>

<p>Perlの世界では if ($foo-&gt;can('bar') && $foo-&gt;can('baz')) みたいなコードで duck type可能かを調べるんですが、見た目がごちゃごちゃしがちになるので、Goのinterface type的な感じのものをPerlの世界に持ってきました。</p>

<p>
<pre>
if ($obj-&gt;can('read') && $obj-&gt;can('seek')  && $obj-&gt;can('close')) {
</pre>
なんてコードを
<pre>
if ((interface_type [qw/ read seek close /])-&gt;($obj)) {
</pre>
という感じで書き換えられます。
</p>

<p>
<pre>
my $is_filehandle = interface_type [qw/ read seek close /];
if ($is_filehandle-&gt;($obj)) {
</pre>
やら
<pre>
interface_type filehandle =>[qw/ read seek close /];
if (is_filehandle($obj)) {
</pre>
なんて書き方もできます。</p>

<p>canばっかり呼ばれてるコードって見たこと無いのですが、そういうコードはすっきりとかけるようになるんじゃないでしょうか。</p>

<p>コンセプトは夢の中で思いついて起きて1時間くらいで実装した。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>ajax/javascriptテスト環境の JSTAPd を CPAN にあげました</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000705.html" />
    <modified>2009-12-31T07:04:25Z</modified>
    <issued>2009-12-31T16:04:25+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.705</id>
    <created>2009-12-31T07:04:25Z</created>
    <summary type="text/plain">ちょっと前のacotiethoneの時にlestrrat++さんがドキュメントを英訳してくださったのでCPANにアップロードしました。 http://search.cpan.org/dist/JSTAPd/ それなりに頑張って日本語でもドキュメント書いたので、lestrratさんが気に留めて使う気になって英訳してくださったんだとおもいます。 おかげでCPANへリリースすることもできました。 テストも重要ですがドキュメントも重要ですね。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>ちょっと前のacotiethoneの時にlestrrat++さんがドキュメントを英訳してくださったのでCPANにアップロードしました。</p>

<p><a href="http://search.cpan.org/dist/JSTAPd/">http://search.cpan.org/dist/JSTAPd/</a></p>

<p>それなりに頑張って日本語でもドキュメント書いたので、lestrratさんが気に留めて使う気になって英訳してくださったんだとおもいます。<br />
おかげでCPANへリリースすることもできました。</p>

<p>テストも重要ですがドキュメントも重要ですね。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Module::Requires について hacker track last day を書きました </title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000704.html" />
    <modified>2009-12-25T06:26:24Z</modified>
    <issued>2009-12-25T15:26:24+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.704</id>
    <created>2009-12-25T06:26:24Z</created>
    <summary type="text/plain">依存モジュールの管理を実際のコード内で行う為にあったら便利そうなモジュールを思いついたので思いつきのまま CPAN にアップロードして advent calendar に書きました。 http://perl-users.jp/articles/advent-calendar/2009/hacker/25.html たぶん、 advent calendar で紹介されたモジュールの中で一番新米なんじゃないかと思います。 あとは casual track が完走すれば JPerl Advent Calendar 2009 は全部完走となります。 今から寿司がたのしみです＾＾...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>依存モジュールの管理を実際のコード内で行う為にあったら便利そうなモジュールを思いついたので思いつきのまま CPAN にアップロードして advent calendar に書きました。</p>

<p><a href="http://perl-users.jp/articles/advent-calendar/2009/hacker/25.html">http://perl-users.jp/articles/advent-calendar/2009/hacker/25.html</a></p>

<p>たぶん、 advent calendar で紹介されたモジュールの中で一番新米なんじゃないかと思います。</p>

<p>あとは casual track が完走すれば JPerl Advent Calendar 2009 は全部完走となります。</p>

<p>今から寿司がたのしみです＾＾</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>あなたがData::Modelを使う10の理由</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000703.html" />
    <modified>2009-12-22T06:54:01Z</modified>
    <issued>2009-12-22T15:54:01+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.703</id>
    <created>2009-12-22T06:54:01Z</created>
    <summary type="text/plain">前口上 一昨年書いた『あなたがRuby on Railsを使わない10の理由』を書いたら、おおむね好評とともに読んでもらえたみたいで(ほんとかー?)うれしい限り。実際あのあとも記事の影響ってわけじゃないと思うけどRoR使ってくれた人もたくさんいるし、ますます広まってきているみたいでこれも私設営業の人としてはとてもうれしい。 略 (例によって書きかけなので今後もいろいろ変わったりするかも) Data::ModelはCPAN Moduleである まあ上でああいったけどやはりCPAN Moduleであることそのものの価値ということにまずは言及しておく。 いまのPerlはまぎれもないCPAN Moduleベースの言語なのだ。それ自体は実のところ単なる偶然の産物なんだけど。でもさまざまに紆余曲折あってCPAN Moduleベースになったおかげで、Perlが得た恩恵はとても大きい。 Perlはその根幹はCPAN Moduleであるということは、CPAN Moduleの四半世紀の歴史がはぐくんできた膨大な蓄積をPerlも同様に備えているということだ。おかげでプログラマだったらPerlがどんな挙動をするかというのはだいたい想像がつくわけ。 Data::ModelはiPodと相性がいい この項、あとで書く いまData::Modelを使い始めると世界で三番目にヘビーなData::Modelユーザになれる あなたが何かの分野で世界第三位の位置に立つことを考えて欲しい。思った以上に道のりが険しいという事が誰でも想像がつくであろう。 しかし、そんなただの人が世界で三番目の位置に立てる分野がある。そうData::Modelのユーザとしてなら世界第三位のヘビーユーザーになれるチャンスがあるのだ。 現在Data::ModelのヘビーユーザはYappoとtokuhiromしか居ない。ここにあなたの名前が連ねるのだ。 どうだい魅力的ではないか? え、DBIx::Skinnyがいいって?ありゃ駄目だ。nekokakを始めとしてモバイルファクトリーの全社員が使ってい。あなたはモバイルファクトリーの社員数を数えられるか? それにyusukebeやnekoyaやnihenやnobuなんとかやmixiの連中まで唾をつけてやがる。 そんな手垢のついたものばっかり使ってるから君は世界三位の位置にいつまでたってもつけないんだよ。 それが、Data::Modelを使えばチャンスが巡ってくる。どうだい?簡単だろう。 それに今ならAdvent Calendar期間中で使い方のドキュメントが揃って来てるしね。 http://perl-users.jp/articles/advent-calendar/2009/data-model/ 以下蛇足 この記事を書いている私はもともとCDBIファンだったんだけど、いまのData::Modelは古き良きCDBIが持っていたcultureと、DBICが持っていたcultureの両方を備えたこれ以上はないほど魅力的なORMになっている。ある意味、CDBIよりもCDBIらしいと思う。この業界の先端を走っている人全員ではないけれど、かなり多くの人はData::Modelを使っているし、これからますます増えてくると思う。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<h4>前口上</h4>

<p>一昨年書いた『<a href="http://blog.yappo.jp/yappo/archives/000499.html">あなたがRuby on Railsを使わない10の理由</a>』を書いたら、おおむね好評とともに読んでもらえたみたいで(ほんとかー?)うれしい限り。実際あのあとも記事の影響ってわけじゃないと思うけどRoR使ってくれた人もたくさんいるし、ますます広まってきているみたいでこれも私設営業の人としてはとてもうれしい。</p>

<p>略<br />
(例によって書きかけなので今後もいろいろ変わったりするかも)</p>

<h4>Data::ModelはCPAN Moduleである</h4>
<p>まあ上でああいったけどやはりCPAN Moduleであることそのものの価値ということにまずは言及しておく。<br />
いまのPerlはまぎれもないCPAN Moduleベースの言語なのだ。それ自体は実のところ単なる偶然の産物なんだけど。でもさまざまに紆余曲折あってCPAN Moduleベースになったおかげで、Perlが得た恩恵はとても大きい。<br />
Perlはその根幹はCPAN Moduleであるということは、CPAN Moduleの四半世紀の歴史がはぐくんできた膨大な蓄積をPerlも同様に備えているということだ。おかげでプログラマだったらPerlがどんな挙動をするかというのはだいたい想像がつくわけ。</p>

<h4>Data::ModelはiPodと相性がいい</h4>
<p>この項、あとで書く</p>

<h4>いまData::Modelを使い始めると世界で三番目にヘビーなData::Modelユーザになれる</h4>
<p>あなたが何かの分野で世界第三位の位置に立つことを考えて欲しい。思った以上に道のりが険しいという事が誰でも想像がつくであろう。<br />
しかし、そんなただの人が世界で三番目の位置に立てる分野がある。そうData::Modelのユーザとしてなら世界第三位のヘビーユーザーになれるチャンスがあるのだ。<br />
現在Data::ModelのヘビーユーザはYappoとtokuhiromしか居ない。ここにあなたの名前が連ねるのだ。<br />
どうだい魅力的ではないか?</p>

<p>え、DBIx::Skinnyがいいって?ありゃ駄目だ。nekokakを始めとしてモバイルファクトリーの全社員が使ってい。あなたはモバイルファクトリーの社員数を数えられるか?<br />
それにyusukebeやnekoyaやnihenやnobuなんとかやmixiの連中まで唾をつけてやがる。<br />
そんな手垢のついたものばっかり使ってるから君は世界三位の位置にいつまでたってもつけないんだよ。</p>

<p>それが、Data::Modelを使えばチャンスが巡ってくる。どうだい?簡単だろう。<br />
それに今ならAdvent Calendar期間中で使い方のドキュメントが揃って来てるしね。<br />
<a href="http://perl-users.jp/articles/advent-calendar/2009/data-model/">http://perl-users.jp/articles/advent-calendar/2009/data-model/</a></p>

<h4>以下蛇足</h4>
<p>この記事を書いている私はもともとCDBIファンだったんだけど、いまのData::Modelは古き良きCDBIが持っていたcultureと、DBICが持っていたcultureの両方を備えたこれ以上はないほど魅力的なORMになっている。ある意味、CDBIよりもCDBIらしいと思う。この業界の先端を走っている人全員ではないけれど、かなり多くの人はData::Modelを使っているし、これからますます増えてくると思う。</p>
]]>
      
    </content>
  </entry>
  <entry>
    <title>JPerl Advent Calendar hacker track で Module::Setup の事書いたよ</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000702.html" />
    <modified>2009-12-21T03:48:33Z</modified>
    <issued>2009-12-21T12:48:33+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.702</id>
    <created>2009-12-21T03:48:33Z</created>
    <summary type="text/plain">ガイアックスさんのご好意で会場提供された hackathone の成果として Module::Setup 0.07 を shipit する事ができたので、当日担当だった Advent Calendar に Module::Setup の紹介と新要素紹介を行いました。 Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009 実に14月ぶりくらいのメジャーリリースで、様々な機能が追加されています。 おもに flavor 開発者にとって便利な物が大量投入されてます。 他にも Ark などの helper script をより便利に作れる Helper support 機能が投入されてます。 一般向けとしては XS flavor が追加されており、多分 id:gfx がよりモダンな flavor...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>ガイアックスさんのご好意で会場提供された hackathone の成果として Module::Setup 0.07 を shipit する事ができたので、当日担当だった Advent Calendar に Module::Setup の紹介と新要素紹介を行いました。<br />
<a href="http://perl-users.jp/articles/advent-calendar/2009/hacker/19.html">Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009 </a></p>

<p>実に14月ぶりくらいのメジャーリリースで、様々な機能が追加されています。<br />
おもに flavor 開発者にとって便利な物が大量投入されてます。</p>

<p>他にも Ark などの helper script をより便利に作れる Helper support 機能が投入されてます。</p>

<p><br />
一般向けとしては XS flavor が追加されており、多分 id:gfx がよりモダンな flavor にしてくれることでしょう。</p>

<p>そしてようやく GitHub flavor も投入されました。スケルトン作るときに GitHub のリポジトリセットしたり git remote の設定を自動でやってくれたりします。<br />
お望みとあれば、出来立てのスケルトンをそのまま git push してくれますがそんな変態はいないでしょうか。</p>

<p>ということで Module::Setup をご利用ください。</p>

<p>ガイアックス++</p>

<p># 最初は本気で東小金井に行きかけたのはないしょのつぼみ</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>goo.gl の API を叩いて goo.gl のショートURLを作る WWW::Shorten::Google ってモジュールかいた</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000701.html" />
    <modified>2009-12-15T10:54:59Z</modified>
    <issued>2009-12-15T19:54:59+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.701</id>
    <created>2009-12-15T10:54:59Z</created>
    <summary type="text/plain">http://goo.gl/ ってのが巷では始まっていますが、まだ勝手に tinyurl を作れないようなので 簡単に http://goo.gl/hoge な tinyurl を作る WWW::Shorten::Google ってモジュールを書きました。 http://github.com/yappo/p5-WWW-Shorten-Google CPAN には、各種 tinyurl を使って url を短くするための統一インタフェイスとして WWW::Shorten ってのがあるので、それの流儀にしたがって作りました。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>perl</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>http://goo.gl/ ってのが巷では始まっていますが、まだ勝手に tinyurl を作れないようなので<br />
簡単に http://goo.gl/hoge な tinyurl を作る WWW::Shorten::Google ってモジュールを書きました。</p>

<p><a href="http://github.com/yappo/p5-WWW-Shorten-Google">http://github.com/yappo/p5-WWW-Shorten-Google</a></p>

<p>CPAN には、各種 tinyurl を使って url を短くするための統一インタフェイスとして WWW::Shorten ってのがあるので、それの流儀にしたがって作りました。<br />
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>今年良かったCM</title>
    <link rel="alternate" type="text/html" href="http://blog.yappo.jp/yappo/archives/000700.html" />
    <modified>2009-12-03T17:34:53Z</modified>
    <issued>2009-12-04T02:34:53+09:00</issued>
    <id>tag:blog.yappo.jp,2009:/yappo//1.700</id>
    <created>2009-12-03T17:34:53Z</created>
    <summary type="text/plain">というか近年まれに見る良作。 BOSSのクリスマスのなんだけど。 と思ってweb上でCMみれる所探したけど見つからないでやんの。 企業ページにflashな視聴ページあるけど、今の環境じゃ動画みれねー。 ニコニコ動画とかに上げときゃいいのにCMなのに出し惜しみしててどうすんだって感じ。 久しぶりにBOSS飲もうかと思った気持ちが一気に萎えましたというおちでした。 まぁ、こういう昭和の時代にいっぱいあった感じのCMは今は少ないので増えるといいですね。 このCM自体は、今時のTVにあるまじき良作で、最近話題のニコマスMAD映画?だかのプロデューサーが死んじゃうやつより良いとおもいますね。はい。...</summary>
    <author>
      <name>Yappo</name>
      <url>http://i.yappo.jp/</url>
      <email>ko@yappo.ne.jp</email>
    </author>
    <dc:subject>music</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.yappo.jp/yappo/">
      <![CDATA[<p>というか近年まれに見る良作。<br />
BOSSのクリスマスのなんだけど。<br />
<img src="http://gyazo.com/4dadbff76099e4a5e5afff594eb7fc69.png"></p>

<p>と思ってweb上でCMみれる所探したけど見つからないでやんの。<br />
<a href="http://www.suntory.co.jp/softdrink/boss/cm_press/index3.html">企業ページ</a>にflashな視聴ページあるけど、今の環境じゃ動画みれねー。</p>

<p>ニコニコ動画とかに上げときゃいいのにCMなのに出し惜しみしててどうすんだって感じ。</p>

<p>久しぶりにBOSS飲もうかと思った気持ちが一気に萎えましたというおちでした。</p>

<p>まぁ、こういう昭和の時代にいっぱいあった感じのCMは今は少ないので増えるといいですね。<br />
このCM自体は、今時のTVにあるまじき良作で、最近話題のニコマスMAD映画?だかのプロデューサーが死んじゃうやつより良いとおもいますね。はい。</p>]]>
      
    </content>
  </entry>

</feed>
