Preface

はじめに

Thanks for purchasing this book! If it was a gift, then congratulations. If, on the other hand, you downloaded it without paying, well, actually, we’re pretty happy about that too! This book is available under a free license, and that’s important because we want it to serve the community as documentation—and documentation should be free.

この本を購入してくれてありがとうございます!もしこの本が贈り物だったのであれば、おめでとうございます。もし、そうではなくて、あなたがそれをお金を支払うことなくダウンロードしたのであれば、まあ、実際、私たちはそれでもかなり嬉しいです!この本は自由なライセンスの下で入手することができますが、それは大切なことです。なぜなら、私たちはそれをドキュメントとしてコミュニティーに提供したいと思っていて、ドキュメントは自由であるべきだからです。

So, why pay for a free book? Well, you might like the warm fuzzy feeling you get from holding a book in your hands, as you cosy up on the couch with a cup of coffee. On the couch...get it? Bad jokes aside, whatever your reasons, buying the book helps support us, so we have more time to work on improvements for both the book and CouchDB. So thank you!

それでは、なぜ無料の本にお金を支払うのでしょうか。まあ、それはコーヒーを飲みながらカウチの上で心地良くなるような、自分自身の手で本を所有することで得られる温かいふわふわした気持ちが好きだからかも知れません。カウチの上で……分かりましたか。つまらないしゃれはさておき、理由が何であれ、この本を購入することは私たちへの支援につながり、そして、私たちはこの本とCouchDBとの改良により多くの時間を費やすことができます。だから、ありがとうございます!

We set out to compile the best and most comprehensive collection of CouchDB information there is, and yet we know we failed. CouchDB is a fast-moving target and grew significantly during the time we were writing the book. We were able to adapt quickly and keep things up-to-date, but we also had to draw the line somewhere if we ever hoped to publish it.

私たちは存在するCouchDBの情報の最高で最も包括的なコレクションを集めようとしました。しかし、私たちは失敗したということは分かっています。CouchDBは動きの速い目標であり、私たちがこの本を書いていた間にもかなり成長しました。私たちは素早く対応し最新のものを維持することはできましたが、それを出版することを望むのであれば、どこかで線を引かなければなりません。

At the time of this writing, CouchDB 0.10.1 is the latest release, but you might already be seeing 0.10.2 or even 0.11.0 released or being prepared—maybe even 1.0. Although we have some ideas about how future releases will look, we don’t know for certain and didn’t want to make any wild guesses. CouchDB is a community project, so ultimately it’s up to you, our readers, to help shape the project.

この文章を書いている時点では、CouchDB 0.10.1が最新のリリースですが、あなたは既に0.10.2または0.11.0、もしかすると1.0さえもがリリースされている、もしくは準備されているのを見ているかも知れません。私たちには将来のリリースがどのようなものになるかについての考えがありますが、はっきりとは分かりませんし、でたらめな推測をしたくもありません。CouchDBはコミュニティーによるプロジェクトですので、それは究極的には、読者であるみなさんがどのようにプロジェクトに携わるか次第です。

On the plus side, many people successfully run CouchDB 0.10 in production, and you will have more than enough on your hands to run a solid project. Future releases of CouchDB will make things easier in places, but the core features should remain the same. Besides, learning the core features helps you understand and appreciate the shortcuts and allows you to roll your own hand-tailored solutions.

プラスの面として、多くの人がCouchDB 0.10を本番環境で実行することに成功していて、あなたが自分自身の責任でしっかりとしたプロジェクトを運営するのにも十分以上でしょう。CouchDBの将来のリリースはいろいろな部分で使いやすくなるでしょうが、核となる機能は同じままであるべきです。加えて、核となる機能を学ぶことはショートカットを理解しその良さを理解することに役立ち、あなた自身の手に合わせた解決方法に取り掛かることができるようになるのに役立ちます。

