<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://api.tomaszjarosz.dev/</loc><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-21-cheatsheet</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-20-testing</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-19-error-handling</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-18-event-driven-patterns</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-17-windowing-joins</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-16-state-stores</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-15-streams-fundamentals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-14-monitoring-operations</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-13-security</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-12-schema-registry</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-11-exactly-once</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-10-offset-management</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-9-consumer-groups</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-8-consumer-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-7-advanced-producer</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-6-delivery-guarantees</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-5-producer-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-4-cluster-coordination</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-3-fault-tolerance</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-2-partitions</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-1-architecture</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/kafka-part-0-how-to-use-this-series</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-29-cheatsheet-decision-guide</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-28-performance-pitfalls</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-27-testing-debugging</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-26-jpa-jackson-spring</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-25-views-wrappers-defensive</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-24-streams-collectors</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-23-java21-sequenced-collections</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-22-immutable-collections</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-21-blocking-queues</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-20-copy-on-write</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-19-concurrenthashmap-advanced</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-18-concurrenthashmap-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-17-priorityqueue-heap</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-16-queue-deque-arraydeque</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-15-linkedhashmap-specialized</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-14-treemap-navigable</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-13-hashmap-tree-bins</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-12-hashmap-buckets-collisions</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-11-enumset-linkedhashset</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-10-treeset-navigable</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-9-hashset-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-8-list-utilities</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-7-linkedlist-deep-dive</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-6-arraylist-deep-dive</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-5-arrays-bitset-primitives</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-4-iterators-and-iteration</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-3-equals-hashcode-contract</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-2-generics-mastery</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-1-collection-framework-architecture</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/java-collections-part-0-how-to-use-this-series</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-24-list-comparison</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-23-raft</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-22-consistent-hashing</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-21-btree</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-20-bloom-filter</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-19-sql-joins</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-18-gc</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-17-immutable</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-16-copyonwrite</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-15-blockingqueue</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-14-concurrenthashmap</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-13-dp</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-12-dijkstra</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-11-graph-traversal</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-10-sorting</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-9-binary-search</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-8-enumset</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-7-linkedhashmap</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-6-arraydeque</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-5-priorityqueue</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-4-treeset</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-3-hashmap</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-2-linkedlist</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-1-arraylist</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/dsa-cheatsheet-part-0-overview</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-20-cheatsheet</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-19-monitoring</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-18-deployment</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-17-cicd</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-16-dev-vs-prod</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-15-dependencies</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-14-compose-deep-dive</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-13-debugging</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-12-security</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-11-logging</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-10-volumes</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-9-resource-management</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-8-build-configuration</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-7-base-images</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-6-multi-stage-builds</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-5-dockerfile-optimization</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-4-networking-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-3-build-process</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-2-image-anatomy</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-1-container-internals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/docker-part-0-how-to-use-this-series</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-22-interview-patterns</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-21-probabilistic-algorithms</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-20-backtracking</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-19-greedy-algorithms</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-18-advanced-dp-techniques</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-17-classic-dp-patterns</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-16-dynamic-programming-foundations</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-15-graph-algorithms-in-practice</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-14-advanced-graph-algorithms</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-13-minimum-spanning-tree</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-12-shortest-path</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-11-graph-traversal</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-10-string-searching</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-9-specialized-search</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-8-binary-search-mastery</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-7-advanced-sorting-techniques</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-6-sorting-in-practice</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-5-linear-time-sorting</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-4-comparison-based-sorting</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-3-divide-and-conquer</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-2-recursion-iteration-mastery</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-1-algorithm-analysis-fundamentals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/algorithms-part-0-how-to-use-this-series</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-25-decision-guide</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-24-spring-boot</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-23-modern-java</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-22-strangler-fig</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-21-breaking-dependencies</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-20-characterization-testing</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-19-legacy-code</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-18-fluent-validation</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-17-bean-validation</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-16-global-error-handling</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-15-result-pattern</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-14-exception-hierarchy</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-13-template-method</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-12-chain-pipeline</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-11-functional</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-10-composition</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-9-builder-factory</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-8-null-handling</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-7-replace-conditionals</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-6-extract-patterns</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-5-metrics</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-4-code-smells</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-3-solid-lsp-isp-dip</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-2-solid-srp-ocp</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-1-philosophy</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://api.tomaszjarosz.dev/blog/clean-code-part-0-how-to-use</loc><lastmod>2026-06-16</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url></urlset>