問題タブ [featuretoggle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 機能フラグと承認
機能フラグの概念と、このための人気のあるオープン ソース Java lib Togglzに出くわしました。これは、Martin Fowler のブログ投稿を引用しています。
基本的な考え方は、保留中のさまざまな機能の一連のトグルを定義する構成ファイルを用意することです。実行中のアプリケーションは、これらのトグルを使用して、新しい機能を表示するかどうかを決定します。
しかし、私には、これは本当に承認のように聞こえます。ユーザーはこのコンテンツを表示する権限がありますか?
たとえば、ユーザーが FizzBuzz メニューを表示できるようにする必要がありますか?
Togglz では、このチェックを次のように実装できます。
たとえば、Apache Shiro では、まったく同じことができます。
繰り返しになりますが、機能のフラグ付けは、役割または権限のチェックとまったく同じ問題のように感じます。
私は間違っていると確信していますが、方法がわかりません。そこで私は質問します: 機能のフラグ付けは、承認や役割/権限のチェックとどう違うのですか? また、この違いを例証する具体的なユースケースの種類は何ですか? 言い換えれば、承認/役割/許可チェックをいつ使用する必要があり、いつ機能フラグを使用する必要がありますか?
design-patterns - フィーチャー トグル スパゲティに使用できるデザイン パターンは何ですか?
私が働いている会社は、特定の条件に基づいて特定の動作をオン/オフする機能のトグル構成キーを使用して、深みにはまってしまいました。Martin Fowler は、実際にはそれらをビジネス トグルと呼んでいます ( http://martinfowler.com/bliki/FeatureToggle.html )。
多くのクライアントがすべて同じサービスを使用していますが、それぞれがわずかに異なる動作を望んでいます。さらに悪いことに、多くの人は、ユーザーの特定のサブグループに異なる行動を見てもらいたいと考えています。したがって、ビジネストグルを使用します。トグルは、時折予期しない相互作用を伴う if/else ロジックのスパゲッティ ボールになっています。
このような状況を管理するのに役立つ設計パターンはありますか?
乾杯!
ruby - Sinatra API 機能の切り替え
要旨
機能切り替えのような機能をSinatraアプリケーションに組み込むことは可能ですか?
バックストーリー
私はモジュール式の Sinatra プロジェクトをセットアップしました。すべてのリソースに対して // // エンドポイントを実装する傾向GET
がPOST
ありますPUT
。DELETE
開発中のアプリのテストとデータの操作が容易になります。
問題
本番環境に入るときに、不要なエンドポイントが存在することは望ましくありません (例: DELETE '/users'
)。
質問
メソッドに何らかの:development
フラグで注釈を付けたり、before ブロックでリクエストをインターセプトしたりできますか? ヘルパーを使用してこれを行いますか?ここで正しい道を進んでいるかどうかはわかりませんが、おそらく複雑にしすぎています(?)
これについてはどうすればよいでしょうか?
もしあなたがこのようなことをしたなら、あなたの発見を国と共有できれば素晴らしいことです.
version-control - 開発ブランチとスプリントの終わり
私たちは同じプロジェクトに取り組んでいる 3 人の開発者であり、現在それぞれにブランチがあり、全員が完了したらマージします。dev/main/release のようなブランチの使用を開始したいので、全員が同じ dev ブランチで作業を行います。
スプリントの終わりに 2 人は完了しましたが、3 人目の人はタスクを完了するためにさらに時間が必要です。3 分の 1 のコードをどのように処理すればよいでしょうか?
彼の未完成のコードが残りのコードに干渉しないようにして、ゴースト コードを公開しますか? 彼が追加のスプリントを得るためにリリースをキャンセルしますか?
asp.net-mvc - 機能の切り替え MVC Web Api
MVC Web API で機能の切り替えを使用することは可能ですか?
API 機能が完了するまで、特定のコントローラー アクションの呼び出しを制限したいと考えています。
angular - angular 2アプリケーションの機能フラグ、オブジェクトをすべてのコンポーネントと共有する方法
angular2アプリケーションに機能フラグを実装しようとしているので、製品化の準備が整っていない機能をリリースできます。現在、私は英語とドイツ語の 2 つの市場を持っています。これらの市場で機能を個別に制御したいと考えています。
これらのフラグをどのように使用するかについての私の考え:
- 特定の市場に基づいて機能のオン/オフを切り替える。
- 市場に基づいたABテスト機能。
- さまざまなコンポーネントで新しいスタイルをテストする (英語の市場が 1 つの特定のアプローチで特定のリストを見て、ドイツの市場がそれを別の方法で見ているように、AB テストのように)。
- 特定のユーザーが特定の機能をテストできるようにします (管理者、通常の消費者、その他)。
その一部を有効にするために、Angular2 アプリケーションで 2 つの Json ファイルを作成しようとしました。
例:
現在、テストのために「表示」という値を 1 つだけ追加しました。
特定の市場「EN」または「DE」に基づいて、正しい json ファイルをロードし、作成した機能オブジェクトに配置します。
ここで、このオブジェクトをアプリケーション内の他のすべてのコンポーネントと共有したいと考えています。サービスはこれに最適なアプローチですか? または、angularJS で行った $scope のようなものを使用できますか?
java - Togglz 機能の状態変更通知
と の 2 つのアプリケーションがapi
ありdashboard
ます。これらのアプリケーションは両方とも、同じデータベースの同じフィーチャーを使用します。Togglz コンソールは、アプリケーションでのみアクティブになりdashboard
ます。問題は、アプリケーションの機能の状態を変更してもdashboard
、api
アプリケーションがすぐにそれを認識しないことです。api
機能の状態を更新するには、再起動する必要があります。
api
再起動せずに機能状態の変更をアプリケーションに通知することはできますか?
更新 - Togglz 構成が追加されました
これは私のMavencommon
プロジェクトの基本構成です(プロジェクトはこれに依存しています) api
:dashboard
ApplicationFeatures
common
(プロジェクトにも配置):
これは私のプロジェクトDashboardFeatureToggleConfiguration
の (Togglz Web コンソール用)です。dashboard
git - 継続的デリバリーを行う際の機能切り替えによる機能分岐
私は、一部のチームが既に機能分岐を使用して継続的デリバリーを達成しようとしているのに、機能切り替えを使用する理由を理解しようとしています。チームが継続的デリバリーを達成したいと考えており、機能の切り替えまたは機能の分岐の助けを借りてそれを行うことができるとしましょう。
機能の切り替えには、実装可能ないわゆる「リリース切り替え」があり、チームはより迅速にリリースできます。機能の準備ができておらず、マスター ブランチのみを使用している場合は、それを切り替えてコードをリリースできます。
機能分岐についてもほぼ同じ話です。ここでは、たとえば、開発中の 3 つの機能を使用でき、そのうちの 1 つは既に完了しています。次に、会社はチームが本番環境にデプロイすることを望んでいます。彼らはその機能だけを選び、それをマージしてリリースします。
一部のチームが開発時に両方のアプローチを使用しているのを見てきました。この分野での経験がある人は、それについて何か教えてもらえますか?
ご理解いただければ幸いです。
java - Spring コンポーネントの機能切り替え
多くの @Component、@Controller、@RestController アノテーション付きコンポーネントを含む Spring Boot アプリケーションがあります。個別に切り替えたい約 20 の異なる機能があります。プロジェクトを再構築せずに機能を切り替えることができることが重要です (再起動しても問題ありません)。Spring 構成は良い方法だと思います。
次のような構成 (yml) をイメージできます。
主な問題は、すべての場所で if ブロックを使用したくないということです。コンポーネントを完全に無効にしたいと思います。たとえば、 @RestController もロードする必要があり、そのパスを登録しないでください。私は現在、次のようなものを探しています:
このような機能はありますか?自分で実装する簡単な方法はありますか?または、機能の切り替えに関する別のベスト プラクティスはありますか?
ところで:Spring Bootのバージョン:1.3.4