<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[KenchanDiary]]></title>
  <link href="http://diary.shu-cream.net/atom.xml" rel="self"/>
  <link href="http://diary.shu-cream.net/"/>
  <updated>2012-05-17T20:35:47+09:00</updated>
  <id>http://diary.shu-cream.net/</id>
  <author>
    <name><![CDATA[Kenichi TAKAHASHI]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[社内リーンスタートアップ読書会はじめました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/05/17/reading-lean-startup_1.html"/>
    <updated>2012-05-17T20:06:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/05/17/reading-lean-startup_1</id>
    <content type="html"><![CDATA[<p>Lean Startup Camp Tokyo Spring 2012に行ってだいぶ意識が高まっていたのですが、ようやく第1回を開催しました。
初回なので、なんでこの本の読書会をやりたいと思ったのかを伝えてから、1部の終わりまでざっと進めました。</p>

<p>かなり物語が多いので、一字一句読み合わせるというよりは、パラパラ読みながらみんなの認識を合わせていく(ここはこういうことだよね？)感じでやってみましたが、まずまずだったのではないでしょうか。</p>

<p>1周して終わりという本ではないので、「集まった人が気になっているところを、どこでも何回でも読む」というルールで進めていこうと思います。</p>

<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822248976/shucreamnet-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51noBxGCoJL._SL160_.jpg" alt="リーン・スタートアップ  ―ムダのない起業プロセスでイノベーションを生みだす" /></a><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822248976/shucreamnet-22/ref=nosim/" target="_blank">リーン・スタートアップ  ―ムダのない起業プロセスでイノベーションを生みだす</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[FFXI 10周年]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/05/16/ff11-10th-anniversary.html"/>
    <updated>2012-05-16T23:22:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/05/16/ff11-10th-anniversary</id>
    <content type="html"><![CDATA[<p>みたいです。</p>

<p>PS2のベータテストでおなか一杯になってしまって、サービス開始では課金しなかったんですが、ひょんなことからアトルガン前くらいから再開(?)することになったような記憶があります。</p>

<p>最近は、先々週くらいに新ナイズルで@1ミリで100層クリアを逃がしてから、強化魔法スキル500のための装備を揃えるのに?00万ギルほどつぎ込んだのでいたのでした。(ピアス買ってないけどピアス買ったほうが安かった…)(失敗したときは480くらい)
リゲインが1多かったらその時クリアできたのかわからないけど、不安材料は少しでも減らしたほうがいいですからね。(と心に言いきかせている)</p>

<p>というわけで、もうしばらくFFにはお世話になるつもりなので、これからもよろしくお願いします。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[日記に残しておかないといけない4月の出来事]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/25/todo.html"/>
    <updated>2012-04-25T01:32:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/25/todo</id>
    <content type="html"><![CDATA[<p>2つほど今日処理しましたが、まだまだあるので書いておきます。</p>

<ul>
<li>Lean Startup Camp Tokyo Spring 2012に行った</li>
<li>リーンスタートアップ読んだ</li>
<li>Rails Tutorialのいいところ</li>
<li>新人がやってきた</li>
<li>AndroidのZaimを1ヶ月使ってみたけどこりゃだめだ</li>
<li>未来日記最終回の数日後になぜか家に漫画がたくさんあった</li>
<li>hsbtにWeb日記勉強会をやってもらった</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Rails勉強会@東京に参加しました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/21/railstokyo.html"/>
    <updated>2012-04-21T23:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/21/railstokyo</id>
    <content type="html"><![CDATA[<p>子供を連れてきてうるさくしていたのが私です…本当にすみませんでした…</p>

<p>もうちょっと持つかなぁと思ったのですが、子供1人は無理ですね。次回はみんな子供を連れてくればいいのでは？(ごめんなさい)</p>

<p>参加したセッションは、「Rails Engine」と「テストについて」の2つでした。</p>

<h2>Rails Engine</h2>

<p>Rails Engineについて一家言あるような人はいなかったので、<a href="http://railscasts.com/episodes/277-mountable-engines">RAILSCAST #277 Mountable Engines</a>を淡々を写経しながら議論していました。</p>

<h3>Q. EngineにするのとRailtieを継承したクラスを作ることの違いは？</h3>

<p>EngineはRailtieを継承している。そして、EngineになるとRackのミドルウェアになる。
なので、Generatorを拡張するようなものはEngineにせずにRailtieを継承して作るのもあり。</p>

<h3>Q. assetsの下が他のEngineのassetsに影響したりしないの？</h3>

<p>明示的に読みこまない限りない。たとえば、RailsAdminはbootstrapを使っているけど、それがRailsアプリケーションに影響を与えたら大変なことになる
(今はアプリケーション自体もEngineとして動作している)</p>

<h3>Q. exception_handler.rb のファイルパスが間違ってますよね？</h3>

<p>ascii castの日本語版だと間違ってるみたいです。あと、ファイルの中の改行もそのままだとsyntax errorなので一行に書きましょう。
(原文では正しくなってます)</p>

<h3>おまけ</h3>

<p>Engineをrails newしたあと、.gitignoreにGemfile.lockが足されていたほうがいいような気がするんですがどうなんでしょ。</p>

<h2>テストについて</h2>

<p>だいたいmoroへの質問コーナーになってしまっていて、もうちょっとやりようがあるんじゃないかなぁと思ったのでした。</p>

<h2>まとめ</h2>

<p>実は初参加だったのですが、勉強会らしい勉強会に久し振りに参加したような気がします。
進行役 &amp; 会場係の@takkanmありがとうございました。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[WEB+DB PRESS Vol.68が届きました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/19/webdbpress.html"/>
    <updated>2012-04-19T00:13:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/19/webdbpress</id>
    <content type="html"><![CDATA[<p>いつもありがとうございます！今号は連載終了と連載開始がたくさんあって、年度の変わりを感じました。</p>

<p>Rubyわくわくナビはかなり好きだったのに終わってしまうのですね。お二人の次回作に期待しております！</p>

<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774150312/shucreamnet-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/61BRamammoL._SL160_.jpg" alt="WEB+DB PRESS Vol.68" /></a><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774150312/shucreamnet-22/ref=nosim/" target="_blank">WEB+DB PRESS Vol.68</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Jenkins Plugin(JRuby)の勉強会をしました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/16/jenkins-plugin-study.html"/>
    <updated>2012-04-16T20:18:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/16/jenkins-plugin-study</id>
    <content type="html"><![CDATA[<p>昨年から細々と続けている社内勉強会の60分一本勝負で、(デブサミで川口さんとnahiさんからいろいろ聞いてきた)hsbtにJenkinsプラグインをJRubyで書く方法について教えてもらいました。</p>

<p>私はそもそもJavaが入ってなかったので次のような感じでいろいろ入れるところからスタート。</p>

<div><script src='https://gist.github.com/2398032.js?file='></script>
<noscript><pre><code>sudo emerge -av icedtea
rvm install jruby
rvm use jruby
gem install jpi</code></pre></noscript></div>


<p>最後に入れている<a href="https://github.com/jenkinsci/jenkins.rb">jpi</a>がJRubyでJenkins Pluginを作るためのgemだそうな。</p>

<p>手順としては、</p>

<ul>
<li><code>jpi new hogehgoe</code>で雛形を生成</li>
<li><code>jpi generate hogehoge fugafuga</code>としてできたファイルを編集</li>
<li><code>jpi build</code>でパッケージング</li>
<li><code>jpi server</code>で作ったプラグインが入ったJenkinsが起動</li>
</ul>


<p>という感じで、<code>generate hogehoge</code>がけっこう肝な感じでした。</p>

<p>Generatorは、いまのところ次の6つがあるんですが、後半はhsbtもよくわからないとのこと。</p>

<ul>
<li>publisher (設定画面で「ビルド後の処理」に入るもの)</li>
<li>builder (設定画面で「ビルド」に入るもの)</li>
<li>wrapper (設定画面で「ビルド環境」に入るもの)</li>
<li>node_property</li>
<li>run_listener</li>
<li>computer_listener</li>
</ul>


<p>まずは、上の3つをいろいろ使ってみたり、いまのところJRubyで書かれた唯一のプラグインである<a href="https://github.com/jenkinsci/rvm-plugin">rvm-plugin</a>を見ながらエスパーしたり、「Rubyで書けるならこう書きたい！」みたいなのを考えてみようかという話をしていました。</p>

<p>あとは、Gentooで<code>jpi server</code>が動かない問題を調査して、pull requestはhsbt(と奥さんの英語力)に託したりと、なかなか有意義な勉強会でした。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[通販生活]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/03/ongaku-and-ep-630.html"/>
    <updated>2012-04-03T23:39:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/03/ongaku-and-ep-630</id>
    <content type="html"><![CDATA[<p>イヤホンが断線してしまったので、5000円以下では鉄板と言われているEP-630を買ってみました。
本当はBluetoothにしようかと思ったんですが、</p>

<ul>
<li>DR-BT63EXは、実体としてはBT-30に1500円のイヤホンが付いているだけ</li>
<li>MW600はインタフェースがもにょもにょ</li>
<li>AT-PHA05BTはちょっとお高い</li>
</ul>


<p>ということがわかったので、状況がかわるまで我慢しようかなぁと思った次第。</p>

<p>EP-630で最初に聞いたときはまぁこんなもんか思ったのですが、2日くらいで慣れてきたのでした。
たしかに鉄板と言われるだけのことはありますね。</p>

<p>あとは、発売日に入手し逃した<a href="http://www.konamistyle.jp/sp/wac/index.html">wacの「音楽」</a>が入荷したようなのでぽちったりしました。</p>

<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000XR2O40/shucreamnet-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/31kWIZX0-AL._SL160_.jpg" alt="Creative インナーイヤー型イヤホン EP-630 ブラックモデル EP-630-BK" /></a><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000XR2O40/shucreamnet-22/ref=nosim/" target="_blank">Creative インナーイヤー型イヤホン EP-630 ブラックモデル EP-630-BK</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[agigを使いはじめました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/02/install-agig.html"/>
    <updated>2012-04-02T19:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/02/install-agig</id>
    <content type="html"><![CDATA[<p><a href="http://www.hsbt.org/diary/20120401.html#p01">hsbtがagigというのを作ったそうなので</a>、さくらのVPSで動かしていたgigをagigにしました。</p>

<p>ついでにdaemontoolsで動かすようにしたのですが、Gentoo &amp; rbenv という環境でちょっとはまったので起動スクリプトをGistにおいておきます。</p>

<div><script src='https://gist.github.com/2281389.js?file='></script>
<noscript><pre><code>#!/bin/bash

unset RUBYOPT
exec \
setuidgid kenchan \
/home/kenchan/.rbenv/shims/agig -p 6699 -h sakura.shu-cream.net</code></pre></noscript></div>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[FFXIバージョンアップ]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/04/01/ffxi-version-bump.html"/>
    <updated>2012-04-01T23:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/04/01/ffxi-version-bump</id>
    <content type="html"><![CDATA[<p>GEEK DAY TOKYOの準備があった影響で、バージョンアップからずっとほっといたけどようやく再開。</p>

<p>バージョンアップ前の状況としては、コルスは取れないまま、トキは取れたという感じでした。</p>

<p>丁度よくプロマシアルートの募集があったので潜り込んだけどアットワで4敗して終了。詩人で参加する度にいつも思うんですが、つらいときに何も出来ないのがもどかしいですね。</p>

<p>黒だってタゲとって薬とマナウォールで1分以上耐えられることだってあるのに…</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[GEEK DAY TOKYOで「ソーシャルコーディング時代の幕開け」という発表をしてきました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/31/geek-day-tokyo.html"/>
    <updated>2012-03-31T23:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/31/geek-day-tokyo</id>
    <content type="html"><![CDATA[<p><strong>04/03 ジョブポストのURLが過っていたのを直しました</strong></p>

<p>主催の<a href="http://decoo.co.jp">Decoo</a>で働いている大学の同期である<a href="http://twitter.com/nittyan">@nittyan</a>から依頼を受けたので、GEEK DAY TOKYOで発表させていただきました。</p>

<p>イベントの雰囲気や他の発表者の方、参加者の方々を見ても、うちみたいな受託の会社が発表していいもんかとだいぶ不安だったのですが、終わってみればいろいろ反響があって安心しております。</p>

<p>時間の関係もあり、具体的な話があまりできませんでしたが、永和がこれからどんな開発をしていきたいのかというところが伝わると嬉しいです。</p>

<script src="http://speakerdeck.com/embed/4f7667a21b62950022006ba9.js"></script>


<h2>大切なこと</h2>

<p>ESMでは、こんな開発に興味があるガッツとパッションにあふれるRubyistを募集しております。興味のある方は是非以下のリンクをご覧ください！</p>

<p><a href="https://github.com/esminc/jobs">esminc / jobs</a></p>

<p>また、「この話もうちょっと聞きたい！」というイベント主催者の方がいましたら、スライド中のメールアドレスまでご連絡ください。</p>

<h2>参考資料</h2>

<ul>
<li><a href="https://github.com/omo/Lord-of-the-Files/blob/master/Lord-of-the-Files.ja.md">ファイル達の王: GitHub はいかにしてフリーソフトウェア(など)を手懐けたか</a></li>
<li><a href="http://speakerdeck.com/u/a_matsuda/p/social-coding">ソーシャルコーディングの世界 Akira Matsuda</a></li>
<li><a href="http://www.hsbt.org/diary/20111017.html#p01">github で開発するなら pull request を使いましょうという話, zsh-users の設定を入れてみた。 - HsbtDiary(2011-10-17)</a></li>
</ul>


<h2>おまけ</h2>

<p>スライドで紹介したPull Requestがあるプロジェクト「eiwakun」は、社内で使っているIRCボット件Twitterクライアントみたいなものです。(ソースは諸事情で公開していません)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[蕁麻疹とか捻挫とか]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/27/injury-and-disease.html"/>
    <updated>2012-03-27T20:36:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/27/injury-and-disease</id>
    <content type="html"><![CDATA[<p>先週の金曜日から息子のお腹の調子が悪くて、さらに日曜日のお昼食べたあとに急に体が痒いみたいで見てみたら、蚊に刺されたような膨らみがいっぱいできてて、これが蕁麻疹というものらしいとわかったのであった。
ぎりぎり駅前の皮膚科に間に合うかどうかという時間だったので、若干奥さんと喧嘩しながら走って連れていったけど間に合わず、冷してあげたりすればそんなに痒くはないようなので月曜日まで様子を見ることに。</p>

<p>そして、月曜に奥さんに病院に連れていってもらうことにしたら、病院の前で奥さんが足首を捻挫。</p>

<p>昨日は早退させてもらって家のことをいろいろしていたのでした。</p>

<p>捻挫の痛みはだいぶ引いてきたようなので一安心。息子は蕁麻疹は引いてきたけど、お腹の調子はまだ悪いままなのであった。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[アジャイルリーダーシップトレーニングを受けてきました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/23/agile-leadership-training.html"/>
    <updated>2012-03-23T22:48:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/23/agile-leadership-training</id>
    <content type="html"><![CDATA[<p>アジャイルサムライの著者による、<strong>本に書いていないアジャイルリーダーシップ</strong>のトレーニングがあるということで、会社の教育として受けさせてもらいました。</p>

<p>最初に、ジョナサンにとってのトレーニングのインセプションデッキとして、受講者にこのトレーニングで知りたいこと言ってもらい、それをリストアップしていました。</p>

<p>折角なので、実際に困っている「1〜3人の小規模チームでのリーダーシップについて知りたい」という事をお願いしてみたのですが、それについてのディスカッションは後述。</p>

<h2>一番ぐっときたこと</h2>

<p>発表資料を見直してみても載ってなかったのですが、</p>

<blockquote><p>大切なのは、継続的に価値を届けること、そしてそれでハッピーになることだ</p></blockquote>

<p>ということを言っていたような気がするんですよね。そう、みんながハッピーにならなきゃいけないんだよ！</p>

<h2>全体として</h2>

<p>すばらしいトレーニングでした。
なによりも、要所要所でジョナサンが話す彼が経験してきたプロジェクトの話は興味深く、とても刺激的なものでした。
最後のディスカッションでも、受講者の現場の問題に役立ちそうな彼のエピソードを話してくれて、すごく視野が広がった感覚があります。</p>

<p>また、翻訳、通訳をしていただいた和智さん、本当にありがとうございました。後半はもう頭が働かなくて翻訳に頼りっぱなしでした…(英語勉強します…)</p>

<h2>leadershipのScienceについて</h2>

<p>初めに、ジョナサンがトレーニングのアジェンダを紹介したのですが、最初が「leadershipのscienceについてだ」というのを聞いてこれはやばいと思いましたね。</p>

<p>ぐっと来たのは、</p>

<ul>
<li>人は自分のやり方で仕事がしたい</li>
<li>報酬は、ある閾値を超えると効果がなくなる(むしろ悪影響がある)</li>
<li>目標、評価は多角的に、チートできないように設計する</li>
</ul>


<p>上の2つはダニエルピンクの「モチベーション3.0」の研究成果からの紹介だったのですが、最後の目標と報酬の話は非常に面白かったです。</p>

<p>たとえば、販売部門とシステム部門の部長の評価は、評価の一部に「相手の業績を上げるようなことができたか」という項目を入れることで、足の引っ張り合いもなくなるし、自然と仲良くなるというような話でした。</p>

<h2>自分自身をリードする</h2>

<p>(アジャイルな)リーダーとは、3つ事をリードしなければならなくて</p>

<ul>
<li>チーム</li>
<li>自分自身</li>
<li>上司(組織)</li>
</ul>


<p>というような話だったと思います。</p>

<p>そのなかでも、自分自身をリードするために、ドラッカー風エクササイズを実際にやってみるという内容でした。</p>

<h2>10 tips for leading your agile team</h2>

<p>これはほとんどアジャイルサムライの内容でしたね。
ぐっと来たところだと</p>

<ul>
<li>「悪いニュース」は伝えるのではなく、誰の目からみても明らかになるようにする(見える化の話)</li>
<li>目標を高く設定し、それをキープする</li>
<li>コントロールなんて諦める。ただ、崖から飛びおりようとしていたら止める</li>
</ul>


<h2>小規模チームの話</h2>

<p>実際今も1〜3人くらいの小規模チームで仕事をしているのですが、私が感じていた問題は</p>

<ul>
<li>次イテレーションの準備が十分にできない</li>
<li>一人が休むとプロジェクトが止まってしまう(これはちゃんと伝えられなかったけど、アドバイスは非常に参考になった)</li>
</ul>


<p>というものでした。ジョナサンから貰ったアドバイスは次のようなものでした。</p>

<blockquote><p>まず、小規模チームというのは素晴らしい。2人なんて最高だ。
顧客とも直接話ができるんだろう？
なら、次イテレーションの準備なんて言わずに、そのイテレーションの最初、もしくは途中でも、そのイテレーションでやることを決められるんじゃないか？</p></blockquote>

<p>思わず「あぁ…」と声を漏らしそうになるくらい、今自分が出来ていないことがわかってしまう、とても的確なアドバイスでした。もっと精進します。</p>

<h2>ディスカッションの他のテーマ</h2>

<p>1時間くらいは受講者の知りたいことについてディスカッションする時間があったので、これの為に来たと思ってもお釣りがくるくらいいい内容でした。</p>

<p>メモ程度ですが気になったことを書いておきます。</p>

<ul>
<li>組織にアジャイルを普及されるために、今アジャイルで上手くいっているチームをバラしてもいいのか</li>
<li>トレードオフスライダーは「scopeを変えますよ」という宣言のために作るんだ</li>
<li>全てがfixされているプロジェクトでは、お金を出している人を探すところから</li>
<li>チームが自発的にタスクを取ってくれない？リーダーが2週間いなくなればいいよ</li>
</ul>


<h2>おわりに</h2>

<p>アジャイルサムライ大好きなのに、ジョナサンの話を聞いたのはこのトレーニングだけだし、記念写真とりわすれるし…</p>

<p>ただ、またいつか会える日がきて、そのときはジョナサンに私のサムライ戦記を伝えられるように、これからもがんばろうと思ったのでした。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[散髪]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/22/haircut.html"/>
    <updated>2012-03-22T22:42:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/22/haircut</id>
    <content type="html"><![CDATA[<p>前回から3ヶ月経ってたらしいですね。(散髪ログ便利)</p>

<p>家から徒歩3分の美容院がPM11時まで受けつけなのでいつもお世話になっていたんですが、来月からPM8時が最終になるらしくて困り気味。</p>

<p>聞くところによると、深夜に入れる若者がどんどん辞めていってしまっているらしく、どこの業界でも若者は3年でやめるのかーと思ったのでした。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[1週間遅れのホワイトデーと通販生活]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/21/white-day.html"/>
    <updated>2012-03-21T23:38:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/21/white-day</id>
    <content type="html"><![CDATA[<p><a href="http://diary.shu-cream.net/blog/2012/02/15/valentines-day.html">バレンタインデーが1日遅れてた都合上</a>、ホワイトデーが1週間遅れてやってきた。</p>

<p>ちょっと前から「<a href="http://www.letao.jp/">LeTAOのドゥーブルフロマージュ</a>食べたい」と言われていたのでお取り寄せしたのでした。</p>

<p>あとは、IIDX Lincleのサントラが到着。</p>

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=shucreamnet-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B006QCKO48" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[GEEK DAY TOKYO ワクワクエンジニアリングで発表してきます]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/13/geek-day.html"/>
    <updated>2012-03-13T23:56:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/13/geek-day</id>
    <content type="html"><![CDATA[<p>3/31にある<a href="http://geekday.jp/">GEEK DAY TOKYO</a>というイベントで「ソーシャルコーディング時代の幕開け」というタイトルでお話させていただくことになりました。</p>

<p>タイトルからもわかる通りGitHubの話なんですが、<strong>「受託開発の会社がお仕事のリポジトリとしてGitHubを採用してみたら何が起きたか」</strong>という話をしようと思っています。</p>

<p>他の発表者の方を見ると、普段あまり接点がない感じなので、楽しみでもあり不安でもあるという複雑な感じです。</p>

<p>なにやら、Asakusa.rbの花見が同じ日にあるようですが、興味のある方は来てみてください。(ドリンク(アルコール有)、軽食無料だそうです！)(LTと展示も募集中だそうです！)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[記事のURLが.htmlとなるように変更しました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/12/change-post-url.html"/>
    <updated>2012-03-12T21:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/12/change-post-url</id>
    <content type="html"><![CDATA[<p>octopressのデフォルト設定では、記事のURLは<code>/YYYY/MM/DD/#{title}/</code>のようになるんですが、某ブックマークサービスでは末尾のスラッシュを名寄せしてくれなかったり、ブラウザによって末尾のスラッシュ無しの場合にリダイレクトされたURLがアレな感じになったりするので、.htmlで終わるように設定を変更しました。</p>

<p>これによって、過去の記事のURLも全て変更されていますので、ブックマークから見れなくなっていると思います。すみません。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[はてなブックマークボタンを行動情報を取得しないものに変更しました]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/12/optout-hatena-bookmark-button.html"/>
    <updated>2012-03-12T12:45:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/12/optout-hatena-bookmark-button</id>
    <content type="html"><![CDATA[<p>ここ数日揉めていた件に対応しました。</p>

<p><a href="http://b.hatena.ne.jp/guide/bbutton?al=0#bbutton-generator">行動情報を取得しないはてなブックマークボタン作成ページ</a></p>

<p>普通に作るボタンは「行動情報を収集する」パターンで、下に<strong>灰色の文字</strong>でオプトアウト版の作成ページへのリンクを作るというのは、なんというかそこまでいってしまったんだなぁという感が否めないですね。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Turnipを使ってtappのテストを書いた話]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/03/04/tapp-meets-turnip.html"/>
    <updated>2012-03-04T23:47:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/03/04/tapp-meets-turnip</id>
    <content type="html"><![CDATA[<p>WEB+DB PRESSのRubyわくわくナビでも紹介された<a href="https://github.com/esminc/tapp">tapp</a>のテストについては社内でも定期的に上がる話題で、もう少し広い意味で考えると、標準出力を扱うアプリのテストをどうするかという話になったりするのですが、</p>

<ul>
<li>tappの単体テストってなんかしっくりこないよね</li>
<li>標準出力に出すだけだしね</li>
<li>そういえば、<a href="https://github.com/ecomba/vim-ruby-refactoring">vim-ruby-refactoring</a>っていうVimプラグインのテストがCucumberで書いてあるんですよ</li>
<li>そういえば、jnicklas先生の新作<a href="https://github.com/jnicklas/turnip">Turnip</a>っていうのがあって…</li>
<li>それ使ってみましょう</li>
</ul>


<p>という感じでTurnipを使ってAcceptance Testを書いてみました。</p>

<p>Turnipの特徴はこんな感じです。</p>

<ul>
<li>記法はCucumberと同じ<a href="Gurkin://github.com/cucumber/cucumber/wiki/Gherkin">Gherkin</a></li>
<li>Stepの定義に正規表現を使わずに、ただの文字列と、その中にコロン(:)をプレフィックスとしたプレースホルダで変数を扱う</li>
<li>Stepに名前空間ある</li>
<li>Stepの名前空間に変数が持てる</li>
</ul>


<p>日本語で書けるかどうかは試してないですが、なかなかよさそうじゃありませんか？</p>

<p>Turnipで書いたtappのテストを下に載せておきます。
ただ、名前空間とかは使ってないので、Cucumberとは殆ど変わりませんね。</p>

<figure class='code'><figcaption><span>spec/acceptance/tapp.feature  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
</pre></td><td class='code'><pre><code class='text'><span class='line'>Feature: Object#tapp
</span><span class='line'>
</span><span class='line'>  Scenario: Call tapp within methods chain
</span><span class='line'>    Given I have the following code:
</span><span class='line'>    &quot;&quot;&quot;
</span><span class='line'>    require &#39;tapp&#39;
</span><span class='line'>
</span><span class='line'>    (1..5).tapp.select(&amp;:odd?).tapp.inject(&amp;:+)
</span><span class='line'>    &quot;&quot;&quot;
</span><span class='line'>
</span><span class='line'>    When Ruby it
</span><span class='line'>
</span><span class='line'>    Then I should see:
</span><span class='line'>    &quot;&quot;&quot;
</span><span class='line'>    1..5
</span><span class='line'>    [1, 3, 5]
</span><span class='line'>    &quot;&quot;&quot;
</span></code></pre></td></tr></table></div></figure>


<p>Step定義も合わせてどうぞ。
こっちは、よくある標準出力をテストする方法を使っています。</p>

<figure class='code'><figcaption><span>spec/steps/tapp\_steps.rb </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="n">step</span> <span class="s2">&quot;I have the following code:&quot;</span> <span class="k">do</span> <span class="o">|</span><span class="n">code</span><span class="o">|</span>
</span><span class='line'>  <span class="vi">@code</span> <span class="o">=</span> <span class="n">code</span>
</span><span class='line'><span class="k">end</span>
</span><span class='line'>
</span><span class='line'><span class="n">step</span> <span class="s2">&quot;Ruby it&quot;</span> <span class="k">do</span>
</span><span class='line'>  <span class="n">stdout</span> <span class="o">=</span> <span class="no">StringIO</span><span class="o">.</span><span class="n">new</span>
</span><span class='line'>  <span class="vg">$stdout</span> <span class="o">=</span> <span class="n">stdout</span>
</span><span class='line'>  <span class="k">begin</span>
</span><span class='line'>    <span class="nb">eval</span> <span class="vi">@code</span>
</span><span class='line'>  <span class="k">ensure</span>
</span><span class='line'>    <span class="vg">$stdout</span> <span class="o">=</span> <span class="no">STDOUT</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>  <span class="vi">@output</span> <span class="o">=</span> <span class="n">stdout</span><span class="o">.</span><span class="n">string</span><span class="o">.</span><span class="n">chop</span>
</span><span class='line'><span class="k">end</span>
</span><span class='line'>
</span><span class='line'><span class="n">step</span> <span class="s2">&quot;I should see:&quot;</span> <span class="k">do</span> <span class="o">|</span><span class="n">output</span><span class="o">|</span>
</span><span class='line'>  <span class="vi">@output</span><span class="o">.</span><span class="n">should</span> <span class="o">==</span> <span class="n">output</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>結構読みやすいと思うんですがどうでしょう。標準入出力を扱う簡単なツールは、こんな感じで単体テストよりもエンドツーエンドのテストを書いておいた方が価値があると思います。</p>

<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/shucreamnet-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51f7AqT88OL._SL160_.jpg" alt="The RSpec Book (Professional Ruby Series)" /></a><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/shucreamnet-22/ref=nosim/" target="_blank">The RSpec Book (Professional Ruby Series)</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[デブサミ参加記録]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/02/17/devsumi.html"/>
    <updated>2012-02-17T23:00:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/02/17/devsumi</id>
    <content type="html"><![CDATA[<p>(これは3/1に書きました)</p>

<p>去年はなんとなく参加しなかったデブサミですが、今年は少しだけ参加しました。</p>

<ul>
<li>1日目: 平鍋さん</li>
<li>2日目: 角谷さん、松田さん</li>
</ul>


<p>私にとって、デブサミと平鍋さんの組み合わせは特別なものなので、今年はどうしても行きたかったのです。</p>

<p>あれは2005年、学生として潜り込んだデブサミで平鍋さんの見える化の話を聞いたのが、私と永和の出会いだったのです。
その7年後の2012年に、平鍋さんから聞くアジャイルの10年という話は、あの頃の衝撃を思いださせてくれる、平鍋さんにしかできない話で感動しました。</p>

<p>角谷さんの話は、だいたい会社で話してることや、耳に入ってくる話が中心ではあるんですが「自然なソフトウェアの作り方」と「オープンソースソフトウェア」という話は、なるほどなーと思いました。オープンソースソフトウェアはすごい。</p>

<p>最後の松田さんは、もうあれは聞かなかった人は、スライドだけでも見るべきですね。必修科目です。GitHubとはなんなのか、何故GitHubなのか、彼等は何をなしとげたのか、すごく綺麗にまとまっていました。
これを聞いてから、GitHubの事を他の人に話そうとしても、松田さんの言ってたことをそのまま言うしかなくなってしまって少し困っています。</p>

<p>1年振りに参加したデブサミはとても満足できたのですが、一方で技術的なセッションがソーシャル系というかビッグデータ系ばかりなのは、ちょっと寂しいというか、もう少し何か話題がないのかな〜と思いました。</p>

<p>(本当は、1日目の和智さんも聞きにいく予定だったのですが仕事で間に合わず。後日Twitterを眺めて雰囲気を楽しみました。)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[1日遅いバレンタインデー]]></title>
    <link href="http://diary.shu-cream.net/blog/2012/02/15/valentines-day.html"/>
    <updated>2012-02-15T22:51:00+09:00</updated>
    <id>http://diary.shu-cream.net/blog/2012/02/15/valentines-day</id>
    <content type="html"><![CDATA[<p>生クリームを買ってこいとの指令があったので買って帰ったら作ってくれました。
ありがとう！おいしゅうございました。</p>

<p><a href="http://picplz.com/zrP90"><img src='http://s1.i1.picplzthumbs.com/upload/img/db/42/dd/db42dd534da72c6cea7ca39ebd2d3380616a7b96_400r.jpg'></a></p>
]]></content>
  </entry>
  
</feed>

