Upload
yohei-sasaki
View
1.302
Download
2
Embed Size (px)
DESCRIPTION
CouchDB 勉強会で発表した内容です。
Citation preview
CouchDB or Erlang を使ってやってみたいアプリケーション
20090623webjourneyorg
Yohei Sasaki yssk22
自己紹介
Yohei Sasaki httpwwwyssk22info 仕事の時は ysasaki2
developerWorks に CouchDB の記事を書いてます 5 回連載 3 ヶ月で終わる予定が 1 年で 4 回
orz
趣味の時は yssk22 (larr 今日はこっち ) httpdhatenanejpyssk22
WebJourneyhttpjournalmycomcojpserieswebtool026indexhtml
WebJourney
iGoogle を Rails で作ってみたもの jQuery + Rails + CouchDB 090 で実
装 昔は MySQL( その話は後ほど )
さらに今なら OpenSocial
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
自己紹介
Yohei Sasaki httpwwwyssk22info 仕事の時は ysasaki2
developerWorks に CouchDB の記事を書いてます 5 回連載 3 ヶ月で終わる予定が 1 年で 4 回
orz
趣味の時は yssk22 (larr 今日はこっち ) httpdhatenanejpyssk22
WebJourneyhttpjournalmycomcojpserieswebtool026indexhtml
WebJourney
iGoogle を Rails で作ってみたもの jQuery + Rails + CouchDB 090 で実
装 昔は MySQL( その話は後ほど )
さらに今なら OpenSocial
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
WebJourneyhttpjournalmycomcojpserieswebtool026indexhtml
WebJourney
iGoogle を Rails で作ってみたもの jQuery + Rails + CouchDB 090 で実
装 昔は MySQL( その話は後ほど )
さらに今なら OpenSocial
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
WebJourney
iGoogle を Rails で作ってみたもの jQuery + Rails + CouchDB 090 で実
装 昔は MySQL( その話は後ほど )
さらに今なら OpenSocial
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
さらに今なら OpenSocial
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
OpenSocial + CouchDB= Open Web Application OpenSocial
自由にアプリケーションを持ち運べる
データとアプリケーションに明確な境界など要らない
CouchDB 自由にデータを持ち運べる
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
CouchDB で始めるActiveRecord からの脱却
20090623webjourneyorg
Yohei Sasaki yssk22
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
これからの話
CouchDB に興味があって最近始めた ~ CouchDB のアプリを作ってみようかなって思い始めた 人くらいを主なターゲットにしています
Rails 使い が CouchDB のアプリを作ってみようかなーと思い始めたときの話
Relational DB から CouchDB へのreplace
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
長年の悩み Gadget を RDB に保存するのは難しい Gadget のデータスキー
マはユーザーが追加するまで決められない
Gadget は必要に応じて追加開発するから最初からスキーマを定義できない
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
そうはいっても ActiveRecord + MySQL
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
ActiveRecord による実装
pages
gadget_instances
gadgets
pages - 各ページのデータgadget_instances - ページに貼り付けられた gadget のデータgadgets - サイトにインストールされた gadget のマスターデータ
意外と簡単そう
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
ActiveRecord による実装
pages
gadget_instance
gadget
class GadgetInstance lt ActiveRecordBase validates_length_of title validates
serialize parametersend
結局 KeyValue にシリアライズ
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
GadgetInstanceparameters
Gadget 開発者がそれぞれの Gadget アプリケーションに応じて利用可能なフィールド RSS のフィード URL Blog Parts のような JavaScript スクリプト
giparameters[feed_url] = httpとかgiparameters[script][src] = httpとか
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
抱える問題 = クエリ
Gadget データを RDB に入れるのは簡単 ADONET の場合 XML 列に Mapping (SQL Server) Rails の場合 YAML で放り込む
Object rarr XMLYAML は比較的楽
しかしクエリで取り出せない罠 XQuery 勉強する暇あったら ORM なんか使いません
よ 玉石混交のユーザーデータをフィルタできないなん
て 例えば Feed Gadget なら設定された URL のランキング
をとりたいとか
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
そこで CouchDB
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
きっかけ
ロゴが気に入った 勉強する時間が欲しかった
特に Erlang HTTP JSON
MapReduce これなら JavaScript でクエリでき
る
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
Active Record =gt CouchDB移植開始 中のロジックを変えるのが面倒だったの
で ActiveRecord とインターフェースをそろえた CouchDB Mapper 作る
3 ヶ月ぐらいでいい加減実装完了 CouchResource
httpgithubcomyssk22couch_resourcetreemaster
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
結果
class GadgetInstance lt CouchResourceBase string title validates =gt [length_of =gt ]
object parametersend
GadgetInstancefind() で CouchDB のビューが呼ばれるのでクエリもサポート
Gadget 開発者が自由にデータを使える ( クエリも含めて ActiveRecord のノリで開発できる
ほとんど記法は同じ migration 部分はクラスに直接かく
他の CouchDB Mapper でも property title as =gt string とか
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
CouchResource
バリデーション validates_xxx サポート コールバック before|after_xxx サポート JSON データ型 string title などのように
マッピング時の型変換ルールをかける クエリ find メソッド使える
関連 habtm has_many belongs_to な
どはいらないので作らなかった CouchRest のようにストリーミングしない
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
Good byRelational Database
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
とりあえず結論
serialize とか STI (Single Table Inheritance 同じテーブルを複数クラスで使い回す )とか使いたくなってくるところにはCouchDB みたいなもの 入れる (INSERTUPDATE) だけならそこまで無理なくていい
(item_name value) なんていうテーブルがあったらCouchDB を検討してみるといい Form の項目をDBに保存しているときとか
がんばれば ActiveRecord っぽく CouchDB を使える MerbDataMapper のCouchDB Adapter ももあるらしい
CouchDB は (alpha stage っていってるけど )わりと素直に動きます compaction さえ忘れなければ
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
Do you realyneed
app server
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
わき上がる疑問 Rails 要るの
JavaScript でバリデーションとか
Rails が Hash を CouchResource に
Ruby でバリデーションとか
CouchResource をHash 経由で JSON に
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
結果
jQuery から 直接 CouchDB たたけばいい CouchDB にビジネスロジック書いておけば
OK 奥の手 External Process
CouchDB と任意のコマンドラインプロセスを Pipeでつなぐことができる scriptrunner でも OK
さようなら Rails こんにちは CouchDB CouchApp もヨロシク
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
Good byRails
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
Ruby off Rails
Rails で RDB 使わないのは敷居が高すぎる 問い合わせ
MySQL で動かないようなんだけど SQLiteじゃないとだめどの DB 使えばいいの
回答 いや RDB じゃだめ w CouchDB インストー
ルして 結果
連絡が途絶えた
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
CouchResource
times 終了のお知らせ ActiveRecord 思想にこだわった時点で終了
のお知らせだったか trac にかいといたドキュメントが lost CouchRest がいい
がんばって作ってみたけどだめでした
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
CouchDB で Web App を作る
まさに CouchApp の世界 セキュリティは [ あとで ]
とりあえずリラックスすれば世の中みんないい人しかいないと思えてくる
これから
これから