최대 1 분 소요

개요


Feature Flag

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


SDK

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


예제

        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")
            }
        }