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

WebJourney の Component について書いてみる

コメント欄ではもったいないのでこちらに。WebJourney のコンポーネントは、小さなRailsアプリケーションそのもの、です。基本的にはRails 1.X時代のコンポーネントの配置規約をベースにしていますが、ベースにしているのは配置規約だけです。Rails 1.X のコ…

Aptana Cloud がすごすぎる件

emacsを使う身としてはAptana IDEには興味がなかったのですが、それはそれとして、Aptana Cloudは正直すごいと思った。http://www.aptana.com/cloudRailsがフルスタックだとかそういうのはもう時代遅れで、インフラも含めてフルスタックってことか。Server D…

iPhone 3Gにいれたアプリ。

JBしてません プライマリ携帯です。 主に携帯YouTube/DVD/Podcastプレイヤーとして使ってます というユーザーのiPhoneに入っているアプリを紹介。iPhone アプリには1円もはらってませんwww。まず1枚目。これはよく使うもの。 乗り換え案内: 無料。電車検索…

jQuery UI がすばらしい。

jQuery UI の秀逸な点。Theme Roller があること。CSSもSimpleだし、すごくいいんじゃないの、これ。こんな感じなんだけれど、ロゴがういているので、もう少しSimpleなものに作り直そうかな。。。

MacBookのスロットローディングドライブの問題判別...?

開発中は、特にCPUリソースを食わないので、自宅にあるCDやDVDなどのコンテンツをひたすらリッピングしてiPhoneにつっこむ作業を平行しております。特に今はデザイン 作業というかjQueryとCSSをいじくり倒しているので右脳を活発にするために、音とか映像と…

作ったものの整理

そのうち正式にWebJourneyのサブプロジェクトとして公開しますが、とりあえずは、、 CouchResource : ActiveRecord::Base と似たような機能を提供するCouchDB用ObjectMapper CouchConfig : Rails 環境で使うためのライブラリ。config/couchdb.yml にデータベ…

CouchDBでrake couchdb:create:all, couchdb:drop:all

うーん、書くのが面倒なので、ソースへのりんく。http://www.webjourney.org/svn/trunk/lib/tasks/couchdb.rakeActiveRecord とちがって、マルチデータベース対応です(そうしないとCouchDBの意味がないから)

CouchDBでRuby/RailsのTestUnitを使う

