2009-01-01から1年間の記事一覧

くれよん、 はじめました。

さすがに、主力言語がサーバーサイドJavaScriptになる中で、自分の手につくライブラリがないとつらい。かといってjQueryのお手軽さ、ActionViewのお手軽さを体感した身では、新しくJavaScriptフレームワークを探すのも微妙だなぁ、ということで、作り始めま…

JSpec

CouchDBアプリのテストのお話。 Integration Test は selenium で全部確認。 Functional Test は CouchDB 自体の test suite と同じように、ブラウザのJavaScriptでXHRを使って view/show/list のテスト。 Unit Test は ... どうすんの? という状態でした。

クエリーサーバではまった。

OpenSocial JSON-RPCのHTTPのステータスコードをちゃんと明示しよう、と思っていろいろやっていたらはまった。どうも、CouchDBのQuery Server のプロトコルの方に仕様上の欠陥があるようです。よーし、久しぶりにErlangかくぞーとおもったものの、、、もとも…

Linux Desktopはよく知らないけれども。。

Ubuntu One がでたこと、Raindropがアナウンスされたことで盛り上がって参りました。ちょっと状況整理がてらメモ残しておきます。Linux Desktop は無知なので、間違った解釈しているかもしれません。 KDE PIM : Akonadi http://groups.google.com/group/rain…

今日は作業せず。

ですが、id:kuenishi さんがまとめて公開してくださっているHEAD版のサイトのデザインが変わっていました。http://kuenishi.appspot.com/couchdb_definitive_guide_l10n_jp/index.html タイトルが英語のところは未訳です。KVSに興味がある人でCouchDBが気に…

アクセス制御

