<?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://gannochenko.dev/about</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/cookie-policy</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/links</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url><url><loc>https://gannochenko.dev/personal-data-policy</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/projects</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/typography</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/accessing-gcp-bigquery-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/async-event-processing-of-my-dreams/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/baremetal-kubernetes-with-kubeadm-in-minutes-easy-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/building-my-first-n8n-workflow-lessons-from-the-trenches/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/building-scalable-and-safe-infrastructure-layout-with-terraform/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/coming-from-a-major-tech-company-to-a-startup/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/converting-materialized-paths-into-a-tree-with-generics-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/copy-data-between-databases-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/counters-done-right-with-a-relational-database/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/create-a-contact-form-with-react-a-w-s-and-terraform-and-pay0-for-everything-part-1-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/create-database-fixtures-for-unit-testing-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/cronjobs-on-steriods-with-temporal/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/demystifying-running-a-model-locally/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/dependency-management-for-the-dependency-injection-pattern-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/design-docs-to-help-streamline-the-development/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/distribute-your-cli-application-in-just-a-few-steps/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/diving-into-3d-printing-mistakes-insights-victories/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/download-a-remote-file-and-store-to-a-gcp-bucket-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/driving-your-initiative-to-success/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/emergency-handling-protocol/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/error-handling-in-go-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/every-day-kubernetes/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/false-gods-of-refactoring/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/giving-an-llm-superpowers-with-mcp/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/go-multithreading-with-go-routines-channels-and-waitgroups-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/google-pubsub-and-go-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/here-goes-my-technical-interview-masterplan--/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/highly-reusable-react-component-boilerplate-for-your-design-system-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-i-automated-day-to-day-github-routine-with-github-toolbelt-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-i-migrated-from-redux-and-saga-to-mobx-and-became-a-happier-person/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-modern-devops-is-done-part1-containers-and-repositories/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-modern-devops-is-done-part2-wiring-up-cicd/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-calculate-actual-color-for-opacity-on-white-background/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-deploy-an-application-to-heroku-using-docker/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-make-a-code-generator-in-5-minutes-or-less/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-set-raspberrypi-up-for-nodejs-projects-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-use-dynamodb-with-apollo-graphql-and-nodejs-serverless/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-use-graphql-apollo-server-with-serverless/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-use-react-hooks/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/how-to-use-serverless-with-webpack-and-docker/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/layers-of-abstraction-and-gorm-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/leveraging-wasm-to-write-isomorphic-golang-java-script-library/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/look-at-unit-testing-in-golang-through-the-eyes-of-a-front-end-engineer/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/making-a-weather-indicator-with-arduino/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/making-an-interactive-browser-only-react-playground-from-scratch/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/making-an-iot-smart-home-device-scanner-using-flutter/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/managing-time-in-distributed-systems/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-bash-cheat-sheet-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-cli-cheat-sheet-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-collection-of-snippets-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-recipe-for-making-meteor-project-deployment-in-centos-7-environment/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-typescript-cheat-sheet-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/my-ultimate-list-of-awesome-opensource-projects-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/production-ready-service-for-face-blurring-with-go-and-react-part2-implementation/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/production-ready-service-for-face-blurring-with-go-python-and-react-part1-system-design/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/recap-on-publishing-an-npm-package/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/scripting-for-better-devops-a-python-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/sql-patterns-tips-and-tricks/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-hooks-pattern-in-go-a-golang-kata/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part-1-before-it-all-starts-453873/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part-3-data-structures-and-algorithms/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part-6-accepting-the-offer/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part2-initial-screening-with-a-recruiter/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part4-system-design/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/the-ultimate-interview-preparation-framework-part5-cultural-fit/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/tm1637-led-driver-meets-arduino-detailed-explanation/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/to-ast-and-back-magically-crawl-and-transform-your-code-with-type-script-api/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/top-10-rules-every-successful-engineer-should-follow/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/ultimate-checklist-for-a-newly-joining-fullstack-software-engineer--/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/blog/you-probably-dont-need-extra-tools-to-connect-google-forms-to-your-slack-channel-/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/projects/blenderhotkeys/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/projects/gannochenkodev/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/projects/protoweb/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/a-man-and-in-front-of-a-cross/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/a-new-sunrise/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/architectural-competition/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/berliner-streetlight/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/bvg-ticket-machine/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/cracked-tiles/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/deceased-buildings/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/donut-tutorial/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/doomed-bridge/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/eerie-mysterious-fog/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/gerdauen-noerdlicher-markt/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/harbour-building/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/low-poly-rocks/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/magic-medieval-castle/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/neue-altstaedtische-kirche/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/one-building-in-paris/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/party-cocktail/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/peaceful-meadows-using-biomes/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/rusty-painted-metal-material/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/spaceship-console/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/the-floor-is-lava/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/underground-subway-station/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/vienna-eagle/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/hobbies/wet-cobblestone/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/barbariga-croatia-08-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/duisburg-germany-04-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/goslar-germany-11-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/luebeck-germany-04-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/oybin-germany-09-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/sankt-andreasberg-10-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/trips/stralsund-germany-10-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/barbariga-croatia-08-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/duisburg-germany-04-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/goslar-germany-11-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/luebeck-germany-04-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/oybin-germany-09-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/sankt-andreasberg-10-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://gannochenko.dev/ru/trips/stralsund-germany-10-2025/</loc><changefreq>weekly</changefreq><priority>0.7</priority></url></urlset>