<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://kpavlov.me/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/javable/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/post/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/kotlinx-schema/</loc><lastmod>2026-03-18T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/kotlin-large-files/</loc><lastmod>2026-03-04T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/mokksy/</loc><lastmod>2026-02-28T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/open-source-mindset/</loc><lastmod>2026-02-09T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/kotlinx-schema/</loc><lastmod>2026-02-01T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/ksp-maven-plugin/</loc><lastmod>2025-11-16T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/the-cookie-story/</loc><lastmod>2025-07-19T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/llm-evaluation-testing-with-promptfoo-a-practical-guide/</loc><lastmod>2025-06-06T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/contract-first-vs-contract-last/</loc><lastmod>2025-04-12T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/about/</loc><lastmod>2025-01-01T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/ai-proxy-pattern/</loc><lastmod>2025-06-06T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/kotlin-extensions-for-langchain4j/</loc><lastmod>2024-11-22T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/keeping-your-software-healthy-the-critical-role-of-dependency-updates/</loc><lastmod>2024-12-22T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/spring-boot-starters/</loc><lastmod>2025-01-19T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/code-review-best-practices/</loc><lastmod>2023-04-05T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/running-testcontainers-on-dynamic-ports/</loc><lastmod>2023-04-05T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/kotlin-playground-shortcode-hugo/</loc><lastmod>2024-12-30T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/spring-boot-configuration-practices/</loc><lastmod>2023-04-05T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/what-happens-when-you-split-systems-into-many-microservices/</loc><lastmod>2019-02-15T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/building-kotlin-data-pipelines/</loc><lastmod>2019-03-25T10:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/courage-in-software-development/</loc><lastmod>2019-01-26T11:30:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/new-oracle-jvm-licensing-to-encourage-agility/</loc><lastmod>2018-10-23T23:30:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/typical-mistake-in-webservice-design/</loc><lastmod>2025-01-03T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/customizing-rest-api-error-response-in-spring-boot-/-spring-security-oauth2/</loc><lastmod>2018-07-04T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/</loc><lastmod>2019-04-17T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2018-02-09-java-newrelic/</loc><lastmod>2018-02-09T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2017-12-31-self-signed-multidomain-certs/</loc><lastmod>2017-12-31T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/external-site-monitoring/</loc><lastmod>2017-12-31T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/the-programmers-oath/</loc><lastmod>2017-07-08T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/logging-policy/</loc><lastmod>2025-07-18T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/ui-first-development/</loc><lastmod>2023-05-04T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/how-to-start-testing-ui-before-backend-is-ready/</loc><lastmod>2017-02-23T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/rest-api-design-resources/</loc><lastmod>2021-05-08T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2016-05-12-selenium-tests-with-maven-and-selenide/</loc><lastmod>2016-05-12T16:26:25+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/developing-in-dirty-trunk/</loc><lastmod>2016-03-04T22:26:24+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/spring-freemarker-tips/</loc><lastmod>2016-05-10T19:32:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/devmode-javascript-exception-handler/</loc><lastmod>2016-02-11T23:09:16+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/secure-java-coding-best-practices/</loc><lastmod>2019-08-18T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/secure-java-logging-with-logback/</loc><lastmod>2025-07-18T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/implementing-automatic-reconnection-for-netty-client/</loc><lastmod>2015-07-11T09:31:22+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2015-06-17-java-webapp-tutorial/</loc><lastmod>2019-04-17T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/tags-input-control-for-angularjs/</loc><lastmod>2015-05-30T09:53:19+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/api-authentication-generating-hmac-digest-in-php-and-java/</loc><lastmod>2015-05-20T22:24:47+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/web-security-resources/</loc><lastmod>2015-08-01T10:15:10+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2015-02-19-booting-spring-webapp/</loc><lastmod>2015-02-19T23:39:35+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/syncing-itunes-library-between-two-computers/</loc><lastmod>2015-02-08T08:02:51+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/recalling-testing-principles/</loc><lastmod>2015-01-28T23:04:54+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2015-01-24-base64-variants-java/</loc><lastmod>2015-01-24T04:45:10+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/essential-intellij-idea-plugins-for-java-and-kotlin-developers/</loc><lastmod>2024-12-22T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-12-14-conditional-java-configurations-in-spring-framework/</loc><lastmod>2014-12-14T11:22:29+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-12-01-jax-ws-with-custom-sslsocketfactory/</loc><lastmod>2014-12-01T14:34:00+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-11-07-useful-code-templates-for-jetbrains-idea/</loc><lastmod>2014-11-07T07:10:16+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-09-07-chef-solo-for-managing-small-cloud/</loc><lastmod>2014-09-07T11:37:12+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/recommended-scrum-presentations/</loc><lastmod>2014-08-30T07:46:20+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-07-20-webjars-easy-packaging-client-libraries/</loc><lastmod>2014-07-20T22:00:48+03:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-06-09-jolokia-http-slash-json-bridge-for-jmx/</loc><lastmod>2014-06-09T13:17:37+03:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-05-10-json-validation-with-json-schema/</loc><lastmod>2014-05-10T15:48:12+03:00</lastmod></url><url><loc>https://kpavlov.me/archive/continuous-deployment-versioning-and-git/</loc><lastmod>2014-03-24T12:30:35+02:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-03-22-establishing-customizable-tomcat-configuration/</loc><lastmod>2014-03-22T12:40:16+03:00</lastmod></url><url><loc>https://kpavlov.me/blog/getting-more-entropy-in-java-on-linux/</loc><lastmod>2014-03-21T12:30:27+03:00</lastmod></url><url><loc>https://kpavlov.me/blog/chronicle/</loc><lastmod>2014-02-19T12:30:42+02:00</lastmod></url><url><loc>https://kpavlov.me/archive/2014-01-18-jvm-profiling-mode/</loc><lastmod>2014-01-18T12:33:12+03:00</lastmod></url><url><loc>https://kpavlov.me/blog/give-good-names-for-your-threads/</loc><lastmod>2014-01-16T12:16:26+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/sorting-and-search-algorithms-explained-in-a-dance/</loc><lastmod>2022-01-23T12:30:43+00:00</lastmod></url><url><loc>https://kpavlov.me/archive/2013-04-23-netty-how-to-initiate-ssl-handshake-from-client/</loc><lastmod>2013-04-23T12:55:57+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/using-expected-exceptions-in-unittests/</loc><lastmod>2013-04-22T11:17:01+03:00</lastmod></url><url><loc>https://kpavlov.me/blog/crearing-an-array-in-javascript/</loc><lastmod>2013-01-27T17:26:00+02:00</lastmod></url><url><loc>https://kpavlov.me/blog/semantic-versioning-specification-semver/</loc><lastmod>2013-01-19T19:20:00+00:00</lastmod></url><url><loc>https://kpavlov.me/blog/book-good-old-peopleware/</loc><lastmod>2012-05-25T09:40:00+04:00</lastmod></url><url><loc>https://kpavlov.me/blog/book-continuous-delivery...-by-jez-humble-and-david-farley/</loc><lastmod>2012-05-25T09:29:00+04:00</lastmod></url><url><loc>https://kpavlov.me/blog/configuring-protobuf-to-java-compiler-in-maven/</loc><lastmod>2024-12-30T00:00:00+00:00</lastmod></url><url><loc>https://kpavlov.me/legal/cookie-policy/</loc></url><url><loc>https://kpavlov.me/legal/privacy/</loc></url></urlset>