<?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>/portfolio/shopee/</loc>
    <lastmod>2024-02-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/freelancer/</loc>
    <lastmod>2024-02-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/swiftpass/</loc>
    <lastmod>2024-02-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/continuous-profiling/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/grafana/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/java25/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/jfr/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/observability/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/opentelemetry/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/otel/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/spring-boot/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-boot-35-otel-best-practices/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/virtual-threads/</loc>
    <lastmod>2026-04-02T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/java/</loc>
    <lastmod>2026-04-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/jvm/</loc>
    <lastmod>2026-04-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/java-jvm-k8s-2026/</loc>
    <lastmod>2026-04-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/kubernetes/</loc>
    <lastmod>2026-04-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/%E5%AE%B9%E5%99%A8%E5%8C%96/</loc>
    <lastmod>2026-04-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/architecture/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/cdn/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cdn-dns-survivability/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/dns/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/high-availability/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/sre/</loc>
    <lastmod>2026-03-31T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/confluent/</loc>
    <lastmod>2026-03-30T10:04:30+08:00</lastmod>
  </url><url>
    <loc>/posts/confluent-kafka-partition-count-evaluation/</loc>
    <lastmod>2026-03-30T10:04:30+08:00</lastmod>
  </url><url>
    <loc>/tags/kafka/</loc>
    <lastmod>2026-03-30T10:04:30+08:00</lastmod>
  </url><url>
    <loc>/tags/performance/</loc>
    <lastmod>2026-03-30T10:04:30+08:00</lastmod>
  </url><url>
    <loc>/tags/ansible/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/debian/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/devops/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/homelab/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/debian-proxmox-power-optimization/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/power-management/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/proxmox/</loc>
    <lastmod>2026-03-29T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ai/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/claude/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/copilot/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/gemini/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/skills/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/tools/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/npx-skills-superpowers-multi-agent/</loc>
    <lastmod>2026-03-29T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/database-migration/</loc>
    <lastmod>2026-03-26T23:20:00+08:00</lastmod>
  </url><url>
    <loc>/tags/liquibase/</loc>
    <lastmod>2026-03-26T23:20:00+08:00</lastmod>
  </url><url>
    <loc>/posts/liquibase-split-progressive-migration/</loc>
    <lastmod>2026-03-26T23:20:00+08:00</lastmod>
  </url><url>
    <loc>/tags/microservice/</loc>
    <lastmod>2026-03-26T23:20:00+08:00</lastmod>
  </url><url>
    <loc>/tags/postgresql/</loc>
    <lastmod>2026-03-26T23:20:00+08:00</lastmod>
  </url><url>
    <loc>/tags/benchmark/</loc>
    <lastmod>2026-03-25T16:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/h2c/</loc>
    <lastmod>2026-03-25T16:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/http2/</loc>
    <lastmod>2026-03-25T16:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/k6/</loc>
    <lastmod>2026-03-25T16:30:00+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-boot-35-h2c-benchmark/</loc>
    <lastmod>2026-03-25T16:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/cloud-native/</loc>
    <lastmod>2026-03-21T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/shop-platform-cloud-native-overview/</loc>
    <lastmod>2026-03-21T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/system-design/</loc>
    <lastmod>2026-03-21T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ai-agent/</loc>
    <lastmod>2026-03-20T22:15:00+08:00</lastmod>
  </url><url>
    <loc>/tags/dev-tools/</loc>
    <lastmod>2026-03-20T22:15:00+08:00</lastmod>
  </url><url>
    <loc>/tags/git/</loc>
    <lastmod>2026-03-20T22:15:00+08:00</lastmod>
  </url><url>
    <loc>/tags/productivity/</loc>
    <lastmod>2026-03-20T22:15:00+08:00</lastmod>
  </url><url>
    <loc>/posts/git-worktree-study/</loc>
    <lastmod>2026-03-20T22:15:00+08:00</lastmod>
  </url><url>
    <loc>/tags/best-practices/</loc>
    <lastmod>2026-03-19T14:30:00+08:00</lastmod>
  </url><url>
    <loc>/posts/java-records-vs-lombok-best-practice-java25/</loc>
    <lastmod>2026-03-19T14:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/lombok/</loc>
    <lastmod>2026-03-19T14:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/record/</loc>
    <lastmod>2026-03-19T14:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/build-tools/</loc>
    <lastmod>2026-03-18T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/java-multi-release-jar/</loc>
    <lastmod>2026-03-18T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/jdk/</loc>
    <lastmod>2026-03-18T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/apple-silicon/</loc>
    <lastmod>2026-03-14T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/mlx/</loc>
    <lastmod>2026-03-14T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/mlx-vs-ollama-benchmark-on-m2-mbp/</loc>
    <lastmod>2026-03-14T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ollama/</loc>
    <lastmod>2026-03-14T15:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/llm/</loc>
    <lastmod>2026-03-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/mcp/</loc>
    <lastmod>2026-03-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/node.js/</loc>
    <lastmod>2026-03-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/sqlite/</loc>
    <lastmod>2026-03-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/mcp-introduction/</loc>
    <lastmod>2026-03-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/confluent-kafka-connection-count-spring-boot/</loc>
    <lastmod>2026-03-12T06:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/microservices/</loc>
    <lastmod>2026-03-12T06:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/java25-k8s-jvm-config/</loc>
    <lastmod>2026-03-11T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/kind/</loc>
    <lastmod>2026-03-11T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-boot-3-http2-h2-h2c/</loc>
    <lastmod>2026-03-10T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/anycast/</loc>
    <lastmod>2026-03-09T08:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/cloudflare/</loc>
    <lastmod>2026-03-09T08:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/edge-computing/</loc>
    <lastmod>2026-03-09T08:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cloudflare-anycast-edge-protection-deep-dive/</loc>
    <lastmod>2026-03-09T08:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/security/</loc>
    <lastmod>2026-03-09T08:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/argocd/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/cilium/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/k3s/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/troubleshooting/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/vault/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/tags/zitadel/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cilium-gateway-argocd-dns-recovery/</loc>
    <lastmod>2026-03-08T18:30:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cilium-clustermesh-dual-k3s/</loc>
    <lastmod>2026-03-08T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/clustermesh/</loc>
    <lastmod>2026-03-08T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/multi-cluster/</loc>
    <lastmod>2026-03-08T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/networking/</loc>
    <lastmod>2026-03-08T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/tailscale/</loc>
    <lastmod>2026-03-08T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/gitops/</loc>
    <lastmod>2026-03-07T22:45:00+08:00</lastmod>
  </url><url>
    <loc>/posts/oracle-k3s-cilium-migration/</loc>
    <lastmod>2026-03-07T22:45:00+08:00</lastmod>
  </url><url>
    <loc>/tags/oracle-cloud/</loc>
    <lastmod>2026-03-07T22:45:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ebpf/</loc>
    <lastmod>2026-03-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cilium-migration-on-k3s-homelab/</loc>
    <lastmod>2026-03-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/backup/</loc>
    <lastmod>2026-03-07T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/disaster-recovery/</loc>
    <lastmod>2026-03-07T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/homelab-backup-system-kopia-gitops/</loc>
    <lastmod>2026-03-07T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/kopia/</loc>
    <lastmod>2026-03-07T12:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/java-25/</loc>
    <lastmod>2026-03-06T01:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/singapore-math/</loc>
    <lastmod>2026-03-06T01:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/spring-ai/</loc>
    <lastmod>2026-03-06T01:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-ai-ollama-think-field-bug/</loc>
    <lastmod>2026-03-06T01:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/pgvector/</loc>
    <lastmod>2026-03-05T09:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/rag/</loc>
    <lastmod>2026-03-05T09:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/redis/</loc>
    <lastmod>2026-03-05T09:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/sg-math-tutor-phase2-rag-pgvector/</loc>
    <lastmod>2026-03-05T09:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/structured-concurrency/</loc>
    <lastmod>2026-03-05T07:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/sg-math-tutor-phase1-java25-spring-ai/</loc>
    <lastmod>2026-03-05T07:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/k8s/</loc>
    <lastmod>2026-03-04T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/k8s-cpu-qos-resource-management/</loc>
    <lastmod>2026-03-04T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/self-hosted/</loc>
    <lastmod>2026-03-03T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/url-shortener/</loc>
    <lastmod>2026-03-03T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/workers/</loc>
    <lastmod>2026-03-03T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/wrangler/</loc>
    <lastmod>2026-03-03T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/sink-url-shortener-on-cloudflare-workers/</loc>
    <lastmod>2026-03-03T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/homelab-otel-tracing/</loc>
    <lastmod>2026-03-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/tempo/</loc>
    <lastmod>2026-03-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/tracing/</loc>
    <lastmod>2026-03-01T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/calendar/</loc>
    <lastmod>2026-03-01T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/go/</loc>
    <lastmod>2026-03-01T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ical/</loc>
    <lastmod>2026-03-01T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/privacy/</loc>
    <lastmod>2026-03-01T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/timeslot-calendar-visibility-system/</loc>
    <lastmod>2026-03-01T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/terraform/</loc>
    <lastmod>2026-02-28T23:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/homelab-architecture-overview/</loc>
    <lastmod>2026-02-28T23:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/%E6%9E%B6%E6%9E%84/</loc>
    <lastmod>2026-02-28T23:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/waf/</loc>
    <lastmod>2026-02-28T21:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/cloudflare-waf-for-homelab/</loc>
    <lastmod>2026-02-28T21:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/gotify/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/karakeep/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/miniflux/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/redpanda-connect/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/%E4%BF%A1%E6%81%AF%E7%AE%A1%E9%81%93/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/info-pipeline-miniflux-karakeep-gotify/</loc>
    <lastmod>2026-02-28T18:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/lettuce/</loc>
    <lastmod>2026-02-28T00:45:00+08:00</lastmod>
  </url><url>
    <loc>/tags/reactive/</loc>
    <lastmod>2026-02-28T00:45:00+08:00</lastmod>
  </url><url>
    <loc>/tags/webflux/</loc>
    <lastmod>2026-02-28T00:45:00+08:00</lastmod>
  </url><url>
    <loc>/posts/make-coverage-hang-reactive-redis-sharedlock/</loc>
    <lastmod>2026-02-28T00:45:00+08:00</lastmod>
  </url><url>
    <loc>/tags/gateway-api/</loc>
    <lastmod>2026-02-27T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/oauth2-proxy/</loc>
    <lastmod>2026-02-27T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/sso/</loc>
    <lastmod>2026-02-27T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/traefik/</loc>
    <lastmod>2026-02-27T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/zitadel-sso-on-k3s/</loc>
    <lastmod>2026-02-27T11:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/reactive-cacheable-redis-timeout/</loc>
    <lastmod>2026-02-27T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/spring-webflux/</loc>
    <lastmod>2026-02-27T10:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/microservice-overview/</loc>
    <lastmod>2025-11-30T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/prompt-context/</loc>
    <lastmod>2025-11-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/prompt-template/</loc>
    <lastmod>2025-11-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-ai-revise-response-generation/</loc>
    <lastmod>2025-11-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-ai-prompt-template/</loc>
    <lastmod>2025-11-21T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/model-evaluation/</loc>
    <lastmod>2025-11-17T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-ai-model-evaluation/</loc>
    <lastmod>2025-11-17T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-ai-chatclient-with-openai-gemini/</loc>
    <lastmod>2025-11-16T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/environment-variable/</loc>
    <lastmod>2025-11-13T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/envsubst/</loc>
    <lastmod>2025-11-13T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/envsubst-replace-env-var-in-application-yaml/</loc>
    <lastmod>2025-11-13T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/code-generator/</loc>
    <lastmod>2025-11-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/spring-initializr/</loc>
    <lastmod>2025-11-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/custom-spring-initializr/</loc>
    <lastmod>2025-11-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/graceful-shutdown/</loc>
    <lastmod>2025-10-29T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/graceful-shutdown-for-springboot3-in-k8s/</loc>
    <lastmod>2025-10-29T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/metrics/</loc>
    <lastmod>2025-10-26T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/prometheus-stack-service-monitor-troubleshooting/</loc>
    <lastmod>2025-10-26T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/prometheus-stack/</loc>
    <lastmod>2025-10-26T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/servicemonitor/</loc>
    <lastmod>2025-10-26T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/helm/</loc>
    <lastmod>2025-10-25T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/microk8s/</loc>
    <lastmod>2025-10-25T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/homelab-obervabiity-with-helm/</loc>
    <lastmod>2025-10-25T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/route/</loc>
    <lastmod>2025-10-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/setup-k8s-cluster-with-terraform-and-ansible/</loc>
    <lastmod>2025-10-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/tailscale-route-setting/</loc>
    <lastmod>2025-10-22T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/terraform-create-vm-for-proxmox/</loc>
    <lastmod>2025-10-20T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/debian13/</loc>
    <lastmod>2025-10-19T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/laptop/</loc>
    <lastmod>2025-10-19T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/laptop-homelab-settings/</loc>
    <lastmod>2025-10-19T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/proxmox-wifi-issue/</loc>
    <lastmod>2025-10-18T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/wifi/</loc>
    <lastmod>2025-10-18T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/webflux-oom/</loc>
    <lastmod>2025-09-24T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/spring-boot-integration-test-optimization/</loc>
    <lastmod>2025-01-24T15:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/testcontainers/</loc>
    <lastmod>2025-01-24T15:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/testing/</loc>
    <lastmod>2025-01-24T15:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/data-structure/</loc>
    <lastmod>2024-09-20T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/log-structured-merge-tree/</loc>
    <lastmod>2024-09-20T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/storage/</loc>
    <lastmod>2024-09-20T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/cicd/</loc>
    <lastmod>2024-08-13T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/shipwright-build-image-and-publish/</loc>
    <lastmod>2024-08-13T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/tools/</loc>
    <lastmod>2024-08-09T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/writing/</loc>
    <lastmod>2024-08-09T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/tags/ddia/</loc>
    <lastmod>2024-08-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/reading/ddia/storage-and-retrieval/</loc>
    <lastmod>2024-08-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/reading/</loc>
    <lastmod>2024-08-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/misc/</loc>
    <lastmod>2024-07-31T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/process/</loc>
    <lastmod>2024-07-31T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/different-doc-types/</loc>
    <lastmod>2024-07-30T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/posts/network-issues-about-microk8s-on-my-vps/</loc>
    <lastmod>2024-07-29T00:00:00+08:00</lastmod>
  </url><url>
    <loc>/portfolio/shopee/go_application_server/</loc>
    <lastmod>2024-07-25T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/shopee/spkit/</loc>
    <lastmod>2024-07-25T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/shopee/go_governance/</loc>
    <lastmod>2024-07-22T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/</loc>
    <lastmod>2024-07-19T20:29:37-07:00</lastmod>
  </url><url>
    <loc>/tags/cloudflare-tunnel/</loc>
    <lastmod>2024-07-10T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/homelab-docker-to-k8s/</loc>
    <lastmod>2024-07-10T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/java21/</loc>
    <lastmod>2024-07-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/reading/netflix/java21-virtual-threads-where-is-my-lock/</loc>
    <lastmod>2024-07-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/netflix/</loc>
    <lastmod>2024-07-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/springboot3/</loc>
    <lastmod>2024-07-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/portfolio/swiftpass/clearing_settlement_system/</loc>
    <lastmod>2024-05-25T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/portfolio/freelancer/app_integration/</loc>
    <lastmod>2024-05-25T00:00:00+00:00</lastmod>
  </url><url>
    <loc>/tags/go1.21/</loc>
    <lastmod>2023-11-05T19:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/golang/</loc>
    <lastmod>2023-11-05T19:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-maps/</loc>
    <lastmod>2023-11-05T19:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-slices/</loc>
    <lastmod>2023-11-05T15:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-forward-compatibility/</loc>
    <lastmod>2023-11-04T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-backward-compatibility/</loc>
    <lastmod>2023-11-04T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-language-changes/</loc>
    <lastmod>2023-11-03T18:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/generics/</loc>
    <lastmod>2023-11-02T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-generics-type-inference/</loc>
    <lastmod>2023-11-02T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-deconstructing-type-parameters/</loc>
    <lastmod>2023-11-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.21-pkg-init/</loc>
    <lastmod>2023-10-30T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/go1.20/</loc>
    <lastmod>2023-10-13T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.20-stdlibs-multi-errors/</loc>
    <lastmod>2023-10-13T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.20-stdlibs-arena/</loc>
    <lastmod>2023-10-11T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/posts/golang-1.20-language-changes/</loc>
    <lastmod>2023-10-01T10:38:32+08:00</lastmod>
  </url><url>
    <loc>/tags/about/</loc>
  </url><url>
    <loc>/about/</loc>
  </url><url>
    <loc>/categories/</loc>
  </url><url>
    <loc>/tags/http/2/</loc>
  </url><url>
    <loc>/tags/presentation/</loc>
  </url><url>
    <loc>/resume/</loc>
  </url><url>
    <loc>/tags/talk/</loc>
  </url><url>
    <loc>/talk/</loc>
  </url><url>
    <loc>/timeslot/</loc>
  </url>
</urlset>
