<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss1japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="ja">
<channel rdf:about="http://d.hatena.ne.jp/Yoshiori/rss">
	<title>YoshioriのBlog</title>
	<link>http://d.hatena.ne.jp/Yoshiori/</link>
	<description>YoshioriのBlog</description>
	
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-03-21T20:53:33+09:00</dc:date>
	<items>
	<rdf:Seq>
		<rdf:li rdf:resource="http://d.hatena.ne.jp/Yoshiori/20100321/1269171882" />
		<rdf:li rdf:resource="http://d.hatena.ne.jp/Yoshiori/20100224/1267015034" />
		<rdf:li rdf:resource="http://d.hatena.ne.jp/Yoshiori/20100216/1266298860" />
		<rdf:li rdf:resource="http://d.hatena.ne.jp/Yoshiori/20100208/1265628616" />
		<rdf:li rdf:resource="http://d.hatena.ne.jp/Yoshiori/20100201/1264989118" />
	</rdf:Seq>
	</items>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rdf+xml" href="http://feeds.feedburner.com/Yoshioriblog" /><feedburner:info uri="yoshioriblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><cc:license xmlns:cc="http://web.resource.org/cc/" cc:license="http://creativecommons.org/licenses/by/2.0/" /></channel>



<item rdf:about="http://d.hatena.ne.jp/Yoshiori/20100321/1269171882">
	<title>デブサミのアンケートに感動したので全部返事書いてみた 2010</title>
	<link>http://feedproxy.google.com/~r/Yoshioriblog/~3/RLhPuPI02KU/1269171882</link>
	<description> 沢山の人に聞いてもらってその後も質問などで色々お話しが出来て 僕も勇気を貰いました!! ありがとうございます!! とりあえず資料貼っておきますね!! 三周遅れのXPView more presentations from yoshiori. で、アンケートに返事してみようのコーナー 今回は大量でした!! あ</description>

	<content:encoded><![CDATA[
			<br>

		<div class="section">
			<p>沢山の人に聞いてもらってその後も質問などで色々お話しが出来て</p>
			<p>僕も勇気を貰いました!!</p>
			<p>ありがとうございます!!</p>
			<h4> とりあえず資料貼っておきますね!!</h4>
			<p><div style="width:425px" id="__ss_3242327"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/yoshiori/xp-3242327" title="三周遅れのXP">三周遅れのXP</a></strong><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=devsumi2010-100222005506-phpapp02&stripped_title=xp-3242327" ></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=devsumi2010-100222005506-phpapp02&stripped_title=xp-3242327" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/yoshiori">yoshiori</a>.</div></div></p>
			<br>

			<h4> で、アンケートに返事してみようのコーナー</h4>
			<p>今回は大量でした!!</p>
			<p>ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>今まで聞いていたセッションの中で1番面白かった上、とてもためになりました。プログラミングし始めてからまだ3ヶ月ぐらいしかたってない自分にとってテストは品質担保のためだと思っていました。しかし、話を聞いていて「開発するためのテスト」という考えに触れて、テストに対する考え方が少しかわりました。ありがとうございます。</p>
			</blockquote>
			<p>こちらこそありがとうございます!!</p>
			<p>個人的には TDD で開発するのはスキルアップの近道だと思うので</p>
			<p>是非試してみてください!!</p>
			<br>

			<blockquote>
			<p>ナイス、個人からでも始めたい。</p>
			</blockquote>
			<p>是非!!</p>
			<p>少しづつ広げていきましょう!!</p>
			<br>

			<blockquote>
			<p>元気と勇気をもらいました。ありがとうございました!</p>
			</blockquote>
			<p>こちらこそありがとうございます!!</p>
			<p>僕も元気と勇気をもらいました!!</p>
			<br>

			<blockquote>
			<p>おもしろかったです。私も今日、勇気をもらいました。</p>
			</blockquote>
			<p>僕も勇気をもらいました!!</p>
			<p>聞いていたたいてありがとうございます!!</p>
			<br>

			<blockquote>
			<p>大変面白かった。来年もまたやってください。期待しています。</p>
			</blockquote>
			<p>ら、来年ですね＞＜</p>
			<p>まず、呼んでもらえるように精進します!!＞＜</p>
			<br>

			<blockquote>
			<p>ドワンゴおもしろそう。35才でも入れますか?</p>
			</blockquote>
			<p>年齢制限は無いですよ!!</p>
			<p>僕も33歳で入りましたから!!</p>
			<p><a href="http://info.dwango.co.jp/recruit/">http://info.dwango.co.jp/recruit/</a></p>
			<br>

			<blockquote>
			<p>勇気をいただきました。まずは個人からというのは、とても勇気が出ました。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>個人からでも、ブログとかに書くと仲間がいっぱいいますので</p>
			<p>孤独では無いですよ!!</p>
			<br>

			<blockquote>
			<p>単体テスト仕様書は作成しないのですか?(と結合テスト仕様書)</p>
			</blockquote>
			<p>今回はあくまで開発の話をしただけで、</p>
			<p>単体テストや結合テストは別途必要だと思っています。</p>
			<p>TDD は開発のためのテストなので、品質保証のための従来の手法が</p>
			<p>必要無くなるとか置き換えるとかでは無いと思います。</p>
			<br>

			<blockquote>
			<p>プレゼンのツールは何?</p>
			</blockquote>
			<p>Keynote です!!</p>
			<p>それしか使えません＞＜</p>
			<br>

			<blockquote>
			<p>なるほどと思うことがたくさんあり、とてもためになりました。ありがとうございました!</p>
			</blockquote>
			<p>こちらこそ聞いていただいてありがとうございます。</p>
			<p>まだ試行錯誤の途中なので間違ってるところもあるかもしれませんが、</p>
			<p>今後も精進しようと思います。</p>
			<br>

			<blockquote>
			<p>ペアプロもいいけどコードレビューも大事だよね</p>
			</blockquote>
			<p>ペアを頻繁に変更しながらペアプロしていると、別途コードレビューは必要無いと思っています。</p>
			<p>僕はどうしてもペアで出来なかった時にコードレビューする感じですかね。</p>
			<br>

			<blockquote>
			<p>ペアプロの相手に選び方などのノウハウはありますか?(技術レベルの差等)</p>
			</blockquote>
			<p>むしろペアプロの相手はどんどん変更すべきだと思います。</p>
			<p>僕はなるべく全パターンのペアが出来るように考えます。</p>
			<br>

			<blockquote>
			<p>楽しめました!!個人からはじめてみます。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>一緒にはじめましょう!!</p>
			<br>

			<blockquote>
			<p>説得力があっておもしろかった</p>
			</blockquote>
			<p>楽しんでいただいて良かったです。</p>
			<br>

			<blockquote>
			<p>XPについてほぼ何も知らなかったので大変勉強になりました。</p>
			</blockquote>
			<p>僕もあんまり知らないまま初めたので</p>
			<p>発表資料作るときも勉強になりました。</p>
			<br>

			<blockquote>
			<p>ヨシノリだと思ってた。オリなのね。服はカツカツのリクルートスーツの方がウケルと思うよ。</p>
			</blockquote>
			<p>リクルートスーツ持ってないんですよね ＞＜</p>
			<br>

			<blockquote>
			<p>すごくよかったです。自分もがんばってTDD導入したいと思います＞＜</p>
			</blockquote>
			<p>導入しましょう!!</p>
			<p>TDD は個人で今すぐでも導入できる良いプラクティスだと思います!</p>
			<br>

			<blockquote>
			<p>具体的な話が良かった。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>今後も出せる範囲で具体的な話はしたいと思います。</p>
			<br>

			<blockquote>
			<p>とても楽しい発表でした。ありがとうございました。</p>
			</blockquote>
			<p>こちらこそありがとうございます。</p>
			<br>

			<blockquote>
			<p>「小さい」と「小い」ありましたね。</p>
			</blockquote>
			<p>すいません＞＜ 漢字苦手で＞＜</p>
			<br>

			<blockquote>
			<p>楽しく最後まで聞かせて頂きました。ペアプロチャレンジします!</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>ペアプロ楽しいですよ!!</p>
			<br>

			<blockquote>
			<p>バーンダウンチャートが面白そう。導入してみようと思います。</p>
			</blockquote>
			<p>見えるようになると色々発見があるので</p>
			<p>面白いですよ!! </p>
			<p>是非導入したら感想教えてください!</p>
			<br>

			<blockquote>
			<p>意「志」ですよ!</p>
			</blockquote>
			<p>修正しました!!</p>
			<br>

			<blockquote>
			<p>すばらしかった。学ぶべきポイントはXPではなく和田さん、角谷さん、勉強会、とまきこむよしおりさんの意志だと思いました。素晴らしい。</p>
			</blockquote>
			<p>ありがとうございます!</p>
			<p>今後もドンドンまきこんでいきたいと思います。</p>
			<br>

			<blockquote>
			<p>面白かった。小ネタも多く、タイクツしなかった。</p>
			</blockquote>
			<p>楽しんでいただけたようで良かったです!</p>
			<p>ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>テストを導入するのが難しいケースもあると思いますがどうしたらいいでしょうか?具体的には、アクションRPGを作っています</p>
			</blockquote>
			<p>まず、なんで難しいのかを考えて、それを解決する方法を考えていく……</p>
			<p>というように少しづつ細かくしていって解決するのはどうでしょうか?</p>
			<br>

			<blockquote>
			<p>あじゃみつんところが面白かった。糸柳</p>
			</blockquote>
			<p>ありがとう!!</p>
			<p>良書なので是非読んでみてくれ!!</p>
			<br>

			<blockquote>
			<p>具体的な事例が見れて良かったです。良い話だと思うので、タイトルが良かったらもっと人が集まったと思う</p>
			</blockquote>
			<p>タイトル駄目でしたか＞＜</p>
			<p>もっと良いタイトル出せるようにします!!</p>
			<br>

			<blockquote>
			<p>TDDに魅力を感じていますが、テストの書き方、コツなど具体例として紹介して頂きたい。</p>
			</blockquote>
			<p>コツや具体例はプレゼンでも発表しましたが、</p>
			<p>WEB+DB PRESS #35 がおすすめです!!</p>
			<br>

			<blockquote>
			<p>プランニングポーカーは面白そうですが開発者が一人しかいない場合はどのような法方がありますか?</p>
			</blockquote>
			<p>開発者が１人であってもプロジェクトにかかわっている人間は他にもいると思うので、</p>
			<p>その人たちを巻き込むのも良いと思います。</p>
			<p>逆に１人でやらなきゃいけないとなっても、ストーリポイント出してベロシティをはかるのは有効だと思います。</p>
			<br>

			<blockquote>
			<p>テストを書いていると、テストが問題でなくコードの構造にdependしてしまってコード変更→テストコード変更になって、一体何をやってる のか自分はorzになってしまうことがあります。どうしたらいいですか?</p>
			</blockquote>
			<p>まずは、現状をテストするテストコードを書くのが大事だと思います。</p>
			<p>それを意識して確実に書いてからプロダクトコードの変更に入るように心掛けるようにしています。</p>
			<br>

			<blockquote>
			<p>午後一のセッションで、元気をもらいました。楽しい時間ありがとう。</p>
			</blockquote>
			<p>僕も楽しかったです!! ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>ドワンゴ入りたい!</p>
			</blockquote>
			<p>是非!! </p>
			<p><a href="http://info.dwango.co.jp/recruit/">http://info.dwango.co.jp/recruit/</a></p>
			<br>

			<blockquote>
			<p>最後の提案、すばらしかったです。(個人からXPを広げていく)勇気をもらった気がします!</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>XP に限らず良いと思う事はどんどん一緒に広げましょう!!</p>
			<br>

			<blockquote>
			<p>ヨシオリさん髪ツンツンの頃の方がかっこよかったです。楽しいセッションでした</p>
			</blockquote>
			<p>あう、髪の毛、寒いので切ってなかったのですが、もうそろそろ切ります＞＜</p>
			<br>

			<blockquote>
			<p>実体験をベースにまず導入したことがない人もわかりやすく説明されていて、話が理解しやすかった。機会を作って自分のプロジェクトでも導入できればと思う。 XPを導入できない時にそれすらアジャイルにとり組むのが真のXPだという言葉、何気に重要だと思います。もっとそういう点をブログその他でアピールしていただくとXPも広がっていくのかなと思いますよー。</p>
			</blockquote>
			<p>XPを導入できない時にそれすらアジャイルにとり組むのが真のXPだという言葉、</p>
			<p>自戒でもあったりします。</p>
			<p>いつも心にとどめておきたいですね!</p>
			<p>がんばってブログ書きます＞＜</p>
			<p>最近、さぼっててすいません＞＜</p>
			<br>

			<br>

			<blockquote>
			<p>後でまた見れるようにしてください。</p>
			</blockquote>
			<p>up しますた!!</p>
			<br>

			<blockquote>
			<p>同じようなつまづきを経験されて、乗り越えていたので非常に参考になった。</p>
			</blockquote>
			<p>おぉ、是非そのつまづきを問題なければ教えてください!!</p>
			<br>

			<blockquote>
			<p>とても楽しいセッションでした!!すごく勉強になりました。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>ペアプロの実際の環境(PC構成など)を見たい。</p>
			</blockquote>
			<p>まだペアプロ用のマシンを用意するまではいたってないので、</p>
			<p>どちらかのマシンでやっています!!</p>
			<p>(僕の環境はLinux + US 配列 HHK + <a href="http://subtech.g.hatena.ne.jp/keyword/SKK" class="okeyword">SKK</a> なのであまり使われないですが＞＜)</p>
			<br>

			<blockquote>
			<p>とても楽しい話し方でよかった。TDDは個人でやっているが、少し納得感が増した。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>TDD!! TDD!! </p>
			<br>

			<blockquote>
			<p>実は学生ながら生意気にも参加しました。XP、TDDなど知らないことばかりでしたが、やっぱりこの業界で仕事してみたいと思いまし た。「絶望先生」も「ジョジョ」も好きです。</p>
			</blockquote>
			<p>全然生意気とかないですよ＞＜</p>
			<p>是非この業界ではたらくのであればドワンゴもよろしくおねがいいたします!!</p>
			<p>「絶望先生」勉強会もやりたいです＞＜</p>
			<br>

			<blockquote>
			<p>細かく分けて把握できるようにする?は工数見積りで実感しています。</p>
			</blockquote>
			<p>おぉ、すでに実感されているのですね!!</p>
			<p>やはり細かく分けるのはいいですよね!!</p>
			<br>

			<blockquote>
			<p>正直午前中は寝そうだったのが、目が覚めました!!</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>僕は発表が終ったら一気に力が抜けて寝むくなりました＞＜</p>
			<br>

			<blockquote>
			<p>タスクをTracとホワイトボードの両方で管理すると両者が合わなくなったり、めんどくさくてTreeが放置されたりしませんか?一度試そう としたことはあるのですがTrac側が最終的に放置されてしまいました</p>
			</blockquote>
			<p>放置してしまって問題なかったのであれば不要だったと思います。</p>
			<p>うちは、両方の利点があったりするので両方使ってますが、</p>
			<p>どうにか 2 重管理しなくて良い方法がないかなぁと思っています。</p>
			<br>

			<blockquote>
			<p>とても面白かったです。ありがとうございます。個人からはじめて会社を変えてやろうと思います!テストってどうやって書けばいいのかいまいちわからないのですが、どこから始めればいいですか?</p>
			</blockquote>
			<p>うちはまず、 WEB+DB PRESS #35 を<a href="http://subtech.g.hatena.ne.jp/keyword/%E5%86%99%E7%B5%8C" class="okeyword">写経</a>しました。</p>
			<p>まず体で覚えちゃうのが良いと思います。</p>
			<br>

			<blockquote>
			<p>XP導入の障壁を低くする方法がいくつか見えた気がする。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>低くなりましたか?</p>
			<br>

			<blockquote>
			<p>結局周りのせいにして導入を道半ばであきらめていたが、意志がなかったということに気がつかされた。つきものがおちが気分です。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>JOJO のなかでも大好きな台詞です。</p>
			<br>

			<blockquote>
			<p>ペアプロは興味あるが、工数がふくらんでしまうのではという心配がある。1つのものを2人で作るのが良いのか、2つのものを2人で作る (1人1つずつ作る)のが良いのか、また、それをうまく納得させられるかなど。</p>
			</blockquote>
			<p>まずは、不安のあるところからだけでもペアで初めてみるのはどうでしょうか?</p>
			<p>実践していくとわかりますが、長期的にみればペアで膨らむ工数よりも、常に二人以上の目にさらされてるコードによるバグや仕様漏れの回避などの減る工数の方が多いと思います。</p>
			<br>

			<blockquote>
			<p>見た目とは違って、とても内容がある事を言っていたので、おもしろかったです。</p>
			</blockquote>
			<p>見た目こんなですいません＞＜</p>
			<p>楽しんでいただいたようで良かったです!!</p>
			<br>

			<blockquote>
			<p>エンターテインメントでした。最高におもしろかったです。</p>
			</blockquote>
			<p>ありがとうございます!!!!</p>
			<br>

			<blockquote>
			<p>TDDのテストの他に、品質を担保するためのテストは別にやっているのですか?今のプロジェクトはWindowsMobileアプリかつ既存の コードが大量にあるので、TDDの導入は1番最初のハードルが高そうな感じです。</p>
			</blockquote>
			<p>品質を担保するテストは別にやっています。</p>
			<p>TDD の導入はハードルが高いと思われるかもしれませんが、</p>
			<p>一気に全部のテストを揃えようとするのではなく、新しく書くところから少しづつで良いと思いますよ</p>
			<br>

			<blockquote>
			<p>TDDは何で学んだのでしょうか?→参考書などあれば教えて下さい</p>
			</blockquote>
			<p>発表でもありましたが、<a href="http://d.hatena.ne.jp/kakutani/">id:kakutani</a> & <a href="http://d.hatena.ne.jp/t-wada/">id:t-wada</a> に聞いたのと</p>
			<p>WEB+DB PRESS #35 ですね。</p>
			<p><a href="http://subtech.g.hatena.ne.jp/keyword/%E5%86%99%E7%B5%8C" class="okeyword">写経</a>が大事だと思います。</p>
			<br>

			<blockquote>
			<p>勇気や不安といった感情的なものを丁寧に扱っているのだなと思いました。</p>
			</blockquote>
			<p>不安があると怖いのでなるべく無くそうと思っています!!</p>
			<br>

			<blockquote>
			<p>「XPへ向かい「意志」が大切」がよかったです。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>良い言葉ですよね!!</p>
			<br>

			<blockquote>
			<p>TDDなどプログラム開発の話をチーム運営などの話を別々にしてそれぞれの話をもっとつっこんだ形できいてみたいです。</p>
			</blockquote>
			<p>チャンスがあったら是非!!</p>
			<br>

			<blockquote>
			<p>素直に、開発が楽しそうな職場だなと思いました。でもそれは、少しずつ作りあげていった結果なんだと教えられました。明日から何か1 つ、やってみたいです、<a href="http://subtech.g.hatena.ne.jp/keyword/Java" class="okeyword">Java</a>-jaの温泉行きたいなー!!</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>職場楽しいですよ!!</p>
			<p>java-ja 温泉も毎年開催する予定なのでよろしくおねがいします!!</p>
			<br>

			<blockquote>
			<p>やっぱり各デスクにホワイトボードはありますか?単一プロジェクトだから、tracなの?自分たちはtracからRedmineにのりかえたので。 スライドはどこかにUP?ありがとうございました!! @materia_x64</p>
			</blockquote>
			<p>ホワイトボードや消せる紙とかがありますね。</p>
			<p>Trac なのは社内標準なのとみんなが慣れてるのもあります。</p>
			<p>スライドあっぷしました!!</p>
			<br>

			<blockquote>
			<p>XP開発って本当にいいの?使えるの?という思いを持って参加しました。内容おもしろかったです。自分の回りにXP開発しているチー ムはない状況ですが、今後の自分のためにも考え、行動したいです。</p>
			</blockquote>
			<p>僕も最初は疑心暗鬼でした。でもやってみると楽しいですよ。</p>
			<p>一緒に行動しましょう!!</p>
			<br>

			<blockquote>
			<p>発表めちゃ上手いですね!50分があっという間でした。XPのプラクティス、やりたいけど実戦できていなかったことも、やってみよう!と いう勇気をもらいました。質問なのですが、バーンダウンチャートはチーム全体ではなく、個人ごとに書いて貼り出しているのですか? 使い方がよくわからないですが、全体の傾向見るというより、各人の進捗を可視化する感じなんでしょうか。教えて下さい。</p>
			</blockquote>
			<p>バーンダウンチャートは僕のいるプロジェクトではサブチーム毎に書いています。</p>
			<p>ストーリからタスクに切りわけたタスクの理想時間でやっています。</p>
			<p>全体の傾向を見てる感じですね。</p>
			<br>

			<blockquote>
			<p>ペアプロの意外な目的がとても参考になりました。流行らせたいテクの広め方のひとつのやり方として実せんしたいと思いました。</p>
			</blockquote>
			<p>一緒に実践していきましょう!!</p>
			<br>

			<blockquote>
			<p>ペアプロやTDDを始めるにあたってはまず個人からというのは理解できましたが、それ以上(会社やチーム)に導入するには、まだまだ障壁があります。(ペアプロやTDDというといやな顔されたり、新しい技術のしゅうとくがめんどうなど)この壁をこえるよい方法はないでしょうか!!ジョジョ最高!!</p>
			</blockquote>
			<p>嫌な顔をされている人に無理強いしては良くないので、</p>
			<p>本当に少しづつやっていくのが良いと思います。</p>
			<p>「ここが良くわかわないのでちょっと一緒にやってもらえませんか?」</p>
			<p>とか、少しづつ一歩づつで良いと思います。</p>
			<br>

			<blockquote>
			<p>後半の話は参考になりました。にもかかわらず時間の比重が小さく残念</p>
			</blockquote>
			<p>すいません＞＜</p>
			<p>時間配分ちょっと駄目でしたね＞＜</p>
			<br>

			<blockquote>
			<p>XPを使ってチームを作りたいとずっと思っていました。個々人のやり方を否定はしたくないし共通のやり方を強制したくもなくみんながやりたくなるようなものがないかと探してました。今日のお話は、それにつながるような気がします。ありがとうございました。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>僕も強制するのではなく少しづつ変化していければなぁと思っています。</p>
			<br>

			<blockquote>
			<p>見積りと計画に関する話と、リーダとしての導入方法に関する手法は大変参考になりました。一般的にTDDは開発にかかる工数が、多くなる傾向にあるとお聞きしていますが、原価にインパクトがどの程度ありそうか、実体験を教えていただけると幸いです。ありがとうご ざいました。</p>
			</blockquote>
			<p>TDD で純粋にコードが生成されるまでは工数は増えると思いますが、逆にその後のテストやコードレビューなどの工数はかなり減ると思っています。</p>
			<p>最近は趣味のコードも TDD でやるほどなので、リリースまでの工数は逆に減るんじゃないかなぁと思っています。</p>
			<br>

			<blockquote>
			<p>実際おこなっている開発手法の話がきけて勉強になりました。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>カミが赤い。おもしろかったです</p>
			</blockquote>
			<p>赤いです。ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>プレゼンがかっこいいです。</p>
			</blockquote>
			<p>かっこよかったですか!? うれしいです!!</p>
			<br>

			<blockquote>
			<p>ウチでもやる!</p>
			</blockquote>
			<p>やりましょう!!!</p>
			<br>

			<blockquote>
			<p>時間のある時にゆっくり話をしたい。</p>
			</blockquote>
			<p>是非おねがいします!!</p>
			<br>

			<blockquote>
			<p>個人からっていうのが大事ですね。最後のまとめが良かったです。</p>
			</blockquote>
			<p>やぱり自分が良いと感じていないと広められないと思うので、個人からは大事だと思います。</p>
			<br>

			<blockquote>
			<p>アツイ講義で胸に響きました!色んな人がいますね。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>同じ人はいないですからね!!</p>
			<br>

			<blockquote>
			<p>テンポよくてよかったです。見積を予算調達時と実装時それぞれでおしえていただけるとうれしいです。</p>
			</blockquote>
			<p>今のプロジェクトは途中から入ったので予算調達時はわかりません＞＜</p>
			<p>もしも次に経験出来れば発表したいと思います。</p>
			<br>

			<blockquote>
			<p>も少し時間が長いとよかったですね....</p>
			</blockquote>
			<p>すいません＞＜</p>
			<p>もうちょっと時間調整頑張ります＞＜</p>
			<br>

			<blockquote>
			<p>うまい。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<br>

			<blockquote>
			<p>つきものが落ちた気がします。ありがとうございます。</p>
			</blockquote>
			<p>おぉ、そう言っていただけて良かったです。</p>
			<p>こちらこそありがとうございます。</p>
			<br>

			<blockquote>
			<p>3周目の意味がよくわかりました。</p>
			</blockquote>
			<p>はい!!</p>
			<p>高速道路の設置です!!</p>
			<br>

			<blockquote>
			<p>以前、社内で反対された自分にとって興味深いお話でした。</p>
			</blockquote>
			<p>反対されてしまったのですね……</p>
			<p>でも諦めずに向かっていく意志です!!!</p>
			<br>

			<blockquote>
			<p>なんで髪が赤いんですか?</p>
			</blockquote>
			<p><a href="http://okyuu.com/ja/special/engineer06-yoshiori">http://okyuu.com/ja/special/engineer06-yoshiori</a></p>
			<p>ここに答があります!!</p>
			<br>

			<blockquote>
			<p>もうちょっと具体的な中身を聞きたかった。</p>
			</blockquote>
			<p>すいません。</p>
			<p>具体的にはどのへんの具体的な内容が欲しかったでしょうか?</p>
			<br>

			<blockquote>
			<p>人月見積りとSPとの違い、偉い人への説明をどのようにされていますでしょうか。</p>
			</blockquote>
			<p>偉い人が理解してくれればそのまま説明、人月での見積りが必要であれば、チーム内では SP で運用しつつどこかでトランスレートするかなぁと思います。</p>
			<br>

			<blockquote>
			<p>映像ビジュアルがキレイ。</p>
			</blockquote>
			<p>keynote のおかげです＞＜</p>
			<br>

			<blockquote>
			<p>「TDDが品質を担保しない」は大変腑に落ちました。有益な書籍情報ありがとうございます。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>お役にたてて幸いです!!</p>
			<br>

			<blockquote>
			<p>お題目やmust itemの話だけでなく、「正直ベースの話」がよかった。「ペアプロきつい」って人も多いけど、何をこわがっているか、実は こわくないんだと解きほぐす話だとも思った。GJ!</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>ペアプロ楽しいですよね!!</p>
			<br>

			<blockquote>
			<p>XP等のプロセスを導入する際の、上層部の説得の仕方を教えてほしい。</p>
			</blockquote>
			<p>上層部に理解が無かったら見せないで導入しちゃうのはどうでしょう?</p>
			<br>

			<blockquote>
			<p>まず始めることが大切だなと感じました。個人からXPを始めてみます。ありがとうございました。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>小さな事でもまず始めるのが大事ですよね!!</p>
			<br>

			<blockquote>
			<p><a href="http://subtech.g.hatena.ne.jp/keyword/vim" class="okeyword">vim</a>でTDDを快適に行うにはどうすればいいでしょうか?例)ソースを保存したタイミングでテストが起動するにはどうすればいい?</p>
			</blockquote>
			<p>emacs 使いなので <a href="http://subtech.g.hatena.ne.jp/keyword/vim" class="okeyword">vim</a> でどうすれば良いかはわかりません＞＜</p>
			<p>File の SAVE をフックして Growl に表示とかが快適です!!</p>
			<br>

			<blockquote>
			<p>面白かった。小さく分割するのが基本ですね。</p>
			</blockquote>
			<p>基本です!!</p>
			<p>僕は頭良くないので大きいとわからないんです＞＜</p>
			<br>

			<blockquote>
			<p>感動した!TDDを今すぐやりたい!</p>
			</blockquote>
			<p>やりましょう!!</p>
			<p>TDD!! TDD!! </p>
			<br>

			<blockquote>
			<p>TDDはテスト手法と理解していましたが、誤りであり、開発手法であると認識できました。また、開発上の不安を取り除くToolでもありますね。</p>
			</blockquote>
			<p>D は development の D! ですね!!</p>
			<p>僕は最近は TDD でないと不安で開発出来ないです＞＜</p>
			<br>

			<blockquote>
			<p>大変参考になりました。まずは個人で導入してみようと考えます。</p>
			</blockquote>
			<p>ありがとうございます!!</p>
			<p>導入しましょう!!</p>
			<br>

			<blockquote>
			<p>とても楽しく聞かせていただきました。質問なのですが、TDDとDbcのかね合いについて、どのような考えをお持ちでしょうか。</p>
			</blockquote>
			<p>すいません。Dbc は勉強してないので正直わからないです＞＜</p>
			<br>

			<blockquote>
			<p>わっしょい。</p>
			</blockquote>
<div class="ascii-art">
　　　　　　　　おにぎりワッショイ！！<br>
　　　　　＼＼　 おにぎりワッショイ！！　／／<br>
　+　　　+　＼＼　おにぎりワッショイ！！／+<br>
　　　　　　　　　　　　　　　　　　　　　　　　　　　　+<br>
.　　　+　　 ／■＼　　／■＼　 ／■＼　　+<br>
　　　　　　（　´∀｀∩（´∀｀∩）（　´∀｀）<br>
　+　　（(　（つ　　　ノ（つ　　丿（つ　　つ　)）　　+<br>
　　　　　　 ヽ　 （　ノ　（　ヽノ　　）　）　）<br>
　　　　　　　（＿）し&#39;　し（＿）　（＿）＿）<br>
<br>
</div>

			<br>

			<blockquote>
			<p>プランニング、ポーカーやってみたいです!「TDDとUnitテストはちがう」目からうろこでした。自分の中でUnitTestを書くこと=TDDにいつの間にかなっていたことに気がつきました。</p>
			</blockquote>
			<p>僕も最初、UnitTest になってしまっていて、TDD から離れてしまいました。</p>
			<p>違うという事に気づくとそこからは早いですよ!!</p>
			<br>

			<blockquote>
			<p>とても良かったです。ドワンゴ入社したくなった!</p>
			</blockquote>
			<p>是非!!</p>
			<p><a href="http://info.dwango.co.jp/recruit/">http://info.dwango.co.jp/recruit/</a></p>
			<br>

			<blockquote>
			<p>☆品質管理のためのテストは別にすべきという事ですか?自動化の中に「混ぜてやってしまえ」という意見はどう思いますか @eakeshinocla</p>
			</blockquote>
			<p>自動化の中に入れて修正などのコストとの兼ね合いがとれれば良いと思いますが、</p>
			<p>逆に僕は別にすべきだと思っています。</p>
			<p>(開発中のリズムを崩さないために)</p>
			<br>

			<blockquote>
			<p>今、自分達のやっている事と重なって、共感できました。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>是非おはなしを聞かせてください!!</p>
			<br>

			<blockquote>
			<p>迫力あるプレゼンでとても楽しめました!おかし箱からTDD、アジャイル見積まですぐにでもチャレンジしたいと思いました</p>
			</blockquote>
			<p>是非チャレンジして結果を教えてください!!</p>
			<br>

			<blockquote>
			<p>まとめが普通ではないでしょうか。3週目ならではの知見を聞きたかったです。</p>
			</blockquote>
			<p>普通ですいません＞＜</p>
			<p>今後はもうちょっと意識していこうと思います。</p>
			<br>

			<blockquote>
			<p>うちの会社でも出きそうな気がしました!</p>
			</blockquote>
			<p>やりましょうやりましょう!!</p>
			<p>是非結果を教えてください!!</p>
			<br>

			<blockquote>
			<p>会社ではコテコテの金融を相手にしているので、ウォーターフォールですが、自分PCではコッソリトイロイロ動いています。自分だけでも XP、TDDというのは、すごく気づかされました。大変おもしろかったです。パワポ(keynote?)を操作は何でしていたのですか?手元を気にされていたので、興味があります。</p>
			</blockquote>
			<p>「コッソリトイロイロ」応援します!!</p>
			<p>keynote は iPhone で操作していました!!</p>
			<br>

			<blockquote>
			<p>自らに能力が無いと知ったとき、道はあるのか。</p>
			</blockquote>
			<p>僕も自分に能力が無いと自覚しています。</p>
			<p>自覚しているからこそ才能ではなくスキルを身に付けようと思っています。</p>
			<br>

			<blockquote>
			<p>AppleRemoteではないようですが何を使っていたのですか?keynoteですよね?1400人月とかいうProjectやってるんですが、そんな ProjectでもXPできるでしょうか?Buildだけで20分かかるのでTDDだと1サイクル何分かかるか・・・</p>
			</blockquote>
			<p>それだけ大きいと別のプラクティスが必要だと思います。</p>
			<p>僕は勉強していないのですが、IBM などがそういった事例を紹介していますので</p>
			<p>参考になるかと思います。</p>
			<br>

			<blockquote>
			<p>ユーザさんの意向で追加修正以外のソースの変更が認められないため、リファクタリングできません。このような状況をどう変えていけるか悩んでいます。あと、iphoneでプレゼンを再生するツールがあるんですね。いい感じなのでパクらせてください。@twmarron</p>
			</blockquote>
			<p>リファクタリング出来ないのはキツいですね……</p>
			<p>iPhone でのプレゼン パクってください!!</p>
			<p>(僕もパクリなので!!)</p>
			<br>

			<blockquote>
			<p>見せ方が面白い。わかりやすい。「老言」のくだりは不要。「再利用」を意識して避ける必要はないと思う。ここにコストがかかる。 最初TDDの定義がちょっとわからなかった、テストファーストじゃないの?とかUTは入らないんだ?とか。参加して勇気が出てきた気が します。</p>
			</blockquote>
			<p>「再利用」を避けるのではなく「再開発」を避けるのです。</p>
			<p>「再実装」も勉強になるので避ける必要は無いと思います。</p>
			<br>

			<blockquote>
			<p>本を読むだけでは分からないような、XPの細かな実践を聞けたので良かったです。講義のやり方も他の方と大分趣向が異なり、面白かったです。</p>
			</blockquote>
			<p>ありがとございます。</p>
			<p>細かな実践は今後もドンドン公開していこうと思います。</p>
			<br>

			<blockquote>
			<p>プランニング・ポーカーの話が具体的に参考になった。なかなか全員のカードが揃わないこともあり、難しいと思ったこともあったので。 TDDの話がわかりやすかった。特に目的(品質ではなく開発のしやすさ)。ただ、TDDのコードを最終的にUnitTestに流用することはあ るのではと少し疑問に思った。面白かったです。ありがとうございました。</p>
			</blockquote>
			<p>TDD を最終的に UnitTest に流用する事はあるかもしれませんが、</p>
			<p>それはまた別の話だと思っています。</p>
			<p>TDD の時に UnitTest やカバレッジ 100% などを気にする必要は無いと感じています。</p>
			<br>

			<blockquote>
			<p>チーム開発もほとんどなく、個人で黙々と作って行き詰っていたので、目からウロコでした。TDDとペアプロがんばってみよう。おもしろいセッションありがとうございました!</p>
			</blockquote>
			<p>こちらこそありがとうございます!!</p>
			<p>一緒にがんばっていきましょう!!</p>
			<br>

			<blockquote>
			<p>よしおりさんのブログ見て来ました。平日なので難しいかと思いましたが、休暇とれました。大変参考になるお話がきけて、きてよかったです、ありがとうございました。 SLowTestについて 今のプロジェクトはハドソンで1時間ごとに本体コードだけビルド、ナイトリービルドで単体テスト、結合テストをしていますが、プロジェクトが大きくなりナイトリーのビルドが1晩でおわらなくなっています。とくにDBなどを使ったテストではないのですがいい解決案がありますか?</p>
			</blockquote>
			<p>SLowTest 問題については僕もまだ全然勉強不足なのですが、</p>
			<p>色々研究されているようです。</p>
			<p>もっと勉強したら公開したいと思います!!</p>
			<br>

			<blockquote>
			<p>自分がやってる(?)だろう、アジャイル開発の後押しをして下さるような内容だった。会社の人にも聞かせたい、良い内容でした。見積りは数イテレーション回さないと、1年後にできるorできないが答えられないということでしょうか?プロジェクト初期時に要求が完了するかどうかはやはり、お客様には答えられないものですか?</p>
			</blockquote>
			<p>プロジェクト初期時に要求が完了するかどうかがわかってそのとおりに納品出来る方法があるのであればそちらを使うべきだと思います。</p>
			<p>お客様への説明に関しては「アジャイルな見積りと計画づくり」に書いてあるので一度読んでみる事をおすすめします。</p>
			<br>

			<blockquote>
			<p>見かけによらずしっかりとした内容を話していたので少し驚きましたが、勇気をいただいたように思います。会社の中でアジャイルの流布を進める立場にいる者ですが、今回の講演をヒントにさせてもらいます。ありがとうございました。</p>
			</blockquote>
			<p>おぉ、社内に流布してるのですね!!</p>
			<p>是非結果を教えてください!!</p>
			<br>

			<blockquote>
			<p>ZENを取り入れられていたスライドがよかった。TDDでテストを作成している時間は最大でどれぐらいか知りたい</p>
			</blockquote>
			<p>最大でですか…… </p>
			<p>完全に開発にくみこまれてるので計測した事はないのですが、</p>
			<p>あまりにテスト作成に時間がかかっていたら相手にしている対象が大きすぎるんじゃないかと疑うようにしてます。</p>
			<br>

			<blockquote>
			<p>具体的な失敗例などが大変為になった。</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>今後もいっぱい失敗していこうと思います。</p>
			<br>

			<blockquote>
			<p>もっと長時間話を聞きたい。</p>
			</blockquote>
			<p>いつでも言ってください!!</p>
			<p>一晩でも話しましょう!!</p>
			<br>

			<blockquote>
			<p>とても面白いセッションでした。今TDDを中途半端にやりはじめているのですが、「不安なところをテストする」という意味で間違っていなかったかと安心しました。世の中変えたいので、まず自分からやって広めていきます</p>
			</blockquote>
			<p>ありがとうございます!</p>
			<p>「不安をテストする」は僕も <a href="http://d.hatena.ne.jp/t-wada/">id:t-wada</a> に言われて目から鱗でした!!</p>
			<br>

			<blockquote>
			<p>パワポがすばらしかったです。どうやって作ってますか?</p>
			</blockquote>
			<p>普通に keynote でガリガリつくってます!!</p>
			<br>

			<blockquote>
			<p>おっしゃりたいことがすごく良く伝わりました。でも、原典は大事ですし、歴史も大事だと思います。(人類は間違いをくり返すので)* Googleの人が前日に「分割して統治せよ!」とおっしゃられていたことを思い出しました。</p>
			</blockquote>
			<p>原典は大事だし歴史も大事だと思います。</p>
			<p>ただ、それを勉強しなきゃ駄目だっていうのは僕は言いたくないなぁと思います。</p>
			<br>

			<blockquote>
			<p>品質を求めるためにやるわけではないとか、結果を求めてはいけないとか、今日話しを聴くまで少し忘れていました。思い出せて良かったです。Trac+Hudson+Sonarを社内で使い始めて最近楽しいです。テストファーストではないですが、TDDもやっているので、あらためて言っていることに感じるものがありました。</p>
			</blockquote>
			<p>僕も良く忘れそうになるので心に留めています!!</p>
			<p>Hudson など使うと開発の楽しさが倍増しますよね!!</p>
			<blockquote>
			<p>「TDDで品質が向上する」の論拠がうすいと思った。品質を担保しない開発手法であることは理解できます。TDDの範囲外であるUT,品質保証はどのような方法で行っていますか?自分たちのやっていることからもう少しふみ出せば同じレベルで開発できるという「勇気」 をもらいました。</p>
			</blockquote>
			<p>品質の向上は言葉では表現しにくく実際に感じてもらわないと共感しにくいところなのですが、説明不足ですいません。</p>
			<p>UT,品質保証は現在はテストチームが別にいてやっていますが、本当はチームに組み込んでもっと一緒にやれたらなぁと思っています。</p>
			<br>

			<blockquote>
			<p>声もテンポも聞き易く、眠くならずに集中して聞けました。XP,TDDは良さはわかっているものの、なかなか業務に導入ができませんでし たが、本日聞いた話で少し勇気をもらえました。私の会社の部問では、なにか良くないことがあると「プロセスがプロセスが...」と文書やルールばかりが増えていっているのですが、ドワンゴ社の話を聞くとその具体策(ツールを使うなど)を展開されているようで大変良いことをしているなと感じました。また勉強会で集まる人達がいることはうらやましくも思いました。(自分の所はなかなか集まらない。集まっ ても聞きにくるだけとか。)</p>
			</blockquote>
			<p>ありがとうございます。</p>
			<p>たぶん、ドワンゴは文書やルールを作ってもその穴を見つけて楽をする事しか考えない人の集りなのでツール化しちゃうんだと思います。</p>
			<p>勉強会は社内で集らないのであれば社外でやっちゃうのも手だと思いますよ!!</p>
		</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=RLhPuPI02KU:SCIpZDA73U8:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=RLhPuPI02KU:SCIpZDA73U8:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=RLhPuPI02KU:SCIpZDA73U8:4xZOgp06t7o"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=4xZOgp06t7o" border="0"></img></a>
</div>]]></content:encoded>
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-03-21T20:44:42+09:00</dc:date>
<feedburner:origLink>http://d.hatena.ne.jp/Yoshiori/20100321/1269171882</feedburner:origLink></item>
<item rdf:about="http://d.hatena.ne.jp/Yoshiori/20100224/1267015034">
	<title>最近の TDD 議論についてちゃんと僕の気持ちを書いてみる</title>
	<link>http://feedproxy.google.com/~r/Yoshioriblog/~3/B9ki0P4bro0/1267015034</link>
	<description> 最初に ちょっと最近，ドタバタしてて twitter だと腰を据えて話せないなと感じたので，ちょっと最近のTDD 議論についてちゃんと僕の気持ちを書いてみようと思います． これは僕が”今”感じてる事とか考えている事を書いているだけですので，誰かを論破したいとか，誰かを説</description>

	<content:encoded><![CDATA[
			<br>

		<div class="section">
			<h4> 最初に</h4>
			<p>ちょっと最近，ドタバタしてて twitter だと腰を据えて話せないなと感じたので，ちょっと最近のTDD 議論についてちゃんと僕の気持ちを書いてみようと思います．</p>
			<p>これは僕が"今"感じてる事とか考えている事を書いているだけですので，誰かを論破したいとか，誰かを説得したいという意思は無いです．</p>
			<p>本当に裏とかはなく，純粋に「"庄司嘉織"という人間は"今この時"にこういう事を感じてこういう事を考えた」というだけです．</p>
			<br>

			<p>もちろん明日には考えが変わるかもしれないし，逆に過去の発言とは違うかもしれませんが，「最近はこう感じている」という事をちゃんと書いておこうと思いました．</p>
			<br>

			<h4> デブサミでの発表について</h4>
			<p><a href="http://d.hatena.ne.jp/babie/">id:babie</a> さんにちゃんと返事をしていなかったので，まずちゃんと返事をしておこうと思います．(遅くなってしまってすいません)</p>
			<br>

			<blockquote title="http://twitter.com/babie/status/9468960884" cite="http://twitter.com/babie/status/9468960884">
			<p>@kakutani は興味なくても、あのスライドだと @yoshiori の誤った考え方（である可能性がある）に、権威付けを与えている。「@kakutani @t_wada 直伝だ」と見える。この議論いかんであの言が偽だったら、@yoshiori はスライドを訂正した方が良い。</p>
			<cite><a href="http://twitter.com/babie/status/9468960884">http://twitter.com/babie/status/9468960884</a></cite></blockquote>
			<br>

			<p>これは権威付けをしたいという気持ちは本当になく，感謝とリスペクトを含めて出していました．</p>
			<p>また，もう一点，僕でもそうやって発表者に聞いて教えてもらったりしてるので，みんなも恐れないで聞いてみると親切に教えてもらえるよというのを伝えたくて入れています．</p>
			<p>(本当に悩んだので両人にいちおう承諾を得ました)</p>
			<blockquote title="http://twitter.com/yoshiori/status/9109219107" cite="http://twitter.com/yoshiori/status/9109219107">
			<p>もう、俺の師匠として @kakutani と @t_wada の名前を出さない方がいいのかなぁ…… リスペクトしてるから感謝の意味も含めて出すようにしてるんだけど、二人の名前を出して二人に迷惑かかっちゃっても<a href="http://subtech.g.hatena.ne.jp/keyword/%E3%82%A2%E3%83%AC" class="okeyword">アレ</a>だしなぁ</p>
			<cite><a href="http://twitter.com/yoshiori/status/9109219107">http://twitter.com/yoshiori/status/9109219107</a></cite></blockquote>
			<blockquote title="http://twitter.com/t_wada/status/9109350418" cite="http://twitter.com/t_wada/status/9109350418">
			<p>@yoshiori 別に構わないですよ。名誉なことです。</p>
			<cite><a href="http://twitter.com/t_wada/status/9109350418">http://twitter.com/t_wada/status/9109350418</a></cite></blockquote>
			<blockquote title="http://twitter.com/kakutani/status/9116364567" cite="http://twitter.com/kakutani/status/9116364567">
			<p>@yoshiori なんのことわりもなく書籍のあとがきに書かれたこともあるので平気:-)</p>
			<cite><a href="http://twitter.com/kakutani/status/9116364567">http://twitter.com/kakutani/status/9116364567</a></cite></blockquote>
			<p>と，言ってもらえたので資料に入れさせていただきました．</p>
			<br>

			<p>次に</p>
			<blockquote title="http://twitter.com/babie/status/9470015080" cite="http://twitter.com/babie/status/9470015080">
			<p>@yoshiori 「オレオレTDD」を広めるなら、但し書きを付けるなどの、誠実な対応を望みます。</p>
			<cite><a href="http://twitter.com/babie/status/9470015080">http://twitter.com/babie/status/9470015080</a></cite></blockquote>
			<p>ですが，副題に「"僕"(とドワンゴ)のXP」と入れている事で僕は僕自身が理解した XP や TDD について話しをするという事になると感じていました．</p>
			<br>

			<p>さらに発表の最初で</p>
			<p>方向を示し(一周目)，道を通す(二周目)の人たちがいた</p>
			<p>僕ら(三周目)がすべきは高速道路の設置であって，車輪の再開発では無い</p>
			<p>先人が学んだ事や感じた事は本やブログにいっぱいあるので，</p>
			<p>僕らはさらにそれを読み実践し，感じた事や起った事をまた残そう</p>
			<p>という話しをしました．</p>
			<p>で，「今日は僕がこの一年でやった事，感じた事を話します」と．</p>
			<br>

			<p>僕が僕の言葉で僕の感じた事や学んだ事を話しているので間違った理解があるかもしれません(むしろいっぱいあると思います)．</p>
			<p>プレゼンの時は「と感じます」とか「と思います」と発表したのですが，資料にそれを書いてしまうと冗長なので書いていません．すいません．</p>
			<br>

			<p>ただ，"僕"が"僕"の言葉で"僕"の理解した事，感じた事，考えた事を発表するとそれはある意味すべて「オレオレxxx」になってしまうと思うのですがどうでしょうか？</p>
			<p>逆に「オレオレxxx」にならない為には自分の主観を入れずに引用だけで話すしかなくなってしまうと思うのですが……</p>
			<br>

			<h4> で，TDD がテスト手法かどうかについて</h4>
			<p>"僕は" TDD は開発手法であって，テスト手法では無いと感じています．</p>
			<p>テスト手法としては不十分だと思います．</p>
			<br>

			<p>ここでちょっと言葉の難しいところなのですが，</p>
			<p>「TDD はテスト手法としては不十分だけどテスト手法である」</p>
			<p>「TDD はテスト手法としては不十分だからテスト手法ではない」</p>
			<p>どちらでも良いと思っているのですが，今まで僕自身で経験したり人に話したり相談された経験から"僕は"「テスト手法ではない」と言ってしまった方が良いと感じました．</p>
			<br>

			<h5> まずテストに何を書いていいかわからない</h5>
			<p>僕が一番最初に <a href="http://d.hatena.ne.jp/kakutani/">id:kakutani</a> に相談したのもこの台詞だったと思いますし，また僕も一番聞かれる質問なのですがどうしても最初は UnitTest で網羅的なテストを書こうとしてしまって手が止ってしましました．</p>
			<br>

			<h5> 品質管理のテストとしての価値はどうなのか</h5>
			<p>TDD の話しをしていると，どうしても言われるのが，</p>
			<p>「TDD やってたらテストの工程はいらないんですね？」</p>
			<p>「テスト計画もなくていきなりテストを書くのか？」</p>
			<p>的な事を言われます．</p>
			<p>"僕は" TDD をやっていてもテストの工程は別に必要だと思ってますし，その工程ではちゃんとテスト計画もすべきだと思っています．</p>
			<h5> TDD は開発手法であって，テスト手法では無い</h5>
			<p>というような経験や考えから"僕"は「テスト手法ではない」と言ってしまった方が良いと感ています．</p>
			<br>

			<p>むしろ，TDD で開発するのは，</p>
			<p>「emacs で開発するのか <a href="http://subtech.g.hatena.ne.jp/keyword/vim" class="okeyword">vim</a> で開発するのか？」</p>
			<p>「Eclipse で開発するのか NetBeans で開発するのか？」</p>
			<p>くらいの違いだと思っています．</p>
			<p>チーム内では揃えたほうが良いという事も含めて．</p>
			<p>(エディタや開発環境もチーム内で揃っていた方がペアプロとかしやすい)</p>
			<br>

			<br>

			<h5> 品質管理のテストを一緒にしてはいけないのか？</h5>
			<p>品質管理のテストを一緒にしたらいけないのかどうかも聞かれた事があるのですが，"僕"は一緒にすべきでは無いと思います．</p>
			<p>UnitTest 的なものが一緒になってしまうとどうしても仕様変更時のメンテナンスコストが高くなってしまいます．</p>
			<p>(もちろん，テストの工程ではメンテナンスしなくてはいけませんがそれは上記でのべたように別に設けるべきだと思っています)</p>
			<p>また，特に DB と連携する部分などで如実に SlowTest の問題が発生してしまいます．</p>
			<p>メンテナンスコストの肥大化や SlowTest のせいで逆に TDD がやりにくくなっては本末転倒だと思います．</p>
			<br>

			<h5> デブサミで「TDD は テスト手法では無い」と発表すべきだったか？</h5>
			<p>完全に結果論なのですが，<a href="http://d.hatena.ne.jp/babie/">id:babie</a> をはじめ色々な方の意見を聞く事が出来たので僕にとってはとても良かったと思っています．</p>
			<br>

			<p>僕はそもそも，</p>
			<blockquote title="http://twitter.com/yoshiori/status/9102087388" cite="http://twitter.com/yoshiori/status/9102087388">
			<p>「TDD はテスト計画をせずにテストしてしまうから……」とか「品質管理のためには……」とか言われるとなぁ TDD はあくまで"開発"手法であって、テスト手法では無いんだよね。もう、TDDで品質があがるって啓蒙するの止めちゃえば、いっそ変な誤解が広がらないんじゃないか<a href="http://subtech.g.hatena.ne.jp/keyword/%E3%81%AA%E3%81%81%E3%80%82" class="okeyword">なぁ。</a></p>
			<cite><a href="http://twitter.com/yoshiori/status/9102087388">http://twitter.com/yoshiori/status/9102087388</a></cite></blockquote>
			<p>という考えから「テスト手法ではない」という発表をしたので，</p>
			<p>逆にこの「テスト手法ではない」という考えが広まってしまって凝り固まってしまってしまうような事になってしまったら，</p>
			<p>「ヨシオリはああ言っているけど，言いすぎだ!!間違っている!!」</p>
			<p>と発表してもらえればなぁと思います．</p>
			<p>(もしも世間がそれで凝り固まるくらい開発のための TDD になってくれると個人的には嬉しいのですが)</p>
			<br>

			<h4> あわせて読みたい</h4>
			<p><a href="http://togetter.com/li/5878">http://togetter.com/li/5878</a></p>
			<p><a href="http://togetter.com/li/6759">http://togetter.com/li/6759</a></p>
			<p><a href="http://togetter.com/li/6923">http://togetter.com/li/6923</a> </p>
			<br>

			<h4> 【追記】<a href="http://subtech.g.hatena.ne.jp/keyword/BDD" class="okeyword">BDD</a> という言葉を使わなかった件について【後出し？】</h4>
			<p>まず、大前提として、純粋に僕が TDD として学んだ事、感じた事を発表したので TDD という言葉を使いました。</p>
			<p>（<a href="http://subtech.g.hatena.ne.jp/keyword/BDD" class="okeyword">BDD</a> としては学んでいないので）</p>
			<br>

			<p>で、それとは別になりますが、何年か前に <a href="http://subtech.g.hatena.ne.jp/keyword/BDD" class="okeyword">BDD</a> という言葉を知った時には <a href="http://subtech.g.hatena.ne.jp/keyword/BDD" class="okeyword">BDD</a> については TDD に対する混乱を名前を変える事で解決しようとしてるとしか感じず、</p>
			<p>(そしてそれは似た様な事を表す別の言葉が出来て逆に混乱の元なのでは？)としかとらえていなかったのてちゃんと学んでいませんでした。</p>
			<br>

			<p>蛇足ですが、逆に今回の件で興味が出たので <a href="http://subtech.g.hatena.ne.jp/keyword/BDD" class="okeyword">BDD</a> 学ぼうと思います！！</p>
		</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=B9ki0P4bro0:vwYhHiaCZV4:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=B9ki0P4bro0:vwYhHiaCZV4:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=B9ki0P4bro0:vwYhHiaCZV4:4xZOgp06t7o"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=4xZOgp06t7o" border="0"></img></a>
</div>]]></content:encoded>
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-02-24T21:37:14+09:00</dc:date>
<feedburner:origLink>http://d.hatena.ne.jp/Yoshiori/20100224/1267015034</feedburner:origLink></item>
<item rdf:about="http://d.hatena.ne.jp/Yoshiori/20100216/1266298860">
	<title>enum はやれば出来る子なんですよ!!</title>
	<link>http://feedproxy.google.com/~r/Yoshioriblog/~3/Bbx201eDgRM/1266298860</link>
	<description> enum ってコンストラクタ持てるの？ 持てる。余裕。そして便利 インスタンス制御クラスもシングルトンも enum で http://d.hatena.ne.jp/amachang/20100215/1266245521 ぶっちゃけただのクラスなので、あんまり知られてないけど， コンストラクタどころか任意のインターフェ</description>

	<content:encoded><![CDATA[
			<br>

		<div class="section">
			<blockquote title="http://d.hatena.ne.jp/amachang/20100215/1266245521" cite="http://d.hatena.ne.jp/amachang/20100215/1266245521">
			<p>enum ってコンストラクタ持てるの？</p>
			<p>持てる。余裕。そして便利</p>
			<p>インスタンス制御クラスもシングルトンも enum で</p>
			<cite><a href="http://d.hatena.ne.jp/amachang/20100215/1266245521">http://d.hatena.ne.jp/amachang/20100215/1266245521</a></cite></blockquote>
			<p>ぶっちゃけただのクラスなので、あんまり知られてないけど，</p>
			<p>コンストラクタどころか任意のインターフェースの実装も出来るし，</p>
			<p>自分で抽象メソッド定義して実装する事も出来るよ!!</p>
			<br>

<pre class="syntax-highlight">
<span class="synType">enum</span> Hoge <span class="synType">implements</span> Runnable{
	FOO(<span class="synConstant">&#34;foo&#34;</span>){

		<span class="synPreProc">@Override</span>
		<span class="synType">public</span> <span class="synType">void</span> run() {
			<span class="synComment">// 何か処理</span>
		}

		<span class="synPreProc">@Override</span>
		<span class="synType">public</span> String getAddress() {
			<span class="synStatement">return</span> address;
		}
	},
	BAR(<span class="synConstant">&#34;bar&#34;</span>){

		<span class="synPreProc">@Override</span>
		<span class="synType">public</span> <span class="synType">void</span> run() {
			<span class="synComment">// 何か処理</span>
		}

		<span class="synPreProc">@Override</span>
		<span class="synType">public</span> String getAddress() {
			<span class="synStatement">return</span> address + <span class="synConstant">&#34;bar&#34;</span>;
		}
	};

	String address;

	<span class="synType">private</span> Hoge(String address){
		<span class="synType">this</span>.address = address;
	}

	<span class="synType">abstract</span> String getAddress();
}
</pre>

			<p>enum 恐しい子////</p>
			<br>

			<p>というような話しとか，Exception まわりとかも WEB+DB Vol.52 に纏めてあるので，</p>
			<p>良かったら暇な時に読んで感想とか聞かせてくだしあ＞＜</p>
			<p><a href="http://gihyo.jp/magazine/wdpress/archive/2009/vol52">http://gihyo.jp/magazine/wdpress/archive/2009/vol52</a></p>
			<div class="hatena-asin-detail">
  <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774139300/hatena-hamazou-22/"><img src="http://ecx.images-amazon.com/images/I/61COQ0sX37L._SL160_.jpg" class="hatena-asin-detail-image" alt="WEB+DB PRESS Vol.52" title="WEB+DB PRESS Vol.52"></a>
  <div class="hatena-asin-detail-info">
    <p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774139300/hatena-hamazou-22/">WEB+DB PRESS Vol.52</a></p>
    <ul>
      
      <li><span class="hatena-asin-detail-label">作者:</span> <a href="http://d.hatena.ne.jp/keyword/WEB%2BDB%20PRESS%CA%D4%BD%B8%C9%F4" class="keyword">WEB+DB PRESS編集部</a>,<a href="http://d.hatena.ne.jp/keyword/B5" class="keyword">B5</a></li>
      
      <li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2" class="keyword">技術評論社</a></li>
      
      <li><span class="hatena-asin-detail-label">発売日:</span> 2009/08/22</li>
                                                      <li><span class="hatena-asin-detail-label">メディア:</span> 大型本</li>
      <li><span class="hatena-asin-detail-label">購入</span>: 17人 <span class="hatena-asin-detail-label">クリック</span>: 91回</li>
      <li><a href="http://d.hatena.ne.jp/asin/4774139300" target="_blank">この商品を含むブログ (36件) を見る</a></li>
    </ul>
  </div>
  <div class="hatena-asin-detail-foot"></div>
</div>

		</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=Bbx201eDgRM:UURsSYU8I8o:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=Bbx201eDgRM:UURsSYU8I8o:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=Bbx201eDgRM:UURsSYU8I8o:4xZOgp06t7o"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=4xZOgp06t7o" border="0"></img></a>
</div>]]></content:encoded>
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-02-16T14:41:00+09:00</dc:date>
<feedburner:origLink>http://d.hatena.ne.jp/Yoshiori/20100216/1266298860</feedburner:origLink></item>
<item rdf:about="http://d.hatena.ne.jp/Yoshiori/20100208/1265628616">
	<title> Brainf*ck を Python-oneliner にコンパイルする Python-oneliner</title>
	<link>http://feedproxy.google.com/~r/Yoshioriblog/~3/LzHo5LSmLsA/1265628616</link>
	<description> わけのかわらないタイトルですが，そのままです． import sys;from itertools import ifilterfalse, count;[globals().__setitem__(’compile’,lambda bf_src : ’[globals().__setitem__("dx",0), globals().__setitem__("dseg",[0] * 32768)] ’+bf_src.repl</description>

	<content:encoded><![CDATA[
		<div class="section">
			<p>わけのかわらないタイトルですが，そのままです．</p>
			<br>

<pre class="syntax-highlight">
<span class="synPreProc">import</span> sys;<span class="synPreProc">from</span> itertools <span class="synPreProc">import</span> ifilterfalse, count;[globals().__setitem__('<span class="synConstant">compile</span>',<span class="synStatement">lambda</span> bf_src : '<span class="synConstant">[globals().__setitem__(&#34;dx&#34;,0), globals().__setitem__(&#34;dseg&#34;,[0] * 32768)] </span>'+bf_src.replace('<span class="synConstant">[</span>','<span class="synConstant"> and [ifilterfalse(bool$( dseg#__getitem__(dx) != 0 and [ True </span>').replace('<span class="synConstant">]</span>','<span class="synConstant">  ] for i in count()))#next() ] </span>').replace('<span class="synConstant">.</span>','<span class="synConstant"> and [sys#stdout#write(chr(dseg[dx]))] </span>').replace('<span class="synConstant">+</span>','<span class="synConstant"> and [dseg#__setitem__(dx$dseg[dx] + 1 )] </span>').replace('<span class="synConstant">-</span>','<span class="synConstant"> and [dseg#__setitem__(dx$dseg[dx] - 1 )] </span>').replace('<span class="synConstant">&#62;</span>','<span class="synConstant"> and [globals()#__setitem__(&#34;dx&#34;$dx + 1 )] </span>').replace('<span class="synConstant">&#60;</span>','<span class="synConstant"> and [globals()#__setitem__(&#34;dx&#34;$dx - 1 )] </span>').replace('<span class="synConstant">,</span>','<span class="synConstant"> and [globals()#__setitem__(&#34;dx&#34;$ord(raw_input(&#34;&#62;&#34;)[0]))] </span>').replace('<span class="synConstant">#</span>','<span class="synConstant">.</span>').replace('<span class="synConstant">$</span>','<span class="synConstant">,</span>')),sys.stdout.write('<span class="synConstant">from itertools import ifilterfalse, count;</span>' + compile(sys.argv[2])) <span class="synStatement">if</span> sys.argv[1] == '<span class="synConstant">-s</span>' <span class="synStatement">else</span> eval(compile(sys.argv[1]))]
</pre>

			<p>takano32 のこれを見て</p>
			<p><a href="http://taka.no32.tk/diary/20060908.html#p01">http://taka.no32.tk/diary/20060908.html#p01</a></p>
			<ul>
				<li><a href="http://subtech.g.hatena.ne.jp/keyword/Python" class="okeyword">Python</a> でも出来るかなぁ</li>
				<li>あ，インデント意識しなきゃだから単純な置き換えじゃ出来なそうだなぁ</li>
				<li><del datetime="2010-02-08T20:30:16+09:00">インタプリタ的に置き換えよう</del>
				<ul>
					<li>ワンライナだったらいけるんじゃね？？</li>
				</ul>
				</li>
			</ul>
			<p>と思って書いてみました．</p>
<pre>
yoshiori@yoshiori-ubuntu &#91;3]$ python bf.py &#39;&#62;+++++++++&#91;&#60;++++++++&#62;-]&#60;.&#62;+++++++&#91;&#60;++++&#62;-]&#60;+.+++++++..+++.&#91;-]&#62;++++++++&#91;&#60;++++&#62;-]&#60;.&#62;+++++++++++&#91;&#60;+++++&#62;-]&#60;.&#62;++++++++&#91;&#60;+++&#62;-]&#60;.+++.------.--------.&#91;-]&#62;++++++++&#91;&#60;++++&#62;-]&#60;+.&#91;-]++++++++++.&#39;
Hello World!
</pre>

			<p>こんな感じになるのですが，これだけだと面白くないので，コンパイルしたソースも表示出来るようにしました．</p>
			<p>引数に [-s] を追加すると中間コード(<a href="http://subtech.g.hatena.ne.jp/keyword/Python" class="okeyword">Python</a>-oneliner)が出力されます．</p>
			<p>上記の Hello Workd! を表示する bf は下記のようにコンパイルされます．</p>
<pre>
yoshiori@yoshiori-ubuntu $ python bf.py -s &#39;&#62;+++++++++&#91;&#60;++++++++&#62;-]&#60;.&#62;+++++++&#91;&#60;++++&#62;-]&#60;+.+++++++..+++.&#91;-]&#62;++++++++&#91;&#60;++++&#62;-]&#60;.&#62;+++++++++++&#91;&#60;+++++&#62;-]&#60;.&#62;++++++++&#91;&#60;+++&#62;-]&#60;.+++.------.--------.&#91;-]&#62;++++++++&#91;&#60;++++&#62;-]&#60;+.&#91;-]++++++++++.&#39;
import sys;from itertools import ifilterfalse, count;&#91;globals().__setitem__(&#34;dx&#34;,0), globals().__setitem__(&#34;dseg&#34;,&#91;0] &#42; 32768)]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;globals().__setitem__(&#34;dx&#34;,dx + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;globals().__setitem__(&#34;dx&#34;,dx - 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]  and &#91;ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and &#91; True  and &#91;dseg.__setitem__(dx,dseg&#91;dx] - 1 )]   ] for i in count())).next() ]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;dseg.__setitem__(dx,dseg&#91;dx] + 1 )]  and &#91;sys.stdout.write(chr(dseg&#91;dx]))]
</pre>

			<p>これで，「難解プログラミング言語」は読めねーよ!! って人も読みやすくて有名な <a href="http://subtech.g.hatena.ne.jp/keyword/Python" class="okeyword">Python</a> に変換されるので良かったですね!!</p>
			<br>

			<p>ちなみに <a href="http://d.hatena.ne.jp/kazuhooku/">id:kazuhooku</a> の<a href="http://labs.cybozu.co.jp/blog/kazuho/archives/2006/06/bf_prime.php">マジメに素数探索</a>を実行すると</p>
			<p>1分くらいかかります．</p>
<pre>
yoshiori@yoshiori-ubuntu &#91;3]$ time python bf.py &#39;&#62;++++&#91;&#60;++++++++&#62;-]&#62;+++++++&#91;&#60;++++++++&#62;-]&#60;+&#62;+++++++++&#62;&#62;++++++++++&#91;&#60;++++++++++&#62;-]&#60;--&#91;&#62;&#91;-]&#60;&#91;-&#62;+&#62;+&#60;&#60;]&#62;&#62;&#91;-&#60;&#60;+&#62;&#62;]&#60;-&#91;&#62;&#91;-]&#60;&#60;&#91;-&#62;&#62;+&#62;+&#60;&#60;&#60;]&#62;&#62;&#62;&#91;-&#60;&#60;&#60;+&#62;&#62;&#62;]&#60;+&#91;&#62;&#62;&#91;-]&#62;&#91;-]&#60;&#60;&#91;&#62;+&#62;+&#60;&#60;-]&#62;&#62;&#91;&#60;&#60;+&#62;&#62;-]&#60;&#62;&#91;-]+&#60;&#91;&#62;-&#60;&#91;-]]&#62;&#91;-&#60;&#60;&#60;&#60;&#91;-&#62;&#62;+&#62;&#62;+&#60;&#60;&#60;&#60;]&#62;&#62;&#62;&#62;&#91;-&#60;&#60;&#60;&#60;+&#62;&#62;&#62;&#62;]&#60;&#60;+&#62;&#62;]&#60;&#60;-&#60;-]&#62; &#62;&#91;-]+&#60;&#91;&#91;-]&#62;-&#60; ]&#62;&#91;-&#60;&#62;&#62;&#91;-]+&#60;&#60;&#60;&#60;&#91;-]+&#62;&#62;&#62;]&#60;&#60;&#60;-]&#62;&#62;&#62;&#62; &#62;&#91;-]+&#60;&#91;&#91;-]&#62;-&#60; ]&#62;&#91;-&#60;&#60;&#60;&#60;&#60;&#60;&#60;&#60;.&#62;&#62;&#62;&#91;-]++++++&#91;&#60;&#60;++++++++&#62;&#62;-]&#60;&#60;.&#62;&#62;++++++&#91;&#60;&#60;--------&#62;&#62;-]&#60;&#60;&#60;&#60;.&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;]&#60;&#60;&#60;&#60;&#60;&#60;-&#62;&#62;&#91;-]&#60;&#60;&#60;&#91;-&#62;&#62;+&#62;+&#60;&#60;&#60;]&#62;&#62;&#62;&#91;-&#60;&#60;&#60;+&#62;&#62;&#62;]&#60;&#62;+&#60;&#91;&#91;-]&#62;-&#60;&#60;&#60;-&#62;&#62;]&#62;&#91;-&#60;&#60;&#60;+++++++++&#60;-&#62;&#62;&#62;&#62;]&#60;&#60;]&#39;
97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 07 05 03 02 
python bf.py   57.01s user 0.04s system 99% cpu 57.496 total
</pre>

		</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=LzHo5LSmLsA:Ru8HcdkXHpM:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=LzHo5LSmLsA:Ru8HcdkXHpM:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=LzHo5LSmLsA:Ru8HcdkXHpM:4xZOgp06t7o"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=4xZOgp06t7o" border="0"></img></a>
</div>]]></content:encoded>
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-02-08T20:30:16+09:00</dc:date>
<feedburner:origLink>http://d.hatena.ne.jp/Yoshiori/20100208/1265628616</feedburner:origLink></item>
<item rdf:about="http://d.hatena.ne.jp/Yoshiori/20100201/1264989118">
	<title>java-ja 温泉開催します!!</title>
	<link>http://feedproxy.google.com/~r/Yoshioriblog/~3/cRAyiUg73qw/1264989118</link>
	<description> java-ja 温泉開催します． java-ja 温泉とは？ Python 温泉(PySpa)にインスパイアして開催している，というか， PySpa が大体 6 月と 10 月開催なので 3 月くらいにもやらないの？ と思ったら，id:voluntasに「メンドイ，お前がやればいいじゃん」 と言われたのが元なので P</description>

	<content:encoded><![CDATA[
			<br>

		<div class="section">
			<p>java-ja 温泉開催します．</p>
			<br>

			<h4> java-ja 温泉とは？</h4>
			<p>Python 温泉(PySpa)にインスパイアして開催している，というか，</p>
			<p>PySpa が大体 6 月と 10 月開催なので 3 月くらいにもやらないの？</p>
			<p>と思ったら，<a href="http://d.hatena.ne.jp/voluntas/">id:voluntas</a>に「メンドイ，お前がやればいいじゃん」</p>
			<p>と言われたのが元なので PySpa と場所も期間も変りません．</p>
			<p>違いは「お酒飲んでもいいよ」って事だけです．</p>
			<br>

			<p>なので，ほとんど PySpa のパクりになっちゃうけど，纏めると以下になります．</p>
			<ul>
				<li>毎回言っておりますが、温泉旅行であり開発合宿でも勉強合宿でもありません。</li>
				<li>食事の時間以外は自由にしていただいて構いません。
				<ul>
					<li>参考までに ... 西尾は３日間ほとんど寝てるだけでした(第２回 Python 温泉)</li>
				</ul>
				</li>
				<li>駐車場は 3 台くらい、駅から徒歩２０分くらいなので是非電車で。</li>
				<li>24 時間使える会議室</li>
				<li>24 時間入れる温泉</li>
				<li>ホワイトボード(無料)</li>
				<li>プロジェクタ有り(無料)</li>
				<li>無線 LAN (主催者側で準備します)</li>
				<li>有線 LAN (無料、かなり高速)</li>
				<li>お茶飲み放題(お湯を準備してくれます)</li>
				<li>水飲み放題(冷たい水を準備してくれます)</li>
				<li>とても理解のある宿のご主人(元プログラマとのこと)</li>
				<li>電源タップも準備されています</li>
				<li>椅子も結構イイ椅子</li>
			</ul>
			<br>

			<h4> 参加資格</h4>
			<blockquote title="http://twitter.com/voluntas/status/8280172789" cite="http://twitter.com/voluntas/status/8280172789">
			<p>@yamashiro @yoshiori という意見がありますよ RT @tomerun: @voluntas 参加資格のところがよく分からなかったのでとまどった、というのがあります</p>
			<cite><a href="http://twitter.com/voluntas/status/8280172789">http://twitter.com/voluntas/status/8280172789</a></cite></blockquote>
			<p>簡単に言ってしまうと</p>
			<p>成人のチンコクラスタなのですが，もうすこし説明すると</p>
			<p>成人男性(何かあっても自分で責任がとれる人)</p>
			<p>です．</p>
			<p>言語とかも関係ありません．</p>
			<br>

			<p>お金が無い人!! 安心してください!!</p>
			<br>

			<br>

			<h4> java-ja 育英会</h4>
			<p>無線 LAN 完備，3 日間，朝晩飯付きで 24 時間温泉に入れて 2 万円は高くないと思うのですが，</p>
			<p>相場として高い安いは別にしても払えなくて参加出来ない人がいるのはかわいそうだよねと，</p>
			<p>参加したいっていう折角の意気込みを「お金」がネックになっちゃうのは不毛だ!!</p>
			<p>っていう男気溢れる人が参加費を負担してくれちゃいます!!</p>
			<p>なんて太っ腹!!!</p>
			<br>

			<p>最初はそういう学生とかにも参加して欲しいよねって事で立ち上がったのですが，</p>
			<p>別に学生じゃなくても良くね？って事で学生じゃなくても申し込めるので，おきがるにどうぞ!!</p>

			<table>
				<tr><td><a href="http://d.hatena.ne.jp/t_yano/">id:t_yano</a></td><td><a href="http://d.hatena.ne.jp/t_yano/20100105/1262668611">http://d.hatena.ne.jp/t_yano/20100105/1262668611</a></td></tr>
				<tr><td><a href="http://d.hatena.ne.jp/warufuzaketaichi/">id:warufuzaketaichi</a></td><td><a href="http://d.hatena.ne.jp/warufuzaketaichi/20091226/1261833543">http://d.hatena.ne.jp/warufuzaketaichi/20091226/1261833543</a></td></tr>

			</table>
			<br>

			<h4> 日時</h4>
			<p>2010/3/20, 2010/3/21, 2010/3/22の2泊3日</p>
			<br>

			<h4> 場所</h4>
			<p>熱海/来宮 芳泉閣</p>
			<p>貸し切りです</p>
			<p>すでに予約済み</p>
			<br>

			<h4>費用</h4>
			<p>2万円です．</p>
			<p>余った金額は PySpa と協力して旅館の設備(LAN環境など)にまわします．</p>
			<h4> 実際に第一回はどうだったのか？</h4>
			<p>Java 書かなきゃいけないとかの縛りもないので，みんな好き勝手に書いています．</p>
			<p>また，ボドゲとかが大好きすぎる人間が数人いるので，大ボドゲ大会が開かれたりもしました．</p>
			<p>お酒が入るのを少し心配していたのですが，そもそもその場で寝ちゃってもいい会場なので，</p>
			<p>何も問題無く終りました．</p>
			<br>

			<h4> まとめ</h4>
			<p>という事で，是非申し込んでくだしあ＞＜</p>
			<p><a href="http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E6%8D%A8Q%E5%9B%9E%E7%AC%AC%E5%BC%90%E5%9B%9Ejava-ja%E6%B8%A9%E6%B3%89">http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E6%8D%A8Q%E5%9B%9E%E7%AC%AC%E5%BC%90%E5%9B%9Ejava-ja%E6%B8%A9%E6%B3%89</a></p>
		</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=cRAyiUg73qw:8MoyuZ_OZS4:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=cRAyiUg73qw:8MoyuZ_OZS4:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Yoshioriblog?a=cRAyiUg73qw:8MoyuZ_OZS4:4xZOgp06t7o"><img src="http://feeds.feedburner.com/~ff/Yoshioriblog?d=4xZOgp06t7o" border="0"></img></a>
</div>]]></content:encoded>
	<dc:creator>Yoshiori</dc:creator>
	<dc:date>2010-02-01T10:51:58+09:00</dc:date>
<feedburner:origLink>http://d.hatena.ne.jp/Yoshiori/20100201/1264989118</feedburner:origLink></item>
<cc:License xmlns:cc="http://web.resource.org/cc/" rdf:about="http://creativecommons.org/licenses/by/2.0/"><cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits rdf:resource="http://web.resource.org/cc/Distribution" /><cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires rdf:resource="http://web.resource.org/cc/Notice" /><cc:requires rdf:resource="http://web.resource.org/cc/Attribution" /></cc:License></rdf:RDF>
