<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>ヱビスブログ - Blog</title>
    <link>http://thug4dev.com/</link>
    <description>ThugDevLife</description>
    <dc:language>ja</dc:language>
    <generator>Serendipity 1.5.3 - http://www.s9y.org/</generator>
    <pubDate>Thu, 24 Jul 2008 09:12:35 GMT</pubDate>

    <image>
        <url>http://thug4dev.com/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: ヱビスブログ - Blog - ThugDevLife</title>
        <link>http://thug4dev.com/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>The door won't open</title>
    <link>http://thug4dev.com/index.php?/archives/214-The-door-wont-open.html</link>
            <category>Blog</category>
    
    <comments>http://thug4dev.com/index.php?/archives/214-The-door-wont-open.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=214</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=214</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    「意思の will」にはなかなか気付けないので修業が足りない。&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&quot;will&quot;で未来を念じているのは、人です。だから&quot;will&quot;は未来形であると同時に、「意志」という意味があります。&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.livedoor.jp/dankogai/archives/51085107.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.livedoor.jp/dankogai/archives/51085107.html&#039;]);&quot;  href=&quot;http://blog.livedoor.jp/dankogai/archives/51085107.html&quot;&gt;404 Blog Not Found:English - can の未来形&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
タイトルくらいわかりやすいと良いんですが、流れの中でポッと出てくると戸惑ってしまう。&lt;br /&gt;
極々個人的な経験で言うと、「意思の will」特に「頑なに〜しようとしない」の「won&#039;t」は個人よりも物体であるとかちょっとした集団のポリシーに使われてるケースに出会う。&quot;PS3 won&#039;t work!&quot;とか&quot;We won&#039;t do that ~&quot;とか。&lt;br /&gt;
&lt;br /&gt;
いわゆる未来の will も中学くらいでは「be going to と同じだよ」という教わり方をした（よね？）わけですけど、実は細かい違いがある。という事は予備校で知った。&lt;br /&gt;
&lt;br /&gt;
で、ここでアサマシです。&lt;br /&gt;
大学受験で散々ブッコんだ英語知識も大学生になってからと言うもの、ボロボロと抜け落ちてしまった。それをある程度戻すのに役立ったのがこの本。「if の省略形仮定法」とか久々に思い出せた。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;amazlet-box&quot; style=&quot;margin-bottom:0px;&quot;&gt;&lt;div class=&quot;amazlet-image&quot; style=&quot;float:left;&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;&lt;u&gt;blank&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/51AEB09SVBL._SL160&lt;/u&gt;.jpg&quot; alt=&quot;総合英語Forest&quot; style=&quot;border: none;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-info&quot; style=&quot;float:left;margin-left:15px;line-height:120%&quot;&gt;&lt;div class=&quot;amazlet-name&quot; style=&quot;margin-bottom:10px;line-height:120%&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;総合英語Forest&lt;/a&gt;&lt;div class=&quot;amazlet-powered-date&quot; style=&quot;font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%&quot;&gt;posted with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazlet.com/browse/ASIN/4342010208/yebisublog-22/ref=nosim/&quot; title=&quot;総合英語Forest&quot; target=&quot;_blank&quot;&gt;amazlet&lt;/a&gt; at 08.07.24&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-detail&quot;&gt;墺 タカユキ 石黒 昭博 &lt;br /&gt;桐原書店 &lt;br /&gt;売り上げランキング: 220&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-link&quot; style=&quot;margin-top: 5px&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/4342010208/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-footer&quot; style=&quot;clear: left&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
中学レベルから高校レベルまでの文法をザラっとすくっている内容。4色刷り。そして安い。各章が文法の形の解説で、基本→理解→応用のパターンがメイン。イラストをちょいちょい使ってるので、それも理解を助けてくれます。&lt;br /&gt;
&lt;br /&gt;
ただ、しょーもない例文が多い。変にカッチョよくしてるのよか分かり易くて良いのかも知れないけど、ちょっと不満。あと大学に入った直後に出てるのも許せない。これが受験時期にあったら手元の文法リファレンスにしてた。ロイヤル英文法使ってました。懐かしい。&lt;br /&gt;
&lt;br /&gt;
英文ブログとか読むには文法理解よりも語彙力が重要かなー。全然足りてない。&lt;br /&gt;
たまに堅めのコラムスタイルなブログを読む時には文法と英文解釈は必要に思える。&lt;br /&gt;
&lt;br /&gt;
「英会話は単語だよ、単語！」みたいな事を言う人をみると「こやつめ、ははは」とか思ってたんですが、実際それは間違いなかった。&lt;br /&gt;
&lt;br /&gt;
日本に来て半年のアメリカ人ゲームプログラマとゴールデン街で飲んだ事があって&lt;br /&gt;
&lt;br /&gt;
俺「most Japanese が play する game は their friends が play してるヤツなんだよ」&lt;br /&gt;
彼「ah...モンハン？」&lt;br /&gt;
&lt;br /&gt;
全然通じる。 
    </content:encoded>

    <pubDate>Thu, 24 Jul 2008 02:04:00 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/214-guid.html</guid>
    
</item>
<item>
    <title>PHPフツウ</title>
    <link>http://thug4dev.com/index.php?/archives/213-PHP.html</link>
            <category>Blog</category>
            <category>PHP</category>
    
    <comments>http://thug4dev.com/index.php?/archives/213-PHP.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=213</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=213</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/diary.eth.jp/?date=20080707#p01&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/diary.eth.jp/?date=20080707#p01&#039;]);&quot;  href=&quot;http://diary.eth.jp/?date=20080707#p01&quot;&gt;PHPサイキョウ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
「rocks」でやった結果。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 10 of about 6,900 for &quot;PHP rocks&quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
なるほど。&lt;br /&gt;
他はどうか。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 10 of about 36,900 for &quot;Ruby rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 8,700 for &quot;Python rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 1,580 for &quot;Perl rocks&quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Ruby 圧倒的過ぎるだろ。&lt;br /&gt;
&lt;br /&gt;
その他。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 10 of about 10,100 for &quot;C++ rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 9,540 for &quot;Java rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 973 for &quot;C# rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 496 for &quot;JavaScript rocks&quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
C++ と Java が大体同じくらいで Python より多い。意外。&lt;br /&gt;
&lt;br /&gt;
ついでに「rules」でもやってみた。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 10 of about 24,000 for &quot;PHP rules&quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
すげえ！これは期待出来る！&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 10 of about 31,700 for &quot;Ruby rules&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 9,690 for &quot;Python rules&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 10 of about 5,570 for &quot;Perl rules&quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Ruby 強すぎ。&lt;br /&gt;
&lt;br /&gt;
おまけ。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Results 1 - 2 of 2 for &quot;UnrealScript rocks&quot;&lt;/li&gt;
&lt;li&gt;Results 1 - 3 of 3 for &quot;UnrealScript sucks&quot;&lt;/li&gt;&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Tue, 08 Jul 2008 01:29:03 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/213-guid.html</guid>
    
</item>
<item>
    <title>PHPMock を触ってみた</title>
    <link>http://thug4dev.com/index.php?/archives/212-PHPMock.html</link>
            <category>Blog</category>
            <category>PHP</category>
    
    <comments>http://thug4dev.com/index.php?/archives/212-PHPMock.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=212</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=212</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    『次世代 Mock Object フレームワークの雄』として一部から熱く注目されている（と思いたい） &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/code.google.com/p/phpmock/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/code.google.com/p/phpmock/&#039;]);&quot;  href=&quot;http://code.google.com/p/phpmock/&quot;&gt;PHPMock&lt;/a&gt; ですが、ちょろっとテストコード読んだくらいで触った事が無かったのでトライ。&lt;br /&gt;
