<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://nicholaschandra.vercel.app/portofolio</loc>
<lastmod>2026-07-13T17:03:52.826Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog</loc>
<lastmod>2026-07-13T17:03:52.826Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-big-o-notation-untuk-pemula-kenapa-o-n-lebih-baik-dari-o-n-en-big-o-notation-for-beginners-why-is-o-n-better-than-o-n</loc>
<lastmod>2026-07-11T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-dasar-dasar-query-database-select-join-dan-masalah-n-1-yang-sering-terlewat-en-database-query-basics-select-join-and-the-often-overlooked-n-1-problem</loc>
<lastmod>2026-07-10T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-thread-concurrency-dan-parallelism-apa-bedanya-en-threads-concurrency-and-parallelism-what-s-the-difference</loc>
<lastmod>2026-07-09T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-memahami-asynchronous-programming-kenapa-javascript-tidak-nge-freeze-en-understanding-asynchronous-programming-why-doesn-t-javascript-freeze</loc>
<lastmod>2026-07-09T12:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-observability-101-logs-metrics-dan-distributed-tracing-en-observability-101-logs-metrics-and-distributed-tracing</loc>
<lastmod>2026-07-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-arsitektur-rest-api-vs-graphql-kapan-harus-migrasi-en-rest-api-vs-graphql-architecture-when-to-migrate</loc>
<lastmod>2026-07-05T13:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-mengenal-react-server-components-rsc-cara-kerjanya-en-getting-to-know-react-server-components-rsc-how-they-work</loc>
<lastmod>2026-07-05T13:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-panduan-praktis-typescript-generics-untuk-kode-yang-reusable-en-a-practical-guide-to-typescript-generics-for-reusable-code</loc>
<lastmod>2026-07-05T13:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-caching-berlapis-dari-browser-cdn-hingga-redis-en-layered-caching-from-browsers-to-cdns-to-redis</loc>
<lastmod>2026-07-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-zero-downtime-deployment-blue-green-rolling-dan-canary-release-en-zero-downtime-deployment-blue-green-rolling-and-canary-release</loc>
<lastmod>2026-06-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/blog/id-anatomi-index-postgresql-b-tree-gin-dan-gist-kapan-pakai-yang-mana-en-postgresql-index-anatomy-b-tree-gin-and-gist-when-to-use-which</loc>
<lastmod>2026-06-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://nicholaschandra.vercel.app/login</loc>
<lastmod>2026-07-13T17:03:52.826Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
</urlset>
