<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://inkpaper-blog.pages.dev/</loc></url><url><loc>https://inkpaper-blog.pages.dev/about/</loc></url><url><loc>https://inkpaper-blog.pages.dev/auth/callback/</loc></url><url><loc>https://inkpaper-blog.pages.dev/auth/signin/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/2/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/3/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/4/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/5/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-01-what-are-ai-skills/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-02-context-is-the-skill/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-03-anatomy-of-a-skill/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-04-building-your-first-skill/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-05-composing-skills/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/ai-skills-06-real-workflow-patterns/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/astro-deep-dive-01-scaffolding/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/astro-deep-dive-02-islands-architecture/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/astro-deep-dive-03-content-collections/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/astro-deep-dive-04-deployment-cicd/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/build-time-mermaid-diagrams/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-01-project-structure/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-02-type-safety-protocols/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-03-repository-pattern/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-04-service-layer/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-05-dependency-injection/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-06-error-handling/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-07-async-patterns/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-08-testing-strategies/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-09-multi-tenant-foundation/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-10-configuration-feature-flags/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-11-connection-pooling/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-12-observability/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-13-caching-architecture/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-14-background-tasks/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-15-rate-limiting/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-16-data-consistency/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-17-multi-tenant-migrations/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-18-security-hardening/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-19-health-checks-deployment/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-20-event-driven-architecture/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-21-api-versioning/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-22-performance/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-23-production-deployment/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/clean-code-python-24-dependency-injector/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-01-security-mental-model/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-02-password-authentication/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-03-jwt-tokens/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-04-api-key-authentication/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-05-oauth2/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-06-openid-connect-sso/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-07-authorization-patterns/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/fastapi-auth-08-decision-framework/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/hashing-deep-dive/</loc></url><url><loc>https://inkpaper-blog.pages.dev/blog/hello-world/</loc></url><url><loc>https://inkpaper-blog.pages.dev/email-preferences/</loc></url><url><loc>https://inkpaper-blog.pages.dev/feed/</loc></url><url><loc>https://inkpaper-blog.pages.dev/reading-list/</loc></url><url><loc>https://inkpaper-blog.pages.dev/series/</loc></url><url><loc>https://inkpaper-blog.pages.dev/series/ai-skills-in-practice/</loc></url><url><loc>https://inkpaper-blog.pages.dev/series/astro-deep-dive/</loc></url><url><loc>https://inkpaper-blog.pages.dev/series/clean-code-python/</loc></url><url><loc>https://inkpaper-blog.pages.dev/series/fastapi-auth/</loc></url><url><loc>https://inkpaper-blog.pages.dev/settings/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/abac/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/agents/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/ai/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/api-design/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/api-keys/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/architecture/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/astro/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/async/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/asyncio/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/authentication/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/authorization/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/automation/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/backend/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/background-tasks/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/caching/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/cicd/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/clean-code/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/cloudflare/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/concurrency/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/configuration/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/content-collections/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/context/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/cqrs/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/cryptography/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/data-consistency/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/database/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/dependency-injection/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/deployment/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/design-system/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/developer-tools/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/devops/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/documentation/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/error-handling/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/event-driven/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/fastapi/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/feature-flags/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/hands-on/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/islands/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/jwt/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/lighthouse/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/logging/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/mdx/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/mermaid/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/migrations/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/monitoring/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/multi-tenant/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/oauth2/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/observability/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/openid-connect/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/passwords/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/patterns/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/performance/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/production/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/productivity/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/protocols/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/pytest/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/python/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/rate-limiting/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/rbac/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/react/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/redis/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/rehype/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/repository-pattern/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/security/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/service-layer/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/skills/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/sqlalchemy/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/sso/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/tailwind/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/testing/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/tutorial/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/type-safety/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/typescript/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/versioning/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/workflow/</loc></url><url><loc>https://inkpaper-blog.pages.dev/tags/zod/</loc></url></urlset>