&lt;br /&gt;
ちなみに PHPMock のテストコードは PHPSpec で書かれている。個人的には残念な書き味というか、読みやすくない。PHPUnit バンザイ。&lt;br /&gt;
&lt;br /&gt;
ただ PHPUnit の Mock はもうちょっと融通利かせてもらえると有難い。という所で PHPMock はどうか。&lt;br /&gt;
&lt;br /&gt;
Let’s do this.&lt;br /&gt;
&lt;br /&gt;
PHPMock にはまともなドキュメントが一切無い。tgz 玉もないので &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/code.google.com/p/phpmock/source/checkout&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/code.google.com/p/phpmock/source/checkout&#039;]);&quot;  href=&quot;http://code.google.com/p/phpmock/source/checkout&quot;&gt;Google Code からチェックアウト&lt;/a&gt;するしかない。specs ディレクトリにテストコードがあるのでこいつを見れば大体の使い方はわかる。test as document を地で行く感じだ。メソッド名は RSpec の mock/stub に似ているというか似せてある。&lt;br /&gt;
&lt;br /&gt;
テストコードはこんな感じ。&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/download/src/phpmock_demo.zip&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/download/src/phpmock_demo.zip&#039;]);&quot;  href=&quot;http://thug4dev.com/src/phpmock_demo.zip&quot;&gt;ダウンロードはこちら。&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
■ test/ProductServiceTest.php&lt;br /&gt;
&lt;pre class=&quot;textmate-source espresso_libre&quot;&gt;&lt;span class=&quot;source source_php source_php_s2php5&quot;&gt;&lt;span class=&quot;source source_php source_php_embedded source_php_embedded_block source_php_embedded_block_html&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_begin punctuation_section_embedded_begin_php&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;support support_function support_function_builtin_functions support_function_builtin_functions_php&quot;&gt;define&lt;/span&gt;(&lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;DEMO_ROOT&lt;/span&gt;, &lt;span class=&quot;support support_function support_function_string support_function_string_php&quot;&gt;dirname&lt;/span&gt;(&lt;span class=&quot;support support_function support_function_string support_function_string_php&quot;&gt;dirname&lt;/span&gt;(&lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;&lt;u&gt;_FILE_&lt;/u&gt;&lt;/span&gt;)))&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;meta meta_include meta_include_php&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_import keyword_control_import_include keyword_control_import_include_php&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;DEMO_ROOT&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_string keyword_operator_string_php&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;/phpmock/src/PHPMock.php&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;meta meta_include meta_include_php&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_import keyword_control_import_include keyword_control_import_include_php&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;DEMO_ROOT&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_string keyword_operator_string_php&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_double meta_string-contents_quoted_double_php&quot;&gt;/lib/ProductService.php&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;meta meta_include meta_include_php&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_import keyword_control_import_include keyword_control_import_include_php&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;DEMO_ROOT&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_string keyword_operator_string_php&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;/lib/IDBConnection.php&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;meta meta_include meta_include_php&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_import keyword_control_import_include keyword_control_import_include_php&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;DEMO_ROOT&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_string keyword_operator_string_php&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;/lib/Publisher.php&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;meta meta_class meta_class_php&quot;&gt;&lt;span class=&quot;storage storage_type storage_type_class storage_type_class_php&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_type entity_name_type_class entity_name_type_class_php&quot;&gt;ProductServiceTest&lt;/span&gt; &lt;span class=&quot;storage storage_modifier storage_modifier_extends storage_modifier_extends_php&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;entity entity_other entity_other_inherited-class entity_other_inherited-class_php&quot;&gt;PHPUnit_Framework_TestCase&lt;/span&gt;
{&lt;/span&gt;
    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_php&quot;&gt;PRODUCT_ID&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_php&quot;&gt;1234&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    
    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;test_プロダクトを全件取得する&lt;/span&gt; ()
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockDb&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_php&quot;&gt;PHPMock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_static meta_function-call_static_php&quot;&gt;mock&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;DBConnection&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockDb&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;shouldReceive&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;)
               &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;withAnyArgs&lt;/span&gt;()
               &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;once&lt;/span&gt;()
               &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;andReturn&lt;/span&gt;(
                 &lt;span class=&quot;meta meta_array meta_array_php&quot;&gt;&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_begin punctuation_definition_array_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_key keyword_operator_key_php&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;NINJA GAIDEN 2&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_end punctuation_definition_array_end_php&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
               )&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;service&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;setDBConnection&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockDb&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;assertNotNull&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;service&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;getAll&lt;/span&gt;())&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;test_プロダクトIDからパブリッシャの名前を取得する&lt;/span&gt;()
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; 
            &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;createPublisherMock&lt;/span&gt;(&lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_class constant_other_class_php&quot;&gt;PRODUCT_ID&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;service&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;setPublisher&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;publisher&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;service&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;meta meta_function-call meta_function-call_php&quot;&gt;getPublisherByProductId&lt;/span&gt;(&lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_class constant_other_class_php&quot;&gt;PRODUCT_ID&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;assertEquals&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;Activision&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;publisher&lt;/span&gt;[&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;])&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;test_クイックモックでfindAllしてみる&lt;/span&gt;()
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_php&quot;&gt;PHPMock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_static meta_function-call_static_php&quot;&gt;mock&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;Publisher&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;, 
                            &lt;span class=&quot;meta meta_array meta_array_php&quot;&gt;&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_begin punctuation_definition_array_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;findAll&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_key keyword_operator_key_php&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;meta meta_array meta_array_php&quot;&gt;&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_begin punctuation_definition_array_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_end punctuation_definition_array_end_php&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_end punctuation_definition_array_end_php&quot;&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;findAll&lt;/span&gt;()&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;assertTrue&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;verify&lt;/span&gt;())&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;test_引数がマッチしなければ例外を投げる&lt;/span&gt;()
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; 
            &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;createPublisherMock&lt;/span&gt;(&lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_class constant_other_class_php&quot;&gt;PRODUCT_ID&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;keyword keyword_control keyword_control_exception keyword_control_exception_php&quot;&gt;try&lt;/span&gt; {
            &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mockPublisher&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;findByProductId&lt;/span&gt;(&lt;span class=&quot;constant constant_numeric constant_numeric_php&quot;&gt;9999&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        } &lt;span class=&quot;meta meta_catch meta_catch_php&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_exception keyword_control_exception_php&quot;&gt;catch&lt;/span&gt; (&lt;span class=&quot;support support_class support_class_php&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;e&lt;/span&gt;)&lt;/span&gt; {
            &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        }
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;fail&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_double meta_string-contents_quoted_double_php&quot;&gt;An expected exception has not been raised.&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;test_PHPUnitのMockObjectはこんな感じ&lt;/span&gt;()
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;getMock&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;DBConnection&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;, 
                &lt;span class=&quot;meta meta_array meta_array_php&quot;&gt;&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_begin punctuation_definition_array_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;preparedStatement&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_end punctuation_definition_array_end_php&quot;&gt;)&lt;/span&gt;&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;expects&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;once&lt;/span&gt;())
             &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;method&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;)
             &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;will&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;returnValue&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;aaaa&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;))&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;assertEquals&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;aaaa&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;execute&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_double meta_string-contents_quoted_double_php&quot;&gt;sql statement&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;))&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

