<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://proschi.app/</loc></url>
  <url><loc>https://proschi.app/app/</loc></url>
  <url><loc>https://proschi.app/practice/</loc></url>
  <url><loc>https://proschi.app/practice/hello-proschi/</loc></url>
  <url><loc>https://proschi.app/practice/shopping-cart/</loc></url>
  <url><loc>https://proschi.app/practice/pastebin/</loc></url>
  <url><loc>https://proschi.app/practice/rate-limiter/</loc></url>
  <url><loc>https://proschi.app/practice/snowflake-ids/</loc></url>
  <url><loc>https://proschi.app/practice/url-shortener/</loc></url>
  <url><loc>https://proschi.app/practice/chat/</loc></url>
  <url><loc>https://proschi.app/practice/job-queue/</loc></url>
  <url><loc>https://proschi.app/practice/file-storage/</loc></url>
  <url><loc>https://proschi.app/practice/news-feed/</loc></url>
  <url><loc>https://proschi.app/practice/notification-fanout/</loc></url>
  <url><loc>https://proschi.app/practice/notion-sharding/</loc></url>
  <url><loc>https://proschi.app/practice/push-gateway/</loc></url>
  <url><loc>https://proschi.app/practice/github-repo-replication/</loc></url>
  <url><loc>https://proschi.app/practice/ride-matching/</loc></url>
  <url><loc>https://proschi.app/practice/search-autocomplete/</loc></url>
  <url><loc>https://proschi.app/practice/cdn-tiered-cache/</loc></url>
  <url><loc>https://proschi.app/practice/trending-topics/</loc></url>
  <url><loc>https://proschi.app/practice/view-counting/</loc></url>
  <url><loc>https://proschi.app/practice/discord-messages/</loc></url>
  <url><loc>https://proschi.app/practice/flash-sale/</loc></url>
  <url><loc>https://proschi.app/practice/metrics-ingest/</loc></url>
  <url><loc>https://proschi.app/practice/payments/</loc></url>
  <url><loc>https://proschi.app/practice/social-graph-cache/</loc></url>
  <url><loc>https://proschi.app/practice/ticket-booking/</loc></url>
  <url><loc>https://proschi.app/practice/video-streaming/</loc></url>
  <url><loc>https://proschi.app/practice/approach/</loc></url>
  <url><loc>https://proschi.app/practice/cards/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/bits-vs-bytes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/fanout-write-amplification/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/field-sizes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/image-feed-bandwidth/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/log-volume-per-day/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/metrics-ingest-rate/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/qps-from-daily-users/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/read-qps-from-write-ratio/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/read-write-ratio-first/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/seconds-in-a-day/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/seconds-in-a-month/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/servers-for-peak-load/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/ssd-vs-memory-latency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/video-upload-storage-per-day/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/base62-code-space/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/cache-size-for-hot-keys/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/round-trip-latencies/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/slowest-operation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/storage-for-five-years-of-posts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/thirty-two-bit-ids/</loc></url>
  <url><loc>https://proschi.app/practice/cards/estimation/littles-law-concurrency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/connection-draining/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/dns-resolution-path/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/l4-vs-l7-load-balancer/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/reverse-proxy-roles/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/sticky-sessions/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/anycast/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/connection-reuse/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/dns-ttl-tradeoff/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/least-connections/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/new-connection-latency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/service-discovery/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/tls-termination/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/cdn-helps-on-miss/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/geodns-limits/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/handshake-round-trips/</loc></url>
  <url><loc>https://proschi.app/practice/cards/networking/http3-head-of-line/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/breaking-change/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/http-idempotent-methods/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/long-running-operations/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/put-vs-patch/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/rate-limit-response/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/retryable-status/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/api-gateway-scope/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/cursor-vs-offset-pagination/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/evolving-mobile-apis/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/graphql-tradeoff/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/idempotency-key-design/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/rest-vs-grpc/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/webhook-receiver/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/webhook-retry-window/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/concurrent-idempotency-keys/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/etag-lost-update/</loc></url>
  <url><loc>https://proschi.app/practice/cards/api-design/keyset-tiebreaker/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/cache-aside/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/choosing-a-ttl/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/fingerprinted-assets/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/hit-rate-to-db-load/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/negative-caching/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/average-latency-with-cache/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/cache-cannot-decide/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/cache-stampede/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/cdn-cache-control/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/cold-cache-restart/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/feed-ids-and-objects/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/redis-vs-memcached/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/two-level-cache/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/write-around-for-bulk/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/write-back-risk/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/delete-on-write/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/early-recomputation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/hot-key-replicas/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/lfu-weakness/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/lru-vs-lfu-scan/</loc></url>
  <url><loc>https://proschi.app/practice/cards/caching/stale-set-race/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/connection-pooler/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/cost-of-an-index/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/n-plus-one-queries/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/when-relational/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/write-ahead-log/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/composite-index-prefix/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/conditional-stock-update/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/connection-pool-size/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/covering-index/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/denormalization/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/expand-contract-migration/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/low-selectivity-index/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/lsm-write-path/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/oltp-vs-olap/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/online-backfill/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/pessimistic-locking-when/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/b-tree-vs-lsm-tree/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/lsm-fast-reads/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/mvcc/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/random-uuid-keys/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/read-committed-anomaly/</loc></url>
  <url><loc>https://proschi.app/practice/cards/databases/write-skew/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/cross-region-async/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/replicas-do-not-scale-writes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/async-failover-loss/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/disk-vs-app-replication/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/leaderless-replication/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/monotonic-reads/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/read-repair/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/read-your-writes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/sync-vs-async-replication/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/failover-timeout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/last-write-wins-loss/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/multi-leader-conflicts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/promoting-a-lagging-follower/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/semi-synchronous/</loc></url>
  <url><loc>https://proschi.app/practice/cards/replication/split-brain/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/geo-partitioning/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/nodes-for-storage/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/shards-for-write-rate/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/snowflake-throughput/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/consistent-hashing/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/cross-shard-joins/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/good-partition-key/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/range-vs-hash-partitioning/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/scatter-gather/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/snowflake-id-layout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/timestamp-key-hotspot/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/workspace-partition-key/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/global-secondary-index/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/hot-partition-key/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/logical-shards/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/online-resharding/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/snowflake-clock-backwards/</loc></url>
  <url><loc>https://proschi.app/practice/cards/sharding/virtual-nodes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/raft-failures-tolerated/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/when-eventual-is-fine/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/cap-during-a-partition/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/crdts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/linearizability/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/never-reject-an-add/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/quorum-read-size/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/raft-commit/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/raft-term/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/saga-over-2pc/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/transactional-outbox/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/unique-username/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/causal-consistency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/odd-cluster-size/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/quorum-replica-load/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/saga-isolation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/sloppy-quorum/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/two-phase-commit-blocking/</loc></url>
  <url><loc>https://proschi.app/practice/cards/consistency/version-vectors/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/claim-check/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/competing-consumers/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/dead-letter-queue/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/queue-load-levelling/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/queue-vs-pub-sub/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/scale-on-message-age/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/separate-priority-queues/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/workers-needed/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/at-least-once-needs-idempotency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/backlog-drain-time/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/backpressure/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/celebrity-fanout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/delayed-retries/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/fanout-write-vs-read/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/log-vs-queue/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/per-key-ordering/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/store-before-fanout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/queues/visibility-timeout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/batch-is-fine/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/consumers-beyond-partitions/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/kafka-retention/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/partitions-for-throughput/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/tumbling-window/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/event-time/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/kafka-ordering/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/log-compaction/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/offset-commit-timing/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/pre-aggregate-counts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/retention-storage/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/session-window/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/change-data-capture/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/checkpointed-state/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/kappa-reprocessing/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/late-event-options/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/rebalance-effects/</loc></url>
  <url><loc>https://proschi.app/practice/cards/streaming/watermarks/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/four-nines-per-year/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/rto-and-rpo/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/three-nines-downtime/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/active-active-vs-active-passive/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/availability-in-series/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/beat-your-dependency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/correlated-failures/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/error-budget/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/safe-deploys/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/surviving-a-zone/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/zero-rpo-setup/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/cell-architecture/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/deep-health-checks/</loc></url>
  <url><loc>https://proschi.app/practice/cards/availability/three-replicas-parallel/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/graceful-degradation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/load-shedding/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/timeouts-on-every-call/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/backoff-with-jitter/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/bulkheads/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/circuit-breaker/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/fixed-window-boundary/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/leaky-bucket/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/retry-amplification/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/shared-rate-limit-counter/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/token-bucket/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/deadline-propagation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/fail-open-or-closed/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/hedged-requests/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/sliding-window-counter/</loc></url>
  <url><loc>https://proschi.app/practice/cards/resilience/stale-queued-requests/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/egress-bill/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/hls-segments-cache/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/metadata-vs-content/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/multipart-upload/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/object-vs-block-storage/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/storage-classes/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/upload-completion-events/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/block-file-object/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/content-addressed-dedup/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/durability-is-not-backup/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/erasure-coding-raw-capacity/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/hour-of-video/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/presigned-upload/</loc></url>
  <url><loc>https://proschi.app/practice/cards/storage/erasure-coding/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/delivery-receipts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/long-polling/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/push-when-offline/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/sse-for-one-way/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/typing-indicators/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/websocket-servers-needed/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/ack-after-store/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/presence-heartbeats/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/push-is-best-effort/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/reconnect-storm/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/stateful-gateways/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/sync-on-reconnect/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/message-ordering/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/presence-fanout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/realtime/routing-to-a-websocket/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/geohash-prefix/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/heavy-hitters-structure/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/inverted-index/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/leaderboard-sorted-set/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/activity-bitmaps/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/bloom-filter/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/bloom-filter-memory/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/count-min-sketch/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/cuckoo-filter/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/geohash-neighbours/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/hyperloglog/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/merkle-tree/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/quadtree-vs-geohash/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/trie-top-k/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/skip-list/</loc></url>
  <url><loc>https://proschi.app/practice/cards/data-structures/top-k-heap/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/authn-vs-authz/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/jwt-payload-is-readable/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/least-privilege-role/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/csrf-and-cookies/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/encryption-at-rest-threat/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/leaked-signed-url/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/login-brute-force-time/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/mtls-between-services/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/oauth-pkce/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/secret-rotation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/session-cookie-flags/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/botnet-per-ip-limit/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/envelope-encryption/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/idempotency-is-not-replay-protection/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/jwt-algorithm-check/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/jwt-revocation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/security/ssrf/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/average-hides-the-tail/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/metrics-logs-traces/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/red-and-use/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/sli-slo-sla/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/structured-logging/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/averaging-percentiles/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/context-propagation/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/four-nines-weekly-window/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/latency-histograms/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/metric-cardinality/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/slo-not-100/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/synthetic-vs-real-user/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/three-and-a-half-nines/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/trace-and-span-ids/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/burn-rate-alerts/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/burn-rate-time-left/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/fan-out-tail-latency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/observability/head-vs-tail-sampling/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/nodes-for-three-failures/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/ephemeral-znode/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/lamport-clock/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/leader-lease/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/quorum-zone-placement/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/raft-election-timeout/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/raft-vs-paxos/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/saga-orchestration-vs-choreography/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/zookeeper-etcd-uses/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/fencing-tokens/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/idempotent-consumer-crash/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/raft-cross-region-latency/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/raft-vote-restriction/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/redlock-debate/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/two-pc-coordinator-crash/</loc></url>
  <url><loc>https://proschi.app/practice/cards/coordination/vector-clock-compare/</loc></url>
  <url><loc>https://proschi.app/docs/</loc></url>
  <url><loc>https://proschi.app/docs/quickstart/</loc></url>
  <url><loc>https://proschi.app/docs/language/</loc></url>
  <url><loc>https://proschi.app/docs/model/</loc></url>
  <url><loc>https://proschi.app/docs/editors/</loc></url>
  <url><loc>https://proschi.app/docs/sharing/</loc></url>
  <url><loc>https://proschi.app/docs/numbers/</loc></url>
  <url><loc>https://proschi.app/docs/practice-authoring/</loc></url>
  <url><loc>https://proschi.app/docs/cards-authoring/</loc></url>
  <url><loc>https://proschi.app/docs/game-authoring/</loc></url>
  <url><loc>https://proschi.app/docs/privacy/</loc></url>
</urlset>
