<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url><loc>https://hammerhall.io/</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/0-before-spring</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/0-before-spring"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/0-before-spring"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/0-before-spring"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/1-why-spring</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/1-why-spring"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/1-why-spring"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/1-why-spring"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/2-spring-boot-4</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/2-spring-boot-4"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/2-spring-boot-4"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/2-spring-boot-4"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/3a-table-and-migration</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/3a-table-and-migration"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/3a-table-and-migration"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/3a-table-and-migration"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/3b-entity-and-transaction</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/3b-entity-and-transaction"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/3b-entity-and-transaction"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/3b-entity-and-transaction"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/4-web</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/4-web"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/4-web"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/4-web"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/5-full-endpoint</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/5-full-endpoint"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/5-full-endpoint"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/5-full-endpoint"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/articles/6-stand</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/7-events-json</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/8-value-objects</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/9-data-further</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/10-metrics</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/11-guard-tests</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/12-what-crm-does</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/13-lead-statuses</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/14-money-in-code</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/15-sales-rules-in-settings</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/16-unreported-payment</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/16a-job-without-a-person</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/17-lombok-and-mapstruct</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/articles/18-migrations-remember</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/testing</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/1-why-tests</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/1-why-tests"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/1-why-tests"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/1-why-tests"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/2-first-test</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/2-first-test"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/2-first-test"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/2-first-test"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/3-red-test</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/3-red-test"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/3-red-test"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/3-red-test"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/4-which-cases</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/4-which-cases"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/4-which-cases"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/4-which-cases"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/5-test-that-checks-nothing</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/5-test-that-checks-nothing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/5-test-that-checks-nothing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/5-test-that-checks-nothing"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/6-stubs</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/6-stubs"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/6-stubs"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/6-stubs"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/testing/7-real-database</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/7-real-database"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/7-real-database"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/7-real-database"/>
  </url>
  <url><loc>https://hammerhall.io/ledger/streams</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/1-stream-instead-of-loop</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/2-filter-map-optional</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/3-sorting</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/4-flatmap</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/5-grouping</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/6-downstream-collectors</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/7-streams-over-maps</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/8-number-streams</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/9-two-collections</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/streams/10-own-collector</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/1-set-algebra</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/2-set-as-key</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/3-all-pairs</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/4-inverted-index</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/5-jaccard</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/algorithms/6-vectors</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/1-cookie</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/2-bearer</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/3-dead-letters</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/4-idempotency</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/5-bug</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/6-pull-request</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/7-kanban</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/8-docker</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/9-mentor</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/ledger/words/10-backlog</loc><lastmod>2026-10-26</lastmod></url>
  <url><loc>https://hammerhall.io/en/ledger</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/0-before-spring</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/0-before-spring"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/0-before-spring"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/0-before-spring"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/1-why-spring</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/1-why-spring"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/1-why-spring"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/1-why-spring"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/2-spring-boot-4</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/2-spring-boot-4"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/2-spring-boot-4"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/2-spring-boot-4"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/3a-table-and-migration</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/3a-table-and-migration"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/3a-table-and-migration"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/3a-table-and-migration"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/3b-entity-and-transaction</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/3b-entity-and-transaction"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/3b-entity-and-transaction"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/3b-entity-and-transaction"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/4-web</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/4-web"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/4-web"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/4-web"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/articles/5-full-endpoint</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/articles/5-full-endpoint"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/articles/5-full-endpoint"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/articles/5-full-endpoint"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/1-why-tests</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/1-why-tests"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/1-why-tests"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/1-why-tests"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/2-first-test</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/2-first-test"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/2-first-test"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/2-first-test"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/3-red-test</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/3-red-test"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/3-red-test"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/3-red-test"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/4-which-cases</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/4-which-cases"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/4-which-cases"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/4-which-cases"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/5-test-that-checks-nothing</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/5-test-that-checks-nothing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/5-test-that-checks-nothing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/5-test-that-checks-nothing"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/6-stubs</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/6-stubs"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/6-stubs"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/6-stubs"/>
  </url>
  <url><loc>https://hammerhall.io/en/ledger/testing/7-real-database</loc><lastmod>2026-10-26</lastmod>
    <xhtml:link rel="alternate" hreflang="ru" href="https://hammerhall.io/ledger/testing/7-real-database"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://hammerhall.io/en/ledger/testing/7-real-database"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://hammerhall.io/ledger/testing/7-real-database"/>
  </url>
</urlset>