&lt;span class=&quot;meta meta_function meta_function_php&quot;&gt;    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public &lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_function storage_type_function_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;createPublisherMock&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;meta meta_function meta_function_arguments meta_function_arguments_php&quot;&gt;&lt;span class=&quot;meta meta_function meta_function_argument meta_function_argument_no-default meta_function_argument_no-default_php&quot;&gt;&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;productId&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_php&quot;&gt;PHPMock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_static meta_function-call_static_php&quot;&gt;mock&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;Publisher&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;)&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;shouldReceive&lt;/span&gt;(&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;findByProductId&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;)
             &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;with&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;productId&lt;/span&gt;)
             &lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;meta meta_function-call meta_function-call_object meta_function-call_object_php&quot;&gt;andReturn&lt;/span&gt;(
                 &lt;span class=&quot;meta meta_array meta_array_php&quot;&gt;&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_begin punctuation_definition_array_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_key keyword_operator_key_php&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php&quot;&gt;Activision&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php&quot;&gt;&#039;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_array punctuation_definition_array_end punctuation_definition_array_end_php&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
             )&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;   
        &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;mock&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

&lt;span class=&quot;meta meta_function meta_function_php&quot;&gt;    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public &lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_function storage_type_function_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;setUp&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_php&quot;&gt;(&lt;/span&gt;)&lt;/span&gt;
    {
        &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;keyword keyword_other keyword_other_new keyword_other_new_php&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;support support_class support_class_php&quot;&gt;ProductService&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }

&lt;span class=&quot;meta meta_function meta_function_php&quot;&gt;    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public &lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_function storage_type_function_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;tearDown&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_php&quot;&gt;(&lt;/span&gt;)&lt;/span&gt;
    {
    }
}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で、このコードは実行すると「test_引数がマッチしなければ例外を投げる」でコケる。&lt;br /&gt;
PHPMock_Expectation#matchArgs に問題があって&lt;br /&gt;
&lt;br /&gt;
■ phpmock/src/PHPMock/Expectation/Expectation.php&lt;br /&gt;
&lt;pre class=&quot;textmate-source espresso_libre&quot;&gt;&lt;span class=&quot;meta meta_function meta_function_php&quot;&gt;    &lt;span class=&quot;storage storage_modifier storage_modifier_php&quot;&gt;public &lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_function storage_type_function_php&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_php&quot;&gt;matchArgs&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_php&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;meta meta_function meta_function_arguments meta_function_arguments_php&quot;&gt;&lt;span class=&quot;meta meta_function meta_function_argument meta_function_argument_array meta_function_argument_array_php&quot;&gt;&lt;span class=&quot;storage storage_type storage_type_php&quot;&gt;array&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;args&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;
    {
        &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;empty&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;args&lt;/span&gt;) &lt;span class=&quot;keyword keyword_operator keyword_operator_logical keyword_operator_logical_php&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;empty&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;_expectedArgs&lt;/span&gt;) &lt;span class=&quot;keyword keyword_operator keyword_operator_logical keyword_operator_logical_php&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;support support_function support_function_type support_function_type_php&quot;&gt;is_array&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;_expectedArgs&lt;/span&gt;)) {
            &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        } &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;elseif&lt;/span&gt; (&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;args&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_php&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;_expectedArgs&lt;/span&gt;) {
            &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        } &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;elseif&lt;/span&gt; (&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;_expectedArgs&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_php&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;true&lt;/span&gt;) {
            &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        } &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;elseif&lt;/span&gt; (&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;this&lt;/span&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_class keyword_operator_class_php&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;variable variable_other variable_other_property variable_other_property_php&quot;&gt;_expectedArgs&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_php&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;false&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_logical keyword_operator_logical_php&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;support support_function support_function_construct support_function_construct_php&quot;&gt;empty&lt;/span&gt;(&lt;span class=&quot;variable variable_other variable_other_php&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php&quot;&gt;$&lt;/span&gt;args&lt;/span&gt;)) {
            &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
        }  
        &lt;span class=&quot;keyword keyword_control keyword_control_php&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_php&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php&quot;&gt;;&lt;/span&gt;
    }&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
「$this-&gt;_expectedArgs &lt;strong&gt;==&lt;/strong&gt; true」これだと $this-&gt;_expectedArgs に値が入ってれば true になっちゃうという良く話題になるアレです。正解は「$this-&gt;_expectedArgs &lt;strong&gt;===&lt;/strong&gt; true」これですな。&lt;br /&gt;
&lt;br /&gt;
上のコードで使っている DBConnection はインターフェースで Publisher は空っぽのクラス。&lt;br /&gt;
インターフェースに定義されているメソッドは PHPMock#_generateDefForMethods がよしなに実装してくれるので安心。PHPUnit の Mock Object だと定義したメソッドをイチイチ配列で全部ツッコまないといけない。&lt;br /&gt;
&lt;br /&gt;
いわゆるスタブは無くて shouldReceive 一本になると思われる。&lt;br /&gt;
PHPMock#mock の第二引数に array($methodName =&gt; $returnValue) を与える事で簡単にモックが作れるのは好感。&lt;br /&gt;
&lt;br /&gt;
■ まとめ&lt;br /&gt;
	&lt;ul&gt;
	&lt;li&gt;まだまだ挙動が怪しい点はある&lt;/li&gt;
		&lt;li&gt;それでも &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;Unit の mock よりは楽できる&lt;/li&gt;

		&lt;li&gt;テストコード内でザクザクモック作りたいなら MockInterceptor よりオススメ&lt;/li&gt;
	&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Mon, 23 Jun 2008 20:37:00 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/212-guid.html</guid>
    
</item>
<item>
    <title>[RSpec] xit を知らなかった俺涙目</title>
    <link>http://thug4dev.com/index.php?/archives/210-RSpec-xit.html</link>
            <category>Blog</category>
    
    <comments>http://thug4dev.com/index.php?/archives/210-RSpec-xit.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=210</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=210</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    RSpec 使って開発してて、ちょっと一手戻りたい時に it 節というか example をバコっとコメントアウトしてたんですけど。&lt;br /&gt;
&lt;br /&gt;
■example_group_methods.rb&lt;br /&gt;
&lt;pre class=&quot;textmate-source espresso_libre&quot;&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;      &lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; Use this to temporarily disable an example.
&lt;/span&gt;      &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;xit&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable variable_parameter variable_parameter_function variable_parameter_function_ruby&quot;&gt;description&lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;constant constant_language constant_language_ruby&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; opts&lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;{}&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;&amp;amp;&lt;/span&gt;block&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_ruby&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;Kernel&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;warn&lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;Example disabled: &lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;description&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;
      &lt;span class=&quot;keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby&quot;&gt;alias_method&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;xspecify&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;xit&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
とびてー。&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 19 Jun 2008 23:03:52 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/210-guid.html</guid>
    
