<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title><![CDATA[우당탕탕 개발 로그]]></title>
    <link>https://blog.juniverse.app/</link>
    <description><![CDATA[1인 개발자가 Claude Code로 사이드 프로젝트를 만들며 겪은 삽질과 장애, 설계 판단을 기록한 개발 로그.]]></description>
    <language>ko-kr</language>
    <atom:link href="https://blog.juniverse.app/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title><![CDATA[누락 0건을 전수로 검증한 PR이, 주석 한 줄로 분석을 세 시간 멈췄다]]></title>
      <link>https://blog.juniverse.app/blog/ep56-comment-placeholder-stopped-analysis/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep56-comment-placeholder-stopped-analysis/</guid>
      <description><![CDATA[26만 건 소급 재생성을 위해 락·롤링 배포·누락 행까지 따진 PR이었다. 마지막에 넣은 정렬 변경의 주석 안 치환 자리 하나가 SQL을 깨뜨렸고, 테스트 네 개는 전부 통과했다]]></description>
      <pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[sql]]></category>
      <category><![CDATA[장애대응]]></category>
      <category><![CDATA[테스트]]></category>
    </item>
    <item>
      <title><![CDATA[서치 콘솔이 공시 페이지를 모른다고 해서 확인한 것들]]></title>
      <link>https://blog.juniverse.app/blog/ep57-search-console-unknown-urls/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep57-search-console-unknown-urls/</guid>
      <description><![CDATA[네이버 서치어드바이저의 "robots.txt에 의해 차단" 18건에서 시작해, 구글 서치 콘솔의 표본 조회와 페이지 두께 실측까지 이어진 이틀]]></description>
      <pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[seo]]></category>
      <category><![CDATA[search-console]]></category>
      <category><![CDATA[robots]]></category>
      <category><![CDATA[nextjs]]></category>
    </item>
    <item>
      <title><![CDATA[빈 배열 하나가 한도 도달을 일반 실패로 만들었다]]></title>
      <link>https://blog.juniverse.app/blog/ep55-empty-errors-buried-the-limit/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep55-empty-errors-buried-the-limit/</guid>
      <description><![CDATA[새벽 두 시간 동안 프로젝트를 가리지 않고 잡이 전부 실패했다. 남은 문구는 한 줄이고 원인 자리가 비어 있었다. 그리고 그걸 고치자 공시 본문의 "429억원"이 전역 정지를 부를 수 있게 됐다]]></description>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[장애대응]]></category>
      <category><![CDATA[오류처리]]></category>
    </item>
    <item>
      <title><![CDATA[프롬프트로는 안 됐고, 단계를 나누니 됐다]]></title>
      <link>https://blog.juniverse.app/blog/ep52-two-stage-summary/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep52-two-stage-summary/</guid>
      <description><![CDATA[요약이 얇은 걸 프롬프트로 고치려다 더 나빠졌다. 수치 추출과 문장 작성을 분리하니 재현율 18%p, 실재율 2.6%p가 같이 올랐다]]></description>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[프롬프트]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[입력을 3분의 1로 줄여보니, 고쳤다고 믿었던 게 둘로 갈렸다]]></title>
      <link>https://blog.juniverse.app/blog/ep53-length-vs-structure/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep53-length-vs-structure/</guid>
      <description><![CDATA[2단 처리가 수치 정확도와 누락을 같이 고쳤다. 짧은 입력으로 다시 재보니 하나는 길이 문제였고 하나는 구조 문제였다]]></description>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[컨텍스트]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[자동 게재를 켜자 사흘 동안 넷이 드러났다]]></title>
      <link>https://blog.juniverse.app/blog/ep54-autopublish-exposed-four/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep54-autopublish-exposed-four/</guid>
      <description><![CDATA[사람이 손으로 내보낼 때는 안 보이던 것들이다. 재실행이 옛 응답을 새 목록에 붙이고, 슬러그가 다시 만들어져 링크가 어긋나고, 스키마만 채운 껍데기가 지면에 오르고, 한 곳이 후보 25칸 중 9칸을 먹었다]]></description>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[자동화]]></category>
      <category><![CDATA[멱등성]]></category>
      <category><![CDATA[파이프라인]]></category>
    </item>
    <item>
      <title><![CDATA[네 모델을 200건으로 재고 나서, 내가 재지 않은 것이 결론을 뒤집었다]]></title>
      <link>https://blog.juniverse.app/blog/ep51-eval-blind-spot/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep51-eval-blind-spot/</guid>
      <description><![CDATA[수치 충실도로는 후보가 이겼다. 그런데 한국어 띄어쓰기가 200건 전부 깨져 있었다]]></description>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[qwen]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[AI가 온 게 아니라 ChatGPT만 왔다]]></title>
      <link>https://blog.juniverse.app/blog/ep48-ai-was-just-chatgpt/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep48-ai-was-just-chatgpt/</guid>
      <description><![CDATA[메모리와 트래픽이 뛰었는데 분석 도구에는 아무것도 안 잡혔다. 서버 로그를 User-Agent로 세니 세 시간 15,001건 중 11,321건이 백링크 도구 봇 하나였다. 봇 일곱을 막고 나서 분석 도구를 다시 봤더니, "AI 어시스턴트 53세션"의 정체는 ChatGPT 한 곳이었다]]></description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[seo]]></category>
      <category><![CDATA[크롤러]]></category>
      <category><![CDATA[robots]]></category>
      <category><![CDATA[측정]]></category>
      <category><![CDATA[테스트]]></category>
    </item>
    <item>
      <title><![CDATA[색인 가치가 없다고 막은 경로가 유입 1위였다]]></title>
      <link>https://blog.juniverse.app/blog/ep49-blocked-my-top-channel/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep49-blocked-my-top-channel/</guid>
      <description><![CDATA[옆 서비스에서 크롤러를 막은 김에 같은 작업을 했다. JSON이라 색인 가치가 없다며 /api/ 를 막았는데, 네이버에 제출한 RSS 주소가 그 아래였고 네이버가 비-direct 유입 1위였다. 홈 본문도 거기서 온다. 42분 뒤에 철회했다]]></description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[seo]]></category>
      <category><![CDATA[robots]]></category>
      <category><![CDATA[next.js]]></category>
      <category><![CDATA[코드리뷰]]></category>
      <category><![CDATA[테스트]]></category>
    </item>
    <item>
      <title><![CDATA[복제 잡이 "상류 없음"을 성공으로 적고 있었다]]></title>
      <link>https://blog.juniverse.app/blog/ep50-no-upstream-logged-as-success/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep50-no-upstream-logged-as-success/</guid>
      <description><![CDATA[두 달치 데이터를 정리하자고 했다가 가격 이력이 8월 24일에 멈춰 있는 걸 봤다. 상류가 비밀번호를 거부한 게 시작이었고, 컷오버 때 환경변수 하나가 목록에서 빠지면서 시끄럽던 실패가 조용한 성공으로 바뀌었다. 그리고 안전장치는 두 달 동안 518번 통과했다]]></description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[quant]]></category>
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[launchd]]></category>
      <category><![CDATA[운영]]></category>
      <category><![CDATA[측정]]></category>
    </item>
    <item>
      <title><![CDATA[파라미터를 하나씩 조이다 두 번 뚫리고, 조이기를 그만뒀다]]></title>
      <link>https://blog.juniverse.app/blog/ep47-tightening-params-lost-twice/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep47-tightening-params-lost-twice/</guid>
      <description><![CDATA[형제 경로에 모양 검사가 없는 걸 고치러 갔다가 그게 핵심이 아니라는 걸 봤다. 캐시 키가 RequestURI 전체라 같은 응답을 가리키는 표기가 여럿이면 항목도 여럿이었다. 적중률을 포기하고 총량 상한 64MB를 걸었고, 그 뒤 리뷰가 상한 자체의 구멍을 셋 더 찾았다]]></description>
      <pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[캐시]]></category>
      <category><![CDATA[메모리]]></category>
      <category><![CDATA[동시성]]></category>
      <category><![CDATA[코드리뷰]]></category>
    </item>
    <item>
      <title><![CDATA[로컬에서 재현이 안 된 건 버그가 없다는 뜻이 아니었다]]></title>
      <link>https://blog.juniverse.app/blog/ep46-local-repro-is-not-evidence/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep46-local-repro-is-not-evidence/</guid>
      <description><![CDATA[Railway로 옮긴 뒤 의정보기 웹의 메모리가 26시간 동안 226MB에서 833MB로 곧게 올랐다. 렌더 부하도 아니고 같은 스택의 옆 서비스는 멀쩡했다. 맥에서 3,000건을 때려도 재현이 안 돼 "요청량으로는 재현 불가"라고 적었는데, 컨테이너 안에서 다시 재니 요청당 388KB였다. 플랫폼이 신호를 가리고 있었다]]></description>
      <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[next.js]]></category>
      <category><![CDATA[sentry]]></category>
      <category><![CDATA[railway]]></category>
      <category><![CDATA[메모리]]></category>
      <category><![CDATA[측정]]></category>
    </item>
    <item>
      <title><![CDATA[폭주를 잡 단위로 판정하지 않기로 했다]]></title>
      <link>https://blog.juniverse.app/blog/ep41-stop-judging-runaway-per-job/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep41-stop-judging-runaway-per-job/</guid>
      <description><![CDATA[호출 1회 비용 상한을 만들고, 올리고, 알림으로 바꾸고, 결국 없앴다. 나흘 동안 같은 장치를 네 번 고친 끝에 남은 건 총량 게이트와 타임아웃뿐이다. "알림만 주라고 했지 않아?"]]></description>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[비용]]></category>
      <category><![CDATA[설계]]></category>
      <category><![CDATA[go]]></category>
    </item>
    <item>
      <title><![CDATA[빠르게 하려고 Cloudflare로 가려다 Cloudflare에서 나왔다]]></title>
      <link>https://blog.juniverse.app/blog/ep43-left-cloudflare-to-get-faster/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep43-left-cloudflare-to-get-faster/</guid>
      <description><![CDATA[백엔드 전체를 Cloudflare로 옮길까 물었다. 옮기기 전에 재보니 백엔드를 한 번도 안 부르는 페이지와 정적 PNG가 똑같이 0.47초였다. 무료 플랜이 요청 5건 중 1건을 죽이고 있었고, 결론은 정반대 방향이었다]]></description>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[cloudflare]]></category>
      <category><![CDATA[railway]]></category>
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[performance]]></category>
      <category><![CDATA[인프라]]></category>
    </item>
    <item>
      <title><![CDATA[effort를 열어줬더니 effort가 비어 있었다]]></title>
      <link>https://blog.juniverse.app/blog/ep44-effort-was-empty/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep44-effort-was-empty/</guid>
      <description><![CDATA[공유 큐에 잡별 모델·effort 선택을 붙였다. 자체 리뷰를 시키자 에이전트가 스크래치 세션 9개로 실측해 닷새 전에 끈 thinking이 effort를 무력화하고 있음을 찾았다. 요청값과 실제값을 컬럼 둘로 나눈 이유, 그리고 배포 뒤 문서와 프로덕션이 다섯 군데 어긋나 있던 것]]></description>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[측정]]></category>
      <category><![CDATA[문서]]></category>
    </item>
    <item>
      <title><![CDATA[LLM 없이 150건을 39건으로 줄이는 전처리부터 만들었다]]></title>
      <link>https://blog.juniverse.app/blog/ep45-rules-before-llm/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep45-rules-before-llm/</guid>
      <description><![CDATA[새로 만든 AI 뉴스 다이제스트의 수집기가 사흘치 248건을 쏟았다. "LLM을 무한정 쓸 수 없잖아"에서 시작한 규칙 전처리, 임베딩 기각, 그리고 한글 제목을 전부 중복으로 버리던 정규식 한 글자]]></description>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[nlp]]></category>
      <category><![CDATA[비용]]></category>
      <category><![CDATA[side-project]]></category>
    </item>
    <item>
      <title><![CDATA[존속 판단 게이트를 다시 정했다]]></title>
      <link>https://blog.juniverse.app/blog/ep42-survival-gate-redefined/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep42-survival-gate-redefined/</guid>
      <description><![CDATA[넉 달 동안 구글 색인만 고쳤는데 유입은 네이버였고, 네이버 색인 4,300건에 클릭은 27이었다. 측정 불가가 세 번 연속 나온 옛 게이트를 버리고, GA4 비직접 세션 기준선 54로 11월 15일과 1월 10일 두 판정일을 박았다]]></description>
      <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[seo]]></category>
      <category><![CDATA[analytics]]></category>
      <category><![CDATA[1인개발]]></category>
      <category><![CDATA[의사결정]]></category>
    </item>
    <item>
      <title><![CDATA[thinking을 껐다]]></title>
      <link>https://blog.juniverse.app/blog/ep37-thinking-off/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep37-thinking-off/</guid>
      <description><![CDATA[요약 잡 출력 토큰의 85.8%가 thinking이었다. 환경변수 하나로 끄니 출력 −85%, 처리 시간 4.5배, 스키마 10/10, 요약엔 오히려 숫자가 늘었다. 그리고 끄는 코드 한 줄이 세 프로젝트 인증을 동시에 죽일 수 있었던 이유]]></description>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[비용]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[측정]]></category>
    </item>
    <item>
      <title><![CDATA[64만 건 백필을 라이브 뒤에 세우는 장치 셋]]></title>
      <link>https://blog.juniverse.app/blog/ep40-archive-backfill-throttles/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep40-archive-backfill-throttles/</guid>
      <description><![CDATA[2020~2025 공시 아카이브를 채우려면 외부 API 일일 한도와 LLM 처리량 안에서 몇 달을 돌려야 한다. 수집과 분석을 떼고, 아카이브를 신규 공시 뒤에 세우고, 한도 오류에 전 워커를 멈추는 장치를 만들었다. 완료 예상은 닷새 사이 네 번 바뀌었다]]></description>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[backfill]]></category>
      <category><![CDATA[rate-limit]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[운영]]></category>
    </item>
    <item>
      <title><![CDATA[제약이 돈에서 쿼터로 바뀌자 큐가 필요해졌다]]></title>
      <link>https://blog.juniverse.app/blog/ep36-shared-llm-queue/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep36-shared-llm-queue/</guid>
      <description><![CDATA[자체 GPU 서빙을 접고 구독 CLI로 갈아탔다. 4월에 "만들지 마라"고 못 박았던 공용 계층을, 이번에는 만들었다.]]></description>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[아키텍처]]></category>
      <category><![CDATA[railway]]></category>
      <category><![CDATA[비용]]></category>
    </item>
    <item>
      <title><![CDATA[dev 환경의 조용한 함정 둘]]></title>
      <link>https://blog.juniverse.app/blog/ep39-two-silent-dev-traps/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep39-two-silent-dev-traps/</guid>
      <description><![CDATA[하루에 네 번 "수정이 안 먹는다"로 코드를 다시 읽었다. 범인은 코드가 아니라 dev와 build가 공유하는 .next 디렉터리, 그리고 로컬 DB를 고쳐도 옛 응답을 주는 두 겹 캐시였다. 사용자 눈에는 한 번도 안 보인 함정]]></description>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[caching]]></category>
      <category><![CDATA[dev-environment]]></category>
      <category><![CDATA[debugging]]></category>
    </item>
    <item>
      <title><![CDATA[데스크톱 화면을 나흘간 다섯 번 갈아엎었다]]></title>
      <link>https://blog.juniverse.app/blog/ep38-desktop-redesign-five-times/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep38-desktop-redesign-five-times/</guid>
      <description><![CDATA[모바일 전용으로 넉 달을 버틴 서비스의 검색 유입 96%가 데스크톱이었다. 죽은 여백을 재고, 레일을 붙이고, 카드 2단은 6시간 만에 버리고, 디자인 핸드오프로 전부 다시 짠 기록]]></description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[ui-design]]></category>
      <category><![CDATA[frontend]]></category>
      <category><![CDATA[responsive]]></category>
      <category><![CDATA[측정]]></category>
    </item>
    <item>
      <title><![CDATA[원문 대신 정형 데이터를 먹였다]]></title>
      <link>https://blog.juniverse.app/blog/ep35-structured-data-not-raw-text/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep35-structured-data-not-raw-text/</guid>
      <description><![CDATA[정기보고서 원문의 15%만 읽히고 있었고, LLM 입력의 55%를 먹으면서 결과는 표지 재진술이었다. 원문 대신 공시 API의 확정 수치 6계정을 넣으니 입력이 1/40로 줄고 요약에 숫자가 생겼다]]></description>
      <pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[프롬프트]]></category>
      <category><![CDATA[비용]]></category>
      <category><![CDATA[데이터파이프라인]]></category>
    </item>
    <item>
      <title><![CDATA[죽으면 누가 아픈가 — 구조를 다시 짠 한 주]]></title>
      <link>https://blog.juniverse.app/blog/ep25-split-rewrite-teardown/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep25-split-rewrite-teardown/</guid>
      <description><![CDATA[자동매매 봇의 trader/desk 프로세스 분리, 코드 0줄 재작성 프로젝트의 커밋 전 문서 위생, 그리고 49일 된 launchd 상주 체제의 전면 철거]]></description>
      <pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[adr]]></category>
      <category><![CDATA[launchd]]></category>
      <category><![CDATA[process-split]]></category>
      <category><![CDATA[open-source]]></category>
    </item>
    <item>
      <title><![CDATA[337MB 세션 로그로 넉 달 워크플로우 결산하기]]></title>
      <link>https://blog.juniverse.app/blog/ep34-workflow-retrospective/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep34-workflow-retrospective/</guid>
      <description><![CDATA[연재를 마치며 — 넉 달치 Claude Code 세션 기록을 Claude에게 통째로 분석시켜 확인한 내 워크플로우의 실체, 그리고 그 기록이 기본 설정으로는 30일이면 사라진다는 사실.]]></description>
      <pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[workflow]]></category>
      <category><![CDATA[1인개발]]></category>
      <category><![CDATA[회고]]></category>
    </item>
    <item>
      <title><![CDATA[따로 잰 건 같이 잰 게 아니다, 그리고 가동률 3%]]></title>
      <link>https://blog.juniverse.app/blog/ep33-unmeasured-combination/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep33-unmeasured-combination/</guid>
      <description><![CDATA[띵킹을 오프라인 세트로 재고 효과 없음이라 결론 냈다가 다단계 세트에서 역전. 그 사이 측정한 적 없는 조합이 프로덕션에 들어갔다. max_tokens 상한은 예산이 아니라 차단기였고, 넉 달 튜닝한 장비의 가동률은 3%였다]]></description>
      <pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[회고]]></category>
    </item>
    <item>
      <title><![CDATA[채점기가 모델보다 자주 틀렸다]]></title>
      <link>https://blog.juniverse.app/blog/ep32-grader-wrong-more-than-model/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep32-grader-wrong-more-than-model/</guid>
      <description><![CDATA[자는 동안 800회 넘게 검증을 돌리고 아침에 실패 목록을 보니 8건 이상이 측정 도구 결함이었다. 도구를 고치고 나서 남은 진짜 결함으로 설정 실험 1,000회. 넘은 것 셋, 벽 넷]]></description>
      <pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[testing]]></category>
    </item>
    <item>
      <title><![CDATA[장비를 처음부터 다시 재기로 했다]]></title>
      <link>https://blog.juniverse.app/blog/ep30-remeasure-from-scratch/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep30-remeasure-from-scratch/</guid>
      <description><![CDATA[sm_121이라는 고아 번호, 6:0으로 이기던 SGLang이 투기 디코딩을 켜자 뒤집힌 표, 공개 벤치 1등이 자체 라벨 데이터에서 진 결과. DGX Spark를 칩·엔진·모델 세 층에서 다시 잰 하루]]></description>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[sglang]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[qwen]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[평가]]></category>
    </item>
    <item>
      <title><![CDATA[게이트웨이를 지우고 배선을 고쳤다]]></title>
      <link>https://blog.juniverse.app/blog/ep31-gateway-removal-wiring/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep31-gateway-removal-wiring/</guid>
      <description><![CDATA[이틀 전에 세운 게이트웨이가 요리 질문에까지 증시 개장일을 붙이고 있었다. 4월에 제지당한 패턴을 그대로 반복했고, 지우고 나니 채팅 품질 문제의 대부분은 모델이 아니라 조용히 무시되는 설정이었다]]></description>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[open-webui]]></category>
      <category><![CDATA[아키텍처]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[나눗셈 한 번으로 모델 후보 절반을 걸렀다]]></title>
      <link>https://blog.juniverse.app/blog/ep27-bandwidth-division/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep27-bandwidth-division/</guid>
      <description><![CDATA[DGX Spark의 메모리 대역폭을 실측하니 231GB/s. 활성 파라미터로 나누면 디코드 상한이 나오고, dense 모델은 계산만으로 전부 탈락했다]]></description>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[gpu]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[vllm]]></category>
    </item>
    <item>
      <title><![CDATA[커뮤니티 말을 믿고 디코드를 절반으로 깎았다]]></title>
      <link>https://blog.juniverse.app/blog/ep29-mtp-multimodal-myth/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep29-mtp-multimodal-myth/</guid>
      <description><![CDATA["투기 디코딩과 멀티모달은 양립 불가"를 믿고 MTP를 껐더니 42.8t/s가 19.4t/s로 떨어졌다. 소스를 읽으니 경고만 하고 진행하는 코드였고, 그 사이 다른 함정이 하나 더 켜져 있었다]]></description>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[debugging]]></category>
      <category><![CDATA[gemma]]></category>
    </item>
    <item>
      <title><![CDATA[재개 장치부터 만들고 자러 갔다]]></title>
      <link>https://blog.juniverse.app/blog/ep23-overnight-research/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep23-overnight-research/</guid>
      <description><![CDATA[토큰 한도에 걸려도 스스로 다시 일어나는 밤샘 리서치 위임과, 4월 아이디어 점수의 사후 감사]]></description>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[delegation]]></category>
      <category><![CDATA[autonomous-research]]></category>
      <category><![CDATA[idea-validation]]></category>
    </item>
    <item>
      <title><![CDATA["6주"를 0.06으로 읽은 로컬 LLM]]></title>
      <link>https://blog.juniverse.app/blog/ep24-llm-migration-repro/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep24-llm-migration-repro/</guid>
      <description><![CDATA[자동매매 봇의 데일리 LLM 역할을 자가호스팅 모델로 옮기다 만난 오독 버그를 DB 원문 재현과 A/B 실측으로 잡은 기록]]></description>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[self-hosting]]></category>
      <category><![CDATA[debugging]]></category>
    </item>
    <item>
      <title><![CDATA[혼자면 나쁘고 둘이면 좋은 설정]]></title>
      <link>https://blog.juniverse.app/blog/ep28-priority-plus-chunk/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep28-priority-plus-chunk/</guid>
      <description><![CDATA[chunked prefill만 줄이면 꼬리 지연이 오히려 나빠지고, priority 스케줄링과 함께 쓰면 최악 TTFT가 51.8초에서 2.0초로 내려갔다. 커뮤니티 권고 네 가지를 실측으로 기각한 밤]]></description>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[성능]]></category>
      <category><![CDATA[벤치마크]]></category>
    </item>
    <item>
      <title><![CDATA[데몬은 살아있는데 로그인만 죽는다]]></title>
      <link>https://blog.juniverse.app/blog/ep22-oauth-infra-bot/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep22-oauth-infra-bot/</guid>
      <description><![CDATA[한 달마다 풀리는 OAuth에 조용히 죽는 상주 데몬들 — 토큰 삽질 끝에 헬스체크와 텔레그램 봇으로 안전망을 깔았다.]]></description>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[launchd]]></category>
      <category><![CDATA[telegram]]></category>
      <category><![CDATA[oauth]]></category>
      <category><![CDATA[remote-control]]></category>
    </item>
    <item>
      <title><![CDATA[돌아온 첫 시간에 로그 2.5개월치를 날렸다]]></title>
      <link>https://blog.juniverse.app/blog/ep26-log-loss-on-return/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep26-log-loss-on-return/</guid>
      <description><![CDATA[두 달 만에 연 DGX Spark 세션에서 "로그 확인해줘"가 컨테이너 재생성으로 이어져 334MB가 사라졌다. 살아남은 건 다른 시스템이 우연히 보고 있던 14일치]]></description>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[장애대응]]></category>
      <category><![CDATA[모니터링]]></category>
    </item>
    <item>
      <title><![CDATA[제안하는 Claude, 심문하는 Claude]]></title>
      <link>https://blog.juniverse.app/blog/ep21-claude-audits-claude/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep21-claude-audits-claude/</guid>
      <description><![CDATA[자동매매 봇의 하루에 헤드리스 Claude를 역할별로 박아 넣은 기록 — 뉴스 수집, 조간회의, 반대 심문, 저녁 자가 감사, 그리고 역할마다 다른 실패의 기본값.]]></description>
      <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[자동매매]]></category>
      <category><![CDATA[멀티에이전트]]></category>
      <category><![CDATA[프롬프트]]></category>
    </item>
    <item>
      <title><![CDATA[제헌절에 매매를 시도한 봇]]></title>
      <link>https://blog.juniverse.app/blog/ep19-holiday-calendar/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep19-holiday-calendar/</guid>
      <description><![CDATA[휴장일 캘린더 누락 사고를 계기로 수제 캘린더 위에 증권사 API 검증 계층을 얹은 이틀간의 기록.]]></description>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[trading-bot]]></category>
      <category><![CDATA[incident]]></category>
      <category><![CDATA[holiday-calendar]]></category>
      <category><![CDATA[validation-layer]]></category>
    </item>
    <item>
      <title><![CDATA[밴드 대신 채점표]]></title>
      <link>https://blog.juniverse.app/blog/ep20-ui-by-data/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep20-ui-by-data/</guid>
      <description><![CDATA[화면 절반을 덮은 예측 밴드를 실데이터 시안 다섯 개 끝에 버리고, 오늘 뷰와 정확도 뷰로 갈라 220일 소급 채점과 함께 배포한 이야기.]]></description>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[ui-design]]></category>
      <category><![CDATA[data-visualization]]></category>
      <category><![CDATA[backtest]]></category>
    </item>
    <item>
      <title><![CDATA[질문 한 줄이 프로젝트로 독립하기까지]]></title>
      <link>https://blog.juniverse.app/blog/ep18-project-spinoff/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep18-project-spinoff/</guid>
      <description><![CDATA[자동매매 세션의 곁가지 질문이 하루 만에 별도 프로젝트로 분리되고, 첫 채점에서 해로운 기능의 발주자가 나였음이 드러났다]]></description>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[meta-prompting]]></category>
      <category><![CDATA[project-split]]></category>
      <category><![CDATA[side-project]]></category>
    </item>
    <item>
      <title><![CDATA[AI에게 브라우저를 쥐여줬더니 자기 차단을 풀고 왔다]]></title>
      <link>https://blog.juniverse.app/blog/ep17-browser-driving/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep17-browser-driving/</guid>
      <description><![CDATA[대시보드에서 안 풀리던 봇 차단 토글, Claude가 직접 브라우저를 조작해 마스터 룰 구조를 밝혀내고 재구성한 기록]]></description>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[browser-automation]]></category>
      <category><![CDATA[cloudflare]]></category>
      <category><![CDATA[seo]]></category>
    </item>
    <item>
      <title><![CDATA["승인 5, 거부 없음"이라는 거짓말]]></title>
      <link>https://blog.juniverse.app/blog/ep16-first-trade-bug/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep16-first-trade-bug/</guid>
      <description><![CDATA[첫 무인 매매에서 주문 5건이 소수점 하나로 전량 거부됐는데, 알림은 성공이라고 보고한 날의 사고 분석.]]></description>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[자동매매]]></category>
      <category><![CDATA[디버깅]]></category>
      <category><![CDATA[백테스트]]></category>
    </item>
    <item>
      <title><![CDATA[원칙을 한 층 내려 다시 세우다]]></title>
      <link>https://blog.juniverse.app/blog/ep15-adr-principle-rework/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep15-adr-principle-rework/</guid>
      <description><![CDATA[AI의 정직한 수익률 답변이 자동매매 봇의 1번 원칙과 충돌했고, 폐기하는 대신 한 층 아래로 내려 재정의한 기록.]]></description>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[adr]]></category>
      <category><![CDATA[자동매매]]></category>
      <category><![CDATA[설계]]></category>
    </item>
    <item>
      <title><![CDATA[launchd 위의 Claude Code, 그리고 13일 묵은 401]]></title>
      <link>https://blog.juniverse.app/blog/ep13-claude-daemon-setup/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep13-claude-daemon-setup/</guid>
      <description><![CDATA[항상 켜진 맥미니에 Claude Code remote-control을 launchd 상주로 세팅하다 만료 토큰 401, TUI 로그 폭탄, 검증 스크립트 레이스를 차례로 만난 40분.]]></description>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[launchd]]></category>
      <category><![CDATA[macos]]></category>
      <category><![CDATA[remote-control]]></category>
      <category><![CDATA[oauth]]></category>
    </item>
    <item>
      <title><![CDATA[구현 금지 킥오프와 12문항 인터뷰]]></title>
      <link>https://blog.juniverse.app/blog/ep14-design-first-kickoff/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep14-design-first-kickoff/</guid>
      <description><![CDATA[자동매매 봇 설계를 시작하며 구현 코드 작성을 금지하고 인터뷰부터 시킨 킥오프 프롬프트 사용기.]]></description>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[design-first]]></category>
      <category><![CDATA[kickoff-prompt]]></category>
      <category><![CDATA[interview]]></category>
    </item>
    <item>
      <title><![CDATA[에러 알림에서 폰으로 고치는 PR까지 — 온콜 봇 하루 만들기]]></title>
      <link>https://blog.juniverse.app/blog/ep11-oncall-bot/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep11-oncall-bot/</guid>
      <description><![CDATA[자작 텔레그램 봇을 만들고 같은 날 폐기했다. 인바운드 포트를 하나도 열지 않고 폰에서 서버 에러를 고치는 구조]]></description>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[sentry]]></category>
      <category><![CDATA[telegram]]></category>
      <category><![CDATA[온콜]]></category>
      <category><![CDATA[자동화]]></category>
    </item>
    <item>
      <title><![CDATA[서버 앞에 뭘 하나 더 만들려다 제지당했다]]></title>
      <link>https://blog.juniverse.app/blog/ep10-no-wrapper/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep10-no-wrapper/</guid>
      <description><![CDATA[범용 엔드포인트를 신설하려는 걸 끊었다. 그리고 그 김에 프로젝트 하나를 접기로 했다]]></description>
      <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[아키텍처]]></category>
      <category><![CDATA[rag]]></category>
    </item>
    <item>
      <title><![CDATA[프롬프트를 줄여 55% 빨라졌는데, 정작 중요한 게 사라졌다]]></title>
      <link>https://blog.juniverse.app/blog/ep09-compression-cost/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep09-compression-cost/</guid>
      <description><![CDATA[−55%를 만든 압축이 정작 도메인의 핵심을 버리고 있었다. 안 재던 지표가 무너진 이야기]]></description>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[프롬프트]]></category>
      <category><![CDATA[평가]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[AI가 다시 써준다면 스택을 갈아타도 될까 — 12일 동안 세 번 갈아탄 기록]]></title>
      <link>https://blog.juniverse.app/blog/ep05-stack-migration/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep05-stack-migration/</guid>
      <description><![CDATA[12일 동안 백엔드를 Spring Boot에서 Go로, 모바일을 세 번 갈아타며 전환 비용이 정말 0인지 확인한 기록]]></description>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[go]]></category>
      <category><![CDATA[flutter]]></category>
      <category><![CDATA[react-native]]></category>
      <category><![CDATA[스택전환]]></category>
    </item>
    <item>
      <title><![CDATA[파인튜닝 5일이 프롬프트 108자에 졌다]]></title>
      <link>https://blog.juniverse.app/blog/ep08-finetune-vs-prompt/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep08-finetune-vs-prompt/</guid>
      <description><![CDATA[Gemma 4 26B-A4B에 LoRA로 5일을 썼는데 튜닝 안 한 것과 별로 다르지 않았다. 같은 과제를 프롬프트 압축으로 다시 붙여본 결과]]></description>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[파인튜닝]]></category>
      <category><![CDATA[lora]]></category>
      <category><![CDATA[gemma]]></category>
      <category><![CDATA[프롬프트]]></category>
      <category><![CDATA[로컬llm]]></category>
    </item>
    <item>
      <title><![CDATA[도커 볼륨을 통째로 날렸다 — AI는 경고했고, 지운 건 나였다]]></title>
      <link>https://blog.juniverse.app/blog/ep06-docker-volume-loss/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep06-docker-volume-loss/</guid>
      <description><![CDATA[Docker.raw를 지워 로컬 postgres가 전멸한 뒤, 복구 대신 공용 인프라를 새로 세운 기록]]></description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[docker]]></category>
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[로컬인프라]]></category>
      <category><![CDATA[장애대응]]></category>
    </item>
    <item>
      <title><![CDATA[컨테이너 메모리 제한을 걸어놨는데 장비가 통째로 멈췄다]]></title>
      <link>https://blog.juniverse.app/blog/ep07-unified-memory-oom/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep07-unified-memory-oom/</guid>
      <description><![CDATA[DGX Spark에서 도커 메모리 제한이 통하지 않아 26B LoRA 학습이 장비를 통째로 멈춘 15시간짜리 사고와 두 겹 방어 기록]]></description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[장애대응]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[gpu]]></category>
      <category><![CDATA[파인튜닝]]></category>
      <category><![CDATA[모니터링]]></category>
    </item>
    <item>
      <title><![CDATA[두 AI가 서로를 탓했다 — 프로젝트마다 에이전트를 붙였을 때 생기는 일]]></title>
      <link>https://blog.juniverse.app/blog/ep04-cross-log-debug/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep04-cross-log-debug/</guid>
      <description><![CDATA[프로젝트마다 붙인 에이전트가 각자 자기 로그만 보고 결백을 주장해서, 양쪽 로그를 겹쳐 놓고 결론을 낸 기록]]></description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[장애대응]]></category>
      <category><![CDATA[모니터링]]></category>
      <category><![CDATA[llm]]></category>
    </item>
    <item>
      <title><![CDATA[이름 짓고, 도메인 사고, 첫 커밋까지 — 아이디어에서 개발 시작까지 이틀]]></title>
      <link>https://blog.juniverse.app/blog/ep02-naming-and-setup/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep02-naming-and-setup/</guid>
      <description><![CDATA[이름 붙이는 것도 토론으로 시켰다. 새벽의 도메인 결제, 원격 개발 셋업 삽질, 그리고 첫날 커밋 22개]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[1인개발]]></category>
      <category><![CDATA[프로젝트셋업]]></category>
    </item>
    <item>
      <title><![CDATA[프로젝트마다 모델을 띄우다가, LLM 서버를 하나로 합쳤다]]></title>
      <link>https://blog.juniverse.app/blog/ep03-llm-server-split/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep03-llm-server-split/</guid>
      <description><![CDATA[DGX Spark 한 대에 vLLM 서버를 세우고, 프로젝트마다 모델을 띄우는 대신 하나로 분리해 첫날 모니터링까지 붙인 기록]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[vllm]]></category>
      <category><![CDATA[dgx-spark]]></category>
      <category><![CDATA[로컬llm]]></category>
      <category><![CDATA[인프라]]></category>
    </item>
    <item>
      <title><![CDATA[아이디어가 없어서, 아이디어를 심사하는 AI 이사회부터 만들었다]]></title>
      <link>https://blog.juniverse.app/blog/ep01-persona-debate/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/ep01-persona-debate/</guid>
      <description><![CDATA[아이디어가 없어서 아이디어 평가 시스템부터 만들었다. 페르소나 토론 세팅법과 삽질의 기록]]></description>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[claude-code]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[1인개발]]></category>
      <category><![CDATA[아이디어검증]]></category>
    </item>
    <item>
      <title><![CDATA[쿠버네티스 세미나를 열었던 진짜 이유는 이기적이었다]]></title>
      <link>https://blog.juniverse.app/blog/k8s-seminar/</link>
      <guid isPermaLink="true">https://blog.juniverse.app/blog/k8s-seminar/</guid>
      <description><![CDATA[혼자 아는 기술은 프로덕션에 못 쓴다. 저연차 시절 팀에 신기술을 전파했던 경험]]></description>
      <pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[JUNIVERSE]]></dc:creator>
      <category><![CDATA[kubernetes]]></category>
      <category><![CDATA[경험담]]></category>
      <category><![CDATA[세미나]]></category>
      <category><![CDATA[백엔드]]></category>
    </item>
  </channel>
</rss>
