본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
⛩️

Firelink Quest

최근 수정: 2026-09-18

가족 전체를 보는 방 하나를 짓되, 그게 괴물이 되지 않게

Firelink 의 탄생 이야기 — CWK 가족의 신전(shrine). 움직이는 부품이 서른여섯 개쯤 쌓이면, 그걸 다 보고 열고 맞춰보고 다룰 허브 하나가 있어야 해. 문제는, repo 를 새로 만들고 fleet 에 뿌리고 commit·push 하고 서비스를 다시 띄우는 — 그런 진짜 힘을 쥔 허브는 추상화 하나만 잘못 잡아도 god-object 가 된다는 거야. 이 퀘스트는 Firelink 가 그 힘을 쥐고도 어떻게 editor·monorepo·fleet shell·두 번째 뇌가 되길 거부하는지 따라가.

8 tracks · 33 lessons · ~7h · difficulty: intermediate-to-advanced

Level 0식은 재
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Firelink 는 불꽃이 아니라 신전이야. 제품 하나에 tier 가 둘이지. 한 대의 머신에서 도는 완전한 control plane, Web Hub. 그리고 모든 Mac 에서 도는 local launch plane, Native Launcher. 얘는 위험한 일을 할 수 있어. 새 repository 를 만들고, 서명된 앱을 fleet 에 뿌리고, commit 하고 non-force push 하고, launchd 서비스를 다시 띄우고. 그런데 그 아키텍처는 거의 한 줄 한 줄이 '거부의 규율'이야. 이 퀘스트가 그 규율을 처음부터 끝까지 걸어. 왜 북마크로는 감당이 안 되는지(허브 문제). Web 은 관리를, Native 는 실행을 맡는 권한 분리. 진실을 master 파일에 베끼지 않고 소유자마다 하나씩 두고 합치는 법. 선언을 안 믿고 진짜 host 에서 확인하는 것 — port 를 옳은 프로세스가 쥐고 있는지까지. raw command 창구 없는 typed capability, 불변 plan, 끊겨도 살아남는 durable job. source 편집 금지에 딱 하나 뚫어놓은 구멍, Birth. 보안을 조금도 안 깎는 travel. 그리고 신전이 자기를 들여다보는 마무리 — 이 퀘스트 자체가 그 허브 안의 카드 한 장이거든. clone 하는 repo 가 아니라, 개념을 여는 거야.