</item>
<item>
    <title>炎上必至のフレームワーク</title>
    <link>http://thug4dev.com/index.php?/archives/209-unknown.html</link>
            <category>Blog</category>
            <category>PHP</category>
    
    <comments>http://thug4dev.com/index.php?/archives/209-unknown.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=209</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=209</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    &lt;div class=&quot;thumbnail&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/skitch.com/kiyoshiyoshida/khug/ts3a0012&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/skitch.com/kiyoshiyoshida/khug/ts3a0012&#039;]);&quot;  href=&quot;http://skitch.com/kiyoshiyoshida/khug/ts3a0012&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20080506-tgm1djku5d9np3kbre8ensdej5.preview.jpg&quot; alt=&quot;TS3A0012&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/plasq.com/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/plasq.com/&#039;]);&quot;  href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#039;s &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/skitch.com&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/skitch.com&#039;]);&quot;  href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Tue, 06 May 2008 17:03:17 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/209-guid.html</guid>
    
</item>
<item>
    <title>The New Gamer JP</title>
    <link>http://thug4dev.com/index.php?/archives/208-The-New-Gamer-JP.html</link>
            <category>Blog</category>
            <category>Games</category>
    
    <comments>http://thug4dev.com/index.php?/archives/208-The-New-Gamer-JP.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=208</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=208</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    先日 twitter で &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.thenewgamer.com/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.thenewgamer.com/&#039;]);&quot;  href=&quot;http://www.thenewgamer.com/&quot;&gt;The New Gamer&lt;/a&gt; というブログの存在を知る。&lt;br /&gt;
&lt;br /&gt;
単純なゲームレビューサイトはちょっと風味が違う。&lt;br /&gt;
ゲームを題材にパースペクティヴを効かせたエッセイが多い。更新頻度はそんなに高くない。&lt;br /&gt;
&lt;br /&gt;
ヘッドライターが1人とサポートライターが2人くらいで運営しているようだ。&lt;br /&gt;
サポートライターはレビュー中心。&lt;br /&gt;
&lt;br /&gt;
ヘッドライターの書くエントリは構成がきれいで、言い回しもカッコいい。&lt;br /&gt;
それでいて文章から滲み出ているキチガイっぷりがたまらない。大好きだ。&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/thenewgamerjp.tumblr.com/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/thenewgamerjp.tumblr.com/&#039;]);&quot;  href=&quot;http://thenewgamerjp.tumblr.com/&quot;&gt;The New Gamer JP&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 13 Apr 2008 18:36:35 -0700</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/208-guid.html</guid>
    
</item>
<item>
    <title>[参加してます] NO MORE HEROES リミックスサントラ DARK SIDE</title>
    <link>http://thug4dev.com/index.php?/archives/207-NO-MORE-HEROES-DARK-SIDE.html</link>
            <category>Blog</category>
            <category>Games</category>
    
    <comments>http://thug4dev.com/index.php?/archives/207-NO-MORE-HEROES-DARK-SIDE.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=207</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=207</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    NO MORE HEROES のリミックスサントラが 3/14 に発売になります！&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;今回は、おそらくghm史上、最高にカオスな一枚に仕上がっていると笑顔で断言します！&lt;br /&gt;
&lt;br /&gt;
ghmサウンドチームの高田雅史、福田淳、吉岡たく Squad、6955、THE RIOT-怒りの10代-、bloco 23、The Outer Rim Produced by Norihiko Hibino、 HONDALADY、NEUTRINOといった、バラエティ豊かな面子が大集結！&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.grasshopper.co.jp/renew/kouenji/2008/03/no-more-heroes.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.grasshopper.co.jp/renew/kouenji/2008/03/no-more-heroes.html&#039;]);&quot;  href=&quot;http://www.grasshopper.co.jp/renew/kouenji/2008/03/no-more-heroes.html&quot;&gt;「NO MORE HEROES」リミックス発売決定！ - 新高円寺百景&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
ゲーム作家・飯田和敏率いる「&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/theriot.jp/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/theriot.jp/&#039;]);&quot;  href=&quot;http://theriot.jp/&quot;&gt;THE RIOT-怒りの10代-&lt;/a&gt;」のギターとして本作品に参加してますので、どうぞご贔屓に！！&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000LHB6IM/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000LHB6IM/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B000LHB6IM/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/31rweoMt75L.jpg&quot; alt=&quot;NO MORE HEROES(ノー・モア・ヒーローズ) 特典 メタル“ビーム・カタナ”アクセサリー付き&quot; style=&quot;border: none;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.famitsu.com/game/news/1213972_1124.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.famitsu.com/game/news/1213972_1124.html&#039;]);&quot;  href=&quot;http://www.famitsu.com/game/news/1213972_1124.html&quot;&gt;殺し屋たちの旋律を聞け  『NO MORE HEROES（ノーモア★ヒーローズ）』リミックスアルバム発売決定 / ファミ通.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.inside-games.jp/news/275/27531.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.inside-games.jp/news/275/27531.html&#039;]);&quot;  href=&quot;http://www.inside-games.jp/news/275/27531.html&quot;&gt;豪華メンバーが集結！『NO MORE HEROES』リミックスアルバムが発売決定 - iNSIDE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 04 Mar 2008 22:12:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/207-guid.html</guid>
    
</item>
<item>
    <title>[俺メモ] Safari のショートカットキーを変更する</title>
    <link>http://thug4dev.com/index.php?/archives/206-Safari.html</link>
            <category>Blog</category>
            <category>Mac</category>
            <category>TextMate</category>
    
    <comments>http://thug4dev.com/index.php?/archives/206-Safari.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=206</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=206</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    Safari のタブ選択ショートカットキーはデフォルトが「⌘{ / ⌘}」なんですが、Dvorak-Qwerty⌘ の環境だとイマイチ動いてくれない。&lt;br /&gt;
&lt;br /&gt;
で、これを変更する方法をたまに忘れるので例によって俺メモ。&lt;br /&gt;
Safari に限った事ではなくて Mac OS X のアプリケーション全体で使えます。&lt;br /&gt;
&lt;br /&gt;
	&lt;ol&gt;
	&lt;li&gt;「システム環境設定」 → 「キーボードとマウス」&lt;/li&gt;
		&lt;li&gt;「キーボードショートカット」タブ&lt;/li&gt;
		&lt;li&gt;「+」をクリック、変更したいアプリケーションを選択する&lt;/li&gt;
		&lt;li&gt;メニュー項目を入力（「次のタブを選択」）&lt;/li&gt;
		&lt;li&gt;ショートカットキーを入力&lt;/li&gt;
	&lt;/ol&gt;&lt;br /&gt;
&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://thug4dev.com/uploads/SystemPrefScreenSnapz001.png&#039;&gt;&lt;!-- s9ymdb:73 --&gt;&lt;img width=&quot;110&quot; height=&quot;99&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://thug4dev.com/uploads/SystemPrefScreenSnapz001.serendipityThumb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
これだけ。すげーカンタン。&lt;br /&gt;
&lt;br /&gt;
Firefox と同等にしました。&lt;br /&gt;
TextMate のタブ切り替えもこれなのでコンテキストスイッチする必要が無くて安心。&lt;br /&gt;
&lt;br /&gt;
SafariStand を入れておくと更に「カンマ / ピリオド」でもいけるようになる。 
    </content:encoded>

    <pubDate>Thu, 14 Feb 2008 00:58:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/206-guid.html</guid>
    
</item>
<item>
    <title>しょーもないPHPプログラマにありがちな40の兆候</title>
    <link>http://thug4dev.com/index.php?/archives/205-PHP40.html</link>
            <category>Blog</category>
            <category>PHP</category>
    
    <comments>http://thug4dev.com/index.php?/archives/205-PHP40.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=205</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=205</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    ザラッと訳してみる&lt;br /&gt;
