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

사실 하나에 주인 하나

~12 min · ownership, single-source-of-truth, dry, family

Level 0빈 종이
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"같은 사실에 권위 있는 사본이 둘이면 그건 이중화가 아니야. 나중에 어느 쪽이 맞냐고 싸울 예약이지."

가족 전체의 소유 지도

가족 전체로 넓혀 보면 소유 지도가 또렷해. Eagle 이 원본 레퍼런스 이미지를 가져. Loomis 는 분석과 배치 상태를 가지고. 맞춘 결과, 교정, 시도, 보드 같은 것들 말이야. Cinder 는 항상 위에 떠 있는 네이티브 창을 갖고, cwkPippa 는 뇌를 가져. 정체성과 대화와 라우팅과 기억. 시스템마다 딱 한 종류씩만 갖고, 그 배정은 일부러 정한 거고 서로 안 겹쳐. 같은 사실에 대해 권위를 가진 시스템이 둘인 경우는 없어.

경계 너머는 가리키고, 흡수하지 않는다

소유가 배타적이니까 나머지는 전부 경계 너머를 가리키는 표야. Loomis 세션은 자기 Eagle 원본을 가리키는 표를 저장해. 어느 라이브러리의 몇 번인지 정도. 그리고 그 옆에 Loomis 가 가진 분석 결과를 두지. Eagle 원본을 전부 복사해 두 번째 미디어 창고를 만들지도 않고, Eagle 안으로 손을 뻗어 픽셀을 가져가지도 않아. 표는 경계를 넘어가고 소유는 제자리에 남는 거야. 레퍼런스 보드에서 본 그 수 그대로고, 원칙으로 적어두면 보드 기능 하나가 아니라 모든 시스템이 지키는 규칙이 돼.

사실 하나에 주인 하나

밑에 깔린 원칙은 소프트웨어만큼 넓게 통해. 데이터 조각마다 권위 있는 주인은 딱 하나고, 나머지는 그걸 가리키는 표만 쥔다. 사실 하나에 주인이 둘 생기는 순간, 그러니까 서로 자기가 진짜라고 주장하는 자리가 둘 생기는 순간, 어긋남 제조기를 만든 거야. 언젠가는 반드시 달라지고, 그때부터 읽는 사람마다 답 없는 질문을 마주해. 어느 쪽이 맞지? 주인을 하나로 두면 그 질문 자체가 성립을 안 해. 답이 늘 하나뿐이니까 주인도 늘 하나거든. 데이터베이스 정규화도, 반복하지 말라는 원칙의 핵심도 결국 같은 얘기야.

왜 관례가 아니라 문서에 적어뒀나

이 규칙은 사람들 사이의 관례로 두지 않고 문서에 적어뒀어. 이유가 있어. 눈앞의 편의 앞에서 조용히 녹아내리거든. '이 기능 하나만 편하게 가자, 원본 여기 복사해두자' 는 늘 솔깃하고, 정확히 그 수가 두 번째 주인을 만들어서 나중의 어긋남을 심는 거야. 관례는 사람 머릿속에 살아서 바쁘면 증발해. 적어둔 원칙은 다음 사람이 지름길을 타기 전에 읽는 자리에 있고. 소유 지도를 눈에 보이게 적어두는 게, 작은 편의가 반년 뒤에 주인 둘짜리 버그로 자라는 걸 막아줘.

Code

사실 하나에 주인 하나, 나머지는 표만 쥔다·python
# One owner per fact. Everyone else holds a REFERENCE across the boundary.
#   Eagle    owns  original image bytes
#   Loomis   owns  analysis + presentation state  -> refs Eagle by (source_id, item_id)
#   Cinder   owns  the native always-on-top shell -> refs a deep-linkable Loomis board
#   cwkPippa owns  identity / conversation / brain -> every surface binds, none forks it

# A Loomis session stores a TYPED reference -- never a second copy of the original:
session.source   = EagleRef(source_id="eagle", item_id="abc123")  # a pointer across
session.analysis = (fit, corrections, attempts, versions)         # Loomis-owned truth

# Copy the original bytes in here and you've minted a SECOND owner -> guaranteed drift,
# and the unanswerable question 'which copy is right?' the day they disagree.

External links

Exercise

네가 쓰는 시스템에서 주인이 둘인 사실을 하나 찾아봐. 두 데이터베이스에 각각 저장된 같은 고객 주소, 코드와 대시보드에 중복으로 적힌 설정값, 스프레드시트 두 장에 복사된 숫자 같은 거. 그게 이미 만들었거나 만들 어긋남을 적어봐. 그다음 다시 설계해봐. 어느 시스템이 그걸 가져야 하고, 다른 쪽은 어떻게 사본 대신 읽어오는 표가 될 수 있을까?
Hint
단서는 두 군데 이상에서 고쳐야 한다고 기억해야 하는 모든 사실이야. 그걸 가질 자격이 제일 분명한 시스템을 고르고, 대개 그게 만들어지는 자리거나 제일 권위 있는 자리지, 거기를 유일한 주인으로 삼아. 나머지 사본은 주인한테서 읽어오는 표로 바꾸고. 그러면 어긋남이 사라져. 서로 다를 수 있는 두 번째 사본이 더는 없으니까.

Progress

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

댓글 0

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

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