<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://codingstairs.duckdns.org/</loc>
<priority>1</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes</loc>
<priority>0.9</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu</loc>
<priority>0.9</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/life</loc>
<priority>0.9</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary</loc>
<priority>0.8</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/contact</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/legal</loc>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en</loc>
<priority>0.9</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes</loc>
<priority>0.8</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu</loc>
<priority>0.8</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/life</loc>
<priority>0.8</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/contact</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/legal</loc>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/19-webrtc-cost-gated-voice-review</loc>
<lastmod>2026-08-12T13:52:15.865Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/18-grpc-voice-boundary</loc>
<lastmod>2026-08-12T13:52:15.857Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/17-scheduler-result-contract</loc>
<lastmod>2026-08-12T13:52:15.847Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/16-request-id-and-kafka</loc>
<lastmod>2026-08-12T13:52:15.838Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/19-complete-member-set-upsert</loc>
<lastmod>2026-08-12T13:52:15.415Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/18-trigram-search-index</loc>
<lastmod>2026-08-12T13:52:15.402Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/17-rag-completed-file-boundary</loc>
<lastmod>2026-08-12T13:52:15.393Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/18-tauri-capability-boundary</loc>
<lastmod>2026-08-12T13:52:15.054Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/10-capability-readiness</loc>
<lastmod>2026-08-12T13:52:14.840Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/09-red-metrics-and-slo</loc>
<lastmod>2026-08-12T13:52:14.828Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/08-compose-readiness-rollback</loc>
<lastmod>2026-08-12T13:52:14.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/11-fail-closed-migration-replay</loc>
<lastmod>2026-08-12T13:52:14.321Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/10-cms-static-build-contract</loc>
<lastmod>2026-08-12T13:52:14.310Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/09-admin-init-advisory-lock</loc>
<lastmod>2026-08-12T13:52:14.299Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/08-release-smoke-rollback</loc>
<lastmod>2026-08-12T13:52:14.289Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/09-upload-signature-atomicity</loc>
<lastmod>2026-08-12T13:52:14.195Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/16-idempotent-migration-recovery</loc>
<lastmod>2026-08-12T13:52:15.383Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/07-acceptance-evidence</loc>
<lastmod>2026-08-12T13:52:14.277Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/17-content-continuity-ux</loc>
<lastmod>2026-08-12T13:52:15.044Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/15-public-api-as-bff</loc>
<lastmod>2026-08-12T13:52:15.830Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/22-metadata-template-single-source</loc>
<lastmod>2026-08-12T13:52:15.686Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/15-seed-from-monorepo-root</loc>
<lastmod>2026-08-12T13:52:15.371Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/16-dashboard-widget-uniformity</loc>
<lastmod>2026-08-12T13:52:15.032Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/08-public-route-whitelist</loc>
<lastmod>2026-08-12T13:52:14.185Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/14-email-otp</loc>
<lastmod>2026-08-12T13:52:15.816Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/14-supabase-storage</loc>
<lastmod>2026-08-12T13:52:15.358Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/13-kafka-topics</loc>
<lastmod>2026-08-12T13:52:15.345Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/15-google-stitch</loc>
<lastmod>2026-08-12T13:52:16.105Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/09-notebooklm</loc>
<lastmod>2026-08-12T13:52:15.957Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-08-12T13:52:16.093Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-08-12T13:52:15.948Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/21-github-pages</loc>
<lastmod>2026-08-12T13:52:15.676Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/20-replit</loc>
<lastmod>2026-08-12T13:52:15.666Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-08-12T13:52:15.806Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-08-12T13:52:15.333Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-08-12T13:52:15.021Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-08-12T13:52:14.267Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-08-12T13:52:14.174Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-08-12T17:11:05.389Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/04-gemini-api</loc>
<lastmod>2026-08-12T16:19:49.877Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-08-12T15:28:01.388Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/07-markdown</loc>
<lastmod>2026-08-12T14:00:54.879Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-08-12T13:52:16.083Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-08-12T13:52:16.072Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-08-12T13:52:16.058Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-08-12T13:52:16.049Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-08-12T13:52:16.041Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-08-12T13:52:16.032Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-08-12T13:52:16.022Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-08-12T13:52:16.012Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-08-12T13:52:16.002Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-08-12T13:52:15.993Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-08-12T13:52:15.984Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-08-12T13:52:15.975Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-08-12T13:52:15.966Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/07-llm-landscape</loc>
<lastmod>2026-08-12T13:52:15.938Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/06-agents-overview</loc>
<lastmod>2026-08-12T13:52:15.928Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-08-12T13:52:15.918Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/03-prompt-design</loc>
<lastmod>2026-08-12T13:52:15.899Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-08-12T13:52:15.888Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-08-12T13:52:15.875Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/12-websocket-sse</loc>
<lastmod>2026-08-12T13:52:15.798Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-08-12T13:52:15.788Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/10-openapi-spec</loc>
<lastmod>2026-08-12T13:52:15.779Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-08-12T13:52:15.769Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-08-12T13:52:15.761Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-08-12T13:52:15.751Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-08-12T13:52:15.742Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-08-12T13:52:15.733Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-08-12T13:52:15.723Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-08-12T13:52:15.714Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-08-12T13:52:15.705Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-08-12T13:52:15.696Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-08-12T13:52:15.657Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-08-12T13:52:15.644Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-08-12T13:52:15.633Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-08-12T13:52:15.621Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-08-12T13:52:15.608Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/14-load-balancers</loc>
<lastmod>2026-08-12T13:52:15.597Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/13-route53</loc>
<lastmod>2026-08-12T13:52:15.587Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/12-lambda</loc>
<lastmod>2026-08-12T13:52:15.577Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/11-cloudfront</loc>
<lastmod>2026-08-12T13:52:15.566Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/10-rds</loc>
<lastmod>2026-08-12T13:52:15.556Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/09-s3</loc>
<lastmod>2026-08-12T13:52:15.538Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/08-iam</loc>
<lastmod>2026-08-12T13:52:15.527Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/07-flyio</loc>
<lastmod>2026-08-12T13:52:15.516Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/06-deploying-options</loc>
<lastmod>2026-08-12T13:52:15.504Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/05-ec2</loc>
<lastmod>2026-08-12T13:52:15.493Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/04-security-group</loc>
<lastmod>2026-08-12T13:52:15.479Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-08-12T13:52:15.459Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-08-12T13:52:15.445Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/01-aws-overview</loc>
<lastmod>2026-08-12T13:52:15.426Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/11-backup-restore</loc>
<lastmod>2026-08-12T13:52:15.324Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/10-image-pipeline</loc>
<lastmod>2026-08-12T13:52:15.313Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/09-fcm-push</loc>
<lastmod>2026-08-12T13:52:15.302Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/08-supabase</loc>
<lastmod>2026-08-12T13:52:15.290Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/07-pgvector-rag</loc>
<lastmod>2026-08-12T13:52:15.279Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/06-kafka-when</loc>
<lastmod>2026-08-12T13:52:15.270Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/05-data-pipeline</loc>
<lastmod>2026-08-12T13:52:15.260Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/04-redis-roles</loc>
<lastmod>2026-08-12T13:52:15.249Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/03-three-layer-cache</loc>
<lastmod>2026-08-12T13:52:15.239Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/02-postgres-deep</loc>
<lastmod>2026-08-12T13:52:15.227Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/01-postgres-first</loc>
<lastmod>2026-08-12T13:52:15.217Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/00-sql-basics</loc>
<lastmod>2026-08-12T13:52:15.206Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/11-wsl2</loc>
<lastmod>2026-08-12T13:52:15.192Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/10-data-formats</loc>
<lastmod>2026-08-12T13:52:15.180Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-08-12T13:52:15.169Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-08-12T13:52:15.157Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-08-12T13:52:15.128Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-08-12T13:52:15.116Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/04-powershell-basics</loc>
<lastmod>2026-08-12T13:52:15.102Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-08-12T13:52:15.088Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/02-shells-overview</loc>
<lastmod>2026-08-12T13:52:15.077Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/14-loading-ux</loc>
<lastmod>2026-08-12T13:52:15.009Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/13-native-integrations</loc>
<lastmod>2026-08-12T13:52:14.997Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-08-12T13:52:14.984Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-08-12T13:52:14.971Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-08-12T13:52:14.959Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/09-bundlers</loc>
<lastmod>2026-08-12T13:52:14.945Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/08-forms-zod</loc>
<lastmod>2026-08-12T13:52:14.934Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-08-12T13:52:14.923Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-08-12T13:52:14.909Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-08-12T13:52:14.897Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-08-12T13:52:14.885Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-08-12T13:52:14.874Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-08-12T13:52:14.852Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-08-12T13:52:14.804Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-08-12T13:52:14.791Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-08-12T13:52:14.778Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-08-12T13:52:14.765Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-08-12T13:52:14.752Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-08-12T13:52:14.738Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/01-docker-basics</loc>
<lastmod>2026-08-12T13:52:14.727Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-08-12T13:52:14.716Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/03-python-async</loc>
<lastmod>2026-08-12T13:52:14.703Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/02-java21-modern</loc>
<lastmod>2026-08-12T13:52:14.692Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/01-typescript-strict</loc>
<lastmod>2026-08-12T13:52:14.679Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-08-12T13:52:14.666Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-08-12T13:52:14.654Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/03-how-to-ask-good-questions</loc>
<lastmod>2026-08-12T13:52:14.635Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-08-12T13:52:14.622Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/01-how-to-search</loc>
<lastmod>2026-08-12T13:52:14.609Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/00-getting-started</loc>
<lastmod>2026-08-12T13:52:14.596Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/04-ios-build</loc>
<lastmod>2026-08-12T13:52:14.572Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-08-12T13:52:14.555Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-08-12T13:52:14.535Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-08-12T13:52:14.518Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-08-12T13:52:14.503Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-08-12T13:52:14.491Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-08-12T13:52:14.478Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/07-korean-first</loc>
<lastmod>2026-08-12T13:52:14.466Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/06-docs-for-agent-and-human</loc>
<lastmod>2026-08-12T13:52:14.456Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-08-12T13:52:14.442Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-08-12T13:52:14.429Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-08-12T13:52:14.417Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-08-12T13:52:14.404Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-08-12T13:52:14.392Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-08-12T13:52:14.377Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/03-design-patterns</loc>
<lastmod>2026-08-12T13:52:14.365Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/02-big-o</loc>
<lastmod>2026-08-12T13:52:14.350Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/01-data-structures</loc>
<lastmod>2026-08-12T13:52:14.334Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-08-12T13:52:14.256Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/04-github-actions</loc>
<lastmod>2026-08-12T13:52:14.245Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/03-observability-minimal</loc>
<lastmod>2026-08-12T13:52:14.235Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-08-12T13:52:14.224Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/01-testcontainers</loc>
<lastmod>2026-08-12T13:52:14.212Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/06-headers-and-cors</loc>
<lastmod>2026-08-12T13:52:14.161Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/05-password-hashing</loc>
<lastmod>2026-08-12T13:52:14.150Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/04-input-validation-zod</loc>
<lastmod>2026-08-12T13:52:14.137Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-08-12T13:52:14.123Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-08-12T13:52:14.112Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/01-jwt-rotation</loc>
<lastmod>2026-08-12T13:52:14.099Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-08-12T13:52:14.087Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/11-regex</loc>
<lastmod>2026-08-12T13:52:14.075Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-08-12T13:52:14.062Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/09-linting-formatting</loc>
<lastmod>2026-08-12T13:52:14.049Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/08-editor-setup</loc>
<lastmod>2026-08-12T13:52:14.035Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/07-gradle</loc>
<lastmod>2026-08-12T13:52:14.024Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/06-git-workflow</loc>
<lastmod>2026-08-12T13:52:14.013Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/05-version-managers</loc>
<lastmod>2026-08-12T13:52:14.002Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-08-12T13:52:13.988Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/03-python-uv</loc>
<lastmod>2026-08-12T13:52:13.968Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/02-monorepo-light</loc>
<lastmod>2026-08-12T13:52:13.954Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/01-pnpm</loc>
<lastmod>2026-08-12T13:52:13.939Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-08-12T13:52:13.928Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/06-internet-how-it-works</loc>
<lastmod>2026-08-12T13:52:13.916Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-08-12T13:52:13.900Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-08-12T13:52:13.886Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-08-12T13:52:13.870Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/02-css</loc>
<lastmod>2026-08-12T13:52:13.859Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/01-html</loc>
<lastmod>2026-08-12T13:52:13.842Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/19-webrtc-cost-gated-voice-review</loc>
<lastmod>2026-08-12T13:52:15.861Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/18-grpc-voice-boundary</loc>
<lastmod>2026-08-12T13:52:15.852Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/17-scheduler-result-contract</loc>
<lastmod>2026-08-12T13:52:15.842Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/16-request-id-and-kafka</loc>
<lastmod>2026-08-12T13:52:15.834Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/19-complete-member-set-upsert</loc>
<lastmod>2026-08-12T13:52:15.406Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/18-trigram-search-index</loc>
<lastmod>2026-08-12T13:52:15.397Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/17-rag-completed-file-boundary</loc>
<lastmod>2026-08-12T13:52:15.389Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/18-tauri-capability-boundary</loc>
<lastmod>2026-08-12T13:52:15.048Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/10-capability-readiness</loc>
<lastmod>2026-08-12T13:52:14.835Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/09-red-metrics-and-slo</loc>
<lastmod>2026-08-12T13:52:14.822Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/08-compose-readiness-rollback</loc>
<lastmod>2026-08-12T13:52:14.809Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/11-fail-closed-migration-replay</loc>
<lastmod>2026-08-12T13:52:14.315Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/10-cms-static-build-contract</loc>
<lastmod>2026-08-12T13:52:14.304Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/09-admin-init-advisory-lock</loc>
<lastmod>2026-08-12T13:52:14.294Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/08-release-smoke-rollback</loc>
<lastmod>2026-08-12T13:52:14.284Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/09-upload-signature-atomicity</loc>
<lastmod>2026-08-12T13:52:14.191Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/16-idempotent-migration-recovery</loc>
<lastmod>2026-08-12T13:52:15.376Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/07-acceptance-evidence</loc>
<lastmod>2026-08-12T13:52:14.272Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/17-content-continuity-ux</loc>
<lastmod>2026-08-12T13:52:15.038Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/15-public-api-as-bff</loc>
<lastmod>2026-08-12T13:52:15.825Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/22-metadata-template-single-source</loc>
<lastmod>2026-08-12T13:52:15.682Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/15-seed-from-monorepo-root</loc>
<lastmod>2026-08-12T13:52:15.365Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/16-dashboard-widget-uniformity</loc>
<lastmod>2026-08-12T13:52:15.026Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/08-public-route-whitelist</loc>
<lastmod>2026-08-12T13:52:14.179Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/14-email-otp</loc>
<lastmod>2026-08-12T13:52:15.811Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/14-supabase-storage</loc>
<lastmod>2026-08-12T13:52:15.352Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/13-kafka-topics</loc>
<lastmod>2026-08-12T13:52:15.339Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/09-notebooklm</loc>
<lastmod>2026-08-12T18:05:23.498Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/15-google-stitch</loc>
<lastmod>2026-08-12T13:52:16.099Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-08-12T13:52:16.089Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-08-12T13:52:15.942Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/21-github-pages</loc>
<lastmod>2026-08-12T13:52:15.671Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/20-replit</loc>
<lastmod>2026-08-12T13:52:15.661Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-08-12T13:52:15.802Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-08-12T13:52:15.329Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-08-12T13:52:15.015Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-08-12T13:52:14.263Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-08-12T13:52:14.167Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/05-version-managers</loc>
<lastmod>2026-08-12T16:19:20.477Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/04-github-actions</loc>
<lastmod>2026-08-12T15:52:30.982Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/12-websocket-sse</loc>
<lastmod>2026-08-12T15:04:11.374Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-08-12T13:52:16.078Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-08-12T13:52:16.066Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-08-12T13:52:16.055Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-08-12T13:52:16.046Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-08-12T13:52:16.036Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-08-12T13:52:16.027Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-08-12T13:52:16.016Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-08-12T13:52:16.007Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-08-12T13:52:15.998Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-08-12T13:52:15.989Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-08-12T13:52:15.979Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-08-12T13:52:15.970Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-08-12T13:52:15.961Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/07-llm-landscape</loc>
<lastmod>2026-08-12T13:52:15.933Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/06-agents-overview</loc>
<lastmod>2026-08-12T13:52:15.922Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-08-12T13:52:15.913Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/04-gemini-api</loc>
<lastmod>2026-08-12T13:52:15.904Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/03-prompt-design</loc>
<lastmod>2026-08-12T13:52:15.893Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-08-12T13:52:15.883Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-08-12T13:52:15.870Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-08-12T13:52:15.783Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/10-openapi-spec</loc>
<lastmod>2026-08-12T13:52:15.774Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-08-12T13:52:15.764Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-08-12T13:52:15.755Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-08-12T13:52:15.746Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-08-12T13:52:15.738Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-08-12T13:52:15.728Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-08-12T13:52:15.719Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-08-12T13:52:15.709Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-08-12T13:52:15.700Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-08-12T13:52:15.690Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-08-12T13:52:15.650Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-08-12T13:52:15.638Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-08-12T13:52:15.627Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-08-12T13:52:15.613Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-08-12T13:52:15.603Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/14-load-balancers</loc>
<lastmod>2026-08-12T13:52:15.592Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/13-route53</loc>
<lastmod>2026-08-12T13:52:15.582Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/12-lambda</loc>
<lastmod>2026-08-12T13:52:15.571Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/11-cloudfront</loc>
<lastmod>2026-08-12T13:52:15.561Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/10-rds</loc>
<lastmod>2026-08-12T13:52:15.549Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/09-s3</loc>
<lastmod>2026-08-12T13:52:15.532Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/08-iam</loc>
<lastmod>2026-08-12T13:52:15.521Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/07-flyio</loc>
<lastmod>2026-08-12T13:52:15.510Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/06-deploying-options</loc>
<lastmod>2026-08-12T13:52:15.499Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/05-ec2</loc>
<lastmod>2026-08-12T13:52:15.485Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/04-security-group</loc>
<lastmod>2026-08-12T13:52:15.466Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-08-12T13:52:15.452Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-08-12T13:52:15.437Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/01-aws-overview</loc>
<lastmod>2026-08-12T13:52:15.420Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/11-backup-restore</loc>
<lastmod>2026-08-12T13:52:15.319Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/10-image-pipeline</loc>
<lastmod>2026-08-12T13:52:15.307Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/09-fcm-push</loc>
<lastmod>2026-08-12T13:52:15.295Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/08-supabase</loc>
<lastmod>2026-08-12T13:52:15.285Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/07-pgvector-rag</loc>
<lastmod>2026-08-12T13:52:15.274Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/06-kafka-when</loc>
<lastmod>2026-08-12T13:52:15.264Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/05-data-pipeline</loc>
<lastmod>2026-08-12T13:52:15.255Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/04-redis-roles</loc>
<lastmod>2026-08-12T13:52:15.243Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/03-three-layer-cache</loc>
<lastmod>2026-08-12T13:52:15.233Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/02-postgres-deep</loc>
<lastmod>2026-08-12T13:52:15.222Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/01-postgres-first</loc>
<lastmod>2026-08-12T13:52:15.212Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/00-sql-basics</loc>
<lastmod>2026-08-12T13:52:15.197Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/11-wsl2</loc>
<lastmod>2026-08-12T13:52:15.185Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/10-data-formats</loc>
<lastmod>2026-08-12T13:52:15.175Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-08-12T13:52:15.163Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-08-12T13:52:15.145Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/07-markdown</loc>
<lastmod>2026-08-12T13:52:15.134Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-08-12T13:52:15.122Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-08-12T13:52:15.108Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/04-powershell-basics</loc>
<lastmod>2026-08-12T13:52:15.095Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-08-12T13:52:15.083Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/02-shells-overview</loc>
<lastmod>2026-08-12T13:52:15.072Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-08-12T13:52:15.061Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/14-loading-ux</loc>
<lastmod>2026-08-12T13:52:15.004Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/13-native-integrations</loc>
<lastmod>2026-08-12T13:52:14.990Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-08-12T13:52:14.978Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-08-12T13:52:14.965Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-08-12T13:52:14.953Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/09-bundlers</loc>
<lastmod>2026-08-12T13:52:14.940Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/08-forms-zod</loc>
<lastmod>2026-08-12T13:52:14.928Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-08-12T13:52:14.915Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-08-12T13:52:14.903Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-08-12T13:52:14.890Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-08-12T13:52:14.880Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-08-12T13:52:14.868Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-08-12T13:52:14.857Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-08-12T13:52:14.845Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-08-12T13:52:14.798Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-08-12T13:52:14.785Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-08-12T13:52:14.771Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-08-12T13:52:14.760Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-08-12T13:52:14.746Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-08-12T13:52:14.733Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/01-docker-basics</loc>
<lastmod>2026-08-12T13:52:14.722Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-08-12T13:52:14.710Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/03-python-async</loc>
<lastmod>2026-08-12T13:52:14.697Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/02-java21-modern</loc>
<lastmod>2026-08-12T13:52:14.685Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/01-typescript-strict</loc>
<lastmod>2026-08-12T13:52:14.672Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-08-12T13:52:14.660Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-08-12T13:52:14.646Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/03-how-to-ask-good-questions</loc>
<lastmod>2026-08-12T13:52:14.629Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-08-12T13:52:14.616Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/01-how-to-search</loc>
<lastmod>2026-08-12T13:52:14.602Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/00-getting-started</loc>
<lastmod>2026-08-12T13:52:14.579Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/04-ios-build</loc>
<lastmod>2026-08-12T13:52:14.563Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-08-12T13:52:14.544Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-08-12T13:52:14.528Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-08-12T13:52:14.510Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-08-12T13:52:14.497Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-08-12T13:52:14.484Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-08-12T13:52:14.473Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/07-korean-first</loc>
<lastmod>2026-08-12T13:52:14.462Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/06-docs-for-agent-and-human</loc>
<lastmod>2026-08-12T13:52:14.449Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-08-12T13:52:14.436Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-08-12T13:52:14.423Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-08-12T13:52:14.411Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-08-12T13:52:14.397Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-08-12T13:52:14.386Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-08-12T13:52:14.371Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/03-design-patterns</loc>
<lastmod>2026-08-12T13:52:14.358Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/02-big-o</loc>
<lastmod>2026-08-12T13:52:14.342Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/01-data-structures</loc>
<lastmod>2026-08-12T13:52:14.326Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-08-12T13:52:14.250Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/03-observability-minimal</loc>
<lastmod>2026-08-12T13:52:14.229Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-08-12T13:52:14.217Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/01-testcontainers</loc>
<lastmod>2026-08-12T13:52:14.204Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/06-headers-and-cors</loc>
<lastmod>2026-08-12T13:52:14.156Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/05-password-hashing</loc>
<lastmod>2026-08-12T13:52:14.142Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/04-input-validation-zod</loc>
<lastmod>2026-08-12T13:52:14.130Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-08-12T13:52:14.117Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-08-12T13:52:14.105Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/01-jwt-rotation</loc>
<lastmod>2026-08-12T13:52:14.092Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-08-12T13:52:14.081Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/11-regex</loc>
<lastmod>2026-08-12T13:52:14.068Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-08-12T13:52:14.056Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/09-linting-formatting</loc>
<lastmod>2026-08-12T13:52:14.041Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/08-editor-setup</loc>
<lastmod>2026-08-12T13:52:14.030Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/07-gradle</loc>
<lastmod>2026-08-12T13:52:14.018Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/06-git-workflow</loc>
<lastmod>2026-08-12T13:52:14.008Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-08-12T13:52:13.982Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/03-python-uv</loc>
<lastmod>2026-08-12T13:52:13.962Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/02-monorepo-light</loc>
<lastmod>2026-08-12T13:52:13.946Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/01-pnpm</loc>
<lastmod>2026-08-12T13:52:13.934Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-08-12T13:52:13.921Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/06-internet-how-it-works</loc>
<lastmod>2026-08-12T13:52:13.908Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-08-12T13:52:13.893Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-08-12T13:52:13.878Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-08-12T13:52:13.865Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/02-css</loc>
<lastmod>2026-08-12T13:52:13.853Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/01-html</loc>
<lastmod>2026-08-12T13:52:13.812Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/1</loc>
<lastmod>2026-08-12T22:33:58.587Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/2</loc>
<lastmod>2026-08-12T22:33:58.601Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/3</loc>
<lastmod>2026-08-12T22:33:58.616Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/4</loc>
<lastmod>2026-08-12T22:33:58.630Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/5</loc>
<lastmod>2026-08-12T22:33:58.641Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/6</loc>
<lastmod>2026-08-12T22:33:58.652Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/7</loc>
<lastmod>2026-08-12T22:33:58.661Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/8</loc>
<lastmod>2026-08-12T22:33:58.670Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/9</loc>
<lastmod>2026-08-12T22:33:58.682Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/10</loc>
<lastmod>2026-08-12T22:33:58.694Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/11</loc>
<lastmod>2026-08-12T22:33:58.706Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/12</loc>
<lastmod>2026-08-12T22:33:58.720Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/13</loc>
<lastmod>2026-08-12T22:33:58.736Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/14</loc>
<lastmod>2026-08-12T22:33:58.753Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/1</loc>
<lastmod>2026-08-12T22:33:58.205Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/2</loc>
<lastmod>2026-08-12T22:33:58.223Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/3</loc>
<lastmod>2026-08-12T22:33:58.245Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/4</loc>
<lastmod>2026-08-12T22:33:58.260Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/5</loc>
<lastmod>2026-08-12T22:33:58.277Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/1</loc>
<lastmod>2026-08-12T22:33:57.964Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/2</loc>
<lastmod>2026-08-12T22:33:57.983Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/3</loc>
<lastmod>2026-08-12T22:33:57.999Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/4</loc>
<lastmod>2026-08-12T22:33:58.027Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/5</loc>
<lastmod>2026-08-12T22:33:58.042Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/6</loc>
<lastmod>2026-08-12T22:33:58.057Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/7</loc>
<lastmod>2026-08-12T22:33:58.071Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/8</loc>
<lastmod>2026-08-12T22:33:58.085Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/9</loc>
<lastmod>2026-08-12T22:33:58.116Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/10</loc>
<lastmod>2026-08-12T22:33:58.140Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/11</loc>
<lastmod>2026-08-12T22:33:58.161Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/12</loc>
<lastmod>2026-08-12T22:33:58.177Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/1</loc>
<lastmod>2026-08-12T22:33:58.471Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/2</loc>
<lastmod>2026-08-12T22:33:58.492Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/3</loc>
<lastmod>2026-08-12T22:33:58.522Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/4</loc>
<lastmod>2026-08-12T22:33:58.558Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/1</loc>
<lastmod>2026-08-12T22:33:57.216Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/2</loc>
<lastmod>2026-08-12T22:33:57.232Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/3</loc>
<lastmod>2026-08-12T22:33:57.246Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/4</loc>
<lastmod>2026-08-12T22:33:57.263Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/5</loc>
<lastmod>2026-08-12T22:33:57.282Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/6</loc>
<lastmod>2026-08-12T22:33:57.295Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/7</loc>
<lastmod>2026-08-12T22:33:57.316Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/8</loc>
<lastmod>2026-08-12T22:33:57.367Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/1</loc>
<lastmod>2026-08-12T22:33:58.785Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/2</loc>
<lastmod>2026-08-12T22:33:58.800Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/3</loc>
<lastmod>2026-08-12T22:33:58.816Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/4</loc>
<lastmod>2026-08-12T22:33:58.829Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/5</loc>
<lastmod>2026-08-12T22:33:58.844Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/6</loc>
<lastmod>2026-08-12T22:33:58.859Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/7</loc>
<lastmod>2026-08-12T22:33:58.886Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/8</loc>
<lastmod>2026-08-12T22:33:58.907Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/1</loc>
<lastmod>2026-08-12T22:33:56.949Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/2</loc>
<lastmod>2026-08-12T22:33:56.966Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/3</loc>
<lastmod>2026-08-12T22:33:56.984Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/4</loc>
<lastmod>2026-08-12T22:33:57.001Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/5</loc>
<lastmod>2026-08-12T22:33:57.016Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/6</loc>
<lastmod>2026-08-12T22:33:57.033Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/7</loc>
<lastmod>2026-08-12T22:33:57.053Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/1</loc>
<lastmod>2026-08-12T22:33:57.755Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/2</loc>
<lastmod>2026-08-12T22:33:57.781Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/3</loc>
<lastmod>2026-08-12T22:33:57.797Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/4</loc>
<lastmod>2026-08-12T22:33:57.815Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/5</loc>
<lastmod>2026-08-12T22:33:57.831Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/6</loc>
<lastmod>2026-08-12T22:33:57.849Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/7</loc>
<lastmod>2026-08-12T22:33:57.866Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/8</loc>
<lastmod>2026-08-12T22:33:57.887Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/9</loc>
<lastmod>2026-08-12T22:33:57.908Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/10</loc>
<lastmod>2026-08-12T22:33:57.930Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/1</loc>
<lastmod>2026-08-12T22:33:56.735Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/2</loc>
<lastmod>2026-08-12T22:33:56.757Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/3</loc>
<lastmod>2026-08-12T22:33:56.784Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/4</loc>
<lastmod>2026-08-12T22:33:56.813Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/5</loc>
<lastmod>2026-08-12T22:33:56.834Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/6</loc>
<lastmod>2026-08-12T22:33:56.863Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/7</loc>
<lastmod>2026-08-12T22:33:56.887Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/8</loc>
<lastmod>2026-08-12T22:33:56.910Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/1</loc>
<lastmod>2026-08-12T22:33:58.315Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/2</loc>
<lastmod>2026-08-12T22:33:58.330Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/3</loc>
<lastmod>2026-08-12T22:33:58.346Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/4</loc>
<lastmod>2026-08-12T22:33:58.368Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/5</loc>
<lastmod>2026-08-12T22:33:58.385Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/6</loc>
<lastmod>2026-08-12T22:33:58.400Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/7</loc>
<lastmod>2026-08-12T22:33:58.419Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/8</loc>
<lastmod>2026-08-12T22:33:58.436Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/1</loc>
<lastmod>2026-08-12T22:33:59.363Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-08-12T22:33:59.374Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-08-12T22:33:59.389Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-08-12T22:33:59.402Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-08-12T22:33:59.414Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-08-12T22:33:59.425Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-08-12T22:33:59.437Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/1</loc>
<lastmod>2026-08-12T22:33:58.942Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/2</loc>
<lastmod>2026-08-12T22:33:58.959Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/3</loc>
<lastmod>2026-08-12T22:33:58.974Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/4</loc>
<lastmod>2026-08-12T22:33:58.989Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/5</loc>
<lastmod>2026-08-12T22:33:59.003Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/6</loc>
<lastmod>2026-08-12T22:33:59.018Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/7</loc>
<lastmod>2026-08-12T22:33:59.030Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/8</loc>
<lastmod>2026-08-12T22:33:59.043Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/1</loc>
<lastmod>2026-08-12T22:33:59.068Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/2</loc>
<lastmod>2026-08-12T22:33:59.261Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/3</loc>
<lastmod>2026-08-12T22:33:59.272Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/4</loc>
<lastmod>2026-08-12T22:33:59.284Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/5</loc>
<lastmod>2026-08-12T22:33:59.297Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/6</loc>
<lastmod>2026-08-12T22:33:59.310Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/7</loc>
<lastmod>2026-08-12T22:33:59.325Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/8</loc>
<lastmod>2026-08-12T22:33:59.337Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/1</loc>
<lastmod>2026-08-12T22:33:57.532Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/2</loc>
<lastmod>2026-08-12T22:33:57.551Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/3</loc>
<lastmod>2026-08-12T22:33:57.569Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/4</loc>
<lastmod>2026-08-12T22:33:57.585Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/5</loc>
<lastmod>2026-08-12T22:33:57.603Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/6</loc>
<lastmod>2026-08-12T22:33:57.628Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/7</loc>
<lastmod>2026-08-12T22:33:57.645Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/8</loc>
<lastmod>2026-08-12T22:33:57.662Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/9</loc>
<lastmod>2026-08-12T22:33:57.684Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/10</loc>
<lastmod>2026-08-12T22:33:57.711Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/1</loc>
<lastmod>2026-08-12T22:33:57.399Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/2</loc>
<lastmod>2026-08-12T22:33:57.419Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/3</loc>
<lastmod>2026-08-12T22:33:57.436Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/4</loc>
<lastmod>2026-08-12T22:33:57.455Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/5</loc>
<lastmod>2026-08-12T22:33:57.474Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/6</loc>
<lastmod>2026-08-12T22:33:57.493Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/1</loc>
<lastmod>2026-08-12T22:33:57.087Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/2</loc>
<lastmod>2026-08-12T22:33:57.107Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/3</loc>
<lastmod>2026-08-12T22:33:57.123Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/4</loc>
<lastmod>2026-08-12T22:33:57.148Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/5</loc>
<lastmod>2026-08-12T22:33:57.165Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/6</loc>
<lastmod>2026-08-12T22:33:57.182Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/1</loc>
<lastmod>2026-08-12T22:33:58.580Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/2</loc>
<lastmod>2026-08-12T22:33:58.594Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/3</loc>
<lastmod>2026-08-12T22:33:58.608Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/4</loc>
<lastmod>2026-08-12T22:33:58.625Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/5</loc>
<lastmod>2026-08-12T22:33:58.636Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/6</loc>
<lastmod>2026-08-12T22:33:58.648Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/7</loc>
<lastmod>2026-08-12T22:33:58.657Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/8</loc>
<lastmod>2026-08-12T22:33:58.666Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/9</loc>
<lastmod>2026-08-12T22:33:58.677Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/10</loc>
<lastmod>2026-08-12T22:33:58.686Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/11</loc>
<lastmod>2026-08-12T22:33:58.700Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/12</loc>
<lastmod>2026-08-12T22:33:58.712Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/13</loc>
<lastmod>2026-08-12T22:33:58.728Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/14</loc>
<lastmod>2026-08-12T22:33:58.744Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/1</loc>
<lastmod>2026-08-12T22:33:58.197Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/2</loc>
<lastmod>2026-08-12T22:33:58.215Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/3</loc>
<lastmod>2026-08-12T22:33:58.237Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/4</loc>
<lastmod>2026-08-12T22:33:58.253Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/5</loc>
<lastmod>2026-08-12T22:33:58.268Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/1</loc>
<lastmod>2026-08-12T22:33:57.958Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/2</loc>
<lastmod>2026-08-12T22:33:57.973Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/3</loc>
<lastmod>2026-08-12T22:33:57.993Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/4</loc>
<lastmod>2026-08-12T22:33:58.015Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/5</loc>
<lastmod>2026-08-12T22:33:58.037Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/6</loc>
<lastmod>2026-08-12T22:33:58.051Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/7</loc>
<lastmod>2026-08-12T22:33:58.065Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/8</loc>
<lastmod>2026-08-12T22:33:58.079Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/9</loc>
<lastmod>2026-08-12T22:33:58.107Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/10</loc>
<lastmod>2026-08-12T22:33:58.128Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/11</loc>
<lastmod>2026-08-12T22:33:58.153Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/12</loc>
<lastmod>2026-08-12T22:33:58.170Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/1</loc>
<lastmod>2026-08-12T22:33:58.462Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/2</loc>
<lastmod>2026-08-12T22:33:58.484Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/3</loc>
<lastmod>2026-08-12T22:33:58.507Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/4</loc>
<lastmod>2026-08-12T22:33:58.535Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/1</loc>
<lastmod>2026-08-12T22:33:57.207Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/2</loc>
<lastmod>2026-08-12T22:33:57.226Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/3</loc>
<lastmod>2026-08-12T22:33:57.240Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/4</loc>
<lastmod>2026-08-12T22:33:57.253Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/5</loc>
<lastmod>2026-08-12T22:33:57.272Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/6</loc>
<lastmod>2026-08-12T22:33:57.289Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/7</loc>
<lastmod>2026-08-12T22:33:57.305Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/8</loc>
<lastmod>2026-08-12T22:33:57.360Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/1</loc>
<lastmod>2026-08-12T22:33:58.775Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/2</loc>
<lastmod>2026-08-12T22:33:58.794Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/3</loc>
<lastmod>2026-08-12T22:33:58.808Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/4</loc>
<lastmod>2026-08-12T22:33:58.824Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/5</loc>
<lastmod>2026-08-12T22:33:58.836Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/6</loc>
<lastmod>2026-08-12T22:33:58.853Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/7</loc>
<lastmod>2026-08-12T22:33:58.869Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/8</loc>
<lastmod>2026-08-12T22:33:58.896Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/1</loc>
<lastmod>2026-08-12T22:33:56.941Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/2</loc>
<lastmod>2026-08-12T22:33:56.961Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/3</loc>
<lastmod>2026-08-12T22:33:56.976Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/4</loc>
<lastmod>2026-08-12T22:33:56.994Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/5</loc>
<lastmod>2026-08-12T22:33:57.010Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/6</loc>
<lastmod>2026-08-12T22:33:57.025Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/7</loc>
<lastmod>2026-08-12T22:33:57.044Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/1</loc>
<lastmod>2026-08-12T22:33:57.744Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/2</loc>
<lastmod>2026-08-12T22:33:57.771Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/3</loc>
<lastmod>2026-08-12T22:33:57.790Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/4</loc>
<lastmod>2026-08-12T22:33:57.809Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/5</loc>
<lastmod>2026-08-12T22:33:57.822Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/6</loc>
<lastmod>2026-08-12T22:33:57.840Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/7</loc>
<lastmod>2026-08-12T22:33:57.857Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/8</loc>
<lastmod>2026-08-12T22:33:57.877Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/9</loc>
<lastmod>2026-08-12T22:33:57.897Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/10</loc>
<lastmod>2026-08-12T22:33:57.917Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/1</loc>
<lastmod>2026-08-12T22:33:56.707Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/2</loc>
<lastmod>2026-08-12T22:33:56.748Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/3</loc>
<lastmod>2026-08-12T22:33:56.770Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/4</loc>
<lastmod>2026-08-12T22:33:56.798Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/5</loc>
<lastmod>2026-08-12T22:33:56.823Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/6</loc>
<lastmod>2026-08-12T22:33:56.848Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/7</loc>
<lastmod>2026-08-12T22:33:56.876Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/8</loc>
<lastmod>2026-08-12T22:33:56.900Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/1</loc>
<lastmod>2026-08-12T22:33:58.301Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/2</loc>
<lastmod>2026-08-12T22:33:58.323Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/3</loc>
<lastmod>2026-08-12T22:33:58.339Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/4</loc>
<lastmod>2026-08-12T22:33:58.359Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/5</loc>
<lastmod>2026-08-12T22:33:58.377Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/6</loc>
<lastmod>2026-08-12T22:33:58.393Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/7</loc>
<lastmod>2026-08-12T22:33:58.410Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/8</loc>
<lastmod>2026-08-12T22:33:58.427Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/1</loc>
<lastmod>2026-08-12T22:33:59.354Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-08-12T22:33:59.370Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-08-12T22:33:59.381Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-08-12T22:33:59.396Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-08-12T22:33:59.408Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-08-12T22:33:59.420Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-08-12T22:33:59.431Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/1</loc>
<lastmod>2026-08-12T22:33:58.933Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/2</loc>
<lastmod>2026-08-12T22:33:58.949Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/3</loc>
<lastmod>2026-08-12T22:33:58.967Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/4</loc>
<lastmod>2026-08-12T22:33:58.982Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/5</loc>
<lastmod>2026-08-12T22:33:58.996Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/6</loc>
<lastmod>2026-08-12T22:33:59.011Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/7</loc>
<lastmod>2026-08-12T22:33:59.024Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/8</loc>
<lastmod>2026-08-12T22:33:59.036Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/1</loc>
<lastmod>2026-08-12T22:33:59.062Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/2</loc>
<lastmod>2026-08-12T22:33:59.254Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/3</loc>
<lastmod>2026-08-12T22:33:59.267Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/4</loc>
<lastmod>2026-08-12T22:33:59.278Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/5</loc>
<lastmod>2026-08-12T22:33:59.290Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/6</loc>
<lastmod>2026-08-12T22:33:59.304Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/7</loc>
<lastmod>2026-08-12T22:33:59.318Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/8</loc>
<lastmod>2026-08-12T22:33:59.332Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/1</loc>
<lastmod>2026-08-12T22:33:57.523Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/2</loc>
<lastmod>2026-08-12T22:33:57.544Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/3</loc>
<lastmod>2026-08-12T22:33:57.561Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/4</loc>
<lastmod>2026-08-12T22:33:57.577Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/5</loc>
<lastmod>2026-08-12T22:33:57.595Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/6</loc>
<lastmod>2026-08-12T22:33:57.620Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/7</loc>
<lastmod>2026-08-12T22:33:57.637Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/8</loc>
<lastmod>2026-08-12T22:33:57.653Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/9</loc>
<lastmod>2026-08-12T22:33:57.676Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/10</loc>
<lastmod>2026-08-12T22:33:57.697Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/1</loc>
<lastmod>2026-08-12T22:33:57.389Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/2</loc>
<lastmod>2026-08-12T22:33:57.411Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/3</loc>
<lastmod>2026-08-12T22:33:57.427Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/4</loc>
<lastmod>2026-08-12T22:33:57.447Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/5</loc>
<lastmod>2026-08-12T22:33:57.464Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/6</loc>
<lastmod>2026-08-12T22:33:57.484Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns</loc>
<priority>0.7</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/1</loc>
<lastmod>2026-08-12T22:33:57.078Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/2</loc>
<lastmod>2026-08-12T22:33:57.098Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/3</loc>
<lastmod>2026-08-12T22:33:57.115Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/4</loc>
<lastmod>2026-08-12T22:33:57.140Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/5</loc>
<lastmod>2026-08-12T22:33:57.157Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/6</loc>
<lastmod>2026-08-12T22:33:57.174Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/api-contract</loc>
<lastmod>2026-08-12T13:52:18.068Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/idempotency</loc>
<lastmod>2026-08-12T13:52:18.140Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/ssot</loc>
<lastmod>2026-08-12T13:52:18.294Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/database-migration</loc>
<lastmod>2026-08-12T13:52:18.097Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/rate-limit</loc>
<lastmod>2026-08-12T13:52:18.252Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/cache</loc>
<lastmod>2026-08-12T13:52:18.077Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/sse</loc>
<lastmod>2026-08-12T13:52:18.290Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/webrtc-cost-gate</loc>
<lastmod>2026-08-12T13:52:18.336Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/test-fixture</loc>
<lastmod>2026-08-12T13:52:18.314Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/object-storage</loc>
<lastmod>2026-08-12T13:52:18.168Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/tauri-capability</loc>
<lastmod>2026-08-12T13:52:18.305Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/scheduler</loc>
<lastmod>2026-08-12T13:52:18.274Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/orm</loc>
<lastmod>2026-08-12T13:52:18.188Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/connection-pool</loc>
<lastmod>2026-08-12T13:52:18.091Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/query-plan</loc>
<lastmod>2026-08-12T13:52:18.243Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/postgresql</loc>
<lastmod>2026-08-12T13:52:18.204Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/sqlite</loc>
<lastmod>2026-08-12T13:52:18.285Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/jwt</loc>
<lastmod>2026-08-12T13:52:18.149Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/audit-log</loc>
<lastmod>2026-08-12T13:52:18.072Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/fail-closed</loc>
<lastmod>2026-08-12T13:52:18.110Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/grpc</loc>
<lastmod>2026-08-12T13:52:18.121Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/websocket</loc>
<lastmod>2026-08-12T13:52:18.345Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/webrtc</loc>
<lastmod>2026-08-12T13:52:18.340Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/ice</loc>
<lastmod>2026-08-12T13:52:18.132Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/turn</loc>
<lastmod>2026-08-12T13:52:18.327Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/cloud-ai-cost-gate</loc>
<lastmod>2026-08-12T13:52:18.086Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/text-to-speech</loc>
<lastmod>2026-08-12T13:52:18.323Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/rag</loc>
<lastmod>2026-08-12T13:52:18.247Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/hnsw</loc>
<lastmod>2026-08-12T13:52:18.127Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/pgvector</loc>
<lastmod>2026-08-12T13:52:18.193Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/vite</loc>
<lastmod>2026-08-12T13:52:18.331Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/tauri</loc>
<lastmod>2026-08-12T13:52:18.309Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/zustand</loc>
<lastmod>2026-08-12T13:52:18.351Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/tanstack-query</loc>
<lastmod>2026-08-12T13:52:18.300Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/indexeddb</loc>
<lastmod>2026-08-12T13:52:18.145Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/fastapi</loc>
<lastmod>2026-08-12T13:52:18.116Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/spring-mvc</loc>
<lastmod>2026-08-12T13:52:18.280Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/row-level-security</loc>
<lastmod>2026-08-12T13:52:18.269Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/playwright</loc>
<lastmod>2026-08-12T13:52:18.199Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/testcontainers</loc>
<lastmod>2026-08-12T13:52:18.318Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/lm-studio</loc>
<lastmod>2026-08-12T13:52:18.158Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/onnx-runtime-web</loc>
<lastmod>2026-08-12T13:52:18.183Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/react</loc>
<lastmod>2026-08-12T13:52:18.258Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/nextjs</loc>
<lastmod>2026-08-12T13:52:18.163Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/redis</loc>
<lastmod>2026-08-12T13:52:18.263Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/kafka</loc>
<lastmod>2026-08-12T13:52:18.154Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/ocr</loc>
<lastmod>2026-08-12T13:52:18.179Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/caddy</loc>
<lastmod>2026-08-12T13:52:18.081Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/docker-compose</loc>
<lastmod>2026-08-12T13:52:18.104Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/glossary/prometheus</loc>
<lastmod>2026-08-12T13:52:18.237Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/api-contract</loc>
<lastmod>2026-08-12T13:52:18.064Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/idempotency</loc>
<lastmod>2026-08-12T13:52:18.135Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/ssot</loc>
<lastmod>2026-08-12T13:52:18.292Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/database-migration</loc>
<lastmod>2026-08-12T13:52:18.094Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/rate-limit</loc>
<lastmod>2026-08-12T13:52:18.250Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/cache</loc>
<lastmod>2026-08-12T13:52:18.074Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/sse</loc>
<lastmod>2026-08-12T13:52:18.287Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/webrtc-cost-gate</loc>
<lastmod>2026-08-12T13:52:18.334Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/test-fixture</loc>
<lastmod>2026-08-12T13:52:18.311Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/object-storage</loc>
<lastmod>2026-08-12T13:52:18.166Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/tauri-capability</loc>
<lastmod>2026-08-12T13:52:18.303Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/scheduler</loc>
<lastmod>2026-08-12T13:52:18.271Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/orm</loc>
<lastmod>2026-08-12T13:52:18.185Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/connection-pool</loc>
<lastmod>2026-08-12T13:52:18.088Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/query-plan</loc>
<lastmod>2026-08-12T13:52:18.240Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/postgresql</loc>
<lastmod>2026-08-12T13:52:18.202Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/sqlite</loc>
<lastmod>2026-08-12T13:52:18.282Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/jwt</loc>
<lastmod>2026-08-12T13:52:18.147Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/audit-log</loc>
<lastmod>2026-08-12T13:52:18.070Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/fail-closed</loc>
<lastmod>2026-08-12T13:52:18.107Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/grpc</loc>
<lastmod>2026-08-12T13:52:18.119Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/websocket</loc>
<lastmod>2026-08-12T13:52:18.343Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/webrtc</loc>
<lastmod>2026-08-12T13:52:18.338Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/ice</loc>
<lastmod>2026-08-12T13:52:18.130Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/turn</loc>
<lastmod>2026-08-12T13:52:18.325Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/cloud-ai-cost-gate</loc>
<lastmod>2026-08-12T13:52:18.084Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/text-to-speech</loc>
<lastmod>2026-08-12T13:52:18.321Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/rag</loc>
<lastmod>2026-08-12T13:52:18.245Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/hnsw</loc>
<lastmod>2026-08-12T13:52:18.124Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/pgvector</loc>
<lastmod>2026-08-12T13:52:18.191Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/vite</loc>
<lastmod>2026-08-12T13:52:18.329Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/tauri</loc>
<lastmod>2026-08-12T13:52:18.307Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/zustand</loc>
<lastmod>2026-08-12T13:52:18.348Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/tanstack-query</loc>
<lastmod>2026-08-12T13:52:18.297Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/indexeddb</loc>
<lastmod>2026-08-12T13:52:18.143Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/fastapi</loc>
<lastmod>2026-08-12T13:52:18.113Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/spring-mvc</loc>
<lastmod>2026-08-12T13:52:18.277Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/row-level-security</loc>
<lastmod>2026-08-12T13:52:18.266Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/playwright</loc>
<lastmod>2026-08-12T13:52:18.196Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/testcontainers</loc>
<lastmod>2026-08-12T13:52:18.316Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/lm-studio</loc>
<lastmod>2026-08-12T13:52:18.156Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/onnx-runtime-web</loc>
<lastmod>2026-08-12T13:52:18.181Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/react</loc>
<lastmod>2026-08-12T13:52:18.255Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/nextjs</loc>
<lastmod>2026-08-12T13:52:18.160Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/redis</loc>
<lastmod>2026-08-12T13:52:18.261Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/kafka</loc>
<lastmod>2026-08-12T13:52:18.152Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/ocr</loc>
<lastmod>2026-08-12T13:52:18.174Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/caddy</loc>
<lastmod>2026-08-12T13:52:18.079Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/docker-compose</loc>
<lastmod>2026-08-12T13:52:18.101Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/glossary/prometheus</loc>
<lastmod>2026-08-12T13:52:18.206Z</lastmod>
<priority>0.5</priority>
</url>
</urlset>