元々がちょっと変な所は手を入れてます。なんだか良く判らんのは原文残してます。添削してつかあさい。&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/reinholdweber.com/?p=19&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/reinholdweber.com/?p=19&#039;]);&quot;  href=&quot;http://reinholdweber.com/?p=19&quot;&gt;40 signs you really are a lousy PHP programmer &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;phpDoc 等でコードにコメントを入れない&lt;/li&gt;
&lt;li&gt;Zend Studio や Eclipse PDT の様な IDE の恩恵に目を向けない&lt;/li&gt;
&lt;li&gt;Subversion 等のバージョン管理ツールを使おうとしない&lt;/li&gt;
&lt;li&gt;プロジェクトにて、コーディング・命名規約や共通の規約を設けない&lt;/li&gt;
&lt;li&gt;一貫性の有る手順を設けない&lt;/li&gt;
&lt;li&gt;入力値や SQL クエリのエスケープ、検証をしない&lt;/li&gt;
&lt;li&gt;コードを書く前にアプリケーション全体の計画をしない&lt;/li&gt;
&lt;li&gt;テスト駆動開発を行わない&lt;/li&gt;
&lt;li&gt;error_reporting を on にしないで開発、テストをする&lt;/li&gt;
&lt;li&gt;デバッガの恩恵に目を向けない&lt;/li&gt;
&lt;li&gt;リファクタリングをしない&lt;/li&gt;
&lt;li&gt;MVC の様にレイヤーの切り分けを維持しようとしない&lt;/li&gt;
&lt;li&gt;これらの略語の意味を知らない：KISS, DRY, MVC, OOP, REST&lt;/li&gt;
&lt;li&gt;関数やクラスがデータを返さずに、直接 print や echo をする&lt;/li&gt;
&lt;li&gt;ユニットテストや一般的なテスティングの利点に目を向けた事が無い&lt;/li&gt;
&lt;li&gt;データや文字列やオブジェクトではなく、HTML を return する&lt;/li&gt;
&lt;li&gt;メッセージや設定パラメータをハードコードする&lt;/li&gt;
&lt;li&gt;SQL クエリの最適化をしない&lt;/li&gt;
&lt;li&gt;__autoload 関数を使わない&lt;/li&gt;
&lt;li&gt;エラーをスマートに扱わない（don&#039;t allow intelligent error handling）&lt;/li&gt;
&lt;li&gt;$_POST を使わずに何でも $_GET にしてしまう&lt;/li&gt;
&lt;li&gt;正規表現をどう使えばいいか知らない&lt;/li&gt;
&lt;li&gt;SQL インジェクションやクロスサイトスクリプティングという言葉を聞いた事が無い&lt;/li&gt;
&lt;li&gt;設定をシンプルにしない → クラスのコンストラクタでパラメータを受けたり、セッタ・ゲッタを呼び出したり、実行時に定義する事が出来る&lt;/li&gt;
&lt;li&gt;オブジェクト指向プログラミングの利点と制限を理解していない&lt;/li&gt;
&lt;li&gt;OOP の誤用。どんなに小さな物でも OOP で書いてしまう。&lt;/li&gt;
&lt;li&gt;再利用出来るソフトウェアは OOP じゃないと駄目だ、と思っている&lt;/li&gt;
&lt;li&gt;理にかなったデフォルト設定をしない（don&#039;t choose intelligent defaults）&lt;/li&gt;
&lt;li&gt;設定ファイルがひとつじゃない&lt;/li&gt;
&lt;li&gt;ファイルの中身が見えるようにせず、拡張子を .php の替わりに .inc にする（don&#039;t want the file contents to be seen, but give it a .inc extension instead of .php）&lt;/li&gt;
&lt;li&gt;データベース抽象レイヤを使わない&lt;/li&gt;
&lt;li&gt;DRY 原則を守らない → コピペや重複を避けた方がいい&lt;/li&gt;
&lt;li&gt;関数 / クラス / メソッドの責務を一つに絞らず、相互作用するように作らない&lt;/li&gt;
&lt;li&gt;abstract/interface クラスや、ポリモーフィズム、アクセス修飾子等の OOP の利点を得ようとしていない&lt;/li&gt;
&lt;li&gt;デザインパターンを使ってアプリケーション設計の最適化をしない&lt;/li&gt;
&lt;li&gt;複数のファイルやディレクトリが必要なアプリケーションで、ベースディレクトリの定義をしない&lt;/li&gt;
&lt;li&gt;グローバルネームスペースを汚染する → ライブラリに共通の文字列をプレフィックスとして付ける方法がある&lt;/li&gt;
&lt;li&gt;DB のテーブルにプレフィックスをつけさせない&lt;/li&gt;
&lt;li&gt;別々のテンプレートエンジンを使う&lt;/li&gt;
&lt;li&gt;ウェブ開発のコンセプトに長けており、コードのキレイな PHP フレームワークに注目していない&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;
PHP に直接関係無い項目もありますね。&lt;br /&gt;
素直に納得出来る項目もあれば、場面ってのも。&lt;br /&gt;
場面ってのはそれが有効に作用するケースもあるだろう事を知っていないといかんのですけど。 
    </content:encoded>

    <pubDate>Tue, 05 Feb 2008 20:04:21 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/205-guid.html</guid>
    
</item>
<item>
    <title>CoD4 のオレオレカスタムクラス</title>
    <link>http://thug4dev.com/index.php?/archives/202-CoD4.html</link>
            <category>Blog</category>
            <category>CoD4</category>
            <category>Games</category>
    
    <comments>http://thug4dev.com/index.php?/archives/202-CoD4.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=202</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=202</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    CoD4 では装備セッティングを「カスタムクラス」として 5 つ作成できます。&lt;br /&gt;
