RAILS

SSIを使ったキャッシュ戦略

よくありそうなネタなのに全然見かけないのは何でだろう? もう使い古されたネタなのか、とっくに使い物にならないことが分かっているのか… 概要 詳細 Passengerの設定がこんな感じ /etc/httpd/conf.d/passenger.conf LoadModule passenger_module /usr/loca…

activerecord-alt-mongo-adapter 0.1.0

http://araltmongo.rubyforge.org/ とりあえずリリース。

ActiveMongo(作りかけ)

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/activemongo/?root=svn そこそこできた。近々リリース予定。 require 'rubygems' require 'active_record' ActiveRecord::Base.establish_connection( :adapter => 'mongodb', :database => 'mydb' ) clas…

ActiveTokyoCabinet 0.2.1

http://activetokyocabi.rubyforge.org/ 会社の同僚がスキーマフリーの素晴らしさについて熱く語っていたので、ActiveTokyoCabinetでも実装してみた。 require 'active_record' require 'active_tokyocabinet/tdb' ActiveRecord::Base.logger = Logger.new($…

AoR2008の副賞をもらいました

Railsがサーバとして起動しているか判定する

ごく希に、RakeタスクとしてのRailsの処理と、サーバとしてのRailsの処理を分けたいことがあって、以下のように判定している。 if defined?(Mongrel) or defined?(WEBrick) # サーバとしての処理 else # スクリプトとしての処理 end ひじょーに間抜けなコー…

[PATCH] ActiveResource find(:all) method returns "NoMethodError: undefined method `collect!'...

http://dev.rubyonrails.org/ticket/8798 ActiveResourceを使ったら、いきなりバグにぶつかった。 Rails 2.2.2でも直っていないようだけど、あんまり使われていないのかなあ?

[PATCH] Add LibXML support to Active Resource

http://dev.rubyonrails.org/ticket/9017 速度面が少し気になったので、LibXMLを使うパッチを充ててみた。 n.times { Image.find(:all, :query => 'さくら 壁紙', :results => 10) } user system total real default (1 times): 0.125000 0.031000 0.156000 …

Rails 2.2、thin、Windows

Windowsにthinをインスコして、こないだのコードを動かしてみる。 #: # begin 01:50:31 #: # end 01:51:18 #: # begin 01:51:18 0 1 2 3 4 5 6 7 8 9 #: # end 01:51:18sleepでzooに制御が移ると思ったけど、そうならないなぁ。 Windowsのせいなのか、シング…

link:HowTosWorkerThreads

http://wiki.rubyonrails.org/rails/pages/HowTosWorkerThreads あとで読みます。

Rails 2.2.2: ActiveRecordの並列性 - 2.0.1の場合

とりあえず、Rails 2.0.1でActiveRecordを並列に動かしてみる。 BarController $stdout.sync = true class BarController < ApplicationController def index 10.times do Thread.fork do touch end end render :text => 'OK' end private def touch begin 1…

Rails 2.2.2: ActiveRecordの並列性 - 2.2.2の場合(失敗)

Rails 2.2.2でActiveRecordを並列に動かしてみる。 BarControllerは2.0.1の場合と同じ。 environment.rbにはconfig.threadsafe!を追加。 mongrelの出力 Expected C:/home/sugawara/work/foo/app/models/user.rb to define User Expected C:/home/sugawara/wo…

Rails 2.2.2のスレッドセーフ

Railsのスレッドまわりで苦労した身としては、Rails 2.2が謳っているスレッドセーフを検証してみないと…と思って、検証してみた。 rubygemsの1.3.1へのアップデートでいきなり躓いたけど*1、とりあえずアップデートは完了。BarControllerとZooControllerを作…

Sketch Code: Creatures

PHP/ming Examplesより。

Sketch Code: ゆっくりメリーゴーランド

Sketch Code: ルパン風

Sketch Code:ひらひらゆっくり

Sketch Code: まわるゆっくり

Sketch Code: マウスで動く円

ちょっとずれてる。。。

Sketch Code: ボタンのテスト

Sketch Code: ゆっくり

元を消したので削除

Sketch Code: 画像を使う

AoR: Sketch Code あるふぁ版

http://storehouse.quickvps.net/sketch_code/ AoR用の試作品。firterの手直し版。 うまく描けないなぁ…つーか、完成するかなぁ…

ガジェット テスト中

標準エラー出力にログを出す

mongrelとは別のプロセスで「tail -f log/...」とやるのがめんどくさくなったので、mongrelの標準エラー出力にログを出すようにした。 Rails::Initializer.run do |config| config.logger = Logger.new(STDERR) config.logger.level = Logger::INFO STDERRっ…

link:スレッドセーフな Rails ってどういうこと?

http://www.hyuki.com/yukiwiki/wiki.cgi?WhatThreadsafeRailsMeans なんですとー! 普通のRailsユーザも滅茶苦茶わくわくしてますよ!

asset id

javascriptタグとかにasset id*1がついていなかったので調査。 urlにプリフィックスがついているとrelative_url_rootを設定しても、ファイルの更新日時を取得できないらしい。*2 とりあえず以下のコードをenvironment.rbに追加。 ENV['RAILS_ASSET_ID'] = Ti…

Benchmark: Passenger (mod_rails) vs Mongrel vs Thin

http://izumi.plan99.net/blog/index.php/2008/03/31/benchmark-passenger-mod_rails-vs-mongrel-vs-thin/ 話題の(?)mod_railsとMongrel、Thinのパフォーマンス比較。 この人のブログ、ホントおもしろい記事ばっかだなー。 それはさておき、速い理由がよく…

サーバとして起動しているかをチェック

RailsでdRubyを起動するようなコードを書いていて、コマンドラインでenvironment.rbが読み込まれたときにdRubyを起動してほしくないので、しばし考える。でまあ、Mongrel/WEBrick限定だけど、以下のようなコードをはさんでおけば良いのではないかと。。。 if d…

Phusion Passenger (a.k.a. mod_rails for Apache) Preview

http://www.modrails.com/ 「RailsSpawnServer」というディレクティブが出てくるから、外部のRailsのプロセスとApacheで通信するように見える。 mod_fcgidと比べて、プロセスを外部管理にする&FastCGIプロトコルを使わないことで、なんかのメリットがあるっ…