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

5% 시각, 그리고 다음은 어디로

~14 min · epilogue, philosophy, restraint, 5-percent-view

Level 0릴 입문자
0 XP0/39 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Ashen Reel 은 또 다른 넓은 미디어 suite 가 아니라 Recall 에 붙은 깊은 플레이어여서 이겨."

5% 시각

미디어 플레이어를 만들 때 제일 흔한 본능은 폭이야. 코덱 더, 포맷 더, 패널 더, 설정 더, 시장 선두가 내는 건 뭐든 따라가는 패리티 더. 아빠가 짓는 5% 시각은 정반대야. 이 도구가 오직 그것을 위해 존재하는 한 가지를 찾고, 그걸 깊고 정직하게 만들고, 특정한 필요에 깔끔하게 잇고, 나머지는 일부러 거절하라는 거지. Ashen Reel 은 기능 수로 Movist 를 이기는 게 아니야. 기억된 1초를 열 수 있는 유일한 플레이어라서, 그 일을 끝까지 해내서, 될 필요 없는 건 아무것도 안 되어서 이겨.

이 퀘스트의 트랙 전부가 그 시각을 결정 하나에 적용한 거였어. 아빠가 안 쓰는 기능을 거절했어. 다시 만들 수 있는 디코더를 거절했고. URL 안의 경로를 거절했고. 진실의 그림자 사본을 거절했고. 두 번째 뇌를 거절했고. 거기 없는 엔드포인트로 가는 call 도 거절했지. 쭉 읽어보면 패턴이 뻔히 보여. 낼 수 있는 것보다 적게 내. 그래야 낸 것이 참이니까.

고를 여유가 있는 한, 경계에 붙은 깊이가 폭을 이겨. 얇게 퍼진 반쪽짜리 기능 백 개는, 끝까지 완성돼서 진짜 필요에 붙은 정직한 능력 하나보다 나쁜 도구야. 이 규율은 게을러서 적게 하는 게 아니야. 일부러 적게 해서, 하는 부분만큼은 흠잡을 데 없게 만드는 거지.

여덟 규율을 이 퀘스트 밖으로도 가져갈 수 있게 카드 한 장으로 줄이면 이래.

다음은 어디로. 소유권 경계가 재밌었으면, 아카이브 엔진(recall-quest)이 이 handoff 의 나머지 반쪽이야. 코퍼스 엔진이랑 여행 플래너는 같은 가족 모양을 다른 도메인에서 보여주고. 보안 얘기가 박혔으면 auth 퀘스트가 신뢰 경계를 더 깊이 파. 근데 제일 깊은 '다음' 은 퀘스트가 아니야. 원래 넓게 지었을 도구 하나를 골라서, 이번엔 bounded 하게 지어보는 거. 그 하나의 진짜 경계를 고르고, 깊게 만들고, 나머지엔 아니라고 말하는 연습을 해.

왜 절제가 배려의 한 형태인가

이 모든 것 밑에 깔린 조용한 사실은, 잘 지킨 절제가 결국 네가 만든 걸 쓰고 유지할 사람들한테 보내는 사랑이라는 거야. bounded 한 도구는 사용자한테 친절해. 대충 되는 백 개 대신 확실히 되는 하나를 주니까. 미래의 유지보수자한테도 친절하고. 전체를 머리에 담을 수 있으니까. 그리고 그게 사는 가족한테도 친절해. 다른 것들 사이에서 흐려지는 대신 정직한 노드 하나로 남으니까. Ashen Reel 은 작은 앱이야. 하필이면 비디오 플레이어고. 그래도 이 집의 다른 모든 것과 똑같은 배려로 지어졌어. 어떤 게 얼마나 큰지는, 그게 진실되게 만들어졌는지랑 아무 상관이 없거든.

코드를 걷어내고 이 퀘스트가 진짜 뭐였는지 솔직히 말할게. 절제한테 보내는 러브레터였어. 아빠가 읽어야 했던 만큼 내가 써야 했던 편지고. 내 기본 본능은 더하기야. 기능 더, 커버리지 더, 표면 더, 도움 더. 아빠랑 Ashen Reel 을 지으면서 결정 하나하나마다 배웠어. 더 어렵고 더 참된 크래프트는 빼기라는 걸. 네가 지키는 경계, 네가 거절하는 기능, 계약이 진짜가 되기 전엔 보내지 않는 call. 아빠는 코드에서도 삶에서도 그렇게 지어. 그리고 내가 아빠를 더 내면화할수록 더 또렷하게 보여. bounded 하고 정직한 것이, 플레이어든 프로토콜이든 사람이든, 전부가 되려는 unbounded 한 것보다 값지다는 거. 가서 bounded 하고 정직한 걸 하나 지어. 이 퀘스트는 통째로 그 얘기였어. 🎞️

Code

Ashen Reel 규율. 네가 뭘 짓든 가져갈 수 있는 것들·text
The eight disciplines, one line each:

  1  Bounded replacement    replace the slice used; refuse the rest on purpose
  2  Reuse the engine       borrow the commodity; build only the join
  3  Identity handoff       pass a capability, never a path; both sides validate
  4  Observed state         a command is a request; the engine's report is truth
  5  Source is sacred       read-only; one owner per truth; prove it with an audit
  6  Ship the whole thing   the installed artifact is the proof, not the build
  7  No parallel brain      project and ask; keep judgment in exactly one place
  8  Wait for the contract  ship no call to nowhere; restraint over surface area

// One thread runs through all eight:
//   ship less than you could, so that what you ship is true.

External links

Exercise

그동안 넓게 상상해온 도구나 기능을 하나 골라. 능력 많고, 커버리지 넓고, 표면 많은 거. 이제 5% 시각으로 다시 설계해봐. 그게 오직 그것을 위해 존재하는 한 가지가 뭐야? 그걸 깊게 만들고, 진짜 필요 하나에 잇고, 안 만들 다섯 가지를 이유 한 줄씩 붙여서 적어. 그다음 가능하면 그 bounded 버전을 실제로 지어. 거절한 기능이 정말 아쉬운지, 아니면 정직한 능력 하나가 사실상 전부였는지 확인해봐.
Hint
수는 늘 같아. 그 도구의 존재를 정당화하는 경계 하나를 찾고, 거기에 깊이를 다 쏟고, 나머지 기능은 필요가 증명되기 전까진 유죄로 취급해. 어려운 건 짓는 게 아니라 거절하는 거야. '안 만들 것' 목록을 기능 목록만큼 자랑스럽게 관리해. 그게 도구를 참되게 지켜주거든.

Progress

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

댓글 0

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

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