で、俺チャンが使っているセッティングを公開してみたいと思った次第。&lt;br /&gt;
&lt;br /&gt;
Maps は使用頻度の高さ程度。実際は場面。&lt;br /&gt;
最近は Headquarters しかやってないんですけど Team Deathmatch, Domination でも同じセッティングでやってます。&lt;br /&gt;
&lt;br /&gt;
これ書いてる時点で Lv.34 (Prestige Lv.1) なので P90 とか Frag x 3 とかナシ。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;中距離 3 発フィニッシュ系&lt;/strong&gt;&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;Assult&lt;dt&gt;&lt;dd&gt;M16A4 (RedDotSight)&lt;/dd&gt;
&lt;dt&gt;Perk1&lt;/dt&gt;&lt;dd&gt;RPG x 2&lt;/dd&gt;
&lt;dt&gt;Perk2&lt;/dt&gt;&lt;dd&gt;Stopping Power&lt;/dd&gt;
&lt;dt&gt;Perk3&lt;/dt&gt;&lt;dd&gt;Martyrdom&lt;/dd&gt;
&lt;dt&gt;Maps&lt;/dt&gt;&lt;dd&gt;Ambush, Bog, Crossfire, Crush, Downpour, Overgrown, Pipeline, Showdown, Strike&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;
beta 時はフルオートだった M16 ですが、あまりにも強過ぎたせいか 3 点バーストに変更。&lt;br /&gt;
それでも強い！バランスが良過ぎる。Stopping Power 付きだと上半身に 3 発ヒットでおｋ。ただ 3 点バースト故、近距離 2v1 だと撃ち負ける事が多いので Martyrdom (aka ウンコ) で巻き添え狙い。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;近距離〜中距離タカタカ系&lt;/strong&gt;&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;SMG&lt;/dt&gt;&lt;dd&gt;MP5 (RedDotSight)&lt;/dd&gt;
&lt;dt&gt;Perk1&lt;/dt&gt;&lt;dd&gt;RPG x 2&lt;/dd&gt;
&lt;dt&gt;Perk2&lt;/dt&gt;&lt;dd&gt;Stopping Power&lt;/dd&gt;
&lt;dt&gt;Perk3&lt;/dt&gt;&lt;dd&gt;Martyrdom&lt;/dd&gt;
&lt;dt&gt;Maps&lt;/dt&gt;&lt;dd&gt;Backlot, Countdown, District, Shipment, Vacant, WetWork&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;
銃声は一番好き。&lt;br /&gt;
beta 時も含めてちゃんと使った事が無かった。Prestige 入りしてから使ってみたらビックリ。&lt;br /&gt;
レートこそ低いんですが、その分リコイルも少ないし何より集弾率が高い！Stopping Power で威力増すれば全然使えます。一番ビックリなのが中距離戦も結構行けちゃう点。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;裏取り専用ステルス系&lt;/strong&gt;&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;SMG&lt;/dt&gt;&lt;dd&gt;MP5 (Silencer)&lt;/dd&gt;
&lt;dt&gt;Perk1&lt;/dt&gt;&lt;dd&gt;Bandlier&lt;/dd&gt;
&lt;dt&gt;Perk2&lt;/dt&gt;&lt;dd&gt;UAV Jammer&lt;/dd&gt;
&lt;dt&gt;Perk3&lt;/dt&gt;&lt;dd&gt;Extreme Condition&lt;/dd&gt;
&lt;dt&gt;Maps&lt;/dt&gt;&lt;dd&gt;Bog, Crossfire, Overgrown&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;
GPS 映らない Perk 設定で敵の裏取り。Bandlier で所持弾数を増やしておかないと困った事になりがちでした。Lv.40 以降ならば P90 にサイレンサーで Perk3 は Steady Aim に。&lt;br /&gt;
&lt;br /&gt;
裏取りはその名の通り敵のバックエンドにダッシュ！捲り一発！で Kill していくんですが、「裏取りするヤツがいる」事にイラっとさせてプレイを粗くさせる目的もあります。いわゆる『裏の裏』になるケースもあるのでハマると気持ちいい。&lt;br /&gt;
&lt;br /&gt;
裏取り 5 Kill -&gt; AirStrike -&gt; &quot;Friendly Helicopter Inbound&quot; がキマると脳汁ドバドバ出ます。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;アンチヘリ専用&lt;/strong&gt;&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;LMG&lt;/dt&gt;&lt;dd&gt;RPD (Grip)&lt;/dd&gt;
&lt;dt&gt;Perk1&lt;/dt&gt;&lt;dd&gt;-&lt;/dd&gt;
&lt;dt&gt;Perk2&lt;/dt&gt;&lt;dd&gt;Stopping Power&lt;/dd&gt;
&lt;dt&gt;Perk3&lt;/dt&gt;&lt;dd&gt;Deep Impact&lt;/dd&gt;
&lt;dt&gt;Maps&lt;/dt&gt;&lt;dd&gt;ヘリが来たら&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;
ヘリが来たら使います。正確にはヘリに殺されたら。&lt;br /&gt;
Grip 付けると化ける。かなりリコイルが抑えられます。&lt;br /&gt;
アイアンサイトでも十分狙いやすいので普段使いも出来るっちゃ出来るんですが、あまり使わない。一時 Shipment で使ってたんですが MP5 のが扱い易い事が判ってからアンチヘリ専用に。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;近接もたまにあるけど基本は中距離系&lt;/strong&gt;&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;Assult&lt;/dt&gt;&lt;dd&gt;M4 (RedDotSight)&lt;/dd&gt;
&lt;dt&gt;Perk1&lt;/dt&gt;&lt;dd&gt;RPG x 2&lt;/dd&gt;
&lt;dt&gt;Perk2&lt;/dt&gt;&lt;dd&gt;Stopping Power&lt;/dd&gt;
&lt;dt&gt;Perk3&lt;/dt&gt;&lt;dd&gt;Steady Aim&lt;/dd&gt;
&lt;dt&gt;Maps&lt;/dt&gt;&lt;dd&gt;Crush, Downpour, Pipeline&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;
ゲームスタート時に選択する事はありませんが、相手が近距離に持ち込むタイプの時はこっちに切り替えます。フルオートなので遠目の 2v1 でもそこそこいける。気がする。Stopping Power より Double Tap のがいいのではと思う事もありますが、そもそもあまり使わないので研究機会が無い。&lt;br /&gt;
&lt;br /&gt;
Lv.41 以降は RPG が Frag x 3 になってます。&lt;br /&gt;
あと Shipment の時だけ Perk2 を SonicBoom にするのもアリ。&lt;br /&gt;
&lt;br /&gt;
それにしても最近はヘリがソッコーで撃墜されてしまう。&lt;br /&gt;
6 Kill で止めて（つまり死んで）リスポン後に AirStrike → 6 Kill 止め、のループのが良いのかなー。特に Shipment とか。&lt;br /&gt;
&lt;br /&gt;
【補足】&lt;br /&gt;
実はこの草稿を用意した時の話で、今はちょうど一周回った Lv.35 (Prestige Lv.2) です。クラスのセットアップはちょっと違います（AK-74 / AK-74u）が「同じ装備使っててもつまらん」という理由なので上記のクラスが自分的にはベーシックパターンです。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;amazlet-box&quot; style=&quot;margin-bottom:0px;&quot;&gt;&lt;div class=&quot;amazlet-image&quot; style=&quot;float:left;&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/216NBpCGl8L.jpg&quot; alt=&quot;コール オブ デューティ4 モダン・ウォーフェア&quot; style=&quot;border: none;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-info&quot; style=&quot;float:left;margin-left:15px;line-height:120%&quot;&gt;&lt;div class=&quot;amazlet-name&quot; style=&quot;margin-bottom:10px;line-height:120%&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;コール オブ デューティ4 モダン・ウォーフェア&lt;/a&gt;&lt;div class=&quot;amazlet-powered-date&quot; style=&quot;font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%&quot;&gt;posted with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/B0010LWYSE/yebisublog-22&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/B0010LWYSE/yebisublog-22&#039;]);&quot;  href=&quot;http://www.amazlet.com/browse/ASIN/B0010LWYSE/yebisublog-22&quot; title=&quot;コール オブ デューティ4 モダン・ウォーフェア&quot; target=&quot;_blank&quot;&gt;amazlet&lt;/a&gt; on 08.02.04&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-detail&quot;&gt;アクティビジョン (2007/12/27)&lt;br /&gt;売り上げランキング: 66&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-link&quot; style=&quot;margin-top: 5px&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B0010LWYSE/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-footer&quot; style=&quot;clear: left&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;amazlet-box&quot; style=&quot;margin-bottom:0px;&quot;&gt;&lt;div class=&quot;amazlet-image&quot; style=&quot;float:left;&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/11IGZM%2BRnpL.jpg&quot; alt=&quot;ヘッドセットEX&quot; style=&quot;border: none;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-info&quot; style=&quot;float:left;margin-left:15px;line-height:120%&quot;&gt;&lt;div class=&quot;amazlet-name&quot; style=&quot;margin-bottom:10px;line-height:120%&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;ヘッドセットEX&lt;/a&gt;&lt;div class=&quot;amazlet-powered-date&quot; style=&quot;font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%&quot;&gt;posted with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/B000XCR6E8/yebisublog-22&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/B000XCR6E8/yebisublog-22&#039;]);&quot;  href=&quot;http://www.amazlet.com/browse/ASIN/B000XCR6E8/yebisublog-22&quot; title=&quot;ヘッドセットEX&quot; target=&quot;_blank&quot;&gt;amazlet&lt;/a&gt; on 08.02.04&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-detail&quot;&gt;ホリ (2007/12/20)&lt;br /&gt;売り上げランキング: 965&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-link&quot; style=&quot;margin-top: 5px&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/B000XCR6E8/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-footer&quot; style=&quot;clear: left&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 04 Feb 2008 21:05:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/202-guid.html</guid>
    
