<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blog.vivi.page</loc>
<lastmod>2026-02-27T10:52:01.606Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://blog.vivi.page/about</loc>
<lastmod>2026-02-27T10:52:01.606Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/0923/en</loc>
<lastmod>2026-02-27T10:52:01.606Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/0923/ko</loc>
<lastmod>2026-02-27T10:52:01.606Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/0929/en</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/0929/ko</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/1015/en</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/1015/ko</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/1115/en</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2023/1115/ko</loc>
<lastmod>2026-02-27T10:52:01.609Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0103/en</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0103/ko</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0114/en</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0114/ko</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0129/en</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0129/ko</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0306/en</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0306/ko</loc>
<lastmod>2026-02-27T10:52:01.610Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0317/en</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0317/ko</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0326/en</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0326/ko</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0405/en</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0405/ko</loc>
<lastmod>2026-02-27T10:52:01.611Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0414/en</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0414/ko</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0427/en</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0427/ko</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0507/en</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0507/ko</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0513/en</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0513/ko</loc>
<lastmod>2026-02-27T10:52:01.612Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0523/en</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0523/ko</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0617/en</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0617/ko</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0623/en</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0623/ko</loc>
<lastmod>2026-02-27T10:52:01.613Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0707/en</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2024/0707/ko</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2025/0216/en</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2025/0216/ko</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2025/0813/en</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2025/0813/ko</loc>
<lastmod>2026-02-27T10:52:01.614Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2025/0913/ko</loc>
<lastmod>2026-02-27T10:52:01.615Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2026/0114/en</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/2026/0114/ko</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/graphql</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/hydration</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/next.js</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/GitHub</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/repository</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/archiving%20repository</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/optimistic%20update</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/graphQL</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/graphql%20mutation</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/frontend%20developer</loc>
<lastmod>2026-02-27T10:52:01.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/frontend%20interview</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/frontend%20interview%20questions</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/frontend</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/mono%20repo</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/turbo%20repo</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/nx</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/lerna</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/tailwind</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/tailwind%20css</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/storybook</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/javascript</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/v8</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/v8%20engine</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/generateStaticParams</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/use%20client</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/nextjs</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/file</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/next.js%20project%20file</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/Next.js%20Project%20File%20Structure</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/web%20frontend</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/test</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/jest</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/testing%20library</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/vitest</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/Design%20Patterns</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/vs%20code</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/visual%20studio%20code%20extension</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/yoco</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/vs%20code%20extension</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/rust</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/application</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/npm</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/gPRC</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/non%20gPRC</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/typesript</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/i18n</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/i18next</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/react.js</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/key</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/map</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/en</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/blog</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/migration</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/ko</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/create-react-app</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/vite</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/react</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/Great%20React%20engineers%20don%E2%80%99t%20make%20these%20five%20mistakes</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/useMemo</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/commandline%20interface%20tool</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/ports-cli</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://blog.vivi.page/tags/cli</loc>
<lastmod>2026-02-27T10:52:01.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
