<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:image="http://pirl.org/rss/1.0/modules/image/"
 xmlns:admin="http://webns.net/mvcb/"
>
<channel rdf:about="http://blog.hacklife.net/">
<title>満足せる豚。眠たげなポチ。</title>
<link>http://blog.hacklife.net/</link>
<description>
</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.livedoor.com/?v=2.0" />
<image rdf:resource="http://image.profile.livedoor.jp/icon/zep716_60.gif"/>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51734058.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51712599.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51712577.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51707919.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51707818.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51698371.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51684177.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51680247.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51680216.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51675400.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51634626.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51627310.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51624556.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51606531.html" />
  <rdf:li rdf:resource="http://blog.hacklife.net/archives/51606523.html" />
 </rdf:Seq>
</items>
</channel>
<image rdf:about="http://image.profile.livedoor.jp/icon/zep716_60.gif">
 <title>満足せる豚。眠たげなポチ。</title>
 <link>http://blog.hacklife.net/</link>
 <url>http://image.profile.livedoor.jp/icon/zep716_60.gif</url>
</image>
<item rdf:about="http://blog.hacklife.net/archives/51734058.html">
<title>『問題 vs 私たち』</title>
<link>http://blog.hacklife.net/archives/51734058.html</link>
<description>
ん～、これはむずかしい問題なんだけど。でも、やっぱり、
誰がミスしたのかっていうのはハッキリさせなきゃいけない
と思うんだよね。たとえチームの雰囲気が険悪になると
してもね。もし、本当にいいチームなら、それを乗り越え
られると思うし。

ハッキリさせな...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-11-18T13:53:59+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<blockquote>
<p>ん～、これはむずかしい問題なんだけど。でも、やっぱり、
誰がミスしたのかっていうのはハッキリさせなきゃいけない
と思うんだよね。たとえチームの雰囲気が険悪になると
してもね。もし、本当にいいチームなら、それを乗り越え
られると思うし。</p>

<p>ハッキリさせないと、やっぱり他人事になっちゃうんだよね。
もちろん、『問題 vs 私たち』っていうのは好きな言葉なん
だけどさ。</p>

<p>ハッキリさせるっていっても、そのやり方は状況次第だしね。
チームが体育会系で若いんだったらビシッといってやれば
いいし。成熟度が高いんなら、一言いえば当人が反省する
だろうし。</p>

via <a href="http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=200811171">http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=200811171</a>
</blockquote>


<p>これは同意。</p>

<p>けっきょくミスの原因と対策を真剣に考えるとその過程で直接のミスをした人っていうのは明らかになっちゃうよね。</p>

<p>そこから人の問題としてミスした人に焦点を当てるか、それとも仕組みの問題と捉えてミス自体に焦点を当てるかというのが大事になってくるわけで。</p>

<p>だから、そういう意味ではミスした人がはっきりする状況というのは別に『問題 vs 私たち』に反しないとも思う。</p>

<p>そこをみんな大体誰がミスしたのかは知っているけど、あいまいに指摘せずに「まぁ、次からみな気を付けていきましょう。」というような締め方をするようであれば、それはけして『問題 vs 私たち』という意味での「私たち」ではないし、結果にたいして一番不誠実な態度だと思う。</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51712599.html">
<title>The Universal Design Pattern がおもしろそうな件</title>
<link>http://blog.hacklife.net/archives/51712599.html</link>
<description>まだ読んでないけど、プログラミング界の戦略サファリかと思いきや、新しい視点の提案なのかな？

Stevey's Blog Rants: The Universal Design Pattern


With this context in mind, I claim that the Properties Pattern is yet another kind of domain modeling, wit...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-10-21T02:12:44+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<p>まだ読んでないけど、プログラミング界の戦略サファリかと思いきや、新しい視点の提案なのかな？</p>

<a href="http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html">Stevey's Blog Rants: The Universal Design Pattern</a>

<blockquote>
With this context in mind, I claim that the Properties Pattern is yet another kind of domain modeling, with its own unique strengths and tradeoffs, distinct from all the other modeling schools I've mentioned.
</blockquote>

<blockquote>
<p>At a high level, every implementation of the Properties Pattern has the same core API. It's the core API for any collection that maps names to values:</p>

<ul>
<li>get(name)</li>
<li>put(name, value)</li>
<li>has(name)</li>
<li>remove(name)</li>
</ul>
</blockquote>

<p>あー、なんか話が見えてきた。</p>

<blockquote>
<p>Let me summarize what I think are the key takeaways.</p>

<p>First: this is a critically important pattern. I call it the "Universal" design pattern because it is (by far) the best known solution to the problem of designing open-ended systems, which in turn translates to long-lived systems.</p>

<p>You might not think you're building that kind of system. But if you want your system to grow, and have lots of users, and spread like wildfire, then you are building exactly that kind of system. You just haven't realized it yet.</p>

