<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-implementing-kiss-keep-it-simple-stupid-in-your-code-tips-for-writing-cleaner-more-efficient-code</loc>
    <lastmod>2024-10-28T09:00:52.689Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-yagni-you-arent-gonna-need-it-is-crucial-in-software-development-understanding-implementing-and-avoiding-overengineering</loc>
    <lastmod>2024-10-27T09:01:02.816Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-the-principle-of-least-astonishment-loa-should-be-a-core-practice-in-software-development</loc>
    <lastmod>2024-10-26T09:00:59.199Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-separation-of-concerns-soc-is-essential-in-software-development</loc>
    <lastmod>2024-10-25T09:00:30.665Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-mastering-the-dependency-inversion-principle-dip-in-java-a-comprehensive-guide-with-code-examples-and-demos</loc>
    <lastmod>2024-10-24T09:00:17.825Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-for-adhering-to-the-interface-segregation-principle-isp-matter-in-software-design</loc>
    <lastmod>2024-10-23T09:00:18.364Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-adhering-to-the-single-responsibility-principle-srp-improves-your-code-quality</loc>
    <lastmod>2024-10-22T09:00:50.321Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/7-essential-techniques-for-implementing-clean-architecture-with-spring-boot</loc>
    <lastmod>2024-10-21T09:00:21.769Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-the-saga-pattern-resolves-distributed-transaction-issues-methods-and-real-world-example</loc>
    <lastmod>2024-10-20T09:00:50.416Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/the-secrets-of-decomposition-the-philosophical-foundation-of-programming</loc>
    <lastmod>2024-10-19T09:01:04.107Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-to-embrace-the-liskov-substitution-principle-lsp-in-object-oriented-design</loc>
    <lastmod>2024-10-18T09:00:40.048Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-to-avoid-duplicate-payments-in-online-transactions</loc>
    <lastmod>2024-10-17T09:01:01.249Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-to-defend-against-sql-injection-attacks</loc>
    <lastmod>2024-10-15T09:00:55.640Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/effective-strategies-for-implementing-multi-tenancy-in-spring-boot-applications</loc>
    <lastmod>2024-10-14T09:00:35.263Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/7-tips-to-optimize-your-dockerfile-for-faster-builds-and-smaller-images</loc>
    <lastmod>2024-10-13T09:01:00.098Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-to-efficiently-upload-files-to-amazon-s3-using-java</loc>
    <lastmod>2024-10-12T09:00:36.117Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-of-transaction-propagation-understanding-the-types-and-their-uses</loc>
    <lastmod>2024-10-10T09:00:46.045Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/understanding-functional-interfaces-in-java-why-they-matter-and-how-to-use-them</loc>
    <lastmod>2024-10-08T09:00:55.292Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-cyclicbarrier-key-facts-and-examples-explained</loc>
    <lastmod>2024-10-07T09:00:47.881Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-to-solve-the-producer-consumer-problem-in-java</loc>
    <lastmod>2024-10-06T09:00:50.097Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/which-class-do-the-wait-notify-and-notifyall-methods-belong-to</loc>
    <lastmod>2024-10-05T09:00:34.324Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/can-constructors-be-synchronized-in-java</loc>
    <lastmod>2024-10-04T09:00:12.949Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-a-race-condition-causes-examples-and-solutions</loc>
    <lastmod>2024-10-03T09:00:24.644Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-exception-propagation-in-java-understanding-the-mechanism-and-its-practical-implications</loc>
    <lastmod>2024-10-01T09:00:14.608Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/understanding-the-difference-between-errors-and-exceptions-in-java</loc>
    <lastmod>2024-09-30T09:00:42.731Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-the-difference-between-joint-point-and-point-cuts-in-spring-aop</loc>
    <lastmod>2024-09-29T10:29:50.722Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-service-mesh</loc>
    <lastmod>2024-09-28T10:16:13.823Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-try-with-resource-in-java-and-how-is-it-different-from-try-catch-finally</loc>
    <lastmod>2024-09-27T10:00:45.302Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-are-overloading-and-overriding-in-java</loc>
    <lastmod>2024-09-26T10:31:49.704Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/4-things-you-should-know-about-the-this-keyword-in-java</loc>
    <lastmod>2024-09-24T10:00:41.998Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-an-atomic-in-java-understanding-atomicity-and-thread-safety-in-java</loc>
    <lastmod>2024-09-23T10:46:47.680Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/java-thread-pool-how-to-efficiently-manage-threads</loc>
    <lastmod>2024-09-22T11:00:13.442Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/5-easy-tricks-to-concatenate-strings-in-java</loc>
    <lastmod>2024-09-21T11:30:20.632Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-the-difference-between-paas-and-saas</loc>
    <lastmod>2024-09-20T10:17:16.119Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-singleton-bean-scope-can-handle-multiple-parallel-requests-and-key-considerations</loc>
    <lastmod>2024-09-18T12:03:52.446Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/difference-between-requestparam-and-pathvariable-annotations-in-spring</loc>
    <lastmod>2024-09-17T12:52:44.694Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-the-difference-between-controller-and-restcontroller-in-spring-mvc</loc>
    <lastmod>2024-09-16T12:40:18.284Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-dispatcherservlet-its-importance-and-how-to-implement-it</loc>
    <lastmod>2024-09-15T12:24:46.567Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-to-handle-cyclic-dependency-between-beans-in-spring</loc>
    <lastmod>2024-09-14T12:08:42.497Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-and-how-to-configure-spring-profiles</loc>
    <lastmod>2024-09-13T12:51:57.459Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-configuration-annotation-in-spring</loc>
    <lastmod>2024-09-12T12:00:28.702Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/4-ways-to-prevent-xss-attacks-a-comprehensive-guide</loc>
    <lastmod>2024-09-11T02:00:31.958Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-component-scanning-works-in-spring-framework</loc>
    <lastmod>2024-09-10T12:00:24.360Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-inversion-of-control</loc>
    <lastmod>2024-09-09T12:00:44.652Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-to-use-database-partitioning-what-is-it-and-why-it-matters</loc>
    <lastmod>2024-09-09T02:00:39.152Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/handling-multithreading-in-java-with-completable-future</loc>
    <lastmod>2024-09-08T12:00:45.728Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/understanding-the-difference-between-classnotfoundexception-and-noclassdeffounderror</loc>
    <lastmod>2024-09-08T02:00:26.340Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-to-set-up-ssl-a-step-by-step-guide</loc>
    <lastmod>2024-09-07T12:00:26.714Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-semantic-validation-is-crucial-in-a-spring-boot-application</loc>
    <lastmod>2024-09-07T02:00:49.567Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/how-to-secure-apis-in-microservices-with-spring-boot</loc>
    <lastmod>2024-09-06T12:00:28.473Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>