<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.thitainfo.com</loc>
    <lastmod>2026-08-15T05:55:46.391Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/react-hooks-masterclass-usestate-useeffect-and-custom-hooks-explained</loc>
    <lastmod>2026-08-09T11:29:15.078Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-react-works-internally-virtual-dom-reconciliation-and-the-rendering-pipeline-mslpqlkq</loc>
    <lastmod>2026-08-09T11:22:16.750Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-react-works-internally-virtual-dom-reconciliation-and-the-rendering-pipeline</loc>
    <lastmod>2026-08-09T11:22:06.187Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/mastering-typescript-interfaces-generics-and-union-types-explained-mskcsqh8</loc>
    <lastmod>2026-08-08T12:32:15.190Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/mastering-typescript-interfaces-generics-and-union-types-explained</loc>
    <lastmod>2026-08-08T12:31:59.235Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/realtime-systems-deep-dive-polling-websockets-sse-and-pub-sub-explained-ms2nafqa</loc>
    <lastmod>2026-07-27T03:06:06.045Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/realtime-systems-deep-dive-polling-websockets-sse-and-pub-sub-explained</loc>
    <lastmod>2026-07-27T03:05:55.644Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-chatgpt-understands-your-questions-a-deep-dive-into-llms-tokenization-and-transformers</loc>
    <lastmod>2026-07-22T03:30:04.730Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/building-scalable-systems-caching-rate-limiting-and-observability</loc>
    <lastmod>2026-07-21T15:59:02.260Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/kafka-explained-like-you-re-5-events-partitions-and-consumer-groups</loc>
    <lastmod>2026-07-21T15:41:48.103Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/modern-next-js-the-complete-guide-to-app-router-server-components-and-full-stack-architecture</loc>
    <lastmod>2026-07-18T03:29:50.552Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/react-fundamentals-components-jsx-state-and-re-rendering-explained</loc>
    <lastmod>2026-07-18T03:11:09.341Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/next-js-explained-why-it-became-the-default-react-framework</loc>
    <lastmod>2026-07-18T02:56:13.753Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/where-rag-fails-a-deep-dive-into-the-real-limitations-of-retrieval-augmented-generation-mrpqm3ts</loc>
    <lastmod>2026-07-18T02:18:09.100Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/react-state-management-deep-dive-prop-drilling-context-api-react-memo-usememo-and-usecallback</loc>
    <lastmod>2026-07-06T13:35:18.707Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/securing-web-apps-password-hashing-rbac-oauth-20-and-openid-connect-explained</loc>
    <lastmod>2026-07-06T09:26:21.284Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/kafka-explained-like-youre-5-events-partitions-and-consumer-groups</loc>
    <lastmod>2026-07-05T03:49:35.583Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/react-state-management-deep-dive-context-api-prop-drilling-reactmemo-usememo-and-usecallback</loc>
    <lastmod>2026-06-22T03:37:14.089Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/modern-database-access-in-javascript-prisma-drizzle-and-orms-explained</loc>
    <lastmod>2026-06-22T03:09:20.397Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-instagram-efficiently-manages-media-storage-for-reels-and-drafts</loc>
    <lastmod>2026-06-01T03:07:55.708Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-whatsapp-works-without-internet-offline-messaging-and-sync-explained</loc>
    <lastmod>2026-05-29T03:08:25.373Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/expo-router-vs-react-navigation-in-2026-a-practical-guide-for-react-native-developers</loc>
    <lastmod>2026-05-23T04:35:09.081Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-instagram-whatsapp-uber-netflix-would-be-built-today-using-expo-router</loc>
    <lastmod>2026-05-20T04:37:43.714Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-reacts-virtual-dom-works-under-the-hood-render-diff-and-commit-explained-1</loc>
    <lastmod>2026-05-12T02:55:24.521Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/blocking-vs-non-blocking-code-in-nodejs-why-it-makes-or-breaks-your-server</loc>
    <lastmod>2026-05-07T04:04:45.205Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/javascript-map-and-set-the-data-structures-you-should-be-using-instead-of-objects-and-arrays</loc>
    <lastmod>2026-05-07T04:02:03.025Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/javascript-destructuring-write-less-code-extract-more-value</loc>
    <lastmod>2026-05-07T03:59:36.342Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/rest-api-design-with-expressjs-a-practical-guide-to-resources-routes-and-http-methods</loc>
    <lastmod>2026-05-06T01:30:58.134Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-nodejs-handles-thousands-of-concurrent-requests-without-breaking-a-sweat</loc>
    <lastmod>2026-05-06T01:21:35.521Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/understanding-the-this-keyword-in-javascript-what-it-is-and-how-calling-context-controls-it</loc>
    <lastmod>2026-05-05T01:20:10.694Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/express-middleware-explained-how-the-request-pipeline-actually-works</loc>
    <lastmod>2026-05-04T15:50:43.861Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/handling-file-uploads-in-express-with-multer-a-complete-developer-guide</loc>
    <lastmod>2026-05-04T01:08:23.584Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-reacts-virtual-dom-works-under-the-hood-render-diff-and-commit-explained</loc>
    <lastmod>2026-05-03T16:50:50.432Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/what-is-nodejs-javascript-on-the-server-explained</loc>
    <lastmod>2026-05-03T03:10:17.386Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/jwt-authentication-in-nodejs-a-complete-developer-guide</loc>
    <lastmod>2026-05-03T03:04:59.300Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/creating-routes-and-handling-requests-with-expressjs-a-practical-guide</loc>
    <lastmod>2026-05-03T01:26:18.755Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/setting-up-your-first-nodejs-application-a-step-by-step-guide-from-install-to-http-server</loc>
    <lastmod>2026-05-03T01:10:23.645Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/how-nodejs-handles-thousands-of-requests-on-a-single-thread-a-deep-dive-into-the-event-loop</loc>
    <lastmod>2026-05-02T14:27:41.838Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/url-parameters-vs-query-strings-in-expressjs-when-to-use-each-and-why</loc>
    <lastmod>2026-05-02T14:20:39.707Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/storing-and-serving-uploaded-files-in-express-a-complete-guide</loc>
    <lastmod>2026-05-03T17:02:06.884Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/sessions-vs-jwt-vs-cookies-a-practical-guide-to-choosing-the-right-authentication-approach</loc>
    <lastmod>2026-05-03T17:04:50.903Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/async-code-in-nodejs-callbacks-and-promises-explained-with-real-examples</loc>
    <lastmod>2026-05-03T17:10:30.755Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/async-code-in-nodejs-from-callback-hell-to-promises</loc>
    <lastmod>2026-05-03T17:08:05.076Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/synchronous-vs-asynchronous-javascript-how-the-language-actually-executes-code</loc>
    <lastmod>2026-04-22T17:19:56.933Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/async-await-in-javascript-writing-cleaner-asynchronous-code</loc>
    <lastmod>2026-05-03T17:13:32.556Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/the-linux-file-system-hunting-expedition</loc>
    <lastmod>2026-04-22T08:02:49.745Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/array-flatten-in-javascript-every-approach-explained</loc>
    <lastmod>2026-04-12T14:53:20.762Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/spread-vs-rest-operators-in-javascript-expanding-vs-collecting</loc>
    <lastmod>2026-04-12T04:50:04.539Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/setting-up-express-js-with-typescript</loc>
    <lastmod>2026-04-09T15:30:26.525Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/error-handling-in-javascript-try-catch-finally</loc>
    <lastmod>2026-04-08T04:43:23.571Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/page/about</loc>
    <lastmod>2026-08-15T05:55:46.391Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/archive</loc>
    <lastmod>2026-08-15T05:55:46.391Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.thitainfo.com/recommendations</loc>
    <lastmod>2026-08-15T05:55:46.391Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>