[CouchDB] Definitive Guide のイントロダクション読むぐらいだったらこれを読むべき

というのは冗談ですが、いろいろWebをあさっていたらIBMで以下のドキュメントが公開されていることに、今更ながら気がつきました。なんで誰も教えてくれなかったんだ、、というのはおいといて。。。

http://www.ibm.com/developerworks/jp/lotus/ldd_tsurezure/index.html?S_TACT=105AGX90&S_CMP=EDU

CouchDBLotus Notes/Domino は別物ですが、Notes のよい?ところと Web のよいところをもってきて、Erlang で実装したらこうなったら、CouchDBとかいう名前がついていた、的なものですから、CouchDBに興味のある方も、Notesに興味のある方も、Notesをなんとかしたいぜ、って思ってる方も見るべきドキュメントかと。技術記事ですが、殆ど哲学的な内容ですので、電車の中で読めばOKなものです。

もちろん、10年以上前に書かれた記事ですから、当然今の状況を踏まえて読む必要がありますが。

ちょっとだけ引用します。

そこでノーツのとった方法は一つ一つの文書の名前ともなるユニークなキーを時間をベースに作成し、さらに作成日時や変更日時、そして変更回数などの履歴情報をすべての文書に持たせました。さらにフィールド単位で複製ができるように各フィールドにも変更された履歴を持たせてあります。

http://www.ibm.com/developerworks/jp/lotus/ldd_tsurezure/vol3.html

前半はCouchDBでも同じ(_revフィールド)。後半のフィールド単位の履歴、はまだ実装されていません、とか。

しかしここでもう一つ問題が発生します。長い間データベースを使っているとデータベースが削除スタブだらけになってしまうのです。ここでノーツはもう一つの『良い諦め』をしています。ある日数がたったらもう削除スタブは自動的に消してしまうのです。通常では90日がこの日数で、もし90日以上複製をとらないと、正しく削除の情報は複製されません。しかしコンピューターの世界で90日も通信しないシステムはないと考えれば、やはり無難な選択と言えるでしょう。過去は諦める、これもやはり『良い諦め』の一つと言えるでしょう。

http://www.ibm.com/developerworks/jp/lotus/ldd_tsurezure/vol3.html

ノーツは自動的にコンパクションするようですね。ネットワーク全盛のクラウド(笑)時代で90日、はあり得ないので、1週間ぐらいでコンパクションでいいんじゃないでしょうか。cronに設定してください。

重いけど機能が豊富なノーツクライアント、機能はやや落ちても安くて軽いブラウザー。これが現状での端的なそれぞれの表現かもしれません。しかし本当にそれだけでその選択ができるのでしょうか。機能が豊富であるということは、あくまでユーザーにとって必要な業務の実現をできるレベルを満たしているかいないかが基準ではないでしょうか。ユーザーの必要な業務がブラウザーのレベルで十分簡単に実現できるのであれば、それは豊富な機能と言えるかもしれません。その時ノーツクライアントはあまりに余分な機能をもつクライアントでしかなくなるかもしれません。

http://www.ibm.com/developerworks/jp/lotus/ldd_tsurezure/vol22.html

あーあ。。。

Python Hackation #3 で話します。

http://d.hatena.ne.jp/yssk22/20100108#1262965119 で少し書きましたが、来週23日(土)の予定がゲットできなそうな雰囲気(講演会の当選通知が来ない...)なので、Python Hackathon に行くことになります。CouchDBの紹介(15min)と、Hands-on やります。すごい会場とすごい人数なんですが(笑。

そんなわけで、Python初心者がお邪魔しますが、CouchDBのハンズオンがあるので、手を動かしたい人向けのチュートリアルを"日本語"で作ろうと思います。で、OSC辺りでは英語版も作っておこうかな、と。生活が変わって、あまり趣味でソースコードを書く時間がとれないので、こういったマテリアル系で日本のコミュニティにも、海外のコミュニティにも貢献していきたいですね。

実は、去年からPythonを少し触っていて、今年はますますPythonをしっかりやらねば、な状況なので、天命なんでしょうかね。ここ最近こういうのがおおいです。

で、公開。

この前やったRelaxonのテキストメモの体裁を整えながら、Sphinx 化していくんだけれど、、

http://dl.dropbox.com/u/219436/CouchDB/PythonHackathon3/handson/_build/html/index.html

これ、、普通に本書いているのと変わらなくないか?、と思ったら負けだよなぁ。

Definitive Guide 読んだ方がいい?

いやまぁそうなんですけど、Definitive Guide は一通り読んでみて、エバンジェルための本でしかないことに気がついてしまったので(一通り読めばOK、、じゃなかった)、意識してもっと実用的な内容をハンズオンしたいと思っています。今できているところでは、CouchDBのドキュメントの削除って実際なんなの?とか、添付ファイルの作り方2通りあるけどなんで?とか、書いておきました。

さくさくさくさく書けるのは、おそらく、Sphinx + reSTの組み合わせが執筆に最強だから。MS Word じゃこの爽快感は得られない。