開発

markdown(text) 追加

showdown.js のソースをざっと読んだ限り、ブラウザ依存どころか、サーバーサイドでも動きそうだったので(window, document を参照していない)、Crayonに追加した。lib/text.js で markdown(text) を追加したので、これで <%= markdown(text) %> が使えるよ…

select_date(date, options, html_options) 追加。

lib/form.js を追加してここにフォーム系のライブラリを置くことにした。 <label for="birthday-year">Birthday</label> <div> <%= select_date(new Date("1970/01/01"), { "include_blank" : true }, { "name" : "birthday" }) %> </div> こんな感じでRailsのselect_dateと同じ動きをします。というか、Cou…

ついでに extractOptions

これもRailsでよくお世話になったメソッドなのでポート。世の中探せばあるのかもしれないけれど。こうやって実装していくと、javaScriptの言語仕様の奥深いところではまったりするのでためになってます。 f = function(){ return Crayon.extractOptions.appl…

CouchAppで例外処理。

そろそろ普通のCouchDB+OpenSocial開発に戻っています。というか、この前確認したCookie認証とOpenSocialのセキュリティトークンを実装すれば、ひとまず試用(!=実用)には耐えうるプロトタイプとして公開はできると思うので正念場。ですが、CouchDB Applicati…

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

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

OpenSocial 用DSLをJavascriptで。

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

正気にもどれ!

OSCでデモができるように、セットアップ方法を思い出しながらドキュメントを書いて、久々git pushした日。しかし、 Apache CouchDB (included in the source repository) Apache Shindig (included in the source repository) Apache HTTP Server 2.2.0 or h…

gadget.Prefs()

現状6つのPriority0(必須)のテストケースが落ちる。そのうち5つは gadget.Prefs 関係なので Shindig を調べてみた。

ひとまず 0.8.0 Compliant な状態に。

Passed Failed Warnings Unverified Total 94 25 5 29 153 ひとまず、これでWebJourneyは OpenSocial 0.8.0 (0.8.1?) Compliant です、といってもいいのだろうけれど、実際は 必須となっているところにはマルチビューの対応とか、そういったことは含まれてい…

Mac OS X FSEvent + RubyCococa で簡単ディレクトリ監視。

CouchApp は普通のファイルシステム上でアプリケーション開発をして、couchapp push コマンドをたたいてデータベース上にアプリケーションをコミットします。しかしこれ、開発中の時、頻繁にコンソールとエディタを行ったり来たりするので面倒なのです。C-x …

OpenSocial のデータをCouchDBドキュメントで表現する。

people.get と activities.get の実装がひとまず完成しました。sortOrder とか networkDistance とかはまだですが。以下No-SQL所感。

CouchDBでRelaxアプリケーション開発 :: 10分で作る FeedReader -> それ"データベース"でできるよ編の準備(2)

昨日の段階で、CouchDBに登録されているJSONのFeedを表示することはできるようになったので、今度は、CouchDB上でFormを作って巡回するフィードのURIを登録できるようにする。CouchAppにおいて、アプリケーションサーバーのごとく、ドキュメントから動的にペ…

CouchDBでRelaxアプリケーション開発 :: 10分で作る FeedReader -> それ"データベース"でできるよ編の準備

タイトルは釣りですが、まじめにこれは釣りたいww 10分でライブデモができるようになるには事前の準備が必要です。いろいろCouchDBで遊べそうなのはわかった(何がどうわかったのかは、あとでちゃんとした文書で公開します....そのうち)ので、アプリケーショ…

jquery.validation.js でフォームが崩れないように。

jquery.validation.js を使って長いエラーメッセージを出す場合で、CSSでデザインしたフォームが結構崩れたりしますなぁ。ということで対策検討中。問題は validation.js で出るエラーメッセージが <label for=".." style="display:block">msg</label> という... validaiton.jsをいじって出力を変えてもいい…

jquery.validation.js で正規表現バリデーション

Rails の層を薄く、薄く、薄くしたいので*1、サーバーサイドにバリデーション機能を持たせつつも、jquery.validation.js を採用。それはともかく、jquery.validation.js で <input type ... minlength="2"></input> とかできるのに、 <input type ... regex="[a-z]{1,5}"></input> とかできない?ちゃんとソースまで読んでいないので、adhocに以…

ほぼほぼ Refactoring 完了

いや、Framework 部分は完了したんだけれど、上にのっけるComponentはこれから。足回りのAPIを結構変えたので直すところがたくさん。APIとしては大分すっきりした気がする。そしてMerbの方のドキュメントを少し眺める、とたぶん、モジュールベースで拡張可能…

いくつか更新

ページ周りにバグがあったので。ついでに可読性を高めるためにデザインドキュメントの定義を別ファイルにできるようにしたが。

Rails 2.3 にはいかない。

http://webtama.jp/series/railstips/articles/31。オレンジニュースで気がついた。最近、RailsもCouchDBもそれほどちゃんと追いかけられていないなぁ。ざっと読んだ感じ、2.3にいく明確な理由はなさそう。 Rack についてはまだメリットが分からない。が、ル…

ドキュメント作業をしながら

APIのブラッシュアップ中@ http://www.webjourney.org/doc/。CouchResource を重点的にやって、ある程度できたら、CouchDB UserML にPOSTする。しかし、:nodoc: を書いていないので、無駄に出過ぎ。

ERBテンプレートの javascript_include_tag に従ってYUI Compressorでキャッシュファイルを生成する。

何かと便利なのでで作った。rake misc:[css|js]:cache:[generate|clear] とか rake misc:cache:[generate|clear] とかで実行できる。事前にYUI Compressor を RAILS_ROOT/vendor/tools/yuicompressor-2.4.2 当たりに入れておくのとJavaを用意する(YUI Compre…

passenger (a.k.a mod_rails) + javascript_include_tag :cache => true の組み合わせがよろしくない。

たまに、大本のJavaScriptファイルに対して、No such file or directory というエラーを出している場合がある。ところで思ったんだけれど、Railsのjavascript_include_tag とか stylesheet_link_tag のキャッシュ生成機能、rake タスクに外出しして、コンプ…

ActiveRecord::Errors がリソースとして全く機能しないので変更する。

具体的には to_xml が不完全な情報を返すこと、to_json が実装されていないこと、など。以下に書いておいた。メッセージの出力が少しおかしいのは明日直すとして、どの属性がおかしいかを返してくれないと、クライアントは困っちゃいます((railsの場合は err…

やっぱり MapReduce むずいけど ...

またまた自分メモ。CouchDBのJOINはこのあたりが詳しいが単純なケースにしか通用しない、という話。以下、今書いているブログアプリを例に取る。

噂のSilverlight2を試してみようか。#2

まずは、開発環境が必要なので、http://labs.cybozu.co.jp/blog/kaorun/2008/04/silverlight_sdk_on_mac.html を参考に進めます。VMware Fusion を起動して、Windows XP Professional を起動。 ところで、VMware Fusion、2にしてからパフォーマンスが結構改…

噂のSilverlight2を試してみようか。#1

2週間もあけると、今まで何をやっていたか、忘れていたというか、Seleniumでユースケースベースのテストを作っていたのは覚えているんだけれど、Seleniumの記法をすっかり忘れたので、ちょっと気分転換に、Silverlight でフロントエンドを作ってみたらどうな…

sticky/feed 完了。

feed を表示するウィジェットは system => sticky にコンポーネントを変更。というかなんでsystem配下においていたのか不明。ついでに フィードリーダーのモジュールにRetry機能をつけた。302 Found など 3XX 系が返されたときにはLocationヘッダーを辿るよ…

sticky/html 完了, HTMLエディタはWYMeditorを採用

fckeditor でもよかったんだけれど、いい加減 Mac OS X + Firefox + ATOK の組み合わせで、入力確定時のバグの面倒見るのがいやだったので。

とりあえず、sticky/text まで終了。

CouchDB/jQueryへ移行したバージョンでもページの表示やウィジェットの表示はできるようになった(svn/trunk)。が、まだまだ荒削り過ぎるので、もう少しちゃんとリファクタリングしてからリリースする。ついでながら、自分でテーマ用CSSを書くのが面倒になっ…

CouchResource::Misc

_bulk_docs などを実装しようかどうか迷う。一つ考えたのは、

CouchResource::View

ひさびさに自分欲求でCouchResourceを更新。View をモデルクラス内で定義できるようにした。