</item>
<item>
    <title>livedoor Reader の使い方を間違っていた</title>
    <link>http://thug4dev.com/index.php?/archives/204-livedoor-Reader.html</link>
            <category>Blog</category>
            <category>Mac</category>
    
    <comments>http://thug4dev.com/index.php?/archives/204-livedoor-Reader.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=204</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=204</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    livedoor Reader と言えば視点移動の少ない UI のおかけで楽にフィード閲覧が出来る、ピン機能、Greasemonkey でイジりまわせる等々。&lt;br /&gt;
&lt;br /&gt;
ただどうもここ最近使っている俺のテンポが悪い。ピンがすぐ埋まってしまう。&lt;br /&gt;
登録フィード数は5000件ちょいくらい。&lt;br /&gt;
&lt;br /&gt;
フローはこんな感じ&lt;br /&gt;
&lt;br /&gt;
1. ピンを立てる&lt;br /&gt;
2. 記事を読みにいく&lt;br /&gt;
3. 内容次第では &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.barebones.com/products/yojimbo/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.barebones.com/products/yojimbo/&#039;]);&quot;  href=&quot;http://www.barebones.com/products/yojimbo/&quot;&gt;Yojimbo&lt;/a&gt; にブックマークあるいはアーカイブ&lt;br /&gt;
&lt;br /&gt;
ピンは100件までなので溜まりきったら読んで空きを確保するわけですが、この作業が頻発する。&lt;br /&gt;
そのせいか「ピンを立ててもいいんだが空きが少ないから止めておこう」という非常に宜しくない事を考えるようになってしまった。&lt;br /&gt;
&lt;br /&gt;
ピンを同時に別の何か、SBM 的なモノに投げるようなグリモンでも書こう。でもわざわざそんなことせんでも「一発クリップ」があるなー、という段階でピンの使い方を間違っていた事にようやく気付いた。重要度の高い（であろう）記事は一発クリップ、ニュースや中身の薄そうな記事はピン、という使い方が良いんじゃないか。&lt;br /&gt;
&lt;br /&gt;
一昨日くらいからこのスタイルにしてみたんですが、これが結構いい具合。ピンの溜まるスピードがかなり落ちる。ピンに立ててある記事は比較的どうでもいいものがほとんどなので開いて斜め読みして閉じていく事で LDR にすぐ戻れる。意外と良ければ Yojimbo に投げる。&lt;br /&gt;
&lt;br /&gt;
livedoor Clip は LDRize でバツバツ読めるし、自分の clip したフィードを &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.opencommunity.co.uk/vienna2.php&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.opencommunity.co.uk/vienna2.php&#039;]);&quot;  href=&quot;http://www.opencommunity.co.uk/vienna2.php&quot;&gt;Vienna&lt;/a&gt; に食わせておくようにもしている。タブで元記事表示が出来るので悪くない。Vienna 単体で RSS リーダーとして使うには複数台環境で厄介になるが、フィード1件ならどうでもいい。Vienna から Yojimbo にブックマークやアーカイブする AppleScript を書けばより幸せになれる。&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://thug4dev.com/uploads/ViennaScreenSnapz002.png&#039;&gt;&lt;!-- s9ymdb:72 --&gt;&lt;img width=&quot;110&quot; height=&quot;93&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://thug4dev.com/uploads/ViennaScreenSnapz002.serendipityThumb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
購読数が7000や8000になるとまた読み方が変わってくるとは思いますが、今の所はこれで機能しそうです。 
    </content:encoded>

    <pubDate>Mon, 21 Jan 2008 05:29:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/204-guid.html</guid>
    
</item>
<item>
    <title>競艇場のお抱え実況アナが面白すぎる</title>
    <link>http://thug4dev.com/index.php?/archives/201-unknown.html</link>
            <category>Blog</category>
    
    <comments>http://thug4dev.com/index.php?/archives/201-unknown.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=201</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=201</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    競艇場にはお抱えのアナウンサーがいて、彼らがレースの実況をするそうだ。&lt;br /&gt;
なかには独特の節回しでファンを獲得している様子。&lt;br /&gt;
&lt;br /&gt;
YouTube に数点ありました。&lt;br /&gt;
&lt;br /&gt;
■ &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=L3wCVkM98do&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=L3wCVkM98do&#039;]);&quot;  href=&quot;http://www.youtube.com/watch?v=L3wCVkM98do&quot;&gt;平和島競艇・ベイ吉こと松永良一アナ&lt;/a&gt;&lt;br /&gt;
&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/L3wCVkM98do&amp;rel=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/L3wCVkM98do&amp;rel=1&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
「まさに」「XXXとお伝えしておきます」「捲りぅいっっぱつ！」「XXと呼んで頂けたらと思います」&lt;br /&gt;
&lt;br /&gt;
テキトーなニックネーミングと耳に残るフレージングが素敵すぎる。&lt;br /&gt;
「お伝えしておきます」はちょっと使いたくなる。&lt;br /&gt;
&lt;br /&gt;
■ &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=bo-XSi4f5iE&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=bo-XSi4f5iE&#039;]);&quot;  href=&quot;http://www.youtube.com/watch?v=bo-XSi4f5iE&quot;&gt;蒲郡競艇場の名物アナ、高橋貴隆氏の実況ハイライト2007Ver.&lt;/a&gt;&lt;br /&gt;
&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/bo-XSi4f5iE&amp;rel=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/bo-XSi4f5iE&amp;rel=1&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
すっごいツボ。&lt;br /&gt;
通常時と気合いの入った擬音表現のギャップがヤバい。&lt;br /&gt;
&lt;br /&gt;
お二方とも普段からこのスタイルでは無くて、大きいレースの時だけらしい。&lt;br /&gt;
&lt;br /&gt;
おまけ。ギャオン。&lt;br /&gt;
&lt;br /&gt;
■ &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=IM1n2R15rNk&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.youtube.com/watch?v=IM1n2R15rNk&#039;]);&quot;  href=&quot;http://www.youtube.com/watch?v=IM1n2R15rNk&quot;&gt;飯塚オート実況(・∀・)ｷﾞｬｵ&lt;/a&gt;&lt;br /&gt;
&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/IM1n2R15rNk&amp;rel=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/IM1n2R15rNk&amp;rel=1&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
本年も宜しくおたのもうします。 
    </content:encoded>

    <pubDate>Wed, 02 Jan 2008 14:10:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/201-guid.html</guid>
    
