<?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://vnaumenko.ru/en/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/"/></url><url><loc>https://vnaumenko.ru/en/blog/ai-css-in-browsers/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ai-css-in-browsers/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ai-css-in-browsers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ai-css-in-browsers/"/></url><url><loc>https://vnaumenko.ru/en/blog/ai-subscription-token-economics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ai-subscription-token-economics/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ai-subscription-token-economics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ai-subscription-token-economics/"/></url><url><loc>https://vnaumenko.ru/en/blog/aligning-list-icons/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/aligning-list-icons/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/aligning-list-icons/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/aligning-list-icons/"/></url><url><loc>https://vnaumenko.ru/en/blog/axios-supply-chain-attack/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/axios-supply-chain-attack/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/axios-supply-chain-attack/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/axios-supply-chain-attack/"/></url><url><loc>https://vnaumenko.ru/en/blog/bemoji-css-framework/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bemoji-css-framework/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bemoji-css-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bemoji-css-framework/"/></url><url><loc>https://vnaumenko.ru/en/blog/bippy-react-internals/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bippy-react-internals/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bippy-react-internals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bippy-react-internals/"/></url><url><loc>https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/browser-compatibility-site-workarounds/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/"/></url><url><loc>https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/browser-main-thread-limited-resource/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/"/></url><url><loc>https://vnaumenko.ru/en/blog/bulletproof-react-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bulletproof-react-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bulletproof-react-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bulletproof-react-components/"/></url><url><loc>https://vnaumenko.ru/en/blog/chatgpt-web-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chatgpt-web-architecture/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chatgpt-web-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chatgpt-web-architecture/"/></url><url><loc>https://vnaumenko.ru/en/blog/chrome-css-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chrome-css-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chrome-css-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chrome-css-2025/"/></url><url><loc>https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chrome-devtools-performance-profiling-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/"/></url><url><loc>https://vnaumenko.ru/en/blog/claude-design-system-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/claude-design-system-sync/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/claude-design-system-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/claude-design-system-sync/"/></url><url><loc>https://vnaumenko.ru/en/blog/codepen-2-beta/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/codepen-2-beta/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/codepen-2-beta/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/codepen-2-beta/"/></url><url><loc>https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/content-visibility-versus-list-virtualization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/"/></url><url><loc>https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/controlling-infinite-css-animations/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-anchor-positioned-sidenotes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-centering-2026/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-centering-2026/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-centering-2026/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-centering-2026/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-container-scroll-state-queries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-container-style-queries-advanced-attr/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-containment-performance/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-containment-performance/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-containment-performance/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-containment-performance/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-gap-decorations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-gap-decorations/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-gap-decorations/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-gap-decorations/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-grid-lanes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-grid-lanes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-grid-lanes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-grid-lanes/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-infinity-use-cases/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-infinity-use-cases/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-infinity-use-cases/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-infinity-use-cases/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-or-bs-game/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-or-bs-game/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-or-bs-game/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-or-bs-game/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-popover-context-menus/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-popover-context-menus/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-popover-context-menus/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-popover-context-menus/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-random-experiments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-random-experiments/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-random-experiments/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-random-experiments/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-round-fluid-sizing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-round-fluid-sizing/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-round-fluid-sizing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-round-fluid-sizing/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-subgrid-tournament-bracket/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/"/></url><url><loc>https://vnaumenko.ru/en/blog/css-text-fit-experiments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-text-fit-experiments/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-text-fit-experiments/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-text-fit-experiments/"/></url><url><loc>https://vnaumenko.ru/en/blog/csskit-rust-toolchain/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/csskit-rust-toolchain/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/csskit-rust-toolchain/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/csskit-rust-toolchain/"/></url><url><loc>https://vnaumenko.ru/en/blog/cursor-3-agents/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/cursor-3-agents/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/cursor-3-agents/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/cursor-3-agents/"/></url><url><loc>https://vnaumenko.ru/en/blog/declarative-partial-html-updates/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/declarative-partial-html-updates/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/declarative-partial-html-updates/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/declarative-partial-html-updates/"/></url><url><loc>https://vnaumenko.ru/en/blog/deno-node-compatibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/deno-node-compatibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/deno-node-compatibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/deno-node-compatibility/"/></url><url><loc>https://vnaumenko.ru/en/blog/devtools-request-throttling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/devtools-request-throttling/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/devtools-request-throttling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/devtools-request-throttling/"/></url><url><loc>https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/doka-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/"/></url><url><loc>https://vnaumenko.ru/en/blog/ecmascript-2026-standard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ecmascript-2026-standard/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ecmascript-2026-standard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ecmascript-2026-standard/"/></url><url><loc>https://vnaumenko.ru/en/blog/elena-progressive-web-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/elena-progressive-web-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/elena-progressive-web-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/elena-progressive-web-components/"/></url><url><loc>https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/emdash-wordpress-alternative/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/"/></url><url><loc>https://vnaumenko.ru/en/blog/eslint-10-major-update/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/eslint-10-major-update/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/eslint-10-major-update/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/eslint-10-major-update/"/></url><url><loc>https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/eslint-rust-tools-poll/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/"/></url><url><loc>https://vnaumenko.ru/en/blog/friday-developer-links/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/friday-developer-links/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/friday-developer-links/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/friday-developer-links/"/></url><url><loc>https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/github-moving-away-from-css-in-js/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/"/></url><url><loc>https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/gpu-time-local-ai-date-parsing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/"/></url><url><loc>https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/gpuix-react-on-zed-gpu-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/"/></url><url><loc>https://vnaumenko.ru/en/blog/great-css-expansion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/great-css-expansion/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/great-css-expansion/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/great-css-expansion/"/></url><url><loc>https://vnaumenko.ru/en/blog/html-media-lazy-loading/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/html-media-lazy-loading/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/html-media-lazy-loading/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/html-media-lazy-loading/"/></url><url><loc>https://vnaumenko.ru/en/blog/html-tables-deep-dive/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/html-tables-deep-dive/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/html-tables-deep-dive/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/html-tables-deep-dive/"/></url><url><loc>https://vnaumenko.ru/en/blog/http-query-proposed-standard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/http-query-proposed-standard/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/http-query-proposed-standard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/http-query-proposed-standard/"/></url><url><loc>https://vnaumenko.ru/en/blog/image-preloading-priorities/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/image-preloading-priorities/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/image-preloading-priorities/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/image-preloading-priorities/"/></url><url><loc>https://vnaumenko.ru/en/blog/interop-2027-developer-voting/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/interop-2027-developer-voting/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/interop-2027-developer-voting/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/interop-2027-developer-voting/"/></url><url><loc>https://vnaumenko.ru/en/blog/ipv8-internet-draft/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ipv8-internet-draft/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ipv8-internet-draft/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ipv8-internet-draft/"/></url><url><loc>https://vnaumenko.ru/en/blog/javascript-midlife-crisis/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-midlife-crisis/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-midlife-crisis/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-midlife-crisis/"/></url><url><loc>https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-rising-stars-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/"/></url><url><loc>https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-temporal-replaces-date/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/"/></url><url><loc>https://vnaumenko.ru/en/blog/jev-system-one-models/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/jev-system-one-models/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/jev-system-one-models/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/jev-system-one-models/"/></url><url><loc>https://vnaumenko.ru/en/blog/jquery-4-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/jquery-4-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/jquery-4-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/jquery-4-release/"/></url><url><loc>https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/liquid-dom-webgpu-glass/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/"/></url><url><loc>https://vnaumenko.ru/en/blog/mdn-react-to-lit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mdn-react-to-lit/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mdn-react-to-lit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mdn-react-to-lit/"/></url><url><loc>https://vnaumenko.ru/en/blog/microfrontends-video-series/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/microfrontends-video-series/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/microfrontends-video-series/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/microfrontends-video-series/"/></url><url><loc>https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mobile-browser-text-scaling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/"/></url><url><loc>https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mobile-safe-area-layouts/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/"/></url><url><loc>https://vnaumenko.ru/en/blog/modern-web-types/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/modern-web-types/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/modern-web-types/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/modern-web-types/"/></url><url><loc>https://vnaumenko.ru/en/blog/name-your-react-effects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/name-your-react-effects/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/name-your-react-effects/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/name-your-react-effects/"/></url><url><loc>https://vnaumenko.ru/en/blog/native-css-random/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-css-random/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-css-random/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-css-random/"/></url><url><loc>https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-first-masonry-grid-lanes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/"/></url><url><loc>https://vnaumenko.ru/en/blog/native-html-sanitizer-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-html-sanitizer-api/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-html-sanitizer-api/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-html-sanitizer-api/"/></url><url><loc>https://vnaumenko.ru/en/blog/nectar-webassembly-language/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/nectar-webassembly-language/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/nectar-webassembly-language/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/nectar-webassembly-language/"/></url><url><loc>https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/no-vary-search-browser-caching/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/"/></url><url><loc>https://vnaumenko.ru/en/blog/nvidia-rtx-spark/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/nvidia-rtx-spark/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/nvidia-rtx-spark/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/nvidia-rtx-spark/"/></url><url><loc>https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/octane-react-without-virtual-dom/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/"/></url><url><loc>https://vnaumenko.ru/en/blog/offline-and-realtime-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/offline-and-realtime-sync/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/offline-and-realtime-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/offline-and-realtime-sync/"/></url><url><loc>https://vnaumenko.ru/en/blog/oxfmt-alpha-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/oxfmt-alpha-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/oxfmt-alpha-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/oxfmt-alpha-release/"/></url><url><loc>https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/panda-css-v2-rust-compiler/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/"/></url><url><loc>https://vnaumenko.ru/en/blog/plaintext-html-debugging/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/plaintext-html-debugging/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/plaintext-html-debugging/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/plaintext-html-debugging/"/></url><url><loc>https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/pnpm-12-rust-installation-engine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/"/></url><url><loc>https://vnaumenko.ru/en/blog/portless-local-development/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/portless-local-development/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/portless-local-development/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/portless-local-development/"/></url><url><loc>https://vnaumenko.ru/en/blog/practical-img-performance-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/practical-img-performance-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/practical-img-performance-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/practical-img-performance-guide/"/></url><url><loc>https://vnaumenko.ru/en/blog/preserving-the-root-scroller/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/preserving-the-root-scroller/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/preserving-the-root-scroller/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/preserving-the-root-scroller/"/></url><url><loc>https://vnaumenko.ru/en/blog/pretext-text-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/pretext-text-layout/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/pretext-text-layout/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/pretext-text-layout/"/></url><url><loc>https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/prop-for-that-css-runtime/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-19-3-stable-view-transitions/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-compiler-production-pitfalls/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-composition-ladder/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-composition-ladder/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-composition-ladder/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-composition-ladder/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-custom-invoker-commands/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-custom-invoker-commands/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-custom-invoker-commands/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-custom-invoker-commands/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-forms-complete-tutorial/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-out-of-order-streaming/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-out-of-order-streaming/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-out-of-order-streaming/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-out-of-order-streaming/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-router-8-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-router-8-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-router-8-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-router-8-release/"/></url><url><loc>https://vnaumenko.ru/en/blog/react-server-components-in-react-router/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-server-components-in-react-router/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-server-components-in-react-router/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-server-components-in-react-router/"/></url><url><loc>https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react2shell-flight-protocol-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/"/></url><url><loc>https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/remix-three-zero-dependencies/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/"/></url><url><loc>https://vnaumenko.ru/en/blog/responsive-iframes-chrome/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/responsive-iframes-chrome/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/responsive-iframes-chrome/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/responsive-iframes-chrome/"/></url><url><loc>https://vnaumenko.ru/en/blog/resume-red-flags/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/resume-red-flags/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/resume-red-flags/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/resume-red-flags/"/></url><url><loc>https://vnaumenko.ru/en/blog/rolldown-release-candidate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/rolldown-release-candidate/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/rolldown-release-candidate/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/rolldown-release-candidate/"/></url><url><loc>https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/server-side-timezone-rendering-client-hints/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-css-2026-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-css-2026-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-css-2026-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-css-2026-results/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-css-2026-survey/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-css-2026-survey/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-css-2026-survey/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-css-2026-survey/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-devs-2026-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-devs-2026-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-results/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-devs-2026-survey/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-javascript-2025-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-react-2025-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-react-2025-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-react-2025-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-react-2025-results/"/></url><url><loc>https://vnaumenko.ru/en/blog/state-of-react-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-react-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-react-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-react-2025/"/></url><url><loc>https://vnaumenko.ru/en/blog/svg-linked-parameters/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-linked-parameters/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-linked-parameters/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-linked-parameters/"/></url><url><loc>https://vnaumenko.ru/en/blog/svg-optimization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-optimization/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-optimization/"/></url><url><loc>https://vnaumenko.ru/en/blog/svg-pain-points-2026/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-pain-points-2026/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-pain-points-2026/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-pain-points-2026/"/></url><url><loc>https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/takumi-og-images-without-headless-chrome/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/"/></url><url><loc>https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-ai-toolkit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/"/></url><url><loc>https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-drops-react-server-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/"/></url><url><loc>https://vnaumenko.ru/en/blog/tanstack-hotkeys/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-hotkeys/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-hotkeys/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-hotkeys/"/></url><url><loc>https://vnaumenko.ru/en/blog/test-ids-accessibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/test-ids-accessibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/test-ids-accessibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/test-ids-accessibility/"/></url><url><loc>https://vnaumenko.ru/en/blog/the-remix-way/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/the-remix-way/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/the-remix-way/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/the-remix-way/"/></url><url><loc>https://vnaumenko.ru/en/blog/thinking-for-yourself/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/thinking-for-yourself/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/thinking-for-yourself/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/thinking-for-yourself/"/></url><url><loc>https://vnaumenko.ru/en/blog/typescript-6-beta/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-6-beta/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-6-beta/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-6-beta/"/></url><url><loc>https://vnaumenko.ru/en/blog/typescript-7-release-candidate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-7-release-candidate/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-7-release-candidate/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-7-release-candidate/"/></url><url><loc>https://vnaumenko.ru/en/blog/typescript-referential-stability-types/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-referential-stability-types/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-referential-stability-types/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-referential-stability-types/"/></url><url><loc>https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/uplatform-hiring-referrals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/"/></url><url><loc>https://vnaumenko.ru/en/blog/use-effect-event-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/use-effect-event-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/use-effect-event-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/use-effect-event-guide/"/></url><url><loc>https://vnaumenko.ru/en/blog/vercel-react-best-practices/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vercel-react-best-practices/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vercel-react-best-practices/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vercel-react-best-practices/"/></url><url><loc>https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/viewport-initial-scale-no-longer-needed/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/"/></url><url><loc>https://vnaumenko.ru/en/blog/visually-hidden-accessibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/visually-hidden-accessibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/visually-hidden-accessibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/visually-hidden-accessibility/"/></url><url><loc>https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vite-8-1-bundled-dev/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/"/></url><url><loc>https://vnaumenko.ru/en/blog/vite-8-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vite-8-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vite-8-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vite-8-release/"/></url><url><loc>https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/voidzero-joins-cloudflare/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/"/></url><url><loc>https://vnaumenko.ru/en/blog/web-component-starter-template/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/web-component-starter-template/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/web-component-starter-template/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/web-component-starter-template/"/></url><url><loc>https://vnaumenko.ru/en/blog/web-haptics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/web-haptics/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/web-haptics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/web-haptics/"/></url><url><loc>https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/webgpu-micromodel-syntax-highlighting/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/"/></url><url><loc>https://vnaumenko.ru/en/blog/website-quality-specification/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/website-quality-specification/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/website-quality-specification/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/website-quality-specification/"/></url><url><loc>https://vnaumenko.ru/en/blog/yarn-6-rust-preview/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/yarn-6-rust-preview/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/yarn-6-rust-preview/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/yarn-6-rust-preview/"/></url><url><loc>https://vnaumenko.ru/en/blog/zed-one-rust-editor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/zed-one-rust-editor/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/zed-one-rust-editor/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/zed-one-rust-editor/"/></url><url><loc>https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/zod-4-5-schema-compilation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/"/></url><url><loc>https://vnaumenko.ru/ru/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/"/></url><url><loc>https://vnaumenko.ru/ru/blog/ai-css-in-browsers/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ai-css-in-browsers/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ai-css-in-browsers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ai-css-in-browsers/"/></url><url><loc>https://vnaumenko.ru/ru/blog/ai-subscription-token-economics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ai-subscription-token-economics/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ai-subscription-token-economics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ai-subscription-token-economics/"/></url><url><loc>https://vnaumenko.ru/ru/blog/aligning-list-icons/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/aligning-list-icons/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/aligning-list-icons/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/aligning-list-icons/"/></url><url><loc>https://vnaumenko.ru/ru/blog/axios-supply-chain-attack/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/axios-supply-chain-attack/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/axios-supply-chain-attack/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/axios-supply-chain-attack/"/></url><url><loc>https://vnaumenko.ru/ru/blog/bemoji-css-framework/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bemoji-css-framework/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bemoji-css-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bemoji-css-framework/"/></url><url><loc>https://vnaumenko.ru/ru/blog/bippy-react-internals/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bippy-react-internals/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bippy-react-internals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bippy-react-internals/"/></url><url><loc>https://vnaumenko.ru/ru/blog/browser-compatibility-site-workarounds/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/browser-compatibility-site-workarounds/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/"/></url><url><loc>https://vnaumenko.ru/ru/blog/browser-main-thread-limited-resource/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/browser-main-thread-limited-resource/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/"/></url><url><loc>https://vnaumenko.ru/ru/blog/bulletproof-react-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/bulletproof-react-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/bulletproof-react-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/bulletproof-react-components/"/></url><url><loc>https://vnaumenko.ru/ru/blog/chatgpt-web-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chatgpt-web-architecture/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chatgpt-web-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chatgpt-web-architecture/"/></url><url><loc>https://vnaumenko.ru/ru/blog/chrome-css-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chrome-css-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chrome-css-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chrome-css-2025/"/></url><url><loc>https://vnaumenko.ru/ru/blog/chrome-devtools-performance-profiling-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/chrome-devtools-performance-profiling-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/"/></url><url><loc>https://vnaumenko.ru/ru/blog/claude-design-system-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/claude-design-system-sync/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/claude-design-system-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/claude-design-system-sync/"/></url><url><loc>https://vnaumenko.ru/ru/blog/codepen-2-beta/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/codepen-2-beta/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/codepen-2-beta/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/codepen-2-beta/"/></url><url><loc>https://vnaumenko.ru/ru/blog/content-visibility-versus-list-virtualization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/content-visibility-versus-list-virtualization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/"/></url><url><loc>https://vnaumenko.ru/ru/blog/controlling-infinite-css-animations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/controlling-infinite-css-animations/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-anchor-positioned-sidenotes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-anchor-positioned-sidenotes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-anchor-positioning-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-centering-2026/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-centering-2026/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-centering-2026/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-centering-2026/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-container-scroll-state-queries/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-container-scroll-state-queries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-container-style-queries-advanced-attr/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-container-style-queries-advanced-attr/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-containment-performance/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-containment-performance/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-containment-performance/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-containment-performance/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-gap-decorations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-gap-decorations/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-gap-decorations/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-gap-decorations/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-grid-lanes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-grid-lanes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-grid-lanes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-grid-lanes/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-infinity-use-cases/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-infinity-use-cases/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-infinity-use-cases/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-infinity-use-cases/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-or-bs-game/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-or-bs-game/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-or-bs-game/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-or-bs-game/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-popover-context-menus/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-popover-context-menus/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-popover-context-menus/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-popover-context-menus/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-random-experiments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-random-experiments/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-random-experiments/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-random-experiments/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-round-fluid-sizing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-round-fluid-sizing/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-round-fluid-sizing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-round-fluid-sizing/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-subgrid-tournament-bracket/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-subgrid-tournament-bracket/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/"/></url><url><loc>https://vnaumenko.ru/ru/blog/css-text-fit-experiments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/css-text-fit-experiments/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/css-text-fit-experiments/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/css-text-fit-experiments/"/></url><url><loc>https://vnaumenko.ru/ru/blog/csskit-rust-toolchain/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/csskit-rust-toolchain/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/csskit-rust-toolchain/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/csskit-rust-toolchain/"/></url><url><loc>https://vnaumenko.ru/ru/blog/cursor-3-agents/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/cursor-3-agents/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/cursor-3-agents/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/cursor-3-agents/"/></url><url><loc>https://vnaumenko.ru/ru/blog/declarative-partial-html-updates/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/declarative-partial-html-updates/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/declarative-partial-html-updates/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/declarative-partial-html-updates/"/></url><url><loc>https://vnaumenko.ru/ru/blog/deno-node-compatibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/deno-node-compatibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/deno-node-compatibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/deno-node-compatibility/"/></url><url><loc>https://vnaumenko.ru/ru/blog/devtools-request-throttling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/devtools-request-throttling/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/devtools-request-throttling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/devtools-request-throttling/"/></url><url><loc>https://vnaumenko.ru/ru/blog/doka-anchor-positioning-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/doka-anchor-positioning-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/"/></url><url><loc>https://vnaumenko.ru/ru/blog/ecmascript-2026-standard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ecmascript-2026-standard/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ecmascript-2026-standard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ecmascript-2026-standard/"/></url><url><loc>https://vnaumenko.ru/ru/blog/elena-progressive-web-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/elena-progressive-web-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/elena-progressive-web-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/elena-progressive-web-components/"/></url><url><loc>https://vnaumenko.ru/ru/blog/emdash-wordpress-alternative/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/emdash-wordpress-alternative/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/"/></url><url><loc>https://vnaumenko.ru/ru/blog/eslint-10-major-update/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/eslint-10-major-update/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/eslint-10-major-update/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/eslint-10-major-update/"/></url><url><loc>https://vnaumenko.ru/ru/blog/eslint-rust-tools-poll/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/eslint-rust-tools-poll/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/"/></url><url><loc>https://vnaumenko.ru/ru/blog/friday-developer-links/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/friday-developer-links/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/friday-developer-links/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/friday-developer-links/"/></url><url><loc>https://vnaumenko.ru/ru/blog/github-moving-away-from-css-in-js/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/github-moving-away-from-css-in-js/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/"/></url><url><loc>https://vnaumenko.ru/ru/blog/gpu-time-local-ai-date-parsing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/gpu-time-local-ai-date-parsing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/"/></url><url><loc>https://vnaumenko.ru/ru/blog/gpuix-react-on-zed-gpu-framework/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/gpuix-react-on-zed-gpu-framework/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/"/></url><url><loc>https://vnaumenko.ru/ru/blog/great-css-expansion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/great-css-expansion/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/great-css-expansion/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/great-css-expansion/"/></url><url><loc>https://vnaumenko.ru/ru/blog/html-media-lazy-loading/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/html-media-lazy-loading/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/html-media-lazy-loading/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/html-media-lazy-loading/"/></url><url><loc>https://vnaumenko.ru/ru/blog/html-tables-deep-dive/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/html-tables-deep-dive/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/html-tables-deep-dive/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/html-tables-deep-dive/"/></url><url><loc>https://vnaumenko.ru/ru/blog/http-query-proposed-standard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/http-query-proposed-standard/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/http-query-proposed-standard/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/http-query-proposed-standard/"/></url><url><loc>https://vnaumenko.ru/ru/blog/image-preloading-priorities/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/image-preloading-priorities/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/image-preloading-priorities/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/image-preloading-priorities/"/></url><url><loc>https://vnaumenko.ru/ru/blog/interop-2027-developer-voting/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/interop-2027-developer-voting/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/interop-2027-developer-voting/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/interop-2027-developer-voting/"/></url><url><loc>https://vnaumenko.ru/ru/blog/ipv8-internet-draft/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/ipv8-internet-draft/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/ipv8-internet-draft/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/ipv8-internet-draft/"/></url><url><loc>https://vnaumenko.ru/ru/blog/javascript-midlife-crisis/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-midlife-crisis/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-midlife-crisis/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-midlife-crisis/"/></url><url><loc>https://vnaumenko.ru/ru/blog/javascript-rising-stars-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-rising-stars-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/"/></url><url><loc>https://vnaumenko.ru/ru/blog/javascript-temporal-replaces-date/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/javascript-temporal-replaces-date/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/"/></url><url><loc>https://vnaumenko.ru/ru/blog/jev-system-one-models/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/jev-system-one-models/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/jev-system-one-models/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/jev-system-one-models/"/></url><url><loc>https://vnaumenko.ru/ru/blog/jquery-4-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/jquery-4-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/jquery-4-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/jquery-4-release/"/></url><url><loc>https://vnaumenko.ru/ru/blog/liquid-dom-webgpu-glass/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/liquid-dom-webgpu-glass/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/"/></url><url><loc>https://vnaumenko.ru/ru/blog/mdn-react-to-lit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mdn-react-to-lit/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mdn-react-to-lit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mdn-react-to-lit/"/></url><url><loc>https://vnaumenko.ru/ru/blog/microfrontends-video-series/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/microfrontends-video-series/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/microfrontends-video-series/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/microfrontends-video-series/"/></url><url><loc>https://vnaumenko.ru/ru/blog/mobile-browser-text-scaling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mobile-browser-text-scaling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/"/></url><url><loc>https://vnaumenko.ru/ru/blog/mobile-safe-area-layouts/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/mobile-safe-area-layouts/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/"/></url><url><loc>https://vnaumenko.ru/ru/blog/modern-web-types/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/modern-web-types/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/modern-web-types/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/modern-web-types/"/></url><url><loc>https://vnaumenko.ru/ru/blog/name-your-react-effects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/name-your-react-effects/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/name-your-react-effects/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/name-your-react-effects/"/></url><url><loc>https://vnaumenko.ru/ru/blog/native-css-random/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-css-random/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-css-random/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-css-random/"/></url><url><loc>https://vnaumenko.ru/ru/blog/native-first-masonry-grid-lanes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-first-masonry-grid-lanes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/"/></url><url><loc>https://vnaumenko.ru/ru/blog/native-html-sanitizer-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/native-html-sanitizer-api/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/native-html-sanitizer-api/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/native-html-sanitizer-api/"/></url><url><loc>https://vnaumenko.ru/ru/blog/nectar-webassembly-language/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/nectar-webassembly-language/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/nectar-webassembly-language/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/nectar-webassembly-language/"/></url><url><loc>https://vnaumenko.ru/ru/blog/no-vary-search-browser-caching/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/no-vary-search-browser-caching/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/"/></url><url><loc>https://vnaumenko.ru/ru/blog/nvidia-rtx-spark/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/nvidia-rtx-spark/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/nvidia-rtx-spark/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/nvidia-rtx-spark/"/></url><url><loc>https://vnaumenko.ru/ru/blog/octane-react-without-virtual-dom/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/octane-react-without-virtual-dom/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/"/></url><url><loc>https://vnaumenko.ru/ru/blog/offline-and-realtime-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/offline-and-realtime-sync/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/offline-and-realtime-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/offline-and-realtime-sync/"/></url><url><loc>https://vnaumenko.ru/ru/blog/oxfmt-alpha-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/oxfmt-alpha-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/oxfmt-alpha-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/oxfmt-alpha-release/"/></url><url><loc>https://vnaumenko.ru/ru/blog/panda-css-v2-rust-compiler/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/panda-css-v2-rust-compiler/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/"/></url><url><loc>https://vnaumenko.ru/ru/blog/plaintext-html-debugging/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/plaintext-html-debugging/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/plaintext-html-debugging/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/plaintext-html-debugging/"/></url><url><loc>https://vnaumenko.ru/ru/blog/pnpm-12-rust-installation-engine/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/pnpm-12-rust-installation-engine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/"/></url><url><loc>https://vnaumenko.ru/ru/blog/portless-local-development/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/portless-local-development/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/portless-local-development/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/portless-local-development/"/></url><url><loc>https://vnaumenko.ru/ru/blog/practical-img-performance-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/practical-img-performance-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/practical-img-performance-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/practical-img-performance-guide/"/></url><url><loc>https://vnaumenko.ru/ru/blog/preserving-the-root-scroller/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/preserving-the-root-scroller/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/preserving-the-root-scroller/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/preserving-the-root-scroller/"/></url><url><loc>https://vnaumenko.ru/ru/blog/pretext-text-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/pretext-text-layout/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/pretext-text-layout/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/pretext-text-layout/"/></url><url><loc>https://vnaumenko.ru/ru/blog/prop-for-that-css-runtime/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/prop-for-that-css-runtime/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-19-3-stable-view-transitions/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-19-3-stable-view-transitions/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-compiler-production-pitfalls/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-compiler-production-pitfalls/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-composition-ladder/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-composition-ladder/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-composition-ladder/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-composition-ladder/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-custom-invoker-commands/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-custom-invoker-commands/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-custom-invoker-commands/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-custom-invoker-commands/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-forms-complete-tutorial/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-forms-complete-tutorial/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-out-of-order-streaming/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-out-of-order-streaming/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-out-of-order-streaming/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-out-of-order-streaming/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-router-8-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-router-8-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-router-8-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-router-8-release/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react-server-components-in-react-router/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react-server-components-in-react-router/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react-server-components-in-react-router/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react-server-components-in-react-router/"/></url><url><loc>https://vnaumenko.ru/ru/blog/react2shell-flight-protocol-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/react2shell-flight-protocol-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/"/></url><url><loc>https://vnaumenko.ru/ru/blog/remix-three-zero-dependencies/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/remix-three-zero-dependencies/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/"/></url><url><loc>https://vnaumenko.ru/ru/blog/responsive-iframes-chrome/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/responsive-iframes-chrome/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/responsive-iframes-chrome/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/responsive-iframes-chrome/"/></url><url><loc>https://vnaumenko.ru/ru/blog/resume-red-flags/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/resume-red-flags/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/resume-red-flags/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/resume-red-flags/"/></url><url><loc>https://vnaumenko.ru/ru/blog/rolldown-release-candidate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/rolldown-release-candidate/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/rolldown-release-candidate/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/rolldown-release-candidate/"/></url><url><loc>https://vnaumenko.ru/ru/blog/server-side-timezone-rendering-client-hints/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/server-side-timezone-rendering-client-hints/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-css-2026-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-css-2026-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-css-2026-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-css-2026-results/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-css-2026-survey/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-css-2026-survey/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-css-2026-survey/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-css-2026-survey/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-devs-2026-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-devs-2026-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-results/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-devs-2026-survey/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-devs-2026-survey/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-javascript-2025-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-javascript-2025-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-react-2025-results/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-react-2025-results/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-react-2025-results/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-react-2025-results/"/></url><url><loc>https://vnaumenko.ru/ru/blog/state-of-react-2025/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/state-of-react-2025/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/state-of-react-2025/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/state-of-react-2025/"/></url><url><loc>https://vnaumenko.ru/ru/blog/svg-linked-parameters/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-linked-parameters/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-linked-parameters/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-linked-parameters/"/></url><url><loc>https://vnaumenko.ru/ru/blog/svg-optimization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-optimization/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-optimization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-optimization/"/></url><url><loc>https://vnaumenko.ru/ru/blog/svg-pain-points-2026/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/svg-pain-points-2026/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/svg-pain-points-2026/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/svg-pain-points-2026/"/></url><url><loc>https://vnaumenko.ru/ru/blog/takumi-og-images-without-headless-chrome/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/takumi-og-images-without-headless-chrome/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/"/></url><url><loc>https://vnaumenko.ru/ru/blog/tanstack-ai-toolkit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-ai-toolkit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/"/></url><url><loc>https://vnaumenko.ru/ru/blog/tanstack-drops-react-server-components/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-drops-react-server-components/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/"/></url><url><loc>https://vnaumenko.ru/ru/blog/tanstack-hotkeys/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/tanstack-hotkeys/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/tanstack-hotkeys/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/tanstack-hotkeys/"/></url><url><loc>https://vnaumenko.ru/ru/blog/test-ids-accessibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/test-ids-accessibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/test-ids-accessibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/test-ids-accessibility/"/></url><url><loc>https://vnaumenko.ru/ru/blog/the-remix-way/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/the-remix-way/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/the-remix-way/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/the-remix-way/"/></url><url><loc>https://vnaumenko.ru/ru/blog/thinking-for-yourself/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/thinking-for-yourself/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/thinking-for-yourself/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/thinking-for-yourself/"/></url><url><loc>https://vnaumenko.ru/ru/blog/typescript-6-beta/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-6-beta/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-6-beta/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-6-beta/"/></url><url><loc>https://vnaumenko.ru/ru/blog/typescript-7-release-candidate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-7-release-candidate/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-7-release-candidate/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-7-release-candidate/"/></url><url><loc>https://vnaumenko.ru/ru/blog/typescript-referential-stability-types/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/typescript-referential-stability-types/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/typescript-referential-stability-types/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/typescript-referential-stability-types/"/></url><url><loc>https://vnaumenko.ru/ru/blog/uplatform-hiring-referrals/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/uplatform-hiring-referrals/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/"/></url><url><loc>https://vnaumenko.ru/ru/blog/use-effect-event-guide/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/use-effect-event-guide/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/use-effect-event-guide/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/use-effect-event-guide/"/></url><url><loc>https://vnaumenko.ru/ru/blog/vercel-react-best-practices/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vercel-react-best-practices/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vercel-react-best-practices/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vercel-react-best-practices/"/></url><url><loc>https://vnaumenko.ru/ru/blog/viewport-initial-scale-no-longer-needed/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/viewport-initial-scale-no-longer-needed/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/"/></url><url><loc>https://vnaumenko.ru/ru/blog/visually-hidden-accessibility/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/visually-hidden-accessibility/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/visually-hidden-accessibility/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/visually-hidden-accessibility/"/></url><url><loc>https://vnaumenko.ru/ru/blog/vite-8-1-bundled-dev/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vite-8-1-bundled-dev/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/"/></url><url><loc>https://vnaumenko.ru/ru/blog/vite-8-release/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/vite-8-release/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/vite-8-release/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/vite-8-release/"/></url><url><loc>https://vnaumenko.ru/ru/blog/voidzero-joins-cloudflare/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/voidzero-joins-cloudflare/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/"/></url><url><loc>https://vnaumenko.ru/ru/blog/web-component-starter-template/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/web-component-starter-template/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/web-component-starter-template/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/web-component-starter-template/"/></url><url><loc>https://vnaumenko.ru/ru/blog/web-haptics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/web-haptics/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/web-haptics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/web-haptics/"/></url><url><loc>https://vnaumenko.ru/ru/blog/webgpu-micromodel-syntax-highlighting/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/webgpu-micromodel-syntax-highlighting/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/"/></url><url><loc>https://vnaumenko.ru/ru/blog/website-quality-specification/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/website-quality-specification/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/website-quality-specification/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/website-quality-specification/"/></url><url><loc>https://vnaumenko.ru/ru/blog/yarn-6-rust-preview/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/yarn-6-rust-preview/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/yarn-6-rust-preview/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/yarn-6-rust-preview/"/></url><url><loc>https://vnaumenko.ru/ru/blog/zed-one-rust-editor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/zed-one-rust-editor/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/zed-one-rust-editor/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/zed-one-rust-editor/"/></url><url><loc>https://vnaumenko.ru/ru/blog/zod-4-5-schema-compilation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/"/><xhtml:link rel="alternate" hreflang="ru" href="https://vnaumenko.ru/ru/blog/zod-4-5-schema-compilation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/"/></url></urlset>