<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://devdave.de/</loc>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog</loc>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://devdave.de/about</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://devdave.de/stats</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/debouncing-and-throttling-in-javascript</loc>
    <lastmod>2026-08-15</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/writing-a-simple-command-line-tool-in-nodejs</loc>
    <lastmod>2026-08-14</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/web-accessibility-basics-aria-without-the-guesswork</loc>
    <lastmod>2026-08-09</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/a-practical-guide-to-git-branching-strategies</loc>
    <lastmod>2026-08-08</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/building-a-simple-state-machine-in-typescript</loc>
    <lastmod>2026-08-06</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/reflows-and-repaints-why-your-page-feels-janky</loc>
    <lastmod>2026-08-06</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-http-caching-headers</loc>
    <lastmod>2026-07-18</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/a-practical-guide-to-api-pagination</loc>
    <lastmod>2026-07-17</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-database-connection-pooling</loc>
    <lastmod>2026-07-06</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/writing-your-first-github-action</loc>
    <lastmod>2026-07-02</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-the-javascript-event-loop</loc>
    <lastmod>2026-06-27</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/debugging-memory-leaks-in-nodejs</loc>
    <lastmod>2026-06-22</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/a-practical-guide-to-semantic-versioning</loc>
    <lastmod>2026-06-20</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/big-o-notation-explained-with-real-code</loc>
    <lastmod>2026-06-20</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/feature-toggling-with-environment-based-config</loc>
    <lastmod>2026-06-19</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/building-a-rate-limiter-middleware-in-express</loc>
    <lastmod>2026-06-12</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-content-security-policy</loc>
    <lastmod>2026-06-11</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/building-a-simple-job-queue-with-redis</loc>
    <lastmod>2026-06-05</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/the-repository-pattern-pros-cons-and-when-to-skip-it</loc>
    <lastmod>2026-05-14</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/database-transactions-and-isolation-levels-explained</loc>
    <lastmod>2026-05-08</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/retry-strategies-exponential-backoff-and-jitter</loc>
    <lastmod>2026-05-06</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/a-gentle-introduction-to-websockets</loc>
    <lastmod>2026-05-03</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/async-iterators-and-generators-in-javascript</loc>
    <lastmod>2026-04-15</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/memoization-in-javascript-beyond-usememo</loc>
    <lastmod>2026-04-14</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/building-a-simple-pub-sub-system-in-node-js</loc>
    <lastmod>2026-04-11</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/the-cap-theorem-explained-with-real-examples</loc>
    <lastmod>2026-04-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/a-practical-guide-to-jwt-authentication</loc>
    <lastmod>2026-03-23</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/event-sourcing-vs-traditional-crud</loc>
    <lastmod>2026-03-23</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/structured-logging-why-printf-debugging-doesnt-scale</loc>
    <lastmod>2026-03-17</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-cors-once-and-for-all</loc>
    <lastmod>2026-03-17</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/rate-limiting-algorithms-token-bucket-vs-sliding-window</loc>
    <lastmod>2026-03-12</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/the-n-plus-1-query-problem</loc>
    <lastmod>2026-03-02</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/git-rebase-vs-merge</loc>
    <lastmod>2026-02-24</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/writing-safe-idempotent-database-migrations</loc>
    <lastmod>2026-02-24</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/how-database-indexes-actually-work</loc>
    <lastmod>2026-02-15</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/optimistic-vs-pessimistic-locking-in-databases</loc>
    <lastmod>2026-02-02</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/the-circuit-breaker-pattern-for-resilient-services</loc>
    <lastmod>2026-02-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/feature-flags-a-practical-guide</loc>
    <lastmod>2026-01-29</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/understanding-typescript-generics</loc>
    <lastmod>2026-01-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/building-an-lru-cache-from-scratch</loc>
    <lastmod>2026-01-05</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/idempotency-keys-in-rest-apis</loc>
    <lastmod>2026-01-03</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/python3-dateien-mit-gleichen-namen-umbenennen</loc>
    <lastmod>2024-02-25</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/mailmanagement-spam-protection</loc>
    <lastmod>2024-02-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/die-bedeutung-von-barrierefreiem-webdesign-ein-tor-zu-inklusivitaet-und-benutzerfreundlichkeit</loc>
    <lastmod>2024-02-15</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/die-unsichtbare-bedrohung-xsrf-wenn-das-web-gegen-dich-arbeitet</loc>
    <lastmod>2024-02-14</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/erkennen-von-brute-force-angriffen</loc>
    <lastmod>2023-09-30</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/react-native-what</loc>
    <lastmod>2023-04-25</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-this-keyword</loc>
    <lastmod>2023-04-19</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/dependency-injection</loc>
    <lastmod>2023-03-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/die-macht-des-method-chaining-in-c-ein-leitfaden-fuer-effizienten-code</loc>
    <lastmod>2023-02-20</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/scriptable-kontaktlinsenstatus-pruefen</loc>
    <lastmod>2023-01-29</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/marlin-firmware-skr-mini-e3-v3</loc>
    <lastmod>2022-09-05</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/autosort-schnell-und-einfach-bilder-und-videos-sortieren</loc>
    <lastmod>2022-08-30</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/promises</loc>
    <lastmod>2022-08-11</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-generatoren</loc>
    <lastmod>2022-03-17</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-closures</loc>
    <lastmod>2022-02-19</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/gopro-fotos-automatisch-umbenennen-und-kopieren</loc>
    <lastmod>2022-01-26</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/c-delegates</loc>
    <lastmod>2022-01-20</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/auto-backup-to-amazon-s3</loc>
    <lastmod>2021-12-05</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/udemy-autoenroll-skript-fuer-tampermonkey</loc>
    <lastmod>2021-11-27</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-object-notation-mit-sql</loc>
    <lastmod>2021-11-24</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/null-conditional-operator</loc>
    <lastmod>2021-07-11</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/e-mail-adressen-validieren</loc>
    <lastmod>2020-12-31</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/mysql-null-als-0-ausgeben</loc>
    <lastmod>2020-06-27</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/alpha-go</loc>
    <lastmod>2020-05-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/simultanschach</loc>
    <lastmod>2020-05-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/nasa-hoehendaten-visualisieren</loc>
    <lastmod>2020-03-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/youtube-dl-download-mp3-fast</loc>
    <lastmod>2019-09-28</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/brute-force-protection</loc>
    <lastmod>2019-09-23</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/brandneues-macbook-schaltet-sich-einfach-aus</loc>
    <lastmod>2019-09-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/autopush-einfach-geaenderte-dateien-hochladen</loc>
    <lastmod>2019-06-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/centos-server-essentials</loc>
    <lastmod>2019-04-26</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/fire-on-enter</loc>
    <lastmod>2019-04-20</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/diese-version-des-programms-os-x-sierra-installieren-kann-nicht-verifiziert-werden</loc>
    <lastmod>2018-08-29</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/einfaches-imageresize-caching</loc>
    <lastmod>2018-07-26</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/simple-template-engine</loc>
    <lastmod>2018-07-03</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/sekunden-in-tage-stunden-minuten-sekunden-umrechnen</loc>
    <lastmod>2018-06-22</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/timemachine-5058</loc>
    <lastmod>2018-06-18</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/scrollblur</loc>
    <lastmod>2018-06-16</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-snippets</loc>
    <lastmod>2018-06-08</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/bash-snippets</loc>
    <lastmod>2018-06-04</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/traue-keinem-scan-den-du-nicht-selbst-gefaelscht-hast</loc>
    <lastmod>2018-06-01</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/spam-protection-methods-n-2-timing-ist-alles</loc>
    <lastmod>2018-05-24</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/spam-protection-methods-n-3-timing-ist-wiedermal-alles</loc>
    <lastmod>2018-05-24</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/http-range-request-mit-php-verarbeiten</loc>
    <lastmod>2018-05-17</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/spam-protection-methods-n-1-honeypot</loc>
    <lastmod>2018-05-13</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/javascript-promises</loc>
    <lastmod>2018-05-12</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/spam-vermeiden-mit-qmail</loc>
    <lastmod>2018-05-11</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/php-snippets</loc>
    <lastmod>2018-05-08</lastmod>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://devdave.de/blog/opengeodb-huerden</loc>
    <lastmod>2018-03-25</lastmod>
    <priority>0.6</priority>
  </url>
</urlset>