時間がなかったのでメモだけ。mod_proxy で以下を禁止する。 GET ^/{db}/[a-zA-Z0-9]+$ を禁止する (ドキュメントの取得の禁止 GET ^/{db}/_design/[^/]+/_view/.+ を禁止する (ビューの取得の禁止 で代わりに_showと_listで同等のJSONを提供するfunctionを…

本日の便利関数 simple_format

function simple_format(str, html_options){ var start_tag = "<p>" var text = str.toString().replace(/\r\n?/, "\n") .replace(/\n\n+/, "</p>\n\n" + start_tag) .replace(/([^\n]\n)(?=[^\n])/, '$1<br />'); return start_tag + text + "</p>"; } と、書きつつも、これ…

セキュリティ(完了)

commit & pull 完了。といってもセキュリティ自体は専門家ではないので、専門用語を正しく訳していないような気がします。Partyってどう訳すべきですかね。http://bitbucket.org/kuenishi/couchdb_definitive_guide_l10n_ja/src/tip/27_security.rstあと、最…

本日の便利関数 h()

最初にこれやるんだったw 使うテンプレートエンジンによってはもっているのかもしれませんが。erb.rb にシングルクオートとダブルクオートを加えたもの。 function html_escape(s){ return s.toString().replace(/&/g, "&amp;"). replace(/\"/g, "&quot;"). …

セキュリティ

そういえば、adminユーザーの権限がどこからどこまで?ということもあって、先に翻訳の方に手をつけました。まだ章全部が終わっていないのでhg pushしていませんが、 データベースの作成 (PUT /database) データベースの削除 (DELETE /database) デザインドキ…

ひとりPokenサイト構築

データを作る http://www.yssk22.info/_utils/document.html?relax/yssk22 show で見せる http://www.yssk22.info/relax/_design/aboutme/_show/home/yssk22で、このデータをかき集めてくるのがRaindropの仕事なんだが、全然期待したとおりにうごかないので…

SQLジョッキーのためのビュークックブック

ひとまず。ジョッキーをどうしようかなぁと迷うこと30分ぐらい。https://yssk22@bitbucket.org/kuenishi/couchdb_definitive_guide_l10n_ja/src/e776c522b7bf/26_views.rstまた来週末。

CouchDBに添付してあるスクリプトを直接実行する。

http://www.yssk22.info/relax/_design/twitter/_list/timeline/by_date?descending=true&limit=10 のバックアップだけれども、 自動で取得するようにcronにしたい。 でもスクリプト自体はCouchDBに添付してあるのでそのまま使いたい。 ということでこんな感…

サイトをCouchDBで更新

http://www.yssk22.info はなんとなくとっておいたサイトですが、このたびCouchDBになりました。こんなの返ってきます。 Date: Sat, 07 Nov 2009 13:01:46 GMT Server: CouchDB/0.10.0 (Erlang OTP/R13B) Etag: "1-c550497a8a87ec408e487a0381b26014" Conten…

Definitive Guide 翻訳 -> Change Notifications ドラフト完了。

オープンな共同作業は日記で記録っと。あまり翻訳には興味がなかったのですが*1、勉強会をやっている手前もあるので、The Definitive Guide の翻訳にも手をだしてしまっています。25. Changes Notifications のところやっときました。まだ試したことがなかっ…

これからCouchDBのアプリケーション作るよ!って人向けに。

OSCで興味を持った人がいるかもしれないので、書いておきます。アプリケーションの構造そのものとかの基本的なことがらはz.ohnamiさんの記事参考にしてください。そろそろIDEなり使ってがりがりやりたいよ、となってきたら、CouchApp は必須です。 というかc…

履歴

CouchDBそろそろ誰か見るだろうかなんか書いたほうがいいんじゃね?と思っていたら、発見。 一段落してそろそろコミュニティがあってもいいよね、と思い始めたら、できてた件。 勉強会の本、そろそろ実は翻訳が?とかそんな雰囲気かと思ったら、天の一声。 な…

Twitter のバックアップをCouchDBへ。

今年になってからtwitterを使い始めたのですが、気がついたら3200ポストに到達していました。というわけでバックアップ。どうせなら、うちのバキュームカーなんでもDBになりつつある、ESXi 上のCouchDBに放り込んでおく。

OSC 2009/Fall Tokyo

CouchDB in the room 参加された皆様お疲れ様でした。いろいろ不手際があって、会場にぎりぎりについたんですが、なんでこんなに人がいるの?と。。。そして、正直、これはまずい、と思った。10人ぐらいでまったり雑談程度に実際のソースコードを見せながら…

Ubuntu 9.10 動かしてみた

家ではMac、会社はUbuntu 8.04(emacs用)とWindows(Lotus Notes用)使っていますが、それはともかく、今回は新しいUbuntuに手を出します。Ubuntu One は CouchDB で作られたMobile Meサービスです(何という説明)。

Raindrop 動かしてみた。

Mac OS X Snow Leopard です。隣でOSCデモ用の普通のLeopardにもいれていてほとんど同じ手順。

[misc] そういえば、、、

Hub といって、Enterprise Service Bus や Internet Service Bus なんてことをいってたのがあったなぁ、と思ったら http://internetservicebus.net/

これは注目。

https://wiki.mozilla.org/Raindrop/SoftwareArchitectureみれば見るほど、自分のやりたいことに近いので、OpenSocial の proxy 実装をpythonに変えて、こちらのコミュニティにcontributeしようかなぁ、と考えています。以下雑談。

[OpenSocial] AppData.update 実装中。

全国行脚の一環で、故郷の新潟にやってきています。新米のおいしい季節になりました。さて、Sticky ガジェットを実装してOSCでデモするぜ!と意気込んだものの、さくっとつくったら、AppData.update をうちのOpenSocialコンテナ(CouchDB)がMethod Not Allowe…

1.toString() はNG 1..toString()はOK

>>> 1.toString(); SyntaxError: missing ; before statement source=with(_FirebugCommandLine){1.toString();\n};>>> 1..toString(); "1"へぇ。この1.ってなんだろう。 >>> 1..constructor.name; "Number"Numberっていわれた。。。ええっとこれはもしかし…

OpenSocial 用DSLをJavascriptで。

gadget.xml を CouchDBの show 機能で出力するものを実装中。

前置きが非常に長い。

週末遊びすぎて、頭の中の奥底に技術系の話がとんでいってしまったので、頭の体操がてらエントリを起こす。以下のエントリを注意深く読んだ。http://satoshi.blogs.com/life/2009/10/restful-mvcなアーキテクチャの話.html結論はないです。のでタイトルも適…

RelaxCafe@CouchDB.break2終了

参加された皆様お疲れ様でした。 05. Design Document id:mkouheiさん。デザインドキュメントはアプリケーションだ!という話。0.7かな、その辺りを触っていたときは、ああ、クエリの手段ね、という感覚でいましたが、もう最近ではアプリケーション。 show/l…

非リレーショナルデータベースが結合演算を扱えない、、、という誤解を解く。

明日の勉強会の準備をしていたら、今回の本の範囲外ですが、ちゃんとまとめておかないと、というところを思い出したので書いておきます。だいぶ前に書いた気がしないでもないけど。CouchDBではMapReduceを工夫することで関係モデルの結合演算を扱えます。な…

0.10.0 でました。

先日 0.9 の記事を書いているときに、0.10 の VOTEがーというのを id:yohei さんのtwitter でしって、お〜の〜〜〜〜と自席で発狂していましたが、無事、記事の後に0.10でてくれました。http://d.hatena.ne.jp/z-ohnami/20091013/1255445866個人的には、これ…