<?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-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/offers</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/about</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/faq</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/contact</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/privacy</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/terms</loc>
<lastmod>2026-05-07T21:34:08.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/refund-policy</loc>
<lastmod>2026-05-07T21:34:08.936Z</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/tokenization-للمبتدئ-ليه-نفس-الكلام-بالعربي-بيتكلف-3x-من-الإنجليزي-على-claude-3</loc>
<lastmod>2026-05-07T20:17:26.672Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-performance-budget-على-ci-ارفض-أي-pr-يخفض-الأداء-قبل-الـ-merge-2</loc>
<lastmod>2026-05-07T15:17:03.900Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hybrid-search-للمحترف-ادمج-bm25-مع-dense-embeddings-وارفع-دقة-الاسترجاع-لـ-96-3</loc>
<lastmod>2026-05-07T14:37:57.085Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/circuit-breaker-بـ-nodejs-حماية-خدمتك-من-السقوط-المتسلسل-2</loc>
<lastmod>2026-05-07T14:33:45.453Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/resource-hints-بالعربي-preconnect-يوفر-240ms-قبل-أول-طلب-api-2</loc>
<lastmod>2026-05-07T10:12:49.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-بالعربي-ابحث-في-100-مليون-مفتاح-بـ-114mb-رام-بدل-4gb-4</loc>
<lastmod>2026-05-07T05:22:42.511Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mixture-of-experts-للمتوسط-ليه-deepseek-671b-سريع-زي-37b</loc>
<lastmod>2026-05-07T00:21:45.023Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hashicorp-vault-للمتوسط-مركزية-الـ-secrets-بدل-تكرارها-في-كل-cluster-2</loc>
<lastmod>2026-05-06T20:13:58.806Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-للمتوسط-ضيف-logging-و-retry-و-cache-من-غير-ما-تلمس-الدالة-4</loc>
<lastmod>2026-05-06T15:20:50.846Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debouncing-vs-throttling-في-javascript-95-توفير-في-طلبات-api-2</loc>
<lastmod>2026-05-06T10:14:48.432Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hash-maps-في-python-للمتوسط-ازاي-dict-بيلاقي-مفتاح-من-50-مليون-في-180ns-2</loc>
<lastmod>2026-05-06T05:08:52.298Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-personal-ai-search-engine-لملفاتك-بـ-ollama-و-qdrant-في-90-سطر-python-2</loc>
<lastmod>2026-05-06T00:16:08.056Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/batch-api-في-claude-للمتوسط-ادفع-50-أقل-لمعالجة-آلاف-الأسئلة-غير-العاجلة-3</loc>
<lastmod>2026-05-05T20:11:27.065Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-بالعربي-خدم-10000-عميل-من-100-اتصال-db-فقط-3</loc>
<lastmod>2026-05-05T15:15:19.239Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filter-للمتوسط-امنع-إيميل-مكرر-في-50-ميكروثانية-بدون-db-2</loc>
<lastmod>2026-05-05T10:11:54.637Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-في-rag-ازاي-ترفع-دقة-الاسترجاع-من-62-لـ-91-بإضافة-طبقة-واحدة-2</loc>
<lastmod>2026-05-05T05:09:36.439Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/two-pointer-technique-للمبتدئ-حل-مسائل-array-في-on-بدل-on-3</loc>
<lastmod>2026-05-05T00:19:37.265Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-vs-throttle-في-javascript-للمبتدئ-ليه-search-box-بيقصف-السيرفر-مع-كل-حرف-3</loc>
<lastmod>2026-05-04T20:13:33.014Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/token-bucket-للمحترف-ابن-rate-limiter-في-الذاكرة-يخدم-50-ألف-طلبثانية-بدون-redis-2</loc>
<lastmod>2026-05-04T15:14:05.293Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/outbox-pattern-للمستوى-المتوسط-ازاي-تضمن-إن-الـ-event-يوصل-لـ-kafka-بدون-ما-يضيع-بين-الـ-db-والـ-queue-2</loc>
<lastmod>2026-05-04T10:16:45.906Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
</urlset>
