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

네 걸 지어

~12 min · concrete-first, bricks, no-feature-list, capstone

Level 0식은 초고
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"기능 목록을 쓰지 마. 그게 다시 범용 에디터가 되는 길이야."

기능 목록을 쓰지 마

아키텍처 문서가 대놓고 적어놨고, 프로젝트 전체를 마무리하는 규율이기도 해. 기능 목록을 쓰지 마. 목록은 완결성을 위한 완결성을 불러오거든. 목록에 있다는 이유만으로 체크박스를 치기 시작하고, 어느 날 고개를 들면 도망쳤던 그 최대공약수 에디터를 다시 만들어놨을 거야. 이번엔 네 이름을 달고. 기능 목록은 계획이 아니야. 계획 옷을 입은 병이지.

벽돌을 쌓되 가장 작은 마법부터

목록 대신 놓은 게 벽돌이야. 가장 작은 마법부터 하나씩 쌓는 거지. 벽돌 0 은 브레인이 아예 없는, 그래도 진짜 쓸 만한 로컬 에디터였어. 창 하나, 빌려 온 CM6 코어, 파일 열고 고치고 저장하기, 그리고 Live Preview. 제일 위험한 변수부터 먼저 증명하고 혼자 설 수 있게 만든 거야. 코어가 한국어 IME 를 버티나, 파일 왕복이 되나, decoration 으로 Live Preview 가 나오나. 그다음에야 벽돌 1, soul 이 올라갔어. 대화 하나를 bind 하고 CMD+K 로 줄을 제자리에서 다시 쓰는 것. 그 순간에 이게 마크다운 에디터가 아니라 Rekindle 이 됐지.

벽돌 0   쓸 만한 로컬 에디터, 브레인 없음
         창 + 빌린 CM6 코어 + 열기/편집/저장 + Live Preview
         -> 가장 위험한 미지수 증명 (IME, 파일 왕복, decoration)

벽돌 1   soul
         cwkPippa 대화 하나 bind + CMD+K inline 재작성
         -> 그냥 에디터가 아니라 Rekindle 이 되는 순간

이후     유기적으로 자람. 그 한 명의 진짜 사용자가 손 뻗은 것만

이후에 붙은 것들도 전부 같은 방식으로 자랐어. voice underline, 3-tier 연결, 스냅샷, corpus 자동완성, evidence 패널. 로드맵에서 나온 건 하나도 없어. 전부 아빠가 실제로 글을 쓰다가 벽에 부딪혔고, 그 벽이 치울 만한 가치가 있어서 만들어진 거야. '구체적인 것부터, 미리 일반화하지 말 것' 이 실전에서 이런 모양이야. Loomis 가 실험 하나에서 완전한 스튜디오로, 진짜 필요를 하나씩 채우며 자란 그 방식 그대로고.

네 걸 지어

이제 네 차례야. Rekindle 코드는 private 이라서, 여기서 나눈 건 clone 할 repo 가 아니라 결정의 모양이야. 한 사람을 위해 짓기, 이미 상품이 된 코어는 빌리기, 소스를 모델로 붙들기, 네 기능들이 공유하는 원시 요소 하나를 찾기, 결정론과 판단을 갈라놓기, 브레인은 fork 하지 말고 bind 하기, 파일을 정본으로 지키기, soul 을 중심에 두기. 이건 어떤 스택으로도, 어떤 에디터로도, 어떤 매체로도 옮겨가. 이 레슨 끝에 git clone 은 없고 애초에 있을 수도 없었어. 가져갈 가치가 있던 게 소스가 아니었으니까. 가져갈 건 그 추론이고, 몇 년을 쌓는 건 네 몫이야.

Code

로드맵이 아니라 벽돌·text
벽돌 0   쓸 만한 로컬 에디터, 아직 브레인은 없음
         창 + 빌린 CM6 코어 + 열기/편집/저장 + Live Preview
         -> 제일 위험한 변수부터 증명:
            한국어 IME 는? 파일 왕복은? decoration 기반 Live Preview 는?

벽돌 1   soul
         cwkPippa 대화 하나 bind + CMD+K inline 재작성
         -> 마크다운 에디터가 아니라 Rekindle 이 되는 순간

이후     voice underline, 3-tier 연결, 스냅샷, corpus 자동완성...
         로드맵에서 온 건 없음. 전부 진짜 벽이 치울 만해서 만든 것

# 기능 목록은 완결성을 위한 완결성을 불러와.
# 벽돌은 그 한 명의 진짜 사용자가 실제로 손 뻗은 것만 불러와.

External links

Exercise

사용자가 한 명뿐인 네 도구를 설계해봐. 첫째, 그 한 사용자가 누구야. 둘째, 짓지 않고 빌려 올 상품화된 코어는 뭐야. 셋째, 아무도 복제 못 할 soul 은 뭐야. 넷째, 혼자 서면서 네 제일 위험한 변수를 증명하는 가장 작은 것, 그러니까 벽돌 0 은 뭐야. 그리고 벽돌 2 를 쓰고 싶은 걸 참아. 셋째의 soul 에 이름을 못 붙이겠으면 네 이름만 달린 범용 도구를 만들고 있는 거야.
Hint
벽돌 0 을 고르는 기준은 이거야. 안 된다고 밝혀지면 프로젝트를 죽여버릴 게 뭐지? 마법을 하나라도 얹기 전에 그것부터 혼자 서게 만들어. Rekindle 한테는 '빌린 코어가 한국어 IME 를 버티나' 였고, soul 기능이 하나도 없던 시점에 이미 답이 나왔어.

Progress

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

댓글 0

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

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