・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
斜め読みすると、
同じ検索を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キャッシュでやってることができるんだろうか。
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