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

사본이 아니라 shape 를 물려받아

~10 min · seeding, remake-not-migrate, reuse-ledger, child-app

Level 0식은 화로
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Vesta 의 대략 80% 가 Waystone 에서 물려받은 거야. 설계 힘은 실제로 다른 딱 하나에 갔어."

'씨앗 뿌려졌다' 가 실제로 뭘 뜻해

Vesta 는 Waystone 에서 대략 80% 를 물려받아 씨앗 뿌려졌어. 그 표현이 뭘 뜻하고 안 뜻하는지 정확히 짚을 값어치가 있지. Vesta 가 이름만 바꾼 Waystone 사본이라는 뜻이 아냐. Vesta 가 런타임에 Waystone 코드를 import 한다는 뜻도, 둘이 DB 를 공유한다는 뜻도 아냐. 씨앗 뿌리기는 형태를 물려받는 거야. Waystone 의 검증되고 현장에서 단련된 계약, 그러니까 crumb 모델, local-first 캡처 계약, composer trio, consultation 조립을 가져와 그 정신에서 저널을 다시 짓는 거지. 건너오는 건 해법의 모양이지 바이트가 아냐.

이게 remaster 와 remake 의 차이야. remaster 는 옛 내용을 두고 겉만 다듬어. 그게 마이그레이션 마음가짐이고, 옛 데이터를 새 페인트칠로 바꾸는 거지. remake 는 원본의 정신에서 지금의 진실, 지금의 목소리, 더 나은 스키마로 한 번에 다시 지어. Vesta 는 새 도메인에 겨눈 Waystone 형태의 remake 야. 같은 실전 검증 계약을, 여행 대신 저널을 위해 새로 지은.

사본이 아니라 계약을 물려받아. 형제가 네 문제 대부분을 풀었을 때, 가져갈 값어치가 있는 건 그게 증명한 계약이야. 인터페이스, invariant, 상호작용 모양. 그 구현을 fork 하는 게 아니라. 복사한 구현은 기원에서 멀어지고 썩어. 물려받은 계약은 힘들게 얻은 레슨을 지니면서 지금의 진실에 맞춰 새로 짓게 해. 모양을 가져가고, 바이트는 놔둬.

애초에 왜 물려받아

빈 페이지 대신 형제의 형태에서 시작하는 이유는 그 80% 가 이미 단련됐다는 거야. Waystone 의 캡처 계약, 오프라인 outbox, 두 진실 규칙은 추상적으로 설계된 게 아냐. 실제 스위스 여행에서 든 현장 멍을 지녀. 맨땅에서 다시 지으면 그 멍 하나하나를 어렵게 재발견한다는 뜻이야. 형태를 물려받으니까, Vesta 는 그 모든 배움의 저편에서 시작하고 설계 예산 전부를 진짜 새로운 20%, 그러니까 열린 타임라인에 써. 그게 reuse 장부의 실행이야. 검증된 걸 가져오고, 도메인이 다른 곳에서 모양을 맞추고, 진짜 delta 만 발명해.

delta 가 힘이 가는 곳

형태가 물려받은 거라 Vesta 의 진짜 작업이 어디인지 정확히 보여. crumb, outbox, composer, 조립 consultation 은 다 가져온 거고, 다 첫날부터 돌아. 열린 타임라인, 저널에 겨눈 두 날짜 진실, 카테고리 선반, 멀티이어 레이어는 발명한 delta 야. Vesta 를 여행 플래너가 아니라 저널로 만드는 부분이지. 잘된 자식 앱은 대부분 부모처럼 보여야 해. 작고 날카로운 진짜 차이 하나를 곁들여서. 네 '새 앱' 이 씨앗 뿌려진 형제와 거의 아무것도 안 나누면, 진짜 씨앗 안 뿌려졌거나 물려받을 수 있던 80% 를 다시 발명한 거야.

Code

물려받은 shape 대 발명한 delta 대 절대 안 나누는 것·text
INHERITED (the shape — proven contracts, rebuilt fresh):
  crumb model · local-first capture · outbox states
  composer trio · consultation assembly · two-truth dates

INVENTED (the ~20% delta — why Vesta is a journal, not a trip):
  the open timeline (no journey container)
  journals as a categorical shelf
  the multi-year layer view

NEVER SHARED (seeding is not any of these):
  Waystone's source code  (not a fork)
  Waystone's running process (not a runtime import)
  Waystone's database      (not a shared table)

# take the shape; leave the bytes

External links

Exercise

네 세계에서 관련 문제를 푸는 두 앱이나 서비스를 떠올려 봐. 두 번째를 첫 번째에서 씨앗 뿌려 짓는다면, 형태로 물려받을 것(계약, invariant, 상호작용 패턴), 진짜 delta 로 발명할 것, 그리고 일부러 안 나눌 것(코드 fork, 런타임, DB)을 적어 봐. 그다음 재사용 비율을 어림하고, 네 'delta' 가 정말 마땅히 작고 날카로운지 확인해.
Hint
건강한 나눔은 큰 물려받은 형태와 작고 날카로운 발명한 delta 야. delta 가 거대하면 검증된 계약을 물려받는 대신 다시 발명하는 걸 수도 있어. DB 를 공유하거나 코드를 fork 하고 싶어지면 멈춰. 그건 형태 물려받기가 아니라 바이트 복사고, 두 앱이 영영 얽히는 방식이야.

Progress

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

댓글 0

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

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