<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://lms.ahmedhaies.com</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/offers</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/about</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/faq</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/contact</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/privacy</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/terms</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/refund-policy</loc>
<lastmod>2026-05-11T07:59:03.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/devops-%D8%A8%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A</loc>
<lastmod>2026-04-24T03:19:21.134Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/how-to-make-it</loc>
<lastmod>2026-04-25T08:34:07.716Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/optimizing-%D8%A8%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A</loc>
<lastmod>2026-04-24T16:23:01.072Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/%D8%A3%D8%AD%D8%AF%D8%AB-%D8%A3%D8%AE%D8%A8%D8%A7%D8%B1-%D8%A7%D9%84%D8%AA%D9%83%D9%86%D9%88%D9%84%D9%88%D8%AC%D9%8A%D8%A7</loc>
<lastmod>2026-04-18T12:30:40.092Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/%D8%A7%D9%84%D8%A3%D9%88%D8%AA%D9%88%D9%85%D9%8A%D8%B4%D9%86</loc>
<lastmod>2026-04-20T00:15:59.231Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A</loc>
<lastmod>2026-04-19T00:10:22.713Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/category/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A</loc>
<lastmod>2026-04-21T03:09:22.099Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ليه-ai-بيلاقيلك-إجابة-مفيهاش-أي-كلمة-من-سؤالك-2</loc>
<lastmod>2026-05-11T06:29:03.878Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pattern-matching-في-python-للمتوسط-استبدل-14-ifelif-بـ-matchcase-نظيف-3</loc>
<lastmod>2026-05-11T06:28:07.134Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/graphrag-للمحترف-لما-vector-search-بيفشل-في-أسئلة-العلاقات-والتسلسل-2</loc>
<lastmod>2026-05-11T06:27:46.893Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-vs-gzip-للمحترف-22-توفير-في-فاتورة-egress-بـ-4-سطور-nginx-3</loc>
<lastmod>2026-05-11T06:26:46.306Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/virtual-scrolling-في-react-للمتوسط-اعرض-100-ألف-صف-بدون-ما-يتجمد-المتصفح-2</loc>
<lastmod>2026-05-11T06:26:31.485Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pattern-matching-في-python-للمتوسط-استبدل-40-سطر-if-بـ-match-2</loc>
<lastmod>2026-05-11T06:25:54.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pydantic-v2-للمحترف-من-18-ثانية-لـ-09-ثانية-في-validate-100k-record-بفضل-rust-core-2</loc>
<lastmod>2026-05-11T06:25:49.717Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokenization-للمبتدئ-ليه-السطر-العربي-بيكلفك-3-أضعاف-الإنجليزي-على-claude-3</loc>
<lastmod>2026-05-11T06:22:47.677Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/table-partitioning-في-postgresql-للمتوسط-من-42-ثانية-لـ-12ms-على-جدول-80-مليون-صف-3</loc>
<lastmod>2026-05-11T05:18:03.880Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/karpenter-للمحترف-نزل-فاتورة-eks-62-ببديل-ذكي-لـ-cluster-autoscaler-2</loc>
<lastmod>2026-05-11T00:08:30.444Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-للمبتدئ-عالج-ملف-4gb-بـ-50mb-ذاكرة-فقط-4</loc>
<lastmod>2026-05-10T20:23:44.880Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/service-workers-للمبتدئ-خلي-موقعك-يفتح-في-80ms-حتى-لو-الإنترنت-قطع-3</loc>
<lastmod>2026-05-10T18:37:31.001Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/fine-tuning-للمبتدئ-تدرب-نموذجك-ولا-prompt-engineering-يكفي-3</loc>
<lastmod>2026-05-10T18:37:24.454Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/weakref-و-finalizationregistry-للمحترف-أمسك-memory-leaks-الخفية-في-spa-3</loc>
<lastmod>2026-05-10T18:37:02.284Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/n1-في-django-orm-للمحترف-من-320-query-لـ-2-وتوفير-48-ثانية-3</loc>
<lastmod>2026-05-10T18:36:51.862Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/read-replicas-في-postgresql-للمتوسط-وزع-80-من-القراءات-بدون-تعديل-سطر-كود-3</loc>
<lastmod>2026-05-10T18:35:52.453Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/تفريغ-الاجتماعات-العربية-بـ-whisper-للمبتدئ-من-8-ساعات-يدوي-لـ-4-دقائق-3</loc>
<lastmod>2026-05-10T18:35:40.629Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/type-hints-في-python-للمبتدئ-امنع-80-من-bugs-قبل-تشغيل-الكود-3</loc>
<lastmod>2026-05-10T18:35:23.417Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/channels-في-go-للمتوسط-تواصل-بين-goroutines-بدون-mutex-2</loc>
<lastmod>2026-05-10T18:34:55.436Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/channels-في-go-للمتوسط-نسق-1000-goroutine-بدون-race-conditions-2</loc>
<lastmod>2026-05-10T18:34:22.110Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
</urlset>
