relaxcafe@couchdb break.4

25
RelaxCafe@CouchDB break.4 id: yssk22 (CouchDB-JP)

Upload: yohei-sasaki

Post on 22-Jun-2015

1.439 views

Category:

Technology


0 download

DESCRIPTION

CouchDB Hackathon Presentation

TRANSCRIPT

Page 1: RelaxCafe@CouchDB break.4

RelaxCafe@CouchDB break.4

id: yssk22 (CouchDB-JP)

Page 2: RelaxCafe@CouchDB break.4

本日の break について CouchDB + Hackathon = Relaxon

CouchDB をいじってみる会。CocuhDB 本勉強会の一環

ハッシュタグは #relaxon で。

Page 3: RelaxCafe@CouchDB break.4

Agenda1. 懇親会出欠確認。2. 進行について3. ネタ紹介

1. rTunes

2. Ameba なう3. 2ch ビューア4. CouchDB on GAE

5. ...

6. 初めてさわる方向けへのガイダンス

4. Free Hack & Relax Time

Page 4: RelaxCafe@CouchDB break.4

懇親会について 神田橋『江戸しぐさ』

5000 円

Page 5: RelaxCafe@CouchDB break.4

進行について (1) オープニング終了後からは基本的には Free Hack

タイムです。

CouchDB使ったことがある

Yes

ネタがある

初心者ガイダンスを参考にネタに参加黙々と作業

No

Yes

No

Page 6: RelaxCafe@CouchDB break.4

進行について (2) 次のタイミングで CouchDB 本のことを少し触れ

ます 13:30 | 10. スタンドアローンアプリケーション 14:45 | 11. デザインドキュメントの管理 15:45 | 12. ドキュメントの保存 16:45 | 13. 任意の書式によるドキュメントの表示 17:45 | 14. ブログエントリのリスト表示

ネタの進捗などの発表は、上記タイミングの都度確認しますので 5 分程度でお願いします

Page 8: RelaxCafe@CouchDB break.4

rTunes(仮 )

CouchDB の柔軟なモデルを利用して、mp3 や mp4 のメタデータを管理するメディアアプリケーションの開発を試みます。 iTunes XML や TV 番組表の EPGデータを CouchDB に投入することによって、自由なデータのカスタマイズを体験しよう、というものです。

Page 9: RelaxCafe@CouchDB break.4

Amebaなうを増殖させるなう 今や Twitter の外部バックアップアプリ

ケーションは今や一般的なものとなりましたが、新しく登場する Ameba ナウも当然そのような第三者アプリケーションが出てくることが期待されます。そこで、CouchDB を使って、 Ameba ナウのつぶやきをバックアップし、レプリケーションシステムを使ってどんどん増殖させるようなシステムを試してみます。

Page 10: RelaxCafe@CouchDB break.4

2chビューアを作ろう 2ch はドキュメントの塊で、 1 つ 1 つのスレに

は ID が付くのでドキュメント指向 DB で管理するにはうってつけ、のような気がします。デザインドキュメントでビューアを作るのは自然な流れな気がします。

そこで今流行の録画機のように、あるキーワードについて検索した結果のスレを勝手に溜め込む部分と、溜め込まれたスレを見るビューアと 2 つの部分を作ってみたいと思います。皆でレプリケーションができれば DAT落ちも怖くない ?

Page 11: RelaxCafe@CouchDB break.4

CouchDBをGAEに実装したいのよぅ CouchDB の問題はアプリケーションを

簡単にホスティングする環境がない点です。現状だと、自分でサーバーを持たないといけません。できるかどうかわかりませんが、 Google App Engine 上にお気楽な CouchDB の環境を実装することを考えてみようと思います。畳の上にソファを強引に持ってくる感じで。

Page 12: RelaxCafe@CouchDB break.4

他あれば。 

Page 13: RelaxCafe@CouchDB break.4

初心者向けガイダンス とりあえず以下を試してみることを推奨

