<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
<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://viktorprogger.name/</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/"/></url><url><loc>https://viktorprogger.name/intro.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/intro.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/intro.html"/></url><url><loc>https://viktorprogger.name/support.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/support.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/support.html"/></url><url><loc>https://viktorprogger.name/posts/dev-environment-docker-for-php-projects-with-roadrunner.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/dev-environment-docker-for-php-projects-with-roadrunner.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/dev-environment-docker-for-php-projects-with-roadrunner.html"/></url><url><loc>https://viktorprogger.name/posts/dont-do-this-non-existent-trait-fields.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/dont-do-this-non-existent-trait-fields.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/dont-do-this-non-existent-trait-fields.html"/></url><url><loc>https://viktorprogger.name/posts/elusive-502-gateway-timeout.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/elusive-502-gateway-timeout.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/elusive-502-gateway-timeout.html"/></url><url><loc>https://viktorprogger.name/posts/has-it-bubble-burst.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/has-it-bubble-burst.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/has-it-bubble-burst.html"/></url><url><loc>https://viktorprogger.name/posts/how-did-i-use-the-builder-design-pattern.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-did-i-use-the-builder-design-pattern.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-did-i-use-the-builder-design-pattern.html"/></url><url><loc>https://viktorprogger.name/posts/how-to-choose-an-infrastructure-tool.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-choose-an-infrastructure-tool.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-choose-an-infrastructure-tool.html"/></url><url><loc>https://viktorprogger.name/posts/how-to-deal-with-procratination.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-deal-with-procratination.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-deal-with-procratination.html"/></url><url><loc>https://viktorprogger.name/posts/how-to-start-develop-opensource.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-start-develop-opensource.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-start-develop-opensource.html"/></url><url><loc>https://viktorprogger.name/posts/how-to-use-php-without-installing.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-use-php-without-installing.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-use-php-without-installing.html"/></url><url><loc>https://viktorprogger.name/posts/public-or-private-by-default-what-to-choose.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/public-or-private-by-default-what-to-choose.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/public-or-private-by-default-what-to-choose.html"/></url><url><loc>https://viktorprogger.name/posts/stateless-services-in-php.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/stateless-services-in-php.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/stateless-services-in-php.html"/></url><url><loc>https://viktorprogger.name/posts/two-class-types-for-your-project.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/two-class-types-for-your-project.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/two-class-types-for-your-project.html"/></url><url><loc>https://viktorprogger.name/posts/xdebug-docker-config-example.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/xdebug-docker-config-example.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/xdebug-docker-config-example.html"/></url><url><loc>https://viktorprogger.name/ru/</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/"/></url><url><loc>https://viktorprogger.name/ru/intro.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/intro.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/intro.html"/></url><url><loc>https://viktorprogger.name/ru/support.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/support.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/support.html"/></url><url><loc>https://viktorprogger.name/ru/posts/dev-environment-docker-for-php-projects-with-roadrunner.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/dev-environment-docker-for-php-projects-with-roadrunner.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/dev-environment-docker-for-php-projects-with-roadrunner.html"/></url><url><loc>https://viktorprogger.name/ru/posts/dont-do-this-non-existent-trait-fields.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/dont-do-this-non-existent-trait-fields.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/dont-do-this-non-existent-trait-fields.html"/></url><url><loc>https://viktorprogger.name/ru/posts/elusive-502-gateway-timeout.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/elusive-502-gateway-timeout.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/elusive-502-gateway-timeout.html"/></url><url><loc>https://viktorprogger.name/ru/posts/has-it-bubble-burst.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/has-it-bubble-burst.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/has-it-bubble-burst.html"/></url><url><loc>https://viktorprogger.name/ru/posts/how-did-i-use-the-builder-design-pattern.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-did-i-use-the-builder-design-pattern.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-did-i-use-the-builder-design-pattern.html"/></url><url><loc>https://viktorprogger.name/ru/posts/how-to-choose-an-infrastructure-tool.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-choose-an-infrastructure-tool.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-choose-an-infrastructure-tool.html"/></url><url><loc>https://viktorprogger.name/ru/posts/how-to-deal-with-procratination.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-deal-with-procratination.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-deal-with-procratination.html"/></url><url><loc>https://viktorprogger.name/ru/posts/how-to-start-develop-opensource.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-start-develop-opensource.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-start-develop-opensource.html"/></url><url><loc>https://viktorprogger.name/ru/posts/how-to-use-php-without-installing.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/how-to-use-php-without-installing.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/how-to-use-php-without-installing.html"/></url><url><loc>https://viktorprogger.name/ru/posts/public-or-private-by-default-what-to-choose.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/public-or-private-by-default-what-to-choose.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/public-or-private-by-default-what-to-choose.html"/></url><url><loc>https://viktorprogger.name/ru/posts/ru.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://viktorprogger.name/ru/posts/stateless-services-in-php.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/stateless-services-in-php.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/stateless-services-in-php.html"/></url><url><loc>https://viktorprogger.name/ru/posts/two-class-types-for-your-project.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/two-class-types-for-your-project.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/two-class-types-for-your-project.html"/></url><url><loc>https://viktorprogger.name/ru/posts/xdebug-docker-config-example.html</loc><lastmod>2026-08-28T20:27:49.000Z</lastmod><changefreq>daily</changefreq><xhtml:link rel="alternate" hreflang="en-US" href="https://viktorprogger.name/posts/xdebug-docker-config-example.html"/><xhtml:link rel="alternate" hreflang="ru-RU" href="https://viktorprogger.name/ru/posts/xdebug-docker-config-example.html"/></url></urlset>