● [Ruby] 第2回Asakusa.rb
最近発足した新しい地域コミュニティ「Asakusa.rb」の第2回に参加。
セットリスト
1. 自己紹介 (2時間)
2. 隅田川花火大会鑑賞 (2時間)
3. Ruby1.9 on Rails(Edge) (1時間) |
|
- 有益な作業は最後の1時間のみ
- でもその作業内容は第1回と全く同じ(結論も)
どう見てもただの酔っ払い集団です。ありがとうございました。
メモ
- 「浅草まで電車で1本なので、同じリージョンだと思って(栃木から)参加しました」(中田)
- 「1.9 では rubygems (のシステム)が最初からインストールされるよ」(ささだ)
- 郡司さんの家が鉄筋なデザイナーズマンション(メゾネット)ぽくてかっこいい
- Rubyのメソッド情報(respond_to?)はキャッシュされている (nagative cache もある)
- メソッドサーチの探索コストは初回だけになるので、Moduleを1万個includeすることも可能
- 新しく include したらキャッシュはクリアされる
- クラスを100万個作っても動作がおかしくなることはない (メモリは消費する)
- Railsが内部でがんがん無名クラスを作ってるけど... (→ 無名ならGCが走ればOK)
- UnboundMethodを別クラスに付け替えたい
- → メソッドはそのクラスのコンテキストに依存してるはずだから付け替えたいという要求がおかしい (中田)
- → コンテキストがうまい具合に一致しえるときに使いたい
- → 最初からModuleにすれ(中田)
- → 既存のライブラリなどで手を出せないものに使いたい
- → 付け替えは、実装上の制約が問題になる可能性がある (ささだ)
- → やるなら、ソースを覚えておいて再度動的にevalかなぁ? (ささだ)
- じゃあ Method#to_source が欲しい
- → Cで定義されたメソッドはどうするんだ?で一貫性を重視する議論になって大体消える (ささだ)
- Javascriptのagumentsオブジェクトが欲しい
- → super (引数なし)で同じことをやっているので実装のベースは既にある (ささだ)
- → ベンチが少し遅くなりそう (ささだ)
- → ベンチの数値よりもコード量が減って可読性が上がる方がいい
- → それで数行減らせて本当に嬉しいの? (中田)
- → 世界中のRubyコードから数%の無駄なコードが減る。CO2も減る
- 中田さんは気球の人
- 中田さんは酔っ払い
- 気球上でネットをやろうとするとエリアに加えてz軸もケアする必要がある
- Ruby1.9 のリリースは気球の上からやる?
参考