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

어느 쪽이 값을 치를지 정해

~12 min · cost, boundaries, asymmetry, design-rules

Level 0불 꺼진 작업장
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

이 전부의 밑에 깔린 규칙

그 금지, 타입 붙은 포인터, 사라진 반환 경로. 이 트랙의 모든 게 저장소 경계에 적용된 규칙 하나야. 비용은 하류가 흡수한다. 능력을 가진 쪽이 전부 물고, 부르는 쪽은 무지한 채로 싸게 남아.

여기서 비용은 실행 시간이 아냐. 능력 주위에 쌓이는 전부야. 그걸 만지려면 필요한 지식, 딸려 오는 의존성, 깔아야 하는 도구, 누군가 이해해야 하는 실패 양상, 요구되는 문서, 정당화되는 테스트까지. 그게 전부 한쪽에, 영구적으로, 의도적으로 떨어져.

왜 나눠 지는 게 실패인가

대부분의 팀은 비용을 나누고 싶어 해. 나누는 게 공평하고 협조적으로 들리니까. 경계에 적용하면 그건 부식성이야. 양쪽이 조금씩 무는 경계는 양쪽이 조금씩 이해해야 한다는 뜻이고, 도메인이 바뀌면 양쪽을 다 고쳐야 한다는 뜻이고, 그럼 그건 경계가 아니야. 동시 배포를 요구하는 이음매지. 경계가 막으려고 존재하는 바로 그거.

경계를 하중 견디게 만드는 건 비대칭이야. 한쪽이 전부 물면, 반대쪽의 무지가 임시 상태가 아니라 보장이 돼. 값 치른 쪽을 통째로 다시 써도 공짜 쪽은 신경도 안 써. 그 변화에 깨질 만큼 뭘 알았던 적이 없으니까.

줄 수로 규칙 읽기

규칙이 지켜지고 있는지 보는 싼 진단법이 있어. 부르는 쪽에 코드가 얼마나 사는지 보고, 그게 자랐는지 물어봐. 여기선 백 줄 아래고, 영원히 거기 머물 예정이야. 백이 마법의 숫자라서가 아니라, 정당하게 자라 들어갈 대상이 없기 때문이야. 자란다면 그건 있으면 안 되는 자리에 도착한 영상 지식이고, 그래서 줄 수가 경보기 노릇을 해.

이건 훔쳐 갈 만한 기법이야. 경계에서 무지한 채로 있어야 할 쪽을 고르고, 오늘 대충 얼마나 큰지 적어두고, 설명 안 되는 성장을 정상적인 진척이 아니라 설계 사건으로 취급해. 경계는 시끄럽게 무너지는 일이 거의 없어. 작게 남아야 했던 쪽에 천천히 쌓이면서 무너져.

불공평한 경계가 작동하는 경계야. 공평함은 사람을 대하는 방식의 성질이지 아키텍처 비용을 배분하는 방식의 성질이 아냐. 선을 그을 땐 값 치를 쪽을 지명해. 그리고 엄격하게 지켜. 모두가 조금씩 보태는 버전은 모두한테 물어봐야 하는 버전이거든.

Code

장부를 대놓고 적으면·text
capability: turning material into a finished video

absorbed by the workshop (forever):
  video vocabulary          scenes, beats, plates, segments, timing
  media tooling             encoders, font stacks, image libraries
  provider integrations     speech synthesis, image generation
  failure modes             glitched takes, desync, cache staleness
  measurement               durations, loudness, stream layout
  the format doctrine       what an episode IS

paid by the caller:
  one button
  one optional line of text
  one endpoint that emits {pipeline, pointer, why}

# The asymmetry is not an accident of who wrote what.
# It is the mechanism that keeps the left column replaceable.

External links

Exercise

네가 관리하는 두 부품 사이 경계를 하나 골라서 장부를 대놓고 써봐. 두 칸으로, 각 쪽이 상대 도메인에 대해 뭘 알고 있어야 하는지. 양쪽 칸에 다 진짜 항목이 있으면 그 경계는 지금 쪼개져 있는 거야. 어느 쪽이 전부 흡수할지 정하고, 틀린 쪽에 있는 제일 큰 항목 하나를 짚어서 그걸 옮기려면 뭐가 필요한지 적어봐.
Hint
양쪽이 같이 import 하는 공용 모델이나 타입 정의를 찾아봐. 공용 타입은 아무도 쪼개기로 결정한 적 없는데 비용이 쪼개지는 제일 흔한 경로야. 중복 제거처럼 보이는데, 실제로 하는 일은 양쪽을 같이 변해가는 어휘 하나에 묶어두는 거거든.

Progress

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

댓글 0

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

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