2010年2月21日日曜日

デブサミ2010 - 出張!DDD難民救済キャンプで話してきました

DDD読書会@JavaEE勉強会代表として、「DDD難民に捧ぐ」の佐藤さん、読書会主催syの角田さん、思想系プログラマの和智さん、モデレータのt-wadaさんと一緒にパネルをさせていただきました。
推進派の佐藤さん、懐疑派の角田さん、受託開発現場の立場から自分、言葉を重視する立場から和智さんと、短い時間ながら立場を明確にしたパネルができたと思っています。


パネルの内容自体に関しては、SlideShareをながめながらtsudaってくれた方のTweet(#devsumi2010ハッシュタグ)を眺めれば、おおよその話は見えてくると思います。特に@yattom さんがとても詳細にtsudaってくださっています。
# yattomさんありがとうございます!
というわけで、ここでは内容について書くかわりに、パネルができる過程で起きた「ZENに導かれたブレイクスルー」とでもいうべき転換点について書き残しておきます。

ZENに導かれたブレイクスルー
当日パネルでお話した内容のほかにも、DDDについて話したいことは山ほどありまして、打ち合わせの段階ではThe bookについてのより体系的な紹介や、最近のDDDコミュニティの広がり、実装レベルの具体的な話、BDDやTDD、DSL、PoEAA、アナリシスパターンなど他のアプローチとの関係などなど多くのトピックが候補としてあげられていました。
# 機会があればこれらも何かしらの形でまとめられれば、と思いますが

パネルのタイトルは「出張!DDD難民救済キャンプ」なので、当初はパネルを聞いた人ができる限りDDDの内容を持って帰れることを目指して進めていました。が、これらの内容を50分で、しかもパネルの形式で伝えきるのは明らかに無理があります。やればやるほどパネル形式を取る意味がわからなくなってきて、一度行き詰まりました。

スライドを見ればわかるとおり、僕らはプレゼンテーションZEN廚状態でした。
「PCから離れよう」
このZENの教えに従い、僕らは一度PCを閉じ、これまでの方針を忘れて一から考え直すことにしました。

今回のパネルでは、ZENの言う主要なメッセージは一体何になるのか?つまり、来てくれた人が会場を出るときに持っていて欲しいものは一体何なのか?複数人が議論する「パネル」という形式でも主要なメッセージというのは可能なのか?パネリストがそれぞれ違う意見を持っているのではないか?それぞれが伝えたいことは何なのか?考えの違いを超えて伝えたいことはあるのか?

こうして考えた結果、The bookの内容紹介やDDDの近況については思い切って省略し、かわりにDDDに対する自分たちのポジションを明確に打ち出す方向に転換しました。その上で、個々のメッセージを超えて、会場に来てくれた人に「ちょっとDDDについて調べてみようか」と思ってもらえるようにしたい。これが僕らのメッセージであり、このことに気づいたこの出来事が僕たちにとってのブレイクスルーだった、ということになっています。この思いが暴走した結果、「1、2、3、ディーーー!」みたいな事故が起きたわけですがw

DDDをはじめてみよう!
実際のところ、どうだったんでしょう?メッセージ、伝わったんでしょうか?僕らはただの痛い人になってしまったんでしょうか?痛い人なのは全然かまわないんですが、少しでもDDDに興味を持ってくれる人がいたなら幸甚です。

2010年2月17日水曜日

共訳させていただいた「実用Git」が発売になります


このたび発売になる「実用Git」を、hirataraさんkaisehさんと共訳させていただきました。きょう配本だそうなので、ぼちぼち書店に並ぶのではないかと思います。

この本は、前から順番に読みつつ出てくるコマンドを叩いていくことで、自然とGitが内部構造も含めてわかるようになっていることが特徴です。Gitを理解するには内部構造を知ることが近道なのですが、概念的な話だけでは頭に入ってきません。この本では、実際にリポジトリを用意し、コマンドを順に試していくことで、日常の作業と内部構造がつながりをもって理解できるように構成されています。
コマンド出力も丁寧に載せられているので、Git環境が手元にない場合でも、実際にGitを使っているように学ぶことができます。

自分自身、この翻訳をはじめた時は特にGitに詳しいわけではありませんでした。しかし、翻訳をすすめてGitを理解するにつれて、バージョン管理システムをもっとうまく使うことで、今の開発をよりよくできることに気づきました。いま開発でCSV/Subversionをなんとなく使っている人も、この本を読むことで開発をよりよくする道が見えるのではないかと思います。カオスなソースコード管理に悩んでいる人にもおすすめできる本です。興味がわきましたら、ぜひ読んでみてください。

ちなみに、本には直接関係ありませんが、この本の翻訳もGitを使って進められました。
  • 翻訳者3人による編集
  • 監訳者吉藤さんによる監訳
  • オライリー・ジャパンの宮川さんによる編集
こうした分散作業をGitで行っています。もしこういう仕事の進め方に興味がわいたなら、日本語版で追加された、瀧内元気さんによる「GitHub入門」や、hirataraさんによる「Gitにおける日本語の利用」が役に立つかもしれません。