Writing an open book was great fun. We’re happy O’Reilly supported our decision in every way possible. The best part—besides giving the CouchDB community early access to the material—was the commenting functionality we implemented on the book’s website. It allows anybody to comment on any paragraph in the book with a simple click. We used some simple JavaScript and Google Groups to allow painless commenting. The result was astounding. As of today, 866 people have sent more than 1,100 messages to our little group. Submissions have ranged from pointing out small typos to deep technical discussions. Feedback on our original first chapter led us to a complete rewrite in order to make sure the points we wanted to get across did, indeed, get across. This system allowed us to clearly formulate what we wanted to say in a way that worked for you, our readers.

オープンな本を書くことは非常に楽しいことでした。私たちはオライリーが私たちの決定を出来る限りのあらゆる方法で支持してくれたことを嬉しく思います。CouchDBコミュニティーが早期に資料にアクセスできるようにしたことの他に、最も良かったことは、この本のウェブサイトにコメント機能を実装したことでした。それにより簡単なクリックで誰でもこの本のどの段落にでもコメントできるようになりました。私たちは簡単なJavaScriptとGoogleグループを使って簡単にコメントできるようにしました。その結果は驚くべきものでした。今日の時点で、866人が1100件以上のメッセージを私たちの小さなグループに送信しています。その内容は小さなタイプミスから深い技術的な議論にまで及びました。元々の最初の章へのフィードバックによって、私たちは伝えたかった点を確かにするために完全に書き直すことになり、実際に伝えることができました。このシステムによって私たちは読者であるみなさんに何を言いたかったのかを明確に表すことができました。

Overall, the book has become so much better because of the help of hundreds of volunteers who took the time to send in their suggestions. We understand the immense value this model has, and we want to keep it up. New features in CouchDB should make it into the book without us necessarily having to do a reprint every thee months. The publishing industry is not ready for that yet, but we want to continue to release new and revised content and listen closely to the feedback. The specifics of how we’ll do this are still in flux, but we’ll be posting the information to the book’s website the first moment we know it. That’s a promise! So make sure to visit the book’s website at http://books.couchdb.org/relax to keep up-to-date.