</item>
<item>
    <title>RSpec本が出る Part.2 : Pragmatic Bookshelf から</title>
    <link>http://thug4dev.com/index.php?/archives/200-RSpec-Part.2-Pragmatic-Bookshelf.html</link>
            <category>Blog</category>
    
    <comments>http://thug4dev.com/index.php?/archives/200-RSpec-Part.2-Pragmatic-Bookshelf.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=200</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=200</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    &lt;strong&gt;ここまでの流れ&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
RSpec 本を発見する&lt;br /&gt;
↓&lt;br /&gt;
秒殺 1Click 予約&lt;br /&gt;
↓&lt;br /&gt;
&lt;a href=&quot;http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html&quot;&gt;エントリ書く&lt;/a&gt;&lt;br /&gt;
↓&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/b.hatena.ne.jp/entry/http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/b.hatena.ne.jp/entry/http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html&#039;]);&quot;  href=&quot;http://b.hatena.ne.jp/entry/http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html&quot;&gt;何故かはてブされている&lt;/a&gt;&lt;br /&gt;
↓&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.h2.dion.ne.jp/~nisikita/deth.shokai.html&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.h2.dion.ne.jp/~nisikita/deth.shokai.html&#039;]);&quot;  href=&quot;http://www.h2.dion.ne.jp/~nisikita/deth.shokai.html&quot;&gt;「なんだこの&lt;del&gt;階段&lt;/del&gt;コメントは？」&lt;/a&gt;&lt;br /&gt;
↓&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/jp.rubyist.net/magazine/?0022-RubyConf2007Report&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/jp.rubyist.net/magazine/?0022-RubyConf2007Report&#039;]);&quot;  href=&quot;http://jp.rubyist.net/magazine/?0022-RubyConf2007Report&quot;&gt;るびまの RubyConf2007 レポートを読む&lt;/a&gt;&lt;br /&gt;
↓&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/kakutani.com/20071220.html#p02&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/kakutani.com/20071220.html#p02&#039;]);&quot;  href=&quot;http://kakutani.com/20071220.html#p02&quot;&gt;Pragmatic Bookshelf から出る事を知る&lt;/a&gt;&lt;br /&gt;
↓&lt;br /&gt;
オウフｗｗ大丈夫ｗｗ大丈夫ですｗｗ　←　イマココ&lt;br /&gt;
&lt;br /&gt;
「月初に Wii 買ったんですよ。で、ヌンチャク入ってないもんだと思って一緒に別個に買ったんですわ。そしたらバンドルされてましてね。イヤー、参った参った」リターンズ&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
爆速で読めませんし、懐も痛くはあるんですが買ってみることにしますよー。&lt;br /&gt;
Pragmatic Bookshelf の方はいつか誰かに借ります。&lt;br /&gt;
&lt;br /&gt;
せっかくだから俺はこｎ（ｒｙ&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 20 Dec 2007 14:25:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/200-guid.html</guid>
    
</item>
<item>
    <title>RSpec本が出る : Foundations of RSpec</title>
    <link>http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html</link>
            <category>Blog</category>
            <category>RoR</category>
    
    <comments>http://thug4dev.com/index.php?/archives/199-RSpec-Foundations-of-RSpec.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=199</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=199</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    アツすぎる。秒殺で 1Click 完了。&lt;br /&gt;
全然中身不明だけど 1.1.0 対応だろうか。&lt;br /&gt;
&lt;br /&gt;
いくらなんでも攻めすぎだ、とも思うけどタイミング的には悪くないのか？&lt;br /&gt;
テスティングライブラリ1本でガッツリ本を出せるだけの勢いがあるっちゅー事だもんね。&lt;br /&gt;
&lt;br /&gt;
逆に書籍が出る事でファッション化を進めちゃうケースもあるんだろうけど、RSpec は大丈夫。盤石になると思います。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;amazlet-box&quot; style=&quot;margin-bottom:0px;&quot;&gt;&lt;div class=&quot;amazlet-image&quot; style=&quot;float:left;&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/21W0%2BQll1GL.jpg&quot; alt=&quot;Foundations of Rspec: Behavior-driven Development With Ruby and Rails (Foundations)&quot; style=&quot;border: none;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-info&quot; style=&quot;float:left;margin-left:15px;line-height:120%&quot;&gt;&lt;div class=&quot;amazlet-name&quot; style=&quot;margin-bottom:10px;line-height:120%&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;Foundations of Rspec: Behavior-driven Development With Ruby and Rails (Foundations)&lt;/a&gt;&lt;div class=&quot;amazlet-powered-date&quot; style=&quot;font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%&quot;&gt;posted with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/1590599225/yebisublog-22&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazlet.com/browse/ASIN/1590599225/yebisublog-22&#039;]);&quot;  href=&quot;http://www.amazlet.com/browse/ASIN/1590599225/yebisublog-22&quot; title=&quot;Foundations of Rspec: Behavior-driven Development With Ruby and Rails (Foundations)&quot; target=&quot;_blank&quot;&gt;amazlet&lt;/a&gt; on 07.12.18&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-detail&quot;&gt;Chad Humphries Ken Barker &lt;br /&gt;Apress (2008/02/11)&lt;br /&gt;売り上げランキング: 16880&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-link&quot; style=&quot;margin-top: 5px&quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&#039;]);&quot;  href=&quot;http://www.amazon.co.jp/exec/obidos/ASIN/1590599225/yebisublog-22/ref=nosim/&quot; name=&quot;amazletlink&quot; target=&quot;_blank&quot;&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;amazlet-footer&quot; style=&quot;clear: left&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 18 Dec 2007 00:57:00 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/199-guid.html</guid>
    
</item>
<item>
    <title>S2Base.PHP5-2.0.0RC2 出てます</title>
    <link>http://thug4dev.com/index.php?/archives/198-S2Base.PHP5-2.0.0RC2.html</link>
            <category>Blog</category>
            <category>PHP</category>
    
    <comments>http://thug4dev.com/index.php?/archives/198-S2Base.PHP5-2.0.0RC2.html#comments</comments>
    <wfw:comment>http://thug4dev.com/wfwcomment.php?cid=198</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://thug4dev.com/rss.php?version=2.0&amp;type=comments&amp;cid=198</wfw:commentRss>
    

    <author>nospam@example.com (kiyosick)</author>
    <content:encoded>
    でますた。&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/s2base.php5.sandbox.seasar.org/&#039;]);&quot;  onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/s2base.php5.sandbox.seasar.org/&#039;]);&quot;  href=&quot;http://s2base.php5.sandbox.seasar.org/&quot;&gt;http://s2base.php5.sandbox.seasar.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
主な変更点&lt;br /&gt;
・goya コマンドを service &amp;amp; dao に変更&lt;br /&gt;
・with Symfony の追加&lt;br /&gt;
・with Zf に functional test を追加&lt;br /&gt;
・Symfony のプラグインとしてインストールする sfS2BasePlugin を新規追加&lt;br /&gt;
&lt;br /&gt;
Zf の functional test はもうちょいどうにかしたいと思いつつも、今のところ大して不便もしてない事実。&lt;br /&gt;
&lt;br /&gt;
mock/stub のセットアップがちょっと面倒なくらいか。&lt;br /&gt;
あれはなんとかしたい。&lt;br /&gt;
&lt;br /&gt;
フィードバックお待ちしてます。 
    </content:encoded>

    <pubDate>Mon, 17 Dec 2007 01:35:52 -0800</pubDate>
    <guid isPermaLink="false">http://thug4dev.com/index.php?/archives/198-guid.html</guid>
    
</item>

</channel>
</rss>