<?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-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/offers</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/about</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/faq</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/contact</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/privacy</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/terms</loc>
<lastmod>2026-05-06T08:47:42.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/refund-policy</loc>
<lastmod>2026-05-06T08:47:42.771Z</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/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>
<url>
<loc>https://lms.ahmedhaies.com/blog/argocd-gitops-للمتوسط-انشر-تطبيقاتك-من-git-بدون-kubectl-يدوي-2</loc>
<lastmod>2026-05-04T05:38:07.265Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-للمبتدئ-ازاي-تخلي-claude-يجاوب-من-ملفاتك-بدل-ما-يخترع-مصادر-3</loc>
<lastmod>2026-05-04T00:25:46.352Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/lazy-loading-للصور-حمل-12-صورة-بدل-200-وقدم-الصفحة-في-18-ثانية-بدل-64-2</loc>
<lastmod>2026-05-03T20:18:11.114Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/circuit-breaker-للمستوى-المتوسط-ازاي-تمنع-خدمة-واحدة-بتفشل-من-إنها-تكسر-تطبيقك-كله-2</loc>
<lastmod>2026-05-03T15:30:39.084Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/extended-thinking-في-claude-للمتوسط-متى-تخلي-الموديل-يفكر-قبل-الرد-3</loc>
<lastmod>2026-05-03T10:33:34.204Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-الكمبيوتر-بيفهم-إن-دكتور-قريبة-من-مستشفى-3</loc>
<lastmod>2026-05-03T05:22:23.042Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/parallel-tool-use-في-claude-api-للمحترف-نفذ-5-أدوات-في-12-ثانية-بدل-6-3</loc>
<lastmod>2026-05-03T00:38:15.660Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sealed-secrets-في-kubernetes-للمبتدئ-ازاي-تحط-الباسوردات-في-git-بأمان-2</loc>
<lastmod>2026-05-02T20:25:07.392Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/stale-while-revalidate-قدم-استجابة-في-12ms-وحدث-الكاش-في-الخلفية-2</loc>
<lastmod>2026-05-02T15:24:58.129Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-slots-ازاي-توفر-60-من-ذاكرة-الـ-instances-بسطر-واحد-2</loc>
<lastmod>2026-05-02T10:18:30.708Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
</urlset>
