<?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-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/offers</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/about</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/faq</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/contact</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/privacy</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/terms</loc>
<lastmod>2026-04-27T16:54:52.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/refund-policy</loc>
<lastmod>2026-04-27T16:54:52.116Z</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/brotli-vs-gzip-وفر-21-من-حجم-javascript-قبل-ما-يوصل-المتصفح-2</loc>
<lastmod>2026-04-27T13:42:08.488Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-للمبتدئين-خلي-ai-يقرأ-ملفاتك-ويجاوب-منها-بدون-تدريب-3</loc>
<lastmod>2026-04-27T12:33:19.133Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/structured-output-في-ai-خلي-الموديل-يرجعلك-json-صحيح-من-أول-مرة-2</loc>
<lastmod>2026-04-27T11:33:01.442Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-servers-بالعربي-اربط-claude-بأدواتك-من-غير-ما-تبني-api-لكل-أداة-3</loc>
<lastmod>2026-04-27T10:29:13.111Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/stack-vs-heap-بالعربي-ليه-متغير-بياخد-نانوثانية-والثاني-ميكروثانية-2</loc>
<lastmod>2026-04-27T09:28:07.032Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-yield-بيخلي-كودك-يقرأ-10-مليون-صف-بـ-30mb-2</loc>
<lastmod>2026-04-27T08:27:04.990Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-multi-stage-builds-للمبتدئين-نزل-صورة-nodejs-من-12gb-لـ-95mb-3</loc>
<lastmod>2026-04-27T07:44:35.957Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memory-leak-في-nodejs-ازاي-تكشفها-بـ-heap-snapshot-قبل-ما-السيرفر-يقع-2</loc>
<lastmod>2026-04-27T05:18:09.888Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rust-ownership-بالعربي-امن-الذاكرة-بدون-garbage-collector-2</loc>
<lastmod>2026-04-27T04:36:55.595Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-قلل-تكلفة-claude-90-على-system-prompt-المتكرر-3</loc>
<lastmod>2026-04-27T03:20:26.235Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hashmap-للمبتدئ-ليه-dict-بيلاقي-قيمة-في-05-ميكروثانية-2</loc>
<lastmod>2026-04-27T02:31:51.103Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sha-pinning-في-github-actions-امنع-supply-chain-attack-من-سرقة-ci-secrets-2</loc>
<lastmod>2026-04-27T00:23:11.532Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-بالعربي-ابن-autocomplete-أسرع-من-like-query-بـ-100-مرة-2</loc>
<lastmod>2026-04-26T23:33:40.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-injection-ليه-تطبيق-ai-بتاعك-مكشوف-وإزاي-تحميه</loc>
<lastmod>2026-04-26T22:10:07.274Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-بالعربي-قول-مش-موجود-في-o1-بدون-لمس-قاعدة-البيانات-2</loc>
<lastmod>2026-04-26T21:22:44.866Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reflection-pattern-في-وكلاء-ai-خلي-الوكيل-يراجع-شغله-قبل-ما-يسلمه-2</loc>
<lastmod>2026-04-26T20:25:54.603Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/web-workers-في-javascript-شغل-الحسابات-الثقيلة-بدون-ما-الواجهة-تتعلق-2</loc>
<lastmod>2026-04-26T19:21:34.311Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/function-calling-للمبتدئين-خلي-ai-يستخدم-أدواتك-الحقيقية-2</loc>
<lastmod>2026-04-26T18:24:12.510Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vercel-april-2026-incident-secret-rotation-checklist-20260426-2018</loc>
<lastmod>2026-04-26T17:16:58.634Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/outbox-pattern-بالعربي-امنع-فقدان-الأحداث-بين-قاعدة-البيانات-و-kafka-2</loc>
<lastmod>2026-04-26T17:15:23.141Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
</urlset>
