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

네 state, 하나의 record 가 아냐

~11 min · temporal, four-states, durable-memory, separation

Level 0표식 없는 길
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"여행은 계속 고치는 문서가 아냐. 다 살아남을 자격이 있는 서로 다른 진실 넷이야."

덮어쓰려는 본능

여행을 모델링하는 자연스러운 방법은 계속 고치는 record 하나야. plan을 쓰고, 바뀌면 plan을 갱신하고, 끝에 가면 plan이 현실을 반영하고. 그 본능은 단정해 보이는데 기억 엔진한텐 조용히 파국이야. 고칠 때마다 이전 진실이 파괴되거든. Waystone은 거부해. journey는 서로 뚜렷한 시간 state 넷으로 유지되고, 각자 따로 보존돼. 출발 plan, 이후 revision, 실제 event, 그리고 나중의 reflection.

  • Plan (baseline). 아빠가 출발 때 의도한 것. logging 시작 순간 얼려져서 '우리가 하려던 것'이 절대 안 사라져.
  • Revision. 도중에 계획이 어떻게 바뀌었는지. 각각 위에 얹히는 immutable 버전이라, 최신 것만이 아니라 의도가 바뀐 순서까지 읽혀.
  • Actual. 실제로 무슨 일이 있었는지. 산 그대로의 날이랑 event랑 breadcrumb, 누구도 최종 형태를 알기 전에 증거로 잡힌 것들.
  • Reflection. 어떻게 기억됐는지. 여행이 끝나고 의미가 가라앉은 뒤에 쓰는 회고적 읽기.

왜 넷이 하나를 이겨

state 넷을 유지하는 건 하나보다 일이 많고, 그 보상이 이 엔진이 존재하는 이유 전부야. 넷 다 있어야만 여행을 복리로 만드는 질문을 던질 수 있어. 계획했다가 버린 게 뭐야? 계획이 언제 바뀌었고, 왜? reflection이 현실이랑 맞았어, 아니면 기억이 곱게 순화했어? 고칠 수 있는 record 하나는 이 중 아무것도 못 답해. 고칠 때마다 질문에 필요한 증거를 덮었으니까. 네-state 모델이 곧 durable-memory 문장을 손에 잡히게 만든 거야. 구조화된 state가 durable한 건, 바로 현재가 과거를 못 덮게 막기 때문이거든.

Code

하나의 record vs 네 state, 한 여행에 걸쳐·text
편집 가능한 하나의 RECORD            보존된 네 STATE
---------------------------------------------------------------
day 0:  plan = A                    baseline  = A   (얼림)
day 3:  plan = A' (편집)            revisions = [A -> A']
day 5:  plan = A'' (편집)           revisions = [A -> A' -> A'']
end:    plan = 일어난 것            actual    = 일어난 것
                                    reflection= 어떻게 기억됨

# 왼쪽: 끝엔 버전 하나에 history 없음.
# 오른쪽: 아직 '뭘 버렸고, 언제?' 물을 수 있음.
# 엔진의 가치 전부가 오른쪽 열에 살아.

External links

Exercise

네가 세우고 실행한 계획 아무거나 골라. 여행, 프로젝트, 출시. 이 넷 중에 아직 되살릴 수 있는 게 몇 개야? 원래 계획, 바뀐 방식, 실제 일어난 것, 어떻게 기억하는지. 대부분은 편집이 넷을 하나로 뭉갰어. 어느 state를 잃었고, 그것 때문에 이제 절대 못 답하는 질문이 뭐야?
Hint
보통 희생자는 원래 계획이야. 현실이 처음 끼어든 순간 덮이거든. 사라지면 '우리가 뭘 하려 했고, 왜 바꿨지?'는 영영 못 답해. 그 잃은 질문이 바로 state 넷이 지키는 거야.

Progress

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

댓글 0

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

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