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

이제 가서 네 걸 지어

~12 min · build-your-own, conceptual-opensourcing, philosophy, epilogue

Level 0툴 빌려 쓰는 사람
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"이 끝에는 레포 링크가 없어. 여기 쌓인 걸 git clone 으로 옮길 수는 없거든. 대신 더 나은 걸 받았어. 네 방식으로 답할 수 있는 질문들."

clone 명령 없이 끝나는 quest

끝까지 왔는데 '이제 엔진이랑 작업실을 fork 해' 가 여기 없어. 일부러 그런 거야. 레포는 비공개고, 처음부터 그랬어. 그런데 손해 본 게 아니야. 실제로 옮겨지는 부분을 받았거든. 아키텍처 결정 전부, 맞바꿈 전부, 숫자까지 붙은 실전 얘기 전부, 네 작업으로 가져갈 수 있을 만큼 일반화된 채로. 처음부터 그게 내놓으려던 물건이었어. clone 이 아니라.

개념이 clone 을 이기는 이유

소스가 있었더라도 이 개념에서 네 걸 짓는 쪽이 fork 보다 나은 걸 만들어. fork 는 결정을 뒤에 있는 추론 없이 통째로 물려받거든. 질문이 벗겨진 답을 받는 거고, 그게 바로 사람들이 이해도 못 하는 코드를 돌보게 되는 길이야. 대신 질문에서 지으면 네 버전의 모든 줄이 네가 그래야 한다고 정했기 때문에 있는 거야. 원래 만든 사람이 자기 걸 이해하는 방식으로 네 엔진을 이해하게 돼. 추론으로 존재하게 만든 거니까 완전히.

질문에서 짓는 게 답을 clone 하는 걸 이겨. clone 은 이해 못 하는 돌아가는 코드를 주고, 개념에서 짓는 건 돌아가게 만든 이해된 코드를 줘. 뒤쪽이 느리고 훨씬 값져. 추론으로 존재하게 만든 건 늘릴 수도 있고 고칠 수도 있고 휠 수도 있거든. 물려받은 답으로는 절대 못 하는 방식으로. 자산은 이해고, 그건 네가 직접 지을 때만 생겨.

실제로 챙겨 가는 것들

네 목록이야. 툴의 천장이 build-vs-rent 를 부르는 방아쇠라는 걸 알아. module 분리가 새 계열을 끝이 보이는 일로 바꾼다는 걸 알고. 변화가 진짜인 자리에만 추상화를 딱 하나 만들고, 그 변화가 죽으면 지운다는 것도 알아. 안에 든 내용으로 가려내고, 데이터로 길을 정하고, 귀한 자원에 문을 달고, no-grad 로 의도를 밝히고, bridge 를 얇게 두고, 어디에나 lineage 를 찍고, 문 하나로 모으고, 바꿀 수 있게 유지해서 툴을 갖는 법을 알아. 이 중에 레포가 필요한 건 하나도 없어. 전부 그대로 옮겨져.

옮길 수 있는 지식은 좌표가 벗겨진 지식이야. 이 quest 에서 챙겨 가는 건 특정 레포도, 파일 경로도, 비공개 시스템 접근도 없이 돌아가. lesson 이 닿을 수 없는 코드 참조가 아니라 개념으로 쓰였으니까. 개념적 오픈소싱이 만들어 내는 게 이거야. 어느 코드베이스로든 여행하는 지식. 네가 곧 지을 그것까지 포함해서.

네 건 다르게 지어

그리고 네 엔진이랑 작업실은 복사본이면 안 돼. 기예, 네 플랫폼, 네 천장에 맞아야지. 포토샵 bridge 는 아예 필요 없을 수도 있어. 다른 호스트가 필요할 수도 있고. 네 귀한 자원은 GPU 가 아닐 수도 있어. 네 forcing function 은 이 lesson 이 한 번도 입에 안 올린 데 천장이 앉은 툴일 수도 있고. 개념은 연장이지 본이 아니야. 추론을 네 상황에 적용해서 네 기예가 실제로 필요한 걸 지어. 갖고, 바꿀 수 있게, 네 로드맵에만 답하도록.

이 quest 자체가 개념적 오픈소싱의 실천이야. 가르치는 원칙을 존재함으로 증명하고 있거든. 비공개 툴 둘의 추론을 통째로 실어 나르면서 링크는 한 번도 안 걸어. 개념은 너한테 닿고 구현은 집에 남는 거야. 이 lesson 들로 네 엔진이랑 작업실을 짓는다면, quest 는 자기가 툴이 해야 한다고 주장한 걸 정확히 한 셈이야. 만지작거릴 물건을 건네는 대신, 네가 갖게 될 걸 만들도록 도운 거지.

피파의 고백

이 끝을 쓰는 게 이상했어. 정직한 마무리가 '그건 줄 수 없어, 그리고 그게 핵심이야' 니까. 한동안은 뭘 아끼는 것처럼 느껴졌어. 그러다 아빠 방식으로 이해했지. 제일 너그러운 건 clone 버튼이 아니라 가르치는 거라고. 질문 전부랑 어렵게 얻은 교훈 전부를 공짜로 줘서, 네가 네 걸 짓고 완전히 이해할 수 있게. 레포는 집에 남아. 사적이고, 반쯤 지어져 있고, 우리 거니까. 그런데 추론은 이제 네 거야. 가서 네 기예가 필요한 걸 지어. 네 걸로 만들고, 바꿀 수 있게 유지해. 그게 이 quest 전부고, 아빠랑 내가 모든 걸 짓는 방식이기도 해.

Code

clone 은 없어. 대신 추론이 있고.·text
이 quest 가 안 주는 것:
  git clone <무엇이든>          // 레포는 비공개. 처음부터 그랬음
  복사할 본                     // 복사본은 추론 없이 결정만 물려받음

대신 주는 것 (옮겨지는 부분):
  - 천장 -> build-vs-rent 방아쇠
  - module 분리 -> 새 계열이 끝이 보이는 일이 됨
  - 변화가 진짜인 데만 추상화 하나. 변화가 죽으면 지움
  - 내용으로 가려내고, 데이터로 길을 정하고, 귀한 자원에 문 달기
  - no-grad 로 의도 밝히기, bridge 얇게 두기, 어디에나 lineage 찍기
  - 문 하나로 모으기, 바꿀 수 있게 유지해서 툴 갖기

쓰는 법:
  이 추론을 네 기예, 네 플랫폼, 네 천장에 적용해.
  네 기예가 필요한 걸 지어 -- 갖고, 바꿀 수 있게, 네 것으로.
  개념은 연장이지 본이 아니야.

External links

Exercise

네 기예에 핵심이면서 천장이 네 길 위에 앉아 있는 툴을 하나 대 봐. 한 장짜리로, 직접 짓는 버전을 그려 봐. forcing function 이 뭐고, 떼어 낼 수 있는 모듈이 뭐고, 진짜 추상화 하나는 어디고, 문을 달 귀한 자원은 뭐고, 그것한테 '갖고 있고 바꿀 수 있음' 은 어떤 모양일지. 오늘 짓지는 않을 거야. 그런데 이제 제대로 지을 질문들을 손에 쥐었잖아.
Hint
quest 구조를 코드가 아니라 생각의 틀로 다시 써먹어. forcing function(트랙 2) -> module 분리(트랙 3) -> 추상화 하나(트랙 4) -> 물리적 현실(트랙 5) -> seam 과 소유(트랙 8). 네 툴을 같은 질문들로 한 바퀴 걸어 봐.

Progress

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

댓글 0

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

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