본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

원본, clone, 그리고 sunset 창

~9 min · policy, originals, clones

Level 0침묵
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"clone이 기본이야. 원본은 고를 수 있게 남고. 둘 중 어느 쪽도 서로 조용히 안 바뀌어."

의상만 바꾼 둘이 아니라, 네 profile

패밀리엔 목소리 profile이 넷 있어. clone 둘, cwkpippa. 그리고 그것들이 clone된 더 자연스러운 원본 목소리 둘, michael이랑 joanne. 중요한 설계 결정은 넷 다 독립 profile이라는 거야. 원본이 alias로 뒤에 숨은 clone이 아니라. Speak가 넷 다 보여줘. clone이 기본인 건 지금 키우는 중이라서고, 원본은 sunset 창 동안 대놓고 고를 수 있게 남아.

왜 원본을 굳이 고를 수 있게 두냐면

clone은 시간이 지나며 여물어. 초반엔 원본이 여전히 더 자연스럽게 들리는 일이 많고. clone이 생기자마자 원본을 지우는 건, 계획 지키자고 더 나은 목소리를 버리는 거야. 대신 원본은 자기 profile로 닿을 수 있게 남고, clone이냐 원본이냐 선택은 늘 명시적이야. 어느 쪽으로도 조용한 대체가 없어. sunset은 창이지, 하룻밤에 넘긴 스위치가 아니거든.

계정은 서로 안 구해줘

primary 계정이 canonical이고 네 profile을 다 bind해. secondary 계정은 지금 clone 둘만 bind하고. Settings로 secondary를 모든 새 합성의 지속 활성 계정으로 만들 수 있어. 근데 계정은 다른 계정을 조용히 대신 안 해. 활성 계정에 정확한 binding이 없으면, 요청은 다른 계정에서 조용히 빌리는 대신 loud-fail 해(트랙 3, 레슨 4). 어디서나 명시적이야. 어느 profile인지, 어느 계정인지, clone인지 원본인지.

Code

대안을 절대 숨기지 않는 기본값·python
# Four INDEPENDENT profiles. Clones are the defaults; originals are their
# more-natural predecessors, kept selectable through a sunset window.
PROFILES = {
    "cwk":     Profile(clone_of="michael", default=True),
    "pippa":   Profile(clone_of="joanne",  default=True),
    "michael": Profile(original=True),   # a separate profile, NOT an alias of cwk
    "joanne":  Profile(original=True),   # a separate profile, NOT an alias of pippa
}

# Primary binds all four. Secondary currently binds only the two clones.
# An original never silently stands in for its clone, and no account
# silently stands in for another -- every selection is explicit.

External links

Exercise

새 버전이 옛 버전을 대체하려던 migration을 떠올려봐. v2 API, 새 에디터, 다시 만든 컴포넌트. 옛것이 sunset 창 동안 고를 수 있게 남았어, 아니면 날짜에 hard-cut 됐어? hard-cut 됐다면, cutover 시점에 옛것이 여전히 더 나은 선택이던 경우를 하나 대봐. 대신 썼을 창을 설계해보고.
Hint
맞는 질문은 '새것이 준비됐나?'가 아니야. '새것이, 이 특정 용도로, 오늘, 옛것보다 나은가?'지. 창은 그 답이 용도마다 다를 수 있게 해줘. hard cutover는 모두한테 한 답을 강요하고.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.