<?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://blog.7aa7.net/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.95</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/devops/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/frontend/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/security/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/plugin-dev/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/database/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/ai/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/iot/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/tech-notes/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/programming/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cat/architecture/</loc>
        
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/chaos-engineering-intro/</loc>
        <lastmod>2026-10-17T13:41:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/chaos-engineering-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/chaos-engineering-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/chaos-engineering-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/log-collection-pipeline/</loc>
        <lastmod>2026-10-16T21:28:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/log-collection-pipeline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/log-collection-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/log-collection-pipeline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/container-image-optimization/</loc>
        <lastmod>2026-10-08T23:45:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/container-image-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/container-image-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/container-image-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/iac-and-terraform/</loc>
        <lastmod>2026-10-03T22:15:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/iac-and-terraform/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/iac-and-terraform/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/iac-and-terraform/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/monitoring-alerting-system/</loc>
        <lastmod>2026-09-30T22:34:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/monitoring-alerting-system/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/monitoring-alerting-system/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/monitoring-alerting-system/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/secrets-and-config-management/</loc>
        <lastmod>2026-09-29T19:47:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/secrets-and-config-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/secrets-and-config-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/secrets-and-config-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/rolling-update-and-rollback/</loc>
        <lastmod>2026-09-25T14:16:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rolling-update-and-rollback/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rolling-update-and-rollback/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rolling-update-and-rollback/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/container-networking-intro/</loc>
        <lastmod>2026-09-22T22:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/container-networking-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/container-networking-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/container-networking-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cicd-pipeline-design/</loc>
        <lastmod>2026-09-19T18:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cicd-pipeline-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cicd-pipeline-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cicd-pipeline-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/capacity-planning-load-test/</loc>
        <lastmod>2026-09-12T10:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/capacity-planning-load-test/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/capacity-planning-load-test/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/capacity-planning-load-test/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/kubernetes-core-concepts/</loc>
        <lastmod>2026-09-08T19:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/kubernetes-core-concepts/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/kubernetes-core-concepts/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/kubernetes-core-concepts/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/production-incident-review/</loc>
        <lastmod>2026-09-08T11:42:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/production-incident-review/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/production-incident-review/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/production-incident-review/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-state-machine/</loc>
        <lastmod>2026-10-17T20:13:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-state-machine/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-state-machine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-state-machine/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/browser-rendering-pipeline/</loc>
        <lastmod>2026-09-30T16:43:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/browser-rendering-pipeline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/browser-rendering-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/browser-rendering-pipeline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-i18n-engineering/</loc>
        <lastmod>2026-09-29T21:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-i18n-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-i18n-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-i18n-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/modern-css-layout/</loc>
        <lastmod>2026-09-29T21:31:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/modern-css-layout/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/modern-css-layout/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/modern-css-layout/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-build-tools-evolution/</loc>
        <lastmod>2026-09-28T20:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-build-tools-evolution/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-build-tools-evolution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-build-tools-evolution/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/vue3-reactivity-internals/</loc>
        <lastmod>2026-09-27T09:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/vue3-reactivity-internals/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/vue3-reactivity-internals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/vue3-reactivity-internals/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-testing-strategy/</loc>
        <lastmod>2026-09-23T22:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-testing-strategy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-testing-strategy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-testing-strategy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/webassembly-boundaries/</loc>
        <lastmod>2026-09-17T20:38:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/webassembly-boundaries/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/webassembly-boundaries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/webassembly-boundaries/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/react-state-management-history/</loc>
        <lastmod>2026-09-13T09:05:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/react-state-management-history/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/react-state-management-history/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/react-state-management-history/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/micro-frontend-practice/</loc>
        <lastmod>2026-09-10T20:55:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/micro-frontend-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/micro-frontend-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/micro-frontend-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-performance-monitoring/</loc>
        <lastmod>2026-09-06T21:00:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-performance-monitoring/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-performance-monitoring/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-performance-monitoring/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/typescript-type-gymnastics/</loc>
        <lastmod>2026-09-06T18:30:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/typescript-type-gymnastics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/typescript-type-gymnastics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/typescript-type-gymnastics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/core-web-vitals-optimization/</loc>
        <lastmod>2026-09-05T08:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/core-web-vitals-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/core-web-vitals-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/core-web-vitals-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/local-file-encryption/</loc>
        <lastmod>2026-10-08T07:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/local-file-encryption/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/local-file-encryption/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/local-file-encryption/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/phishing-detection/</loc>
        <lastmod>2026-10-08T06:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/phishing-detection/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/phishing-detection/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/phishing-detection/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/how-https-works/</loc>
        <lastmod>2026-10-08T02:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/how-https-works/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/how-https-works/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/how-https-works/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/file-checksum-guide/</loc>
        <lastmod>2026-10-05T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/file-checksum-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/file-checksum-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/file-checksum-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/web-vulnerabilities-101/</loc>
        <lastmod>2026-10-04T13:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/web-vulnerabilities-101/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/web-vulnerabilities-101/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/web-vulnerabilities-101/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/password-management/</loc>
        <lastmod>2026-10-04T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/password-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/password-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/password-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/refactoring-safely/</loc>
        <lastmod>2026-10-18T09:42:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/refactoring-safely/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/refactoring-safely/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/refactoring-safely/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/unit-test-value-boundary/</loc>
        <lastmod>2026-10-10T13:38:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/unit-test-value-boundary/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/unit-test-value-boundary/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/unit-test-value-boundary/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/batch-file-rename/</loc>
        <lastmod>2026-10-05T23:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/batch-file-rename/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/batch-file-rename/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/batch-file-rename/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/windows-file-search/</loc>
        <lastmod>2026-10-05T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/windows-file-search/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/windows-file-search/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/windows-file-search/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/windows-powershell-tips/</loc>
        <lastmod>2026-10-04T13:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/windows-powershell-tips/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/windows-powershell-tips/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/windows-powershell-tips/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/archive-format-compare/</loc>
        <lastmod>2026-10-03T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/archive-format-compare/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/archive-format-compare/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/archive-format-compare/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/api-debugging-basics/</loc>
        <lastmod>2026-10-03T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/api-debugging-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/api-debugging-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/api-debugging-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/git-branch-strategy/</loc>
        <lastmod>2026-10-03T06:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/git-branch-strategy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/git-branch-strategy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/git-branch-strategy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/docker-getting-started/</loc>
        <lastmod>2026-10-03T03:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/docker-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/docker-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/docker-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/regex-practical-guide/</loc>
        <lastmod>2026-10-02T18:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/regex-practical-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/regex-practical-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/regex-practical-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/code-generator-practice/</loc>
        <lastmod>2026-10-02T08:24:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/code-generator-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/code-generator-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/code-generator-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/what-to-comment-in-code/</loc>
        <lastmod>2026-09-30T20:59:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/what-to-comment-in-code/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/what-to-comment-in-code/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/what-to-comment-in-code/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/error-handling-design/</loc>
        <lastmod>2026-09-29T18:25:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/error-handling-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/error-handling-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/error-handling-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/performance-profiling-intro/</loc>
        <lastmod>2026-09-26T22:58:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/performance-profiling-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/performance-profiling-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/performance-profiling-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/debugging-methodology/</loc>
        <lastmod>2026-09-23T17:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/debugging-methodology/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/debugging-methodology/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/debugging-methodology/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/semver-and-release/</loc>
        <lastmod>2026-09-17T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/semver-and-release/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/semver-and-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/semver-and-release/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/shell-script-engineering/</loc>
        <lastmod>2026-09-14T10:18:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/shell-script-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/shell-script-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/shell-script-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/regex-performance-backtracking/</loc>
        <lastmod>2026-09-11T17:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/regex-performance-backtracking/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/regex-performance-backtracking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/regex-performance-backtracking/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/structured-logging-spec/</loc>
        <lastmod>2026-09-11T09:11:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/structured-logging-spec/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/structured-logging-spec/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/structured-logging-spec/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/pair-programming-remote/</loc>
        <lastmod>2026-09-09T19:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/pair-programming-remote/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/pair-programming-remote/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/pair-programming-remote/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/content-hash-dedup/</loc>
        <lastmod>2026-10-20T20:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/content-hash-dedup/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/content-hash-dedup/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/content-hash-dedup/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/nosql-selection/</loc>
        <lastmod>2026-10-20T02:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/nosql-selection/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/nosql-selection/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/nosql-selection/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/transactions-isolation-levels/</loc>
        <lastmod>2026-10-19T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/transactions-isolation-levels/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/transactions-isolation-levels/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/transactions-isolation-levels/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/database-transaction-log/</loc>
        <lastmod>2026-10-18T15:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/database-transaction-log/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/database-transaction-log/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/database-transaction-log/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/slow-query-optimization/</loc>
        <lastmod>2026-10-17T15:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/slow-query-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/slow-query-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/slow-query-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/redis-data-structures/</loc>
        <lastmod>2026-10-16T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/redis-data-structures/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/redis-data-structures/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/redis-data-structures/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/backup-and-restore-drill/</loc>
        <lastmod>2026-10-16T12:02:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/backup-and-restore-drill/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/backup-and-restore-drill/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/backup-and-restore-drill/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/mysql-index-basics/</loc>
        <lastmod>2026-10-16T01:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/mysql-index-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/mysql-index-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/mysql-index-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/time-series-database-intro/</loc>
        <lastmod>2026-10-12T16:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/time-series-database-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/time-series-database-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/time-series-database-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/db-connection-pool/</loc>
        <lastmod>2026-10-09T21:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/db-connection-pool/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/db-connection-pool/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/db-connection-pool/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/read-write-splitting-lag/</loc>
        <lastmod>2026-10-04T16:28:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/read-write-splitting-lag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/read-write-splitting-lag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/read-write-splitting-lag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/when-to-shard/</loc>
        <lastmod>2026-09-28T13:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/when-to-shard/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/when-to-shard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/when-to-shard/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/database-migration/</loc>
        <lastmod>2026-09-28T12:23:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/database-migration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/database-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/database-migration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/online-ddl-large-table/</loc>
        <lastmod>2026-09-26T22:35:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/online-ddl-large-table/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/online-ddl-large-table/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/online-ddl-large-table/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/explain-plan-and-join-order/</loc>
        <lastmod>2026-09-26T10:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/explain-plan-and-join-order/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/explain-plan-and-join-order/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/explain-plan-and-join-order/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/json-column-tradeoffs/</loc>
        <lastmod>2026-09-19T20:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/json-column-tradeoffs/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/json-column-tradeoffs/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/json-column-tradeoffs/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/desktop-ai-offline/</loc>
        <lastmod>2026-10-14T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-ai-offline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-ai-offline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-ai-offline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/finetune-prompt-rag-boundary/</loc>
        <lastmod>2026-10-13T12:31:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/finetune-prompt-rag-boundary/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/finetune-prompt-rag-boundary/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/finetune-prompt-rag-boundary/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/ai-agent-intro/</loc>
        <lastmod>2026-10-13T11:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/ai-agent-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/ai-agent-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/ai-agent-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/prompt-injection-defense/</loc>
        <lastmod>2026-10-13T09:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/prompt-injection-defense/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/prompt-injection-defense/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/prompt-injection-defense/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/prompt-engineering/</loc>
        <lastmod>2026-10-12T06:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/prompt-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/prompt-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/prompt-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/llm-evaluation-methods/</loc>
        <lastmod>2026-10-10T19:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-evaluation-methods/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-evaluation-methods/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-evaluation-methods/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/what-is-rag/</loc>
        <lastmod>2026-10-10T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/what-is-rag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/what-is-rag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/what-is-rag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/run-llm-locally/</loc>
        <lastmod>2026-10-10T07:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/run-llm-locally/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/run-llm-locally/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/run-llm-locally/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/llm-basics-token-context/</loc>
        <lastmod>2026-10-09T22:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-basics-token-context/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-basics-token-context/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-basics-token-context/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/llm-inference-acceleration/</loc>
        <lastmod>2026-10-03T17:04:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-inference-acceleration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-inference-acceleration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-inference-acceleration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/vector-index-hnsw-ivf/</loc>
        <lastmod>2026-10-01T14:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/vector-index-hnsw-ivf/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/vector-index-hnsw-ivf/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/vector-index-hnsw-ivf/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/multimodal-model-intro/</loc>
        <lastmod>2026-10-01T14:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/multimodal-model-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/multimodal-model-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/multimodal-model-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/build-minimal-rag/</loc>
        <lastmod>2026-09-29T16:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/build-minimal-rag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/build-minimal-rag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/build-minimal-rag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/ai-app-observability/</loc>
        <lastmod>2026-09-27T11:25:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/ai-app-observability/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/ai-app-observability/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/ai-app-observability/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/transformer-attention-explained/</loc>
        <lastmod>2026-09-17T16:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/transformer-attention-explained/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/transformer-attention-explained/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/transformer-attention-explained/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/structured-output-engineering/</loc>
        <lastmod>2026-09-16T20:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/structured-output-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/structured-output-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/structured-output-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/model-compression-practice/</loc>
        <lastmod>2026-09-14T14:53:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/model-compression-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/model-compression-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/model-compression-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/embedding-usage-tips/</loc>
        <lastmod>2026-09-10T09:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/embedding-usage-tips/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/embedding-usage-tips/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/embedding-usage-tips/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/mqtt-protocol-explained/</loc>
        <lastmod>2026-10-14T15:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/mqtt-protocol-explained/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/mqtt-protocol-explained/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/mqtt-protocol-explained/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/iot-device-security/</loc>
        <lastmod>2026-10-13T17:54:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/iot-device-security/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/iot-device-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/iot-device-security/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/low-power-design/</loc>
        <lastmod>2026-10-13T08:39:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/low-power-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/low-power-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/low-power-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/edge-computing-practice/</loc>
        <lastmod>2026-10-10T15:30:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/edge-computing-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/edge-computing-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/edge-computing-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/embedded-c-memory-management/</loc>
        <lastmod>2026-09-30T15:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/embedded-c-memory-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/embedded-c-memory-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/embedded-c-memory-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/firmware-ota-upgrade/</loc>
        <lastmod>2026-09-27T12:09:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/firmware-ota-upgrade/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/firmware-ota-upgrade/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/firmware-ota-upgrade/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/sensor-data-acquisition/</loc>
        <lastmod>2026-09-17T20:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/sensor-data-acquisition/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/sensor-data-acquisition/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/sensor-data-acquisition/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/serial-port-debugging/</loc>
        <lastmod>2026-09-09T21:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/serial-port-debugging/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/serial-port-debugging/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/serial-port-debugging/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/esp32-getting-started/</loc>
        <lastmod>2026-09-05T23:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/esp32-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/esp32-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/esp32-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/rtos-getting-started/</loc>
        <lastmod>2026-09-05T20:39:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rtos-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rtos-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rtos-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/tech-proposal-presentation/</loc>
        <lastmod>2026-10-15T18:49:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-proposal-presentation/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-proposal-presentation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-proposal-presentation/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/remote-collaboration-habits/</loc>
        <lastmod>2026-10-13T18:56:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/remote-collaboration-habits/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/remote-collaboration-habits/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/remote-collaboration-habits/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/specialist-vs-generalist/</loc>
        <lastmod>2026-10-12T21:03:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/specialist-vs-generalist/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/specialist-vs-generalist/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/specialist-vs-generalist/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/side-project-retrospective/</loc>
        <lastmod>2026-10-10T23:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/side-project-retrospective/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/side-project-retrospective/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/side-project-retrospective/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/code-review-mindset/</loc>
        <lastmod>2026-10-09T17:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/code-review-mindset/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/code-review-mindset/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/code-review-mindset/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/desktop-cleanup/</loc>
        <lastmod>2026-10-09T15:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-cleanup/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-cleanup/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-cleanup/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/developer-moat/</loc>
        <lastmod>2026-10-09T03:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/developer-moat/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/developer-moat/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/developer-moat/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/offline-first-tools/</loc>
        <lastmod>2026-10-08T16:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/offline-first-tools/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/offline-first-tools/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/offline-first-tools/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/learning-new-tech-path/</loc>
        <lastmod>2026-10-08T12:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/learning-new-tech-path/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/learning-new-tech-path/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/learning-new-tech-path/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/technical-writing-guide/</loc>
        <lastmod>2026-10-06T17:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/technical-writing-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/technical-writing-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/technical-writing-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/developer-knowledge-base/</loc>
        <lastmod>2026-10-06T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/developer-knowledge-base/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/developer-knowledge-base/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/developer-knowledge-base/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/tech-selection-framework/</loc>
        <lastmod>2026-10-03T16:43:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-selection-framework/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-selection-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-selection-framework/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/system-design-interview/</loc>
        <lastmod>2026-10-01T19:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/system-design-interview/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/system-design-interview/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/system-design-interview/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cross-team-collaboration/</loc>
        <lastmod>2026-09-23T19:53:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cross-team-collaboration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cross-team-collaboration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cross-team-collaboration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/technical-writing-levels/</loc>
        <lastmod>2026-09-15T15:07:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/technical-writing-levels/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/technical-writing-levels/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/technical-writing-levels/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/rhythm-and-energy-management/</loc>
        <lastmod>2026-09-11T15:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rhythm-and-energy-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rhythm-and-energy-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rhythm-and-energy-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/javascript-async-evolution/</loc>
        <lastmod>2026-10-16T13:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/javascript-async-evolution/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/javascript-async-evolution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/javascript-async-evolution/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/beyond-sql-rust/</loc>
        <lastmod>2026-10-16T11:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/beyond-sql-rust/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/beyond-sql-rust/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/beyond-sql-rust/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cpp-qt-desktop-dev/</loc>
        <lastmod>2026-10-16T07:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cpp-qt-desktop-dev/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cpp-qt-desktop-dev/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cpp-qt-desktop-dev/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/cpp-smart-pointers/</loc>
        <lastmod>2026-10-15T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cpp-smart-pointers/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cpp-smart-pointers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cpp-smart-pointers/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/python-decorators/</loc>
        <lastmod>2026-10-15T09:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/python-decorators/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/python-decorators/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/python-decorators/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/go-concurrency-model/</loc>
        <lastmod>2026-10-14T15:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/go-concurrency-model/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/go-concurrency-model/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/go-concurrency-model/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/canary-blue-green-deploy/</loc>
        <lastmod>2026-10-15T16:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/canary-blue-green-deploy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/canary-blue-green-deploy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/canary-blue-green-deploy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/high-concurrency-basics/</loc>
        <lastmod>2026-10-15T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/high-concurrency-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/high-concurrency-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/high-concurrency-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/frontend-backend-separation/</loc>
        <lastmod>2026-10-14T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-backend-separation/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-backend-separation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-backend-separation/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/desktop-toolbox-architecture/</loc>
        <lastmod>2026-10-14T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-toolbox-architecture/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-toolbox-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-toolbox-architecture/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/message-queue-basics/</loc>
        <lastmod>2026-10-13T22:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/message-queue-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/message-queue-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/message-queue-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/caching-strategies/</loc>
        <lastmod>2026-10-12T15:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/caching-strategies/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/caching-strategies/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/caching-strategies/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/service-governance-principles/</loc>
        <lastmod>2026-10-11T17:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/service-governance-principles/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/service-governance-principles/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/service-governance-principles/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/monolith-to-microservices/</loc>
        <lastmod>2026-10-11T08:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/monolith-to-microservices/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/monolith-to-microservices/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/monolith-to-microservices/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/distributed-transaction-patterns/</loc>
        <lastmod>2026-10-04T20:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/distributed-transaction-patterns/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/distributed-transaction-patterns/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/distributed-transaction-patterns/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/event-driven-cqrs/</loc>
        <lastmod>2026-09-26T23:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/event-driven-cqrs/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/event-driven-cqrs/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/event-driven-cqrs/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/api-gateway-design/</loc>
        <lastmod>2026-09-22T08:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/api-gateway-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/api-gateway-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/api-gateway-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/tech-debt-quantification/</loc>
        <lastmod>2026-09-21T20:03:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-debt-quantification/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-debt-quantification/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-debt-quantification/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/idempotency-engineering/</loc>
        <lastmod>2026-09-19T21:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/idempotency-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/idempotency-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/idempotency-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/domain-driven-design-intro/</loc>
        <lastmod>2026-09-16T18:07:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/domain-driven-design-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/domain-driven-design-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/domain-driven-design-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/architecture-review-checklist/</loc>
        <lastmod>2026-09-16T18:05:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/architecture-review-checklist/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/architecture-review-checklist/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/architecture-review-checklist/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/inter-service-communication/</loc>
        <lastmod>2026-09-13T10:46:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/inter-service-communication/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/inter-service-communication/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/inter-service-communication/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/multi-tenant-architecture/</loc>
        <lastmod>2026-09-10T22:11:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/multi-tenant-architecture/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/multi-tenant-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/multi-tenant-architecture/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/observability-three-pillars/</loc>
        <lastmod>2026-09-08T09:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/observability-three-pillars/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/observability-three-pillars/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/observability-three-pillars/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/chaos-engineering-intro/</loc>
        <lastmod>2026-10-17T13:41:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/chaos-engineering-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/chaos-engineering-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/chaos-engineering-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/log-collection-pipeline/</loc>
        <lastmod>2026-10-16T21:28:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/log-collection-pipeline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/log-collection-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/log-collection-pipeline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/container-image-optimization/</loc>
        <lastmod>2026-10-08T23:45:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/container-image-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/container-image-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/container-image-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/iac-and-terraform/</loc>
        <lastmod>2026-10-03T22:15:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/iac-and-terraform/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/iac-and-terraform/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/iac-and-terraform/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/monitoring-alerting-system/</loc>
        <lastmod>2026-09-30T22:34:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/monitoring-alerting-system/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/monitoring-alerting-system/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/monitoring-alerting-system/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/secrets-and-config-management/</loc>
        <lastmod>2026-09-29T19:47:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/secrets-and-config-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/secrets-and-config-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/secrets-and-config-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/rolling-update-and-rollback/</loc>
        <lastmod>2026-09-25T14:16:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rolling-update-and-rollback/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rolling-update-and-rollback/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rolling-update-and-rollback/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/container-networking-intro/</loc>
        <lastmod>2026-09-22T22:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/container-networking-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/container-networking-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/container-networking-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/cicd-pipeline-design/</loc>
        <lastmod>2026-09-19T18:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cicd-pipeline-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cicd-pipeline-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cicd-pipeline-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/capacity-planning-load-test/</loc>
        <lastmod>2026-09-12T10:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/capacity-planning-load-test/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/capacity-planning-load-test/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/capacity-planning-load-test/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/kubernetes-core-concepts/</loc>
        <lastmod>2026-09-08T19:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/kubernetes-core-concepts/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/kubernetes-core-concepts/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/kubernetes-core-concepts/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/production-incident-review/</loc>
        <lastmod>2026-09-08T11:42:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/production-incident-review/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/production-incident-review/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/production-incident-review/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-state-machine/</loc>
        <lastmod>2026-10-17T20:13:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-state-machine/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-state-machine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-state-machine/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/browser-rendering-pipeline/</loc>
        <lastmod>2026-09-30T16:43:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/browser-rendering-pipeline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/browser-rendering-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/browser-rendering-pipeline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-i18n-engineering/</loc>
        <lastmod>2026-09-29T21:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-i18n-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-i18n-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-i18n-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/modern-css-layout/</loc>
        <lastmod>2026-09-29T21:31:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/modern-css-layout/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/modern-css-layout/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/modern-css-layout/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-build-tools-evolution/</loc>
        <lastmod>2026-09-28T20:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-build-tools-evolution/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-build-tools-evolution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-build-tools-evolution/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/vue3-reactivity-internals/</loc>
        <lastmod>2026-09-27T09:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/vue3-reactivity-internals/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/vue3-reactivity-internals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/vue3-reactivity-internals/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-testing-strategy/</loc>
        <lastmod>2026-09-23T22:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-testing-strategy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-testing-strategy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-testing-strategy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/webassembly-boundaries/</loc>
        <lastmod>2026-09-17T20:38:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/webassembly-boundaries/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/webassembly-boundaries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/webassembly-boundaries/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/react-state-management-history/</loc>
        <lastmod>2026-09-13T09:05:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/react-state-management-history/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/react-state-management-history/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/react-state-management-history/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/micro-frontend-practice/</loc>
        <lastmod>2026-09-10T20:55:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/micro-frontend-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/micro-frontend-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/micro-frontend-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-performance-monitoring/</loc>
        <lastmod>2026-09-06T21:00:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-performance-monitoring/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-performance-monitoring/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-performance-monitoring/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/typescript-type-gymnastics/</loc>
        <lastmod>2026-09-06T18:30:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/typescript-type-gymnastics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/typescript-type-gymnastics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/typescript-type-gymnastics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/core-web-vitals-optimization/</loc>
        <lastmod>2026-09-05T08:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/core-web-vitals-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/core-web-vitals-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/core-web-vitals-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/local-file-encryption/</loc>
        <lastmod>2026-10-08T07:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/local-file-encryption/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/local-file-encryption/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/local-file-encryption/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/phishing-detection/</loc>
        <lastmod>2026-10-08T06:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/phishing-detection/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/phishing-detection/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/phishing-detection/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/how-https-works/</loc>
        <lastmod>2026-10-08T02:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/how-https-works/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/how-https-works/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/how-https-works/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/file-checksum-guide/</loc>
        <lastmod>2026-10-05T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/file-checksum-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/file-checksum-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/file-checksum-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/web-vulnerabilities-101/</loc>
        <lastmod>2026-10-04T13:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/web-vulnerabilities-101/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/web-vulnerabilities-101/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/web-vulnerabilities-101/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/password-management/</loc>
        <lastmod>2026-10-04T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/password-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/password-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/password-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/refactoring-safely/</loc>
        <lastmod>2026-10-18T09:42:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/refactoring-safely/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/refactoring-safely/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/refactoring-safely/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/unit-test-value-boundary/</loc>
        <lastmod>2026-10-10T13:38:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/unit-test-value-boundary/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/unit-test-value-boundary/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/unit-test-value-boundary/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/batch-file-rename/</loc>
        <lastmod>2026-10-05T23:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/batch-file-rename/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/batch-file-rename/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/batch-file-rename/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/windows-file-search/</loc>
        <lastmod>2026-10-05T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/windows-file-search/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/windows-file-search/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/windows-file-search/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/windows-powershell-tips/</loc>
        <lastmod>2026-10-04T13:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/windows-powershell-tips/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/windows-powershell-tips/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/windows-powershell-tips/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/archive-format-compare/</loc>
        <lastmod>2026-10-03T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/archive-format-compare/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/archive-format-compare/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/archive-format-compare/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/api-debugging-basics/</loc>
        <lastmod>2026-10-03T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/api-debugging-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/api-debugging-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/api-debugging-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/git-branch-strategy/</loc>
        <lastmod>2026-10-03T06:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/git-branch-strategy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/git-branch-strategy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/git-branch-strategy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/docker-getting-started/</loc>
        <lastmod>2026-10-03T03:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/docker-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/docker-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/docker-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/regex-practical-guide/</loc>
        <lastmod>2026-10-02T18:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/regex-practical-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/regex-practical-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/regex-practical-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/code-generator-practice/</loc>
        <lastmod>2026-10-02T08:24:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/code-generator-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/code-generator-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/code-generator-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/what-to-comment-in-code/</loc>
        <lastmod>2026-09-30T20:59:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/what-to-comment-in-code/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/what-to-comment-in-code/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/what-to-comment-in-code/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/error-handling-design/</loc>
        <lastmod>2026-09-29T18:25:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/error-handling-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/error-handling-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/error-handling-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/performance-profiling-intro/</loc>
        <lastmod>2026-09-26T22:58:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/performance-profiling-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/performance-profiling-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/performance-profiling-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/debugging-methodology/</loc>
        <lastmod>2026-09-23T17:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/debugging-methodology/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/debugging-methodology/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/debugging-methodology/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/semver-and-release/</loc>
        <lastmod>2026-09-17T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/semver-and-release/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/semver-and-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/semver-and-release/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/shell-script-engineering/</loc>
        <lastmod>2026-09-14T10:18:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/shell-script-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/shell-script-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/shell-script-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/regex-performance-backtracking/</loc>
        <lastmod>2026-09-11T17:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/regex-performance-backtracking/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/regex-performance-backtracking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/regex-performance-backtracking/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/structured-logging-spec/</loc>
        <lastmod>2026-09-11T09:11:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/structured-logging-spec/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/structured-logging-spec/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/structured-logging-spec/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/pair-programming-remote/</loc>
        <lastmod>2026-09-09T19:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/pair-programming-remote/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/pair-programming-remote/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/pair-programming-remote/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/content-hash-dedup/</loc>
        <lastmod>2026-10-20T20:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/content-hash-dedup/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/content-hash-dedup/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/content-hash-dedup/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/nosql-selection/</loc>
        <lastmod>2026-10-20T02:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/nosql-selection/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/nosql-selection/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/nosql-selection/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/transactions-isolation-levels/</loc>
        <lastmod>2026-10-19T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/transactions-isolation-levels/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/transactions-isolation-levels/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/transactions-isolation-levels/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/database-transaction-log/</loc>
        <lastmod>2026-10-18T15:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/database-transaction-log/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/database-transaction-log/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/database-transaction-log/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/slow-query-optimization/</loc>
        <lastmod>2026-10-17T15:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/slow-query-optimization/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/slow-query-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/slow-query-optimization/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/redis-data-structures/</loc>
        <lastmod>2026-10-16T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/redis-data-structures/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/redis-data-structures/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/redis-data-structures/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/backup-and-restore-drill/</loc>
        <lastmod>2026-10-16T12:02:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/backup-and-restore-drill/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/backup-and-restore-drill/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/backup-and-restore-drill/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/mysql-index-basics/</loc>
        <lastmod>2026-10-16T01:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/mysql-index-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/mysql-index-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/mysql-index-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/time-series-database-intro/</loc>
        <lastmod>2026-10-12T16:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/time-series-database-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/time-series-database-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/time-series-database-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/db-connection-pool/</loc>
        <lastmod>2026-10-09T21:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/db-connection-pool/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/db-connection-pool/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/db-connection-pool/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/read-write-splitting-lag/</loc>
        <lastmod>2026-10-04T16:28:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/read-write-splitting-lag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/read-write-splitting-lag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/read-write-splitting-lag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/when-to-shard/</loc>
        <lastmod>2026-09-28T13:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/when-to-shard/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/when-to-shard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/when-to-shard/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/database-migration/</loc>
        <lastmod>2026-09-28T12:23:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/database-migration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/database-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/database-migration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/online-ddl-large-table/</loc>
        <lastmod>2026-09-26T22:35:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/online-ddl-large-table/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/online-ddl-large-table/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/online-ddl-large-table/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/explain-plan-and-join-order/</loc>
        <lastmod>2026-09-26T10:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/explain-plan-and-join-order/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/explain-plan-and-join-order/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/explain-plan-and-join-order/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/json-column-tradeoffs/</loc>
        <lastmod>2026-09-19T20:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/json-column-tradeoffs/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/json-column-tradeoffs/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/json-column-tradeoffs/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/desktop-ai-offline/</loc>
        <lastmod>2026-10-14T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-ai-offline/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-ai-offline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-ai-offline/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/finetune-prompt-rag-boundary/</loc>
        <lastmod>2026-10-13T12:31:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/finetune-prompt-rag-boundary/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/finetune-prompt-rag-boundary/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/finetune-prompt-rag-boundary/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/ai-agent-intro/</loc>
        <lastmod>2026-10-13T11:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/ai-agent-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/ai-agent-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/ai-agent-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/prompt-injection-defense/</loc>
        <lastmod>2026-10-13T09:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/prompt-injection-defense/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/prompt-injection-defense/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/prompt-injection-defense/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/prompt-engineering/</loc>
        <lastmod>2026-10-12T06:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/prompt-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/prompt-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/prompt-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/llm-evaluation-methods/</loc>
        <lastmod>2026-10-10T19:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-evaluation-methods/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-evaluation-methods/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-evaluation-methods/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/what-is-rag/</loc>
        <lastmod>2026-10-10T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/what-is-rag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/what-is-rag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/what-is-rag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/run-llm-locally/</loc>
        <lastmod>2026-10-10T07:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/run-llm-locally/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/run-llm-locally/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/run-llm-locally/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/llm-basics-token-context/</loc>
        <lastmod>2026-10-09T22:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-basics-token-context/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-basics-token-context/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-basics-token-context/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/llm-inference-acceleration/</loc>
        <lastmod>2026-10-03T17:04:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/llm-inference-acceleration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/llm-inference-acceleration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/llm-inference-acceleration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/vector-index-hnsw-ivf/</loc>
        <lastmod>2026-10-01T14:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/vector-index-hnsw-ivf/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/vector-index-hnsw-ivf/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/vector-index-hnsw-ivf/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/multimodal-model-intro/</loc>
        <lastmod>2026-10-01T14:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/multimodal-model-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/multimodal-model-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/multimodal-model-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/build-minimal-rag/</loc>
        <lastmod>2026-09-29T16:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/build-minimal-rag/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/build-minimal-rag/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/build-minimal-rag/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/ai-app-observability/</loc>
        <lastmod>2026-09-27T11:25:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/ai-app-observability/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/ai-app-observability/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/ai-app-observability/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/transformer-attention-explained/</loc>
        <lastmod>2026-09-17T16:36:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/transformer-attention-explained/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/transformer-attention-explained/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/transformer-attention-explained/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/structured-output-engineering/</loc>
        <lastmod>2026-09-16T20:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/structured-output-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/structured-output-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/structured-output-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/model-compression-practice/</loc>
        <lastmod>2026-09-14T14:53:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/model-compression-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/model-compression-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/model-compression-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/embedding-usage-tips/</loc>
        <lastmod>2026-09-10T09:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/embedding-usage-tips/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/embedding-usage-tips/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/embedding-usage-tips/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/mqtt-protocol-explained/</loc>
        <lastmod>2026-10-14T15:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/mqtt-protocol-explained/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/mqtt-protocol-explained/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/mqtt-protocol-explained/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/iot-device-security/</loc>
        <lastmod>2026-10-13T17:54:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/iot-device-security/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/iot-device-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/iot-device-security/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/low-power-design/</loc>
        <lastmod>2026-10-13T08:39:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/low-power-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/low-power-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/low-power-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/edge-computing-practice/</loc>
        <lastmod>2026-10-10T15:30:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/edge-computing-practice/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/edge-computing-practice/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/edge-computing-practice/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/embedded-c-memory-management/</loc>
        <lastmod>2026-09-30T15:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/embedded-c-memory-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/embedded-c-memory-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/embedded-c-memory-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/firmware-ota-upgrade/</loc>
        <lastmod>2026-09-27T12:09:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/firmware-ota-upgrade/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/firmware-ota-upgrade/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/firmware-ota-upgrade/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/sensor-data-acquisition/</loc>
        <lastmod>2026-09-17T20:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/sensor-data-acquisition/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/sensor-data-acquisition/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/sensor-data-acquisition/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/serial-port-debugging/</loc>
        <lastmod>2026-09-09T21:57:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/serial-port-debugging/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/serial-port-debugging/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/serial-port-debugging/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/esp32-getting-started/</loc>
        <lastmod>2026-09-05T23:06:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/esp32-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/esp32-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/esp32-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/rtos-getting-started/</loc>
        <lastmod>2026-09-05T20:39:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rtos-getting-started/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rtos-getting-started/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rtos-getting-started/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/tech-proposal-presentation/</loc>
        <lastmod>2026-10-15T18:49:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-proposal-presentation/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-proposal-presentation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-proposal-presentation/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/remote-collaboration-habits/</loc>
        <lastmod>2026-10-13T18:56:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/remote-collaboration-habits/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/remote-collaboration-habits/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/remote-collaboration-habits/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/specialist-vs-generalist/</loc>
        <lastmod>2026-10-12T21:03:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/specialist-vs-generalist/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/specialist-vs-generalist/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/specialist-vs-generalist/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/side-project-retrospective/</loc>
        <lastmod>2026-10-10T23:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/side-project-retrospective/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/side-project-retrospective/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/side-project-retrospective/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/code-review-mindset/</loc>
        <lastmod>2026-10-09T17:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/code-review-mindset/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/code-review-mindset/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/code-review-mindset/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/desktop-cleanup/</loc>
        <lastmod>2026-10-09T15:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-cleanup/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-cleanup/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-cleanup/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/developer-moat/</loc>
        <lastmod>2026-10-09T03:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/developer-moat/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/developer-moat/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/developer-moat/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/offline-first-tools/</loc>
        <lastmod>2026-10-08T16:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/offline-first-tools/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/offline-first-tools/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/offline-first-tools/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/learning-new-tech-path/</loc>
        <lastmod>2026-10-08T12:52:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/learning-new-tech-path/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/learning-new-tech-path/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/learning-new-tech-path/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/technical-writing-guide/</loc>
        <lastmod>2026-10-06T17:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/technical-writing-guide/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/technical-writing-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/technical-writing-guide/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/developer-knowledge-base/</loc>
        <lastmod>2026-10-06T11:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/developer-knowledge-base/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/developer-knowledge-base/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/developer-knowledge-base/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/tech-selection-framework/</loc>
        <lastmod>2026-10-03T16:43:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-selection-framework/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-selection-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-selection-framework/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/system-design-interview/</loc>
        <lastmod>2026-10-01T19:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/system-design-interview/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/system-design-interview/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/system-design-interview/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/cross-team-collaboration/</loc>
        <lastmod>2026-09-23T19:53:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cross-team-collaboration/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cross-team-collaboration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cross-team-collaboration/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/technical-writing-levels/</loc>
        <lastmod>2026-09-15T15:07:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/technical-writing-levels/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/technical-writing-levels/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/technical-writing-levels/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/rhythm-and-energy-management/</loc>
        <lastmod>2026-09-11T15:44:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/rhythm-and-energy-management/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/rhythm-and-energy-management/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/rhythm-and-energy-management/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/javascript-async-evolution/</loc>
        <lastmod>2026-10-16T13:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/javascript-async-evolution/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/javascript-async-evolution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/javascript-async-evolution/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/beyond-sql-rust/</loc>
        <lastmod>2026-10-16T11:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/beyond-sql-rust/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/beyond-sql-rust/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/beyond-sql-rust/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/cpp-qt-desktop-dev/</loc>
        <lastmod>2026-10-16T07:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cpp-qt-desktop-dev/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cpp-qt-desktop-dev/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cpp-qt-desktop-dev/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/cpp-smart-pointers/</loc>
        <lastmod>2026-10-15T16:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/cpp-smart-pointers/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/cpp-smart-pointers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/cpp-smart-pointers/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/python-decorators/</loc>
        <lastmod>2026-10-15T09:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/python-decorators/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/python-decorators/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/python-decorators/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/go-concurrency-model/</loc>
        <lastmod>2026-10-14T15:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/go-concurrency-model/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/go-concurrency-model/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/go-concurrency-model/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/canary-blue-green-deploy/</loc>
        <lastmod>2026-10-15T16:48:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/canary-blue-green-deploy/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/canary-blue-green-deploy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/canary-blue-green-deploy/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/high-concurrency-basics/</loc>
        <lastmod>2026-10-15T14:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/high-concurrency-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/high-concurrency-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/high-concurrency-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/frontend-backend-separation/</loc>
        <lastmod>2026-10-14T18:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/frontend-backend-separation/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/frontend-backend-separation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/frontend-backend-separation/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/desktop-toolbox-architecture/</loc>
        <lastmod>2026-10-14T05:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/desktop-toolbox-architecture/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/desktop-toolbox-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/desktop-toolbox-architecture/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/message-queue-basics/</loc>
        <lastmod>2026-10-13T22:20:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/message-queue-basics/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/message-queue-basics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/message-queue-basics/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/caching-strategies/</loc>
        <lastmod>2026-10-12T15:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/caching-strategies/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/caching-strategies/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/caching-strategies/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/service-governance-principles/</loc>
        <lastmod>2026-10-11T17:22:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/service-governance-principles/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/service-governance-principles/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/service-governance-principles/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/monolith-to-microservices/</loc>
        <lastmod>2026-10-11T08:50:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/monolith-to-microservices/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/monolith-to-microservices/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/monolith-to-microservices/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/distributed-transaction-patterns/</loc>
        <lastmod>2026-10-04T20:08:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/distributed-transaction-patterns/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/distributed-transaction-patterns/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/distributed-transaction-patterns/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/event-driven-cqrs/</loc>
        <lastmod>2026-09-26T23:29:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/event-driven-cqrs/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/event-driven-cqrs/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/event-driven-cqrs/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/api-gateway-design/</loc>
        <lastmod>2026-09-22T08:14:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/api-gateway-design/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/api-gateway-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/api-gateway-design/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/tech-debt-quantification/</loc>
        <lastmod>2026-09-21T20:03:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/tech-debt-quantification/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/tech-debt-quantification/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/tech-debt-quantification/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/idempotency-engineering/</loc>
        <lastmod>2026-09-19T21:12:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/idempotency-engineering/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/idempotency-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/idempotency-engineering/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/domain-driven-design-intro/</loc>
        <lastmod>2026-09-16T18:07:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/domain-driven-design-intro/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/domain-driven-design-intro/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/domain-driven-design-intro/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/architecture-review-checklist/</loc>
        <lastmod>2026-09-16T18:05:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/architecture-review-checklist/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/architecture-review-checklist/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/architecture-review-checklist/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/inter-service-communication/</loc>
        <lastmod>2026-09-13T10:46:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/inter-service-communication/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/inter-service-communication/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/inter-service-communication/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/multi-tenant-architecture/</loc>
        <lastmod>2026-09-10T22:11:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/multi-tenant-architecture/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/multi-tenant-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/multi-tenant-architecture/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/en/blog/observability-three-pillars/</loc>
        <lastmod>2026-09-08T09:10:00+08:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
        <xhtml:link rel="alternate" hreflang="zh-CN" href="https://blog.7aa7.net/blog/observability-three-pillars/"/><xhtml:link rel="alternate" hreflang="en" href="https://blog.7aa7.net/en/blog/observability-three-pillars/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://blog.7aa7.net/blog/observability-three-pillars/"/>
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/notice/355/</loc>
        
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/notice/354/</loc>
        
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/notice/353/</loc>
        
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/notice/352/</loc>
        
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
        
    </url>
    
    <url>
        <loc>https://blog.7aa7.net/blog/notice/351/</loc>
        
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
        
    </url>
    
</urlset>
