Updated:

less than 1 minute read

개요


Feature Flag

  • 코드 수정 없이 특정 기능을 활성화, 비활성화 또는 변경할 수 있도록 하는 소프트웨어 개발 기술
  • 사용자 별 기능 노출, 릴리스 전략(카나리, A/B 등) 등에 사용


SDK

  • Server
    • 멀티 유저 애플리케이션에서 사용
  • Client
    • 싱글 유저 클라이언트 애플리케이션에서 사용


예제

  • Go
    •  package main
              
       import (
           "fmt"
           "context"
           "github.com/open-feature/go-sdk/openfeature"
       )
              
       func main() {
           // Register your feature flag provider
           openfeature.SetProvider(openfeature.NoopProvider{})
           // Create a new client
           client := openfeature.NewClient("app")
           // Evaluate your feature flag
           v2Enabled, _ := client.BooleanValue(
               context.Background(), "v2_enabled", true, openfeature.EvaluationContext{},
           )
           // Use the returned flag value
           if v2Enabled {
               fmt.Println("v2 is enabled")
           }
       }