必要なデータは test/fixtures/couchdb/**/*.yml にいれておきます。以下のスクリプトをRAILS_ROOT/lib あたりにおいときます。 class CouchFixture def self.load(basedir = File.join(RAILS_ROOT, "test/fixtures/couchdb/")) Dir.glob("#{basedir}/**/*.y…

CouchDBのデータはYAMLでつっこめるよ、と思ったら空の配列の表記

CouchDB用のUnitTestをかけるようにしておこうと思って、fixtureもどきを作っているんだけれど。 YAMLとJSONはそのまま互換です、と思いきや、YAMLで長さ0の配列ってどうやって表現するんだ、という罠があって試してみた。 >> {:a => 1, :b => 2, :c => 3, :…

[Rails][WebJourney] 週末作業ログ

component/{component_name}/_test 以下でRailsと同じテストフレームワークを利用できるようにした。 ComponentController, ComponentPageController は別物にした。前者のデフォルトレイアウトはnilで、後者のデフォルトレイアウトはpage。 ComponentPageCo…

ブクマに書いたけど、ソフトバンクのiPhoneサポートは3800円/インシデントだって。

http://gigazine.net/index.php?/news/comments/20080925_iphone_mori_log/ソフトバンクのテクニカル・サポート何がテクニカルサポートで何が普通のサポートか知らないけれど。ちなみに、(以前の携帯からですが) My Softbank にアクセスできない件について、…

MySQL vs CouchDB

MLに流れてた比較。http://metalelf0dev.blogspot.com/重要なのは、RDBの create index 相当のSQL文をJavaScript + MapReduceでかける点。比較するのは重要だけど、その前に放り込むデータの使い方が違うと思う。

高速化のためにRDBをやめてみるテスト。

http://blog.masuidrive.jp/index.php/2008/09/23/concurrency-on-the-web/わかります。 これでは、写真をアップすることに100人分のXMLを生成する事になります。 この手の問題は悩まされます。ちょっと話がずれるかもしれませんが、ある程度の解決の方向性…

assert したい。

Test::Unit 以外の部分でもassertがほしかった。before_destroy などで、致命的なエラーにならないようにフィルタをしているんだけれど、フィルタに引っかかるようなコードはバグ以外の何者でもないのでassertで検出したい。とおもって、assert_* を一気にAc…

CouchDBの使いどころが難しい。

やっと仕事の方が一段落ついたので、開発再開。といっても、すでに何やっていたか忘れた気がしないでもないので0.6.0のデータモデルを再構築中。そう、どこをCouchDBにして、どこをRDB(MySQL)にするかを考えているんだった、、、現時点でできることが限られ…

[misc] Ubiquityが便利すぎる件

生存自己確認エントリ。とりあえず、起動用ショートカットについて「ThinkPad Ultra NaviのControlキーに割り当てたMacのコマンドキー」+Spaceで反応しないので使わなそうなコマンド+Kに割り当てました。

:default の取り扱いに関して試行錯誤

class Page < CouchResource::Base string :title, :default => "WebJourney" string :author, :default => Proc.new { |args| ctx.current_user } end こんな感じで、使う側。new するときは気にならない。 page1 = Page.new(:title => "hogehoge") page1.t…

ドキュメント

先に書く!!。

In short

厳密でなくてもいい、ということを学んだので、 WebJourney is iGoogle alternative for small team members.ということにしました。以上。

SubURI に対応していなかった

せっかくPassenger/mod_railsで自由にApache上にデプロイできるようになったのに、JavaScript型が対応していないせいで、/foobar にデプロイしたときにはさっぱり動かないことを確認。

そういえば 0.8.1

がリリースされていますね。いわく Various bug fixes for replication, compaction, the HTTP interface and the Javascript View Server.了解。

バージョンアップに向けて

Tracを更新しようとしています。が、さしあたって、Tracに2つの機能が絶対必要。 wiki:path/to/article へのパンくずリスト wiki:document, document.ja のマルチ言語対応 で、良さそうなのがないので、Trac Plugin/Macro の作り方を勉強しようか、とも思っ…

reboot 完了

Fileサーバーを Ubuntu から Windows 2003に変更。それ以外は何も変更せず。こんな感じで、Mac => Windows 2003 => ESXi というひねくれた接続方法。。

週末サーバー止めるかも。

Xen から VMware ESXi に移行することで余っているWindows 2003のライセンスとCPUパワーを消費できそうな気がしたので。

止まってます。

ESXi をいんすとーる、、というかUSBで起動。昨年もらったAoR 2007のUSBが意外なところで役に立った(笑。32MBって聞いて田のに、実際785MBもあったよ!というオチもついてた。DNS, SMTP/IMAP, WWW, iTunes/MP4 の順に復旧中、問題はVI Client のためにWindow…

一通り完了

datetime 型の定義をできるようにして(JSONには存在しないデータ型なのでstringに対するimplicit conversionで実装)完了。一通りできるはずなので、WebJourneyの実装に入る。

alias_method_chain と define_callbacks

まだまだActiveRecordの便利さには遠いのでコールバック機能追加。ActiveRecord とほぼ互換なコールバック関数を定義できるようにした。Rails 2.1 のソースを参考に、ActiveSupport::Callbacks を活用。alias_method_chain と define_callbacks の組み合わせ…

どんどん実装

validates_children_of を追加。従属オブジェクトのvalidationを行うかどうかの設定をできるようにした。

(ActiveRecord::Base + ActiveResource::Base) / 2の実装

svnにコミットしておいた。 saveやfind(:first)などができるようになっているけれど、validation はまだ連鎖させてない。 reduce も実行されるときに、正しくオブジェクトを復元できないと思う。

ActiveRecord::Errors, ActiveRecord::Validation をポーティング

こんな感じで定義できるようにした。 class DomainModel < CouchResource::Base string :title, :validates => [ :presense_of, [:length_of, {:maximum => 255}] ] end これと同じ。 class DomainModel < CouchResource::Base string :title validates_pres…