by shigemk2

当面は技術的なことしか書かない

Rails勉強会@東京 第79回 Rails3のコミットログを振り返る #railstokyo

新しもの好きのおまえらなら当然コミットログ読んでるよね?
ってことでコミットログをおさらいしていきます。

2011-12

ほとんどが1.8対応コードの削除されてった

このあたり
Encode
Base64
OrderedHash
Array#sample
Enumerable#each_with_object

vendor/plugins

    • old-style-hash

ActiveSupport::Concern
ActiveSupport::Memoizable
ActiveRecordリファクタリング

2012-01

引き続き1.8削除
sprockets/app/fonts
Array.wrap to Kernel#Array

2012-12

ActiveRecord::Relation#none
Postgres support(エラーになる部分をどんどん減らしていった)
database connections are automatically established after forking.
unicorn フォークしたら共有しちゃうので、そうならないようにした。
PATCH対応(PATCHを利用して部分更新を可能に)

RESTの概念がすごく進んでいる

2012-3

config.middleware.api_only ができた
githubがhackされたのがこのとき
db:schema:cache (railsをたちあげるとクエリを投げるけど、それをキャッシュするようにする)

api_app rails使うけどhtmlではなくjsonを返すようにしているものもあったりする

lDeperecate eager-evaluated scope(遅延評価対策)

rails consoleに-eを取れるようになった

2012-04

__send__を使わなくなった
ad bang versions of relation query methods 代入しなおしが必要なくなる
automatically create indexes for references/ belongs_to statements in migrations.
active_record_deprecated_finders
Rails.queue 独自のAPIが乱立していたのを、railsが統括、管理しはじめた

2012-05

Mysql のSTRICT_ALL_TABLESが使えるようになった (jsonつっこむとparseできないjsonができるんだけど、エラーハンドルできるようになった)

[http:://humanstext.org:text]
スタッフロールが出てくるけど
Custom coders support for AcriveRecord::Store
Relation#from to accept other Relation objects(サブクエリが使えるようになるけど大丈夫なの?→DBの気持ちになって考えられる人しか使えないのでは…)

Threadsafeバグいくつか修正

2012-06

ActiveRecord::Base#destroy! (物理削除)

(なんだかんだで4000コミットくらいしか読めなかった…)

2012-07 以降

500コミットくらいです
(最近のコミットはつまんない変更が多く、細かいから読んでも楽しくなくて、DHHのブログ待ち)

毎日読んでると1日30分 1日30コミットくらい
テストのリファクタリングばっかり

correctionをcsvに変換する
ruby にはcsvジェネレータがある

ruby handler

crafting rails applications
index.html.haml このファイルを読んでrubyソースコードを返し、さらにそれを評価する

rubyソースコードを返すにはrubyソースコードを書けばいい

rails4.0(ベータ)*1

たぶん来週月曜??
バグが1つ2つあるくらいで、いつでも出せる状態ではある

PR 9080

rails3はコマンドの実行が遅い (話題にはなっているけど…)

DHH commands
ジョンレイトンが「俺がどうにかする」 ジョンレイトンスプリング(zeusとかと一緒)
どっちも間にあわなかったっぽいし、別に速くなるわけでもない

今ならzeusよりspringにのりかえたほうがいいかもしれない

bundlerのルートディレクトリ直下にbinを置くとbundle execが省略できる?
bundle execが省略してたひとは、rails -sを実行すると、アプリ内であってもnewのヘルプが出て終わる

'/bin/rails' が推奨になる?(ウィルス飛ばしやすくなるからしんどいぞ)

auto_load_path と eager_load_path の混乱に決着がつきそう

config.autoload_paths
RB/lib/autoload
/foo/bar.rb

module foo
  clas Bar
  end
end

Foo::Bar.new と簡単に書ける

*1:4.1ではありませんでした