普通に使えますね。JavaScript でGetter/Setterプロパティを実現するための関数。 Foo.prototypoe.__defineGetter__('prop1', function(){ return '...'; });
> var sys = require('sys'); > sys.inspect(sys) '{ print: [Function]\n, puts: [Function]\n, debug: [Function]\n, error: [Function]\n, inspect: [Function]\n, p: [Function]\n, log: [Function]\n, exec: [Function]\n, pump: [Function]\n, inherit…
Google Calendar API に node.js でアクセスするサンプルです。 Google は JSのクライアント実装を提供してくれていますが、node.js だと使い物にならないので、必要な部分だけ書いてみました。雰囲気だけつかんでいただければ。HTTP Call 自体も非同期なの…
もう一つ。こちらも必要だったので。 /** * Twitter Client for node.js */ var sys = require('sys'), url = require('url'), querystring = require('querystring'), http = require('http'), crypto = require('crypto'), EventEmitter = require('events…
昔々、関数型言語をはじめにやったとき、こういう印象を持ちました。奥に向かって突き進んで戻ってくるような感じ。その感覚がnode.jsでも味わえます。node.js の場合、すべてのメソッドが非同期で実行されるので。 var foo = hoge(); var bar = piyo(foo); …
http://atnd.org/events/6359すでに満杯なのですが、そして、今年からばりばりPythonで仕事をするようになったのですが、それでもPython Hackathonでnode.js のハンズオンをすることになりました。Hello World から簡単なWebアプリを書くところまで、データ…
以前 node.jsでTwitter ChiarpUserStreamを閲覧するWebアプリを作った - 酒日記 はてな支店 を見て、おもしろいなぁ、と思っていたので、やってみました。変更点は 単にtwitter streamを垂れ流すのではなく、一度CouchDBに放り込んで、CouchDB から MapReduc…
もう一つ。node.js には npm という Ruby の gem、Python の setuptools/pypi、Perl のCPAN、PHPの... 的なモジュールがあります。昨今、使うばっかりじゃダメだ、と思っているので、とりあえず自分がすぐに必要だったHTMLの本文抽出ライブラリを node.js 用…
CouchDB をメインのアプリケーションサーバーとして使っているものの、サーバーサイドで他のサービスと連携したいときにはちょっと不便さを感じてしまいます。そういうときは、イマドキ?のWeb Frameworkの上で、CouchDBをデータベースとして扱えば良いんです…
ご無沙汰しております、生きています。さて、CouchDB 1.0 がでて、incremental replication もだいぶ安定した感があるので、自宅の CouchDB でロードバランスしたくなりました。Apache mod_proxy_balancer という手もあるのですが、Incremental (MapReduce +…
といってもトップページ+そこからDBを作成するところだけですが。ディスクサイズとかは正直どうやって計算すればいいのかわからないので、後で考えます。update_seq とかdoc countとかはジョブを動かして Eventually Consistency な感じであわせる方向で。ht…
元々の目的は、データモデルがいい加減だとスケールする環境でもスケールしなくなるよ!という話のつもりだったんですが。ソースコードを公開しつつチャレンジしていこうと思います。http://github.com/yssk22/gaecouch今できることは README.md に書いてあ…
imac:gaecouch yssk22$ curl -X GET http://gaecouch.appspot.com/ {"not_found": "Welcome", "version": "0.11.0"} imac:gaecouch yssk22$ curl -X GET http://gaecouch.appspot.com/a {"reason": "not_found", "error": "no_db_file"} imac:gaecouch yssk2…
twitter ではつぶやいていたのを目にしていたのですが、Damien氏にエントリがまとめられています。「Google Ads に CouchIO のCMをサブミットしたら却下された件」→ http://damienkatz.net/2010/05/google_denies_our_commercial.html海の向こうはリアルのTV…
我が家の主要なサーバーアプリケーションの一つに、自動録画サーバーがあります。完全に自作のツールで、録画忘れを防止するのに役立ってはいるのですが、このツールも基本はPython(+CouchDB)で記述されているので、ログをtwitterに出すようにしました。とこ…
適当にやっていたエラーハンドリングを改善して0.1.1にする、という遊び。140文字を超えるログメッセージは 140文字に切り詰めてはき出すようにしました。これで効率よく内容を伝えるログメッセージを考える習慣が身につくはずです。ちなみに使っていて気が…
ログの設定とかアラートの設定とか、、いろいろあるとは思うんだけれど、自宅のサーバー運用でわざわざファイルに出すとかsyslogに出すとかgrowlで通知とかmailで通知とか、、、もう面倒なので、twitter 全部飛ばすことにしました。 ソース: http://github.c…
bitbucket.org で公開することにしました。自分的にはSphinxの練習ですが。http://bitbucket.org/yssk22/couchdb-hands-on-materials/src/それに伴いビルド済みHTMLの公開場所も少し変えました。Dropbox で 301 Moved Permanently をやるにはどうしたらいい…
BPStudy32 CouchDB 再入門View more presentations from yssk22.Slideshareにアップしたものの、微妙にフォーマットが崩れたりしてしまいました。オリジナルは http://dl.dropbox.com/u/219436/CouchDB/BPStudy32/BPStudy32-CouchDB.pptx にあるので適当にど…
完全自分専用アプリですが、公開しました。mapping.json と rec.json をいじれば、国内ではどこでも使えると思います。http://github.com/yssk22/recstoreくれぐれも録画したものをレプリケーションとか考えたらだめです(というか、CouchDBで 数GB以上のlarge…
テストを書くのが当たり前になりました。テストはかけばいいってものではありません。書いて実行して結果を報告する必要があります。ということで、 http://github.com/yssk22/crayon/blob/master/spec/suite.js JSpec でもJUnitのXMLレポートを出せるように…
のでタイトルから修行中を削除しました。リリースも経験したし、もう修行中とかいってられる立場じゃなくなってきています。。。ちょっとこれまでの感想をメモ。 やるべきことが大量に増えた。忙しくなったけど、その代わり休日が充実した。 バイト時代(2000…
データベースごとに構成情報用のセキュリティオブジェクトがvalidation関数で利用できるようになりました。 なんぞこれ、と思って試してみた。要するに validation 関数で、任意の設定情報を利用できるようにする仕組み。この「セキュリティ」にはものすごく…
jspec が優秀なスペックテストをできるので、ヘルパーを用意。 require と log 関数だけはよく使うので用意してあげます。require は配布時とテスト時の違いを吸収できるような変な書き方をしているけれど。Rhino だと load でJSを読み込めますが、require …
ChangeLog には書いていないけど、以下のコードが動かなくなっています。 // _design/app/_show/test function(doc, req){ this["hello"] = function(){ return "hello"; }; return hello(); } eval するコンテキストの違いだとは思うのですが、これが意図し…
ChangeLog に書いていませんが、view サーバーのソースみてたらやっぱりできるみたい。CommonJS 互換なライブラリ呼び出し。デザインドキュメントのJavaScriptで CommonJS スタイルの require を使ってモジュール化したJavaScriptを呼び出せるようになりまし…
まだ機能を使ったわけではないので変な訳があります。http://svn.apache.org/repos/asf/couchdb/tags/0.11.0/CHANGES の r926573 の勝手私訳です。 セキュリティ Cookie による認証とユーザーデータベースの利用がデフォルトになりました。 Futonにサインア…
http://wiki.apache.org/couchdb/commonjs_modulesということで、デザインドキュメントにモジュールを放り込んでおいて、require("hogehoge") で呼べるようになるようです。先日の録画システムのベンチをしてみたんですが(ML115, Opteron 1800MHz 2 core / 8…
家の録画管理コマンドラインツールが塩漬けで放置されていたので、更新作業をしていました。ほぼスクラッチから作り直しで、しばらくかかりそうです。requirement はこんな感じです。 特定の芸能人がでる番組は見る見ないに関わらず確実に補足。 オンライン(…
ちょうど大学に入学した頃から、少しづつ読んでいたわけで、もう10周年なのですね。alphaWorks Japan はなくなってしまったけれど、そんなわけで、記事が紹介されていました。 Web 時代の非リレーショナルデータベース: 第 1 回 Apache CouchDB の概要とイン…