カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年
知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。
新しいバージョンが出ましたね。いくつか未実装の機能があるのと、リフレクションテクニックを駆使したときに遭遇するドキュメント化されてない仕様の類と、拡張ライブラリ以外は、割と普通に動きます。1.9 ベースですので 1.8 とは仕様が異なる部分が少々ありますが。
YARV で今ある資産がどのくらい使えるのかを調べるため、gem をインストールしてはテストを走らせてみてます。作業記録ははてなダイアリー に書いています。
Ruby の CGI スクリプトで Perl の use CGI::Carp 'fatalsToBrowser'; に相当するやり方があったら教えて下さい。
これはまさに
ひょっとして、全体をbegin rescueで囲ったりとかしないといけないのかな。
で良いと思います。たとえば全体を main メソッドなりに入れて、begin rescue で囲み、rescue 節で例外内容とスタックトレースを表示すると良いでしょう。
#!/usr/local/bin/ruby
def main
raise StandardError, 'error'
end
begin
main
rescue Exception => e
puts 'Content-Type: text/plain'
puts
puts e
puts e.backtrace
end
が追加される予定みたいです。商用 IDE の本命になる? "working on it" ということですので、まだ先の話ですね。
TurboGearsが使ってるO/R MapperであるところのSQLObjectのInheritableSQLObjectは凄いよこりゃ
Atomをselectして帰ってきたクラスが,ちゃんとサブクラスになってる。atomなファーストクラス風のクラスを定義しておくと,リレーションとかも抽象化できる。
(中略)
DjangoのO/R Mapperとか,ActiveRecordってこういうことできるのかな。。。
ActiveRecord にも single table inheritance(STI) という機能があります(今回はじめて使った……)。PofEAA の SingleTableInheritanceに基づく機能です。 使い方の説明はTechKnow Zenze » Rails Single Table Inheritanceが簡単でした(というか公式サイトにあんまり情報がないような)。
ちょっと STI のコードを書いてみました。on-memory sqlite を使っています。
#!/usr/local/bin/ruby
require 'pp'
require 'rubygems'
require 'active_record'
class Atom < ActiveRecord::Base
end
class AtomSub < Atom
end
ActiveRecord::Base.establish_connection(
:adapter => "sqlite",
:dbfile => ":memory:"
)
ActiveRecord::Schema.define do
create_table :atoms do |table|
table.column :title, :text
table.column :about, :text
table.column :type, :text
end
end
atom = Atom.new(:title => 'atom')
atom.save
atomsub = AtomSub.new(:about => 'about', :title => 'atomsub')
atomsub.save
pp Atom.find_all
$ ruby sti_example.rb
-- create_table(:atoms)
-> 0.1087s
[#<Atom:0x2b33985c
@attributes={"title"=>"atom", "type"=>nil, "id"=>"1", "about"=>nil}>,
#<AtomSub:0x2b338e84
@attributes=
{"title"=>"atomsub", "type"=>"AtomSub", "id"=>"2", "about"=>"about"}>]
結果を見るとわかりますが、Atom なのか AtomSub なのかは type カラムで判別しています。一応 SQLObject の InheritableSQLObject と同じことができているのかな。
(追記:trackback 送ろうとしたら 503 が返ってきたので諦めました。)
Typo 4.0.0で Akismet をスパムフィルタに使えるとありました。ウェブ API 型のスパム判定サービスのようです。Wordpress では標準で利用できるようになっているらしいですね。どのくらいの精度なのかな。海外のサービスなので日本語のスパムには弱そうですが。
rails ml に[PATCH] Support for DB Clusters/Replication in ActiveRecord (RFC)という投稿がありました。いきなり Clusters/Replication 対応完了というわけではなく、まずは read/write それぞれ複数の接続先を指定できるようにしたようです。分散は単純なラウンドロビン。
パッチのコードを眺めてみましたが、 ActiveRecord Cluster (複数データベースを扱うプラグイン)の方が筋が良いですね。こちらはプラグインですので ActiveRecord 本体のコードに手をいれませんし(試すのに楽)、テーブルの複数ホスト分割対応もやろうとしています。惜しむらくは更新が止まっていることですが……
岩月さんのブログで自転車創業の新作が出ていることに気づきました。速攻で Amazon に注文したのは言うまでもありません。
最近のコメント:
RSS
![]()
This work is licensed under a
Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).