<p>Second: even though people rarely talk much about this pattern, it's astoundingly widespread. It appears in strongly-typed systems like Eclipse, in programming and data-declarative languages, in end-user applications, in operating systems, and even in strongly typed network protocols, although I didn't talk about that use case today. (Nutshell: a team I know using CORBA got fed up and added an XML parameter to every CORBA API call, defeating the type system but permitting them to upgrade their interface without horking every existing client. Bravo!)</p>

<p>Third: it can perform well! Or at least, "well enough". The playing field for potential optimizations is nearly unbounded, and with enough effort you can reduce just about everything to constant time.</p>

<p>Finally, it's surprisingly versatile. You can use it on a very small scale to augment one teeny component of an existing system, or you can go the whole hog and use it for everything, or just about anything in between. You can start small and grow into it as you become more comfortable with the pattern.</p>

<p>The Properties Pattern is not "just" name/value pairs, although the name/value pair certainly lives at the heart of the pattern.</p>
</blockquote>
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51712577.html">
<title>「質問があったらしてください」と言わなくても質問してもらうための４つのステップ</title>
<link>http://blog.hacklife.net/archives/51712577.html</link>
<description>はてブで「卒業研究・修士研究時の悪循環を防ごう」というのが挙がっていたので、ぼくがふだんよく使っているツールを紹介しておく。