インストールFuton 操作HTTP 操作デザインドキュメント

○ MapReduce○ Show / List

参考になりそうなサイトを紹介します。

Page 14: RelaxCafe@CouchDB break.4

参考になるサイト CouchDB: The Definitive Guide

コミッターによる著書○ http://books.couchdb.org/relax/

一部日本語化完了○ http://tinyurl.com/ycrvuv6

developerWorks 記事http://tinyurl.com/yanzkld

@IT 記事http://tinyurl.com/ycwbx5d

Page 15: RelaxCafe@CouchDB break.4

インストール MacPorts

port install couchdb Linux (apt)

apt-get install couchdb Linux ( 他 )

ソースからビルド Windows

バイナリインストーラー○ http://tinyurl.com/ybqyd6g

Page 16: RelaxCafe@CouchDB break.4

Futon 操作 Futon は CouchDB の管理コンソール http://localhost:5984/_utils にアクセス

DB 作成ドキュメント作成レプリケーション

Definitive Guide の 03. Getting Started の部分

Page 17: RelaxCafe@CouchDB break.4

HTTP 操作 CouchDB は全てのオペレーションを

HTTP で実行GET – ドキュメントの取得POST – ドキュメントの作成PUT – ドキュメントの更新DELETE – ドキュメントの削除curl コマンドを使えば簡単に確認できます。

Definitive Guide の 04. The Core API の部分

Page 18: RelaxCafe@CouchDB break.4

MapReduce

CouchDB はクエリ相当のタスクをMapReduce で記述

Definitive Guide の 06. Finding Your Data with Views の部分

詳細は dW 記事の第 3回参照

Page 19: RelaxCafe@CouchDB break.4

Show / List CouchDB では、データをフォーマットしてク

ライアントに返す機能を DB で提供ある意味アプリケーションサーバーとして動作

Definitive Guide の 08. Show Functions / 09. Transforming Views with List Functions の部分

この機能を使うと完結したアプリケーションをCouchDB だけで提供可能@IT 記事の第 2回参照

Page 20: RelaxCafe@CouchDB break.4

開発 Tips

CouchApp CouchDB + 他の Web フレームワーク

を使う場合 jQuery + CouchDB CouchDB 自体の挙動を変える

Page 21: RelaxCafe@CouchDB break.4

CouchApp

Python で作られた CouchDB スタンドアローンアプリケーションデプロイツール

$ couchapp generate app

$ cd app

$ couchapp push

で簡単にデプロイができます。

easy_install couchapp で OK

Page 22: RelaxCafe@CouchDB break.4

CouchDB + 他の Web フレームワークを使う場合 PHP / Ruby / Java 等でいろいろライブ

ラリあります。Ruby – CouchRest, CouchPotatoPHP – PHPillowPython – couchdb-python

Page 23: RelaxCafe@CouchDB break.4

jQuery + CouchDB

Futon で使われている JavaScriptユーティリティ${COUCH_SRC}/share/www/scripthttp://localhost:5984/_utils/script

couch.js○ Ajax を使った CouchDB アクセスライブラリ

jquery.couch.js○ jQuery を使った CouchDB アクセスライブラ

Page 24: RelaxCafe@CouchDB break.4

CouchDB 自体を変える 開発用ビルドは make dev すればよい。

./utils/run で起動する

Erlang 拡張をする場合は ソースを直接書き換える / Hovercraft を使う等Hovercraft

○ CouchDB のデータベースを (HTTP を使わず )直接いじるための Erlang ライブラリ

Page 25: RelaxCafe@CouchDB break.4

CouchDB: The Definitive Guide基本情報 http://books.couchdb.org/relax/ Creative Commons 3.0 Unported ライセン

スAuthor:

○ J. Chris Anderson, Jan Lehnardt, Noah Slater

本書に関するコメントは、 Google Group まで。Relax with CouchDB

○ http://groups.google.com/group/couchdb-relax