RelaxCafe@CouchDB break.4

1,721 views

Published on

CouchDB Hackathon Presentation

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,721
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RelaxCafe@CouchDB break.4

  1. 1. RelaxCafe@CouchDBbreak.4<br />id: yssk22 (CouchDB-JP)<br />
  2. 2. 本日のbreakについて<br />CouchDB + Hackathon = Relaxon<br />CouchDB をいじってみる会。<br />CocuhDB本勉強会の一環<br />ハッシュタグは #relaxonで。<br />
  3. 3. Agenda<br />懇親会出欠確認。<br />進行について<br />ネタ紹介<br />rTunes<br />Amebaなう<br />2ch ビューア<br />CouchDB on GAE<br />... <br />初めてさわる方向けへのガイダンス<br />Free Hack & Relax Time<br />
  4. 4. 懇親会について<br />神田橋『江戸しぐさ』 <br />5000円<br />
  5. 5. 進行について(1)<br />オープニング終了後からは基本的にはFree Hack タイムです。<br />CouchDB使ったことがある<br />No<br />Yes<br />ネタがある<br />No<br />Yes<br />初心者ガイダンスを参考に<br />ネタに参加<br />黙々と作業<br />
  6. 6. 進行について(2)<br />次のタイミングでCouchDB本のことを少し触れます<br />13:30 | 10. スタンドアローンアプリケーション<br />14:45| 11. デザインドキュメントの管理<br />15:45| 12. ドキュメントの保存<br />16:45 | 13. 任意の書式によるドキュメントの表示<br />17:45 | 14. ブログエントリのリスト表示<br />ネタの進捗などの発表は、上記タイミングの都度確認しますので5分程度でお願いします<br />
  7. 7. ネタ紹介<br />http://groups.google.co.jp/group/couchdb-jp/web/couchdb-hackathon-relaxon<br />一言。<br />
  8. 8. rTunes(仮)<br />CouchDBの柔軟なモデルを利用して、mp3やmp4のメタデータを管理するメディアアプリケーションの開発を試みます。iTunes XMLやTV番組表のEPGデータをCouchDBに投入することによって、自由なデータのカスタマイズを体験しよう、というものです。<br />
  9. 9. Amebaなうを増殖させるなう<br />今やTwitterの外部バックアップアプリケーションは今や一般的なものとなりましたが、新しく登場するAmebaナウも当然そのような第三者アプリケーションが出てくることが期待されます。そこで、CouchDBを使って、Amebaナウのつぶやきをバックアップし、レプリケーションシステムを使ってどんどん増殖させるようなシステムを試してみます。<br />
  10. 10. 2chビューアを作ろう<br />2chはドキュメントの塊で、1つ1つのスレにはIDが付くのでドキュメント指向DBで管理するにはうってつけ、のような気がします。デザインドキュメントでビューアを作るのは自然な流れな気がします。<br />そこで今流行の録画機のように、あるキーワードについて検索した結果のスレを勝手に溜め込む部分と、溜め込まれたスレを見るビューアと2つの部分を作ってみたいと思います。皆でレプリケーションができればDAT落ちも怖くない?<br />
  11. 11. CouchDBをGAEに実装したいのよぅ<br />CouchDBの問題はアプリケーションを簡単にホスティングする環境がない点です。現状だと、自分でサーバーを持たないといけません。できるかどうかわかりませんが、Google App Engine上にお気楽なCouchDBの環境を実装することを考えてみようと思います。畳の上にソファを強引に持ってくる感じで。<br />
  12. 12. 他あれば。 <br />
  13. 13. 初心者向けガイダンス<br />とりあえず以下を試してみることを推奨<br />インストール<br />Futon 操作<br />HTTP操作<br />デザインドキュメント<br />MapReduce<br />Show / List <br />参考になりそうなサイトを紹介します。<br />
  14. 14. 参考になるサイト<br />CouchDB: The Definitive Guide<br />コミッターによる著書<br />http://books.couchdb.org/relax/<br />一部日本語化完了<br />http://tinyurl.com/ycrvuv6<br />developerWorks記事<br />http://tinyurl.com/yanzkld<br />@IT 記事<br />http://tinyurl.com/ycwbx5d<br />
  15. 15. インストール<br />MacPorts<br />port install couchdb<br />Linux (apt)<br />apt-get install couchdb<br />Linux (他)<br />ソースからビルド<br />Windows<br />バイナリインストーラー<br />http://tinyurl.com/ybqyd6g<br />
  16. 16. Futon操作<br />FutonはCouchDBの管理コンソール<br />http://localhost:5984/_utilsにアクセス<br />DB作成<br />ドキュメント作成<br />レプリケーション<br />Definitive Guide の 03. Getting Started の部分<br />
  17. 17. HTTP操作<br />CouchDBは全てのオペレーションをHTTPで実行<br />GET – ドキュメントの取得<br />POST – ドキュメントの作成<br />PUT – ドキュメントの更新<br />DELETE – ドキュメントの削除<br />curl コマンドを使えば簡単に確認できます。<br />Definitive Guide の 04. The Core API の部分<br />
  18. 18. MapReduce<br />CouchDB はクエリ相当のタスクをMapReduceで記述<br />Definitive Guide の 06. Finding Your Data with Views の部分<br />詳細は dW記事の第3回参照<br />
  19. 19. Show / List<br />CouchDBでは、データをフォーマットしてクライアントに返す機能をDBで提供<br />ある意味アプリケーションサーバーとして動作<br />Definitive Guide の 08. Show Functions / 09. Transforming Views with List Functions の部分<br />この機能を使うと完結したアプリケーションをCouchDBだけで提供可能<br />@IT 記事の第2回参照<br />
  20. 20. 開発Tips<br />CouchApp<br />CouchDB + 他のWebフレームワークを使う場合<br />jQuery + CouchDB<br />CouchDB自体の挙動を変える<br />
  21. 21. CouchApp<br />Pythonで作られたCouchDBスタンドアローンアプリケーションデプロイツール<br />$ couchapp generate app<br />$cd app<br />$ couchapp push<br />で簡単にデプロイができます。<br />easy_installcouchappでOK<br />
  22. 22. CouchDB + 他のWebフレームワークを使う場合<br />PHP / Ruby / Java 等でいろいろライブラリあります。<br />Ruby – CouchRest, CouchPotato<br />PHP – PHPillow<br />Python – couchdb-python<br />
  23. 23. jQuery + CouchDB<br />Futonで使われているJavaScriptユーティリティ<br />${COUCH_SRC}/share/www/script<br />http://localhost:5984/_utils/script<br />couch.js<br />Ajax を使ったCouchDBアクセスライブラリ<br />jquery.couch.js<br />jQueryを使ったCouchDBアクセスライブラリ<br />
  24. 24. CouchDB自体を変える<br />開発用ビルドは make dev すればよい。<br />./utils/run で起動する<br />Erlang拡張をする場合は ソースを直接書き換える / Hovercraft を使う等<br />Hovercraft<br />CouchDB のデータベースを(HTTPを使わず)直接いじるためのErlangライブラリ<br />
  25. 25. CouchDB: The Definitive Guide基本情報<br />http://books.couchdb.org/relax/<br />Creative Commons 3.0 Unported ライセンス<br />Author:<br />J. Chris Anderson, Jan Lehnardt, Noah Slater<br />本書に関するコメントは、Google Group まで。<br />Relax with CouchDB<br />http://groups.google.com/group/couchdb-relax<br />

×