これはうつを防止するためのツールではなくて、日常のコミュニケーションの中で必要な質問をしてもらうためのツール。企業の中で使って...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-10-21T01:42:14+09:00</dc:date>
<dc:subject>business</dc:subject>
<content:encoded><![CDATA[<p>はてブで「<a href="http://d.hatena.ne.jp/next49/20081019/p2">卒業研究・修士研究時の悪循環を防ごう</a>」というのが挙がっていたので、ぼくがふだんよく使っているツールを紹介しておく。</p>

<p>これはうつを防止するためのツールではなくて、日常のコミュニケーションの中で必要な質問をしてもらうためのツール。企業の中で使っているものだけど、他にも使える場面があるかと思う。</p>

<p>ということで、「質問があったらいつでもしてください」と言わずに質問を受け付けるための４つのステップ。</p>

<ol>
<li>今なにをしているの？と聞く</li>
<li>したことの説明を受ける</li>
<li>受けた説明について、そう考えた理由や今後についての見解を聞く</li>
<li>最後に、何か困っていることは？と聞く</li>
</ol>

<p>以上。</p>

<p>詳細の説明は省くけど、それぞれに4つ目の質問が出てきやすいようなトリックが入っているのでバカ正直にこの順で毎日会話をすればいい。</p>

<p>ここに書かれていないことで前提の条件になりそうなこと（心構えとか）もいくつかあるけど、それは以前紹介した「<a href="http://blog.hacklife.net/archives/50732165.html">この「聞く技術」で道は開ける</a>」とか「3分間コーチ」とか読むとよいと思う。</p>

<p>ちなみに、「質問があったらいつでもしてください」は「質問がなければ声をかけるな」というメッセージも伝わってしまうので、ぼくは意識的に避けるようにしてます。</p>


<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=nemutagenapot-22&o=9&p=8&l=as1&asins=4569659160&md=1X69VDGQCMF7Z30FM082&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=FF3333&bc1=FFFFFF&bg1=FFFFFF&f=ifr&nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=nemutagenapot-22&o=9&p=8&l=as1&asins=4887596251&md=1X69VDGQCMF7Z30FM082&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=FF3333&bc1=FFFFFF&bg1=FFFFFF&f=ifr&nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>


<ins>今読んだら、元ネタのコメント欄も興味深かった。</ins>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51707919.html">
<title>固有 ID 問題</title>
<link>http://blog.hacklife.net/archives/51707919.html</link>
<description>
追記。5秒でわかるまとめ。

この記事から。


最近、携帯の端末IDとセキュリティの話を考えていた。

そして、今まったく別のことを調べていて偶然見つけた結城浩さんの固有 ID のシンプル・シナリオがおもしろかった。特に Q&amp;A の項はおもしろい。

日付を確認...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-10-15T00:33:40+09:00</dc:date>
<dc:subject>programming</dc:subject>
<content:encoded><![CDATA[<ins>
<p>追記。<a href="http://itpro.nikkeibp.co.jp/article/Keyword/20081007/316269/?SS=imgview&FD=-499245482&ST=keyword">5秒でわかるまとめ</a>。</p>

<p><a href="http://itpro.nikkeibp.co.jp/article/Keyword/20081007/316269/">この記事</a>から。</p>
</ins>

<p>最近、携帯の端末IDとセキュリティの話を考えていた。</p>

<p>そして、今まったく別のことを調べていて偶然見つけた結城浩さんの<a href="http://www.hyuki.com/techinfo/uniqid.html">固有 ID のシンプル・シナリオ</a>がおもしろかった。特に Q&A の項はおもしろい。</p>

<p>日付を確認すると、2003 年に書かれたものなんですね。</p>

<p>あわせて読みたい。</p>

<ul>
<li><a href="http://takagi-hiromitsu.jp/diary/20080710.html">http://takagi-hiromitsu.jp/diary/20080710.html</a></li>
<li><a href="http://takagi-hiromitsu.jp/diary/20080722.html">http://takagi-hiromitsu.jp/diary/20080722.html</a></li>
</ul>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51707818.html">
<title>達人プログラマーからのプレゼント。</title>
<link>http://blog.hacklife.net/archives/51707818.html</link>
<description>pragprog.com から 20%OFF のクーポン届いてた！

5周年おめでとう！＆クーポンありがとう。

年末までに何買うか決めないと。このチャンスにまとめ買いかなー。</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-10-14T22:58:45+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<p><a href="http://www.pragprog.com/">pragprog.com</a> から 20%OFF のクーポン届いてた！</p>

<p>5周年おめでとう！＆クーポンありがとう。</p>

<p>年末までに何買うか決めないと。このチャンスにまとめ買いかなー。</p>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51698371.html">
<title>初るびま</title>
<link>http://blog.hacklife.net/archives/51698371.html</link>
<description>るびまにレポートを寄稿。感無量です。

今もよくお世話になっていますが、Ruby を使い始めて以来、るびまに育てられたと言っても過言ではないくらい、いろいろな記事を繰り返し読んできました。

Ruby に関するまとまった文章としては、リファレンスマニュアルに継いで...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-10-03T01:59:43+09:00</dc:date>
<dc:subject>Ruby</dc:subject>
<content:encoded><![CDATA[<p><a href="http://jp.rubyist.net/magazine/?0024-TokyoRubyKaigi01Report">るびまにレポート</a>を寄稿。感無量です。</p>

<p>今もよくお世話になっていますが、Ruby を使い始めて以来、るびまに育てられたと言っても過言ではないくらい、いろいろな記事を繰り返し読んできました。</p>

<p>Ruby に関するまとまった文章としては、リファレンスマニュアルに継いで世話になった回数が多いのは間違いありません。</p>

<p>ささださんの</p>

<blockquote>
<p>るびまを続けていきたい人、何かやってみませんか？</p>

<p>via <a href="http://jp.rubyist.net/magazine/?0024-4th-ko1">Rubyist Magazine 4周年に寄せて</a></p>
</blockquote>

<p>の言葉もありますし、次回以降も何かしら関わることができたらいいなと思います。</p>
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51684177.html">
<title>Pathname オブジェクトを返すシンプルなメソッドを定義する</title>
<link>http://blog.hacklife.net/archives/51684177.html</link>
<description>一度使うと手放せない便利クラス Pathname なんですが、Pathname.new するのが面倒だったりする。字面が長いから。

そこで、こんなんを追加してみる。


class String
  def -@
    Pathname.new self
  end
end

-'/path/to/somewhere' # =&amp;gt; #&amp;lt;Pathname:/...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-09-21T02:03:27+09:00</dc:date>
<dc:subject>Ruby</dc:subject>
<content:encoded><![CDATA[<p>一度使うと手放せない便利クラス Pathname なんですが、Pathname.new するのが面倒だったりする。字面が長いから。</p>

<p>そこで、こんなんを追加してみる。</p>

<pre>
class String
  def -@
    Pathname.new self
  end
end

-'/path/to/somewhere' # => #&lt;Pathname:/path/to/somewhere&gt;

-'/'+'home'+'myacount' # => #&lt;Pathname:/home/myacount&gt;
</pre>


<p>これは、ちょっと本気でいいかもしれない。</p>

<p><a href="http://blog.hacklife.net/archives/50553329.html">前にもより前衛的な（というか、お遊びの）ものを挙げた</a>ことがあって、コードとしてはおもしろかったんだけど、実際に使えるようなもんじゃなかった。でも、今度のは一度実際に使ってみようかなと思える。</p>

<p>ちなみに、<a href="http://d.hatena.ne.jp/authorNari/20080919/1221836882">アイデアの9割は authorNari さんのこのエントリ</a>のおかげです。ほんと、こんなのあったんかいw でした。</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51680247.html">
<title>絶対設計と計画（とか XP とか開発のスケールアップとか）</title>
<link>http://blog.hacklife.net/archives/51680247.html</link>
<description>最近考えていることのまとめとして、「絶対設計」というのをキーワードに書き散らしてみようかと。たぶん、一回で書けないから何回かに分けて書く。あと、先に言っておくと答えは出てないので思考過程のメモ。というか、答えを知っている人はぜひ教えて。

まず、絶対設計...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-09-16T03:22:27+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<p>最近考えていることのまとめとして、「絶対設計」というのをキーワードに書き散らしてみようかと。たぶん、一回で書けないから何回かに分けて書く。あと、先に言っておくと答えは出てないので思考過程のメモ。というか、答えを知っている人はぜひ教えて。</p>

<p>まず、絶対設計というのは造語で、「設計というのは完成された姿があり、それは静的に写しとれる。」という信条を指す。設計書作成をプログラミングに先行して行おうとするのなどは絶対設計。</p>

<p>でも<a href="http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html">プログラミングというのは設計プロセス</a>だし、より良い設計というのはそのときの置かれた状況により動的に変わるし、他の設計と比べてこの条件だとどっちが良い？っていうような相対的なものなので、すべてを見通して静的な完璧な設計を作って設計書を作るというのは不可能。(この辺、当たり前のように XP やリファクタリングや TDD やを正しい方向性としているので、ここが食い違うとこの後の問題意識や考えも食い違う。あしからず。)</p>

<p>でも、不可能だということと、する必要がないというのはまた別の話で、どんなケースでもソフトウェア開発は「いやー、そんなん書いてみなきゃわからんですよ」というのが許されるかというとそうもいかない。</p>

<p>で、「そうもいかない」のはどんなときなのかってのを考えると、「計画」が求められているときなんだよね。たとえば、「ターゲットの日付が先に決まっている」というのは計画をすることが必須になる要件だし、単に「上司がスケジュールを出せと言っている」でもいい。</p>

<p>この辺からかなり話があやしくなってくるわけだけど、この「計画」への対処は二つあって、
<ul>
<li>計画がいらなくなるように環境を変える</li>
<li>計画ができるように方法を変える</li>
</ul>
ってのが考えられる。</p>

<p>続く。</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51680216.html">
<title>MVC の V</title>
<link>http://blog.hacklife.net/archives/51680216.html</link>
<description>「MVC の V って何するの？」「いらないんじゃない？」という話を聞いて、なぜ View の価値が理解できないのか不思議だったんだけど、なんとなくわかった気がする。

Web だけをやってきた人は MFC とか通ってないから、Document-View アーキテクチャとか知らない人もいて...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-09-16T01:38:26+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<p>「MVC の V って何するの？」「いらないんじゃない？」という話を聞いて、なぜ View の価値が理解できないのか不思議だったんだけど、なんとなくわかった気がする。</p>

<p>Web だけをやってきた人は MFC とか通ってないから、<a href="http://msdn.microsoft.com/ja-jp/library/4x1xy43a(VS.80).aspx">Document-View アーキテクチャ</a>とか知らない人もいて、そうすると HTML テンプレートと View って何が違うの？みたいな話になってしまうのか。</p>

<p>まぁ、ひたすら VB で開発してました、みたいな場合も Model を抽象化するというのは想像つかず、画面から DB 呼び出してルールも画面に書いて、という人もいるので、最終的にはその人次第となってしまうのだけど。</p>

<p>結論としては、『観察されるデータの複製』とか載っている「リファクタリング」はよい本だなぁ。ということでした。</p>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51675400.html">
<title>Ruby 1.9 を svn co してインストールしてみた</title>
<link>http://blog.hacklife.net/archives/51675400.html</link>
<description>東京 Ruby 会議の yugui さんのセッションを聞いて、svn head の 1.9 系を使ってみたくなったので、 
http://www.ruby-lang.org/ja/documentation/repository-guide 
に従い、 
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby 
してダウンロード。 
 
confi...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-09-10T02:44:12+09:00</dc:date>
<dc:subject>Ruby</dc:subject>
<content:encoded><![CDATA[<p><a href="http://www.nicovideo.jp/watch/sm4368109">東京 Ruby 会議の yugui さんのセッションを聞いて、svn head の 1.9 系を使ってみたくなった</a>ので、</p> 
<p><a href="http://www.ruby-lang.org/ja/documentation/repository-guide" rel="nofollow">http://www.ruby-lang.org/ja/documentation/repository-guide</a></p> 
<p>に従い、</p> 
<pre>$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby</pre> 
<p>してダウンロード。</p> 
 
<h3>configure がない</h3> 
<p>./configure しようと思ったら、configure がない。仕方ないから autoconf しようと思ったら、autoconf が未導入だった。</p> 
<pre>yum install autoconf </pre> 
<p>してみたところ、準備されているパッケージでは ruby 1.9 で必要な autoconf のバージョンを満たしていない。(CentOS4)</p> 
 
<h3>autoconf のダウンロード</h3> 
<p><a href="http://www.gnu.org/software/autoconf/" rel="nofollow">http://www.gnu.org/software/autoconf/</a> へ行き、<a href="http://ftp.gnu.org/gnu/autoconf/" rel="nofollow">http://ftp.gnu.org/gnu/autoconf/</a> から <a href="http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz" rel="nofollow">http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz</a> をダウンロード。</p> 
<pre>wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar zxvf autoconf-2.62.tar.gz
cd autoconf-2.62.tar.gz
./configure</pre> 
<p>エラー。。</p> 
<p>今度は、GNU M4 のバージョンが足りないらしい。</p> 
 
<h3>GNU M4 のインストール</h3> 
<p><a href="http://www.gnu.org/software/m4/m4.html" rel="nofollow">http://www.gnu.org/software/m4/m4.html</a> へ行き、<a href="http://ftp.gnu.org/gnu/m4/" rel="nofollow">http://ftp.gnu.org/gnu/m4/</a> から <a href="http://ftp.gnu.org/gnu/m4/m4-1.4.11.tar.gz" rel="nofollow">http://ftp.gnu.org/gnu/m4/m4-1.4.11.tar.gz</a> をダウンロード。</p> 
<pre>wget http://ftp.gnu.org/gnu/m4/m4-1.4.11.tar.gz
tar zxvf m4-1.4.11.tar.gz
cd m4-1.4.11
./configure
make
make install</pre> 
 
<h3>autoconf のインストール</h3> 
<pre>./configure
make
make install</pre> 
 
<h3>configure の生成</h3> 
<p>co した ruby ディレクトリへ移動</p> 
<pre>autoconf</pre> 
 
<h3>ruby のコンパイル</h3> 
<pre>./configure --prefix=/usr/local/ruby19
make</pre> 
<p>コマンド bison なんて知らないらしい。。</p> 
 
<h3>bison のインストール</h3> 
<pre>yum install bison</pre> 
 
<h3>今度こそ ruby のインストール</h3> 
<pre>make
make install</pre> 

<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/4873113679/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41gCZhFayuL._SL160_.jpg" alt="初めてのRuby" 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/4873113679/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank">初めてのRuby</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/4873113679/nemutagenapot-22/ref=nosim/" title="初めてのRuby" target="_blank">amazlet</a> at 08.09.10</div></div><div class="amazlet-detail">Yugui <br />オライリージャパン <br />売り上げランキング: 2708<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/4873113679/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>

]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51634626.html">
<title>RAILS OF RUBY ON RAILS が実にすばらしい件</title>
<link>http://blog.hacklife.net/archives/51634626.html</link>
<description>yugui さんのレビューを読んで、RAILS OF RUBY ON RAILS を買ってみた。

詳しくはまた別に書きたいが、想像以上に本当にすばらしい内容の本だった。

誤解を恐れずに言ってしまうと、RAILS OF RUBY ON RAILS は Rails2.x 世代の最高のチュートリアルだと思う。これから ...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-07-24T04:40:07+09:00</dc:date>
<dc:subject>Rails</dc:subject>
<content:encoded><![CDATA[<p><a href="http://idm.s9.xrea.com/ratio/2008/06/07/000776.html">yugui さんのレビュー</a>を読んで、RAILS OF RUBY ON RAILS を買ってみた。</p>

<p>詳しくはまた別に書きたいが、想像以上に本当にすばらしい内容の本だった。</p>

<p>誤解を恐れずに言ってしまうと、RAILS OF RUBY ON RAILS は Rails2.x 世代の最高のチュートリアルだと思う。これから Rails について知りたい人は、Web で一生懸命に Rails 情報を探すよりも、まずこの本を買って読んでみるほうがいい。</p>

<p>読むだけなら短時間で内容に目を通せるのもチュートリアル的だ。教科書としてではなくチュートリアルとして買うのであれば、（同じくショッピングカートを作っている）「RailsによるアジャイルWebアプリケーション開発」と比べてもぼくはこちらを推す。</p>

<p>チュートリアルと呼んでしまうと内容が薄そうに聞こえるが、この本のすごいところはチュートリアルとしての進め方をしながら、その実要所要所で必要となる Rais の機能についてはきっちり説明がされているところだ。</p>

<p>もちろん、説明されていないことはたくさんある。説明されていることだって、説明の内容が深いかと言うとそんなことはない。でも、ここから後は必要に応じて自分でリファレンス読んだり、別の本を買ったり、Web で検索したりして調べることができる。</p>

<p>他にもいろいろな点で感動したのだが、とりあえずここまで。（あ、純粋に技術書として買うとここまでの評価にはならないかもしれません。でも、そういう需要には達人プログラマー+DHH+前田修吾さんが応えてくれるので問題ないでしょう。）</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/4839922217/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/518RywDgWNL._SL160_.jpg" alt="Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~" 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/4839922217/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank">Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~</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/4839922217/nemutagenapot-22/ref=nosim/" title="Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~" target="_blank">amazlet</a> at 08.07.24</div></div><div class="amazlet-detail">Plan de Sens 清水 智雄 <br />毎日コミュニケーションズ <br />売り上げランキング: 43091<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839922217/nemutagenapot-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51627310.html">
<title>iPhone の Push Notification Service から読み取れるもの</title>
<link>http://blog.hacklife.net/archives/51627310.html</link>
<description>iPhone について、否定的なエントリをいくつか読んで、ちょっと違和感があった。別に iPhone 好きでも Apple 好きでもないので、否定的に受け止められること自体は構わない。

だけど、こういうものを捉えるときのアプローチとしては、「もし、後々これが大きなターニング...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-07-16T00:00:54+09:00</dc:date>
<dc:subject>Web</dc:subject>
<content:encoded><![CDATA[<p>iPhone について、否定的なエントリをいくつか読んで、ちょっと違和感があった。別に iPhone 好きでも Apple 好きでもないので、否定的に受け止められること自体は構わない。</p>

<p>だけど、こういうものを捉えるときのアプローチとしては、「もし、後々これが大きなターニングポイントになるとしたら、何をもってターニングポイントになりうるのか？」という視点で検討したほうがいいのではないか。と思ったのだ。</p>

<p>その脅威が実現する可能性についてはまた別途検討すればいい。結果として何でもない単なるおもしろインターネット端末でした、という結論なら安心してスルーするか、祭りを楽しめばいい。</p>

<p>ただ、検討もしないで「あれがない」「これがない」と現在あるものとの比較でないもの探しをしていると、大きな流れを見失う恐れがある。（実際に買った人から「Safari 落ちすぎ！」みたいな声も挙がっているのはひとまず横に置いておく。）</p>

<p>ということで、ざっくりとだが自分でいろいろ読んでみた。</p>

<p>以前に shi3z さんのこのエントリを読んで「ほー」と思った覚えはあったので、 Push Notification Service が iPhone のキーコンセプトだということを取っ掛かりに調べ始めた。（ちなみに「ポジショントーク」というはてブコメの指摘はたしかになー。とも思った。）</p>

<a href="http://d.hatena.ne.jp/shi3z/20080610/1213107165">http://d.hatena.ne.jp/shi3z/20080610/1213107165</a>

<blockquote>
ケータイコンテンツの最大の特徴とは、ユーザ側から働きかけるのではなく、サービス側から働きかけることによってユーザの行動そのものを動的に変えて行くということです。
</blockquote>

<p>そうだよなぁ。ケータイであるということは、つまりユーザーが常時携帯し、どこにいてもいつでも手元に置いているということだ。つまり、（PC の前でできることだけではなくて）あらゆるユーザーの行動に働きかけをし続けることができるという可能性を秘めているわけだ。今ユーザーが何をしているか、何を欲しているかを生活の隅々まで追って、その瞬間にほしいものを提供するということができるとしたら、それは携帯端末だけだ。
（ケータイは携帯電話であるので、こう文章にすると文字通りの当たり前のことなんだけど。）</p>

<p>続いて、blog.Winding-life.net さんのなぜはてブが３つしか付いていないのかまったく理解できないすばらしいエントリ。これは全員が読むべき。説明も非常にわかりやすく、その洞察も納得がいきやすい。</p>

<a href="http://blog.winding-life.net/archives/23">http://blog.winding-life.net/archives/23</a>

<blockquote>
とにかく重要なのは、サードパーパーティのアプリに対して「着信機能」をシステムレベルで開放してくれるってこと。 ここから広がる可能性は今までの携帯電話とは比較にならないと思うんだけど。
</blockquote>

<p>そして、</p>

<blockquote>
でもこの仕組みの一番のえげつなさは、音声通話とパケット通信以外のサービスをキャリアに関係なく自分で実装できちゃうっていうこと。今までは「着信機能」を持てないがためにキャリアでしか実装ができなかったものも自分たちで実装できるようになる。要するに「お前らはちゃんとデータを流しさえしてりゃいいんだよ」とキャリア各社に申しておるわけですよ、Appleは。
</blockquote>

<p>はい。これだけしか引用しません。ぜひ全文読んでください。</p>

<p>次は、米国の CNET から。</p>

<a href="http://news.cnet.com/8301-17939_109-9964040-2.html?hhTest=1">http://news.cnet.com/8301-17939_109-9964040-2.html?hhTest=1</a>

<blockquote>
For the better part of a year, users with jailbroken iPhones have been enjoying apps that run the traditional way (in the background), even when the device is in sleep mode. Jailbroken apps like Mobile Chat and Intelliborn's Intelliscreen (hands-on) run quietly, pulling in data every few minutes and popping up with a message the way Apple's own apps behave. The problem is that this model doesn't scale.
</blockquote>

<p>iPhone は(jailbreak することで)従来型の（バックグラウンドプロセスによるプル型の）仕組みを実装することもできる。ただし、この仕組みはスケールをしない。という指摘。携帯デバイスという特性上、複数のクライアントアプリケーションがバックグラウンドプロセスで動作し続けるというモデルは非効率であり、その解として Push Notification Service が出てきている。と解説している。</p>

<blockquote>
This new tunnel for data is a veritable gold mine that's not just metrics--it's attached to user IDs and billing information too. 
</blockquote>

<p>さらに、この Push Notification Service という新しいユーザー接点（データをユーザーへ届けるパイプ）は、ユーザー ID でユーザーを個別に識別可能であり、決済機能とも結び付いている。</p>

<p>個別の端末について IP を握っており、それがユーザー ID と過去の様々な通信活動の履歴と結び付いているという状況を思い浮かべると、Apple の優位性がはっきりと見えてくる。そして、意外にもそれは DoCoMo が握っていた優位性とも似ている部分がある。DoCoMo は独裁者としては優しかったのかもしれない。Apple はそれほど甘い顔を続けないだろう。</p>

<p>国内の情報に戻って、WWDC2008 の基調講演を丁寧にまとめた記事へ。上記を踏まえて読み返すと、その構成や文句についていろいろ考えさせられるものがある。（わざわざ検索して読み返さんでも、すべて WWDC2008 で言われてるじゃん！自分どれだけ鈍いんだ！的なものも含めて。）</p>

<a href="http://plusd.itmedia.co.jp/pcuser/articles/0806/13/news039.html">http://plusd.itmedia.co.jp/pcuser/articles/0806/13/news039.html</a>


<p>たとえば、この辺は見える景色が違ってくるのではないだろうか。</p>

<blockquote>
<p>3番目は、looptのSam Altman氏は、iPhoneのCore Location APIを使って、自分の周囲にいる友達を表示してくれるアプリケーションを紹介。利用者は自分の居場所についてコメントを残したり、友達にメッセージを残したりできるという。</p>

<p>Altman氏は「これまでは終わってから、実は友達が近くのレストランにいたということが分かったりした」「looptを使えば2度とさびしく一人で食事をすることはなくなる」と語った。このソフトはApp Storeにて無料で配布される。</p>
</blockquote>

<p>で、なんだかんだでこうして見てくると、Apple は最近の Web の流れとして明らかに見えていた「テキストベースじゃない Web の世界」で勝とうとしているのだということに気付く。iPhone が提示しているアプリケーションとそのインフラとして働くデータとサービスの集合があり、Web と呼ばれたものはその基盤を担っていくという未来を Apple は描いているし、iTMS から着々と実現に向けて駒を進めている。（別にこれは新しい話でもなく、Adobe も MS もそれに向けた手を打っていた。ただ、その概念がソフトウェアとその開発環境という枠組みを出なかっただけだ。）</p>

<p>最後にこれは Apple によるロックインだ！という当然挙がるであろう声も紹介しておく。</p>

<a href="http://skypejournal.com/blog/2008/06/3g_iphone_misses_continuity_of.html">http://skypejournal.com/blog/2008/06/3g_iphone_misses_continuity_of.html</a>

<p>この記事の中では、バックグラウンドプロセスを採用せず、Push Notification Service を採用したことによる問題をいくつか提起している。一番気になる点はやはり必ず Apple を介さないといけない仕組みになっている点だろう。それを利用して Apple の一人勝ちモデルとしていくのか、それともそこを共存共栄の仕組みへと進めていくのか。</p>

<p>この Apple が Push Notification Service の根っこをがっつり握っているよ、という話で思い出すのは、fladdict さんの「バイパス」の話。まさにバイパス以外の何物でもないものを出してきたという印象だ。</p>

<p>この機会に fladdict さんの一連の Apple 関連エントリも読まれることをおすすめする。</p>

<ul>
  <li>2005.04.06 <a href="http://www.fladdict.net/blog-jp/archives/2005/04/post_17.php">アップルの本質は「あちら側」ではないのか？</a></li>
  <li>2007.01.14 <a href="http://fladdict.net/blog/2007/01/iphoneapple.html">iPhoneは携帯でも音楽プレイヤーでもないし、Appleは家電屋じゃあない</a></li>
  <li>2008.01.29 <a href="http://fladdict.net/blog/2008/01/post_129.html">みんながパソコンから逃げ出してる</a></li>
</ul>

<p>それにしても、なんだか、こういう内容でブログを書くのはとてもひさしぶりな気がするな。</p>
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51624556.html">
<title>ゆの in Ruby</title>
<link>http://blog.hacklife.net/archives/51624556.html</link>
<description>元ネタは知らないんだけど、sumim さんのところで読んでおもしろかったので Ruby の別解。

#!ruby -Ku
X = []
def method_missing name, *args
  puts &quot;ひだまりスケッチ×365 &quot; + args.to_s if name == :&amp;lt;
end
X / _ / X &amp;lt; :来週も見てくださいね!


metho...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-07-13T02:14:30+09:00</dc:date>
<dc:subject>programming</dc:subject>
<content:encoded><![CDATA[<p>元ネタは知らないんだけど、sumim さんのところで読んでおもしろかったので Ruby の別解。</p>

<pre class="syntax-highlight"><span class="synPreProc">#!ruby -Ku</span>
<span class="synIdentifier">X</span> = []
<span class="synPreProc">def </span><span class="synIdentifier">method_missing</span> name, *args
  puts <span class="synSpecial">"</span><span class="synConstant">ひだまりスケッチ×365 </span><span class="synSpecial">"</span> + args.to_s <span class="synStatement">if</span> name == <span class="synIdentifier">:&lt;</span>
<span class="synPreProc">end</span>
<span class="synIdentifier">X</span> / _ / <span class="synIdentifier">X</span> &lt; :来週も見てくださいね!
</pre>

<p>method_missing 万能すぎちゃってあまりおもしろくないな。</p>
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51606531.html">
<title>BDD に関するメモ。</title>
<link>http://blog.hacklife.net/archives/51606531.html</link>
<description>
で、肝心のBDDですが、これは確かに実績を上げてました。RSpecとSeleniumを使うようになって格段にバグも減ったし、「何をやってるか知りたければまずSpecを見ろ」っていう習慣も自然に浸透したし、LLに不慣れなベテランプログラマや新人プログラマを含む混成部隊でもペア...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-06-24T02:16:12+09:00</dc:date>
<dc:subject>programming</dc:subject>
<content:encoded><![CDATA[<blockquote>
<p>で、肝心のBDDですが、これは確かに実績を上げてました。RSpecとSeleniumを使うようになって格段にバグも減ったし、「何をやってるか知りたければまずSpecを見ろ」っていう習慣も自然に浸透したし、LLに不慣れなベテランプログラマや新人プログラマを含む混成部隊でもペアプロのお陰で開発速度を維持できたし全体の技術水準も上がりました。</p>

<p>あと余談だけど、「Specのないコードを書くときは上長に申請書を提出させる」とか「ペアプロ時にはナビゲータはピコピコハンマー装備」とか、今回の名言「わかんないやつは黙ってろ」とか、本当にやっちゃう人ですからねyuguiさんは。実際に。そこに痺れる憧れる。 </p>

<p>via <a href="http://blog.livedoor.jp/faulist/archives/882252.html">RubyKaigi 2008に行ってきた</a></p>
</blockquote>

<p>以上、個人的なメモ。</p>

<p>最近、自分でコードを書くときはよほど小さなツールでないかぎり、ほとんど BDD で開発している。BDD の体感的の感覚としては、森博嗣氏のこの話が近いと思う。</p>

<blockquote>
<p>「どうしても、思いどおりに小説が書けません。どうしたら、良いでしょうか？」と尋ねられることも少なくないのだが、そういうときは、「思いどおりに書けなかった小説を見せて下さい。何作くらいあるんですか？」ときき返す。１作も書けていない人が多い。１作も書いてないのに、どうして思いどおり書けないなんて言うのだろうか？　書いてから悩めば良いではないか。書けない書けないと悩む人がいるけれど、書けないなんてことはない、なにかは必ず書ける。幼稚園児だって書ける。100時間も1000時間も悩めば、必ず書けるだろう。５作くらい書けば、自分の才能が小説に向いているか向いていないか、多少はわかるのではないか。</p>

<p>(略)</p>

<p>沢山の具体案を考えることは、無駄なようでけっして無駄ではない。採用されなかった案が、その人の将来の持ち駒になるからだ。</p>

via <a href="http://blog.mf-davinci.com/mori_log/archives/2007/12/post_1581.php">MORI LOG ACADEMY</a>
</blockquote>

<p>つくづく、よくできたやり方だと思う。</p>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.hacklife.net/archives/51606523.html">
<title>RubyKaigi2008をニコニコ動画で見た</title>
<link>http://blog.hacklife.net/archives/51606523.html</link>
<description>諸々あって、今年は参加できなかった RubyKaigi2008 だったのだけど、続々とアップされている動画＆レポのおかげで、いくつかの興味のあったセッションについて内容を把握できた。（あ、あと yugui さんのを見ないと。）

KaigiFreaks の方々とレポをしてくださった皆様、...</description>
<dc:creator>zep716</dc:creator>
<dc:date>2008-06-24T01:56:46+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[<p>諸々あって、今年は参加できなかった RubyKaigi2008 だったのだけど、<a href="http://www.nicovideo.jp/tag/RubyKaigi2008">続々とアップされている動画</a>＆レポのおかげで、いくつかの興味のあったセッションについて内容を把握できた。（あ、あと yugui さんのを見ないと。）</p>

<p>KaigiFreaks の方々とレポをしてくださった皆様、そして実行委員の皆様に感謝。特に KaigiFreaks は LT 見て、あらためて感謝です。札幌から自費で参加って！おかげさまで、自宅からも楽しめました。どうもありがとうございました。</p>

<p>そして、共通タグらしいので rubykaigi2008 タグ付けてみた。livedoor blog のタグ機能なんて初めて使ったよw</p>

]]>
</content:encoded>
</item>

</rdf:RDF>