<?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/terms</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/terms</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/18-grpc-voice-boundary</loc>
<lastmod>2026-08-12T06:00:06.432Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/09-red-metrics-and-slo</loc>
<lastmod>2026-08-12T05:46:17.496Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/08-compose-readiness-rollback</loc>
<lastmod>2026-08-12T03:40:44.815Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/16-request-id-and-kafka</loc>
<lastmod>2026-08-12T03:00:51.309Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/19-webrtc-cost-gated-voice-review</loc>
<lastmod>2026-08-12T02:58:09.578Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/17-scheduler-result-contract</loc>
<lastmod>2026-08-12T02:58:09.548Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/19-complete-member-set-upsert</loc>
<lastmod>2026-08-12T02:58:08.787Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/18-trigram-search-index</loc>
<lastmod>2026-08-12T02:58:08.770Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/17-rag-completed-file-boundary</loc>
<lastmod>2026-08-12T02:58:08.751Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/18-tauri-capability-boundary</loc>
<lastmod>2026-08-12T02:58:08.181Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/10-capability-readiness</loc>
<lastmod>2026-08-12T02:58:07.840Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/11-fail-closed-migration-replay</loc>
<lastmod>2026-08-12T02:58:07.034Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/10-cms-static-build-contract</loc>
<lastmod>2026-08-12T02:58:07.016Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/09-admin-init-advisory-lock</loc>
<lastmod>2026-08-12T02:58:06.997Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/08-release-smoke-rollback</loc>
<lastmod>2026-08-12T02:58:06.981Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/09-upload-signature-atomicity</loc>
<lastmod>2026-08-12T02:58:06.813Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/16-idempotent-migration-recovery</loc>
<lastmod>2026-08-12T02:58:08.734Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/07-acceptance-evidence</loc>
<lastmod>2026-08-12T02:58:06.961Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/17-content-continuity-ux</loc>
<lastmod>2026-08-12T02:58:08.163Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/15-public-api-as-bff</loc>
<lastmod>2026-08-12T02:58:09.515Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/22-metadata-template-single-source</loc>
<lastmod>2026-08-12T02:58:09.218Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/15-seed-from-monorepo-root</loc>
<lastmod>2026-08-12T02:58:08.714Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/16-dashboard-widget-uniformity</loc>
<lastmod>2026-08-12T02:58:08.146Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/08-public-route-whitelist</loc>
<lastmod>2026-08-12T02:58:06.791Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/14-email-otp</loc>
<lastmod>2026-08-12T02:58:09.497Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/14-supabase-storage</loc>
<lastmod>2026-08-12T02:58:08.693Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/13-kafka-topics</loc>
<lastmod>2026-08-12T02:58:08.670Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/15-google-stitch</loc>
<lastmod>2026-08-12T02:58:10.047Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/09-notebooklm</loc>
<lastmod>2026-08-12T02:58:09.748Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-08-12T02:58:10.031Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-08-12T02:58:09.729Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/21-github-pages</loc>
<lastmod>2026-08-12T02:58:09.196Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/20-replit</loc>
<lastmod>2026-08-12T02:58:09.179Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-08-12T02:58:09.480Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-08-12T02:58:08.650Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-08-12T02:58:08.128Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-08-12T02:58:06.937Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-08-12T02:58:06.770Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-08-12T12:00:15.397Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/13-route53</loc>
<lastmod>2026-08-12T04:13:28.059Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/01-pnpm</loc>
<lastmod>2026-08-12T03:50:48.869Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-08-12T02:58:10.016Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-08-12T02:58:10.000Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-08-12T02:58:09.984Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-08-12T02:58:09.968Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-08-12T02:58:09.952Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-08-12T02:58:09.935Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-08-12T02:58:09.919Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-08-12T02:58:09.904Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-08-12T02:58:09.886Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-08-12T02:58:09.870Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-08-12T02:58:09.810Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-08-12T02:58:09.783Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-08-12T02:58:09.766Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/07-llm-landscape</loc>
<lastmod>2026-08-12T02:58:09.710Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/06-agents-overview</loc>
<lastmod>2026-08-12T02:58:09.686Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-08-12T02:58:09.668Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/04-gemini-api</loc>
<lastmod>2026-08-12T02:58:09.650Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/03-prompt-design</loc>
<lastmod>2026-08-12T02:58:09.633Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-08-12T02:58:09.614Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-08-12T02:58:09.594Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/12-websocket-sse</loc>
<lastmod>2026-08-12T02:58:09.465Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-08-12T02:58:09.447Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/10-openapi-spec</loc>
<lastmod>2026-08-12T02:58:09.429Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-08-12T02:58:09.408Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-08-12T02:58:09.387Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-08-12T02:58:09.358Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-08-12T02:58:09.337Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-08-12T02:58:09.307Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-08-12T02:58:09.290Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-08-12T02:58:09.270Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-08-12T02:58:09.252Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-08-12T02:58:09.235Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-08-12T02:58:09.160Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-08-12T02:58:09.142Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-08-12T02:58:09.125Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-08-12T02:58:09.108Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-08-12T02:58:09.090Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/14-load-balancers</loc>
<lastmod>2026-08-12T02:58:09.070Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/12-lambda</loc>
<lastmod>2026-08-12T02:58:09.035Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/11-cloudfront</loc>
<lastmod>2026-08-12T02:58:09.014Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/10-rds</loc>
<lastmod>2026-08-12T02:58:08.986Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/09-s3</loc>
<lastmod>2026-08-12T02:58:08.966Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/08-iam</loc>
<lastmod>2026-08-12T02:58:08.945Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/07-flyio</loc>
<lastmod>2026-08-12T02:58:08.926Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/06-deploying-options</loc>
<lastmod>2026-08-12T02:58:08.908Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/05-ec2</loc>
<lastmod>2026-08-12T02:58:08.890Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/04-security-group</loc>
<lastmod>2026-08-12T02:58:08.873Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-08-12T02:58:08.853Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-08-12T02:58:08.828Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/01-aws-overview</loc>
<lastmod>2026-08-12T02:58:08.807Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/11-backup-restore</loc>
<lastmod>2026-08-12T02:58:08.631Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/10-image-pipeline</loc>
<lastmod>2026-08-12T02:58:08.604Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/09-fcm-push</loc>
<lastmod>2026-08-12T02:58:08.583Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/08-supabase</loc>
<lastmod>2026-08-12T02:58:08.563Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/07-pgvector-rag</loc>
<lastmod>2026-08-12T02:58:08.543Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/06-kafka-when</loc>
<lastmod>2026-08-12T02:58:08.526Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/05-data-pipeline</loc>
<lastmod>2026-08-12T02:58:08.507Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/04-redis-roles</loc>
<lastmod>2026-08-12T02:58:08.489Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/03-three-layer-cache</loc>
<lastmod>2026-08-12T02:58:08.470Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/02-postgres-deep</loc>
<lastmod>2026-08-12T02:58:08.450Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/01-postgres-first</loc>
<lastmod>2026-08-12T02:58:08.433Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/00-sql-basics</loc>
<lastmod>2026-08-12T02:58:08.414Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/11-wsl2</loc>
<lastmod>2026-08-12T02:58:08.390Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/10-data-formats</loc>
<lastmod>2026-08-12T02:58:08.369Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-08-12T02:58:08.349Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-08-12T02:58:08.331Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/07-markdown</loc>
<lastmod>2026-08-12T02:58:08.314Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-08-12T02:58:08.294Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-08-12T02:58:08.277Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/04-powershell-basics</loc>
<lastmod>2026-08-12T02:58:08.259Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-08-12T02:58:08.240Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/02-shells-overview</loc>
<lastmod>2026-08-12T02:58:08.220Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-08-12T02:58:08.198Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/14-loading-ux</loc>
<lastmod>2026-08-12T02:58:08.107Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/13-native-integrations</loc>
<lastmod>2026-08-12T02:58:08.086Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-08-12T02:58:08.065Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-08-12T02:58:08.043Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-08-12T02:58:08.024Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/09-bundlers</loc>
<lastmod>2026-08-12T02:58:08.004Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/08-forms-zod</loc>
<lastmod>2026-08-12T02:58:07.986Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-08-12T02:58:07.963Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-08-12T02:58:07.943Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-08-12T02:58:07.926Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-08-12T02:58:07.907Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-08-12T02:58:07.891Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-08-12T02:58:07.873Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-08-12T02:58:07.856Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-08-12T02:58:07.787Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-08-12T02:58:07.767Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-08-12T02:58:07.747Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-08-12T02:58:07.729Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-08-12T02:58:07.710Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-08-12T02:58:07.691Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/01-docker-basics</loc>
<lastmod>2026-08-12T02:58:07.673Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-08-12T02:58:07.647Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/03-python-async</loc>
<lastmod>2026-08-12T02:58:07.628Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/02-java21-modern</loc>
<lastmod>2026-08-12T02:58:07.606Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/01-typescript-strict</loc>
<lastmod>2026-08-12T02:58:07.585Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-08-12T02:58:07.564Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-08-12T02:58:07.541Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/03-how-to-ask-good-questions</loc>
<lastmod>2026-08-12T02:58:07.518Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-08-12T02:58:07.493Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/01-how-to-search</loc>
<lastmod>2026-08-12T02:58:07.470Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/00-getting-started</loc>
<lastmod>2026-08-12T02:58:07.451Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/04-ios-build</loc>
<lastmod>2026-08-12T02:58:07.428Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-08-12T02:58:07.408Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-08-12T02:58:07.362Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-08-12T02:58:07.340Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-08-12T02:58:07.320Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-08-12T02:58:07.301Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/07-korean-first</loc>
<lastmod>2026-08-12T02:58:07.281Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/06-docs-for-agent-and-human</loc>
<lastmod>2026-08-12T02:58:07.262Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-08-12T02:58:07.242Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-08-12T02:58:07.222Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-08-12T02:58:07.195Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-08-12T02:58:07.175Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-08-12T02:58:07.152Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-08-12T02:58:07.122Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/03-design-patterns</loc>
<lastmod>2026-08-12T02:58:07.102Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/02-big-o</loc>
<lastmod>2026-08-12T02:58:07.082Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/01-data-structures</loc>
<lastmod>2026-08-12T02:58:07.063Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-08-12T02:58:06.916Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/04-github-actions</loc>
<lastmod>2026-08-12T02:58:06.898Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/03-observability-minimal</loc>
<lastmod>2026-08-12T02:58:06.879Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-08-12T02:58:06.858Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/01-testcontainers</loc>
<lastmod>2026-08-12T02:58:06.838Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/06-headers-and-cors</loc>
<lastmod>2026-08-12T02:58:06.747Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/05-password-hashing</loc>
<lastmod>2026-08-12T02:58:06.723Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/04-input-validation-zod</loc>
<lastmod>2026-08-12T02:58:06.700Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-08-12T02:58:06.677Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-08-12T02:58:06.653Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/01-jwt-rotation</loc>
<lastmod>2026-08-12T02:58:06.626Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-08-12T02:58:06.605Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/11-regex</loc>
<lastmod>2026-08-12T02:58:06.583Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-08-12T02:58:06.560Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/09-linting-formatting</loc>
<lastmod>2026-08-12T02:58:06.539Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/08-editor-setup</loc>
<lastmod>2026-08-12T02:58:06.517Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/07-gradle</loc>
<lastmod>2026-08-12T02:58:06.496Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/06-git-workflow</loc>
<lastmod>2026-08-12T02:58:06.474Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/05-version-managers</loc>
<lastmod>2026-08-12T02:58:06.455Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-08-12T02:58:06.437Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/03-python-uv</loc>
<lastmod>2026-08-12T02:58:06.418Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/02-monorepo-light</loc>
<lastmod>2026-08-12T02:58:06.397Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-08-12T02:58:06.360Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/06-internet-how-it-works</loc>
<lastmod>2026-08-12T02:58:06.338Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-08-12T02:58:06.318Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-08-12T02:58:06.296Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-08-12T02:58:06.274Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/02-css</loc>
<lastmod>2026-08-12T02:58:06.256Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/01-html</loc>
<lastmod>2026-08-12T02:58:06.232Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/08-release-smoke-rollback</loc>
<lastmod>2026-08-12T03:43:24.900Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/19-webrtc-cost-gated-voice-review</loc>
<lastmod>2026-08-12T02:58:09.571Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/18-grpc-voice-boundary</loc>
<lastmod>2026-08-12T02:58:09.556Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/17-scheduler-result-contract</loc>
<lastmod>2026-08-12T02:58:09.538Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/16-request-id-and-kafka</loc>
<lastmod>2026-08-12T02:58:09.523Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/19-complete-member-set-upsert</loc>
<lastmod>2026-08-12T02:58:08.778Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/18-trigram-search-index</loc>
<lastmod>2026-08-12T02:58:08.761Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/17-rag-completed-file-boundary</loc>
<lastmod>2026-08-12T02:58:08.742Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/18-tauri-capability-boundary</loc>
<lastmod>2026-08-12T02:58:08.172Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/10-capability-readiness</loc>
<lastmod>2026-08-12T02:58:07.832Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/09-red-metrics-and-slo</loc>
<lastmod>2026-08-12T02:58:07.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/08-compose-readiness-rollback</loc>
<lastmod>2026-08-12T02:58:07.796Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/11-fail-closed-migration-replay</loc>
<lastmod>2026-08-12T02:58:07.025Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/10-cms-static-build-contract</loc>
<lastmod>2026-08-12T02:58:07.006Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/09-admin-init-advisory-lock</loc>
<lastmod>2026-08-12T02:58:06.989Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/09-upload-signature-atomicity</loc>
<lastmod>2026-08-12T02:58:06.803Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/07-acceptance-evidence</loc>
<lastmod>2026-08-12T03:11:54.887Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/16-idempotent-migration-recovery</loc>
<lastmod>2026-08-12T02:58:08.723Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/17-content-continuity-ux</loc>
<lastmod>2026-08-12T02:58:08.154Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/15-public-api-as-bff</loc>
<lastmod>2026-08-12T02:58:09.506Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/22-metadata-template-single-source</loc>
<lastmod>2026-08-12T02:58:09.210Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/15-seed-from-monorepo-root</loc>
<lastmod>2026-08-12T02:58:08.705Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/16-dashboard-widget-uniformity</loc>
<lastmod>2026-08-12T02:58:08.137Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/08-public-route-whitelist</loc>
<lastmod>2026-08-12T02:58:06.780Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/14-email-otp</loc>
<lastmod>2026-08-12T02:58:09.489Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/14-supabase-storage</loc>
<lastmod>2026-08-12T02:58:08.680Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/13-kafka-topics</loc>
<lastmod>2026-08-12T02:58:08.660Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/15-google-stitch</loc>
<lastmod>2026-08-12T02:58:10.039Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/09-notebooklm</loc>
<lastmod>2026-08-12T02:58:09.738Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-08-12T02:58:10.023Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-08-12T02:58:09.719Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/21-github-pages</loc>
<lastmod>2026-08-12T02:58:09.188Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/20-replit</loc>
<lastmod>2026-08-12T02:58:09.169Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-08-12T02:58:09.472Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-08-12T02:58:08.639Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-08-12T02:58:08.118Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-08-12T02:58:06.928Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-08-12T02:58:06.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/03-observability-minimal</loc>
<lastmod>2026-08-12T05:16:54.183Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/03-prompt-design</loc>
<lastmod>2026-08-12T04:37:05.098Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/07-gradle</loc>
<lastmod>2026-08-12T04:21:14.491Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-08-12T04:12:46.965Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-08-12T02:58:10.008Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-08-12T02:58:09.992Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-08-12T02:58:09.976Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-08-12T02:58:09.960Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-08-12T02:58:09.943Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-08-12T02:58:09.927Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-08-12T02:58:09.911Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-08-12T02:58:09.896Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-08-12T02:58:09.878Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-08-12T02:58:09.857Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-08-12T02:58:09.796Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-08-12T02:58:09.775Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-08-12T02:58:09.757Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/07-llm-landscape</loc>
<lastmod>2026-08-12T02:58:09.695Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/06-agents-overview</loc>
<lastmod>2026-08-12T02:58:09.678Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-08-12T02:58:09.658Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/04-gemini-api</loc>
<lastmod>2026-08-12T02:58:09.641Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-08-12T02:58:09.605Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-08-12T02:58:09.586Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/12-websocket-sse</loc>
<lastmod>2026-08-12T02:58:09.456Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-08-12T02:58:09.439Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/10-openapi-spec</loc>
<lastmod>2026-08-12T02:58:09.417Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-08-12T02:58:09.399Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-08-12T02:58:09.369Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-08-12T02:58:09.348Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-08-12T02:58:09.330Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-08-12T02:58:09.298Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-08-12T02:58:09.281Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-08-12T02:58:09.261Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-08-12T02:58:09.243Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-08-12T02:58:09.227Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-08-12T02:58:09.151Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-08-12T02:58:09.133Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-08-12T02:58:09.117Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-08-12T02:58:09.098Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-08-12T02:58:09.079Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/14-load-balancers</loc>
<lastmod>2026-08-12T02:58:09.061Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/13-route53</loc>
<lastmod>2026-08-12T02:58:09.044Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/12-lambda</loc>
<lastmod>2026-08-12T02:58:09.023Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/11-cloudfront</loc>
<lastmod>2026-08-12T02:58:08.995Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/10-rds</loc>
<lastmod>2026-08-12T02:58:08.975Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/09-s3</loc>
<lastmod>2026-08-12T02:58:08.955Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/08-iam</loc>
<lastmod>2026-08-12T02:58:08.937Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/07-flyio</loc>
<lastmod>2026-08-12T02:58:08.917Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/06-deploying-options</loc>
<lastmod>2026-08-12T02:58:08.899Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/05-ec2</loc>
<lastmod>2026-08-12T02:58:08.881Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/04-security-group</loc>
<lastmod>2026-08-12T02:58:08.864Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-08-12T02:58:08.840Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-08-12T02:58:08.818Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/01-aws-overview</loc>
<lastmod>2026-08-12T02:58:08.796Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/11-backup-restore</loc>
<lastmod>2026-08-12T02:58:08.616Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/10-image-pipeline</loc>
<lastmod>2026-08-12T02:58:08.594Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/09-fcm-push</loc>
<lastmod>2026-08-12T02:58:08.573Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/08-supabase</loc>
<lastmod>2026-08-12T02:58:08.554Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/07-pgvector-rag</loc>
<lastmod>2026-08-12T02:58:08.534Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/06-kafka-when</loc>
<lastmod>2026-08-12T02:58:08.516Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/05-data-pipeline</loc>
<lastmod>2026-08-12T02:58:08.498Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/04-redis-roles</loc>
<lastmod>2026-08-12T02:58:08.479Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/03-three-layer-cache</loc>
<lastmod>2026-08-12T02:58:08.461Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/02-postgres-deep</loc>
<lastmod>2026-08-12T02:58:08.442Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/01-postgres-first</loc>
<lastmod>2026-08-12T02:58:08.424Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/00-sql-basics</loc>
<lastmod>2026-08-12T02:58:08.402Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/11-wsl2</loc>
<lastmod>2026-08-12T02:58:08.379Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/10-data-formats</loc>
<lastmod>2026-08-12T02:58:08.359Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-08-12T02:58:08.339Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-08-12T02:58:08.323Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/07-markdown</loc>
<lastmod>2026-08-12T02:58:08.304Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-08-12T02:58:08.286Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-08-12T02:58:08.268Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/04-powershell-basics</loc>
<lastmod>2026-08-12T02:58:08.249Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-08-12T02:58:08.230Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/02-shells-overview</loc>
<lastmod>2026-08-12T02:58:08.211Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-08-12T02:58:08.190Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/14-loading-ux</loc>
<lastmod>2026-08-12T02:58:08.097Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/13-native-integrations</loc>
<lastmod>2026-08-12T02:58:08.075Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-08-12T02:58:08.056Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-08-12T02:58:08.031Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-08-12T02:58:08.015Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/09-bundlers</loc>
<lastmod>2026-08-12T02:58:07.995Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/08-forms-zod</loc>
<lastmod>2026-08-12T02:58:07.977Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-08-12T02:58:07.952Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-08-12T02:58:07.934Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-08-12T02:58:07.916Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-08-12T02:58:07.899Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-08-12T02:58:07.882Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-08-12T02:58:07.864Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-08-12T02:58:07.847Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-08-12T02:58:07.778Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-08-12T02:58:07.739Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-08-12T02:58:07.721Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-08-12T02:58:07.701Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-08-12T02:58:07.682Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/01-docker-basics</loc>
<lastmod>2026-08-12T02:58:07.658Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-08-12T02:58:07.637Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/03-python-async</loc>
<lastmod>2026-08-12T02:58:07.615Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/02-java21-modern</loc>
<lastmod>2026-08-12T02:58:07.595Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/01-typescript-strict</loc>
<lastmod>2026-08-12T02:58:07.574Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-08-12T02:58:07.551Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-08-12T02:58:07.529Z</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-12T02:58:07.503Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-08-12T02:58:07.479Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/01-how-to-search</loc>
<lastmod>2026-08-12T02:58:07.461Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/00-getting-started</loc>
<lastmod>2026-08-12T02:58:07.440Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/04-ios-build</loc>
<lastmod>2026-08-12T02:58:07.419Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-08-12T02:58:07.397Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-08-12T02:58:07.375Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-08-12T02:58:07.349Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-08-12T02:58:07.330Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-08-12T02:58:07.311Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-08-12T02:58:07.291Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/07-korean-first</loc>
<lastmod>2026-08-12T02:58:07.272Z</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-12T02:58:07.252Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-08-12T02:58:07.233Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-08-12T02:58:07.208Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-08-12T02:58:07.185Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-08-12T02:58:07.162Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-08-12T02:58:07.139Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-08-12T02:58:07.112Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/03-design-patterns</loc>
<lastmod>2026-08-12T02:58:07.091Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/02-big-o</loc>
<lastmod>2026-08-12T02:58:07.073Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/01-data-structures</loc>
<lastmod>2026-08-12T02:58:07.046Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-08-12T02:58:06.908Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/04-github-actions</loc>
<lastmod>2026-08-12T02:58:06.888Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-08-12T02:58:06.847Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/01-testcontainers</loc>
<lastmod>2026-08-12T02:58:06.822Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/06-headers-and-cors</loc>
<lastmod>2026-08-12T02:58:06.734Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/05-password-hashing</loc>
<lastmod>2026-08-12T02:58:06.712Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/04-input-validation-zod</loc>
<lastmod>2026-08-12T02:58:06.688Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-08-12T02:58:06.666Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-08-12T02:58:06.640Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/01-jwt-rotation</loc>
<lastmod>2026-08-12T02:58:06.615Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-08-12T02:58:06.596Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/11-regex</loc>
<lastmod>2026-08-12T02:58:06.571Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-08-12T02:58:06.550Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/09-linting-formatting</loc>
<lastmod>2026-08-12T02:58:06.528Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/08-editor-setup</loc>
<lastmod>2026-08-12T02:58:06.507Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/06-git-workflow</loc>
<lastmod>2026-08-12T02:58:06.465Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/05-version-managers</loc>
<lastmod>2026-08-12T02:58:06.446Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-08-12T02:58:06.428Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/03-python-uv</loc>
<lastmod>2026-08-12T02:58:06.410Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/02-monorepo-light</loc>
<lastmod>2026-08-12T02:58:06.390Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/01-pnpm</loc>
<lastmod>2026-08-12T02:58:06.370Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-08-12T02:58:06.349Z</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-12T02:58:06.328Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-08-12T02:58:06.309Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-08-12T02:58:06.284Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-08-12T02:58:06.265Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/02-css</loc>
<lastmod>2026-08-12T02:58:06.245Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/01-html</loc>
<lastmod>2026-08-12T02:58:06.193Z</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-12T05:34:56.380Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/2</loc>
<lastmod>2026-08-12T04:29:08.807Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/3</loc>
<lastmod>2026-08-12T04:49:45.357Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/4</loc>
<lastmod>2026-08-12T02:58:14.874Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/5</loc>
<lastmod>2026-08-12T04:53:45.954Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/6</loc>
<lastmod>2026-08-12T02:58:14.906Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/7</loc>
<lastmod>2026-08-12T02:58:14.922Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/8</loc>
<lastmod>2026-08-12T02:58:14.940Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/9</loc>
<lastmod>2026-08-12T02:58:14.956Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/10</loc>
<lastmod>2026-08-12T04:11:13.388Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/11</loc>
<lastmod>2026-08-12T02:58:14.990Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/12</loc>
<lastmod>2026-08-12T04:00:52.386Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/13</loc>
<lastmod>2026-08-12T02:58:15.027Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/production-engineering/14</loc>
<lastmod>2026-08-12T02:58:15.046Z</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-12T02:58:14.425Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/2</loc>
<lastmod>2026-08-12T02:58:14.442Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/3</loc>
<lastmod>2026-08-12T02:58:14.463Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/4</loc>
<lastmod>2026-08-12T02:58:14.485Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/5</loc>
<lastmod>2026-08-12T04:40:42.206Z</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-12T02:58:14.157Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/2</loc>
<lastmod>2026-08-12T02:58:14.175Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/3</loc>
<lastmod>2026-08-12T02:58:14.193Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/4</loc>
<lastmod>2026-08-12T02:58:14.213Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/5</loc>
<lastmod>2026-08-12T02:58:14.233Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/6</loc>
<lastmod>2026-08-12T02:58:14.248Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/7</loc>
<lastmod>2026-08-12T02:58:14.282Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/8</loc>
<lastmod>2026-08-12T02:58:14.301Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/9</loc>
<lastmod>2026-08-12T02:58:14.325Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/10</loc>
<lastmod>2026-08-12T02:58:14.348Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/11</loc>
<lastmod>2026-08-12T02:58:14.374Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/12</loc>
<lastmod>2026-08-12T02:58:14.391Z</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-12T02:58:14.714Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/2</loc>
<lastmod>2026-08-12T02:58:14.740Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/3</loc>
<lastmod>2026-08-12T02:58:14.759Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/4</loc>
<lastmod>2026-08-12T02:58:14.779Z</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-12T02:58:13.391Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/2</loc>
<lastmod>2026-08-12T02:58:13.422Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/3</loc>
<lastmod>2026-08-12T02:58:13.445Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/4</loc>
<lastmod>2026-08-12T02:58:13.464Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/5</loc>
<lastmod>2026-08-12T02:58:13.484Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/6</loc>
<lastmod>2026-08-12T02:58:13.501Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/7</loc>
<lastmod>2026-08-12T02:58:13.519Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/8</loc>
<lastmod>2026-08-12T02:58:13.537Z</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-12T02:58:15.086Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/2</loc>
<lastmod>2026-08-12T02:58:15.104Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/3</loc>
<lastmod>2026-08-12T02:58:15.122Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/4</loc>
<lastmod>2026-08-12T02:58:15.138Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/5</loc>
<lastmod>2026-08-12T02:58:15.154Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/6</loc>
<lastmod>2026-08-12T02:58:15.169Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/7</loc>
<lastmod>2026-08-12T02:58:15.185Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/8</loc>
<lastmod>2026-08-12T02:58:15.225Z</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-12T02:58:13.060Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/2</loc>
<lastmod>2026-08-12T02:58:13.083Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/3</loc>
<lastmod>2026-08-12T02:58:13.102Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/4</loc>
<lastmod>2026-08-12T02:58:13.121Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/5</loc>
<lastmod>2026-08-12T02:58:13.138Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/6</loc>
<lastmod>2026-08-12T02:58:13.157Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/7</loc>
<lastmod>2026-08-12T02:58:13.175Z</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-12T02:58:13.945Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/2</loc>
<lastmod>2026-08-12T02:58:13.967Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/3</loc>
<lastmod>2026-08-12T02:58:13.988Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/4</loc>
<lastmod>2026-08-12T02:58:14.004Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/5</loc>
<lastmod>2026-08-12T02:58:14.026Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/6</loc>
<lastmod>2026-08-12T02:58:14.042Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/7</loc>
<lastmod>2026-08-12T02:58:14.061Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/8</loc>
<lastmod>2026-08-12T02:58:14.082Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/9</loc>
<lastmod>2026-08-12T02:58:14.105Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/10</loc>
<lastmod>2026-08-12T02:58:14.125Z</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-12T02:58:12.873Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/2</loc>
<lastmod>2026-08-12T02:58:12.897Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/3</loc>
<lastmod>2026-08-12T02:58:12.916Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/4</loc>
<lastmod>2026-08-12T02:58:12.934Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/5</loc>
<lastmod>2026-08-12T02:58:12.955Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/6</loc>
<lastmod>2026-08-12T02:58:12.978Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/7</loc>
<lastmod>2026-08-12T02:58:12.999Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/8</loc>
<lastmod>2026-08-12T02:58:13.021Z</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-12T02:58:14.544Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/2</loc>
<lastmod>2026-08-12T02:58:14.563Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/3</loc>
<lastmod>2026-08-12T02:58:14.581Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/4</loc>
<lastmod>2026-08-12T02:58:14.598Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/5</loc>
<lastmod>2026-08-12T02:58:14.618Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/6</loc>
<lastmod>2026-08-12T02:58:14.637Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/7</loc>
<lastmod>2026-08-12T02:58:14.655Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/8</loc>
<lastmod>2026-08-12T12:04:34.341Z</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-12T02:58:15.759Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-08-12T02:58:15.774Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-08-12T02:58:15.789Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-08-12T02:58:15.805Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-08-12T02:58:15.828Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-08-12T02:58:15.843Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-08-12T02:58:15.862Z</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-12T02:58:15.271Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/2</loc>
<lastmod>2026-08-12T02:58:15.292Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/3</loc>
<lastmod>2026-08-12T02:58:15.309Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/4</loc>
<lastmod>2026-08-12T02:58:15.327Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/5</loc>
<lastmod>2026-08-12T02:58:15.358Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/6</loc>
<lastmod>2026-08-12T02:58:15.380Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/7</loc>
<lastmod>2026-08-12T02:58:15.395Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/8</loc>
<lastmod>2026-08-12T04:08:47.955Z</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-12T02:58:15.451Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/2</loc>
<lastmod>2026-08-12T02:58:15.620Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/3</loc>
<lastmod>2026-08-12T02:58:15.637Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/4</loc>
<lastmod>2026-08-12T02:58:15.655Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/5</loc>
<lastmod>2026-08-12T02:58:15.671Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/6</loc>
<lastmod>2026-08-12T02:58:15.687Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/7</loc>
<lastmod>2026-08-12T05:56:29.740Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/8</loc>
<lastmod>2026-08-12T02:58:15.724Z</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-12T02:58:13.707Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/2</loc>
<lastmod>2026-08-12T02:58:13.728Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/3</loc>
<lastmod>2026-08-12T02:58:13.746Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/4</loc>
<lastmod>2026-08-12T02:58:13.772Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/5</loc>
<lastmod>2026-08-12T02:58:13.791Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/6</loc>
<lastmod>2026-08-12T02:58:13.811Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/7</loc>
<lastmod>2026-08-12T02:58:13.829Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/8</loc>
<lastmod>2026-08-12T02:58:13.849Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/9</loc>
<lastmod>2026-08-12T02:58:13.875Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/10</loc>
<lastmod>2026-08-12T04:26:37.036Z</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-12T02:58:13.574Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/2</loc>
<lastmod>2026-08-12T02:58:13.591Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/3</loc>
<lastmod>2026-08-12T02:58:13.608Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/4</loc>
<lastmod>2026-08-12T02:58:13.625Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/5</loc>
<lastmod>2026-08-12T02:58:13.646Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/6</loc>
<lastmod>2026-08-12T02:58:13.665Z</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-12T02:58:13.216Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/2</loc>
<lastmod>2026-08-12T02:58:13.235Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/3</loc>
<lastmod>2026-08-12T02:58:13.263Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/4</loc>
<lastmod>2026-08-12T02:58:13.285Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/5</loc>
<lastmod>2026-08-12T02:58:13.313Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/6</loc>
<lastmod>2026-08-12T02:58:13.344Z</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-12T02:58:14.806Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/2</loc>
<lastmod>2026-08-12T03:43:51.561Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/3</loc>
<lastmod>2026-08-12T02:58:14.843Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/4</loc>
<lastmod>2026-08-12T02:58:14.866Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/5</loc>
<lastmod>2026-08-12T02:58:14.883Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/6</loc>
<lastmod>2026-08-12T02:58:14.899Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/7</loc>
<lastmod>2026-08-12T05:49:16.291Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/8</loc>
<lastmod>2026-08-12T03:44:51.987Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/9</loc>
<lastmod>2026-08-12T02:58:14.948Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/10</loc>
<lastmod>2026-08-12T02:58:14.964Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/11</loc>
<lastmod>2026-08-12T02:58:14.982Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/12</loc>
<lastmod>2026-08-12T02:58:14.999Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/13</loc>
<lastmod>2026-08-12T02:58:15.017Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/production-engineering/14</loc>
<lastmod>2026-08-12T02:58:15.037Z</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-12T02:58:14.416Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/2</loc>
<lastmod>2026-08-12T02:58:14.434Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/3</loc>
<lastmod>2026-08-12T02:58:14.453Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/4</loc>
<lastmod>2026-08-12T02:58:14.475Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/5</loc>
<lastmod>2026-08-12T02:58:14.495Z</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-12T02:58:14.149Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/2</loc>
<lastmod>2026-08-12T02:58:14.166Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/3</loc>
<lastmod>2026-08-12T02:58:14.186Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/4</loc>
<lastmod>2026-08-12T02:58:14.201Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/5</loc>
<lastmod>2026-08-12T02:58:14.225Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/6</loc>
<lastmod>2026-08-12T02:58:14.241Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/7</loc>
<lastmod>2026-08-12T02:58:14.260Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/8</loc>
<lastmod>2026-08-12T02:58:14.293Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/9</loc>
<lastmod>2026-08-12T02:58:14.313Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/10</loc>
<lastmod>2026-08-12T02:58:14.335Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/11</loc>
<lastmod>2026-08-12T02:58:14.364Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/12</loc>
<lastmod>2026-08-12T02:58:14.383Z</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-12T02:58:14.700Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/2</loc>
<lastmod>2026-08-12T02:58:14.728Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/3</loc>
<lastmod>2026-08-12T02:58:14.750Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/4</loc>
<lastmod>2026-08-12T02:58:14.769Z</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-12T02:59:09.674Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/2</loc>
<lastmod>2026-08-12T02:58:13.412Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/3</loc>
<lastmod>2026-08-12T02:58:13.435Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/4</loc>
<lastmod>2026-08-12T02:58:13.454Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/5</loc>
<lastmod>2026-08-12T02:58:13.473Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/6</loc>
<lastmod>2026-08-12T02:58:13.493Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/7</loc>
<lastmod>2026-08-12T02:58:13.510Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/8</loc>
<lastmod>2026-08-12T02:58:13.527Z</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-12T02:58:15.078Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/2</loc>
<lastmod>2026-08-12T02:58:15.095Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/3</loc>
<lastmod>2026-08-12T02:58:15.113Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/4</loc>
<lastmod>2026-08-12T02:58:15.130Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/5</loc>
<lastmod>2026-08-12T02:58:15.146Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/6</loc>
<lastmod>2026-08-12T02:58:15.161Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/7</loc>
<lastmod>2026-08-12T02:58:15.176Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/8</loc>
<lastmod>2026-08-12T02:58:15.195Z</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-12T04:25:53.282Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/2</loc>
<lastmod>2026-08-12T02:58:13.070Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/3</loc>
<lastmod>2026-08-12T02:58:13.093Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/4</loc>
<lastmod>2026-08-12T02:58:13.112Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/5</loc>
<lastmod>2026-08-12T02:58:13.129Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/6</loc>
<lastmod>2026-08-12T02:58:13.147Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/7</loc>
<lastmod>2026-08-12T02:58:13.166Z</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-12T02:58:13.933Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/2</loc>
<lastmod>2026-08-12T02:58:13.957Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/3</loc>
<lastmod>2026-08-12T02:58:13.978Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/4</loc>
<lastmod>2026-08-12T02:58:13.997Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/5</loc>
<lastmod>2026-08-12T02:58:14.014Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/6</loc>
<lastmod>2026-08-12T02:58:14.035Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/7</loc>
<lastmod>2026-08-12T02:58:14.052Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/8</loc>
<lastmod>2026-08-12T02:58:14.072Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/9</loc>
<lastmod>2026-08-12T02:58:14.095Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/10</loc>
<lastmod>2026-08-12T02:58:14.114Z</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-12T02:58:12.851Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/2</loc>
<lastmod>2026-08-12T02:58:12.888Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/3</loc>
<lastmod>2026-08-12T02:58:12.906Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/4</loc>
<lastmod>2026-08-12T02:58:12.925Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/5</loc>
<lastmod>2026-08-12T02:58:12.946Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/6</loc>
<lastmod>2026-08-12T02:58:12.965Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/7</loc>
<lastmod>2026-08-12T02:58:12.991Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/8</loc>
<lastmod>2026-08-12T02:58:13.011Z</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-12T02:58:14.532Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/2</loc>
<lastmod>2026-08-12T02:58:14.553Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/3</loc>
<lastmod>2026-08-12T02:58:14.573Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/4</loc>
<lastmod>2026-08-12T02:58:14.589Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/5</loc>
<lastmod>2026-08-12T02:58:14.609Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/6</loc>
<lastmod>2026-08-12T02:58:14.628Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/7</loc>
<lastmod>2026-08-12T02:58:14.646Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/8</loc>
<lastmod>2026-08-12T02:58:14.665Z</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-12T02:58:15.750Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-08-12T02:58:15.766Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-08-12T02:58:15.782Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-08-12T02:58:15.797Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-08-12T02:58:15.816Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-08-12T02:58:15.836Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-08-12T02:58:15.852Z</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-12T02:58:15.261Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/2</loc>
<lastmod>2026-08-12T02:58:15.283Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/3</loc>
<lastmod>2026-08-12T02:58:15.301Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/4</loc>
<lastmod>2026-08-12T02:58:15.318Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/5</loc>
<lastmod>2026-08-12T02:58:15.336Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/6</loc>
<lastmod>2026-08-12T02:58:15.372Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/7</loc>
<lastmod>2026-08-12T02:58:15.387Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/8</loc>
<lastmod>2026-08-12T03:35:00.280Z</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-12T02:58:15.443Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/2</loc>
<lastmod>2026-08-12T02:58:15.612Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/3</loc>
<lastmod>2026-08-12T02:58:15.628Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/4</loc>
<lastmod>2026-08-12T02:58:15.645Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/5</loc>
<lastmod>2026-08-12T02:58:15.662Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/6</loc>
<lastmod>2026-08-12T02:58:15.679Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/7</loc>
<lastmod>2026-08-12T02:58:15.697Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/8</loc>
<lastmod>2026-08-12T12:05:46.257Z</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-12T02:58:13.694Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/2</loc>
<lastmod>2026-08-12T02:58:13.718Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/3</loc>
<lastmod>2026-08-12T02:58:13.737Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/4</loc>
<lastmod>2026-08-12T02:58:13.759Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/5</loc>
<lastmod>2026-08-12T02:58:13.781Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/6</loc>
<lastmod>2026-08-12T02:58:13.802Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/7</loc>
<lastmod>2026-08-12T02:58:13.819Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/8</loc>
<lastmod>2026-08-12T02:58:13.838Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/9</loc>
<lastmod>2026-08-12T02:58:13.865Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/10</loc>
<lastmod>2026-08-12T02:58:13.889Z</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-12T02:58:13.565Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/2</loc>
<lastmod>2026-08-12T02:58:13.582Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/3</loc>
<lastmod>2026-08-12T02:58:13.600Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/4</loc>
<lastmod>2026-08-12T02:58:13.618Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/5</loc>
<lastmod>2026-08-12T02:58:13.635Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/6</loc>
<lastmod>2026-08-12T02:58:13.656Z</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-12T02:58:13.206Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/2</loc>
<lastmod>2026-08-12T02:58:13.226Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/3</loc>
<lastmod>2026-08-12T02:58:13.249Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/4</loc>
<lastmod>2026-08-12T02:58:13.276Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/5</loc>
<lastmod>2026-08-12T02:58:13.295Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/6</loc>
<lastmod>2026-08-12T02:58:13.330Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/api-contract</loc>
<lastmod>2026-08-12T02:58:12.158Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/idempotency</loc>
<lastmod>2026-08-12T02:58:12.341Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/ssot</loc>
<lastmod>2026-08-12T02:58:12.657Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/database-migration</loc>
<lastmod>2026-08-12T02:58:12.252Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/rate-limit</loc>
<lastmod>2026-08-12T02:58:12.558Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/cache</loc>
<lastmod>2026-08-12T02:58:12.185Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/sse</loc>
<lastmod>2026-08-12T02:58:12.646Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/webrtc-cost-gate</loc>
<lastmod>2026-08-12T02:58:12.769Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/test-fixture</loc>
<lastmod>2026-08-12T02:58:12.708Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/object-storage</loc>
<lastmod>2026-08-12T02:58:12.418Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/tauri-capability</loc>
<lastmod>2026-08-12T02:58:12.682Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/scheduler</loc>
<lastmod>2026-08-12T02:58:12.605Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/orm</loc>
<lastmod>2026-08-12T02:58:12.467Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/connection-pool</loc>
<lastmod>2026-08-12T02:58:12.236Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/query-plan</loc>
<lastmod>2026-08-12T02:58:12.536Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/postgresql</loc>
<lastmod>2026-08-12T02:58:12.504Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/sqlite</loc>
<lastmod>2026-08-12T02:58:12.630Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/jwt</loc>
<lastmod>2026-08-12T02:58:12.368Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/audit-log</loc>
<lastmod>2026-08-12T02:58:12.170Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/fail-closed</loc>
<lastmod>2026-08-12T02:58:12.278Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/grpc</loc>
<lastmod>2026-08-12T02:58:12.305Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/websocket</loc>
<lastmod>2026-08-12T02:58:12.794Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/webrtc</loc>
<lastmod>2026-08-12T02:58:12.782Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/ice</loc>
<lastmod>2026-08-12T02:58:12.329Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/turn</loc>
<lastmod>2026-08-12T02:58:12.741Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/cloud-ai-cost-gate</loc>
<lastmod>2026-08-12T02:58:12.221Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/text-to-speech</loc>
<lastmod>2026-08-12T02:58:12.730Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/rag</loc>
<lastmod>2026-08-12T02:58:12.547Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/hnsw</loc>
<lastmod>2026-08-12T02:58:12.317Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/pgvector</loc>
<lastmod>2026-08-12T02:58:12.479Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/vite</loc>
<lastmod>2026-08-12T02:58:12.753Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/tauri</loc>
<lastmod>2026-08-12T02:58:12.694Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/zustand</loc>
<lastmod>2026-08-12T02:58:12.805Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/tanstack-query</loc>
<lastmod>2026-08-12T02:58:12.669Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/indexeddb</loc>
<lastmod>2026-08-12T02:58:12.355Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/fastapi</loc>
<lastmod>2026-08-12T02:58:12.292Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/spring-mvc</loc>
<lastmod>2026-08-12T02:58:12.618Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/row-level-security</loc>
<lastmod>2026-08-12T02:58:12.593Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/playwright</loc>
<lastmod>2026-08-12T02:58:12.491Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/testcontainers</loc>
<lastmod>2026-08-12T02:58:12.719Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/lm-studio</loc>
<lastmod>2026-08-12T02:58:12.394Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/onnx-runtime-web</loc>
<lastmod>2026-08-12T02:58:12.455Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/react</loc>
<lastmod>2026-08-12T02:58:12.569Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/nextjs</loc>
<lastmod>2026-08-12T02:58:12.406Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/redis</loc>
<lastmod>2026-08-12T02:58:12.581Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/kafka</loc>
<lastmod>2026-08-12T02:58:12.382Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/ocr</loc>
<lastmod>2026-08-12T02:58:12.433Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/caddy</loc>
<lastmod>2026-08-12T02:58:12.204Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/docker-compose</loc>
<lastmod>2026-08-12T02:58:12.266Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/terms/prometheus</loc>
<lastmod>2026-08-12T02:58:12.524Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/api-contract</loc>
<lastmod>2026-08-12T02:58:12.148Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/idempotency</loc>
<lastmod>2026-08-12T02:58:12.335Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/ssot</loc>
<lastmod>2026-08-12T02:58:12.652Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/database-migration</loc>
<lastmod>2026-08-12T02:58:12.243Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/rate-limit</loc>
<lastmod>2026-08-12T02:58:12.553Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/cache</loc>
<lastmod>2026-08-12T02:58:12.178Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/sse</loc>
<lastmod>2026-08-12T02:58:12.640Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/webrtc-cost-gate</loc>
<lastmod>2026-08-12T02:58:12.763Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/test-fixture</loc>
<lastmod>2026-08-12T02:58:12.700Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/object-storage</loc>
<lastmod>2026-08-12T02:58:12.412Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/tauri-capability</loc>
<lastmod>2026-08-12T02:58:12.676Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/scheduler</loc>
<lastmod>2026-08-12T02:58:12.599Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/orm</loc>
<lastmod>2026-08-12T02:58:12.460Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/connection-pool</loc>
<lastmod>2026-08-12T02:58:12.227Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/query-plan</loc>
<lastmod>2026-08-12T02:58:12.529Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/postgresql</loc>
<lastmod>2026-08-12T02:58:12.498Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/sqlite</loc>
<lastmod>2026-08-12T02:58:12.624Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/jwt</loc>
<lastmod>2026-08-12T02:58:12.361Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/audit-log</loc>
<lastmod>2026-08-12T02:58:12.164Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/fail-closed</loc>
<lastmod>2026-08-12T02:58:12.273Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/grpc</loc>
<lastmod>2026-08-12T02:58:12.298Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/websocket</loc>
<lastmod>2026-08-12T02:58:12.788Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/webrtc</loc>
<lastmod>2026-08-12T02:58:12.776Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/ice</loc>
<lastmod>2026-08-12T02:58:12.322Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/turn</loc>
<lastmod>2026-08-12T02:58:12.735Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/cloud-ai-cost-gate</loc>
<lastmod>2026-08-12T02:58:12.212Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/text-to-speech</loc>
<lastmod>2026-08-12T02:58:12.724Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/rag</loc>
<lastmod>2026-08-12T02:58:12.542Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/hnsw</loc>
<lastmod>2026-08-12T02:58:12.310Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/pgvector</loc>
<lastmod>2026-08-12T02:58:12.473Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/vite</loc>
<lastmod>2026-08-12T02:58:12.747Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/tauri</loc>
<lastmod>2026-08-12T02:58:12.688Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/zustand</loc>
<lastmod>2026-08-12T02:58:12.800Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/tanstack-query</loc>
<lastmod>2026-08-12T02:58:12.663Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/indexeddb</loc>
<lastmod>2026-08-12T02:58:12.348Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/fastapi</loc>
<lastmod>2026-08-12T02:58:12.285Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/spring-mvc</loc>
<lastmod>2026-08-12T02:58:12.612Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/row-level-security</loc>
<lastmod>2026-08-12T02:58:12.587Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/playwright</loc>
<lastmod>2026-08-12T02:58:12.485Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/testcontainers</loc>
<lastmod>2026-08-12T02:58:12.713Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/lm-studio</loc>
<lastmod>2026-08-12T02:58:12.388Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/onnx-runtime-web</loc>
<lastmod>2026-08-12T02:58:12.449Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/react</loc>
<lastmod>2026-08-12T02:58:12.563Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/nextjs</loc>
<lastmod>2026-08-12T02:58:12.400Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/redis</loc>
<lastmod>2026-08-12T02:58:12.575Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/kafka</loc>
<lastmod>2026-08-12T02:58:12.376Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/ocr</loc>
<lastmod>2026-08-12T02:58:12.426Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/caddy</loc>
<lastmod>2026-08-12T02:58:12.193Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/docker-compose</loc>
<lastmod>2026-08-12T02:58:12.260Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/terms/prometheus</loc>
<lastmod>2026-08-12T02:58:12.510Z</lastmod>
<priority>0.5</priority>
</url>
</urlset>
