<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"><url>
    <loc>https://www.toidang.xyz/posts/2025/04/09/abortcontroller-in-javascript/</loc>
    <lastmod>2025-04-09T17:19:03+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/</loc>
    <lastmod>2026-07-18T20:31:59+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/2025/02/15/english-day-4-stand-up-meeting/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/english-learning/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/interview-learning/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/2025/02/13/interview-learning-design-an-api-for-payment-gateway/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/2025/02/06/english-day-3-work-experiences/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/2025/02/05/english-day-2-oranges/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/2025/02/04/english-day-1-introduction/</loc>
    <lastmod>2025-02-26T23:14:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/fqa/what-do-you-specialize-in/</loc>
    <lastmod>2026-05-25T22:16:16+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/fqa/which-technologies-do-you-use/</loc>
    <lastmod>2026-05-25T22:16:16+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/fqa/what-kind-of-role-suits-you/</loc>
    <lastmod>2026-05-25T22:16:16+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/fqa/how-can-i-get-in-touch/</loc>
    <lastmod>2026-05-25T22:16:16+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/algorithms-in-ruby/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/12/10/what-is-crc32-checksum/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/12/09/checksum-algorithms-importance-of-security-and-common-vulnerabilities/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/27/the-many-spatial-indexes-of-postgis/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/27/r-tree-vs.-quadtree-a-comparison/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/27/what-is-quadtree/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/27/what-is-r-tree/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/13/the-difference-between-concurrency-and-parallelism/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/12/grpc-vs-apache-thrift-a-comparison/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/08/03/ruby-tap-vs-yield_self/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/29/oltp-vs-olap/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/20/nginx-stream-module-a-quick-guide/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/divide-and-conquer-algorithms/</loc>
    <lastmod>2025-02-09T13:50:31+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-3/</loc>
    <lastmod>2025-02-09T13:50:31+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-2/</loc>
    <lastmod>2025-02-09T13:50:31+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-1/</loc>
    <lastmod>2025-02-09T13:50:31+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/linked-list-algorithms-in-ruby/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/divide-and-conquer-algorithms/</loc>
    <lastmod>2025-02-09T13:50:31+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/backtracking-algorithms-in-ruby/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/greedy-algorithms-in-ruby/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/graph-algorithms-in-ruby/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/tree-algorithms-in-ruby/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/search-algorithms-in-ruby/</loc>
    <lastmod>2024-08-08T22:25:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/13/sorting-algorithms-in-ruby/</loc>
    <lastmod>2025-01-25T15:40:07+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/10/introduction-apache-spark-a-unified-analytics-engine-for-big-data-processing/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/09/unlogged-table-vs-logged-table-in-postgresql/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/09/introduction-apache-doris-a-distributed-sql-based-data-warehouse-system/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/02/go-language-programming-a-beginners-guide-to-the-go-programming-language/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/01/lua-language-programming-a-beginners-guide-to-the-scripting-language/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/07/01/how-to-safely-store-data-on-redis-in-a-heavy-writing-system/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/29/introduction-to-cassandra-the-nosql-database-for-scalable-applications/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/29/introduction-to-duckdb-the-new-database-for-data-analysis/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/15/event-streaming-in-rails-with-kafka/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/15/apache-kafka-in-use/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/10/keyword-threadgroup-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/10/keyword-queue-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/10/keyword-lazy-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/07/cqrs-design-pattern/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/05/understanding-mvcc-in-mysql-and-postgresql/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/05/mvcc-in-database/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/03/what-is-base-principle/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/03/what-is-cap-theorem/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/03/what-is-kiss-principle/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/06/03/what-is-solid-principle/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/13/what-is-change-data-capture-cdc/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/12/interact-with-data-in-redis/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/12/redisgears-a-serverless-engine-for-redis/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/11/read-large-file-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/11/stringio-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/11/ulid-vs-uuidv4-vs-uuidv7-whats-the-difference/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/11/web-worker-in-javascript/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/07/comparing-authentication-methods-in-api-with-ruby-on-rails-part-2/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/07/design-transaction-system-in-e-commerce/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/07/firebase-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/06/comparing-authentication-methods-in-api-with-ruby-on-rails-part-1/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/06/postgresql-locks-comprehensive-guide-101/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/02/implement-rate-limiting-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/02/designing-a-restful-api-key-factors-best-practices-and-strategies/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/02/ensuring-data-consistency-in-a-distributed-system/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/01/gem-oj-enhance-api-performance-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/05/01/improve-redis-performance-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/27/api-and-jwt-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/25/understanding-i/o-bound-and-cpu-bound-tasks-in-backend-development/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/design-patterns-in-ruby/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-prototype-abstract-factory-bridge-and-facade-patterns/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-visitor-memento-mediator-flyweight-and-builder-patterns/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-proxy-composite-state-chain-of-responsibility-and-iterator-patterns/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-strategy-decorator-template-method-and-command-patterns/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/10/speed-up-your-web-application-with-a-content-delivery-network-cdn/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/04/06/optimziting-web-performance-with-splitchunks-in-webpack/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/31/exploring-sharding-in-postgresql/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/31/using-index-include-in-postgresql/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/31/using-partial-index-in-optimizing-postgresql/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/30/ansible-automate-your-infrastructure/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/30/postgresql-performance-optimization-techniques-part-1/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/30/redis-performance-optimization-techniques/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/30/rotating-logs-with-logrotate/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/30/using-postfix-in-sending-email/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/29/design-patterns-in-ruby-a-few-popular-patterns/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/29/engines-modularized-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/29/regenerator-in-redux-saga/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-open-graph-meta-tags/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-webp-images/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/26/service-workers-in-web-development-a-comprehensive-guide/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/26/understanding-and-implementing-accelerated-mobile-pages-amp/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/26/what-are-hsts-and-the-hsts-preload-list/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/25/middleware-in-rails-a-comprehensive-guide/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/a-comparison-of-data-storage-on-disk-in-postgresql-and-mysql/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/comparing-event-machine-fibers-threads-and-processes-real-world-applications/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/event-machine-and-fibers-a-comprehensive-guide/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/exploring-solr-integration-with-rails-using-rsolr/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/jemalloc-a-comprehensive-guide-on-ruby-memory-management/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/24/redash-empowering-data-visualization-and-collaboration/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/improving-web-performance-with-page-caching/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/23/page-caching-maximizing-performance-with-http-caching-a-comprehensive-guide/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/23/cache-avalanche-cache-breakdown-cache-stampede-and-cache-penetration/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/10/understanding-postgresql-countnull-count-and-count1/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/03/01/unlocking-the-power-of-postgresql-window-functions-a-comprehensive-guide/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/02/28/understanding-postgresql-distinct-on/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/02/14/understanding-active-records-first-and-order.first-methods-in-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/01/15/understanding-postgresql-partitioning/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2024/01/05/regenerator-in-javascript-bridging-modern-syntax-and-compatibility/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/profile/</loc>
    <lastmod>2026-07-18T20:25:43+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2023/09/25/hotwire-stimulus-a-lightweight-javascript-framework-for-interactive-web-applications/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2023/07/16/optimizing-postgresql-data-file-read/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2023/05/23/an-in-depth-introduction-to-testing-in-rails-with-rspec/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/08/07/master-master-vs.-master-slave-replication-in-distributed-relational-databases/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/05/07/understanding-threads-and-processes-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/04/11/optimizing-nginx-configuration-for-enhanced-performance/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/04/07/understanding-access-control-in-rails-private-protected-and-public/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/02/08/introduction-to-monitoring-tools-for-web-systems-and-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2022/01/08/preparing-for-a-ruby-on-rails-web-development-interview/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/08/07/page-caching-combining-page-caching-in-rails-with-nginx-memory-caching/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/08/06/page-caching-implementing-page-caching-in-a-rails-application-with-redis/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/08/05/page-caching-leveraging-page-caching-with-varnish-in-rails-applications/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/08/04/page-caching-strategies-for-web-performance-optimization/</loc>
    <lastmod>2024-07-14T09:31:23+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/04/07/using-redis-in-rails-applications/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2021/02/08/understanding-a/b-testing-enhancing-decision-making-in-web-development/</loc>
    <lastmod>2024-06-30T21:20:37+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2020/07/16/understanding-load-balancing-at-different-network-layers-a-comprehensive-overview/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2020/03/07/understanding-nginx-real-ip-module-importance-and-configuration/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2020/03/02/understanding-sidekiq-a-powerful-background-job-processing-solution/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2020/02/08/continuous-integration/continuous-deployment-ci/cd-in-software-development/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2020/01/07/understanding-csrf-in-ruby-on-rails/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2018/08/07/understanding-promise-and-deferred-in-javascript/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/LayoutAndPaint.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/MajorGC.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/MinorGC.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/domtree.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/droppedFrameCount.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/emberdom4.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/idom.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/images/reactdom.png</image:loc>
      <image:title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</image:title>
    </image:image>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/10/04/ruby-on-rails-best-practices/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/10/03/prevent-content-type-spoofing-on-paperclip/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/10/03/ruby-best-practices/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/10/02/proc-lambda-and-block-in-ruby/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/10/01/ember-controllers-are-singletons/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/09/30/ember-bootstrap-modal/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/09/29/ember-ember-addons/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/2016/09/28/postgresql-best-practices/</loc>
    <lastmod>2024-06-12T10:55:39+07:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.toidang.xyz/archives/</loc>
    <lastmod>2026-07-18T20:31:59+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.toidang.xyz/posts/</loc>
    <lastmod>2026-07-18T20:31:59+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.toidang.xyz/practices/</loc>
    <lastmod>2026-07-18T20:25:43+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.toidang.xyz/fqa/</loc>
    <lastmod>2026-07-18T20:25:43+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.toidang.xyz/series/</loc>
    <lastmod>2026-07-18T20:25:43+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.toidang.xyz/talks/</loc>
    <lastmod>2026-07-18T20:25:43+07:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
