<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://blog.birdor.com/docs/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/what-is-plumego/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/design-philosophy/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/tradeoffs/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/when-not-to-use/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/intro/plumego-and-birdor/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/getting-started/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/getting-started/installation/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/getting-started/minimal-server/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/getting-started/project-layout/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/getting-started/first-request/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/request-lifecycle/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/context/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/handler/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/middleware/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/router/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/concepts/error-model/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/layering/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/boundary-definition/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/domain-and-usecase/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/dependency-direction/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/architecture/monolith-to-services/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/http-server/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/router/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/middleware/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/context/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/response/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/core/lifecycle/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/logging-and-traceid/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/panic-recovery/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/auth-and-jwt/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/request-validation/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/webhook-server/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/websocket/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/guides/graceful-shutdown/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/thin-handlers/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/usecase-centric/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/explicit-middleware-chains/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/error-propagation/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/config-management/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/testing-strategy/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/patterns/dependency-wiring/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/performance/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/custom-router/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/replacing-components/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/embedding-plumego/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/multi-service-setup/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/background-processing/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/advanced/api-versioning/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/public-apis/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/config-options/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/middleware-signatures/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/error-codes/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/plumego-introduction/</loc>
    <lastmod>2025-12-28T00:28:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/plumego-vs-go-frameworks/</loc>
    <lastmod>2025-12-28T00:36:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/reference/when-not-to-use-plumego/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/plumego-vs-gin/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/plumego-vs-echo/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/why-not-framework-x/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/can-i-use-with-xxx/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/common-mistakes/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/is-plumego-for-small-projects/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/faq/why-explicit/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/roadmap/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/roadmap/design-principles/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/roadmap/planned-features/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/roadmap/non-goals/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/roadmap/versioning/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/philosophy/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/code-structure/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/decision-process/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/pull-request-guide/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/documentation-guide/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/workflow/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/docs/plumego/contributing/code-style/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/advanced/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/architecture/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/backend/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/engineering/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/go/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/plumego-advanced-guide/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/posts/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/</loc>
    <lastmod>2025-12-30T20:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/framework-design/</loc>
    <lastmod>2025-12-30T19:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/introducing-plumego-go-framework/</loc>
    <lastmod>2025-12-30T19:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/engineering-decisions/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/framework/</loc>
    <lastmod>2025-12-28T07:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/engineering-tradeoffs/</loc>
    <lastmod>2025-12-28T00:36:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/editorial-bar/</loc>
    <lastmod>2025-12-16T00:01:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/about/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/birdor/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/birdor/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/about/birdor-platform-vision/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/about/birdor-platform-vision-zh/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/platform/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/vision/</loc>
    <lastmod>2025-12-03T00:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/engineering/</loc>
    <lastmod>2025-11-29T09:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/birdor-tools-launch/</loc>
    <lastmod>2025-11-29T09:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/product/</loc>
    <lastmod>2025-11-29T09:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/release/</loc>
    <lastmod>2025-11-29T09:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tools/</loc>
    <lastmod>2025-11-29T09:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-29/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/changelog/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/development-log/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/docs/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/feature/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/infra/</loc>
    <lastmod>2025-11-29T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-28/</loc>
    <lastmod>2025-11-28T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/json-formatter/</loc>
    <lastmod>2025-11-28T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/jwt-debugger/</loc>
    <lastmod>2025-11-28T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/beginners/</loc>
    <lastmod>2025-11-27T20:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/programming/</loc>
    <lastmod>2025-11-27T20:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/python/</loc>
    <lastmod>2025-11-27T20:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/python-beginner-handbook/</loc>
    <lastmod>2025-11-27T20:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tutorial/</loc>
    <lastmod>2025-11-27T20:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/comparison/</loc>
    <lastmod>2025-11-27T20:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/programming/</loc>
    <lastmod>2025-11-27T20:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/python-vs-go-vs-rust/</loc>
    <lastmod>2025-11-27T20:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/rust/</loc>
    <lastmod>2025-11-27T20:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-27/</loc>
    <lastmod>2025-11-27T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/seo/</loc>
    <lastmod>2025-11-27T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ui/</loc>
    <lastmod>2025-11-27T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/website/</loc>
    <lastmod>2025-11-27T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/book/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/engine/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/game-development/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/game-development/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/lua/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/lua/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch20/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/netcode/</loc>
    <lastmod>2025-11-26T13:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/hugo/</loc>
    <lastmod>2025-11-26T13:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch0/</loc>
    <lastmod>2025-11-26T13:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/deployment/</loc>
    <lastmod>2025-11-26T13:14:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/localization/</loc>
    <lastmod>2025-11-26T13:14:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch19/</loc>
    <lastmod>2025-11-26T13:14:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/packaging/</loc>
    <lastmod>2025-11-26T13:14:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/toolchain/</loc>
    <lastmod>2025-11-26T13:14:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ecs/</loc>
    <lastmod>2025-11-26T13:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch18/</loc>
    <lastmod>2025-11-26T13:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/optimization/</loc>
    <lastmod>2025-11-26T13:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/plugins/</loc>
    <lastmod>2025-11-26T13:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch17/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/mods/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/persistence/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/replay/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/save/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/serialization/</loc>
    <lastmod>2025-11-26T13:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/interpolation/</loc>
    <lastmod>2025-11-26T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch16/</loc>
    <lastmod>2025-11-26T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/multiplayer/</loc>
    <lastmod>2025-11-26T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/prediction/</loc>
    <lastmod>2025-11-26T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/replication/</loc>
    <lastmod>2025-11-26T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/databinding/</loc>
    <lastmod>2025-11-26T12:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/hud/</loc>
    <lastmod>2025-11-26T12:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch15/</loc>
    <lastmod>2025-11-26T12:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/menu/</loc>
    <lastmod>2025-11-26T12:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ai/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/behavior-tree/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/boss/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/combat/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch14/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/utility-ai/</loc>
    <lastmod>2025-11-26T12:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/faction/</loc>
    <lastmod>2025-11-26T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch13/</loc>
    <lastmod>2025-11-26T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/npc/</loc>
    <lastmod>2025-11-26T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/simulation/</loc>
    <lastmod>2025-11-26T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/town/</loc>
    <lastmod>2025-11-26T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/dialogue/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch12/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/missions/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/progression/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/quests/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/story/</loc>
    <lastmod>2025-11-26T12:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/crafting/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/data-driven/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/inventory/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/items/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/loot/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch11/</loc>
    <lastmod>2025-11-26T12:10:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/animation/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/camera/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cutscene/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch8/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/scripting/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/timeline/</loc>
    <lastmod>2025-11-26T10:24:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/game-dev/</loc>
    <lastmod>2025-11-26T10:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch7/</loc>
    <lastmod>2025-11-26T10:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ui-architecture/</loc>
    <lastmod>2025-11-26T10:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/widgets/</loc>
    <lastmod>2025-11-26T10:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/audio/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/feedback/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/fx/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch10/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/particle/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/vfx/</loc>
    <lastmod>2025-11-25T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch9/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/maps/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/scene-management/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/spawn/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tilemap/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/world/</loc>
    <lastmod>2025-11-25T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/fsm/</loc>
    <lastmod>2025-11-25T20:11:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/game-ai/</loc>
    <lastmod>2025-11-25T20:11:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/goap/</loc>
    <lastmod>2025-11-25T20:11:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch6/</loc>
    <lastmod>2025-11-25T20:11:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch5/</loc>
    <lastmod>2025-11-25T20:03:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/rpg/</loc>
    <lastmod>2025-11-25T20:03:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/systems/</loc>
    <lastmod>2025-11-25T20:03:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch4/</loc>
    <lastmod>2025-11-25T20:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch3/</loc>
    <lastmod>2025-11-25T19:58:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/patterns/</loc>
    <lastmod>2025-11-25T19:58:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch2/</loc>
    <lastmod>2025-11-25T19:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/guide/</loc>
    <lastmod>2025-11-25T19:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-game-dev-ch1/</loc>
    <lastmod>2025-11-25T19:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/coroutines/</loc>
    <lastmod>2025-11-25T19:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/dsl/</loc>
    <lastmod>2025-11-25T19:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-deep-dive/</loc>
    <lastmod>2025-11-25T19:21:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-advanced/</loc>
    <lastmod>2025-11-25T19:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/lua-introduction/</loc>
    <lastmod>2025-11-25T19:16:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/beginner/</loc>
    <lastmod>2025-11-25T19:16:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/backend-development/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/bufio/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tiny-http-server-net-bufio/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/golang/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/http/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/low-level/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/net/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/programming-languages/</loc>
    <lastmod>2025-11-25T16:27:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/go-net-http-internals-deep-dive/</loc>
    <lastmod>2025-11-25T16:23:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/concurrency/</loc>
    <lastmod>2025-11-25T16:23:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/net/http/</loc>
    <lastmod>2025-11-25T16:23:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/servers/</loc>
    <lastmod>2025-11-25T16:23:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/go-high-performance-socket-server/</loc>
    <lastmod>2025-11-25T11:57:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/networking/</loc>
    <lastmod>2025-11-25T11:57:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tcp/</loc>
    <lastmod>2025-11-25T11:57:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/go-net-deep-dive/</loc>
    <lastmod>2025-11-25T11:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/udp/</loc>
    <lastmod>2025-11-25T11:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-25/</loc>
    <lastmod>2025-11-25T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/url-parser/</loc>
    <lastmod>2025-11-25T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cancellation/</loc>
    <lastmod>2025-11-24T19:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/context/</loc>
    <lastmod>2025-11-24T19:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/go-context-deep-dive/</loc>
    <lastmod>2025-11-24T19:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/go-getting-started/</loc>
    <lastmod>2025-11-24T19:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-23/</loc>
    <lastmod>2025-11-23T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/devops/</loc>
    <lastmod>2025-11-20T23:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/game-server-development/</loc>
    <lastmod>2025-11-20T23:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-10-operations/</loc>
    <lastmod>2025-11-20T23:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/observability/</loc>
    <lastmod>2025-11-20T23:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/operations/</loc>
    <lastmod>2025-11-20T23:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/anti-cheat/</loc>
    <lastmod>2025-11-20T22:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-09-security/</loc>
    <lastmod>2025-11-20T22:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/security/</loc>
    <lastmod>2025-11-20T22:46:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/distributed/</loc>
    <lastmod>2025-11-20T22:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-08-scaling/</loc>
    <lastmod>2025-11-20T22:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/scaling/</loc>
    <lastmod>2025-11-20T22:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/sharding/</loc>
    <lastmod>2025-11-20T22:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/elo/</loc>
    <lastmod>2025-11-20T21:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-07-matchmaking/</loc>
    <lastmod>2025-11-20T21:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/glicko/</loc>
    <lastmod>2025-11-20T21:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/matchmaking/</loc>
    <lastmod>2025-11-20T21:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/database/</loc>
    <lastmod>2025-11-20T20:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-06-persistence/</loc>
    <lastmod>2025-11-20T20:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/player-data/</loc>
    <lastmod>2025-11-20T20:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/python-introduction/</loc>
    <lastmod>2025-11-20T20:15:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-05-state-sync/</loc>
    <lastmod>2025-11-20T19:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/state-sync/</loc>
    <lastmod>2025-11-20T19:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-04-game-loop/</loc>
    <lastmod>2025-11-20T18:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/game-server/</loc>
    <lastmod>2025-11-20T18:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/loop/</loc>
    <lastmod>2025-11-20T18:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tick/</loc>
    <lastmod>2025-11-20T18:26:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-03-architecture/</loc>
    <lastmod>2025-11-20T17:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/zones/</loc>
    <lastmod>2025-11-20T17:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-02-networking/</loc>
    <lastmod>2025-11-20T16:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-01-introduction/</loc>
    <lastmod>2025-11-20T15:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/game-server-development-series/</loc>
    <lastmod>2025-11-20T14:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/app-router/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/data-fetching/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-data-fetching-guide/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/nextjs/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/react/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/server-components/</loc>
    <lastmod>2025-11-20T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/client-components/</loc>
    <lastmod>2025-11-20T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-server-client-components/</loc>
    <lastmod>2025-11-20T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-routing-deep-dive/</loc>
    <lastmod>2025-11-20T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/routing/</loc>
    <lastmod>2025-11-20T12:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-app-router-basics/</loc>
    <lastmod>2025-11-20T12:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-learning-series/</loc>
    <lastmod>2025-11-20T11:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/series/</loc>
    <lastmod>2025-11-20T11:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/web-development/</loc>
    <lastmod>2025-11-20T11:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/architecture/</loc>
    <lastmod>2025-11-20T10:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/backend/</loc>
    <lastmod>2025-11-20T10:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cloud/</loc>
    <lastmod>2025-11-20T10:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/backend-architecture-best-practices-2025/</loc>
    <lastmod>2025-11-20T10:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/system-design/</loc>
    <lastmod>2025-11-20T10:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/frontend/</loc>
    <lastmod>2025-11-20T10:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/jamstack/</loc>
    <lastmod>2025-11-20T10:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/nextjs-introduction/</loc>
    <lastmod>2025-11-20T10:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/web-development/</loc>
    <lastmod>2025-11-20T10:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-20/</loc>
    <lastmod>2025-11-20T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tool-guides/</loc>
    <lastmod>2025-11-20T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/distributed-data/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/edge-computing/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/full-stack/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/jamstack/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-8-modern-jamstack/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/serverless/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/typescript/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/web-architecture/</loc>
    <lastmod>2025-11-19T23:55:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/component-model/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ml-inference/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-7-wasm/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/wasi/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/wasm/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/webassembly/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/webassembly/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/webgpu/</loc>
    <lastmod>2025-11-19T23:54:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/ai/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/automation/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/devtools/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/frontend/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/llm/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-6-ai/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ui-generation/</loc>
    <lastmod>2025-11-19T23:52:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/container-queries/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/css/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/css/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/design-systems/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-5-css-evolution/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/native-css/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tailwind/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/utility-first/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/view-transitions/</loc>
    <lastmod>2025-11-19T23:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/astro/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/core-web-vitals/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/hydation/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-4-performance/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/performance/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/performance/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/qwik/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/react-server-components/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/svelte/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/web-performance/</loc>
    <lastmod>2025-11-19T23:48:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/dx/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/full-stack-typescript/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/javascript/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-3-typescript/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/openapi/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/trpc/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/type-safety/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/zod/</loc>
    <lastmod>2025-11-19T23:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cloudflare/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/deno/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/distributed-systems/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/global-runtime/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-2-edge-computing/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/vercel/</loc>
    <lastmod>2025-11-19T23:44:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/hybrid-rendering/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/islands/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-trends-part-1-hybrid-rendering/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/nuxt3/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/remix/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/rsc/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/solidstart/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/sveltekit/</loc>
    <lastmod>2025-11-19T23:39:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/modern-frontend-web-development-trends-birdor-2025/</loc>
    <lastmod>2025-11-19T19:41:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cdn/</loc>
    <lastmod>2025-11-19T17:15:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/cloudflare/</loc>
    <lastmod>2025-11-19T17:15:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-8-performance-playbook/</loc>
    <lastmod>2025-11-19T17:15:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/tuning/</loc>
    <lastmod>2025-11-19T17:15:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-7-zero-trust-security/</loc>
    <lastmod>2025-11-19T16:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/identity/</loc>
    <lastmod>2025-11-19T16:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/waf/</loc>
    <lastmod>2025-11-19T16:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/zero-trust/</loc>
    <lastmod>2025-11-19T16:50:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-6-kv-r2-d1-storage/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/d1/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/kv/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/r2/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/storage/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/workers/</loc>
    <lastmod>2025-11-19T16:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-5-workers-pages-functions/</loc>
    <lastmod>2025-11-19T16:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/edge-compute/</loc>
    <lastmod>2025-11-19T16:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/pages-functions/</loc>
    <lastmod>2025-11-19T16:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/caching/</loc>
    <lastmod>2025-11-19T15:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-4-cdn-caching-edge-rules/</loc>
    <lastmod>2025-11-19T15:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/edge-rules/</loc>
    <lastmod>2025-11-19T15:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/cloudflare-pages/</loc>
    <lastmod>2025-11-19T15:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-3-hugo-cloudflare-pages/</loc>
    <lastmod>2025-11-19T15:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-2-dns-domain-management/</loc>
    <lastmod>2025-11-19T15:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/dns/</loc>
    <lastmod>2025-11-19T15:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/domain/</loc>
    <lastmod>2025-11-19T15:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-tutorial-part-1-fundamentals/</loc>
    <lastmod>2025-11-19T14:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/edge/</loc>
    <lastmod>2025-11-19T14:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/cloudflare-pages-hugo-tutorial/</loc>
    <lastmod>2025-11-19T14:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/categories/deployment/</loc>
    <lastmod>2025-11-19T14:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/static-sites/</loc>
    <lastmod>2025-11-19T14:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/jamstack-vs-ssr-vs-spa/</loc>
    <lastmod>2025-11-19T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/spa/</loc>
    <lastmod>2025-11-19T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ssr/</loc>
    <lastmod>2025-11-19T13:30:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/jamstack-in-depth/</loc>
    <lastmod>2025-11-19T13:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/jamstack-introduction/</loc>
    <lastmod>2025-11-19T12:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-19/</loc>
    <lastmod>2025-11-19T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/tags/ui-components/</loc>
    <lastmod>2025-11-19T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/changelog-2025-11-18/</loc>
    <lastmod>2025-11-18T00:00:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/about/</loc>
    <lastmod>2025-11-10T16:02:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/welcome-to-birdor/</loc>
    <lastmod>2025-11-10T16:02:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/terms-of-service/</loc>
    <lastmod>2025-11-10T09:03:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/privacy-policy/</loc>
    <lastmod>2025-11-10T09:02:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/choosing-plumego-framework-decision-guide/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/plumego-explicit-systems-philosophy/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url><url>
    <loc>https://blog.birdor.com/plumego-real-world-service-walkthrough/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
