<?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://www.promleeblog.com/zh</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/"/></url><url><loc>https://www.promleeblog.com/zh/blog</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog"/></url><url><loc>https://www.promleeblog.com/zh/aboutme</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/aboutme"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/aboutme"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/aboutme"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/aboutme"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/aboutme"/></url><url><loc>https://www.promleeblog.com/zh/sitemap-tree</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/sitemap-tree"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/sitemap-tree"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/sitemap-tree"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/sitemap-tree"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/sitemap-tree"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/react-nextjs</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/react-nextjs"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/react-nextjs"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/react-nextjs"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/react-nextjs"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/react-nextjs"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/109-determination-to-create-blog</loc><lastmod>2026-11-06T14:13:26.701Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/109-determination-to-create-blog"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/109-determination-to-create-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/109-determination-to-create-blog"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/109-determination-to-create-blog"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/109-determination-to-create-blog"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/110-goals</loc><lastmod>2026-11-06T14:13:26.504Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/110-goals"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/110-goals"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/110-goals"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/110-goals"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/110-goals"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/111-stack-library-blog</loc><lastmod>2026-11-06T14:13:26.514Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/111-stack-library-blog"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/111-stack-library-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/111-stack-library-blog"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/111-stack-library-blog"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/111-stack-library-blog"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/112-next-project-init</loc><lastmod>2026-11-06T14:36:27.285Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/112-next-project-init"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/112-next-project-init"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/112-next-project-init"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/112-next-project-init"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/112-next-project-init"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/113-next-app-routing</loc><lastmod>2026-11-06T14:36:27.290Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/113-next-app-routing"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/113-next-app-routing"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/113-next-app-routing"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/113-next-app-routing"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/113-next-app-routing"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/121-tailwind-custom-several-ways</loc><lastmod>2026-11-06T14:36:27.299Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/121-tailwind-custom-several-ways"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/121-tailwind-custom-several-ways"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/121-tailwind-custom-several-ways"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/121-tailwind-custom-several-ways"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/121-tailwind-custom-several-ways"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/105-supabase-data-fetching</loc><lastmod>2026-11-06T14:38:03.196Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/105-supabase-data-fetching"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/105-supabase-data-fetching"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/105-supabase-data-fetching"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/105-supabase-data-fetching"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/105-supabase-data-fetching"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/106-optimize-image-cdn</loc><lastmod>2026-11-06T14:38:03.206Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/106-optimize-image-cdn"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/106-optimize-image-cdn"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/106-optimize-image-cdn"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/106-optimize-image-cdn"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/106-optimize-image-cdn"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/176-nextjs-15-upgrade</loc><lastmod>2026-11-06T14:40:34.481Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/176-nextjs-15-upgrade"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/176-nextjs-15-upgrade"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/176-nextjs-15-upgrade"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/176-nextjs-15-upgrade"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/176-nextjs-15-upgrade"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/177-blog-optimizing</loc><lastmod>2026-11-06T14:40:34.498Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/177-blog-optimizing"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/177-blog-optimizing"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/177-blog-optimizing"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/177-blog-optimizing"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/177-blog-optimizing"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/195-blog-isr</loc><lastmod>2026-11-06T14:42:01.906Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/195-blog-isr"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/195-blog-isr"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/195-blog-isr"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/195-blog-isr"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/195-blog-isr"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/197-lambda-s3-webp</loc><lastmod>2026-11-06T14:42:01.935Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/197-lambda-s3-webp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/197-lambda-s3-webp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/197-lambda-s3-webp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/197-lambda-s3-webp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/197-lambda-s3-webp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/133-typescript-axios</loc><lastmod>2026-11-07T12:30:25.674Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/133-typescript-axios"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/133-typescript-axios"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/133-typescript-axios"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/133-typescript-axios"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/133-typescript-axios"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/171-il8next-init</loc><lastmod>2026-11-08T15:11:22.447Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/171-il8next-init"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/171-il8next-init"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/171-il8next-init"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/171-il8next-init"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/171-il8next-init"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/201-tanstack-query-basic</loc><lastmod>2026-11-07T07:06:56.976Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/201-tanstack-query-basic"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/201-tanstack-query-basic"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/201-tanstack-query-basic"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/201-tanstack-query-basic"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/201-tanstack-query-basic"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/203-tanstack-query-hook</loc><lastmod>2026-11-06T14:51:13.783Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/203-tanstack-query-hook"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/203-tanstack-query-hook"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/203-tanstack-query-hook"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/203-tanstack-query-hook"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/203-tanstack-query-hook"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/351-zustand-basic-usage</loc><lastmod>2026-11-08T14:56:56.055Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/351-zustand-basic-usage"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/351-zustand-basic-usage"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/351-zustand-basic-usage"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/351-zustand-basic-usage"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/351-zustand-basic-usage"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/352-zustand-core-concept</loc><lastmod>2026-11-08T15:54:11.277Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/352-zustand-core-concept"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/352-zustand-core-concept"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/352-zustand-core-concept"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/352-zustand-core-concept"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/352-zustand-core-concept"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/175-nextjs-html</loc><lastmod>2026-11-07T01:42:04.748Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/175-nextjs-html"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/175-nextjs-html"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/175-nextjs-html"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/175-nextjs-html"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/175-nextjs-html"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/178-nextjs-fetching-1</loc><lastmod>2026-11-07T01:36:46.393Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/178-nextjs-fetching-1"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/178-nextjs-fetching-1"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/178-nextjs-fetching-1"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/178-nextjs-fetching-1"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/178-nextjs-fetching-1"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/179-nextjs-fetch-2</loc><lastmod>2026-11-06T14:54:55.093Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/179-nextjs-fetch-2"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/179-nextjs-fetch-2"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/179-nextjs-fetch-2"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/179-nextjs-fetch-2"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/179-nextjs-fetch-2"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/180-nextjs-fetch-3</loc><lastmod>2026-11-06T14:52:55.168Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/180-nextjs-fetch-3"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/180-nextjs-fetch-3"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/180-nextjs-fetch-3"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/180-nextjs-fetch-3"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/180-nextjs-fetch-3"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/181-nextjs-fetch-4</loc><lastmod>2026-11-06T14:52:55.175Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/181-nextjs-fetch-4"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/181-nextjs-fetch-4"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/181-nextjs-fetch-4"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/181-nextjs-fetch-4"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/181-nextjs-fetch-4"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/182-nextjs-fetch-5</loc><lastmod>2026-11-07T01:45:18.846Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/182-nextjs-fetch-5"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/182-nextjs-fetch-5"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/182-nextjs-fetch-5"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/182-nextjs-fetch-5"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/182-nextjs-fetch-5"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/190-nextjs-isr</loc><lastmod>2026-11-08T15:17:46.256Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/190-nextjs-isr"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/190-nextjs-isr"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/190-nextjs-isr"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/190-nextjs-isr"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/190-nextjs-isr"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/196-tailwind-4-migration</loc><lastmod>2026-11-07T12:20:08.810Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/196-tailwind-4-migration"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/196-tailwind-4-migration"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/196-tailwind-4-migration"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/196-tailwind-4-migration"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/196-tailwind-4-migration"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/200-react-ssr-1</loc><lastmod>2026-11-08T15:18:33.658Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/200-react-ssr-1"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/200-react-ssr-1"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/200-react-ssr-1"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/200-react-ssr-1"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/200-react-ssr-1"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/232-0-rendering-runtime</loc><lastmod>2026-11-08T15:13:20.978Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/232-0-rendering-runtime"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/232-0-rendering-runtime"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/232-0-rendering-runtime"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/232-0-rendering-runtime"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/232-0-rendering-runtime"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/224-1-rendering-fiber</loc><lastmod>2026-11-08T15:26:56.636Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/224-1-rendering-fiber"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/224-1-rendering-fiber"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/224-1-rendering-fiber"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/224-1-rendering-fiber"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/224-1-rendering-fiber"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/228-3-automatic-batching</loc><lastmod>2026-11-08T15:43:21.211Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/228-3-automatic-batching"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/228-3-automatic-batching"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/228-3-automatic-batching"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/228-3-automatic-batching"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/228-3-automatic-batching"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/233-5-global-state</loc><lastmod>2026-11-08T16:03:11.450Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/233-5-global-state"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/233-5-global-state"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/233-5-global-state"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/233-5-global-state"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/233-5-global-state"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/248-6-react-router</loc><lastmod>2026-11-07T12:21:25.894Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/248-6-react-router"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/248-6-react-router"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/248-6-react-router"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/248-6-react-router"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/248-6-react-router"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/247-7-react-rendering</loc><lastmod>2026-11-08T12:14:25.030Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/247-7-react-rendering"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/247-7-react-rendering"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/247-7-react-rendering"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/247-7-react-rendering"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/247-7-react-rendering"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/250-9-react-design-principle</loc><lastmod>2026-11-08T15:42:33.651Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/250-9-react-design-principle"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/250-9-react-design-principle"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/250-9-react-design-principle"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/250-9-react-design-principle"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/250-9-react-design-principle"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/251-10-micro-frontend</loc><lastmod>2026-11-07T12:18:06.434Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/251-10-micro-frontend"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/251-10-micro-frontend"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/251-10-micro-frontend"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/251-10-micro-frontend"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/251-10-micro-frontend"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/252-11-react-api-fetch</loc><lastmod>2026-11-08T15:46:34.786Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/252-11-react-api-fetch"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/252-11-react-api-fetch"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/252-11-react-api-fetch"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/252-11-react-api-fetch"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/252-11-react-api-fetch"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/253-12-react-security</loc><lastmod>2026-11-08T12:26:20.798Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/253-12-react-security"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/253-12-react-security"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/253-12-react-security"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/253-12-react-security"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/253-12-react-security"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/254-13-react-dev-tools</loc><lastmod>2026-11-08T15:25:20.340Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/254-13-react-dev-tools"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/254-13-react-dev-tools"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/254-13-react-dev-tools"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/254-13-react-dev-tools"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/254-13-react-dev-tools"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/376-nextjs-16-migration-guide</loc><lastmod>2026-11-07T01:53:50.171Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/376-nextjs-16-migration-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/376-nextjs-16-migration-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/376-nextjs-16-migration-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/376-nextjs-16-migration-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/376-nextjs-16-migration-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/377-nextjs-16-react-19-features</loc><lastmod>2026-11-07T01:47:36.786Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/377-nextjs-16-react-19-features"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/377-nextjs-16-react-19-features"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/377-nextjs-16-react-19-features"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/377-nextjs-16-react-19-features"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/387-implementing-basic-component</loc><lastmod>2026-11-07T06:45:12.432Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/387-implementing-basic-component"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/387-implementing-basic-component"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/387-implementing-basic-component"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/387-implementing-basic-component"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/388-component-refactoring</loc><lastmod>2026-11-07T06:48:22.053Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/388-component-refactoring"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/388-component-refactoring"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/388-component-refactoring"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/389-testing-state-changes</loc><lastmod>2026-11-07T06:57:54.983Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/389-testing-state-changes"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/389-testing-state-changes"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/389-testing-state-changes"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/390-testing-custom-hooks</loc><lastmod>2026-11-07T01:50:25.614Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/390-testing-custom-hooks"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/390-testing-custom-hooks"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/390-testing-custom-hooks"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/390-testing-custom-hooks"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/391-testing-asynchronous-logic</loc><lastmod>2026-11-07T06:50:33.883Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/391-testing-asynchronous-logic"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/391-testing-asynchronous-logic"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/391-testing-asynchronous-logic"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/392-api-mocking-msw</loc><lastmod>2026-11-07T01:52:03.754Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/392-api-mocking-msw"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/392-api-mocking-msw"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/392-api-mocking-msw"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/392-api-mocking-msw"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/394-improving-component-structure</loc><lastmod>2026-11-07T01:53:00.608Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/394-improving-component-structure"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/394-improving-component-structure"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/394-improving-component-structure"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/394-improving-component-structure"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/395-supporting-refactoring-tests</loc><lastmod>2026-11-07T06:54:46.639Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/395-supporting-refactoring-tests"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/395-supporting-refactoring-tests"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/395-supporting-refactoring-tests"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/397-practical-react-tdd</loc><lastmod>2026-11-07T06:47:36.847Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/397-practical-react-tdd"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/397-practical-react-tdd"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/397-practical-react-tdd"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/397-practical-react-tdd"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/database</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/database"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/database"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/database"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/database"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/database"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/245-7-mongodb-performance-tuning</loc><lastmod>2026-11-08T15:23:59.163Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/245-7-mongodb-performance-tuning"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/245-7-mongodb-performance-tuning"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/245-7-mongodb-performance-tuning"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/245-7-mongodb-performance-tuning"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/245-7-mongodb-performance-tuning"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/263-9-mongodb-shading</loc><lastmod>2026-11-08T15:58:39.994Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/263-9-mongodb-shading"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/263-9-mongodb-shading"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/263-9-mongodb-shading"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/263-9-mongodb-shading"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/263-9-mongodb-shading"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/265-11-mongodb-atlas</loc><lastmod>2026-11-08T15:14:23.853Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/265-11-mongodb-atlas"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/265-11-mongodb-atlas"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/265-11-mongodb-atlas"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/265-11-mongodb-atlas"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/265-11-mongodb-atlas"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/266-12-mongodb-utilities</loc><lastmod>2026-11-08T12:26:27.430Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/266-12-mongodb-utilities"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/266-12-mongodb-utilities"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/266-12-mongodb-utilities"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/266-12-mongodb-utilities"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/266-12-mongodb-utilities"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/react-native</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/react-native"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/react-native"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/react-native"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/react-native"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/react-native"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/114-rn-init</loc><lastmod>2026-11-07T06:55:33.670Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/114-rn-init"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/114-rn-init"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/114-rn-init"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/114-rn-init"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/114-rn-init"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/117-expo-proj-init</loc><lastmod>2026-11-07T07:13:36.927Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/117-expo-proj-init"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/117-expo-proj-init"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/117-expo-proj-init"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/117-expo-proj-init"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/117-expo-proj-init"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/143-expo-init-mac</loc><lastmod>2026-11-07T07:11:04.890Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/143-expo-init-mac"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/143-expo-init-mac"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/143-expo-init-mac"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/143-expo-init-mac"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/143-expo-init-mac"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/118-expo-proj-defaultsettings</loc><lastmod>2026-11-07T01:44:08.844Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/118-expo-proj-defaultsettings"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/118-expo-proj-defaultsettings"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/118-expo-proj-defaultsettings"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/118-expo-proj-defaultsettings"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/118-expo-proj-defaultsettings"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/155-rn-scrollview-flatlist</loc><lastmod>2026-11-08T14:59:02.918Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/155-rn-scrollview-flatlist"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/155-rn-scrollview-flatlist"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/155-rn-scrollview-flatlist"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/155-rn-scrollview-flatlist"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/155-rn-scrollview-flatlist"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/140-react-native-refreshcontrol</loc><lastmod>2026-11-07T01:39:20.770Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/140-react-native-refreshcontrol"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/140-react-native-refreshcontrol"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/140-react-native-refreshcontrol"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/140-react-native-refreshcontrol"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/140-react-native-refreshcontrol"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/141-react-native-sub-refresh</loc><lastmod>2026-11-06T14:51:13.819Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/141-react-native-sub-refresh"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/141-react-native-sub-refresh"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/141-react-native-sub-refresh"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/141-react-native-sub-refresh"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/150-expo-page-dynamic-router</loc><lastmod>2026-11-07T01:53:50.153Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/150-expo-page-dynamic-router"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/150-expo-page-dynamic-router"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/150-expo-page-dynamic-router"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/150-expo-page-dynamic-router"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/150-expo-page-dynamic-router"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/129-async-storage</loc><lastmod>2026-11-08T15:06:46.814Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/129-async-storage"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/129-async-storage"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/129-async-storage"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/129-async-storage"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/129-async-storage"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/166-expo-vector-icons</loc><lastmod>2026-11-07T01:42:04.710Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/166-expo-vector-icons"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/166-expo-vector-icons"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/166-expo-vector-icons"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/166-expo-vector-icons"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/166-expo-vector-icons"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/167-expo-development-build</loc><lastmod>2026-11-07T07:04:39.718Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/167-expo-development-build"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/167-expo-development-build"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/167-expo-development-build"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/167-expo-development-build"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/167-expo-development-build"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/204-expo-permission</loc><lastmod>2026-11-07T07:06:11.439Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/204-expo-permission"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/204-expo-permission"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/204-expo-permission"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/204-expo-permission"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/204-expo-permission"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/234-expo-notification</loc><lastmod>2026-11-07T12:11:41.185Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/234-expo-notification"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/234-expo-notification"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/234-expo-notification"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/234-expo-notification"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/234-expo-notification"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/238-expo-deeplink</loc><lastmod>2026-11-07T12:23:36.830Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/238-expo-deeplink"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/238-expo-deeplink"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/238-expo-deeplink"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/238-expo-deeplink"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/238-expo-deeplink"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/137-rn-toast-message</loc><lastmod>2026-11-06T14:52:55.159Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/137-rn-toast-message"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/137-rn-toast-message"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/137-rn-toast-message"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/137-rn-toast-message"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/137-rn-toast-message"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/142-react-native-indicator</loc><lastmod>2026-11-07T01:51:12.547Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/142-react-native-indicator"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/142-react-native-indicator"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/142-react-native-indicator"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/142-react-native-indicator"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/142-react-native-indicator"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/151-react-native-svg</loc><lastmod>2026-11-07T07:14:23.003Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/151-react-native-svg"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/151-react-native-svg"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/151-react-native-svg"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/151-react-native-svg"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/151-react-native-svg"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/153-rn-local-authentication</loc><lastmod>2026-11-08T12:05:04.007Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/153-rn-local-authentication"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/153-rn-local-authentication"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/153-rn-local-authentication"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/153-rn-local-authentication"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/153-rn-local-authentication"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/154-rn-expo-secure-store</loc><lastmod>2026-11-07T07:08:36.262Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/154-rn-expo-secure-store"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/154-rn-expo-secure-store"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/154-rn-expo-secure-store"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/154-rn-expo-secure-store"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/154-rn-expo-secure-store"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/202-tanstack-query-rn-base</loc><lastmod>2026-11-07T06:41:01.363Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/202-tanstack-query-rn-base"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/202-tanstack-query-rn-base"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/202-tanstack-query-rn-base"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/202-tanstack-query-rn-base"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/202-tanstack-query-rn-base"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/168-react-native-bottom-sheet</loc><lastmod>2026-11-07T12:19:00.850Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/168-react-native-bottom-sheet"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/168-react-native-bottom-sheet"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/168-react-native-bottom-sheet"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/168-react-native-bottom-sheet"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/168-react-native-bottom-sheet"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/172-expo-localization-i18next</loc><lastmod>2026-11-07T12:31:25.844Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/172-expo-localization-i18next"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/172-expo-localization-i18next"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/172-expo-localization-i18next"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/172-expo-localization-i18next"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/172-expo-localization-i18next"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/174-expo-web-browser</loc><lastmod>2026-11-06T14:54:55.101Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/174-expo-web-browser"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/174-expo-web-browser"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/174-expo-web-browser"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/174-expo-web-browser"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/174-expo-web-browser"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/183-expo-image-asset</loc><lastmod>2026-11-07T07:05:26.058Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/183-expo-image-asset"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/183-expo-image-asset"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/183-expo-image-asset"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/183-expo-image-asset"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/183-expo-image-asset"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/198-rn-dropdown</loc><lastmod>2026-11-07T07:11:54.609Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/198-rn-dropdown"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/198-rn-dropdown"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/198-rn-dropdown"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/198-rn-dropdown"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/198-rn-dropdown"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/239-react-native-qrcode-svg</loc><lastmod>2026-11-07T06:45:58.381Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/239-react-native-qrcode-svg"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/239-react-native-qrcode-svg"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/239-react-native-qrcode-svg"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/239-react-native-qrcode-svg"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/239-react-native-qrcode-svg"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/144-expo-mnemonic-gen</loc><lastmod>2026-11-07T06:52:12.784Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/144-expo-mnemonic-gen"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/144-expo-mnemonic-gen"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/144-expo-mnemonic-gen"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/144-expo-mnemonic-gen"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/144-expo-mnemonic-gen"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/158-rn-walletkit-init</loc><lastmod>2026-11-07T06:40:27.746Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/158-rn-walletkit-init"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/158-rn-walletkit-init"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/158-rn-walletkit-init"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/158-rn-walletkit-init"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/158-rn-walletkit-init"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/205-etherscan-balance</loc><lastmod>2026-11-07T01:44:08.829Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/205-etherscan-balance"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/205-etherscan-balance"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/205-etherscan-balance"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/205-etherscan-balance"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/236-1-flatlist-axios</loc><lastmod>2026-11-07T01:49:07.047Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/236-1-flatlist-axios"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/236-1-flatlist-axios"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/236-1-flatlist-axios"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/236-1-flatlist-axios"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/237-flatlist-infinity-scroll-query</loc><lastmod>2026-11-08T15:47:56.381Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/237-flatlist-infinity-scroll-query"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/237-flatlist-infinity-scroll-query"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/237-flatlist-infinity-scroll-query"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/237-flatlist-infinity-scroll-query"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/237-flatlist-infinity-scroll-query"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/flutter</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/flutter"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/flutter"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/flutter"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/flutter"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/flutter"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/134-flutter-firebase-apps</loc><lastmod>2026-11-06T14:48:43.690Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/134-flutter-firebase-apps"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/134-flutter-firebase-apps"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/134-flutter-firebase-apps"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/134-flutter-firebase-apps"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/134-flutter-firebase-apps"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/135-flutter-firebase-ios-aos</loc><lastmod>2026-11-07T01:45:18.865Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/135-flutter-firebase-ios-aos"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/135-flutter-firebase-ios-aos"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/135-flutter-firebase-ios-aos"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/135-flutter-firebase-ios-aos"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/135-flutter-firebase-ios-aos"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/136-flutter-phone-auth</loc><lastmod>2026-11-07T07:09:26.728Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/136-flutter-phone-auth"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/136-flutter-phone-auth"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/136-flutter-phone-auth"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/136-flutter-phone-auth"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/136-flutter-phone-auth"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/139-flutter-fcm</loc><lastmod>2026-11-07T12:12:55.514Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/139-flutter-fcm"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/139-flutter-fcm"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/139-flutter-fcm"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/139-flutter-fcm"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/139-flutter-fcm"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/124-goals-init-paging</loc><lastmod>2026-11-06T14:49:34.312Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/124-goals-init-paging"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/124-goals-init-paging"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/124-goals-init-paging"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/124-goals-init-paging"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/124-goals-init-paging"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/125-login-branch-paging</loc><lastmod>2026-11-06T14:48:43.709Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/125-login-branch-paging"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/125-login-branch-paging"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/125-login-branch-paging"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/125-login-branch-paging"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/126-bt-navigation-paging</loc><lastmod>2026-11-06T14:46:35.453Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/126-bt-navigation-paging"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/126-bt-navigation-paging"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/126-bt-navigation-paging"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/126-bt-navigation-paging"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/127-nav-tabevent-paging</loc><lastmod>2026-11-07T01:36:46.379Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/127-nav-tabevent-paging"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/127-nav-tabevent-paging"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/127-nav-tabevent-paging"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/127-nav-tabevent-paging"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/128-nav-tabevent-widget-paging</loc><lastmod>2026-11-06T14:46:35.418Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/128-nav-tabevent-widget-paging"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/128-nav-tabevent-widget-paging"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/128-nav-tabevent-widget-paging"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/128-nav-tabevent-widget-paging"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/123-retrofit</loc><lastmod>2026-11-07T01:51:12.528Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/123-retrofit"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/123-retrofit"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/123-retrofit"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/123-retrofit"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/123-retrofit"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/131-easy-localization</loc><lastmod>2026-11-07T07:07:47.796Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/131-easy-localization"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/131-easy-localization"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/131-easy-localization"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/131-easy-localization"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/131-easy-localization"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/138-flutter-splash</loc><lastmod>2026-11-06T14:51:13.811Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/138-flutter-splash"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/138-flutter-splash"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/138-flutter-splash"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/138-flutter-splash"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/138-flutter-splash"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/152-flutter-app-icon-name</loc><lastmod>2026-11-06T14:46:35.460Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/152-flutter-app-icon-name"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/152-flutter-app-icon-name"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/152-flutter-app-icon-name"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/152-flutter-app-icon-name"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/152-flutter-app-icon-name"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/199-flutter-admob-rewarded</loc><lastmod>2026-11-07T01:42:04.726Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/199-flutter-admob-rewarded"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/199-flutter-admob-rewarded"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/199-flutter-admob-rewarded"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/199-flutter-admob-rewarded"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/199-flutter-admob-rewarded"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/132-connect-metamask-reown</loc><lastmod>2026-11-08T12:16:56.363Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/132-connect-metamask-reown"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/132-connect-metamask-reown"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/132-connect-metamask-reown"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/132-connect-metamask-reown"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/132-connect-metamask-reown"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/vue-js</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/vue-js"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/vue-js"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/vue-js"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/vue-js"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/vue-js"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/313-1-setting-up-vue-3</loc><lastmod>2026-11-07T07:10:18.539Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/313-1-setting-up-vue-3"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/313-1-setting-up-vue-3"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/313-1-setting-up-vue-3"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/313-1-setting-up-vue-3"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/313-1-setting-up-vue-3"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/317-2-template-syntax</loc><lastmod>2026-11-08T15:55:34.199Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/317-2-template-syntax"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/317-2-template-syntax"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/317-2-template-syntax"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/317-2-template-syntax"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/317-2-template-syntax"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/315-4-ref-reactive-computed-watch</loc><lastmod>2026-11-08T15:44:37.106Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/315-4-ref-reactive-computed-watch"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/315-4-ref-reactive-computed-watch"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/315-4-ref-reactive-computed-watch"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/315-4-ref-reactive-computed-watch"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/315-4-ref-reactive-computed-watch"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/316-5-page-navigation-vue-router</loc><lastmod>2026-11-08T15:38:36.583Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/316-5-page-navigation-vue-router"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/316-5-page-navigation-vue-router"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/316-5-page-navigation-vue-router"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/316-5-page-navigation-vue-router"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/316-5-page-navigation-vue-router"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/318-6-global-state-pinia</loc><lastmod>2026-11-07T01:52:03.768Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/318-6-global-state-pinia"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/318-6-global-state-pinia"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/318-6-global-state-pinia"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/318-6-global-state-pinia"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/318-6-global-state-pinia"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/319-7-api-axios-vue</loc><lastmod>2026-11-07T01:36:46.404Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/319-7-api-axios-vue"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/319-7-api-axios-vue"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/319-7-api-axios-vue"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/319-7-api-axios-vue"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/319-7-api-axios-vue"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/323-11-directives-composables</loc><lastmod>2026-11-07T01:48:37.428Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/323-11-directives-composables"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/323-11-directives-composables"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/323-11-directives-composables"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/323-11-directives-composables"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/devops</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/devops"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/devops"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/devops"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/devops"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/devops"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/358-kubernetes-basics</loc><lastmod>2026-11-08T15:41:31.039Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/358-kubernetes-basics"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/358-kubernetes-basics"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/358-kubernetes-basics"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/358-kubernetes-basics"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/358-kubernetes-basics"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/411-n8n-rss-and-web-crawling</loc><lastmod>2026-11-08T15:50:48.983Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/411-n8n-rss-and-web-crawling"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/411-n8n-rss-and-web-crawling"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/411-n8n-rss-and-web-crawling"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/411-n8n-rss-and-web-crawling"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/411-n8n-rss-and-web-crawling"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/412-n8n-telegram-api-integration</loc><lastmod>2026-11-07T06:44:24.739Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/412-n8n-telegram-api-integration"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/412-n8n-telegram-api-integration"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/412-n8n-telegram-api-integration"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/412-n8n-telegram-api-integration"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/412-n8n-telegram-api-integration"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/spring-boot</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/spring-boot"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/spring-boot"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/spring-boot"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/spring-boot"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/spring-boot"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/365-expressing-requirements-in-test</loc><lastmod>2026-11-07T06:53:56.405Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/365-expressing-requirements-in-test"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/365-expressing-requirements-in-test"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/365-expressing-requirements-in-test"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/366-minimum-implementation-for-green</loc><lastmod>2026-11-07T06:57:07.221Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/366-minimum-implementation-for-green"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/366-minimum-implementation-for-green"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/366-minimum-implementation-for-green"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/378-improving-code-structure-testing</loc><lastmod>2026-11-07T06:49:50.385Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/378-improving-code-structure-testing"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/378-improving-code-structure-testing"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/378-improving-code-structure-testing"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/378-improving-code-structure-testing"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/379-extending-functionality-tdd</loc><lastmod>2026-11-07T06:39:39.968Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/379-extending-functionality-tdd"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/379-extending-functionality-tdd"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/379-extending-functionality-tdd"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/379-extending-functionality-tdd"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/machine-learning</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/machine-learning"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/machine-learning"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/machine-learning"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/machine-learning"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/machine-learning"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2</loc><lastmod>2026-11-08T04:28:38.213Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/425-xgboost-recommendation-dataset-crawl-pipeline-2"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/426-eta-feature-engineering-strategy-xgboost-3</loc><lastmod>2026-11-07T17:39:38.690Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/426-eta-feature-engineering-strategy-xgboost-3"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/426-eta-feature-engineering-strategy-xgboost-3"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/426-eta-feature-engineering-strategy-xgboost-3"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/426-eta-feature-engineering-strategy-xgboost-3"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/426-eta-feature-engineering-strategy-xgboost-3"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/ai-business</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/ai-business"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/ai-business"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/ai-business"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/ai-business"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/ai-business"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/450-ai-service-unit-economics</loc><lastmod>2026-11-08T02:29:39.607Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/450-ai-service-unit-economics"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/450-ai-service-unit-economics"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/450-ai-service-unit-economics"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/450-ai-service-unit-economics"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/450-ai-service-unit-economics"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/451-ai-request-total-cost</loc><lastmod>2026-11-08T02:32:10.945Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/451-ai-request-total-cost"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/451-ai-request-total-cost"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/451-ai-request-total-cost"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/451-ai-request-total-cost"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/451-ai-request-total-cost"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/452-ai-service-pricing</loc><lastmod>2026-11-08T02:30:54.959Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/452-ai-service-pricing"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/452-ai-service-pricing"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/452-ai-service-pricing"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/452-ai-service-pricing"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/452-ai-service-pricing"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/453-ai-product-competitive-advantage</loc><lastmod>2026-11-08T02:33:22.638Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/453-ai-product-competitive-advantage"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/453-ai-product-competitive-advantage"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/453-ai-product-competitive-advantage"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/453-ai-product-competitive-advantage"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/453-ai-product-competitive-advantage"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/454-ai-build-versus-buy</loc><lastmod>2026-11-08T02:39:57.990Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/454-ai-build-versus-buy"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/454-ai-build-versus-buy"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/454-ai-build-versus-buy"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/454-ai-build-versus-buy"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/454-ai-build-versus-buy"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/455-ai-infrastructure-cost-drivers</loc><lastmod>2026-11-08T02:38:12.576Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/455-ai-infrastructure-cost-drivers"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/455-ai-infrastructure-cost-drivers"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/455-ai-infrastructure-cost-drivers"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/455-ai-infrastructure-cost-drivers"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/455-ai-infrastructure-cost-drivers"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/456-ai-company-financial-metrics</loc><lastmod>2026-11-08T02:41:11.076Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/456-ai-company-financial-metrics"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/456-ai-company-financial-metrics"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/456-ai-company-financial-metrics"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/456-ai-company-financial-metrics"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/456-ai-company-financial-metrics"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/457-ai-growth-investment-returns</loc><lastmod>2026-11-08T02:42:23.443Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/457-ai-growth-investment-returns"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/457-ai-growth-investment-returns"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/457-ai-growth-investment-returns"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/457-ai-growth-investment-returns"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/457-ai-growth-investment-returns"/></url><url><loc>https://www.promleeblog.com/zh/blog/programming/tool</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/programming/tool"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/programming/tool"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/programming/tool"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/programming/tool"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/programming/tool"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/38-repo-replicate-mirror</loc><lastmod>2026-11-06T14:50:16.895Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/38-repo-replicate-mirror"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/38-repo-replicate-mirror"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/38-repo-replicate-mirror"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/38-repo-replicate-mirror"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/38-repo-replicate-mirror"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/107-github-action-s3</loc><lastmod>2026-11-06T14:46:35.444Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/107-github-action-s3"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/107-github-action-s3"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/107-github-action-s3"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/107-github-action-s3"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/107-github-action-s3"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/130-multi-remote</loc><lastmod>2026-11-06T14:46:35.436Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/130-multi-remote"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/130-multi-remote"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/130-multi-remote"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/130-multi-remote"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/130-multi-remote"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/206-github-action-ubuntu-20-04-retirement</loc><lastmod>2026-11-07T06:46:43.205Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/206-github-action-ubuntu-20-04-retirement"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/206-github-action-ubuntu-20-04-retirement"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/206-github-action-ubuntu-20-04-retirement"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/206-github-action-ubuntu-20-04-retirement"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/206-github-action-ubuntu-20-04-retirement"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/311-multiple-github-account-windows</loc><lastmod>2026-11-08T12:31:51.875Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/311-multiple-github-account-windows"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/311-multiple-github-account-windows"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/311-multiple-github-account-windows"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/311-multiple-github-account-windows"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/311-multiple-github-account-windows"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/122-img-placeholder-api</loc><lastmod>2026-11-06T14:48:43.724Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/122-img-placeholder-api"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/122-img-placeholder-api"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/122-img-placeholder-api"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/122-img-placeholder-api"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/122-img-placeholder-api"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/148-js-ts-comments</loc><lastmod>2026-11-07T01:45:18.827Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/148-js-ts-comments"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/148-js-ts-comments"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/148-js-ts-comments"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/148-js-ts-comments"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/148-js-ts-comments"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/184-indexnow</loc><lastmod>2026-11-07T12:10:03.301Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/184-indexnow"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/184-indexnow"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/184-indexnow"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/184-indexnow"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/184-indexnow"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/188-google-indexing-api</loc><lastmod>2026-11-08T14:58:28.279Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/188-google-indexing-api"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/188-google-indexing-api"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/188-google-indexing-api"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/188-google-indexing-api"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/188-google-indexing-api"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/223-adsense-next-component</loc><lastmod>2026-11-08T12:13:10.185Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/223-adsense-next-component"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/223-adsense-next-component"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/223-adsense-next-component"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/223-adsense-next-component"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/223-adsense-next-component"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/173-xcode-downgrade</loc><lastmod>2026-11-07T01:39:20.779Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/173-xcode-downgrade"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/173-xcode-downgrade"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/173-xcode-downgrade"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/173-xcode-downgrade"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/173-xcode-downgrade"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/185-model-context-protocol</loc><lastmod>2026-11-07T12:22:24.289Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/185-model-context-protocol"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/185-model-context-protocol"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/185-model-context-protocol"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/185-model-context-protocol"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/185-model-context-protocol"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/186-openai-agents-sdk</loc><lastmod>2026-11-07T01:37:36.161Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/186-openai-agents-sdk"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/186-openai-agents-sdk"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/186-openai-agents-sdk"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/186-openai-agents-sdk"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/186-openai-agents-sdk"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/187-mcp-ts-sdk</loc><lastmod>2026-11-07T06:42:49.294Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/187-mcp-ts-sdk"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/187-mcp-ts-sdk"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/187-mcp-ts-sdk"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/187-mcp-ts-sdk"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/187-mcp-ts-sdk"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/189-vscode-mcp</loc><lastmod>2026-11-07T06:51:29.455Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/189-vscode-mcp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/189-vscode-mcp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/189-vscode-mcp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/189-vscode-mcp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/189-vscode-mcp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/274-cursor-talk-to-figma-mcp</loc><lastmod>2026-11-07T07:03:16.281Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/274-cursor-talk-to-figma-mcp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/274-cursor-talk-to-figma-mcp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/274-cursor-talk-to-figma-mcp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/274-cursor-talk-to-figma-mcp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/274-cursor-talk-to-figma-mcp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/306-cursor-editor-smart-coding</loc><lastmod>2026-11-08T12:18:53.742Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/306-cursor-editor-smart-coding"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/306-cursor-editor-smart-coding"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/306-cursor-editor-smart-coding"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/306-cursor-editor-smart-coding"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/306-cursor-editor-smart-coding"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/312-install-ubuntu-22-windows-wsl</loc><lastmod>2026-11-07T12:16:49.257Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/312-install-ubuntu-22-windows-wsl"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/312-install-ubuntu-22-windows-wsl"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/312-install-ubuntu-22-windows-wsl"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/312-install-ubuntu-22-windows-wsl"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/312-install-ubuntu-22-windows-wsl"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/427-context-engineering-for-claude-codex</loc><lastmod>2026-11-08T04:25:52.204Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/427-context-engineering-for-claude-codex"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/427-context-engineering-for-claude-codex"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/427-context-engineering-for-claude-codex"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/427-context-engineering-for-claude-codex"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/427-context-engineering-for-claude-codex"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/428-minimal-agent-instructions</loc><lastmod>2026-11-08T04:23:44.036Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/428-minimal-agent-instructions"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/428-minimal-agent-instructions"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/428-minimal-agent-instructions"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/428-minimal-agent-instructions"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/428-minimal-agent-instructions"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/429-repository-context-for-coding-agents</loc><lastmod>2026-11-08T04:27:39.345Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/429-repository-context-for-coding-agents"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/429-repository-context-for-coding-agents"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/429-repository-context-for-coding-agents"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/429-repository-context-for-coding-agents"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/429-repository-context-for-coding-agents"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/430-coding-agent-task-contract</loc><lastmod>2026-11-08T04:24:39.231Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/430-coding-agent-task-contract"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/430-coding-agent-task-contract"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/430-coding-agent-task-contract"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/430-coding-agent-task-contract"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/430-coding-agent-task-contract"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/431-progressive-disclosure-skills-mcp</loc><lastmod>2026-11-08T04:26:47.902Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/431-progressive-disclosure-skills-mcp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/431-progressive-disclosure-skills-mcp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/431-progressive-disclosure-skills-mcp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/431-progressive-disclosure-skills-mcp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/431-progressive-disclosure-skills-mcp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/432-agent-model-routing-cost-control</loc><lastmod>2026-11-08T03:59:04.559Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/432-agent-model-routing-cost-control"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/432-agent-model-routing-cost-control"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/432-agent-model-routing-cost-control"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/432-agent-model-routing-cost-control"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/432-agent-model-routing-cost-control"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/433-agent-code-verification-loop</loc><lastmod>2026-11-08T03:57:46.030Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/433-agent-code-verification-loop"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/433-agent-code-verification-loop"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/433-agent-code-verification-loop"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/433-agent-code-verification-loop"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/433-agent-code-verification-loop"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/434-agent-engineering-metrics</loc><lastmod>2026-11-08T03:56:36.770Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/434-agent-engineering-metrics"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/434-agent-engineering-metrics"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/434-agent-engineering-metrics"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/434-agent-engineering-metrics"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/434-agent-engineering-metrics"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/446-prompt-caching-for-coding-agents</loc><lastmod>2026-11-08T03:55:12.567Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/446-prompt-caching-for-coding-agents"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/446-prompt-caching-for-coding-agents"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/446-prompt-caching-for-coding-agents"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/446-prompt-caching-for-coding-agents"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/446-prompt-caching-for-coding-agents"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/447-coding-agent-state-handoff</loc><lastmod>2026-11-08T03:53:53.340Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/447-coding-agent-state-handoff"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/447-coding-agent-state-handoff"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/447-coding-agent-state-handoff"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/447-coding-agent-state-handoff"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/447-coding-agent-state-handoff"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/448-parallel-agent-work-conflict-management</loc><lastmod>2026-11-08T03:52:36.294Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/448-parallel-agent-work-conflict-management"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/448-parallel-agent-work-conflict-management"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/448-parallel-agent-work-conflict-management"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/448-parallel-agent-work-conflict-management"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/448-parallel-agent-work-conflict-management"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/449-team-ai-development-workflow</loc><lastmod>2026-11-08T03:51:10.572Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/449-team-ai-development-workflow"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/449-team-ai-development-workflow"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/449-team-ai-development-workflow"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/449-team-ai-development-workflow"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/449-team-ai-development-workflow"/></url><url><loc>https://www.promleeblog.com/zh/blog/study</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/network</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/network"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/network"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/network"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/network"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/network"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/277-1-why-network</loc><lastmod>2026-11-08T15:16:07.405Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/277-1-why-network"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/277-1-why-network"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/277-1-why-network"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/277-1-why-network"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/277-1-why-network"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/278-2-osi-layer</loc><lastmod>2026-11-07T12:29:34.294Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/278-2-osi-layer"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/278-2-osi-layer"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/278-2-osi-layer"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/278-2-osi-layer"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/278-2-osi-layer"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/279-3-ip-address-subnet-mask</loc><lastmod>2026-11-08T15:52:29.677Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/279-3-ip-address-subnet-mask"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/279-3-ip-address-subnet-mask"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/279-3-ip-address-subnet-mask"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/279-3-ip-address-subnet-mask"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/279-3-ip-address-subnet-mask"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/287-9-firewall-nat</loc><lastmod>2026-11-08T14:54:28.944Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/287-9-firewall-nat"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/287-9-firewall-nat"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/287-9-firewall-nat"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/287-9-firewall-nat"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/287-9-firewall-nat"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/288-10-packet-wireshark</loc><lastmod>2026-11-07T12:15:28.057Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/288-10-packet-wireshark"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/288-10-packet-wireshark"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/288-10-packet-wireshark"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/288-10-packet-wireshark"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/288-10-packet-wireshark"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/302-11-network-performance</loc><lastmod>2026-11-08T14:55:14.523Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/302-11-network-performance"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/302-11-network-performance"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/302-11-network-performance"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/302-11-network-performance"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/302-11-network-performance"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/303-12-chat-app-tcp-socket-programming</loc><lastmod>2026-11-08T15:49:48.777Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/303-12-chat-app-tcp-socket-programming"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/303-12-chat-app-tcp-socket-programming"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/303-12-chat-app-tcp-socket-programming"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/303-12-chat-app-tcp-socket-programming"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/303-12-chat-app-tcp-socket-programming"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/44-congestion-control</loc><lastmod>2026-11-07T01:39:20.739Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/44-congestion-control"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/44-congestion-control"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/44-congestion-control"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/44-congestion-control"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/44-congestion-control"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/94-tcp-congestion-control</loc><lastmod>2026-11-07T01:36:46.417Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/94-tcp-congestion-control"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/94-tcp-congestion-control"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/94-tcp-congestion-control"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/94-tcp-congestion-control"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/94-tcp-congestion-control"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/84-network-layer-overview</loc><lastmod>2026-11-06T14:43:37.795Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/84-network-layer-overview"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/84-network-layer-overview"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/84-network-layer-overview"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/84-network-layer-overview"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/84-network-layer-overview"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/85-inside-router</loc><lastmod>2026-11-07T01:39:20.756Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/85-inside-router"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/85-inside-router"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/85-inside-router"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/85-inside-router"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/85-inside-router"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/88-control-plane-intro</loc><lastmod>2026-11-06T14:43:22.955Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/88-control-plane-intro"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/88-control-plane-intro"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/88-control-plane-intro"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/88-control-plane-intro"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/88-control-plane-intro"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/89-routing-protocol</loc><lastmod>2026-11-07T01:50:25.595Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/89-routing-protocol"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/89-routing-protocol"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/89-routing-protocol"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/89-routing-protocol"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/89-routing-protocol"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/90-ospf</loc><lastmod>2026-11-06T14:48:43.733Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/90-ospf"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/90-ospf"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/90-ospf"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/90-ospf"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/90-ospf"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/91-bgp</loc><lastmod>2026-11-06T14:43:37.778Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/91-bgp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/91-bgp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/91-bgp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/91-bgp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/91-bgp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/92-icmp</loc><lastmod>2026-11-06T14:43:22.985Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/92-icmp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/92-icmp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/92-icmp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/92-icmp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/92-icmp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/93-snmp</loc><lastmod>2026-11-06T14:41:46.234Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/93-snmp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/93-snmp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/93-snmp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/93-snmp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/93-snmp"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/security-theory</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/security-theory"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/security-theory"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/security-theory"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/security-theory"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/security-theory"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix</loc><lastmod>2026-11-08T15:51:46.867Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/370-react2shell-cve-2025-55182-analysis-and-fix"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/18-information-security-info</loc><lastmod>2026-11-06T14:41:46.248Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/18-information-security-info"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/18-information-security-info"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/18-information-security-info"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/18-information-security-info"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/18-information-security-info"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/19-cryptography-info</loc><lastmod>2026-11-06T14:45:40.806Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/19-cryptography-info"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/19-cryptography-info"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/19-cryptography-info"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/19-cryptography-info"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/19-cryptography-info"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/20-classic-encryption</loc><lastmod>2026-11-06T14:52:55.134Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/20-classic-encryption"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/20-classic-encryption"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/20-classic-encryption"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/20-classic-encryption"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/21-symmetric-key-enc</loc><lastmod>2026-11-06T14:43:22.980Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/21-symmetric-key-enc"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/21-symmetric-key-enc"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/21-symmetric-key-enc"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/21-symmetric-key-enc"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/21-symmetric-key-enc"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/22-block-cipher</loc><lastmod>2026-11-06T14:43:22.976Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/22-block-cipher"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/22-block-cipher"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/22-block-cipher"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/22-block-cipher"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/22-block-cipher"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/23-des</loc><lastmod>2026-11-07T01:35:20.929Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/23-des"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/23-des"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/23-des"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/23-des"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/23-des"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/25-stream-cipher</loc><lastmod>2026-11-07T01:35:20.944Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/25-stream-cipher"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/25-stream-cipher"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/25-stream-cipher"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/25-stream-cipher"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/25-stream-cipher"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/27-public-key-cryptography-info</loc><lastmod>2026-11-06T14:47:19.265Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/27-public-key-cryptography-info"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/27-public-key-cryptography-info"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/27-public-key-cryptography-info"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/27-public-key-cryptography-info"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/27-public-key-cryptography-info"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/31-diffie-hellman-key-exchange</loc><lastmod>2026-11-07T01:40:18.977Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/31-diffie-hellman-key-exchange"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/31-diffie-hellman-key-exchange"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/31-diffie-hellman-key-exchange"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/31-diffie-hellman-key-exchange"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/31-diffie-hellman-key-exchange"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/32-elgamal-enc</loc><lastmod>2026-11-06T14:47:19.248Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/32-elgamal-enc"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/32-elgamal-enc"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/32-elgamal-enc"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/32-elgamal-enc"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/32-elgamal-enc"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/33-digital-sign-def</loc><lastmod>2026-11-06T14:49:34.325Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/33-digital-sign-def"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/33-digital-sign-def"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/33-digital-sign-def"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/33-digital-sign-def"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/33-digital-sign-def"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/36-hash-func</loc><lastmod>2026-11-07T01:35:20.970Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/36-hash-func"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/36-hash-func"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/36-hash-func"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/36-hash-func"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/36-hash-func"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/37-message-auth-code</loc><lastmod>2026-11-07T01:42:52.957Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/37-message-auth-code"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/37-message-auth-code"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/37-message-auth-code"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/37-message-auth-code"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/37-message-auth-code"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/coding-test</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/coding-test"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/coding-test"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/coding-test"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/coding-test"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/coding-test"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/162-python-builtin-data-structure</loc><lastmod>2026-11-06T14:51:13.803Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/162-python-builtin-data-structure"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/162-python-builtin-data-structure"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/162-python-builtin-data-structure"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/162-python-builtin-data-structure"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/163-python-external-data-structure</loc><lastmod>2026-11-06T14:51:13.827Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/163-python-external-data-structure"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/163-python-external-data-structure"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/163-python-external-data-structure"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/163-python-external-data-structure"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/160-boj-py-1927</loc><lastmod>2026-11-06T14:45:40.784Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/160-boj-py-1927"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/160-boj-py-1927"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/160-boj-py-1927"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/160-boj-py-1927"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/160-boj-py-1927"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/164-python-pgm-pccp3</loc><lastmod>2026-11-06T14:45:00.105Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/164-python-pgm-pccp3"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/164-python-pgm-pccp3"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/164-python-pgm-pccp3"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/164-python-pgm-pccp3"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/164-python-pgm-pccp3"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/165-python-2023kakao-rbt</loc><lastmod>2026-11-06T14:45:00.066Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/165-python-2023kakao-rbt"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/165-python-2023kakao-rbt"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/165-python-2023kakao-rbt"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/165-python-2023kakao-rbt"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/165-python-2023kakao-rbt"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/257-boj-py-16928</loc><lastmod>2026-11-06T14:45:00.111Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/257-boj-py-16928"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/257-boj-py-16928"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/257-boj-py-16928"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/257-boj-py-16928"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/257-boj-py-16928"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/258-boj-py-10026</loc><lastmod>2026-11-06T14:45:00.098Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/258-boj-py-10026"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/258-boj-py-10026"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/258-boj-py-10026"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/258-boj-py-10026"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/258-boj-py-10026"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/259-boj-py-1012</loc><lastmod>2026-11-06T14:46:35.429Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/259-boj-py-1012"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/259-boj-py-1012"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/259-boj-py-1012"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/259-boj-py-1012"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/259-boj-py-1012"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/261-boj-py-1541</loc><lastmod>2026-11-06T14:45:00.084Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/261-boj-py-1541"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/261-boj-py-1541"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/261-boj-py-1541"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/261-boj-py-1541"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/261-boj-py-1541"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/262-boj-py-2630</loc><lastmod>2026-11-06T14:45:00.092Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/262-boj-py-2630"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/262-boj-py-2630"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/262-boj-py-2630"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/262-boj-py-2630"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/262-boj-py-2630"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/170-sql-deviation-colony-size</loc><lastmod>2026-11-06T14:48:43.742Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/170-sql-deviation-colony-size"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/170-sql-deviation-colony-size"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/170-sql-deviation-colony-size"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/170-sql-deviation-colony-size"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/170-sql-deviation-colony-size"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/operating-system</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/operating-system"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/operating-system"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/operating-system"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/operating-system"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/operating-system"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/207-1-what-is-operating-system</loc><lastmod>2026-11-07T06:41:51.427Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/207-1-what-is-operating-system"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/207-1-what-is-operating-system"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/207-1-what-is-operating-system"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/207-1-what-is-operating-system"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/207-1-what-is-operating-system"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/211-5-cpu-scheduling</loc><lastmod>2026-11-08T14:56:59.875Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/211-5-cpu-scheduling"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/211-5-cpu-scheduling"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/211-5-cpu-scheduling"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/211-5-cpu-scheduling"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/211-5-cpu-scheduling"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/213-7-exploring-synchroniation-examples</loc><lastmod>2026-11-07T06:43:37.173Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/213-7-exploring-synchroniation-examples"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/213-7-exploring-synchroniation-examples"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/213-7-exploring-synchroniation-examples"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/213-7-exploring-synchroniation-examples"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/214-8-deadlock</loc><lastmod>2026-11-07T01:53:00.593Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/214-8-deadlock"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/214-8-deadlock"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/214-8-deadlock"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/214-8-deadlock"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/214-8-deadlock"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/217-11-virtual-memory</loc><lastmod>2026-11-07T06:37:15.727Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/217-11-virtual-memory"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/217-11-virtual-memory"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/217-11-virtual-memory"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/217-11-virtual-memory"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/217-11-virtual-memory"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/218-12-io-system</loc><lastmod>2026-11-07T01:48:05.878Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/218-12-io-system"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/218-12-io-system"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/218-12-io-system"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/218-12-io-system"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/218-12-io-system"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/222-16-os-security</loc><lastmod>2026-11-07T06:56:23.073Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/222-16-os-security"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/222-16-os-security"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/222-16-os-security"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/222-16-os-security"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/222-16-os-security"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/225-17-os-protection</loc><lastmod>2026-11-07T01:42:04.688Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/225-17-os-protection"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/225-17-os-protection"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/225-17-os-protection"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/225-17-os-protection"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/225-17-os-protection"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/226-18-virtual-machine</loc><lastmod>2026-11-06T14:52:55.147Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/226-18-virtual-machine"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/226-18-virtual-machine"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/226-18-virtual-machine"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/226-18-virtual-machine"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/226-18-virtual-machine"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/231-20-last-one-os</loc><lastmod>2026-11-07T01:40:18.991Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/231-20-last-one-os"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/231-20-last-one-os"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/231-20-last-one-os"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/231-20-last-one-os"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/231-20-last-one-os"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/certificate</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/certificate"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/certificate"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/certificate"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/certificate"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/certificate"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/job-test</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/job-test"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/job-test"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/job-test"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/job-test"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/job-test"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/256-developer-aptitude-test</loc><lastmod>2026-11-07T12:33:57.473Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/256-developer-aptitude-test"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/256-developer-aptitude-test"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/256-developer-aptitude-test"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/256-developer-aptitude-test"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/256-developer-aptitude-test"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/340-real-time-communication-interview</loc><lastmod>2026-11-08T12:01:22.697Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/340-real-time-communication-interview"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/340-real-time-communication-interview"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/340-real-time-communication-interview"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/340-real-time-communication-interview"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/340-real-time-communication-interview"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/341-xss-csrf-sql-injection-interview</loc><lastmod>2026-11-08T15:48:54.295Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/341-xss-csrf-sql-injection-interview"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/341-xss-csrf-sql-injection-interview"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/341-xss-csrf-sql-injection-interview"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/341-xss-csrf-sql-injection-interview"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/341-xss-csrf-sql-injection-interview"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/342-orm-n-1-problem-interview</loc><lastmod>2026-11-08T15:54:49.309Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/342-orm-n-1-problem-interview"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/342-orm-n-1-problem-interview"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/342-orm-n-1-problem-interview"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/342-orm-n-1-problem-interview"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/342-orm-n-1-problem-interview"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/350-local-session-storage-interview</loc><lastmod>2026-11-07T06:49:07.728Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/350-local-session-storage-interview"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/350-local-session-storage-interview"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/350-local-session-storage-interview"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/350-local-session-storage-interview"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/350-local-session-storage-interview"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/engineer-information-security</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/engineer-information-security"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/engineer-information-security"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/engineer-information-security"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/engineer-information-security"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/engineer-information-security"/></url><url><loc>https://www.promleeblog.com/zh/blog/study/others</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/study/others"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/study/others"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/study/others"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/study/others"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/study/others"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/45-source-channel-coding-intro</loc><lastmod>2026-11-06T14:41:46.257Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/45-source-channel-coding-intro"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/45-source-channel-coding-intro"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/45-source-channel-coding-intro"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/45-source-channel-coding-intro"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/45-source-channel-coding-intro"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/46-source-coding</loc><lastmod>2026-11-07T01:37:36.147Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/46-source-coding"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/46-source-coding"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/46-source-coding"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/46-source-coding"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/46-source-coding"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/50-computer-communications</loc><lastmod>2026-11-06T14:43:37.807Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/50-computer-communications"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/50-computer-communications"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/50-computer-communications"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/50-computer-communications"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/50-computer-communications"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/51-multi-radio-access</loc><lastmod>2026-11-06T14:43:22.968Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/51-multi-radio-access"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/51-multi-radio-access"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/51-multi-radio-access"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/51-multi-radio-access"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/51-multi-radio-access"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/65-seqence-diagram</loc><lastmod>2026-11-08T12:22:49.348Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/65-seqence-diagram"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/65-seqence-diagram"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/65-seqence-diagram"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/65-seqence-diagram"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/65-seqence-diagram"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/80-solid-principles</loc><lastmod>2026-11-06T14:50:16.873Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/80-solid-principles"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/80-solid-principles"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/80-solid-principles"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/80-solid-principles"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/80-solid-principles"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/83-mvc-pattern</loc><lastmod>2026-11-07T12:24:57.093Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/83-mvc-pattern"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/83-mvc-pattern"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/83-mvc-pattern"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/83-mvc-pattern"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/83-mvc-pattern"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/308-effective-software-requirements</loc><lastmod>2026-11-07T12:14:06.678Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/308-effective-software-requirements"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/308-effective-software-requirements"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/308-effective-software-requirements"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/308-effective-software-requirements"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/308-effective-software-requirements"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/309-requirements-anaysis</loc><lastmod>2026-11-08T15:19:40.344Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/309-requirements-anaysis"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/309-requirements-anaysis"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/309-requirements-anaysis"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/309-requirements-anaysis"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/309-requirements-anaysis"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/310-organizing-user-requirements</loc><lastmod>2026-11-07T12:26:17.465Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/310-organizing-user-requirements"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/310-organizing-user-requirements"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/310-organizing-user-requirements"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/310-organizing-user-requirements"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/310-organizing-user-requirements"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/326-system-context-activity-diagrams</loc><lastmod>2026-11-08T15:02:29.509Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/326-system-context-activity-diagrams"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/326-system-context-activity-diagrams"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/326-system-context-activity-diagrams"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/326-system-context-activity-diagrams"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/326-system-context-activity-diagrams"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/55-on-to-object-design</loc><lastmod>2026-11-06T14:43:22.972Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/55-on-to-object-design"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/55-on-to-object-design"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/55-on-to-object-design"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/55-on-to-object-design"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/55-on-to-object-design"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/56-uml-interaction-diagram</loc><lastmod>2026-11-08T15:40:46.495Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/56-uml-interaction-diagram"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/56-uml-interaction-diagram"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/56-uml-interaction-diagram"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/56-uml-interaction-diagram"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/56-uml-interaction-diagram"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/57-uml-class-diagrams</loc><lastmod>2026-11-06T14:54:55.053Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/57-uml-class-diagrams"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/57-uml-class-diagrams"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/57-uml-class-diagrams"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/57-uml-class-diagrams"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/57-uml-class-diagrams"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/59-od-example-grasp</loc><lastmod>2026-11-06T14:43:22.991Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/59-od-example-grasp"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/59-od-example-grasp"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/59-od-example-grasp"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/59-od-example-grasp"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/59-od-example-grasp"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/60-design-for-visibility</loc><lastmod>2026-11-06T14:43:22.963Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/60-design-for-visibility"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/60-design-for-visibility"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/60-design-for-visibility"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/60-design-for-visibility"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/60-design-for-visibility"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/61-mapping-design-to-code</loc><lastmod>2026-11-06T14:51:13.771Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/61-mapping-design-to-code"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/61-mapping-design-to-code"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/61-mapping-design-to-code"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/61-mapping-design-to-code"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/61-mapping-design-to-code"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/62-test-driven-dev</loc><lastmod>2026-11-06T14:54:55.072Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/62-test-driven-dev"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/62-test-driven-dev"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/62-test-driven-dev"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/62-test-driven-dev"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/63-verification-validation</loc><lastmod>2026-11-07T01:44:08.811Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/63-verification-validation"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/63-verification-validation"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/63-verification-validation"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/63-verification-validation"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/63-verification-validation"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/289-1-key-components</loc><lastmod>2026-11-07T12:27:59.465Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/289-1-key-components"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/289-1-key-components"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/289-1-key-components"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/289-1-key-components"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/289-1-key-components"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/291-3-verb-adjectives-hanja</loc><lastmod>2026-11-08T14:55:20.533Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/291-3-verb-adjectives-hanja"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/291-3-verb-adjectives-hanja"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/291-3-verb-adjectives-hanja"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/291-3-verb-adjectives-hanja"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/291-3-verb-adjectives-hanja"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/294-6-relation-forms-hanja</loc><lastmod>2026-11-08T15:04:20.687Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/294-6-relation-forms-hanja"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/294-6-relation-forms-hanja"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/294-6-relation-forms-hanja"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/294-6-relation-forms-hanja"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/294-6-relation-forms-hanja"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/295-7-pronunciation-meaning</loc><lastmod>2026-11-08T15:08:30.049Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/295-7-pronunciation-meaning"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/295-7-pronunciation-meaning"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/295-7-pronunciation-meaning"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/295-7-pronunciation-meaning"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/295-7-pronunciation-meaning"/></url><url><loc>https://www.promleeblog.com/zh/blog/etc</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/etc"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/etc"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/etc"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/etc"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/etc"/></url><url><loc>https://www.promleeblog.com/zh/blog/etc/macos</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/etc/macos"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/etc/macos"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/etc/macos"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/etc/macos"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/etc/macos"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/119-homebrew</loc><lastmod>2026-11-06T14:54:55.084Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/119-homebrew"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/119-homebrew"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/119-homebrew"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/119-homebrew"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/119-homebrew"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/120-macos-nodejs</loc><lastmod>2026-11-07T01:42:04.738Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/120-macos-nodejs"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/120-macos-nodejs"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/120-macos-nodejs"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/120-macos-nodejs"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/120-macos-nodejs"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/156-mac-ffmpeg-folderaction</loc><lastmod>2026-11-08T12:03:40.962Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/156-mac-ffmpeg-folderaction"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/156-mac-ffmpeg-folderaction"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/156-mac-ffmpeg-folderaction"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/156-mac-ffmpeg-folderaction"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/156-mac-ffmpeg-folderaction"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/357-customize-macos-terminal-iterm2</loc><lastmod>2026-11-07T12:34:47.985Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/357-customize-macos-terminal-iterm2"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/357-customize-macos-terminal-iterm2"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/357-customize-macos-terminal-iterm2"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/357-customize-macos-terminal-iterm2"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/357-customize-macos-terminal-iterm2"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/474-promecapt-open-source-macos-capture</loc><lastmod>2026-11-07T17:42:59.671Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/474-promecapt-open-source-macos-capture"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/474-promecapt-open-source-macos-capture"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/474-promecapt-open-source-macos-capture"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/474-promecapt-open-source-macos-capture"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/474-promecapt-open-source-macos-capture"/></url><url><loc>https://www.promleeblog.com/zh/blog/etc/daily-life</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/etc/daily-life"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/etc/daily-life"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/etc/daily-life"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/etc/daily-life"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/etc/daily-life"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/270-tax-refund-hometax</loc><lastmod>2026-11-07T12:32:48.181Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/270-tax-refund-hometax"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/270-tax-refund-hometax"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/270-tax-refund-hometax"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/270-tax-refund-hometax"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/270-tax-refund-hometax"/></url><url><loc>https://www.promleeblog.com/zh/blog/etc/investment</loc><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/etc/investment"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/etc/investment"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/etc/investment"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/etc/investment"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/etc/investment"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/458-portfolio-reading-consolidated-holdings</loc><lastmod>2026-11-08T02:28:25.473Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/458-portfolio-reading-consolidated-holdings"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/458-portfolio-reading-consolidated-holdings"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/458-portfolio-reading-consolidated-holdings"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/458-portfolio-reading-consolidated-holdings"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/458-portfolio-reading-consolidated-holdings"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/459-portfolio-reading-etf-overlap</loc><lastmod>2026-11-08T02:24:49.193Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/459-portfolio-reading-etf-overlap"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/459-portfolio-reading-etf-overlap"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/459-portfolio-reading-etf-overlap"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/459-portfolio-reading-etf-overlap"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/459-portfolio-reading-etf-overlap"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/460-portfolio-reading-currency-exposure</loc><lastmod>2026-11-08T02:23:24.079Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/460-portfolio-reading-currency-exposure"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/460-portfolio-reading-currency-exposure"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/460-portfolio-reading-currency-exposure"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/460-portfolio-reading-currency-exposure"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/460-portfolio-reading-currency-exposure"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/461-portfolio-reading-return-cash-flows</loc><lastmod>2026-11-08T02:26:45.863Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/461-portfolio-reading-return-cash-flows"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/461-portfolio-reading-return-cash-flows"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/461-portfolio-reading-return-cash-flows"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/461-portfolio-reading-return-cash-flows"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/461-portfolio-reading-return-cash-flows"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/462-portfolio-reading-drawdown-risk</loc><lastmod>2026-11-07T17:55:18.168Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/462-portfolio-reading-drawdown-risk"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/462-portfolio-reading-drawdown-risk"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/462-portfolio-reading-drawdown-risk"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/462-portfolio-reading-drawdown-risk"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/462-portfolio-reading-drawdown-risk"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/463-portfolio-reading-rebalancing-rules</loc><lastmod>2026-11-08T02:18:41.940Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/463-portfolio-reading-rebalancing-rules"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/463-portfolio-reading-rebalancing-rules"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/463-portfolio-reading-rebalancing-rules"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/463-portfolio-reading-rebalancing-rules"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/463-portfolio-reading-rebalancing-rules"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/464-portfolio-reading-distributions-cash</loc><lastmod>2026-11-08T02:20:10.944Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/464-portfolio-reading-distributions-cash"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/464-portfolio-reading-distributions-cash"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/464-portfolio-reading-distributions-cash"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/464-portfolio-reading-distributions-cash"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/464-portfolio-reading-distributions-cash"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/465-portfolio-reading-monthly-review</loc><lastmod>2026-11-08T02:21:49.765Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/465-portfolio-reading-monthly-review"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/465-portfolio-reading-monthly-review"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/465-portfolio-reading-monthly-review"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/465-portfolio-reading-monthly-review"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/465-portfolio-reading-monthly-review"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/435-portrhythm-portfolio-asset-management-app</loc><lastmod>2026-11-07T06:53:12.605Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/435-portrhythm-portfolio-asset-management-app"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/435-portrhythm-portfolio-asset-management-app"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/435-portrhythm-portfolio-asset-management-app"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/435-portrhythm-portfolio-asset-management-app"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/435-portrhythm-portfolio-asset-management-app"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/436-portrhythm-asset-allocation-rebalancing</loc><lastmod>2026-11-08T04:22:44.781Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/436-portrhythm-asset-allocation-rebalancing"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/436-portrhythm-asset-allocation-rebalancing"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/436-portrhythm-asset-allocation-rebalancing"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/436-portrhythm-asset-allocation-rebalancing"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/436-portrhythm-asset-allocation-rebalancing"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/437-portrhythm-portfolio-setup-guide</loc><lastmod>2026-11-08T04:21:21.371Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/437-portrhythm-portfolio-setup-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/437-portrhythm-portfolio-setup-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/437-portrhythm-portfolio-setup-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/437-portrhythm-portfolio-setup-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/437-portrhythm-portfolio-setup-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/438-portrhythm-asset-registration-guide</loc><lastmod>2026-11-08T04:18:46.133Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/438-portrhythm-asset-registration-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/438-portrhythm-asset-registration-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/438-portrhythm-asset-registration-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/438-portrhythm-asset-registration-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/438-portrhythm-asset-registration-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/439-portrhythm-asset-assignment-guide</loc><lastmod>2026-11-08T04:15:40.878Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/439-portrhythm-asset-assignment-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/439-portrhythm-asset-assignment-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/439-portrhythm-asset-assignment-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/439-portrhythm-asset-assignment-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/439-portrhythm-asset-assignment-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/440-portrhythm-dashboard-holdings-guide</loc><lastmod>2026-11-08T04:12:52.103Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/440-portrhythm-dashboard-holdings-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/440-portrhythm-dashboard-holdings-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/440-portrhythm-dashboard-holdings-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/440-portrhythm-dashboard-holdings-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/440-portrhythm-dashboard-holdings-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/441-portrhythm-current-target-allocation-guide</loc><lastmod>2026-11-08T04:10:28.809Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/441-portrhythm-current-target-allocation-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/441-portrhythm-current-target-allocation-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/441-portrhythm-current-target-allocation-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/441-portrhythm-current-target-allocation-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/441-portrhythm-current-target-allocation-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/442-portrhythm-rebalancing-guide</loc><lastmod>2026-11-08T04:08:25.744Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/442-portrhythm-rebalancing-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/442-portrhythm-rebalancing-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/442-portrhythm-rebalancing-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/442-portrhythm-rebalancing-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/442-portrhythm-rebalancing-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/443-portrhythm-asset-history-guide</loc><lastmod>2026-11-08T04:05:46.440Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/443-portrhythm-asset-history-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/443-portrhythm-asset-history-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/443-portrhythm-asset-history-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/443-portrhythm-asset-history-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/443-portrhythm-asset-history-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/444-portrhythm-account-display-guide</loc><lastmod>2026-11-08T04:03:20.850Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/444-portrhythm-account-display-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/444-portrhythm-account-display-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/444-portrhythm-account-display-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/444-portrhythm-account-display-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/444-portrhythm-account-display-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/445-portrhythm-brokerage-account-guide</loc><lastmod>2026-11-08T04:01:16.743Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/445-portrhythm-brokerage-account-guide"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/445-portrhythm-brokerage-account-guide"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/445-portrhythm-brokerage-account-guide"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/445-portrhythm-brokerage-account-guide"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/445-portrhythm-brokerage-account-guide"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/466-etf-selection-reading-names</loc><lastmod>2026-11-07T17:52:32.813Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/466-etf-selection-reading-names"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/466-etf-selection-reading-names"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/466-etf-selection-reading-names"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/466-etf-selection-reading-names"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/466-etf-selection-reading-names"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/467-etf-selection-comparing-same-index</loc><lastmod>2026-11-07T17:51:09.421Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/467-etf-selection-comparing-same-index"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/467-etf-selection-comparing-same-index"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/467-etf-selection-comparing-same-index"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/467-etf-selection-comparing-same-index"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/467-etf-selection-comparing-same-index"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/468-etf-selection-total-costs</loc><lastmod>2026-11-07T17:54:00.104Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/468-etf-selection-total-costs"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/468-etf-selection-total-costs"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/468-etf-selection-total-costs"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/468-etf-selection-total-costs"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/468-etf-selection-total-costs"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/469-etf-selection-tracking-difference-error</loc><lastmod>2026-11-07T17:44:07.774Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/469-etf-selection-tracking-difference-error"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/469-etf-selection-tracking-difference-error"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/469-etf-selection-tracking-difference-error"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/469-etf-selection-tracking-difference-error"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/469-etf-selection-tracking-difference-error"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/470-etf-selection-price-nav-spread</loc><lastmod>2026-11-07T17:45:26.895Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/470-etf-selection-price-nav-spread"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/470-etf-selection-price-nav-spread"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/470-etf-selection-price-nav-spread"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/470-etf-selection-price-nav-spread"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/470-etf-selection-price-nav-spread"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/471-etf-selection-bond-funds</loc><lastmod>2026-11-07T17:49:44.880Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/471-etf-selection-bond-funds"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/471-etf-selection-bond-funds"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/471-etf-selection-bond-funds"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/471-etf-selection-bond-funds"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/471-etf-selection-bond-funds"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/472-etf-selection-dividend-covered-call</loc><lastmod>2026-11-07T17:48:19.874Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/472-etf-selection-dividend-covered-call"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/472-etf-selection-dividend-covered-call"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/472-etf-selection-dividend-covered-call"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/472-etf-selection-dividend-covered-call"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/472-etf-selection-dividend-covered-call"/></url><url><loc>https://www.promleeblog.com/zh/blog/post/473-etf-selection-comparison-checklist</loc><lastmod>2026-11-07T17:46:59.914Z</lastmod><xhtml:link rel="alternate" hreflang="ko" href="https://www.promleeblog.com/blog/post/473-etf-selection-comparison-checklist"/><xhtml:link rel="alternate" hreflang="x-default" href="https://www.promleeblog.com/blog/post/473-etf-selection-comparison-checklist"/><xhtml:link rel="alternate" hreflang="en" href="https://www.promleeblog.com/en/blog/post/473-etf-selection-comparison-checklist"/><xhtml:link rel="alternate" hreflang="ja" href="https://www.promleeblog.com/ja/blog/post/473-etf-selection-comparison-checklist"/><xhtml:link rel="alternate" hreflang="zh-Hans" href="https://www.promleeblog.com/zh/blog/post/473-etf-selection-comparison-checklist"/></url></urlset>