본문 바로가기
Shoal
Shoal

핵심 개념

플래그

플래그 유형, 변형, 기본값, 그리고 평가 순서.

플래그는 변형(variation)이라는 값 목록을 가진 이름 있는 스위치입니다. 코드가 플래그 값을 물으면 Shoal은 환경과 전달된 컨텍스트를 보고 답합니다.

플래그 유형

유형변형주요 용도
booleantrue / false출시 토글, 긴급 차단 스위치
string문자열 목록A/B 변형, 문구 실험
number숫자 목록한도, 타임아웃, 가격
jsonJSON 객체원격 설정 묶음
TypeScript
const theme = await shoal.variation("checkout-theme", ctx, "classic");
const limit = await shoal.variation("upload-limit-mb", ctx, 25);
const config = await shoal.variation("pricing-page", ctx, { showAnnual: false });

마지막 인자는 대체값입니다. 플래그가 없거나, SDK가 아직 로드되지 않았거나, 값의 타입이 다르면 이 값이 반환되므로 플래그 때문에 앱이 멈추는 일은 없습니다.

평가 순서

호출할 때마다 Shoal은 아래 순서로 확인하고 처음 일치하는 곳에서 멈춥니다.

  1. 플래그가 꺼져 있나요? 환경의 off 변형을 반환합니다.
  2. 개별 대상. 사용자 키가 특정 변형에 등록돼 있으면 그 값을 반환합니다.
  3. 규칙. 타기팅 규칙을 위에서 아래로 평가합니다.
  4. 기본 규칙. 기본 변형이나 비율 출시 결과를 반환합니다.

수명 주기

플래그는 원래 임시로 쓰는 것입니다. 모든 곳에서 30일 동안 같은 변형만 내보낸 플래그는 오래됨(stale)으로 표시되고, shoal flags stale로 목록을 확인해 해당 코드 경로를 지울 수 있습니다.

Diff
- if (await shoal.isOn("new-checkout", ctx)) {
-   return renderNewCheckout();
- }
- return renderClassicCheckout();
+ return renderNewCheckout();

영구 플래그

긴급 차단 스위치, 요금제 권한, 운영 한도처럼 계속 남는 플래그도 있습니다. 영구로 표시하면 오래된 플래그 목록에서 빠집니다.

이 페이지 수정마지막 수정:
이 페이지가 도움이 되었나요?

검색어를 입력하세요. 브라우저 안의 로컬 색인에서 찾습니다.

↑ ↓ 이동↵ 열기MiniSearch · local