Contents
第2回ログ
日時
2008年7月26日(Sat.) 16:00〜
場所
参加者
9名。第1回に引き続き、超豪華メンバー。
やったこと
自己紹介
Google Mapsをスクリーンで表示しながら「○○に住んでます」はかなり盛り上がる。定番コンテンツにしよう。 やっぱりご近所さんが多い感じですが、「浅草まで電車で一本」という理由で栃木からのご参加も! 浜松町も江古田も本八幡も楡木も浅草です!
というわけで、Asakusa.rbへは浅草近辺在住でなくても参加できますので、参加されたい方はお気軽にどうぞ。
隅田川花火大会鑑賞
ちょっと夕立が心配だったので「花火を見ながらHack」はできず、また花火の大きな音に遮られて議論もできず。本当に花火鑑賞会になってしまいました。
YARV on Rails (その2)
この会合のちょうど前日にリリースされた Ruby 1.9.0.2でも、やはり前回と同様のSEGVが再現することを確認。 時間も遅くなってしまったので、この場でのそれ以上の深追いは断念。 その代わり、Ruby Issue Tracking Systemに報告しておいてくれれば良い、と Rubyコミッタチームに許可をいただいたので、 極めて漠然とした報告ながら、チケットをあげておいた。 これをもって、第2回Asakusa.rbの「成果」ということにしたい。
今回は、新しい発見やバグの解決は確かになかったが、今後の活動のひとつの形ができたのではないだろうか。 Ruby 1.9をガンガン使っていく上で、何か問題に出くわしたらとりあえずRedmineに上げちゃってそのままどんどん進める、 というスタイルも大いにアリかも知れない。
メモ
Ruby 1.9 標準添付の rubygems について
- Ruby 1.9 には rubygems (のシステム)が添付されているけど、あまり知られていない
Ruby自体に関するバグ報告について
- Ruby Issue Tracking Systemに報告してね
- そもそもRuby Issue Tracking Systemがあまり知られていない
- RubyがSEGVしたら自動でRuby Issue Tracking Systemにチケット発行する仕組みをRubyに組み込んじゃうとか(Windowsみたいに)
- そんなことしたら同じようなチケットばかり発行されて大変
Rubyのメソッドについていろいろ
- Rubyのメソッド情報(respond_to?)はキャッシュされている (nagative cache もある)
- メソッドサーチの探索コストは初回だけになるので、Moduleを1万個includeすることも可能
- 新しく include したらキャッシュはクリアされる
- クラスを100万個作っても動作がおかしくなることはない (メモリは消費する)
- Railsが内部でがんがん無名クラスを作ってるけど...
- 無名ならGCが走ればOK
- UnboundMethodを別クラスに付け替えたい
- メソッドはそのクラスのコンテキストに依存してるはずだから、付け替えたいという要求がおかしい
- コンテキストがうまい具合に一致しえるときに使いたい
- 最初からModuleにしては?
- 既存のライブラリなどで手を出せないものに使いたい
- 付け替えは、実装上の制約が問題になる可能性がある
- やるなら、ソースを覚えておいて再度動的にeval?
- Method#to_source が欲しい
- Cで定義されたメソッドはどうするんだ?で一貫性を重視する議論になって大体消える
- Javascriptのagumentsオブジェクトが欲しい
- super (引数なし)で同じことをやっているので実装のベースは既にある
- ベンチが少し遅くなりそう
- ベンチの数値よりもコード量が減って可読性が上がる方がいい
- それで数行減らせて本当に嬉しいの?
- 世界中のRubyコードから数%の無駄なコードが減る。
Railsのバージョンについて
- 進化が早いのでついていくのが大変
- フレームワーク単体の追随よりも、プラグインの追随が大変。
- Railsで作ったWebアプリはプラグイン依存になりがち
なかださんのシェルのカスタマイズっぷりに驚愕
RubySpecについて
- 各種Ruby実装者がみんなでRubyの仕様を決めちゃおうと言ってるやつ
- どうやらMatzはあんま見てないらしい(?)
- 今のもの(これかな?)はまだまだ全然練れていない
- 特定のプラットフォームや特定のリビジョンでの実装に依存しすぎている。それはスペックではない
- MSpecという、RSpecコンパチっぽいもので書かれているらしい。確かにサンプルコードを見る感じだとそのものだなぁ
Macのcoreファイルの保存先
- core dumpファイルが生成されない
- ルートディレクトリ直下の/coresフォルダ内に生成される
- きもい、という意見も
- 通常はcore file sizeは0になっているので、sysctlコマンドでcore file sizeの設定を変更しないとcore dumpファイルは生成されない
Last modified: 2008-08-04
Attached files total: 3MB