Rails3.1 RC/Rails 3.0.8.rc1

Riding Rails: Rails 3.1: Release candidate

Riding Rails: Rails 3.0.8.rc1


rails3周りが活気づいてきた感があります。
aaron氏の3.0.8.rc1のアナウンスには、
rcリリース後、通常72時間でfinal versionがリリースされるとのこと。
今週末は祝日なので、5/31らしい。




以下、3.1 rcについて。

The Asset Pipeline

RailsConfのkeynoteまだ見てないけど、SCSSとCoffeeScriptの話。

HTTP Streaming

Riding Rails: Why HTTP Streaming?
Rails 3.1 でサポートされるHTTPストリーミング機能について - おもしろWEBサービス開発日記
http://d.hatena.ne.jp/willnet/20110418/1303145797
動的コンテンツを生成しながら、静的コンテンツをstreamingで取得できるらしい。


nginx x unicornは可能らしい。
やっぱこの組み合わせはpopularなのか。

jQuery is now the default

そのまま。

Other good stuff

Reversible migrations

Rails 3.1 の migration の変更点について - おもしろWEBサービス開発日記
書き方がDRYになったってやつですね。

Mountable engines

Mountable engines - RSoC Wrap Up
よくわからんが、rack のマウントが簡単に書けたり、
1個以上のルーティングが出来たりするとかなんかな。

Identity Map

Active Record’s query cache

斜め読みすると、
同じ検索を2回すると
Active Record’s query cacheにオブジェクトが2個できちゃうらしく
これが同一のものになると。
デフォルトoff。

Prepared statements

YouTube - RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"
PostgreSQLは爆速。MySQLは複雑なSQLのみ早くなる。


動画では、下記のようなスライドが紹介されてました。
Simple(単純なSQL)、Complex(複雑なSQL)。
<SQLite3>
 Simple 8665 q/s ->12987 q/s
 Complex 339 q/s -> 4184 q/s
PostgreSQL
 Simple 4662 q/s -> 5586 q/s
 Complex 307 q/s -> 3322 q/s
MySQL
 Simple 6410 q/s -> 5154 q/s
 Complex 626 q/s -> 1198 q/s


関係ないけど、youtubeって時間指定できるのね。

Rack::Cache on by default

HTTP cache。page cacheの代わりになるらしい。
page cacheは、coreから外れてpluginになる予定。
apacheキャッシュでやってることができるんだろうか。

Turn test-output on Ruby 1.9

テスト結果が見やすいruby1.9用のgem。

Force SSL

force_sslでaplもしくはcontroller単位でssl設定が可能になる。
Rails3 で HTTPS を使うには - おもしろWEBサービス開発日記

Role-based mass-assignment protection

attr_protectedがroll単位で設定可能になる。
admin/non-adminみたいな感じで設定できるのか。

has_secure_password

Dead-simple BCrypt-based passwords.
よくわからんが、パスワード暗号化してくれるんか。

Custom serializers

Edge Rails.info :: Custom ActiveRecord Attribute Serialization
SerializeしたデータをAR経由で登録が可能になる。
配列は自動でYAMLになるらしい。
これは便利そう。


新apl作るなら、ruby1.9.2が超おすすめ。
Rails4までは、1.8系サポートするけどね。
ということらしいです。

20110527追記

Role-based mass-assignment protectionとhas_secure_passwordの解説です。
有り難い。
Rails 3.1: has_secure_passwordメソッド
has_secure_password