-
eban さんの復習
module Enumerable
def dmap
DelegateMap.new(self)
end
endclass DelegateMap < BasicObject
def initialize(enum)
@enum = enum
end
def method_missing(mhd, *args, &blk)
@enum.map {|elem| elem.__send__(mhd, *args, &blk) }
end
endタグ : ruby復習登録日 : 2009年03月12日復習した日 : 2009年04月07日次の復習日 : 2009年04月14日 (あと 3 回) (513日遅れ)ドキュメント形式 : default -
takaokouji さんの復習
str.gsub!(/^\s*?\n/m, "")
タグ : ruby tech復習登録日 : 2009年03月08日復習した日 : 2009年05月15日次の復習日 : 2009年11月13日 (あと 1 回) (300日遅れ)ドキュメント形式 : rd -
eban さんの復習
全ブランチの共通項。
■ブランチマネージャ
各ブランチの管理は、それぞれ選任されたブランチマネージャが
執り行う。適宜、相互に協議を行うものとする。変更に関してコミッター同士の議論が解決を見ない場合、該当の
ブランチマネージャがこれを調停する。ブランチマネージャは、いかなる変更についても即時の巻戻しを
コミッターに要請、または執行できる。ブランチマネージャは、ブランチの凍結および解除を宣言できる。
凍結中は、原則としてすべてのコミットはブランチマネージャの
事前の許可を得て行うものとする。以下、 stable ブランチについて。
■ブランチの概要
stable ブランチは広範な一般利用に適したコードベースの醸成を
目標とし、安定性および同一ブランチ内における上位互換性を高い
水準で維持しつつ、性能改善や機能追加による実用性の向上を図る
系列と位置づける。脆弱性への対応についてはこれを最優先し、セキュリティチーム
および他のブランチマネージャと連携の上迅速に行う。■コミッター
コミッターは、自らの裁量のもと、本規約各項に従う範囲において、
原則として個別の許可を得ることなくコミットを行うことができる。コミッターは、コミッター同士の円滑な共同作業のため、 stable
ブランチにおいてはどの時点でもビルドおよびテストが通るよう、
極力アトミックに変更をコミットするものとする。■リリースと保守期間
品質管理と利用促進を目的として、一定期間ごとにリリースを行う。
スケジュールの調整、リリース後の保守等については、他のブランチ
マネージャと適宜協議を行う。stable ブランチ自体は、原則として2系列までは並行して保守する。
(1.8以降)■リリースブランチの管理
新しいリリースの準備に入る際、ブランチマネージャは stable
ブランチを分岐させ、凍結されたリリース用ブランチを作成する。ブランチマネージャが同リリースブランチからリリースタグを打つ
とともにリリースが宣言され、以後、同リリースブランチの管理は
別途任命されたリリースブランチマネージャに委譲される。■互換性の維持
上位互換性は原則として維持する。ソースレベルの互換性には最大限
配慮し、バイナリ互換性についても極力配慮する。ただし、以下については例外とする。
1) 公開インターフェースに属さない内部実装の変更
2) 公開インターフェースであっても、それまでドキュメントに
おいて未記載あるいは未定義だった挙動の変更
3) その他、ブランチマネージャの許可を得たもの。■事前の評価
変更のコミットにあたっては、事前に trunk 等の開発ブランチに
適用の上、十分な評価を行っておくものとする。ただし、以下については例外とする。
1) stable ブランチ固有の変更で、 trunk には適用できないもの。
2) 脆弱性への対応など、緊急性の高いもの。
3) その他、ブランチマネージャの許可を得たもの。■機能の追加
既存ライブラリやクラスへの機能追加については、以下の各条件を
満たす場合に認められる。
1) ブランチの凍結期間外であること。
2) 「互換性の維持」項の主旨を念頭に、インターフェースが慎重に
設計、評価されていること。
3) 「事前の評価」項の主旨を念頭に、実装が十分に評価されている
こと。■ライブラリの追加
新しいライブラリの追加については、以下の各条件を満たす場合に
認められる。
1) ブランチの凍結期間外であること。
2) 「互換性の維持」項の主旨を念頭に、インターフェースが慎重に
設計、評価されていること。
3) 「事前の評価」項の主旨を念頭に、実装が十分に評価されている
こと。
4) ライブラリの権利保持者の事前の許可を得ていること。
5) ブランチマネージャの事前の許可を得ていること。以下、ユーザ向けの説明。
- stable ブランチは、安定版のポイントリリースの準備を行うための、
準開発ブランチです。開発方針は「ブランチの概要」項等を参照。- スナップショットについては、プロダクション品質は保証されません。
よってシビアな用途、プロダクション環境での利用は推奨しません。
そうした用途にはリリース(ブランチ)をどうぞ。- 次期安定版に向けた機能追加や性能向上を試したいというユーザは、
ぜひ使ってみて、問題点を見つけたらフィードバックしてください。* * *
ということでみなさんの意見を聞かせてください。
なお、SVNへの移行や1.8.5-p1のリリース作業とは独立した問題なので、
そちらは待たずに進めていただければと思います。よろしくお願いします。
タグ : ruby復習登録日 : 2009年03月05日復習した日 : 2009年04月07日次の復習日 : 2009年05月07日 (あと 2 回) (490日遅れ)ドキュメント形式 : default