<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url><loc>https://knockblog.com/</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/" /><changefreq>daily</changefreq><priority>1</priority></url>
<url><loc>https://knockblog.com/en</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/" /><changefreq>daily</changefreq><priority>1</priority></url>
<url><loc>https://knockblog.com/posts</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts" /><changefreq>daily</changefreq><priority>0.8</priority></url>
<url><loc>https://knockblog.com/en/posts</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts" /><changefreq>daily</changefreq><priority>0.8</priority></url>
<url><loc>https://knockblog.com/topics</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics" /><changefreq>weekly</changefreq><priority>0.7</priority></url>
<url><loc>https://knockblog.com/en/topics</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics" /><changefreq>weekly</changefreq><priority>0.7</priority></url>
<url><loc>https://knockblog.com/tags</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags" /><changefreq>weekly</changefreq><priority>0.7</priority></url>
<url><loc>https://knockblog.com/en/tags</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags" /><changefreq>weekly</changefreq><priority>0.7</priority></url>
<url><loc>https://knockblog.com/author</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/author" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/author" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/author" /><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/author</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/author" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/author" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/author" /><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/about</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/about" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/about" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/about" /><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/about</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/about" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/about" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/about" /><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/posts/i18n-icu-next-intl</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/i18n-icu-next-intl" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/i18n-icu-next-intl" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/i18n-icu-next-intl" /><lastmod>2026-07-31T04:12:13.452Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/en/posts/i18n-icu-next-intl</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/i18n-icu-next-intl" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/i18n-icu-next-intl" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/i18n-icu-next-intl" /><lastmod>2026-07-31T04:12:13.452Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/posts/vault</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/vault" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/vault" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/vault" /><lastmod>2026-08-05T02:20:41.416Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/en/posts/vault</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/vault" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/vault" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/vault" /><lastmod>2026-08-05T02:20:41.416Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/posts/jev-system-one-model</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/jev-system-one-model" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/jev-system-one-model" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/jev-system-one-model" /><lastmod>2026-09-29T09:00:58.539Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/en/posts/jev-system-one-model</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/jev-system-one-model" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/jev-system-one-model" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/jev-system-one-model" /><lastmod>2026-09-29T09:00:58.539Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/posts/jev-in-practice</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/jev-in-practice" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/jev-in-practice" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/jev-in-practice" /><lastmod>2026-09-29T08:34:19.686Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/en/posts/jev-in-practice</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/posts/jev-in-practice" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/posts/jev-in-practice" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/posts/jev-in-practice" /><lastmod>2026-09-29T08:34:19.686Z</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
<url><loc>https://knockblog.com/topics/backend</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/backend" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/backend" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/backend" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/en/topics/backend</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/backend" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/backend" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/backend" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/topics/frontend</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/frontend" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/frontend" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/frontend" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/en/topics/frontend</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/frontend" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/frontend" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/frontend" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/topics/infra</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/infra" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/infra" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/infra" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/en/topics/infra</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/topics/infra" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/topics/infra" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/topics/infra" /><changefreq>weekly</changefreq><priority>0.6</priority></url>
<url><loc>https://knockblog.com/tags/system-one</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/system-one" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/system-one" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/system-one" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/system-one</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/system-one" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/system-one" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/system-one" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/jev</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/jev" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/jev" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/jev" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/jev</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/jev" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/jev" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/jev" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/llm</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/llm" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/llm" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/llm" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/llm</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/llm" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/llm" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/llm" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/typesafe-ai</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/typesafe-ai" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/typesafe-ai" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/typesafe-ai" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/typesafe-ai</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/typesafe-ai" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/typesafe-ai" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/typesafe-ai" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/bitwarden</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/bitwarden" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/bitwarden" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/bitwarden" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/bitwarden</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/bitwarden" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/bitwarden" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/bitwarden" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/1password</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/1password" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/1password" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/1password" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/1password</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/1password" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/1password" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/1password" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/i18n</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/i18n" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/i18n" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/i18n" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/i18n</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/i18n" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/i18n" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/i18n" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/valut</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/valut" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/valut" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/valut" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/valut</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/valut" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/valut" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/valut" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/typescript</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/typescript" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/typescript" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/typescript" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/typescript</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/typescript" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/typescript" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/typescript" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/next-intl</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/next-intl" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/next-intl" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/next-intl" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/next-intl</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/next-intl" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/next-intl" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/next-intl" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/tags/ai</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/ai" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/ai" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/ai" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
<url><loc>https://knockblog.com/en/tags/ai</loc><xhtml:link rel="alternate" hreflang="ko" href="https://knockblog.com/tags/ai" /><xhtml:link rel="alternate" hreflang="en" href="https://knockblog.com/en/tags/ai" /><xhtml:link rel="alternate" hreflang="x-default" href="https://knockblog.com/tags/ai" /><changefreq>weekly</changefreq><priority>0.5</priority></url>
</urlset>