<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://scriptvalley.com</loc>
<lastmod>2026-06-08T23:02:36.326Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses</loc>
<lastmod>2026-06-08T23:02:36.326Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/how-javascript-runs-in-the-browser-and-nodejs</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/var-vs-let-vs-const--which-one-to-use-and-when</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/javascript-data-types-explained-with-typeof</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/javascript-operators-and-operator-precedence</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/control-flow-if-else-switch-and-loops-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/javascript-foundations/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/function-declarations-vs-function-expressions-vs-arrow-funct</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/scope-chain-and-lexical-scope-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/closures-in-javascript-explained-with-real-examples</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/default-parameters-rest-parameters-and-the-spread-operator</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/higher-order-functions-map-filter-reduce-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/functions-and-scope/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/javascript-objects-creating-accessing-and-mutating</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/arrays-methods-every-javascript-developer-must-know</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/destructuring-arrays-and-objects-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/prototypes-and-prototype-chain-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/es6-classes-in-javascript-syntax-inheritance-and-pitfalls</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/objects-arrays-and-destructuring/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/the-javascript-event-loop-explained-simply</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/promises-in-javascript-how-to-create-and-consume-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/asyncawait-writing-asynchronous-code-that-reads-synchronousl</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/promiseall-promiserace-promiseallsettled-promiseany-explaine</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/fetching-data-from-apis-with-fetch-and-handling-errors</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/asynchronous-javascript/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/selecting-and-modifying-dom-elements-with-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/javascript-event-listeners-handling-user-interaction</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/local-storage-and-session-storage-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/the-intersection-observer-and-mutation-observer-apis</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/timers-requestanimationframe-and-browser-rendering-performan</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/dom-manipulation-and-browser-apis/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/es-modules-import-and-export-syntax-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/error-handling-in-javascript-try-catch-custom-errors-and-err</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/iterators-and-generators-in-javascript-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/proxy-and-reflect-intercepting-javascript-object-operations</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/weakmap-weakset-and-memory-management-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-the-complete-language/advanced-javascript-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/what-is-typescript-and-why-use-it-over-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/how-to-install-typescript-and-compile-your-first-file</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/typescript-primitive-types-string-number-boolean-null-undefi</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/typescript-arrays-and-tuples-explained-with-examples</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/typescript-any-unknown-and-never-types-when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/typescript-foundations/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/how-to-type-objects-in-typescript-with-inline-types</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/typescript-interfaces-vs-type-aliases-what-is-the-difference</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/how-to-extend-and-implement-interfaces-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/index-signatures-and-dynamic-object-keys-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/intersection-types-in-typescript-combining-multiple-types</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/object-types-and-interfaces/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/how-to-type-function-parameters-and-return-types-in-typescri</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/function-overloads-in-typescript-how-and-when-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/union-types-and-type-narrowing-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/type-guards-and-custom-type-predicates-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/higher-order-functions-and-function-types-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/functions-and-type-narrowing/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/what-are-generics-in-typescript-and-why-do-you-need-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/generic-constraints-in-typescript-using-extends</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/generic-interfaces-and-generic-classes-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/built-in-typescript-utility-types-partial-required-readonly-</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/generic-utility-types-returntype-parameters-and-awaited-expl</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/generics/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/typescript-class-basics-access-modifiers-public-private-prot</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/abstract-classes-and-inheritance-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/static-members-and-singleton-pattern-in-typescript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/getters-and-setters-in-typescript-classes</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/typescript-decorators-introduction-class-and-method-decorato</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/classes-and-object-oriented-typescript/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/mapped-types-in-typescript-transforming-existing-types</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/conditional-types-in-typescript-ternary-logic-at-the-type-le</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/template-literal-types-in-typescript-dynamic-string-types</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/typescript-module-augmentation-and-declaration-merging</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/typescript-project-configuration-strict-mode-and-performance</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/typescript-complete-course-from-zero/advanced-types-and-real-world-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/how-to-install-python-and-run-your-first-script</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/python-variables-and-data-types-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/python-operators-and-expressions--complete-guide</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/python-if-else-and-conditional-logic</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/python-for-loops-and-while-loops</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/python-basics-and-syntax/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/python-lists--creation-indexing-and-common-methods</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/python-tuples-vs-lists--when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/python-dictionaries--keys-values-and-methods</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/python-sets--unique-collections-and-set-operations</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/python-list-comprehensions-and-generators</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/data-structures/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/how-to-define-and-call-functions-in-python</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/python-args-and-kwargs-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/python-lambda-functions-and-when-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/python-closures-and-the-scope-chain</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/python-decorators--how-they-work-and-how-to-write-one</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/functions-and-functional-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/python-classes-and-objects--the-basics</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/python-inheritance-and-method-overriding</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/python-dunder-methods-and-operator-overloading</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/python-class-methods-static-methods-and-properties</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/python-abstract-classes-and-interfaces</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/object-oriented-programming/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/how-to-read-and-write-files-in-python</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/python-try-except--exception-handling-patterns</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/python-custom-exceptions--how-and-when-to-create-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/working-with-json-files-in-python</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/reading-and-writing-csv-files-with-python</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/file-io-and-error-handling/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/python-iterators-and-the-iterator-protocol</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/python-generators--yield-and-send-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/python-context-managers--writing-your-own-with-statement</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/python-type-hints-and-how-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/python-threading-and-multiprocessing-basics</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/python-complete-language-course/advanced-python-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/how-java-compilation-and-the-jvm-work</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/java-primitive-data-types-and-variable-declaration</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/java-operators-and-expression-evaluation-order</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/java-if-else-and-switch-control-flow</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/java-for-loop-while-loop-and-loop-control</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-fundamentals/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/java-classes-and-objects-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/java-encapsulation-with-private-fields-and-getters-setters</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/java-inheritance-and-the-extends-keyword</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/java-polymorphism-and-method-overriding-at-runtime</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/java-interfaces-and-implementing-multiple-contracts</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/object-oriented-programming-in-java/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/java-arraylist-vs-linkedlist--when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/java-hashmap-and-hashset-for-fast-lookups</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/java-generics-and-type-safe-collections</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/java-streams-api-for-collection-processing</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/java-iterator-pattern-and-comparable-for-sorting</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/java-collections-framework/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/java-checked-vs-unchecked-exceptions-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/java-try-catch-finally-and-multi-catch-blocks</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/java-try-with-resources-and-autocloseable</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/reading-and-writing-text-files-in-java</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/custom-exceptions-in-java--when-and-how-to-create-them</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/exception-handling-and-io/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/java-threads--creating-and-starting-threads</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/java-synchronized-keyword-and-race-conditions</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/java-executorservice-and-thread-pool-basics</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/java-atomic-classes-and-concurrent-collections</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/java-completablefuture-for-async-non-blocking-code</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/concurrency-and-multithreading/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/java-lambda-expressions-and-functional-interfaces</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/java-optional--avoiding-nullpointerexception-properly</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/java-records-for-immutable-data-classes</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/java-sealed-classes-and-pattern-matching-with-switch</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/java-design-patterns--builder-strategy-and-observer</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/java-complete-language-course/modern-java-features-and-best-practices/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/what-is-react-and-why-use-it-over-plain-javascript</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/how-to-set-up-a-react-project-with-vite</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/jsx-syntax-rules-every-react-developer-must-know</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/react-components-explained-functions-vs-classes</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/how-props-work-in-react-components</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-fundamentals/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/usestate-hook-explained-with-practical-examples</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/how-react-event-handling-works</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/controlled-vs-uncontrolled-components-in-react-forms</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/lifting-state-up-in-react-component-trees</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/how-to-render-lists-and-use-keys-correctly-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-and-event-handling/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/useeffect-hook-side-effects-and-lifecycle-in-functional-comp</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/useref-hook-dom-access-and-mutable-values-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/usereducer-hook-managing-complex-state-logic</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/usememo-and-usecallback-when-and-how-to-use-memoization</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/how-to-build-custom-hooks-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-hooks-in-depth/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/react-context-api-solving-prop-drilling</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/compound-component-pattern-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/higher-order-components-hoc-pattern-explained</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/reactmemo-and-performance-optimization-for-components</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/render-props-pattern-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/component-patterns-and-context-api/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/react-router-v6-setup-and-basic-routing</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/dynamic-routes-and-url-parameters-in-react-router</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/protected-routes-and-authentication-in-react-router</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/code-splitting-and-lazy-loading-routes-in-react</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/react-router-data-apis-loaders-and-actions</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/react-router-and-navigation/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/client-state-vs-server-state-understanding-the-difference</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/zustand-global-state-management-without-boilerplate</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/react-query-fetching-and-caching-server-data</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/react-query-mutations-creating-updating-and-deleting-data</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/combining-zustand-and-react-query-in-a-real-app</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/reactjs-complete-course/state-management-with-zustand-and-react-query/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/what-is-nextjs-and-how-does-it-differ-from-create-react-app</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/how-to-scaffold-a-nextjs-project-with-create-next-app</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/how-file-based-routing-works-in-the-nextjs-app-router</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/server-components-vs-client-components-in-nextjs</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/how-to-fetch-data-in-nextjs-server-components</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/nextjs-foundations-and-project-setup/assessments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/how-to-create-dynamic-route-segments-in-nextjs-app-router</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/how-to-navigate-between-pages-using-the-nextjs-link-componen</loc>
<lastmod>2026-06-08T23:02:36.541Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/what-are-route-groups-and-parallel-routes-in-nextjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/how-to-read-search-params-and-handle-404s-in-nextjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/how-middleware-works-in-nextjs-and-when-to-use-it</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/routing-navigation-and-dynamic-segments/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/how-to-create-api-routes-in-the-nextjs-app-router</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/what-are-server-actions-and-how-do-they-replace-api-routes-f</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/how-to-handle-form-state-and-errors-with-useactionstate-in-n</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/how-to-validate-and-sanitize-data-in-nextjs-server-actions</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/how-to-structure-nextjs-api-routes-for-rest-endpoints</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/api-routes-and-server-actions/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/how-to-set-up-prisma-with-nextjs-and-postgresql</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/how-to-define-models-and-relations-in-a-prisma-schema</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/how-to-perform-crud-operations-with-prisma-in-nextjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/how-to-implement-pagination-with-prisma-and-nextjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/how-to-handle-database-errors-and-transactions-in-prisma</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/database-integration-with-prisma/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/how-to-set-up-nextauthjs-v5-in-a-nextjs-app-router-project</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/how-to-add-oauth-providers-to-nextauthjs-github-google</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/how-to-implement-credentials-authentication-with-nextauthjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/how-to-access-session-data-in-nextjs-server-and-client-compo</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/how-to-protect-routes-with-nextauthjs-middleware</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/authentication-with-nextauthjs/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/how-to-optimize-images-in-nextjs-with-the-image-component</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/how-to-optimize-fonts-in-nextjs-with-nextfont</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/how-to-add-metadata-and-open-graph-tags-in-nextjs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/how-nextjs-caching-works-and-how-to-control-it</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/how-to-deploy-a-nextjs-application-to-vercel</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nextjs-full-stack-react-applications/performance-optimization-and-deployment/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/what-is-tailwind-css-and-how-does-utility-first-css-work</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/how-to-install-tailwind-css-with-vite-or-cdn</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/tailwind-spacing-sizing-and-color-system-explained</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/typography-utilities-in-tailwind-css</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/tailwind-css-hover-focus-and-state-variants</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/tailwind-fundamentals/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/tailwind-flexbox-utilities-flex-justify-align-explained</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/css-grid-in-tailwind-columns-rows-and-template-areas</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/how-to-center-elements-vertically-and-horizontally-in-tailwi</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/tailwind-position-utilities-relative-absolute-sticky-fixed</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/building-a-responsive-navbar-with-tailwind-flexbox</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/layout-with-flexbox-and-grid/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/how-tailwind-responsive-breakpoints-work-sm-md-lg-xl</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/responsive-typography-and-spacing-in-tailwind</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/responsive-show-and-hide-elements-with-tailwind-display-clas</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/responsive-images-and-aspect-ratios-in-tailwind</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/container-class-and-responsive-layout-containers-in-tailwind</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/responsive-design/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/building-reusable-button-components-with-tailwind-variants</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/tailwind-card-component-patterns-for-product-and-content-car</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/styling-html-forms-with-tailwind-css</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/building-a-modal-overlay-with-tailwind-css</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/tailwind-badge-tag-and-pill-component-patterns</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/component-patterns-and-ui-building/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/how-to-customize-tailwind-with-tailwindconfigjs-theme-extens</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/tailwind-dark-mode-class-strategy-vs-media-strategy</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/tailwind-arbitrary-values-writing-custom-css-inside-utility-</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/using-apply-in-tailwind-to-extract-component-classes</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/tailwind-css-variables-and-design-tokens-with-css-custom-pro</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/customization-and-theming/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/tailwind-transitions-and-how-to-animate-ui-state-changes</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/tailwind-css-animations-animate-spin-pulse-bounce-and-custom</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/tailwind-peer-modifier-styling-siblings-based-on-input-state</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/tailwind-css-plugins-typography-forms-and-container-queries</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/building-a-complete-saas-landing-page-with-tailwind-css</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/tailwind-css-complete-course/animations-transitions-and-advanced-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/what-is-the-critical-rendering-path-and-why-does-it-matter</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/what-is-ttfb-and-how-does-server-response-time-affect-page-s</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/what-are-render-blocking-resources-and-how-to-eliminate-them</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/how-to-read-a-browser-waterfall-chart-to-find-performance-bo</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/what-is-the-browser-cache-and-how-http-cache-headers-control</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/how-browsers-load-pages/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/what-is-lcp-and-how-to-improve-largest-contentful-paint</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/what-is-cls-and-how-to-eliminate-cumulative-layout-shift</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/what-is-inp-and-how-to-optimize-interaction-to-next-paint</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/how-to-measure-core-web-vitals-in-the-field-and-in-the-lab</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/how-to-use-lighthouse-to-audit-and-score-page-performance</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/core-web-vitals/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/which-image-format-should-you-use-webp-avif-or-jpeg</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/how-to-serve-responsive-images-with-srcset-and-sizes-attribu</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/when-to-use-lazy-loading-for-images-and-what-the-tradeoffs-a</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/how-to-load-web-fonts-without-causing-layout-shift-or-foit</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/how-to-compress-and-optimize-images-at-build-time-with-sharp</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/image-and-font-optimization/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/how-javascript-bundle-size-affects-time-to-interactive</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/how-to-code-split-a-javascript-bundle-with-dynamic-imports</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/how-to-tree-shake-unused-javascript-with-es-modules</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/what-causes-long-tasks-on-the-main-thread-and-how-to-fix-the</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/how-to-use-a-bundle-analyzer-to-find-and-remove-large-depend</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/javascript-performance/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/how-http2-and-http3-improve-web-performance-over-http11</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/how-cdns-work-and-when-you-actually-need-one</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/how-brotli-and-gzip-compression-reduce-transfer-size</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/what-is-resource-hinting-preconnect-prefetch-and-preload</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/how-to-implement-a-service-worker-for-offline-caching-and-fa</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/network-and-delivery-optimization/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/how-css-triggers-layout-paint-and-composite--and-why-it-matt</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/how-to-achieve-smooth-60fps-css-animations-without-jank</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/what-causes-forced-synchronous-layout-and-how-to-avoid-it</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/how-to-use-css-containment-to-improve-rendering-performance</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/how-to-reduce-unused-css-and-eliminate-render-blocking-style</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/web-performance-fundamentals/css-performance-and-rendering/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/what-is-the-dom-and-how-does-a-browser-build-it</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/how-to-select-dom-elements-with-queryselector</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/reading-and-writing-element-properties-in-the-dom</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/how-to-traverse-the-dom-tree-with-parent-child-and-sibling-p</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/creating-and-inserting-dom-elements-dynamically-with-javascr</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/understanding-the-dom/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/how-addeventlistener-works-in-javascript</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/what-is-event-bubbling-and-how-does-it-work</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/event-delegation-handling-clicks-on-dynamic-elements</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/preventing-default-browser-behaviour-on-form-submit-and-link</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/keyboard-and-input-events-keydown-keyup-and-input</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/events-and-event-handling/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/how-to-add-remove-and-toggle-css-classes-with-classlist</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/reading-and-setting-inline-styles-with-elementstyle</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/how-to-read-element-dimensions-and-position-in-the-browser</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/css-transitions-vs-javascript-animation-requestanimationfram</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/intersection-observer-detecting-when-elements-enter-the-view</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/styles-classes-and-layout-via-javascript/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/what-is-asynchronous-javascript-and-why-does-it-matter</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/javascript-promises-then-catch-and-promiseall</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/asyncawait-writing-asynchronous-code-that-reads-like-synchro</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/how-to-fetch-data-from-an-api-using-the-fetch-api</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/handling-api-errors-and-loading-states-in-the-ui</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/asynchronous-javascript-and-the-fetch-api/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/localstorage-vs-sessionstorage-when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/how-to-read-and-write-browser-cookies-with-javascript</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/the-storage-event-syncing-data-across-browser-tabs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/building-a-simple-client-side-state-manager-with-localstorag</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/indexeddb-basics-storing-structured-data-in-the-browser</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/browser-storage-and-state-management/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/how-the-history-api-enables-single-page-app-navigation</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/parsing-and-building-urls-with-the-url-api</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/clipboard-api-reading-and-writing-text-in-the-browser</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/mutationobserver-watching-dom-changes-without-polling</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/resizeobserver-reacting-to-element-size-changes</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/javascript-in-the-browser-dom-events-apis/web-apis-history-url-clipboard-and-observers/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/what-is-nodejs-and-how-does-it-differ-from-browser-javascrip</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/how-the-nodejs-event-loop-works-step-by-step</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/nodejs-module-system-commonjs-vs-es-modules</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/npm-and-packagejson-managing-nodejs-dependencies</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/nodejs-built-in-globals-and-useful-cli-flags</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/the-nodejs-runtime-explained/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/callbacks-in-nodejs-and-the-error-first-convention</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/promises-in-nodejs-then-catch-and-chaining</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/asyncawait-in-nodejs-writing-async-code-that-looks-synchrono</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/nodejs-eventemitter-building-event-driven-components</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/handling-errors-in-async-nodejs-code-the-right-way</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/async-javascript-in-nodejs/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/nodejs-fs-module-reading-writing-and-watching-files</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/nodejs-path-module-handling-file-paths-correctly-cross-platf</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/building-an-http-server-with-nodejs-http-module</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/nodejs-streams-reading-and-writing-large-data-efficiently</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/nodejs-crypto-module-hashing-encryption-and-random-values</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/nodejs-core-modules/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/expressjs-setup-and-routing-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/express-middleware-how-it-works-and-how-to-write-your-own</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/input-validation-in-express-apis-with-zod-or-joi</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/structured-error-handling-in-express-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/serving-files-and-handling-multipart-uploads-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/expressjs-building-rest-apis/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/jwt-authentication-in-nodejs-how-it-actually-works</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/building-a-jwt-auth-middleware-for-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/password-hashing-and-secure-login-in-nodejs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/securing-express-apis-helmet-rate-limiting-and-cors</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/environment-configuration-and-secrets-management-in-nodejs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/authentication-and-security/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/connecting-nodejs-to-postgresql-with-pg-or-prisma</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/unit-testing-nodejs-with-jest</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/integration-testing-express-apis-with-supertest</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/logging-and-monitoring-nodejs-applications-in-production</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/deploying-nodejs-to-production-docker-and-cloud-platforms</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/nodejs-the-complete-runtime/databases-testing-and-deployment/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/what-is-expressjs-and-why-use-it-over-plain-nodejs</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/how-to-create-your-first-express-server-and-handle-requests</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/express-routing--defining-get-post-put-delete-routes</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/route-parameters-and-query-strings-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/express-router--how-to-split-routes-into-separate-files</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/expressjs-fundamentals/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/what-is-middleware-in-express-and-how-the-middleware-stack-w</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/how-to-write-a-custom-logging-middleware-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/how-to-write-request-validation-middleware-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/how-third-party-middleware-works--morgan-cors-helmet</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/how-to-pass-data-between-middleware-using-req-object</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/middleware-deep-dive/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/rest-api-design-principles-every-developer-should-know</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/how-to-structure-consistent-json-api-responses</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/express-error-handling-middleware--how-to-catch-all-errors</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/pagination-filtering-and-sorting-in-rest-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/how-to-handle-async-route-handlers-without-crashing-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/building-restful-apis/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/how-jwt-authentication-works-in-rest-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/how-to-write-jwt-authentication-middleware-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/role-based-access-control-rbac-middleware-in-express</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/how-to-hash-passwords-and-store-them-securely-with-bcrypt</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/how-to-use-environment-variables-to-protect-secrets-in-expre</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/authentication-and-authorization/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/how-to-build-a-rate-limiting-middleware-from-scratch</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/input-sanitization-middleware--preventing-injection-attacks</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/how-to-handle-file-uploads-in-express-with-multer</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/response-caching-middleware--how-to-cache-api-responses</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/how-to-structure-express-middleware-for-large-scale-applicat</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/advanced-middleware-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/how-to-test-express-routes-with-jest-and-supertest</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/how-to-test-authenticated-express-routes-in-jest</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/express-app-configuration-for-production--compression-loggin</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/how-to-deploy-an-express-api-to-railway-or-render</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/how-to-document-an-express-api-with-swaggeropenapi</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/expressjs-apis-and-middleware/testing-and-deploying-express-apis/assessments</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/how-http-request-response-cycle-works</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/what-makes-an-api-restful--the-6-constraints</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/http-methods--get-post-put-patch-delete-explained</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/rest-resource-naming-and-url-design-best-practices</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/http-status-codes--which-code-to-return-and-when</loc>
<lastmod>2026-06-08T23:02:36.542Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/http-foundations-and-rest-principles/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/setting-up-expressjs-for-rest-api-development</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/express-routing--defining-get-post-put-delete-routes</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/express-router--organizing-routes-into-separate-files</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/express-middleware--what-it-is-and-how-to-use-it</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/project-folder-structure-for-a-scalable-express-api</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/building-your-first-api-with-nodejs-and-express/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/input-validation-in-express-with-zod</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/consistent-api-error-response-format-design</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/api-pagination--cursor-based-vs-offset-based</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/api-filtering-and-sorting-with-query-parameters</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/api-versioning-strategies--url-vs-header-versioning</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/data-validation-error-handling-and-api-design-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/jwt-authentication--how-json-web-tokens-work</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/implementing-login-and-jwt-auth-middleware-in-express</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/refresh-tokens--implementing-secure-token-rotation</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/role-based-access-control-rbac-in-express-apis</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/securing-passwords--bcrypt-hashing-and-common-mistakes</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/authentication-and-authorization/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/connecting-express-to-postgresql-with-prisma-orm</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/prisma-crud--create-read-update-delete-with-real-queries</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/database-transactions-in-prisma--when-and-how-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/n1-query-problem-in-apis-and-how-to-fix-it-with-prisma</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/prisma-migrations--managing-database-schema-changes-safely</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/database-integration-with-postgresql-and-prisma/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/integration-testing-express-apis-with-jest-and-supertest</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/openapi-documentation--generating-docs-from-your-express-api</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/rate-limiting-and-security-headers-for-production-apis</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/environment-variables-and-config-management-for-apis</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/deploying-a-nodejs-api-to-production--railway-and-render</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/rest-api-development-beginner-to-production/testing-documentation-and-production-deployment/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/what-is-fastapi-and-why-is-it-faster-than-flask-and-django-r</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/how-to-define-path-parameters-and-query-parameters-in-fastap</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/how-to-validate-request-bodies-with-pydantic-models-in-fasta</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/how-fastapi-response-models-and-status-codes-work</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/how-to-structure-a-fastapi-project-with-routers-and-multiple</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/fastapi-foundations/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/when-to-use-async-def-vs-def-in-fastapi-routes</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/how-fastapi-dependency-injection-works-with-depends</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/how-to-use-class-based-dependencies-in-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/how-to-use-yield-dependencies-for-resource-management-in-fas</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/how-to-run-background-tasks-in-fastapi-without-blocking-the-</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/async-programming-and-dependencies/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/how-to-connect-fastapi-to-postgresql-using-sqlalchemy</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/how-to-define-sqlalchemy-orm-models-for-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/how-to-perform-crud-operations-with-sqlalchemy-in-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/how-to-use-alembic-for-database-migrations-in-fastapi-projec</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/how-to-use-sqlalchemy-async-sessions-with-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/database-integration-with-sqlalchemy/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/how-to-hash-passwords-and-verify-them-in-fastapi-with-passli</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/how-to-create-and-verify-jwt-tokens-in-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/how-to-implement-oauth2-password-flow-login-in-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/how-to-configure-cors-in-fastapi-for-frontend-integration</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/how-to-add-rate-limiting-and-request-size-limits-to-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/authentication-and-security/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/how-to-set-up-pytest-and-testclient-for-fastapi-testing</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/how-to-override-fastapi-dependencies-in-tests</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/how-to-write-tests-for-authenticated-fastapi-routes</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/how-to-test-fastapi-with-a-real-database-using-pytest-fixtur</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/how-to-measure-and-improve-test-coverage-in-a-fastapi-projec</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/testing-fastapi-applications/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/how-to-containerize-a-fastapi-app-with-docker</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/how-to-manage-environment-variables-and-secrets-in-fastapi-p</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/how-to-add-structured-logging-to-a-fastapi-application</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/how-to-add-health-check-and-readiness-endpoints-to-fastapi</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/how-to-deploy-fastapi-with-gunicorn-and-uvicorn-workers-in-p</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/fastapi-build-production-python-apis/production-deployment/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/what-is-redis-and-why-use-it-instead-of-a-database</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/how-to-install-redis-on-linux-macos-and-docker</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/redis-data-types-overview-strings-hashes-lists-sets-sorted-s</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/redis-key-expiry-and-ttl-how-to-set-and-check-expiration</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/redis-persistence-rdb-snapshots-vs-aof-logging-explained</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-fundamentals/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/redis-string-commands-set-get-incr-append-getrange</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/redis-hash-commands-hset-hget-hmget-hdel-hgetall</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/redis-list-commands-lpush-rpush-lpop-lrange-llen</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/redis-set-commands-sadd-smembers-sinter-sunion-sdiff</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/redis-sorted-set-commands-zadd-zrange-zrank-zscore-zrangebys</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/core-commands-and-data-structures/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/cache-aside-pattern-how-to-implement-read-through-caching-in</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/write-through-and-write-behind-caching-when-to-update-redis-</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/cache-invalidation-strategies-ttl-event-based-and-tag-based-</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/redis-cache-eviction-policies-lru-lfu-and-allkeys-explained</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/preventing-cache-stampede-with-redis-locks-and-probabilistic</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/caching-patterns/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/redis-pubsub-how-publish-and-subscribe-work</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/redis-streams-introduction-durable-append-only-event-logs</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/redis-stream-consumer-groups-reliable-message-processing-wit</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/keyspace-notifications-subscribe-to-redis-events-like-key-ex</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/when-to-use-pubsub-vs-streams-vs-a-job-queue-in-redis</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/pubsub-and-streams/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/redis-transactions-with-multi-and-exec-atomic-command-batche</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/watch-and-optimistic-locking-in-redis-how-to-handle-concurre</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/redis-pipelines-batch-commands-to-reduce-network-round-trips</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/lua-scripting-in-redis-run-server-side-logic-atomically-with</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/rate-limiting-with-redis-sliding-window-and-token-bucket-pat</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/transactions-scripting-and-pipelines/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/redis-replication-primary-replica-setup-and-how-replication-</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/redis-sentinel-automatic-failover-and-high-availability-expl</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/redis-cluster-horizontal-sharding-and-how-data-is-distribute</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/redis-security-authentication-tls-and-acl-user-permissions</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/monitoring-redis-with-info-monitor-slowlog-and-latency-comma</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/redis-complete-course/redis-in-production/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/what-is-a-websocket-and-why-http-falls-short-for-real-time</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/the-websocket-handshake-explained-step-by-step</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/websocket-frames-and-message-types</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/websocket-readystate-and-connection-lifecycle</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/how-to-inspect-websocket-traffic-in-chrome-devtools</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/how-websockets-actually-work/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/how-to-open-a-websocket-connection-from-the-browser</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/how-to-implement-automatic-websocket-reconnection</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/how-to-send-and-receive-structured-messages-with-websocket</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/websocket-heartbeat-and-keep-alive-implementation</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/how-to-close-a-websocket-connection-gracefully</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/browser-websocket-api/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/how-to-set-up-a-websocket-server-with-the-ws-npm-package</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/how-to-broadcast-messages-to-all-connected-websocket-clients</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/how-to-implement-websocket-rooms-for-group-messaging</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/how-to-authenticate-websocket-connections</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/how-to-handle-websocket-server-errors-and-unexpected-disconn</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/building-a-websocket-server-with-nodejs/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/socketio-vs-raw-websockets--when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/how-to-set-up-socketio-server-and-client</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/how-to-use-socketio-rooms-and-namespaces</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/how-socketio-acknowledgments-work-for-reliable-messaging</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/how-to-use-socketio-middleware-for-authentication</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/socketio-for-production-real-time-apps/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/optimistic-ui-updates-with-websockets</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/how-to-handle-missed-messages-during-websocket-reconnection</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/presence-systems--tracking-who-is-online-with-websockets</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/message-ordering-and-deduplication-in-real-time-systems</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/rate-limiting-websocket-connections-and-messages</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/real-time-patterns-and-architecture/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/why-you-cannot-horizontally-scale-a-websocket-server-naively</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/how-to-use-redis-pubsub-to-broadcast-across-websocket-server</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/socketio-redis-adapter-for-horizontal-scaling</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/sticky-sessions-and-load-balancing-for-websocket-servers</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/monitoring-websocket-servers-in-production</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/websockets-real-time-applications/scaling-websocket-servers/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/what-is-a-relational-database-and-why-should-developers-care</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/writing-your-first-select-query--columns-aliases-and-literal</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/filtering-rows-with-where--operators-and-conditions</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/sorting-and-limiting-results-with-order-by-and-limit</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/sql-data-types-every-developer-must-know</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/foundations-how-databases-think/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/count-sum-avg-min-max--aggregate-functions-explained</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/group-by--aggregate-data-by-category-or-value</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/having-vs-where--filtering-groups-after-aggregation</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/window-functions--rownumber-rank-and-running-totals</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/lag-and-lead--comparing-rows-to-previous-or-next-values</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/aggregations-and-grouping/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/how-sql-joins-work--the-mental-model-developers-need</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/inner-join-vs-left-join--which-rows-survive</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/right-join-and-full-outer-join--when-and-why-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/joining-three-or-more-tables-without-losing-your-mind</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/self-joins-and-non-equi-joins--advanced-join-patterns</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/joins--combining-tables/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/database-normalization--1nf-2nf-3nf-without-the-textbook-jar</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/primary-keys-foreign-keys-and-referential-integrity</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/unique-not-null-check--enforcing-data-rules-in-the-schema</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/indexes--what-they-are-and-when-to-add-them</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/many-to-many-relationships-and-junction-tables</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/schema-design-and-constraints/assessments</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes</loc>
<lastmod>2026-06-08T23:02:36.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/scalar-subqueries-and-subqueries-in-where--inline-queries-ex</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/correlated-subqueries--what-they-are-and-when-they-are-slow</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/ctes-with-with--making-complex-queries-readable</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/recursive-ctes--querying-hierarchical-data</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/subqueries-in-from--derived-tables-and-their-uses</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/subqueries-and-ctes/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/transactions-and-acid--what-developers-need-to-know</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/reading-explain-output--understanding-query-execution-plans</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/n1-queries-and-how-to-fix-them-with-sql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/common-query-rewrites-that-make-sql-faster</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/upsert-soft-deletes-and-common-application-sql-patterns</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/sql-for-developers-not-dbas/transactions-performance-and-production-sql/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/how-to-install-postgresql-on-windows-mac-and-linux</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/what-is-psql-and-how-to-use-the-psql-command-line-tool</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/how-to-create-a-postgresql-database-and-connect-to-it</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/postgresql-data-types-explained-with-examples</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/how-to-create-your-first-table-in-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/getting-started-with-postgresql/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/how-to-select-data-from-a-postgresql-table</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/insert-update-delete-in-postgresql-with-examples</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/how-sql-aggregate-functions-work-in-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/how-to-join-tables-in-postgresql-inner-left-right-full</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/what-are-subqueries-and-ctes-in-postgresql-and-when-to-use-t</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/core-sql-querying-and-manipulating-data/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/database-normalization-explained-1nf-2nf-3nf-with-examples</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/how-to-use-foreign-keys-and-referential-integrity-in-postgre</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/postgresql-check-unique-and-not-null-constraints-explained</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/how-sequences-and-identity-columns-work-in-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/postgresql-schemas-explained-namespaces-and-searchpath</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/schema-design-and-constraints/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/how-postgresql-b-tree-indexes-work-and-when-to-use-them</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/how-to-read-postgresql-explain-analyze-output</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/postgresql-index-types-hash-gin-gist-brin--when-to-use-each</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/how-to-optimize-slow-postgresql-queries-in-production</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/what-are-window-functions-in-postgresql-and-how-do-they-work</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/indexes-and-query-performance/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/how-database-transactions-work-in-postgresql-acid-explained</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/postgresql-transaction-isolation-levels-explained-with-examp</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/how-postgresql-row-locking-works-select-for-update-and-advis</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/what-is-mvcc-in-postgresql-and-how-does-it-affect-performanc</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/how-to-detect-and-fix-deadlocks-in-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/transactions-concurrency-and-locking/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/how-to-write-postgresql-functions-and-stored-procedures</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/how-triggers-work-in-postgresql-with-real-examples</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/working-with-jsonb-in-postgresql-operators-and-indexing</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/postgresql-roles-and-permissions-explained-grant-revoke-crea</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/how-row-level-security-rls-works-in-postgresql</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://scriptvalley.com/courses/postgresql-complete-course/advanced-postgresql-functions-json-and-security/assessments</loc>
<lastmod>2026-06-08T23:02:36.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
