소식

묻지 않는 화면, 판정하지 않는 도구

작성: makemind · 2026년 7월 24일

7월 넷째 주. 이번 주 네 편의 공통점은 안 만든 것이다.

이번 주 Signal

화면이 묻기를 멈췄다.묻지 않는 화면」은 주방 화면이 1초마다 서버를 두드리는 걸 없앤다. 서버가 바뀔 때 알린다. 여기서 중요한 건 알림이 무엇이 바뀌었는지 담지 않는다는 것이다. "바뀌었다"만 말하고 화면이 다시 읽는다. 알림에 값을 실으면 그 값이 순서를 잃는 날 화면이 옛 값으로 덮인다.

도구가 없어서 안전하다.읽지 않는 도구」에는 판정 도구가 없다. 잠긴 게 아니라 없다. 그리고 판정 어휘를 응답에 실으려 하면 서버가 던진다 — 조용히 지우지 않는다. 지우면 다음에 또 넣기 때문이다.

루브릭은 데이터다.기준은 당신 것으로 남는다」는 무엇이 좋은 답인지 판단하는 코드를 두지 않는다. 그건 교사가 쓴 데이터고, 도구는 그걸 인용할 뿐이다. 점수 옆에 근거가 붙지 않으면 이의를 제기할 수도, 답할 수도 없다.

그리고 4월 주장을 갚았다.내놓지 않은 것이 앱을 지킨다」가 "모든 서버가 앱이다"의 두 번째 매듭을 실행 로그로 받친다. 도구 목록에 없는 능력은 실제로 닿지 않는다.

도구·패키지 메모

구독을 붙이면서 확인한 것 하나. notifyResourceUpdated(uri)uri만 보낸다. 이게 설계상 옳다 — 알림은 순서를 보장하지 않고, 값을 실으면 늦게 온 알림이 새 값을 옛 값으로 덮는다. "바뀌었다"만 받고 읽는 쪽이 최신을 가져가는 게 항상 맞다.

짧은 생각

이번 주 네 편을 관통하는 한 문장은 이렇다 — 무엇을 끝내 만들지 않을지가 그 도구의 모양이다. 기능을 더해서 안전해지지 않는다. 판정 도구를 안 두는 것, 알림에 값을 안 싣는 것, 채점 코드를 안 쓰는 것. 셋 다 뺀 것이지 더한 게 아니다.

다음 주

책상 위 실물 보드 두 대로 간다. 이번 달 마지막 주는 시뮬레이터 없이 돈다.


makemind.dev 「소식」 — 매주 한 번, 그 주에 무엇이 올라갔고 만들면서 무엇이 걸렸는지.

Twitter