全体的にこの本はとても良いものになりました。なぜなら何百人ものボランティアが提案を送るために時間を費やしたからです。私たちはこのモデルの持っている計り知れない価値を理解し、それを維持したいと思います。CouchDBの新しい機能は3か月ごとに再版することなしにこの本に組み込まれなければなりません。出版業界はまだその準備が出来ていませんが、私たちは新しい改訂された内容をリリースし続け、フィードバックに耳を傾け続けていきたいと思います。どのようにそれを行うかの詳細はまだ流動的ですが、私たちは気付いたことはすぐにこの本のウェブサイトに情報として掲載するでしょう。それは約束します!そのため、情報を最新に保つためにこの本のウェブサイト(http://books.couchdb.org/relax)を訪問するようにしてください。

Before we let you dive into the book, we want to make sure you’re well prepared. CouchDB is written in Erlang, but you don’t need to know anything about Erlang to use CouchDB. CouchDB also heavily relies on web technologies like HTTP and JavaScript, and some experience with those does help when following the examples throughout the book. If you have built a website before—simple or complex—you should be ready to go.

あなたがこの本を読み始める前に、あなたの準備が十分であることを確認したいと思います。CouchDBはErlangで書かれていますが、CouchDBを使うのにErlangについて何か知る必要はありません。CouchDBはHTTPやJavaScriptといったウェブテクノロジーにも強く依存しています。そして、それらについての経験はこの本の例を追うときに役立ちます。もし、あなたが以前にウェブサイトを構築したことがあれば、それが簡単なものであれ複雑なものであれ、きっと準備は出来ているはずです。

If you are an experienced developer or systems architect, the introduction to CouchDB should be comforting, as you already know everything involved—all you need to learn are the ways CouchDB puts them together. Toward the end of the book, we ramp up the experience level to help you get as comfortable building large-scale CouchDB systems as you are with personal projects.

もし、あなたが経験豊かな開発者やシステムアーキテクトであれば、CouchDBへの入門は安心なはずです。なぜなら、あなたはすでに関連することをすべて知っていて、あなたが学ばなければならないことはCouchDBがそれらをまとめるために用いている方法だけだからです。この本の終わりに向かって、あなたが個人的なプロジェクトで用いることができるような大規模なCouchDBシステムの構築するのに十分となるよう、私たちは経験のレベルを上げていきます。

If you are a beginning web developer, don’t worry—by the time you get to the later parts of the book, you should be able to follow along with the harder stuff.

もし、あなたがウェブ開発の初心者であれば、心配はいりません。あなたがこの本の後半部分に到達するころには、きっと難しい問題にもついていくことができるはずです。

Now, sit back, relax, and enjoy the ride through the wonderful world of CouchDB.

さて、座って、リラックスして、CouchDBの素晴らしい世界の旅を楽しんでください。

Acknowledgments

J. Chris

I would like to acknowledge all the committers of CouchDB, the people sending patches, and the rest of the community. I couldn’t have done it without my wife, Amy, who helps me think about the big picture; without the patience and support of my coauthors and O’Reilly; nor without the help of everyone who helped us hammer out book content details on the mailing lists. And a shout-out to the copyeditor, who was awesome!

私はCouchDBのすべてのコミッター、パッチを送ってくれた人、そしてコミュニティーのその他のすべての人に感謝したいと思います。私は妻Amyなしではこの本を書くことはできませんでした。彼女は私が全体像を考えるのを助けてくれました。共著者とオライリーの忍耐と支援なしでは、私はこの本を書くことはできませんでした。そして、私たちが本の内容の詳細を考え出すのをメーリングリストで助けてくれたすべての人の助けなしでは、私はこの本を書くことはできませんでした。そして、すばらしい編集者に感謝します!

Jan

I would like to thank the CouchDB community. Special thanks go out to a number of nice people all over the place who invited me to attend or talk at a conference, who let me sleep on their couches (pun most definitely intended), and who made sure I had a good time when I was abroad presenting CouchDB. There are too many to name, but all of you in Dublin, Portland, Lisbon, London, Zurich, San Francisco, Mountain View, Dortmund, Stockholm, Hamburg, Frankfurt, Salt Lake City, Blacksburg, San Diego, and Amsterdam: you know who you are—thanks!

私はCouchDBコミュニティーに感謝したいと思います。会議に出席したり話をしたりできるよう招待してくれた人、(ほとんど確実に予定されたしゃれですが)カウチの上で眠らせてくれた人、そしてCouchDBを紹介するために海外に行ったときに良い時間を過ごすことができるようしてくれた人、これらのいろいろな場所にいる多くの素晴らしい人たちに特に感謝します。多すぎるかも知れませんが、ダブリン、ポートランド、リスボン、ロンドン、チューリッヒ、サンフランシスコ、マウンテンビュー、ドルトムント、ストックホルム、ハンブルク、フランクフルト、ソルトレイクシティ、ブラックスバーグ、サンディエゴ、そしてアムステルダムのすべてのあなたに。あなたは自分自身をよく知っています。ありがとうございます!

To my family, friends, and coworkers: thanks you for your support and your patience with me over the last year. You won’t hear, “I’ve got to leave early, I have a book to write” from me anytime soon, promise!

私の家族、友達、そして同僚に。昨年の私への支援と忍耐をありがとうございます。「私は早退する。本を書かないといけないんだ」と私が言うのを聞くことは、近いうちになくなるでしょう。約束します!

Anna, you believe in me; I couldn’t have done this without you.

Anna、あなたは私を信じています。私はあなたなしではこの本を書くことはできませんでした。

Noah

I would like to thank O’Reilly for their enthusiasm in CouchDB and for realizing the importance of free documentation. And of course, I’d like to thank Jan and J. Chris for being so great to work with. But a special thanks goes out to the whole CouchDB community, for making everything so fun and rewarding. Without you guys, none of this would be possible. And if you’re reading this, that means you!

私はCouchDBに熱中し、自由なドキュメントの重要性を理解してくれたオライリーに感謝したいと思います。そしてもちろん、一緒に素晴らしい仕事をしたJanとJ. Chrisに感謝したいと思います。しかし、特に感謝したいのは、すべてを楽しく価値あるものにしてくれたCouchDBコミュニティー全体に対してです。彼らなしでは、どれも実現することはできなかったでしょう。そして、もしあなたがこれを読んでいるなら、あなたにも感謝したいと思います!