<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>DevsLab Tech Blog</title>
    <link>https://devslab.kr/blog/</link>
    <description>Design stories from the products and open source we build.</description>
    <item>
      <title>문서 변환은 격리에서 — VisionLinq 설계 노트 ②</title>
      <link>https://devslab.kr/blog/2026-visionlinq-isolation/</link>
      <guid>https://devslab.kr/blog/2026-visionlinq-isolation/</guid>
      <pubDate>Thu, 27 Aug 2026 15:00:00 GMT</pubDate>
      <description>남이 보낸 문서를 파싱하는 일은 문서 처리 서비스에서 가장 위험한 순간입니다. VisionLinq가 변환기를 인터넷 끊긴 비루트 컨테이너에 가둔 이유와, 그 제약이 오히려 구조를 단순하게 만든 과정.</description>
    </item>
    <item>
      <title>문서는 고객의 클라우드에 남는다 — VisionLinq 설계 노트 ①</title>
      <link>https://devslab.kr/blog/2026-visionlinq-design/</link>
      <guid>https://devslab.kr/blog/2026-visionlinq-design/</guid>
      <pubDate>Thu, 27 Aug 2026 15:00:00 GMT</pubDate>
      <description>문서 AI 미들웨어를 만들면서 가장 먼저 정한 것은 기능이 아니라 경계였습니다. 원본을 가져오지 않는 구조, 근거를 동반한 추출, 한국 문서 우선 — VisionLinq의 설계 원칙 네 가지.</description>
    </item>
    <item>
      <title>같은 버그를 두 번 고쳤다면 그건 라이브러리다</title>
      <link>https://devslab.kr/blog/2026-locale-match-story/</link>
      <guid>https://devslab.kr/blog/2026-locale-match-story/</guid>
      <pubDate>Fri, 21 Aug 2026 15:00:00 GMT</pubDate>
      <description>중국어 번체가 본토 방문자에게 나가던 버그를 두 번 고치고 나서야, 좋은 로케일 협상 구현이 왜 한 곳에 갇혀 있으면 안 되는지 알게 됐습니다. locale-match가 태어난 이야기.</description>
    </item>
    <item>
      <title>2020년부터 비어 있던 자리 — 웹 에디터에 줄자 달기</title>
      <link>https://devslab.kr/blog/2026-editor-ruler-story/</link>
      <guid>https://devslab.kr/blog/2026-editor-ruler-story/</guid>
      <pubDate>Wed, 05 Aug 2026 15:00:00 GMT</pubDate>
      <description>Word의 가로 줄자는 왜 어떤 웹 에디터에도 없을까. 에디터 불문으로 동작하는 코어를 만들고, 라이브 데모가 잡아준 버그와 사용자가 바로잡아 준 방향까지 — editor-ruler를 만든 이야기.</description>
    </item>
  </channel>
</rss>
