日本Ruby会議2008 2nd day メインセッションAM2
matzを説得する方法 (田中哲さん)
- Rubyの開発プロセス
- 何かを提案→matzが受け入れる→提案した変更が採用される
- Rubyを変えるためにはmatzを説得する必要
- YARVの例: 実行速度
- バグレポートは通りやすい
- 明らかに変であること (SEGVなど)、再現可能な報告 (実行例)
- 新機能・機能変更
- バグレポートよりも難しい
- 変更の動機は何か? 何が問題か?
- 事例: スタックとレースの途中が省略される
- MLに投げると、自分で表示するコードを提案
- 受け入れられた理由: 省略の意図を尊重、設定がない、繰り返し話題が出ていることを指摘
- 受け入れられなかった案: 設定 (クラスメソッド、コマンドラインオプション、.rubyrc)
- 受け入れられやすい条件
- 副作用がないこと、一般的な問題 (特定個人の問題でない) であること、他言語で採用されている、余計な変更を含まない、など
- その他のノウハウ
- 一貫性よりも便利であることが優先
- 名前問題: 良い名前が決まらないために入らないこともある
- 互換性問題: 短期的な互換性よりも長期的な利点が優先、ただし短期的な痛みの軽減も重要
- 他言語でのアプローチを調査
日本Rubyのリファレンスマニュアル2008・初夏 (青木峰郎さん)
独習Java第4版
- リファレンスマニュアル刷新計画とは
- より完全で便利なマニュアル
- 2006/8スタート
- 改善点
- しっかりしたプロジェクト体制→うまくいっていない
- 高品質なドキュメント、より厳密でメタデータを取りやすいファイルフォーマット
- タイムライン
- 2006/8 プロジェクト開始
- 2007/1 メソッドエントリ完了
- 2007/12/15 1.8.6マニュアルリリース
- 2008/5/3 スナップショット #1 リリース
- 2008/5/30 スナップショット #2 リリース
- 現在のリリース
- メソッドカバー率 31.2% 標準ライブラリ
- tkとSOAP抜き: 52.0% (2007年 2%)
- 組み込みライブラリ: 97.2% (1.8.7追加、1.9追加も含む)
- RedMineによるITS導入
- システム改善
- Ruby言語仕様などが表示できるようになった
- メソッド検索ができるようになった
- 今後の予定
- 2008/6 1.8.7対応マニュアルをリリース予定 組み込みライブラリ 100%を目指す
- クラスリファレンス 2009Ruby会議までに100%を目指す (tk, SOAP以外)
- 合宿でREXMLを撃破
- Ruby言語仕様: 青木さん執筆予定→無理っぽい 水面下で交渉中
- C APIリファレンス: プランなし
- システム (BitClust): 静的HTML出力、新しいデザイン
- ライセンス変更: (現在) 変な独自ライセンス → CCの「表示・継承」(Creative Commons Share-Alike License): 複数のMLに提案→一定期間放置→ライセンス変更実施
- Q&Aから
- ReVIEW: 青木さんSVNレポジトリでひっそり公開
- 他言語版の扱い: 当面は各言語で独立して作成、BitClustの他言語対応は考慮されていない
The future of Ruby in Mac OS X (Laurent Sansonettiさん)
- 過去から現在
- Ruby in Leopard
- MacOS X開発スタック
- Darwin/グラフィックス&メディア/Appフレームワーク/User Experience
- RubyCocoa
- Ruby/Objective-Cブリッジ: Cocoaだけでなく素のC APIとのブリッジとしても機能
- 2001年 藤本尚邦さん開発、現在はLaurentがメンテナンス
- RubyCocoa ユースケース
- 事例
藤本さん (RubyCocoa作者)
中川さん (LimeChat on RubyCocoa作者)
Laurent
- デモ
- RubyCocoaはどうやって動くのか?
- 問題点
- プロキシによるメモリの浪費と遅いディスパッチ
- マルチスレッド使用時に不安定
- MacRuby
- Objective-C上でのRubyの実装
Q&Aから