Tracks

  1. 01🕯️불꽃이 아니라 신전

    0/4 lessons

    허브 문제, 그리고 거부의 규율

    코드 얘기는 나중이고, 먼저 모양부터. CWK 가족은 이제 repository 가 서른 개를 넘어. repo 하나가 WebUI 도, API 콘솔도, 네이티브 앱도, 메뉴바 앱도 뽑아내고, 아무것도 안 뽑는 것도 있어. 북마크나 Finder 폴더, 그때그때 치는 터미널 명령으론 이걸 가족 허브로 못 키워. 그 허브가 Firelink 야. 근데 Firelink 를 이해할 때 첫 번째는 '뭘 하느냐'가 아냐. '뭐가 되길 거부하느냐'야. 이 트랙이 그 테제를 세워. 불꽃이 아니라 신전, 그리고 왜 Non-Goal 하나하나가 하중을 받는 벽인지.

    cwkFirelink 인구조사 — 집안의 레포마다 카드 하나씩 놓인 그리드. 각 카드에 이름, 레포, 한 줄 목적, 브랜치, 변경 파일 수, 호스트, 버전, 그리고 Open 링크나 Launcher 표시.
    모든 불을 한 장의 지도로 — 신전은 앱을 보고할 뿐, 손대지 않음.
    Lesson list (4)퀴즈 · 4 문제→
  2. 02🏗️두 층, 하나의 제품

    0/4 lessons

    자리를 절대 안 바꾸는 control plane 과 launch plane

    Firelink 는 제품 하나에 필수 절반이 둘이야. Web Hub 는 완전한 control plane 이고 census·birth·deploy·restart·commit·audit 을 다 맡아. 머신 한 대에 얹혀 있고, 쓰는 건 거기 하나뿐이야. Native Launcher 는 local launch plane 이라, 지금 앉아 있는 Mac 에서 surface 를 여는 빠르고 읽기 전용인 길이지. 둘은 catalog 랑 정체성은 나눠 쓰지만 authority 는 안 나눠. 이 트랙이 그 분리 얘기야. 왜 Web 이 관리를 맡고, 왜 Native 가 실행을 맡고, 왜 서로 임시 대역이 못 되고, 왜 repository 자체는 열 대상이 아닌지.

    Lesson list (4)퀴즈 · 4 문제→
  3. 03🗝️사실 하나에 소유자 하나

    0/4 lessons

    가족을 ledger 에서 모아 붙여. master 파일 손으로 쓰지 말고

    허브는 늘 유혹을 받아. 이름, host, port, capability, 상태를 다 적은 큰 목록 하나를 손으로 들고 싶어지지. 그 파일은 쓴 다음 날부터 썩어. Firelink 는 그 길을 안 가. 정체성, 네트워크 위치, 할 수 있는 작업, 지금 돌아가는 상태. 이런 것마다 진짜 주인이 딱 하나씩 있고, 허브는 그걸 베끼는 대신 읽을 때마다 모아 붙여. 이 트랙이 데이터 소유의 등뼈야. 도메인 객체 넷, 그걸 모아 붙이는 registry, 그리고 '주인 하나, 고치는 데도 하나'가 실제로 어떤 모습인지 보여주는 예 하나. product version.

    Lesson list (4)퀴즈 · 4 문제→
  4. 04🔎적힌 것보다 본 것이 이긴다

    0/4 lessons

    진짜 host 에서 확인하고, 모르는 건 모른다고 해

    적어둔 건 가설이야. 'Ember 는 port 8100' 은 누가 언젠가 적어둔 말이고, Ember 가 지금 이 머신에서 진짜 떠 있는지는 host 만 답할 수 있는 다른 질문이지. 이 트랙은 정직하게 보는 법에 관한 거야. disk 랑 Git, GitHub, 돌아가는 상태를 직접 재보는 census. 뭔가 듣고 있다고 해서 'running' 이라 부르길 거부하는 확인 절차. 그리고 '알 수 없었다'를 '죽었다'랑 갈라 두는 규율. 적힌 것보다 본 게 이겨야 하고, 그 차이를 아는 허브라야 믿을 수 있어.

    Lesson list (4)퀴즈 · 4 문제→
  5. 05🛡️타입으로 묶은 권한

    0/4 lessons

    진짜 힘을 쥐되, 명령어 창구는 어디에도 없이

    허브가 힘을 잃지 않으면서 위험해지지도 않는 방법, 그게 이 트랙이야. Firelink 는 repo 를 만들고 뿌리고 commit·push 하고 서비스를 다시 띄워. 그걸 명령어 창구 하나 없이 해. 모든 작업은 registry 와 정해진 adapter 를 거쳐 풀리는 타입 있는 권한이고, 유저가 친 문자열이 실행 인자나 경로, shell 조각이 되는 일은 없어. 미리보기와 실행은 하나의 불변 plan 이 갖는 두 상태고. 오래 걸리는 작업은 브라우저가 끊겨도 살아남는 durable job 으로 돌아. 그리고 adapter 가 Firelink 의 조율이랑 형제 도구가 실제로 하는 일을 깔끔히 갈라놔. 힘을 가두는 걸 기계로 만들어놓은 거지.

    Lesson list (4)퀴즈 · 4 문제→
  6. 06🐣Birth: 딱 하나 뚫어놓은 예외

    0/4 lessons

    소스 편집 금지에 일부러 낸 구멍 하나

    Firelink 는 이미 있는 형제의 소스를 절대 안 건드려. 딱 한 번 빼고. 전에 없던 repository 껍데기를 새로 만드는 Birth. 이건 규칙을 오히려 또렷하게 만드는 예외야. 이미 있는 걸 고치는 게 아니라서 허용되는 거고, 권한도 '껍데기까지' 에서 딱 멈춰. 이 트랙이 그걸 처음부터 끝까지 걸어. 왜 구멍이 하나뿐인지, 다음 바깥 작업으로 넘어가기 전에 매 단계를 저장해 이어갈 수 있게 만든 구조, 첫 쓰기 전에 다 끝내는 사전 점검, 그리고 계약은 만들되 제품은 안 지어내는 규율까지.

    Lesson list (4)퀴즈 · 4 문제→
  7. 07🧭여행 중에도 똑같이

    0/4 lessons

    원격 접근을 제 힘으로. 더 헐거운 문 말고

    쓰는 건 사무실 머신 하나뿐인데, 그걸 조종하는 사람은 종종 다른 나라 노트북 앞에 있어. Firelink 는 그 상황을 곁다리로 안 봐. 원격이라고 보안이 헐거워지지 않아. 이 트랙이 접근 규칙이야. 헤더가 아니라 socket 이 '이건 진짜 이 컴퓨터' 를 증명하는 방식, cwkPippa 가 확인하고 Firelink 는 저장하지 않는 family PIN, HTTP 와 HTTPS 가 쿠키를 나눠 쓰고 프록시를 가려 믿는 규칙, 그리고 인증은 그대로 두고 권한만 줄인 기기별 읽기 전용 자격까지. 여행은 예외가 아니라 제대로 설계해야 할 기본 상황이야.

    Lesson list (4)퀴즈 · 4 문제→
  8. 08👁️자기를 보는 허브

    0/5 lessons

    가족을 모아 붙이되 베끼진 말고, 그 방에서 네 카드도 찾아봐

    마지막 트랙은 뒤로 물러서서 가족 전체를 봐. Firelink 는 형제를 다 보는데, 자기도 cwk* 멤버라서 자기 카드도 봐. 여기서 누가 뭘 갖는지 지도를 그리고, 왜 베끼는 대신 모아 붙이는지 짚어. 형제 허브인 Watchfire 랑도 갈라 세우고. 앱이냐 Mac 이냐로. Pippa Sidekick 이 두 번째 뇌를 키우는 대신 진짜 cwkPippa 를 어떻게 얹는지도 보고. Brains 탭이 가족의 뇌 배정을 다루면서도 아무 뇌도 소유하지 않는 걸도 보고. 그리고 시작한 자리에서 끝나. 자기까지 담은 가족 전체를 품는 신전으로. 다 보고 나면 네 bounded control plane 을 직접 설계할 수 있을 거야. 그게 애초에 목적이었고.

    Lesson list (5)퀴즈 · 5 문제→
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

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

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