<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>고유진 — 제작기</title>
  <link>https://koyoojin.pages.dev/log</link>
  <description>왜 그렇게 결정했는지, 무엇을 포기했는지. 만든 것보다 뒤집은 것을 더 많이 적습니다.</description>
  <language>ko</language>
  <lastBuildDate>Fri, 25 Sep 2026 00:00:00 +0900</lastBuildDate>
  <atom:link href="https://koyoojin.pages.dev/rss.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>번역 투를 의심했는데 박자였다</title>
    <link>https://koyoojin.pages.dev/posts/it-was-the-rhythm</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/it-was-the-rhythm</guid>
    <pubDate>Fri, 25 Sep 2026 00:00:00 +0900</pubDate>
    <description>사람이 쓴 것 같지 않다는 지적을 받고 번역 투를 의심했는데, 재 보니 문제는 박자와 강조였습니다. 그 규칙을 저장소 밖으로 꺼내 사이트 전체에 다시 적용한 기록입니다.</description>
  </item>
  <item>
    <title>커밋하지 않은 변경은 누구 것인지 알 수 없었다</title>
    <link>https://koyoojin.pages.dev/posts/whose-uncommitted-changes</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/whose-uncommitted-changes</guid>
    <pubDate>Fri, 25 Sep 2026 00:00:00 +0900</pubDate>
    <description>세션이 여럿이면 작업 트리에 남은 변경의 주인을 알 수 없습니다. 40시간 멈춰 있던 작업이 커밋 7초 뒤에 다시 움직였습니다.</description>
  </item>
  <item>
    <title>만들 수 있는 것과 만들 가치가 있는 것</title>
    <link>https://koyoojin.pages.dev/posts/buildable-is-not-worth-building</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/buildable-is-not-worth-building</guid>
    <pubDate>Fri, 25 Sep 2026 00:00:00 +0900</pubDate>
    <description>파일 기능을 두 번 만들고 두 번 되돌렸습니다. 둘 다 동작했고, 시험표에는 누가 쓰는지 묻는 줄이 없었습니다.</description>
  </item>
  <item>
    <title>설정을 적지 않은 수는 한 달 만에 되짚을 수 없었다</title>
    <link>https://koyoojin.pages.dev/posts/a-number-without-its-settings</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/a-number-without-its-settings</guid>
    <pubDate>Thu, 24 Sep 2026 00:00:00 +0900</pubDate>
    <description>한 달 전에 공개한 수를 다시 돌려 보니 한 설정에서 함께 나오지 않았습니다. 수는 적었는데 그 수를 낸 조건은 적지 않았습니다.</description>
  </item>
  <item>
    <title>계측기를 놓은 날</title>
    <link>https://koyoojin.pages.dev/posts/the-day-the-gauges-went-in</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/the-day-the-gauges-went-in</guid>
    <pubDate>Thu, 24 Sep 2026 00:00:00 +0900</pubDate>
    <description>규칙 문서를 AI 가 스스로 돌리는 검사로 바꾼 하루. 재는 자가 틀린 것을 열네 번 잡았고, 아직 증명하지 못한 것도 함께 적었습니다.</description>
  </item>
  <item>
    <title>13바이트가 넘쳐서 설계가 사라졌다</title>
    <link>https://koyoojin.pages.dev/posts/thirteen-bytes-over</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/thirteen-bytes-over</guid>
    <pubDate>Tue, 22 Sep 2026 00:00:00 +0900</pubDate>
    <description>기기가 받지 않은 쓰기에는 오류가 없었습니다. 실패가 성공처럼 보이던 자리를 여섯 군데 찾아 말하게 만들었습니다.</description>
  </item>
  <item>
    <title>예제대로 구웠으면 카드가 지워졌다</title>
    <link>https://koyoojin.pages.dev/posts/the-example-would-have-wiped-the-card</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/the-example-would-have-wiped-the-card</guid>
    <pubDate>Mon, 21 Sep 2026 00:00:00 +0900</pubDate>
    <description>보드 예제와 문서를 믿은 자리마다 되돌렸습니다. 굼뜬 원인도, 재부팅한 원인도 처음 짚은 곳이 아니었습니다.</description>
  </item>
  <item>
    <title>쇼팽을 고르고 슈베르트를 설명했다</title>
    <link>https://koyoojin.pages.dev/posts/picked-chopin-described-schubert</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/picked-chopin-described-schubert</guid>
    <pubDate>Wed, 09 Sep 2026 00:00:00 +0900</pubDate>
    <description>카탈로그도 인덱스도 정상이었습니다. 작은 모델이 고른 것과 쓴 것이 갈렸고, 처음 붙인 안전장치는 같은 커밋에서 스스로를 무력하게 만들었습니다.</description>
  </item>
  <item>
    <title>설비는 노는데 재공은 쌓였다</title>
    <link>https://koyoojin.pages.dev/posts/machines-idle-queue-growing</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/machines-idle-queue-growing</guid>
    <pubDate>Sat, 05 Sep 2026 00:00:00 +0900</pubDate>
    <description>모델의 대표 결론은 정리 하나에 기대고 있었고, 그 정리에는 전제가 있었습니다. 실제 라인에서 그 전제가 깨져 있었습니다. 틀린 것은 파라미터가 아니라 틀이었습니다.</description>
  </item>
  <item>
    <title>가르니까 참이던 문장이 조용히 거짓이 됐다</title>
    <link>https://koyoojin.pages.dev/posts/true-until-it-was-split</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/true-until-it-was-split</guid>
    <pubDate>Wed, 02 Sep 2026 00:00:00 +0900</pubDate>
    <description>자동화 하나를 일·주·월 셋으로 갈랐습니다. 코드는 잘 돌았는데, 그 코드를 설명하던 문장 여섯이 아무 소리 없이 거짓이 됐습니다.</description>
  </item>
  <item>
    <title>모델 이름 한 줄을 갈았더니</title>
    <link>https://koyoojin.pages.dev/posts/one-line-of-model-name</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/one-line-of-model-name</guid>
    <pubDate>Sat, 29 Aug 2026 00:00:00 +0900</pubDate>
    <description>쓰던 모델이 지원 종료됐습니다. 상수 한 줄을 바꾸는 일인 줄 알았는데, 하루 사이 앱 둘이 서로 다른 이유로 멈췄습니다.</description>
  </item>
  <item>
    <title>4년째 자라고 있는 자로 쟀다</title>
    <link>https://koyoojin.pages.dev/posts/a-ruler-still-growing</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/a-ruler-still-growing</guid>
    <pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate>
    <description>모델이 3% 어긋난다고 나왔습니다. 틀린 것은 모델이 아니라 제가 기준으로 삼은 수였고, 기준을 고치자 모델을 한 줄도 안 고친 채 오차가 사라졌습니다.</description>
  </item>
  <item>
    <title>배치는 늘 꽉 찬다는 거짓말</title>
    <link>https://koyoojin.pages.dev/posts/batches-are-not-always-full</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/batches-are-not-always-full</guid>
    <pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate>
    <description>정적 용량 모델이 원리적으로 볼 수 없는 손실이 있습니다. 설비를 늘리지 않고 얻는 처리량 3.5%가 거기 있었고, 그게 시뮬레이션이 필요한 이유였습니다.</description>
  </item>
  <item>
    <title>공개 데이터는 열려 있지 깨끗하지 않다</title>
    <link>https://koyoojin.pages.dev/posts/open-not-clean</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/open-not-clean</guid>
    <pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate>
    <description>누구나 받을 수 있는 공시 데이터로 지표를 만들었습니다. 파이프라인 코드의 대부분은 계산이 아닌 함정 피하기에 쓰입니다.</description>
  </item>
  <item>
    <title>거짓 날짜도 날짜처럼 생겼다</title>
    <link>https://koyoojin.pages.dev/posts/a-false-date-looks-like-a-date</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/a-false-date-looks-like-a-date</guid>
    <pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate>
    <description>재서 본 것만 싣는다고 적어 둔 페이지에서 제가 날짜 다섯 개를 지어냈습니다. 아무 검사도 걸리지 않았고, 다시 잴 수도 없었습니다. 하루 뒤에는 확인하는 도구가 같은 실수를 반대 방향으로 냈습니다.</description>
  </item>
  <item>
    <title>빈칸을 인쇄했다</title>
    <link>https://koyoojin.pages.dev/posts/printing-the-blank</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/printing-the-blank</guid>
    <pubDate>Wed, 26 Aug 2026 00:00:00 +0900</pubDate>
    <description>잰 수를 모아 탭 하나를 만들었습니다. 오래 걸린 것은 숫자가 아니라, 글이 없는 여섯 줄을 어떻게 적을지였습니다.</description>
  </item>
  <item>
    <title>죽은 소켓과 생각하는 모델</title>
    <link>https://koyoojin.pages.dev/posts/a-dead-socket-and-a-thinking-model</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/a-dead-socket-and-a-thinking-model</guid>
    <pubDate>Tue, 25 Aug 2026 00:00:00 +0900</pubDate>
    <description>쓰던 주소가 답을 멈췄는데, 응답을 한 번에 받는 구조에서는 그것이 아무 신호도 만들지 않았습니다. 원인은 끝까지 못 밝혔고, 대신 시스템이 말을 하게 만들었습니다.</description>
  </item>
  <item>
    <title>고쳤는데 스택이 그대로였다</title>
    <link>https://koyoojin.pages.dev/posts/the-stack-did-not-move</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/the-stack-did-not-move</guid>
    <pubDate>Mon, 24 Aug 2026 00:00:00 +0900</pubDate>
    <description>심사에서 온 크래시를 두 번 진단하고 두 번 고쳤는데, 세 번 다 완전히 같은 스택으로 다시 났습니다. 원인은 제 코드가 아니었고, 경로를 다 막은 줄 알았던 뒤에 네 번째가 났습니다.</description>
  </item>
  <item>
    <title>세지 않기로 한 것은 세어지지 않는다</title>
    <link>https://koyoojin.pages.dev/posts/counted-what-i-kept</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/counted-what-i-kept</guid>
    <pubDate>Sun, 23 Aug 2026 00:00:00 +0900</pubDate>
    <description>사이트에 방문자 수를 붙이고 나서 든 첫 질문은 '그럼 어제까지 온 사람들은?'이었습니다. 답은 알 수 없다였고, 그건 사고가 아닌 결정이었습니다.</description>
  </item>
  <item>
    <title>100점짜리 오답</title>
    <link>https://koyoojin.pages.dev/posts/perfect-score-wrong-piece</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/perfect-score-wrong-piece</guid>
    <pubDate>Fri, 21 Aug 2026 00:00:00 +0900</pubDate>
    <description>추천이 음반을 지어내지 않게 하려고 검증된 카탈로그를 만들었습니다. 정작 검증하는 쪽이 양방향으로 틀리고 있었고, 그중 하나는 스스로를 근거로 삼고 있었습니다.</description>
  </item>
  <item>
    <title>앱이 제 실수를 내 탓으로 채점했다</title>
    <link>https://koyoojin.pages.dev/posts/graded-its-own-mistake-as-mine</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/graded-its-own-mistake-as-mine</guid>
    <pubDate>Fri, 21 Aug 2026 00:00:00 +0900</pubDate>
    <description>키 없이 돌아야 한다는 제약을 지키려고 온디바이스 경로를 붙였고, 키 없이 끝까지 돌았습니다. 같은 녹음으로 재 봤더니 그 제약을 버려야 했습니다.</description>
  </item>
  <item>
    <title>채점기가 소리를 듣는가</title>
    <link>https://koyoojin.pages.dev/posts/whether-the-grader-listens</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/whether-the-grader-listens</guid>
    <pubDate>Thu, 20 Aug 2026 00:00:00 +0900</pubDate>
    <description>말하기 시험 앱 둘을 만들었습니다. 하나를 다른 하나로 베꼈지만, 채점이 글을 읽느냐 소리를 듣느냐 하나가 엔진과 탭과 채점할 수 있는 범위를 모두 새로 정했습니다.</description>
  </item>
  <item>
    <title>화면은 권한이 없다</title>
    <link>https://koyoojin.pages.dev/posts/the-screen-has-no-authority</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/the-screen-has-no-authority</guid>
    <pubDate>Mon, 17 Aug 2026 00:00:00 +0900</pubDate>
    <description>정적 사이트에 게시판을 붙였습니다. 누구나 열어 보고 고칠 수 있는 브라우저에 무엇을 맡겨도 되는가. 기능을 더할 때마다 같은 답으로 돌아왔습니다.</description>
  </item>
  <item>
    <title>흔들린 건 곡선이 아니라 재는 자였다</title>
    <link>https://koyoojin.pages.dev/posts/the-instrument-was-shaking</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/the-instrument-was-shaking</guid>
    <pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate>
    <description>검증 결과가 표본마다 뒤집혔습니다. 모델이 바뀐 것이 아니고 재는 도구가 흔들리고 있었습니다. 그 검증이 잡아낸 것들까지.</description>
  </item>
  <item>
    <title>중립인 줄 알았던 기본값</title>
    <link>https://koyoojin.pages.dev/posts/defaults-are-not-neutral</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/defaults-are-not-neutral</guid>
    <pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate>
    <description>모르는 값을 채우는 기본값에는 방향이 있습니다. 하나씩 되돌려 재 봤더니 다섯 중 넷이 같은 쪽이었고, 겹치니 답이 3.4배가 됐습니다.</description>
  </item>
  <item>
    <title>지어낸 답보다 빈칸이 낫다</title>
    <link>https://koyoojin.pages.dev/posts/empty-handed-beats-invented</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/empty-handed-beats-invented</guid>
    <pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate>
    <description>추천할 게 없을 때 앱이 무엇을 하는가. 경고를 붙이는 대신 빼기로 하고, 서로 다른 세 곳에서 같은 결정을 내렸습니다.</description>
  </item>
  <item>
    <title>관련은 있는데 쓸모가 없었다</title>
    <link>https://koyoojin.pages.dev/posts/pin-the-reader-first</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/pin-the-reader-first</guid>
    <pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate>
    <description>몇 달째 한 번도 실패하지 않은 자동화가 계속 쓸모없는 걸 고르고 있었습니다. 버그가 아닌 기준이 문제였습니다.</description>
  </item>
  <item>
    <title>문서는 커밋에 딸려오지 않는다</title>
    <link>https://koyoojin.pages.dev/posts/docs-dont-ride-along</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/docs-dont-ride-along</guid>
    <pubDate>Wed, 12 Aug 2026 00:00:00 +0900</pubDate>
    <description>README 하나를 고치다 같은 종류의 거짓말을 세 군데서 더 찾았습니다. 코드의 거짓말은 여러 겹이 막지만 문서의 거짓말은 아무것도 막지 않습니다.</description>
  </item>
  <item>
    <title>내가 그린 건 화면이 아니라 한 겹이었다</title>
    <link>https://koyoojin.pages.dev/posts/a-layer-not-a-screen</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/a-layer-not-a-screen</guid>
    <pubDate>Tue, 11 Aug 2026 00:00:00 +0900</pubDate>
    <description>스플래시 한 장을 안드로이드로 옮기는데 세 번 틀렸습니다. 세 번 다 그림이 아닌 그걸 놓은 자리가 문제였습니다.</description>
  </item>
  <item>
    <title>범인은 서명이 아니었다</title>
    <link>https://koyoojin.pages.dev/posts/not-the-signature</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/not-the-signature</guid>
    <pubDate>Mon, 10 Aug 2026 00:00:00 +0900</pubDate>
    <description>업데이트 경로를 시험 삼아 밟아 봤더니, 이전 글의 결론이 뒤집혔고 배포 파이프라인의 진짜 사고까지 드러났습니다.</description>
  </item>
  <item>
    <title>검사는 통과했는데 화면이 틀렸다</title>
    <link>https://koyoojin.pages.dev/posts/checks-passed-screen-wrong</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/checks-passed-screen-wrong</guid>
    <pubDate>Sun, 09 Aug 2026 00:00:00 +0900</pubDate>
    <description>한/영 전환을 붙이며 88개 조합을 자동 검사했는데, 두 번 다 화면을 눈으로 보고서야 틀린 걸 알았습니다.</description>
  </item>
  <item>
    <title>번호 하나 올리려다</title>
    <link>https://koyoojin.pages.dev/posts/one-number-bump</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/one-number-bump</guid>
    <pubDate>Fri, 07 Aug 2026 00:00:00 +0900</pubDate>
    <description>versionCode를 22로 올려 달라는 요청에서 시작해, 앱이 디버그 키로 서명된 디버그 빌드였다는 걸 알게 되기까지.</description>
  </item>
  <item>
    <title>누가 무엇을 알 수 있었는가</title>
    <link>https://koyoojin.pages.dev/posts/who-could-know-what</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/who-could-know-what</guid>
    <pubDate>Fri, 07 Aug 2026 00:00:00 +0900</pubDate>
    <description>3주간 앱 네 개를 만들면서 Claude와의 역할이 어떻게 갈렸는지, 주석 밀도와 권한 파일에 남은 흔적으로 되짚어 봤습니다.</description>
  </item>
  <item>
    <title>13척을 손으로 찍지 않기</title>
    <link>https://koyoojin.pages.dev/posts/warchronicle-battles-as-data</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/warchronicle-battles-as-data</guid>
    <pubDate>Tue, 04 Aug 2026 00:00:00 +0900</pubDate>
    <description>전투 하나를 JSON 한 장으로 쓰고 나머지는 계산에 맡기기까지, 그리고 지도 위에서 프레임을 줄여야 했던 이유.</description>
  </item>
  <item>
    <title>같은 앱을 iOS와 안드로이드로 두 번 만들면서 배운 것</title>
    <link>https://koyoojin.pages.dev/posts/classical-mood-cross-platform</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/classical-mood-cross-platform</guid>
    <pubDate>Tue, 04 Aug 2026 00:00:00 +0900</pubDate>
    <description>플랫폼이 못 하는 걸 억지로 흉내 내지 않고, 대신 무엇을 포기했는지 문서에 적어 두는 쪽을 택했습니다.</description>
  </item>
  <item>
    <title>문자만 잡아서는 부족했다</title>
    <link>https://koyoojin.pages.dev/posts/fab-alert-beyond-sms</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/fab-alert-beyond-sms</guid>
    <pubDate>Fri, 31 Jul 2026 00:00:00 +0900</pubDate>
    <description>RCS·MMS·전달·자체 배포까지 붙이면서, 저 혼자 쓰던 알람이 여러 사람이 쓰는 앱이 되기까지.</description>
  </item>
  <item>
    <title>매주 혼자 도는 자동화를 문서 한 장에 담기</title>
    <link>https://koyoojin.pages.dev/posts/skill-md-as-a-contract</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/skill-md-as-a-contract</guid>
    <pubDate>Fri, 31 Jul 2026 00:00:00 +0900</pubDate>
    <description>매번 빈 세션에서 시작하는 작업은, 맥락을 기억에 기대는 대신 문서로 정해 두어야 합니다.</description>
  </item>
  <item>
    <title>앱이 꺼져 있어도 반드시 울리게 만들기</title>
    <link>https://koyoojin.pages.dev/posts/sms-alarm-always-fires</link>
    <guid isPermaLink="true">https://koyoojin.pages.dev/posts/sms-alarm-always-fires</guid>
    <pubDate>Tue, 28 Jul 2026 00:00:00 +0900</pubDate>
    <description>포그라운드 서비스에 기대지 않고, 문자가 도착한 그 순간에 조건을 다시 계산하는 구조로 바꾼 이유.</description>
  </item>
</channel>
</rss>
