<?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/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/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/legal/codingstairs</loc>
<lastmod>2026-05-06T00:00:00.000Z</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/legal/codingstairs</loc>
<lastmod>2026-05-06T00:00:00.000Z</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/legal/matgilog</loc>
<lastmod>2026-01-20T00:00:00.000Z</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/legal/matgilog</loc>
<lastmod>2026-01-20T00:00:00.000Z</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/legal/readingbounce</loc>
<lastmod>2026-01-20T00:00:00.000Z</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/legal/readingbounce</loc>
<lastmod>2026-01-20T00:00:00.000Z</lastmod>
<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/agent-tooling/15-google-stitch</loc>
<lastmod>2026-05-07T04:36:49.217Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/09-notebooklm</loc>
<lastmod>2026-05-07T04:36:49.186Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-05-07T02:58:46.204Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-05-07T02:58:46.183Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/20-replit</loc>
<lastmod>2026-05-07T02:58:46.150Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/21-github-pages</loc>
<lastmod>2026-05-07T02:40:27.554Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/05-version-managers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/06-git-workflow</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/07-gradle</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/08-editor-setup</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/09-linting-formatting</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/11-regex</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/01-jwt-rotation</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/04-input-validation-zod</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/05-password-hashing</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/06-headers-and-cors</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/01-testcontainers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/03-observability-minimal</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/04-github-actions</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/01-data-structures</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/02-big-o</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/03-design-patterns</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/06-docs-for-agent-and-human</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/07-korean-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/04-ios-build</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/01-how-to-search</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/03-how-to-ask-good-questions</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/01-typescript-strict</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/02-java21-modern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/03-python-async</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/01-docker-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/08-forms-zod</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/09-bundlers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/13-native-integrations</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/frontend/14-loading-ux</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/02-shells-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/04-powershell-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/07-markdown</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/10-data-formats</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/11-wsl2</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/00-sql-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/02-postgres-deep</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/03-three-layer-cache</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/04-redis-roles</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/05-data-pipeline</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/07-pgvector-rag</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/08-supabase</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/09-fcm-push</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/10-image-pipeline</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/11-backup-restore</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/01-aws-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/04-security-group</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/05-ec2</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/07-flyio</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/08-iam</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/09-s3</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/10-rds</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/11-cloudfront</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/12-lambda</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/13-route53</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/14-load-balancers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/10-openapi-spec</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/backend/12-websocket-sse</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/03-prompt-design</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/04-gemini-api</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/06-agents-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/ai/07-llm-landscape</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/01-postgres-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/data/06-kafka-when</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/cloud/06-deploying-options</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/01-html</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/02-css</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/06-internet-how-it-works</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/01-pnpm</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/02-monorepo-light</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/notes/tools/03-python-uv</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/15-google-stitch</loc>
<lastmod>2026-05-07T04:36:49.227Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/09-notebooklm</loc>
<lastmod>2026-05-07T04:36:49.204Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/14-ai-web-ides</loc>
<lastmod>2026-05-07T02:58:46.211Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/08-google-ai-studio</loc>
<lastmod>2026-05-07T02:58:46.194Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/20-replit</loc>
<lastmod>2026-05-07T02:58:46.173Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/21-github-pages</loc>
<lastmod>2026-05-07T02:40:27.563Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/13-audit-log-pattern</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/07-anonymous-form-hardening</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/06-e2e-equivalence-manifest</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/15-admin-table-ssot</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/12-multi-pg-pool-orchestration</loc>
<lastmod>2026-05-06T11:44:02.758Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/04-env-and-secrets</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/05-version-managers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/06-git-workflow</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/07-gradle</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/08-editor-setup</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/09-linting-formatting</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/10-python-venv-poetry-history</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/11-regex</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/12-git-submodule-lfs</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/01-jwt-rotation</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/03-rate-limit-redis</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/04-input-validation-zod</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/05-password-hashing</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/06-headers-and-cors</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/01-testcontainers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/02-vitest-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/03-observability-minimal</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/04-github-actions</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/quality/05-vitest-pytest-infra</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/01-data-structures</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/02-big-o</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/03-design-patterns</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/programming/04-oop-vs-functional</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/02-ssot-everywhere</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/03-folder-as-contract</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/04-tradeoff-not-bestpractice</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/05-progressive-refactor</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/06-docs-for-agent-and-human</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/07-korean-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/08-no-ai-credit</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/09-feature-flag-skeptic</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/02-flutter-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/03-android-build-apk</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/04-ios-build</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/01-how-to-search</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/02-how-to-read-docs</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/03-how-to-ask-good-questions</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/04-learning-roadmap</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/learning/05-debugging-mindset</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/01-typescript-strict</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/02-java21-modern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/03-python-async</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/languages/04-rust-for-tauri</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/01-docker-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/02-docker-compose-patterns</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/03-caddy-not-nginx</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/04-loopback-ssh-tunnel</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/05-single-server-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/06-local-https-mkcert</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/infra/07-cloud-emulator-stack</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/01-react19-compiler</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/02-nextjs-app-router</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/03-state-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/04-styling-tailwind</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/05-tauri-over-electron</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/06-i18n-korean-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/07-material3-tokens</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/08-forms-zod</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/09-bundlers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/10-tauri-mobile-admob</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/11-sqlite-local</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/12-ocr-stt-tts</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/13-native-integrations</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/frontend/14-loading-ux</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/02-shells-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/03-bash-and-sh</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/04-powershell-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/05-cmd-and-bat</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/06-cross-platform-scripts</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/07-markdown</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/08-text-encoding-line-endings</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/09-first-terminal-day</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/10-data-formats</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/11-wsl2</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/00-sql-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/02-postgres-deep</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/03-three-layer-cache</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/04-redis-roles</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/05-data-pipeline</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/07-pgvector-rag</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/08-supabase</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/09-fcm-push</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/10-image-pipeline</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/11-backup-restore</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/01-aws-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/02-vpc-and-subnet</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/03-internet-gateway-route-table</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/04-security-group</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/05-ec2</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/07-flyio</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/08-iam</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/09-s3</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/10-rds</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/11-cloudfront</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/12-lambda</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/13-route53</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/14-load-balancers</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/15-ecs-fargate</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/16-localstack-and-ministack</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/17-supabase-self-hosted</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/18-firebase-emulator</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/19-api-mocking-wiremock</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/01-spring-multi-module</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/02-spring-webflux-vs-mvc</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/03-fastapi-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/04-python-folder-philosophy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/05-sql-as-ssot</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/06-api-handler-pattern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/07-jobs-apscheduler</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/08-typeorm-readonly</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/09-crawler-ethics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/10-openapi-spec</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/11-rest-api-intro</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/backend/12-websocket-sse</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/01-local-llm-lmstudio</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/02-rag-pgvector</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/03-prompt-design</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/04-gemini-api</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/05-embeddings-deep</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/06-agents-overview</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/ai/07-llm-landscape</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/01-mcp</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/02-mcp-clients</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/03-mcp-context7</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/04-mcp-figma</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/05-google-adk</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/06-claude-code-skills</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/07-subagents</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/08-hooks-settings</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/09-claude-md-pattern</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/11-ai-cli-tools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/security/02-oauth-state-pkce</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/01-kiss-dry-yagni</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/philosophy/10-naming-readability</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/mobile/01-cross-platform-options</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/environment/01-windows-vs-mac</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/01-postgres-first</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/data/06-kafka-when</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/cloud/06-deploying-options</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/10-ai-coding-ides</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/12-ai-workflow-tools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/agent-tooling/13-ai-browser-assistants</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/01-html</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/02-css</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/03-javascript-basics</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/04-http-rest</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/05-url-anatomy</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/06-internet-how-it-works</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/web-fundamentals/07-browser-devtools</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/01-pnpm</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/02-monorepo-light</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/notes/tools/03-python-uv</loc>
<lastmod>2026-05-05T14:56:50.814Z</lastmod>
<priority>0.5</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/getting-started/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/frontend-foundations/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/nextjs-fullstack/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/backend-with-spring/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/python-data-pipeline/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/ai-agent-tooling/7</loc>
<lastmod>2026-05-07T04:36:49.263Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/8</loc>
<lastmod>2026-05-07T02:58:46.219Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/devops-cloud/9</loc>
<lastmod>2026-05-07T02:41:08.984Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/admin-platform/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/local-llm-rag/7</loc>
<lastmod>2026-05-07T04:36:49.241Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/quality-and-testing/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/security-foundations/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/data-engineering-postgres/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/crawler-and-public-data/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/edu/architecture-patterns/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/getting-started/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/frontend-foundations/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/nextjs-fullstack/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/backend-with-spring/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/python-data-pipeline/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/ai-agent-tooling/7</loc>
<lastmod>2026-05-07T04:36:49.271Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/8</loc>
<lastmod>2026-05-07T02:58:46.233Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/devops-cloud/9</loc>
<lastmod>2026-05-07T02:41:08.991Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/admin-platform/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/local-llm-rag/7</loc>
<lastmod>2026-05-07T04:36:49.255Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/tauri-desktop-mobile/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/quality-and-testing/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/security-foundations/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/7</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/data-engineering-postgres/8</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/crawler-and-public-data/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</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-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/2</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/3</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/4</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/5</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://codingstairs.duckdns.org/en/edu/architecture-patterns/6</loc>
<lastmod>2026-05-06T13:11:32.969Z</lastmod>
<priority>0.6</priority>
</url>
</urlset>
