2007-10-01から1ヶ月間の記事一覧
acts_as_cachedは便利だが、モデルで継承(STI)を使っている場合、扱いに注意必要。たとえば、 class RealEstate < ActiveRecord::Base acts_as_cached end class Land < RealEstate end class Building < RealEstate end ってモデルがあって、 # インスタ…
PostgreSQL 8 の目玉機能のひとつに、PITR(Point-in time Recovery)がある。 システムを停止せずにバックアップを採取できる(ホットバックアップ) (最新でも、過去のある時点でも)好きな時点に戻せる という特徴がある、バックアップ&レストアの仕組…
yoshitetsuの日記:acts_as_cachedを使うを参考に導入してみた。 @categories = Category.get_cache(:all) do Category.find(:all, :order => 'index') end ブロックを渡すと、ブロックの戻り値をキャッシュします。 # acts_as_cached.rb # key はget_cacheの…
Railsは重い! これは事実。大規模なフレームワーク、高度な抽象化は重いもの。 キャッシュを活用しないとやってられません。でも、キャッシュ使ってると思うのが、失効処理の複雑さ。 Sweeperを使うったって、モデルの変更で失効させないといけないところが…
Q.バナーなどをクリックした人数を知りたい! A.onClickイベント使う <a href="http://www.e-tsuyama.com/" onclick="javascript:urchinTracker ('/banner/cm.png');"><img src="/banner/cm.png" alt="広告バナー"></a>
ネストするブロックで、子ブロックをfloatさせると、親のborderが消えてしまうバグがある。 対処法は、 <div id="parent"> <div id="child1"> </div> <div id="child2"> </div> </div> div.parent { width: 760px; // コレを指定。 border: 1px solid #000; } div.child1, div.child2 { float: left; margin-left: 10px; }
Erubisは高速さがウリのeRuby処理系らしい。るびまを参考に導入してみた。 Erubis の Preprocessing 機能を使って Ruby on Rails の View 層を高速化するここにあったpartial展開ヘルパを少し書き換えて以下のようなヘルパを使っている。 # Erubis # render …
時間がないのでとりあえず。RubyによるWSSE認証の実装あたりを参考に、クライアントをつくる。で、認証はこんなかんじで。(ユーザ名lam パスワードlam) class Atom::DiaryController < ApplicationController before_filter :wsse_authorize private requi…
WEB+DB Pressで、RESTに関する連載を読んだ。 vol.40はAtomPubについてだった。 RESTクライアントは、Rails 2.0 から正式にサポートされるらしいが「今つくってるのにほしい!」からやってみよう。 目標 AtomPubによるエントリのCRUD操作、 モデル生成、入力…
筆者の環境で、Apache+FastCGI(mod_fastcgi/mod_fcgid)がちょくちょく落ちるので、構成を換えてみた。 以降、落ちることもなく安定しているので公開。ポイント mongrel_clusterで並列化(サーバ自体は1台なので負荷分散ってわけではない) どれかのプロセス…