2008-12-01から1ヶ月間の記事一覧
悪い冗談としか思えないんだけど、Merb と Rails が統合されるらしい。 Merb gets merged into Rails 3! by DHH (Rails 作者) Rails And Merb Merge by Yehuda Katz (Merb 主任開発者) Rails and Merb core team working together on their next release by …
Merb 1.0.6.1 がリリースされました。1.0.5 が出て、すぐに 1.0.6 が出て、さらに 1.0.6.1 が出たそうです。
しかしながら、extlib という名前は一般的すぎていささか池沼な香りがするし、せめて merb-extlib にして欲しいと思うのが人情であるが、実際は両方の gem が存在する。なるほど、いよいよ自分の愚かさに気付いて、extlib -> merb-extlib に変名したのかと思…
MerbDay というイベントが先日アトランタであったらしい。その動画が公開されてる。なんかやたら解像度が高くて、プレゼン画面の文字がクッキリハッキリみえる。どうしてこんなに解像度が高いのだろうか。ちなみに、動画のリスト。 Keynote (by Yehuda Katz,…
たとえば Book : Author が Many to Many の関係だったとする。このとき「Book.first.authors」を実行すると、「Unknown column 'author_id' in 'field list'」というエラーが出た。 $ merb -i irb> Book.first.authors ~ SELECT `id`, `title`, `author_id`…
DataMapper では、いわゆる 1+N 問題は起こらないと言われている。たとえば次のような例。ActiveRecord なら 1+N コの SELECT 文が発行されるけど、DataMapper では 1+1 コの SELECT 文だけを発行する。 $ merb -i irb> IRB.conf[:MAIN_CONTEXT].echo = fals…
なんか DataMapper が予想以上に賢かったので紹介してみる。 $ merb -i ### IRB のエコーバックをオフにする irb> %w[a] # エコーバックされる => ["a"] irb> IRB.conf[:MAIN_CONTEXT].echo = false irb> %w[a] # エコーバックされないことを確認 ### すべて…
個人的には、Ruby 1.9 を使っても業務アプリケーションや Web アプリケーションはそう速くはならないと思ってる。少なくとも、自分のプログラムでベンチマークした限りではそうだった。Ruby 1.9 による高速化の恩恵を受けるのは、数値計算を多用するようなプ…
共著者に Merb 開発者が含まれている書籍『Merb in Action』の "Section 1. Introducing Merb" が PDF で無料ダウンロードできる。 といっても Merb の概要を紹介しているだけなので、別に読まなくてもいいかも。書籍自体まだ 1/3 くらいしか書かれてなくて…
1 つのフォームで複数のモデルオブジェクトを使いたい場合、Merb では「text_field :mail」のようには書けず、「text_field :name=>"user[#{user.id}][mail]"」のように手動で name 属性を指定しないといけない。たとえば: <% @users.each do |user| %> <% …
症状:「FATAL: Could not bind to 4000」と言われて、Merb が起動できない。原因:すでに別の Merb が起動しているか、前に起動したときの worker process が終了されていない。対処:4000 番ポートを使っている process を lsof で見つけ、kill する。 $ m…
Merb を新しいバージョンにして起動すると、次のようなエラーがでる場合がある。 ~ FATAL: The gem merb-action-args (= 1.0.2, runtime), [] was not foundこの場合は、config/dependencies.rb に書かれてあるバージョンを書き換えてやるとよい。 merb_gems…
ドキュメントに載ってないことを補足していこうシリーズ。DataMapper で、たとえば次のようなモデルクラスがあるとする。 ### 従業員 class Employee include DataMapper::Resource property :id, Serial property :name, String, :nullable => false proper…
DataMapper 0.9.8 がリリースされました。 DataMapper 0.9.8 and Extlib 0.9.9 Released DataMapper 0.9.8 and Extlib 0.9.9 are out! Lazy loading が有効になっている場合にデータを更新しても保存されなかったバグが修正されました。もう :lazy => false …
Java の父と言われる Gosling。業界内では超有名人。 そんな彼でも、間違えることはあるさ。 -- 一部では"JavaはすでにCOBOLのようなレガシーに近い"という声も上がっていますが…。その意見にはまったく賛同しかねるね。そういうことを一部のRubyユーザなど…
「Aさん」の「A」って、アスペルガーの「A」だよね? 4)Aさんに接するとき、留意すべき点はありますでしょうか。Aさんは、コンピューターのような人だと理解し、接するのが適切です。この言い方(コンピューターのような人)は、時に差別的だなどと非難を受け…
DataMapper で関連オブジェクトを更新する方法。 ## 部署オブジェクトを作成 dept = Department.create!(:name => "Sales") ## それを使って従業員オブジェクトを作成 emp1 = Employee.create!(:name => "John", :department => dept) emp2 = Employee.creat…
Merb コアチームメンバーの Matt Aimonetti が、オープンソースで Merb の本を書くことを発表しました。すでにある Life on the edge with Merb, DataMapper & RSpec に書き足すのではなく、スクラッチから書くことに決定しています。プロジェクトは始まった…
Ruby では「( )」で複文が書けるそうな。 つまり、(statement; statement; statement) みたいなことができるらしい。 括弧の中で改行があるとそれは独立した式とみなされます。括弧の中でも改行はセミコロンを置いたのと同じ意味になります。 Re: 複数行にわ…
DataMapper で一意制約 (unique constraint) をつける方法がドキュメントに見つからないと思った人はおらんかー? DataMapper では、一意制約には :unique_index オプションをつければよい。 class Department include DataMapper::Resource property :id, S…
まつもとさんが RubyFlow デビューを果たした。内容はフクオカ Ruby 大賞についてなんだけど、これって日本以外からの応募も可能なんだろうか。rubyflow.com に投稿したからにはきっとそうなんだろう。優勝賞金 100 万円は、ドル換算で約 1 万ドル? 海外の人…
Merb では、radio_button() で :checked => false を指定すると checked="false" になってしまうので悲しい。 ## radio_button() では :checked=>false がサポートされない <%= radio_button :name=>"foo", :value=>"Y", :checked=>false %> #=> <input type="radio" name="foo" value="Y" checked="false" /> ## check_b…