<?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-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/offers</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/about</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/faq</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/contact</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/privacy</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/terms</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/refund-policy</loc>
<lastmod>2026-06-09T23:49:28.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/courses/practical-ai-daily-system</loc>
<lastmod>2026-05-27T16:53:57.878Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</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/velero-للمحترف-backup-كامل-لـ-kubernetes-cluster-واسترجاع-في-18-دقيقة</loc>
<lastmod>2026-06-09T05:15:28.189Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-probes-للمبتدئ-ليه-pod-بيرجع-500-قبل-ما-يبقى-جاهز</loc>
<lastmod>2026-06-09T00:19:48.762Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/race-conditions-للمبتدئ-ازاي-اتنين-users-يحجزوا-نفس-المقعد-في-نفس-اللحظة</loc>
<lastmod>2026-06-08T20:17:48.474Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ازاي-تتنبأ-بسرعة-كودك-قبل-ما-يقع-السيرفر</loc>
<lastmod>2026-06-08T19:09:53.581Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-نزل-فاتورة-claude-api-بـ-90-بسطر-واحد</loc>
<lastmod>2026-05-30T19:44:00.675Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-و-throttle-للمتوسط-امنع-91-من-طلبات-الـ-search-box-بـ-12-سطر</loc>
<lastmod>2026-05-26T10:21:06.786Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-للمبتدئ-علم-llm-يفكر-بصوت-عال-ودقته-تقفز-من-٣٢-لـ-٧٩</loc>
<lastmod>2026-05-27T09:43:48.468Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debouncing-وthrottling-للمبتدئ-من-8400-طلب-لـ-12-في-الدقيقة</loc>
<lastmod>2026-05-26T00:13:10.782Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-للمتوسط-تتبع-رحلة-طلب-واحد-عبر-8-microservices-في-5-دقائق</loc>
<lastmod>2026-05-25T23:33:29.193Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-سرع-llama-31-70b-بـ-27-بدون-خسارة-دقة</loc>
<lastmod>2026-05-25T23:21:44.100Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-للمتوسط-افحص-50-مليون-رابط-في-64mb-بدون-database</loc>
<lastmod>2026-05-25T22:54:50.285Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-ضاعف-سرعة-llama-31-70b-بـ-24-بدون-فقدان-جودة</loc>
<lastmod>2026-05-25T22:54:38.768Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-للمتوسط-عالج-ملف-50gb-بـ-12mb-رام-بدون-ما-السيرفر-يقع</loc>
<lastmod>2026-05-25T22:54:34.251Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-للمحترف-امنع-99-من-db-queries-بـ-12mb</loc>
<lastmod>2026-05-25T22:54:31.642Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-csv-export-للمبتدئ-صدر-مليون-صف-بـ-nodejs-streams-بدون-ما-السيرفر-يقع</loc>
<lastmod>2026-05-25T22:54:06.511Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/karpenter-للمحترف-استبدل-cluster-autoscaler-ووفر-38-من-فاتورة-ec2-على-eks</loc>
<lastmod>2026-05-25T22:54:05.661Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mem0-للمتوسط-خلي-claude-يفتكر-عميلك-بعد-30-يوم-في-35-سطر</loc>
<lastmod>2026-05-25T22:53:53.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/karpenter-للمتوسط-وفر-47-من-فاتورة-ec2-في-25-سطر-yaml</loc>
<lastmod>2026-05-25T22:53:28.241Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-23-سرعة-في-llama-70b-بـ-draft-model-أصغر-70-مرة</loc>
<lastmod>2026-05-25T22:53:06.449Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/voice-agent-عربي-للمبتدئ-مساعد-صوتي-بـ-whisper-و-claude-في-45-سطر</loc>
<lastmod>2026-05-25T22:52:42.668Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/borrow-checker-في-rust-للمبتدئ-ليه-الكومبايلر-بيرفض-كودك</loc>
<lastmod>2026-05-25T22:52:07.471Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memory-leaks-في-nodejs-اكتشف-وأصلح-بـ-heap-snapshots-في-3-خطوات</loc>
<lastmod>2026-05-25T22:52:04.794Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-سرع-inference-24-بدون-فقد-جودة</loc>
<lastmod>2026-05-25T22:50:37.932Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-self-hosted-plausible-analytics-للمتوسط-بديل-google-analytics-بـ-4-شهريا-في-20-دقيقة</loc>
<lastmod>2026-05-25T22:50:00.950Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-ضاعف-سرعة-llama-70b-بـ-27-بدون-فقدان-كلمة</loc>
<lastmod>2026-05-25T22:49:17.024Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mixture-of-experts-للمتوسط-ازاي-mixtral-8x7b-بيشغل-47b-parameter-بسرعة-13b</loc>
<lastmod>2026-05-25T22:48:54.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/diffusion-models-للمبتدئ-ازاي-ai-بيرسم-صورة-من-جملة-في-4-خطوات</loc>
<lastmod>2026-05-25T22:38:31.838Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tree-shaking-للمحترف-شيل-340kb-من-bundle-بدون-ما-تلمس-الكود</loc>
<lastmod>2026-05-25T15:58:59.639Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-a-judge-للمحترف-eval-pipeline-يمسك-regression-قبل-الإنتاج</loc>
<lastmod>2026-05-25T05:15:54.617Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cors-للمبتدئ-ليه-المتصفح-بيرفض-طلبك-رغم-إن-السيرفر-شغال</loc>
<lastmod>2026-05-24T20:14:12.833Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمتوسط-خلي-النموذج-يستدعي-5-functions-ويوفر-73-من-كود-الشروط</loc>
<lastmod>2026-05-24T17:07:07.139Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-للمبتدئ-ازاي-الدالة-تنادي-نفسها-وامتى-stack-overflow-بيقعد-كل-حاجة</loc>
<lastmod>2026-05-24T16:52:43.553Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/lighthouse-ci-للمتوسط-امنع-تدهور-performance-قبل-ما-يوصل-الإنتاج</loc>
<lastmod>2026-05-24T16:52:04.122Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keda-للمحترف-autoscale-kubernetes-حسب-kafka-lag-بدل-cpu-في-18-سطر-yaml</loc>
<lastmod>2026-05-24T16:52:02.896Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمتوسط-خلي-النموذج-يستدعي-4-apis-في-طلب-واحد-بدل-ما-يرجع-نص</loc>
<lastmod>2026-05-24T16:51:36.984Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/goroutines-pipelines-في-go-للمحترف-عالج-14-مليون-eventثانية-بدون-leaks</loc>
<lastmod>2026-05-24T16:50:45.785Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/javascript-proxy-للمحترف-راقب-أي-قراءة-أو-كتابة-على-object-بـ-12-سطر</loc>
<lastmod>2026-05-24T16:50:32.577Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-للمتوسط-ليه-await-promiseresolve-بيسبق-settimeout0</loc>
<lastmod>2026-05-24T16:49:57.756Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-للمحترف-ليه-settimeout0-بيتأخر-و-promise-بتسبقه</loc>
<lastmod>2026-05-24T16:49:47.864Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-بحث-سيمانتيكي-لـ-5000-منتج-عربي-في-23-سطر</loc>
<lastmod>2026-05-24T16:49:04.298Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/103-early-hints-للمحترف-ابعت-preload-للمتصفح-قبل-الـ-html-بـ-320ms</loc>
<lastmod>2026-05-24T16:49:01.100Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمتوسط-ربط-النموذج-بـ-6-أدوات-بدون-hallucinated-function-calls</loc>
<lastmod>2026-05-24T16:48:32.528Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/b-tree-indexes-في-postgresql-للمبتدئ-من-42-ثانية-لـ-5-مللي-ثانية-بسطر-واحد</loc>
<lastmod>2026-05-24T16:48:22.436Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمبتدئ-خلي-النموذج-يشغل-دوال-بنفسه-في-30-سطر</loc>
<lastmod>2026-05-24T16:48:16.925Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-og-image-دايناميكي-بـ-satori-على-cloudflare-workers-في-80-سطر</loc>
<lastmod>2026-05-24T16:47:42.849Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-للمبتدئ-لما-الدالة-بتنادي-نفسها-بدون-ما-تدخل-في-حلقة-مفرغة</loc>
<lastmod>2026-05-24T16:47:31.039Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/function-calling-في-claude-للمتوسط-من-64-إلى-97-دقة-في-استدعاء-apis-شركتك</loc>
<lastmod>2026-05-24T16:46:46.471Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/systemd-timers-للمبتدئ-ليه-cron-بيفشلك-صامت-وأحدث-بديل-في-8-أسطر</loc>
<lastmod>2026-05-24T16:45:39.422Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-للمتوسط-من-14-دالة-بتعيد-نفس-الكود-لـ-واحد</loc>
<lastmod>2026-05-24T15:18:30.133Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/contextual-retrieval-للمحترف-قلل-فشل-الاسترجاع-67-قبل-reranker</loc>
<lastmod>2026-05-24T11:38:47.633Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-mcp-server-بـ-python-للمتوسط-خلي-claude-يستعلم-على-sqlite-بتاعك-في-80-سطر</loc>
<lastmod>2026-05-24T05:19:51.099Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/few-shot-learning-للمبتدئ-علم-claude-مهمة-جديدة-بـ-5-أمثلة-بدون-fine-tuning</loc>
<lastmod>2026-05-24T00:25:25.290Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/weakmap-و-weakset-للمتوسط-امنع-memory-leaks-في-الـ-caches-و-event-listeners</loc>
<lastmod>2026-05-23T20:15:19.977Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمتوسط-ليه-الدالة-بتفتكر-متغيرات-الـ-scope</loc>
<lastmod>2026-06-01T22:23:16.644Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-في-javascript-للمتوسط-ألغ-طلبات-fetch-قبل-ما-تخنق-الـ-backend</loc>
<lastmod>2026-05-23T10:28:04.220Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vision-api-للمبتدئ-خلي-claude-يقرا-فاتورة-عربية-ويستخرج-12-حقل-بدقة-964</loc>
<lastmod>2026-05-23T12:34:13.353Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-للمتوسط-ارفع-دقة-rag-من-64-لـ-91-بـ-cohere-rerank-في-38ms</loc>
<lastmod>2026-05-23T00:18:32.761Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ليه-this-بيتغير-معناه-في-javascript-4-قواعد-تحسمها</loc>
<lastmod>2026-05-22T15:20:10.515Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/deep-copy-و-shallow-copy-في-javascript-ليه-تعديل-النسخة-بيغير-الأصل</loc>
<lastmod>2026-05-22T10:26:29.007Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ليه-01-02-مش-بيساوي-03-للمبتدئ-خطأ-الفاصلة-العائمة-وحله</loc>
<lastmod>2026-05-22T00:25:39.674Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memoization-للمبتدئ-من-21-ثانية-لـ-003-مللي-ثانية-بسطر-واحد</loc>
<lastmod>2026-05-21T20:39:26.281Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bitwise-و-bitmask-للمبتدئ-خزن-32-صلاحية-في-رقم-واحد</loc>
<lastmod>2026-05-23T17:20:13.785Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-build-للمتوسط-من-4-دقائق-لـ-12-ثانية-بـ-layer-caching-2</loc>
<lastmod>2026-05-20T16:16:32.361Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hash-table-للمبتدئ-ابحث-في-مليون-سجل-في-خطوة-واحدة-2</loc>
<lastmod>2026-05-20T11:11:48.678Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/تقسيم-الكود-للمتوسط-نزل-أول-تحميل-javascript-لـ-210kb-2</loc>
<lastmod>2026-05-20T16:34:32.185Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-قلل-فاتورة-الـ-system-prompt-89-بسطر-واحد-4</loc>
<lastmod>2026-05-19T20:19:51.206Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-vs-gzip-للمبتدئ-نزل-حجم-javascript-24-بسطرين-nginx-4</loc>
<lastmod>2026-05-19T15:16:46.747Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sealed-secrets-في-kubernetes-للمتوسط-حط-credentials-في-git-بأمان-بدون-vault-3</loc>
<lastmod>2026-05-19T10:13:01.183Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-data-structure-للمحترف-ابحث-بالبادئة-في-10-مليون-كلمة-بـ-38-ميكروثانية-3</loc>
<lastmod>2026-05-19T05:19:31.367Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/skip-locked-في-postgresql-شيل-redis-queue-بـ-18-سطر-sql-2</loc>
<lastmod>2026-05-19T00:06:52.143Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pagedattention-للمحترف-ازاي-vllm-بيخدم-27-طلب-أكتر-بنفس-h100-3</loc>
<lastmod>2026-05-18T20:09:26.787Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hallucinations-في-llm-للمبتدئ-امسك-ردود-claude-الغلط-في-22-سطر-3</loc>
<lastmod>2026-05-18T15:18:51.535Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-context-managers-للمتوسط-استبدل-tryfinally-بـ-with-وضمن-غلق-الموارد-3</loc>
<lastmod>2026-05-18T10:15:01.132Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/صور-avif-و-webp-للمتوسط-نزل-حجم-الصور-78-وحسن-lcp-من-34-ثانية-لـ-09-ثانية-2</loc>
<lastmod>2026-05-18T05:08:26.361Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/نظف-docker-images-القديمة-تلقائيا-حرر-14-جيجا-يوميا-بـ-cron-في-30-سطر-3</loc>
<lastmod>2026-05-18T00:13:10.346Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/awq-quantization-للمحترف-llama-70b-على-h100-واحدة-بـ-35gb-3</loc>
<lastmod>2026-05-17T20:10:07.259Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/istio-traffic-splitting-للمحترف-canary-deployment-بـ-14-سطر-yaml-بدون-cicd-معقد-2</loc>
<lastmod>2026-05-17T15:08:52.214Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-network-policies-للمتوسط-امنع-94-من-lateral-movement-في-cluster-بـ-22-سطر-yaml-3</loc>
<lastmod>2026-05-17T10:09:21.766Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/batch-api-في-claude-للمتوسط-وفر-50-لو-شغلك-مش-real-time-2</loc>
<lastmod>2026-05-17T05:12:52.616Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-كودك-بطيء-لما-البيانات-بتكبر-3</loc>
<lastmod>2026-05-17T00:11:02.471Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokens-للمبتدئ-ازاي-تحسب-تكلفة-claude-api-قبل-ما-تبعت-أول-request-3</loc>
<lastmod>2026-05-16T20:13:03.012Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-real-time-dashboard-بـ-server-sent-events-في-nodejs-بديل-websocket-في-60-سطر-3</loc>
<lastmod>2026-05-28T05:47:12.334Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/font-subsetting-للمبتدئ-نزل-الخط-العربي-من-480kb-لـ-62kb-بأمر-واحد-2</loc>
<lastmod>2026-05-25T08:27:44.320Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/long-context-vs-rag-للمحترف-متى-تشيل-qdrant-وتعتمد-على-1m-token-2</loc>
<lastmod>2026-05-16T05:05:37.898Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-generators-للمحترف-عالج-18-جيجا-csv-بـ-80-ميجا-ram-بدل-out-of-memory-3</loc>
<lastmod>2026-05-16T00:06:21.547Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cloudflare-tunnel-للمتوسط-افتح-خدمتك-المحلية-للعالم-بدون-port-forwarding-في-6-دقائق-2</loc>
<lastmod>2026-05-15T20:13:37.423Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/n1-query-للمبتدئ-ليه-dashboard-بياخد-8-ثواني-والحل-في-سطر-orm-3</loc>
<lastmod>2026-05-15T15:22:17.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-تسريع-vllm-24-بنموذج-draft-صغير-3</loc>
<lastmod>2026-05-15T10:21:49.981Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-شهادات-ssl-للمبتدئ-استلم-تنبيه-قبل-30-يوم-من-انتهاء-الشهادة-بـ-40-سطر-bash-3</loc>
<lastmod>2026-05-15T05:20:04.232Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-و-throttle-للمتوسط-من-10-طلبات-api-لطلب-واحد-بسطرين-2</loc>
<lastmod>2026-05-14T20:37:16.111Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-للمتوسط-ليه-settimeout0-مش-بيتنفذ-فورا-2</loc>
<lastmod>2026-05-14T15:15:55.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-للمبتدئ-ليه-الدالة-بتنادي-نفسها-وإمتى-تتجنبها-2</loc>
<lastmod>2026-05-15T16:44:31.015Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/terraform-state-للمبتدئ-ليه-فريقك-بيكرر-السيرفرات-والحل-في-6-أسطر-2</loc>
<lastmod>2026-05-14T05:15:17.858Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-transaction-pooling-للمتوسط-من-8400-connection-errorدقيقة-إلى-صفر-3</loc>
<lastmod>2026-05-14T00:12:35.640Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-discriminated-unions-للمتوسط-امنع-87-من-type-errors-في-الـ-state-machines-بـ-tag-واحد-3</loc>
<lastmod>2026-05-13T20:11:42.034Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-backup-أوتوماتيكي-لـ-postgresql-على-backblaze-b2-للمبتدئ-في-50-سطر-bash-3</loc>
<lastmod>2026-05-13T15:18:14.124Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/connection-pooling-في-postgresql-للمحترف-ليه-pool100-بيبطأ-خدمتك-أكتر-من-pool20-2</loc>
<lastmod>2026-05-13T10:11:04.003Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/passkeys-و-webauthn-للمتوسط-ابني-login-آمن-بدون-passwords-في-90-سطر-nodejs-2</loc>
<lastmod>2026-05-13T05:21:08.768Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redis-pipelining-للمتوسط-من-12k-لـ-290k-setثانية-بسطر-4</loc>
<lastmod>2026-05-13T00:16:32.909Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/stale-while-revalidate-للمتوسط-api-response-في-4ms-بدل-380ms-بسطر-cache-control-3</loc>
<lastmod>2026-05-12T20:12:08.093Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/listennotify-في-postgresql-للمتوسط-استبدل-polling-بـ-real-time-events-في-30-سطر-2</loc>
<lastmod>2026-05-12T15:14:54.813Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-للمبتدئ-افحص-وجود-50-مليون-username-بـ-60-ميجا-ram-بدل-4-جيجا-4</loc>
<lastmod>2026-05-12T10:13:14.348Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-للمتوسط-غلف-14-دالة-بـ-retry-و-cache-بسطر-واحد-3</loc>
<lastmod>2026-05-12T05:19:41.267Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-migration-safety-للمحترف-امنع-downtime-من-alter-table-قبل-ما-يلمس-الإنتاج-2</loc>
<lastmod>2026-05-12T00:12:44.225Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-slots-للمحترف-وفر-61-من-الذاكرة-في-10-مليون-object-3</loc>
<lastmod>2026-05-11T15:08:12.103Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-token-bucket-rate-limiter-بـ-redis-lua-في-70-سطر-nodejs-3</loc>
<lastmod>2026-05-11T15:40:17.450Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-audit-log-في-postgresql-للمتوسط-تتبع-كل-تعديل-على-بياناتك-في-50-سطر-sql-بدون-مكتبة-2</loc>
<lastmod>2026-05-11T10:45:15.141Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mixture-of-experts-للمتوسط-ليه-deepseek-v3-بـ-671b-parameter-بيشتغل-بتكلفة-37b-2</loc>
<lastmod>2026-05-11T10:42:14.023Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-agents-للمتوسط-ازاي-تبني-وكيل-بيخلص-14-خطوة-بدون-حلقة-لا-نهائية-2</loc>
<lastmod>2026-05-11T10:38:46.851Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http3-و-quic-للمتوسط-ليه-موقعك-بياخد-800ms-على-4g-وإزاي-توصله-لـ-240ms-2</loc>
<lastmod>2026-05-11T10:37:19.634Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-كشف-subdomain-takeover-بـ-subjack-امنع-اختراق-دومينك-المنسي-في-12-دقيقة-2</loc>
<lastmod>2026-05-25T08:33:40.494Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/goroutines-و-channels-في-go-للمتوسط-شغل-10k-طلب-بدون-thread-pool-2</loc>
<lastmod>2026-05-11T10:35:27.417Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-للمبتدئ-ليه-فكر-خطوة-بخطوة-بيرفع-دقة-claude-من-18-لـ-79-3</loc>
<lastmod>2026-05-11T10:19:55.027Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ليه-الكلمات-بتتحول-لأرقام-علشان-ai-يفهم-المعنى-3</loc>
<lastmod>2026-05-11T09:50:15.993Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/temperature-و-top-p-للمبتدئ-ليه-نفس-السؤال-بيرجع-3-إجابات-مختلفة-من-claude-3</loc>
<lastmod>2026-05-16T01:29:06.720Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promiseall-مقابل-promiseallsettled-في-javascript-للمتوسط-اختار-الصح-ومتفقدش-نص-النتايج-3</loc>
<lastmod>2026-05-11T09:10:37.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pod-disruption-budgets-للمتوسط-امنع-downtime-أثناء-node-drain-في-12-سطر-yaml-4</loc>
<lastmod>2026-05-20T16:06:05.705Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/yjs-و-crdts-للمتوسط-collaborative-editor-زي-google-docs-في-80-سطر-3</loc>
<lastmod>2026-05-11T09:08:38.699Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمبتدئ-السر-اللي-بيخلي-usestate-و-settimeout-يفتكروا-قيمتهم-3</loc>
<lastmod>2026-05-11T09:07:18.526Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-judge-للمتوسط-قيم-12k-إجابة-ai-بـ-14-بدل-3200-3</loc>
<lastmod>2026-05-11T09:06:28.556Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمتوسط-ازاي-تخلي-llm-يستدعي-كودك-بدل-ما-يهلوس-3</loc>
<lastmod>2026-05-11T09:05:46.983Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-a-judge-للمتوسط-قيم-10000-إجابة-عربية-في-ساعة-بدل-3-أسابيع-مراجعة-بشرية-2</loc>
<lastmod>2026-05-11T09:05:03.545Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/content-visibility-auto-للمبتدئ-خاصية-css-واحدة-تنزل-زمن-الرسم-من-12-ثانية-لـ-90ms-2</loc>
<lastmod>2026-05-11T09:04:41.375Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-نزل-فاتورة-claude-api-90-بدون-لمس-prompt-3</loc>
<lastmod>2026-05-11T08:25:47.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-وفر-90-من-فاتورة-claude-api-بسطر-واحد-3</loc>
<lastmod>2026-05-11T08:25:20.846Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-ادفع-10-بس-على-نفس-الـ-system-prompt-3</loc>
<lastmod>2026-05-11T08:25:04.375Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/materialized-views-في-postgresql-للمحترف-من-تقرير-8-ثوان-لـ-40ms-بدون-لمس-كود-التطبيق-3</loc>
<lastmod>2026-05-11T08:25:02.490Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-injection-للمبتدئ-ليه-شات-بوتك-ممكن-يحول-250-ألف-دولار-بسؤال-واحد-2</loc>
<lastmod>2026-05-11T08:23:46.511Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمبتدئ-وفر-90-من-فاتورة-claude-api-بسطر-واحد-3</loc>
<lastmod>2026-05-11T08:22:41.949Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-للمتوسط-ربط-12-أداة-بـ-claude-في-4-ساعات-بدل-3-أسابيع-integration-3</loc>
<lastmod>2026-05-11T07:57:56.285Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ebpf-و-bpftrace-للمحترف-راقب-latency-أي-عملية-في-إنتاجك-بدون-تعديل-سطر-كود-3</loc>
<lastmod>2026-05-11T07:57:38.294Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/inp-و-scheduleryield-للمتوسط-نزل-زمن-الكليك-من-320ms-لـ-80ms-4</loc>
<lastmod>2026-05-11T07:57:13.494Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-للمبتدئ-ليه-postgresql-بيقع-عند-200-connection-والحل-في-3-أسطر-إعداد-4</loc>
<lastmod>2026-05-11T07:56:37.980Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-نفس-الكود-بياخد-ثانيتين-أو-4-ساعات-3</loc>
<lastmod>2026-05-11T07:56:25.189Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/argocd-للمتوسط-ابدأ-gitops-حقيقي-وامسح-آخر-deploysh-في-12-دقيقة-3</loc>
<lastmod>2026-05-11T07:56:22.667Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-للمتوسط-تتبع-رحلة-الطلب-عبر-14-microservice-وامسك-الـ-bottleneck-في-دقيقتين-3</loc>
<lastmod>2026-06-01T23:08:43.782Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/useeffect-في-react-للمبتدئ-امنع-race-conditions-في-6-سطور-3</loc>
<lastmod>2026-05-11T07:55:52.929Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/postgresql-index-types-للمحترف-brin-vs-gin-vs-gist-vs-b-tree-اختار-صح-أو-اتفرج-على-الفاتورة-3</loc>
<lastmod>2026-05-11T07:55:45.857Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-للمتوسط-ارفع-دقة-rag-العربي-من-71-لـ-94-بـ-cross-encoder-3</loc>
<lastmod>2026-05-11T07:55:08.552Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/branded-types-في-typescript-للمحترف-امنع-خلط-الـ-ids-compile-time-3</loc>
<lastmod>2026-05-11T07:55:07.468Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-ضاعف-سرعة-llama-70b-لـ-24x-بدون-فقد-token-واحد-3</loc>
<lastmod>2026-05-11T07:54:49.043Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/duckdb-للمحترف-استعلامات-sql-على-100gb-csv-في-4-ثواني-بدون-سيرفر-3</loc>
<lastmod>2026-05-11T07:54:42.780Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-للمحترف-ابني-سيرفر-model-context-protocol-إنتاجي-في-60-سطر-python-3</loc>
<lastmod>2026-05-11T07:54:39.531Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-للمحترف-لما-cosine-similarity-بتكذب-على-production-rag-3</loc>
<lastmod>2026-05-11T07:54:35.890Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-كودك-يشتغل-في-01-ثانية-على-100-عنصر-و10-ثواني-على-10k-3</loc>
<lastmod>2026-05-11T07:54:13.549Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-hallucinations-للمبتدئ-ليه-claude-بيخترع-مراجع-وحقائق-وهو-واثق-فيها-3</loc>
<lastmod>2026-05-11T07:54:12.867Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trivy-للمتوسط-امسك-ثغرات-الـ-docker-image-قبل-ما-تروح-production-2</loc>
<lastmod>2026-05-11T07:54:04.766Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-في-rag-للمتوسط-لما-top-50-فيها-الإجابة-لكن-llm-بيختار-الغلط-3</loc>
<lastmod>2026-05-11T07:53:46.231Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-generics-للمتوسط-اكتب-دوال-reusable-بدون-فقدان-النوع-2</loc>
<lastmod>2026-05-11T07:53:36.664Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/wireguard-للمتوسط-vpn-بين-3-سيرفرات-في-8-دقائق-بدون-openvpn-2</loc>
<lastmod>2026-05-11T07:53:08.640Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hypopg-في-postgresql-للمحترف-اختبر-الـ-index-قبل-ما-يقفل-جدولك-6-ساعات-2</loc>
<lastmod>2026-05-11T07:52:45.413Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-في-javascript-للمتوسط-امنع-نتائج-البحث-القديمة-من-تخريب-الجديد-2</loc>
<lastmod>2026-05-11T07:52:11.869Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/async-iterators-في-javascript-للمحترف-استهلك-stream-بـ-12gb-بدون-تجميد-الذاكرة-2</loc>
<lastmod>2026-05-11T07:50:39.242Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-url-shortener-للمبتدئ-على-cloudflare-workers-بصفر-تكلفة-3</loc>
<lastmod>2026-05-11T07:26:36.255Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/explain-analyze-للمحترف-اقرأ-الـ-plan-قبل-ما-تضيف-index-3</loc>
<lastmod>2026-05-11T07:25:50.506Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distroless-docker-للمبتدئ-قلل-حجم-الـ-image-84-وامنع-98-من-cves-3</loc>
<lastmod>2026-05-11T07:25:07.916Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/صور-avif-للمبتدئ-نزل-حجم-صور-موقعك-75-بدون-فقد-جودة-2</loc>
<lastmod>2026-05-11T07:23:13.212Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rust-ownership-للمبتدئ-ليه-الـ-compiler-بيرفض-كودك-قبل-ما-يشتغل-أصلا-2</loc>
<lastmod>2026-05-11T07:22:35.517Z</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-29T02:38:50.637Z</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>
<url>
<loc>https://lms.ahmedhaies.com/blog/set-و-map-في-javascript-للمبتدئ-ليه-arrayincludes-بياخد-4-ثواني-على-مليون-عنصر-2</loc>
<lastmod>2026-05-10T18:33:50.259Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cold-start-في-aws-lambda-من-32-ثانية-لـ-180ms-بـ-snapstart-2</loc>
<lastmod>2026-05-10T18:33:49.809Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/service-worker-caching-للمتوسط-خلي-موقعك-يفتح-في-04-ثانية-للزائر-العائد-2</loc>
<lastmod>2026-05-10T18:33:42.524Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/whisper-large-v3-للمتوسط-فرغ-ساعة-فيديو-عربي-محليا-في-4-دقائق-على-gpu-2</loc>
<lastmod>2026-05-10T18:33:35.224Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/web-workers-في-javascript-للمتوسط-شغل-عمليات-ثقيلة-بدون-ما-تجمد-المتصفح-2</loc>
<lastmod>2026-05-10T18:33:00.767Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/few-shot-prompting-للمبتدئ-3-أمثلة-بتغني-عن-صفحة-شرح-للنموذج-2</loc>
<lastmod>2026-05-10T18:31:09.243Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/probes-في-kubernetes-للمبتدئ-امنع-5xx-بعد-كل-deploy-في-8-أسطر-3</loc>
<lastmod>2026-05-10T18:18:36.842Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/liveness-vs-readiness-probes-في-kubernetes-للمبتدئ-الفرق-بين-200-ok-وتطبيق-فعلا-شغال-3</loc>
<lastmod>2026-05-10T18:18:03.540Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-vision-للمتوسط-استخراج-بيانات-1000-فاتورة-في-ساعتين-بدل-80-ساعة-3</loc>
<lastmod>2026-05-10T18:17:49.420Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-للمتوسط-شغل-5000-اتصال-متزامن-على-postgres-بـ-512mb-ذاكرة-3</loc>
<lastmod>2026-05-10T18:17:01.963Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/resource-hints-4-سطور-html-بتقطع-280ms-من-زمن-تحميل-صفحتك-2</loc>
<lastmod>2026-05-10T18:16:45.550Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-للمتوسط-من-800-اتصال-على-postgresql-لـ-25-بدون-تعديل-سطر-كود-3</loc>
<lastmod>2026-05-10T18:16:23.669Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vision-في-claude-للمتوسط-استخراج-بيانات-الفواتير-العربية-في-18-سطر-python-2</loc>
<lastmod>2026-05-10T18:15:48.158Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/velero-للمتوسط-نسخ-احتياطي-لـ-kubernetes-cluster-كامل-واسترجاعه-في-9-دقايق-2</loc>
<lastmod>2026-05-10T18:14:54.405Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمبتدئ-ليه-الكود-ده-بيطبع-6-خمس-مرات-بدل-12345-2</loc>
<lastmod>2026-05-22T15:18:51.565Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ollama-للمبتدئ-شغل-llama-33-محليا-على-لابتوبك-في-15-دقيقة-2</loc>
<lastmod>2026-05-10T18:14:39.761Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-فروع-git-المهجورة-للمبتدئ-امسح-250-فرع-بأمان-في-5-دقائق-2</loc>
<lastmod>2026-05-10T18:14:26.823Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/renovate-bot-للمبتدئ-حدث-dependencies-تطبيقك-تلقائيا-بدون-ما-يكسر-2</loc>
<lastmod>2026-05-10T18:13:39.051Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-للمتوسط-افحص-وجود-مليون-عنصر-في-12mb-ذاكرة-4</loc>
<lastmod>2026-05-10T17:51:41.687Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redis-pipelining-للمتوسط-1000-عملية-من-240ms-لـ-8ms-بسطر-واحد-3</loc>
<lastmod>2026-05-10T17:46:56.136Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-للمتوسط-أضف-logging-و-caching-بدون-لمس-الكود-3</loc>
<lastmod>2026-05-10T17:46:22.946Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cache-stampede-للمتوسط-لما-الـ-cache-يخلص-فاتورة-db-بتقفز-14x-والحل-في-8-سطور-3</loc>
<lastmod>2026-05-10T17:46:22.754Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sealed-secrets-في-kubernetes-للمبتدئ-حط-الـ-secrets-في-git-بأمان-في-5-دقايق-3</loc>
<lastmod>2026-05-10T17:46:11.624Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keda-للمتوسط-شغل-workers-من-صفر-بناء-على-طول-طابور-redis-3</loc>
<lastmod>2026-05-10T17:46:09.683Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-للمتوسط-أضف-logging-و-timing-بسطر-واحد-3</loc>
<lastmod>2026-05-10T17:46:06.547Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-68-خصم-على-فاتورة-شات-بوت-بـ-12k-token-3</loc>
<lastmod>2026-05-10T17:44:47.695Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/b-tree-indexes-في-postgresql-للمبتدئ-نزل-query-من-14-ثانية-لـ-38-ميكرو-ثانية-بسطر-واحد-2</loc>
<lastmod>2026-05-10T17:44:21.253Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/caddy-server-للمبتدئ-https-أوتوماتيكي-بسطرين-بدل-nginx-المعقد-2</loc>
<lastmod>2026-05-23T15:45:48.833Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/lazy-loading-للمبتدئ-نزل-وقت-تحميل-صفحتك-60-بكلمة-واحدة-في-html-3</loc>
<lastmod>2026-05-10T17:12:25.350Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/outbox-pattern-للمحترف-امنع-رسائل-ضايعة-بين-postgres-و-kafka-3</loc>
<lastmod>2026-05-10T17:12:25.218Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/property-based-testing-بـ-fast-check-للمحترف-47-bug-في-الإنتاج-بـ-12-سطر-2</loc>
<lastmod>2026-05-10T17:12:19.428Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/streaming-في-claude-للمتوسط-ttfb-من-42-ثانية-لـ-280ms-3</loc>
<lastmod>2026-05-10T17:11:49.456Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-injection-للمحترف-4-طبقات-حماية-لتطبيق-claude-3</loc>
<lastmod>2026-05-10T17:11:26.287Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/goroutines-في-go-للمبتدئ-شغل-ألف-مهمة-متزامنة-في-6-سطور-3</loc>
<lastmod>2026-05-10T17:10:57.264Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/idempotency-keys-للمتوسط-امنع-الدفع-المكرر-لما-الشبكة-بتقطع-3</loc>
<lastmod>2026-05-10T17:10:42.675Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rust-ownership-للمبتدئ-ليه-الكومبايلر-بيرفض-كودك-قبل-ما-يشتغل-2</loc>
<lastmod>2026-05-10T17:10:18.106Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اختيار-نموذج-claude-للمبتدئ-opus-ولا-sonnet-ولا-haiku-متى-تستخدم-كل-واحد-3</loc>
<lastmod>2026-05-31T02:29:07.343Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-telegram-bot-يلخص-فيديوهات-يوتيوب-بـ-claude-في-110-سطر-python-2</loc>
<lastmod>2026-05-10T17:10:06.516Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/batch-api-في-claude-للمبتدئ-نصف-فاتورتك-لو-شغلك-مش-لازم-رد-فوري-3</loc>
<lastmod>2026-05-10T17:09:59.399Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http3-و-quic-للمحترف-ليه-موقعك-أبطأ-240ms-على-شبكات-الموبايل-في-مصر-والخليج-3</loc>
<lastmod>2026-05-10T17:09:43.852Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/dataclasses-في-python-للمبتدئ-استبدل-30-سطر-boilerplate-بـ-3-سطور-2</loc>
<lastmod>2026-05-10T17:09:01.713Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-ملخص-prs-اليومي-github-actions-claude-haiku-يبعت-تقرير-صباحي-على-slack-في-80-سطر-2</loc>
<lastmod>2026-05-10T17:08:09.162Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-nodejs-للمتوسط-ليه-السيرفر-بيتجمد-و-cpu-لسه-30-2</loc>
<lastmod>2026-05-10T17:07:53.987Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ذاكرة-ai-agents-للمتوسط-3-طبقات-تخلي-agent-يفتكر-مستخدمه-بعد-6-شهور-2</loc>
<lastmod>2026-05-10T17:07:44.500Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/تحسين-inp-للمحترف-من-480ms-إلى-95ms-بـ-scheduleryield-3</loc>
<lastmod>2026-05-10T15:14:46.198Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-للمتوسط-اربط-claude-بأدواتك-الخاصة-في-70-سطر-python-3</loc>
<lastmod>2026-05-10T10:16:36.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-للمتوسط-traces-موحدة-بين-12-خدمة-بدون-lock-in-على-datadog-2</loc>
<lastmod>2026-05-10T05:16:01.023Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-webhook-delivery-system-بـ-bullmq-اضمن-وصول-9994-من-الأحداث-في-90-سطر-nodejs-2</loc>
<lastmod>2026-05-10T00:14:22.847Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hybrid-search-للمحترف-bm25-vector-يرفع-recall-من-67-لـ-91-3</loc>
<lastmod>2026-05-08T21:43:57.552Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/extended-thinking-في-claude-47-للمحترف-متى-يستحق-الـ-reasoning-فاتورة-8-أضعاف-2</loc>
<lastmod>2026-05-08T21:38:43.503Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brin-indexes-في-postgresql-للمحترف-index-لجدول-200-مليون-صف-في-12mb-بدل-14gb-2</loc>
<lastmod>2026-05-08T21:37:53.281Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/evals-للمحترف-ازاي-تبني-نظام-تقييم-لتطبيق-claude-قبل-production-2</loc>
<lastmod>2026-05-08T21:37:10.252Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/network-policies-في-kubernetes-للمتوسط-ابن-zero-trust-بين-microservices-في-30-سطر-yaml-2</loc>
<lastmod>2026-05-08T20:17:30.079Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/n1-query-للمتوسط-ليه-dashboard-بسيط-بيعمل-1200-استعلام-في-كل-request-3</loc>
<lastmod>2026-05-08T19:34:22.138Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-releases-و-changelog-بـ-release-please-من-رسالة-commit-لتاج-إنتاج-2</loc>
<lastmod>2026-05-08T19:06:20.235Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-في-rag-للمحترف-حل-ضعف-vector-search-برفع-ndcg-من-061-لـ-083-3</loc>
<lastmod>2026-06-04T22:59:51.103Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/struct-field-alignment-في-go-نزل-ذاكرة-100-مليون-كائن-بنسبة-50-2</loc>
<lastmod>2026-05-08T17:10:37.792Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/oomkilled-في-kubernetes-للمبتدئ-ليه-الـ-pod-بيموت-رغم-إن-السيرفر-فاضي-2</loc>
<lastmod>2026-05-08T17:07:37.721Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/webp-للمبتدئ-وفر-60-من-حجم-صور-موقعك-في-5-دقائق-2</loc>
<lastmod>2026-05-08T17:07:32.966Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-دالة-بتشتغل-في-8ms-على-ألف-صف-وفي-78-ثانية-على-100-ألف-3</loc>
<lastmod>2026-05-08T16:37:35.836Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-الـ-ai-يفهم-إن-عايز-أسافر-و-حابب-أمشي-نفس-المعنى-3</loc>
<lastmod>2026-05-08T16:36:22.068Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-idempotency-layer-لـ-payment-api-امنع-double-charge-على-50-ألف-معاملة-بـ-redis-في-80-سطر-3</loc>
<lastmod>2026-05-08T16:36:13.872Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vector-embeddings-للمبتدئ-ليه-الـ-ai-بيفهم-إن-كلب-وجرو-متشابهين-3</loc>
<lastmod>2026-05-08T16:34:27.504Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-للمبتدئ-ليه-claude-مش-بيعرف-بيانات-شركتك-والحل-في-25-سطر-3</loc>
<lastmod>2026-05-08T16:34:07.740Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-للمبتدئ-اقرا-ملف-10gb-من-غير-ما-الـ-ram-تنفجر-3</loc>
<lastmod>2026-05-08T16:34:01.072Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promql-للمبتدئ-8-استعلامات-prometheus-تكشف-مشاكل-الإنتاج-قبل-ما-العميل-يتصل-2</loc>
<lastmod>2026-05-08T16:33:33.737Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-للمبتدئ-خلي-النموذج-ينفذ-كودك-ويرجعلك-النتيجة-3</loc>
<lastmod>2026-05-08T16:33:31.785Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/بث-فيديو-hls-بـ-ffmpeg-و-nginx-adaptive-bitrate-لـ-12k-مشاهد-بـ-40-شهريا-2</loc>
<lastmod>2026-05-08T16:33:19.725Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vision-في-claude-للمبتدئ-حلل-فواتير-وايصالات-بدون-ocr-في-6-سطور-2</loc>
<lastmod>2026-05-08T16:31:58.022Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-في-javascript-للمتوسط-ألغ-fetch-قبل-race-conditions-2</loc>
<lastmod>2026-05-08T16:31:55.159Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-اختبار-استرجاع-backups-امتحن-نسختك-قبل-ما-تحتاجها-فعلا-3</loc>
<lastmod>2026-05-08T15:37:46.287Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-للمتوسط-نزل-فاتورتك-90-بإضافة-cachecontrol-3</loc>
<lastmod>2026-05-08T15:34:38.562Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distroless-containers-للمحترف-شيل-bash-وapt-من-الـ-image-واقطع-87-من-ثغرات-cve-4</loc>
<lastmod>2026-05-08T15:33:04.069Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gitleaks-للمبتدئ-اكتشف-secrets-المسربة-في-github-في-90-ثانية-3</loc>
<lastmod>2026-05-08T15:30:56.523Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-نزل-فاتورة-الـ-api-90-بـ-9-سطور-كود-3</loc>
<lastmod>2026-05-08T15:30:44.082Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-aws-cost-anomaly-detection-للمتوسط-اكتشف-قفزة-الفاتورة-في-يومها-بـ-60-سطر-python-3</loc>
<lastmod>2026-05-08T15:30:28.434Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/falco-للمحترف-اكتشف-الاختراقات-على-kubernetes-لحظة-حدوثها-2</loc>
<lastmod>2026-05-08T15:29:15.819Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-من-فاتورة-2250-إلى-230-شهريا-في-3-سطور-كود-3</loc>
<lastmod>2026-05-08T15:29:04.178Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memoization-في-javascript-للمتوسط-خلي-الدالة-تفتكر-بدل-ما-تحسب-30-ألف-مرة-3</loc>
<lastmod>2026-05-08T15:29:01.549Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/branded-types-في-typescript-للمحترف-امنع-92-من-id-confusion-bugs-قبل-الـ-commit-2</loc>
<lastmod>2026-05-08T15:29:01.032Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-search-as-you-type-عربي-بـ-meilisearch-و-hono-بديل-elasticsearch-بربع-الذاكرة-3</loc>
<lastmod>2026-05-08T15:29:00.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-للمتوسط-نزل-تكلفة-الـ-context-الثابت-87-بسطر-واحد-3</loc>
<lastmod>2026-05-08T15:28:33.202Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/materialized-views-في-postgresql-للمتوسط-حول-تقرير-4-دقائق-لاستعلام-30-مللي-ثانية-3</loc>
<lastmod>2026-05-08T15:27:41.200Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-vs-gzip-للمتوسط-وفر-21-من-حجم-javascript-بسطرين-nginx-3</loc>
<lastmod>2026-05-08T15:27:19.096Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/karpenter-للمحترف-استبدل-cluster-autoscaler-ووفر-41-من-فاتورة-ec2-2</loc>
<lastmod>2026-05-08T15:27:11.244Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/خدمة-markdown-to-pdf-عربية-بـ-puppeteer-تقارير-rtl-في-100-سطر-2</loc>
<lastmod>2026-05-08T15:26:54.987Z</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-05-08T15:26:51.318Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/web-workers-في-javascript-للمتوسط-شغل-خوارزمية-ثقيلة-بدون-ما-تجمد-الواجهة-4-ثواني-2</loc>
<lastmod>2026-05-08T15:26:50.794Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-نزل-تكلفة-claude-90-وزمن-الرد-للنصف-3</loc>
<lastmod>2026-05-08T15:26:47.941Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-code-rate-limits-اتضاعفت-قرارك-بعد-صفقة-anthropic-spacex-colossus-2</loc>
<lastmod>2026-05-08T15:26:35.426Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-للمتوسط-نزل-تكلفة-system-prompt-87-في-5-سطور-3</loc>
<lastmod>2026-05-08T15:26:24.693Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/crdt-للمحترف-ازاي-yjs-بيدمج-تعديلات-50-مستخدم-متزامن-في-google-docs-بدون-تضارب-2</loc>
<lastmod>2026-05-08T15:26:18.463Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-نزل-تكلفة-production-89-في-3-أسطر-2</loc>
<lastmod>2026-05-08T15:26:12.580Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hoisting-في-javascript-للمبتدئ-ليه-var-شغال-قبل-تعريفه-و-let-بيرمي-خطأ-2</loc>
<lastmod>2026-05-08T15:26:11.446Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-nodejs-للمتوسط-ليه-settimeout0-أبطأ-من-promiseresolve-بـ-4ms-2</loc>
<lastmod>2026-05-08T15:25:31.420Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-api-للمتوسط-نزل-تكلفة-الـ-system-prompt-90-بسطر-واحد-3</loc>
<lastmod>2026-05-08T15:25:27.915Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-نزل-تكلفة-claude-api-90-على-system-prompt-طويل-3</loc>
<lastmod>2026-05-08T15:25:25.011Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/floating-point-للمبتدئ-ليه-01-02-مش-بيساوي-03-في-كل-لغات-البرمجة-3</loc>
<lastmod>2026-05-08T15:25:24.236Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-compression-للمتوسط-نزل-حجم-javascript-bundle-24-بسطر-nginx-2</loc>
<lastmod>2026-05-08T15:25:06.809Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-للمبتدئ-ازاي-دالة-تنادي-نفسها-بدون-ما-تعلق-في-لوب-لا-نهائي-2</loc>
<lastmod>2026-05-08T15:23:19.871Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/service-worker-للمبتدئ-خلي-موقعك-يفتح-بدون-إنترنت-في-40-سطر-2</loc>
<lastmod>2026-05-08T15:13:16.232Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمحترف-شغل-llama-33-70b-على-gpu-بـ-24gb-بفقد-2-دقة-فقط-3</loc>
<lastmod>2026-05-08T14:18:25.825Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-للمبتدئ-ازاي-claude-يتكلم-مع-أدواتك-بدون-ما-تكتب-api-integration-3</loc>
<lastmod>2026-05-30T06:27:44.719Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-للمبتدئ-خلي-claude-يفكر-قبل-ما-يرد-3</loc>
<lastmod>2026-05-08T14:01:26.514Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/stream-backpressure-في-nodejs-للمحترف-ليه-pipe-بياكل-4gb-ذاكرة-على-ملف-200mb-3</loc>
<lastmod>2026-05-28T08:06:53.331Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cert-manager-للمتوسط-شهادات-https-أوتوماتيكية-على-kubernetes-في-12-دقيقة-2</loc>
<lastmod>2026-05-08T13:59:46.151Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/streaming-في-claude-api-للمبتدئ-خلي-المستخدم-يشوف-أول-كلمة-في-08-ثانية-بدل-8-ثواني-2</loc>
<lastmod>2026-05-08T13:59:38.342Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promiseall-vs-promiseallsettled-في-javascript-للمتوسط-ليه-طلب-واحد-بيكسرلك-9-طلبات-شغالة-2</loc>
<lastmod>2026-05-08T13:59:18.254Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمبتدئ-ازاي-دالة-بتفتكر-متغيرات-بعد-ما-الـ-scope-خلص-3</loc>
<lastmod>2026-05-08T13:58:48.507Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمحترف-شغل-llama-70b-على-gpu-24gb-بدل-4-gpus-2</loc>
<lastmod>2026-05-08T13:58:02.412Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-distributed-lock-بـ-redis-في-nodejs-للمتوسط-امنع-double-processing-على-5-workers-في-50-سطر-2</loc>
<lastmod>2026-05-08T12:49:49.354Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-og-image-generator-ديناميكي-بـ-satori-و-hono-صور-سوشيال-أوتوماتيكية-لكل-صفحة-2</loc>
<lastmod>2026-05-08T12:48:13.988Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/message-batches-api-للمتوسط-نزل-فاتورة-claude-50-لو-مش-محتاج-رد-فوري-3</loc>
<lastmod>2026-05-08T12:46:30.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distributed-lock-بـ-redis-redlock-للمحترف-امنع-تكرار-الـ-cron-job-على-5-workers-في-الإنتاج-3</loc>
<lastmod>2026-05-08T12:45:54.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/garbage-collection-في-javascript-للمتوسط-ليه-nodejs-بياكل-ذاكرة-لحد-ما-يقع-3</loc>
<lastmod>2026-05-08T12:45:06.716Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hallucination-detection-للمتوسط-3-تقنيات-تكتشف-87-من-إجابات-claude-الغلط-3</loc>
<lastmod>2026-05-08T12:44:42.269Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/b-tree-vs-lsm-tree-للمحترف-ليه-postgresql-بيكتب-78mbs-و-rocksdb-بيكتب-340mbs-على-نفس-ssd-3</loc>
<lastmod>2026-05-08T12:44:38.808Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ebpf-للمبتدئ-شوف-كل-syscall-على-السيرفر-بدون-تعديل-سطر-كود-3</loc>
<lastmod>2026-05-08T12:43:48.636Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pre-commit-hooks-بـ-husky-و-lint-staged-للمبتدئ-امنع-90-من-bugs-قبل-ما-تعمل-push-2</loc>
<lastmod>2026-05-08T12:41:04.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/diffusion-models-للمبتدئ-ازاي-stable-diffusion-بيرسم-من-نص-وليه-استبدل-gan</loc>
<lastmod>2026-05-08T12:37:59.304Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-في-rag-للمحترف-ليه-dense-retrieval-وحده-بيرجع-41-نتايج-غلط-والحل-في-50-سطر-3</loc>
<lastmod>2026-05-08T12:10:37.891Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gitops-مع-argocd-للمبتدئ-انشر-تطبيقك-بـ-git-push-بدل-kubectl-apply-3</loc>
<lastmod>2026-05-08T12:08:04.740Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-real-time-notifications-بـ-server-sent-events-بديل-websocket-أبسط-في-60-سطر-nodejs-3</loc>
<lastmod>2026-05-08T12:07:49.505Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-و-throttle-للمبتدئ-ليه-search-box-بيرسل-87-طلب-من-كلمة-واحدة-3</loc>
<lastmod>2026-05-08T12:07:25.766Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-vision-api-للمتوسط-استخرج-بيانات-منظمة-من-500-إيصال-عربي-في-8-دقايق-2</loc>
<lastmod>2026-05-08T12:05:47.311Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-للمتوسط-ليه-rag-بتاعك-بيرجع-نتايج-غلط-رغم-الـ-embeddings-3</loc>
<lastmod>2026-05-08T12:05:34.493Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-agents-للمبتدئ-ايه-الفرق-بين-chatbot-و-agent-وامتى-تستخدم-انهي-3</loc>
<lastmod>2026-05-08T12:05:17.570Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-decorators-للمحترف-ابني-audit-logging-لـ-240-endpoint-بسطر-واحد-فوق-كل-function-2</loc>
<lastmod>2026-05-08T12:03:59.344Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/helm-charts-للمبتدئ-ادارة-30-ملف-yaml-بـ-template-واحد-2</loc>
<lastmod>2026-05-08T12:03:58.094Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/skip-list-للمحترف-ازاي-redis-zset-بيرجع-top-100-من-10-مليون-عنصر-في-03ms-2</loc>
<lastmod>2026-05-08T12:03:08.523Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-judge-للمحترف-قيم-10000-رد-claude-بـ15-بدل-أسبوعين-مراجعة-بشرية-2</loc>
<lastmod>2026-05-08T12:02:46.392Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-للمبتدئ-خلي-claude-يجاوب-من-ملفاتك-الخاصة-بدون-fine-tuning-3</loc>
<lastmod>2026-05-28T16:52:14.926Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/liveness-و-readiness-probes-للمبتدئ-ليه-pod-بيتعاد-إنشاؤه-بدون-سبب-3</loc>
<lastmod>2026-05-08T11:46:20.338Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-للمبتدئ-خلي-claude-يجاوب-من-ملفاتك-بدون-fine-tuning-3</loc>
<lastmod>2026-05-08T11:45:58.001Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-rate-limiter-بـ-redis-sliding-window-احم-api-من-10-آلاف-طلبثانية-في-60-سطر-nodejs-3</loc>
<lastmod>2026-05-08T11:45:53.587Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-generators-للمتوسط-عالج-10-مليون-صف-بـ-50mb-ذاكرة-3</loc>
<lastmod>2026-05-08T11:44:46.626Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-للمتوسط-شغل-1000-طلب-على-25-connection-postgres-2</loc>
<lastmod>2026-05-08T11:44:01.060Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-خدمة-backup-أوتوماتيكي-للـ-postgresql-على-cloudflare-r2-وفر-92-من-تكلفة-aws-s3-2</loc>
<lastmod>2026-05-08T11:44:00.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-للمبتدئ-ابني-autocomplete-على-100-ألف-كلمة-في-50-سطر-python-3</loc>
<lastmod>2026-05-08T11:43:58.626Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/connection-pooling-مع-pgbouncer-للمتوسط-شغل-1000-client-على-postgresql-بـ-50mb-2</loc>
<lastmod>2026-05-08T11:43:50.302Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-ai-بيفهم-إن-دكتور-و-طبيب-نفس-المعنى-2</loc>
<lastmod>2026-06-02T10:17:54.162Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمتوسط-وفر-90-من-فاتورة-claude-api-في-10-دقائق-4</loc>
<lastmod>2026-05-08T11:31:20.791Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cache-stampede-للمحترف-ليه-db-بيقع-في-ثانية-واحدة-والحل-في-30-سطر-redis-3</loc>
<lastmod>2026-05-08T11:30:47.949Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filter-بـ-8-ميجا-رام-ازاي-chrome-بيفلتر-مليار-رابط-ضار-في-ميكروثانية-3</loc>
<lastmod>2026-05-08T11:30:40.719Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pod-disruption-budget-للمتوسط-امنع-downtime-وقت-الـ-kubernetes-cluster-upgrade-3</loc>
<lastmod>2026-05-08T11:30:07.075Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-كودك-بيخلص-في-ثانية-على-ألف-صف-وبياخد-ساعة-على-مليون-3</loc>
<lastmod>2026-05-08T11:30:03.879Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-ازاي-توفر-90-من-فاتورة-tokens-في-تطبيقاتك-3</loc>
<lastmod>2026-05-08T11:29:46.621Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/structured-outputs-للمتوسط-خلي-claude-يرجع-json-صحيح-100-من-المرة-الأولى-3</loc>
<lastmod>2026-05-08T11:29:00.112Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-للمتوسط-اربط-claude-بأدواتك-بدون-integration-code-لكل-أداة-3</loc>
<lastmod>2026-05-08T11:28:34.585Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/openai-codex-10x-للمطورين-حتى-5-يونيو-قرارك-قبل-ما-الموجة-تنتهي-2</loc>
<lastmod>2026-05-08T11:28:25.245Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http-cache-headers-للمبتدئ-من-18-ثانية-لـ-180ms-في-الزيارة-الثانية-3</loc>
<lastmod>2026-05-08T11:27:45.406Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/fetchpriority-للمتوسط-حسن-lcp-بسطر-html-واحد-بدون-css-2</loc>
<lastmod>2026-06-07T09:49:56.024Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-pre-signed-urls-لرفع-الملفات-على-s3-وفر-90-من-bandwidth-السيرفر-2</loc>
<lastmod>2026-05-28T17:45:20.029Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/extended-thinking-في-claude-للمتوسط-متى-تستحق-5x-التكلفة-2</loc>
<lastmod>2026-05-08T11:27:37.161Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-prompting-للمبتدئ-ليه-فكر-خطوة-بخطوة-بترفع-دقة-llm-من-17-لـ-78-3</loc>
<lastmod>2026-05-08T11:10:18.473Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-auto-merge-لـ-dependabot-ادمج-تحديثات-الأمان-لوحدها-بدون-كسر-الإنتاج-3</loc>
<lastmod>2026-05-08T11:10:12.176Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-للمتوسط-تتبع-طلب-عبر-7-microservices-في-12-دقيقة-3</loc>
<lastmod>2026-05-08T11:08:40.336Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/webassembly-للمبتدئ-ليه-figma-بترسم-مليون-عنصر-في-تبويب-متصفح-بسرعة-photoshop-3</loc>
<lastmod>2026-05-08T11:07:49.474Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kv-cache-للمتوسط-ليه-context-طويل-في-llm-بياكل-gpu-وازاي-تقلله-4x-3</loc>
<lastmod>2026-05-08T11:07:48.316Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-للمتوسط-وفر-99-من-استعلامات-db-غير-المفيدة-بـ-16kb-3</loc>
<lastmod>2026-05-08T11:07:37.957Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/batch-api-للمحترف-وفر-50-من-فاتورة-claude-لو-شغلك-مش-real-time-2</loc>
<lastmod>2026-05-08T11:02:51.767Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-context-managers-للمتوسط-اقفل-ملفات-و-db-connections-بدون-tryfinally-3</loc>
<lastmod>2026-05-08T10:15:30.765Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-self-hosted-analytics-بـ-umami-و-postgres-بديل-google-analytics-بدون-كوكيز-في-10-دقايق-3</loc>
<lastmod>2026-05-08T09:28:38.518Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/103-early-hints-للمحترف-نزل-lcp-بـ-240ms-من-غير-لمس-الكود-3</loc>
<lastmod>2026-05-08T09:28:33.104Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/هلوسة-الموديلات-للمبتدئ-ليه-chatgpt-بيخترع-حقائق-وازاي-توقفها-3</loc>
<lastmod>2026-05-08T09:28:19.380Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-للمتوسط-الغ-fetch-القديمة-قبل-ما-تكسر-نتائج-البحث-3</loc>
<lastmod>2026-05-08T09:27:36.376Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokenization-للمبتدئ-ليه-كلمة-استبشر-بتكلفك-5-توكنز-في-chatgpt-3</loc>
<lastmod>2026-05-08T09:27:22.756Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-شهادات-ssl-امنع-outage-الموقع-في-50-سطر-python-3</loc>
<lastmod>2026-05-08T09:27:13.173Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/consistent-hashing-للمتوسط-وزع-50-مليون-مفتاح-على-100-سيرفر-بدون-redistribute-3</loc>
<lastmod>2026-05-08T09:27:00.898Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/consistent-hashing-للمحترف-وزع-10-مليون-مفتاح-على-50-سيرفر-بدون-rehashing-3</loc>
<lastmod>2026-05-08T09:25:10.801Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-feature-flags-في-postgresql-في-100-سطر-بديل-launchdarkly-بصفر-تكلفة-2</loc>
<lastmod>2026-05-08T09:24:18.657Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/database-indexes-للمبتدئ-من-8-ثواني-لـ-5-مللي-ثانية-بسطر-sql-2</loc>
<lastmod>2026-05-08T09:23:08.504Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-ولد-توكنز-llm-أسرع-3x-بنفس-الجودة-2</loc>
<lastmod>2026-05-08T09:22:12.054Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/lora-للمتوسط-درب-llama-3-8b-على-بياناتك-بـ-16gb-gpu-بدل-320gb</loc>
<lastmod>2026-05-08T09:21:53.418Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http3-و-quic-للمتوسط-ازاي-تخفض-زمن-التحميل-35-على-الموبايل-2</loc>
<lastmod>2026-05-08T12:28:21.157Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمتوسط-شغل-llama-3-70b-على-لابتوب-16gb-ram-2</loc>
<lastmod>2026-05-08T09:06:28.025Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/backup-يومي-لـ-postgresql-على-s3-في-40-سطر-استرجع-db-في-4-دقايق-3</loc>
<lastmod>2026-05-08T09:04:48.698Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tool-use-في-claude-ابني-agent-يستدعي-api-و-db-بدون-langchain-2</loc>
<lastmod>2026-05-08T09:03:54.883Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mixture-of-experts-للمتوسط-ليه-deepseek-v3-أرخص-37x-من-gpt-4-2</loc>
<lastmod>2026-05-08T09:01:54.919Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/n1-queries-للمتوسط-ليه-orm-بيعمل-201-query-في-طلب-واحد-2</loc>
<lastmod>2026-05-08T09:01:01.419Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-و-stack-overflow-في-javascript-للمبتدئ-ليه-fact100000-بيقع-node-2</loc>
<lastmod>2026-05-08T09:00:50.227Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-أداة-تحويل-صوت-عربي-لنص-بـ-whispercpp-محليا-بدون-openai-ولا-إنترنت</loc>
<lastmod>2026-05-08T09:00:10.986Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/explain-analyze-في-postgresql-للمحترف-اكتشف-سبب-بطء-الاستعلام-في-5-دقايق-3</loc>
<lastmod>2026-05-08T08:49:49.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-docker-images-القديمة-حرر-40gb-أسبوعيا-بسكربت-30-سطر-3</loc>
<lastmod>2026-05-08T08:48:09.235Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/inp-للمتوسط-ليه-lighthouse-95-ومستخدمك-حاسس-الموقع-بطيء-3</loc>
<lastmod>2026-05-08T08:47:56.901Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/argo-rollouts-للمحترف-canary-deployment-يكتشف-الباگ-قبل-العميل-3</loc>
<lastmod>2026-05-08T08:47:19.632Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/async-و-coroutines-في-python-للمحترف-ازاي-تخدم-10000-طلب-متزامن-على-core-واحد-3</loc>
<lastmod>2026-05-08T08:46:00.857Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chaos-engineering-في-kubernetes-للمتوسط-كسر-الـ-cluster-عمدا-قبل-ما-العميل-يكسره-2</loc>
<lastmod>2026-05-08T08:45:34.937Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-للمحترف-ليه-rag-بترجع-نتيجة-غلط-رغم-embeddings-ممتازة-3</loc>
<lastmod>2026-05-08T08:45:05.387Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/content-visibility-في-css-للمتوسط-ارسم-20-من-الصفحة-بدل-100-في-أول-زيارة-3</loc>
<lastmod>2026-05-08T08:44:18.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tail-latency-للمحترف-ليه-p99-يكسر-5-من-مستخدميك-2</loc>
<lastmod>2026-05-08T08:44:16.528Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/postgresql-partitioning-حول-query-من-8-ثواني-لـ-118ms-بـ-4-سطور-sql-2</loc>
<lastmod>2026-05-08T08:43:51.441Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-compose-للمبتدئ-شغل-تطبيق-قاعدة-بيانات-redis-في-30-ثانية-بـ-12-سطر-2</loc>
<lastmod>2026-05-08T08:43:35.359Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-الكمبيوتر-يفهم-إن-كلب-أقرب-لـ-قطة-من-سيارة-3</loc>
<lastmod>2026-05-08T08:28:44.613Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ابني-semantic-search-عربي-بـ-30-سطر-python-2</loc>
<lastmod>2026-05-08T08:25:39.270Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-background-remover-للصور-بـ-python-و-rembg-في-50-سطر-بديل-removebg-محلي-2</loc>
<lastmod>2026-05-08T08:25:08.076Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-a-judge-للمحترف-قيم-10000-إجابة-ai-بـ-30-بدل-5000-2</loc>
<lastmod>2026-05-08T08:24:58.678Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-الموديل-بيفهم-إن-كلب-أقرب-لـ-قطة-من-سيارة-2</loc>
<lastmod>2026-05-08T08:24:55.759Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/diffusion-models-للمبتدئ-ازاي-stable-diffusion-بيرسم-صورة-من-5-كلمات-2</loc>
<lastmod>2026-06-02T22:33:13.699Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hoisting-في-javascript-للمبتدئ-ليه-consolelogx-بيطبع-undefined-قبل-تعريف-x-2</loc>
<lastmod>2026-05-08T08:24:19.873Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئ-ازاي-الكمبيوتر-يفهم-إن-قطة-و-هرة-نفس-الحاجة-2</loc>
<lastmod>2026-05-08T08:23:40.210Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-شجرة-المقاطع-للمبتدئ-ازاي-محرك-البحث-بيكمل-كلمتك-في-04-مللي-ثانية-2</loc>
<lastmod>2026-05-08T08:22:48.169Z</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-05-08T08:20:01.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-idempotency-keys-في-express-و-redis-امنع-الـ-double-charge-لما-الشبكة-تتقطع-3</loc>
<lastmod>2026-05-08T08:19:15.401Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-stale-pr-reminder-bot-على-github-ذكر-الفريق-بـ-50-سطر-بصفر-تكلفة-2</loc>
<lastmod>2026-05-08T08:18:54.262Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-للمبتدئ-اقرا-ملف-10gb-بـ-8-ميجا-رام-بدل-10-جيجا-3</loc>
<lastmod>2026-05-08T08:18:15.526Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cursor-pagination-للمستوى-المتوسط-ليه-offset-بيخنق-الـ-db-ومتى-تستخدم-cursor-بدلا-منه-4</loc>
<lastmod>2026-06-08T07:07:25.762Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/network-policies-في-kubernetes-للمتوسط-ازاي-تعزل-الـ-pods-من-بعض-2</loc>
<lastmod>2026-05-08T08:16:15.498Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-generators-للمبتدئ-اقرأ-ملف-50gb-بـ-8mb-رام-بدل-ما-السيرفر-يقع-3</loc>
<lastmod>2026-05-08T08:15:48.165Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-للمحترف-في-claude-ازاي-تقطع-تكلفة-الـ-input-90-وتسرع-الرد-4x-2</loc>
<lastmod>2026-05-08T08:15:41.556Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-وفر-89-من-فاتورة-anthropic-بسطر-cachecontrol-3</loc>
<lastmod>2026-05-08T08:14:25.287Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ibm-bob-يصل-لـ-80-ألف-مطور-تهديد-جدي-لـ-cursor-وcopilot-في-السوق-المؤسسي-2</loc>
<lastmod>2026-05-08T08:14:07.220Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-نزل-فاتورة-الـ-system-prompt-90-بسطر-json-واحد-2</loc>
<lastmod>2026-05-08T08:13:37.632Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/webp-vs-avif-للمبتدئ-لماذا-صورتك-240kb-بدل-12mb-بنفس-الجودة-3</loc>
<lastmod>2026-05-08T08:13:22.512Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-daily-standup-bot-لفريقك-بـ-slack-و-cloudflare-workers-في-70-سطر-مجانا-2</loc>
<lastmod>2026-05-08T08:13:16.498Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kv-cache-و-pagedattention-للمحترف-ليه-vllm-بيخدم-8x-طلبات-أكتر-2</loc>
<lastmod>2026-05-08T08:13:10.810Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memoization-للمبتدئ-ازاي-تخلي-fibonacci40-ينفذ-في-03ms-2</loc>
<lastmod>2026-05-08T08:12:49.433Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمحترف-وفر-90-من-تكلفة-الـ-api-و-6x-من-زمن-الاستجابة-2</loc>
<lastmod>2026-05-08T08:12:21.394Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-للمتوسط-ادفع-90-أقل-لما-المستند-بيتكرر-في-كل-طلب-2</loc>
<lastmod>2026-05-08T08:11:10.040Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-للمستوى-المتوسط-ازاي-autocomplete-بيلاقي-اقتراح-من-5-ملايين-كلمة-في-80-ميكروثانية-3</loc>
<lastmod>2026-05-08T08:09:08.670Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-dns-drift-detection-اكتشف-أي-تعديل-على-dns-قبل-ما-الموقع-يقع-3</loc>
<lastmod>2026-05-08T07:57:19.977Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-qr-code-ديناميكي-بـ-bun-و-hono-في-100-سطر-غير-الوجهة-بدون-إعادة-طبع-2</loc>
<lastmod>2026-05-08T08:04:43.588Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-للمتوسط-ابن-autocomplete-على-500-ألف-كلمة-في-18-ميكروثانية-بدل-4ms-3</loc>
<lastmod>2026-05-08T07:56:45.241Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-للمتوسط-ازاي-autocomplete-بيرجع-10-اقتراحات-من-5-مليون-كلمة-في-300-ميكروثانية-4</loc>
<lastmod>2026-05-08T07:56:33.885Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئ-ليه-كودك-يبطأ-مع-كبر-البيانات-3</loc>
<lastmod>2026-05-08T07:55:20.949Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/citations-في-claude-للمبتدئ-ازاي-تخلي-الموديل-يقولك-المصدر-3</loc>
<lastmod>2026-05-08T07:54:20.422Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمستوى-المتوسط-شغل-llama-3-70b-على-gpu-24gb-بدل-140gb-2</loc>
<lastmod>2026-05-08T07:53:18.005Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keda-للمحترف-scale-kafka-consumers-من-lag-بدل-cpu-2</loc>
<lastmod>2026-05-08T07:53:05.461Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/مزامنة-google-sheets-مع-postgresql-في-30-ثانية-بدون-polling-2</loc>
<lastmod>2026-05-08T07:52:18.220Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمتوسط-شغل-llm-بـ-70-مليار-باراميتر-على-gpu-واحد-بـ-35gb-2</loc>
<lastmod>2026-05-08T07:51:32.238Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gil-في-python-للمحترف-ليه-threading-مش-بيسرع-كودك-حتى-مع-16-core-2</loc>
<lastmod>2026-05-08T07:51:26.665Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-4-bit-للمتوسط-llama-70b-على-a100-واحد-بدل-4-gpus</loc>
<lastmod>2026-05-08T07:50:28.103Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/speculative-decoding-للمحترف-ازاي-تخلي-llm-يرد-3x-أسرع-بدون-ما-تخسر-دقة-2</loc>
<lastmod>2026-05-08T05:15:07.583Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokenization-للمبتدئ-ليه-نفس-الكلام-بالعربي-بيتكلف-3x-من-الإنجليزي-على-claude-3</loc>
<lastmod>2026-05-22T23:59:10.246Z</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>
<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>
<url>
<loc>https://lms.ahmedhaies.com/blog/temperature-في-ai-ليه-claude-بيغير-إجابته-كل-مرة-على-نفس-السؤال-3</loc>
<lastmod>2026-05-02T09:18:54.846Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distroless-images-للمبتدئ-نزل-ثغرات-صورة-docker-من-312-لـ-12-في-5-سطور-3</loc>
<lastmod>2026-05-02T00:42:07.034Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/idempotency-keys-في-apis-ليه-الدفع-بيتم-مرتين-لما-الإنترنت-يقطع-3</loc>
<lastmod>2026-05-01T20:14:51.852Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمبتدئ-ليه-الدالة-الجوانية-بتفتكر-متغيرات-خرجت-من-النطاق-3</loc>
<lastmod>2026-05-01T15:35:35.184Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/streaming-في-claude-api-خلي-الرد-يظهر-فورا-بدل-ما-المستخدم-يستنى-12-ثانية-3</loc>
<lastmod>2026-05-01T10:20:58.482Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-injection-ازاي-تحمي-تطبيق-claude-من-هجمات-بتختطف-التعليمات-2</loc>
<lastmod>2026-05-01T05:47:26.232Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http-cache-control-بالعربي-خلي-المتصفح-يحفظ-ملفاتك-ووفر-87-من-الطلبات-2</loc>
<lastmod>2026-04-30T15:35:12.198Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/model-context-protocol-mcp-اربط-claude-بأدواتك-في-30-سطر-بايثون-2</loc>
<lastmod>2026-04-30T12:15:09.391Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-ليه-promise-بيتنفذ-قبل-settimeout0-3</loc>
<lastmod>2026-04-30T11:32:20.261Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/heap-بالعربي-للمستوى-المتوسط-لاقي-أعلى-100-سعر-من-مليون-منتج-في-18ms-2</loc>
<lastmod>2026-04-30T10:26:46.014Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promiseallsettled-في-javascript-ليه-طلب-واحد-بيفشل-بيقع-dashboard-كامل-3</loc>
<lastmod>2026-04-30T09:13:35.167Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-في-claude-قلل-تكلفة-الـ-system-prompt-90-بكود-شغال-2</loc>
<lastmod>2026-04-30T08:10:15.925Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-ازاي-تقرأ-ملف-10gb-بـ-12mb-ذاكرة-بدل-10gb-3</loc>
<lastmod>2026-04-30T07:19:06.612Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-للمبتدئ-ليه-الدالة-بتنده-نفسها-مش-حلقة-لا-نهائية-2</loc>
<lastmod>2026-04-30T05:21:56.031Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/context-window-في-الذكاء-الاصطناعي-ليه-ai-بينسى-أول-الكلام-2</loc>
<lastmod>2026-04-30T03:09:03.303Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/dead-mans-switch-لـ-cron-ازاي-تعرف-لما-السكربت-اليومي-بيفشل-بصمت-3</loc>
<lastmod>2026-04-30T02:20:23.119Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-للمستوى-المتوسط-ابن-autocomplete-يرد-في-2ms-على-500-ألف-كلمة-2</loc>
<lastmod>2026-04-30T00:20:22.259Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vision-api-في-claude-خلي-الموديل-يقرا-فاتورة-من-صورة-ويرجعلك-json-منظم-3</loc>
<lastmod>2026-04-29T22:31:58.787Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/materialized-views-في-postgresql-حول-تقرير-من-12-ثانية-لـ-80-مللي-ثانية-2</loc>
<lastmod>2026-04-29T20:26:44.608Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ebpf-للمحترف-راقب-syscalls-على-production-بدون-restart-للتطبيق-2</loc>
<lastmod>2026-04-29T19:13:08.699Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memoization-في-javascript-ليه-fibonacci45-بتاخد-8-ثواني-3</loc>
<lastmod>2026-04-29T18:12:05.975Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/هلوسة-الذكاء-الاصطناعي-ليه-llm-بيخترع-مصادر-مش-موجودة-وازاي-تمنعها-2</loc>
<lastmod>2026-04-29T17:23:48.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/quantization-للمحترف-شغل-llama-70b-على-24gb-vram-بدل-140gb-2</loc>
<lastmod>2026-04-29T16:13:50.213Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redis-pipelining-بالعربي-1000-طلب-في-رحلة-شبكة-واحدة-2</loc>
<lastmod>2026-04-29T15:26:43.015Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-للمحترف-لاحق-الـ-200ms-المختفية-بين-6-خدمات-2</loc>
<lastmod>2026-04-29T14:32:09.689Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-خدمة-image-optimization-بـ-sharp-تخفض-حجم-صورك-78-بدون-فقد-جودة-2</loc>
<lastmod>2026-04-29T13:38:58.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokens-في-الذكاء-الاصطناعي-للمبتدئ-ليه-كلمة-عربية-واحدة-بتساوي-3-توكنز-2</loc>
<lastmod>2026-05-25T08:27:44.838Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keyset-pagination-بالعربي-ليه-limit-offset-بيبطأ-على-الصفحة-10000-2</loc>
<lastmod>2026-06-01T23:11:52.907Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-أداة-cli-لمراقبة-انتهاء-ssl-certificates-قبل-ما-الموقع-يقع-3</loc>
<lastmod>2026-04-29T09:34:10.608Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reverse-proxy-للمبتدئ-ليه-nginx-قدام-تطبيقك-بيغير-كل-حاجة-2</loc>
<lastmod>2026-06-09T01:24:05.450Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brin-index-في-postgresql-index-بـ-12mb-بدل-24gb-لجدول-800-مليون-صف-2</loc>
<lastmod>2026-04-29T07:26:55.359Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/react-virtualization-ارسم-قائمة-10000-صف-بدون-ما-الواجهة-تتجمد-2</loc>
<lastmod>2026-04-29T06:31:09.310Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/branch-prediction-للمحترف-ليه-ترتيب-array-بيخلي-كودك-أسرع-6-مرات-2</loc>
<lastmod>2026-04-29T09:29:58.355Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-بالعربي-ازاي-تتحقق-من-مليار-عنصر-بـ-11-ميجابايت-بس-2</loc>
<lastmod>2026-04-29T03:09:49.058Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/evals-لتطبيقات-ai-ازاي-تختبر-llm-بتاعك-من-غير-ما-تخمن-2</loc>
<lastmod>2026-04-29T02:13:42.832Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/files-api-في-claude-ارفع-pdf-كامل-وخليه-يجاوب-بدون-ما-تبني-rag-2</loc>
<lastmod>2026-04-29T01:19:49.200Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reranking-في-rag-ليه-نتائج-بحثك-متلخبطة-حتى-مع-embeddings-ممتازة-2</loc>
<lastmod>2026-04-29T00:27:46.028Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/consistent-hashing-بالعربي-ليه-إضافة-سيرفر-واحد-بتفقدك-89-من-الكاش-2</loc>
<lastmod>2026-04-28T22:18:09.856Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-webhook-receiver-آمن-بـ-nodejs-تحقق-من-hmac-signature-ورد-في-50ms-2</loc>
<lastmod>2026-04-28T21:30:05.883Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/agent-loops-ليه-وكيل-ai-بياكل-47-في-12-دقيقة-قبل-ما-يقف-2</loc>
<lastmod>2026-04-28T20:27:40.512Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ابن-realtime-notifications-في-nextjs-15-بـ-sse-بدون-websockets-2</loc>
<lastmod>2026-04-28T19:19:58.491Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-status-page-لخدماتك-بـ-gatus-وdocker-بدون-اشتراكات-شهرية-2</loc>
<lastmod>2026-04-28T18:37:12.249Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-في-javascript-ليه-searchbar-بتاعك-بيرسل-47-طلب-لكل-كلمة-3</loc>
<lastmod>2026-04-28T15:15:55.467Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/race-conditions-في-البرمجة-ليه-نفس-الكود-بينجح-في-التيست-ويفشل-في-الإنتاج-2</loc>
<lastmod>2026-04-28T18:37:58.493Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-probes-ليه-الـ-pod-بيتعمله-restart-كل-دقيقتين-بدون-سبب-2</loc>
<lastmod>2026-04-28T12:24:41.289Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nginx-limitreq-امنع-api-من-الانهيار-وقت-موجة-5000-طلبثانية-2</loc>
<lastmod>2026-04-28T11:17:56.835Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-transaction-pooling-ليه-postgresql-بيرفض-الاتصال-رقم-101-2</loc>
<lastmod>2026-04-28T10:19:39.942Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-للمبتدئ-ليه-متغيرات-الدالة-بتفضل-حية-بعد-ما-تنتهي-2</loc>
<lastmod>2026-04-28T08:37:35.946Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-للمبتدئ-ليه-كودك-بيبطأ-لما-البيانات-تكبر-2</loc>
<lastmod>2026-04-28T07:21:20.703Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئين-ازاي-ai-بيعرف-إن-دكتور-وطبيب-نفس-الحاجة-3</loc>
<lastmod>2026-04-28T06:28:08.733Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pod-disruption-budget-امنع-kubernetes-من-قتل-آخر-replica-وقت-الـ-upgrade-2</loc>
<lastmod>2026-04-28T04:30:22.804Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/backpressure-في-nodejs-streams-ليه-السيرفر-بياكل-4gb-رام-عند-رفع-ملف-500mb-2</loc>
<lastmod>2026-04-28T03:11:28.048Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/idempotency-keys-في-apis-ليه-نفس-عملية-الدفع-بتتنفذ-مرتين-2</loc>
<lastmod>2026-04-28T02:18:19.908Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/floating-point-للمبتدئ-ليه-01-02-03-في-كل-لغات-البرمجة-2</loc>
<lastmod>2026-04-28T01:34:53.895Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/batch-api-في-claude-قلل-تكلفة-الطلبات-الجماعية-50-2</loc>
<lastmod>2026-04-28T00:32:27.130Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-للمبتدئين-خلي-الـ-ai-يفكر-بصوت-عالي-قبل-ما-يجاوب-2</loc>
<lastmod>2026-04-27T23:11:24.117Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-للمبتدئ-ليه-consolelog-بعد-settimeout0-بيطبع-قبله-2</loc>
<lastmod>2026-04-27T21:29:42.341Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/recursion-بالعربي-للمبتدئ-ليه-دالة-بتنادي-نفسها-مش-بتدخل-في-loop-لانهائي-2</loc>
<lastmod>2026-04-27T20:13:41.456Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/backpressure-في-nodejs-streams-ليه-نسيان-drain-بياكل-ذاكرتك-2</loc>
<lastmod>2026-05-04T16:13:57.389Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/خطوط-الويب-امنع-cls-بقيمة-024-وحمل-الخط-في-80ms-بدل-480ms-2</loc>
<lastmod>2026-04-27T18:10:12.001Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/temperature-في-الـ-ai-ليه-نفس-السؤال-بيجيب-إجابة-مختلفة-كل-مرة-2</loc>
<lastmod>2026-04-27T17:21:14.188Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-chrome-extension-يلخص-أي-صفحة-ويب-بـ-claude-في-45-سطر-2</loc>
<lastmod>2026-04-27T16:35:48.576Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/n1-query-problem-ليه-orm-بياخد-1001-طلب-sql-بدل-اتنين-2</loc>
<lastmod>2026-04-27T15:30:39.831Z</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>
<url>
<loc>https://lms.ahmedhaies.com/blog/cosign-keyless-container-signing-devops-20260426-2022</loc>
<lastmod>2026-04-26T17:04:43.401Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sqlite-wal-checkpoint-write-latency-20260426-1945</loc>
<lastmod>2026-04-26T16:49:56.697Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-discriminated-unions-exhaustive-switch-20260426-v2</loc>
<lastmod>2026-04-26T16:35:13.233Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/broken-links-lychee-github-actions-issue-automation-20260426-v2</loc>
<lastmod>2026-04-26T16:27:19.088Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/indexnow-sitemap-submit-automation-github-actions-20260426-v2</loc>
<lastmod>2026-04-26T16:26:49.876Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/javascript-proxy-بالعربي-راقب-أي-كائن-وامنع-البيانات-الغلط-قبل-ما-تتحفظ-2</loc>
<lastmod>2026-04-26T16:17:32.840Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-cost-attribution-feature-token-ledger-20260426</loc>
<lastmod>2026-04-26T16:00:29.164Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bullmq-redis-email-job-queue-nodejs-20260426-v2</loc>
<lastmod>2026-04-26T15:42:32.018Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-cancel-stale-fetch-requests-20260426-v2</loc>
<lastmod>2026-04-26T15:42:12.658Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/decorators-في-python-حول-دوالك-العادية-لأدوات-بتقيس-وتسجل-تلقائيا-2</loc>
<lastmod>2026-04-26T15:11:59.004Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/blue-green-deploy-node-nginx-vm-zero-downtime-20260426-v2</loc>
<lastmod>2026-04-26T15:10:08.336Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ansible-check-mode-diff-vm-change-gate-20260426-v2</loc>
<lastmod>2026-04-26T15:09:26.348Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ansible-check-mode-diff-server-drift-20260426-v2</loc>
<lastmod>2026-04-26T15:09:04.918Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/terraform-drift-github-actions-detailed-exitcode-20260426</loc>
<lastmod>2026-04-26T15:00:58.130Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-osv-telegram-vulnerability-alert-automation-20260426-v2</loc>
<lastmod>2026-04-26T14:10:24.334Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/release-notes-automation-git-cliff-github-actions-20260426-v2</loc>
<lastmod>2026-04-26T14:10:14.584Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memoization-في-python-lrucache-بينزل-الزمن-من-ثواني-لميكروثانية-3</loc>
<lastmod>2026-04-26T13:17:33.592Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-transaction-pooling-postgres-connections-20260426</loc>
<lastmod>2026-04-26T12:16:42.302Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-context-budget-chat-history-trimming-20260426</loc>
<lastmod>2026-04-26T12:02:42.849Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/early-hints-critical-css-lcp-cloudflare-20260426-v2</loc>
<lastmod>2026-04-26T11:55:41.540Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-context-managers-with-cleanup-20260426-v2</loc>
<lastmod>2026-04-26T11:32:33.989Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-dependency-injection-payment-port-tests-20260426</loc>
<lastmod>2026-04-26T11:31:23.009Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/aws-lambda-durable-functions-regions-queue-alternative-20260426</loc>
<lastmod>2026-04-26T11:17:39.312Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-للمبتدئين-ليه-نفس-الكود-يشتغل-في-ثانية-على-100-عنصر-وساعات-على-مليون-2</loc>
<lastmod>2026-04-26T11:10:52.823Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/restic-vm-backup-restore-drill-devops-20260426</loc>
<lastmod>2026-04-26T11:01:56.009Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/unleash-node-feature-flags-gradual-rollout-20260426</loc>
<lastmod>2026-04-26T10:55:51.772Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/playwright-screenshot-visual-regression-ci-20260426-1332</loc>
<lastmod>2026-04-26T10:38:48.569Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/playwright-visual-regression-github-actions-ci-20260426</loc>
<lastmod>2026-04-26T10:32:03.677Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/goroutines-و-channels-في-go-التزامن-بدون-لخبطة-الـ-locks-3</loc>
<lastmod>2026-04-26T10:08:54.041Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-tool-audit-log-jsonl-agent-actions-20260426</loc>
<lastmod>2026-04-26T10:02:24.201Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/github-app-installation-token-520-char-rollout-checklist-20260426-1305</loc>
<lastmod>2026-04-26T09:48:26.918Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/javascript-map-lru-cache-hot-products-20260426-1225</loc>
<lastmod>2026-04-26T09:35:06.170Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/responsive-images-avif-srcset-lcp-20260426-1225</loc>
<lastmod>2026-04-26T09:30:59.704Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gitleaks-ci-secret-gate-before-main-20260426-1210</loc>
<lastmod>2026-04-26T09:08:28.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/vite-dynamic-import-manualchunks-bundle-split-20260426</loc>
<lastmod>2026-04-26T08:47:17.722Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-rate-limits-redis-token-bucket-cost-guard-20260426</loc>
<lastmod>2026-04-26T08:32:04.776Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/database-index-بالعربي-ليه-استعلام-بياخد-8-ثواني-والثاني-12ms-2</loc>
<lastmod>2026-04-26T10:05:32.159Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/duckdb-csv-to-parquet-cli-15-minutes-20260426</loc>
<lastmod>2026-04-26T08:16:22.285Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/postgres-backup-restore-test-automation-20260426</loc>
<lastmod>2026-04-26T08:30:53.968Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nodejs-stream-backpressure-pipeline-memory-20260426</loc>
<lastmod>2026-04-26T07:47:25.387Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/salesforce-google-cloud-ai-agents-slack-crm-zero-copy-20260426</loc>
<lastmod>2026-04-26T07:33:17.628Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/graphql-dataloader-batching-fix-n-plus-one-2026</loc>
<lastmod>2026-04-26T07:30:18.754Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/llm-as-a-judge-ai-response-evaluation-rubric-20260426</loc>
<lastmod>2026-04-26T07:16:23.287Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/fail2ban-ssh-vm-brute-force-hardening-20260426</loc>
<lastmod>2026-04-26T07:01:24.039Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redis-pipeline-mget-round-trips-optimization-20260426</loc>
<lastmod>2026-04-26T06:47:01.110Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/npm-outdated-weekly-github-issue-automation-20260426</loc>
<lastmod>2026-04-26T06:31:07.838Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/idempotency-keys-api-retry-payments-20260426-v2</loc>
<lastmod>2026-04-26T06:22:10.520Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-collector-buffer-batch-tail-sampling-20260426</loc>
<lastmod>2026-04-26T06:05:30.776Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/aws-cost-explorer-slack-budget-alert-20260426-v2</loc>
<lastmod>2026-04-26T06:01:05.224Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/liveness-و-readiness-و-startup-probes-في-kubernetes-3-فحوصات-تقول-لو-تطبيقك-حي-فعلا-2</loc>
<lastmod>2026-04-26T05:26:27.033Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-سكريبت-يحول-اجتماعاتك-الصوتية-لـ-action-items-بـ-whisper-وclaude-2</loc>
<lastmod>2026-04-26T04:31:19.694Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tokenization-بالعربي-ليه-نفس-الجملة-بتكلف-ضعف-التوكنز-عن-الإنجليزي-2</loc>
<lastmod>2026-05-14T22:10:06.948Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-للمبتدئين-إزاي-الـ-ai-بيحول-الكلام-لأرقام-بيفهمها</loc>
<lastmod>2026-04-25T23:17:11.134Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-ليه-settimeout0-مش-بصفر-فعلا-2</loc>
<lastmod>2026-04-25T22:19:07.153Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/circuit-breaker-بالعربي-امنع-سيرفرك-من-الانهيار-لما-خدمة-خارجية-تقع</loc>
<lastmod>2026-04-25T21:16:35.044Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/chain-of-thought-خلي-نموذج-ai-يفكر-بصوت-عالي-قبل-الرد-2</loc>
<lastmod>2026-04-25T20:17:40.565Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/closures-في-javascript-بالعربي-ليه-الدوال-بتتذكر-متغيراتها-2</loc>
<lastmod>2026-04-25T19:30:13.402Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-batch-api-night-jobs-half-cost-20260425-2139</loc>
<lastmod>2026-04-25T18:43:09.757Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/logrotate-vm-disk-safe-rotation-20260425-2105</loc>
<lastmod>2026-04-25T18:30:11.116Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/etag-api-json-transfer-optimization-20260425</loc>
<lastmod>2026-04-25T18:14:59.934Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/model-cascade-بالعربي-وفر-60-من-فاتورة-الـ-ai-بدون-ما-تخسر-دقة-3</loc>
<lastmod>2026-04-25T18:13:41.043Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/safe-docker-disk-cleanup-with-dry-run-20260425</loc>
<lastmod>2026-04-25T17:58:05.567Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/notion-overdue-tasks-daily-email-automation-20260425</loc>
<lastmod>2026-04-25T17:45:13.046Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filter-memory-gate-database-checks-20260425-2</loc>
<lastmod>2026-04-25T17:44:06.232Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hybrid-search-في-rag-ادمج-bm25-مع-embeddings-وارفع-الدقة-2</loc>
<lastmod>2026-04-25T17:19:03.698Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pii-redaction-للـ-ai-نظف-بيانات-العميل-قبل-ما-تبعتها-للنموذج-2</loc>
<lastmod>2026-04-25T17:44:58.601Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nginx-rate-limiting-احم-login-قبل-ما-يوقع-التطبيق-2</loc>
<lastmod>2026-04-25T17:03:16.178Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-semantic-cache-reduce-latency-cost-without-breaking-accuracy-20260425</loc>
<lastmod>2026-04-25T16:45:57.801Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cloudflare-workers-kv-short-links-internal-tool-20260425</loc>
<lastmod>2026-04-25T16:28:44.980Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/temperature-و-top-p-بالعربي-ليه-نفس-البرومبت-بيرجع-إجابات-مختلفة-2</loc>
<lastmod>2026-04-25T16:22:15.476Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/css-content-visibility-long-page-rendering-optimization-20260425</loc>
<lastmod>2026-04-25T16:19:04.077Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/github-actions-npm-cache-speed-up-ci-install-20260425</loc>
<lastmod>2026-04-25T16:00:53.252Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/automate-tls-certificate-expiry-check-python-20260425</loc>
<lastmod>2026-04-25T15:56:37.660Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/stripe-payouts-slack-weekly-summary-automation</loc>
<lastmod>2026-04-25T15:55:19.685Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/generators-في-python-بالعربي-عالج-ملف-5gb-بـ-50mb-ذاكرة-فقط-2</loc>
<lastmod>2026-04-25T15:21:17.226Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/async-local-storage-request-id-nodejs</loc>
<lastmod>2026-04-25T15:11:47.510Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/secure-webhook-receiver-fastapi-hmac</loc>
<lastmod>2026-04-25T14:42:09.508Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/csv-to-fastapi-docker-api</loc>
<lastmod>2026-04-25T14:42:09.212Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/zod-runtime-validation-typescript-json</loc>
<lastmod>2026-04-25T14:12:05.594Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-ترتيب-downloads-بـ-python-بدون-حذف-ملف-بالغلط</loc>
<lastmod>2026-04-25T14:04:47.987Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/web-workers-off-main-thread-heavy-js</loc>
<lastmod>2026-04-25T13:43:12.286Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pandas-read-csv-chunksize-memory-optimization</loc>
<lastmod>2026-04-25T13:31:42.354Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-gzip-precompression-js-css-nginx</loc>
<lastmod>2026-04-25T13:30:03.861Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/brotli-في-nginx-ليه-gzip-لوحده-بيخسرك-25-بندويث-في-2026</loc>
<lastmod>2026-04-25T13:25:13.201Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-agent-prompt-injection-policy-gate</loc>
<lastmod>2026-04-25T13:15:04.666Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promise-allsettled-partial-api-failure</loc>
<lastmod>2026-04-25T12:41:54.535Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/systemd-nodejs-vm-restart-hardening</loc>
<lastmod>2026-04-25T12:29:45.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/inp-في-core-web-vitals-ليه-موقعك-أحمر-وإزاي-تنزله-تحت-200ms</loc>
<lastmod>2026-04-25T12:09:41.379Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/build-fast-docs-search-with-meilisearch</loc>
<lastmod>2026-04-25T11:49:59.794Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-ocr-للفواتير-من-pdf-إلى-excel-بـ-python</loc>
<lastmod>2026-04-25T14:12:26.800Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/local-pdf-search-sqlite-fts5</loc>
<lastmod>2026-04-25T11:48:28.997Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/جداول-postgresql-بتتضخم-table-bloat-بياكل-40-من-القرص-بدون-داتا-جديدة</loc>
<lastmod>2026-04-25T11:16:13.268Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/optimize-product-images-avif-srcset-lcp</loc>
<lastmod>2026-04-25T11:08:37.199Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gpt-55-وصل-copilot-إمتى-تدفع-75-ومتى-لا</loc>
<lastmod>2026-04-25T10:49:56.898Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mongodb-aggregation-بطيء-ترتيب-الـ-stages-بيخفضه-من-5s-لـ-200ms</loc>
<lastmod>2026-04-25T10:35:43.527Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/rag-reranking-reduce-tokens-improve-answer-quality</loc>
<lastmod>2026-04-25T09:46:33.451Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/coredns-cache-خفض-dns-latency-في-kubernetes-من-42ms-لـ-9ms</loc>
<lastmod>2026-04-25T09:18:35.077Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redis-بياكل-8gb-من-الـ-ram-خفضه-لـ-2gb-في-4-خطوات-بدون-ما-تخسر-داتا</loc>
<lastmod>2026-04-25T09:09:41.840Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-بالعربي-امنع-نتائج-البحث-القديمة-من-كسر-الواجهة</loc>
<lastmod>2026-04-25T09:03:20.159Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراجعة-ملفات-google-drive-المفتوحة-للعامة</loc>
<lastmod>2026-04-25T08:50:06.002Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/اعمل-uptime-monitor-مجاني-بتنبيه-telegram-وgithub-actions</loc>
<lastmod>2026-04-25T08:34:07.743Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/structured-outputs-خلي-رد-الـ-ai-يطلع-json-صالح-كل-مرة</loc>
<lastmod>2026-04-25T08:20:46.824Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reduce-docker-image-size-multi-stage-build</loc>
<lastmod>2026-05-30T11:56:17.301Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/بحث-like-في-postgresql-بطيء-pgtrgm-ينقذه-في-دقائق</loc>
<lastmod>2026-04-25T08:06:15.701Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/استنزاف-connection-pool-في-postgresql-pgbouncer-هيخفض-p95-من-12s-لـ-80ms</loc>
<lastmod>2026-04-25T08:04:32.232Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/http-keep-alive-في-nodejs-ليه-fetch-بياخد-200ms-زيادة-في-كل-طلب</loc>
<lastmod>2026-04-25T06:18:45.129Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/memory-leak-في-nodejs-بياكل-الـ-ram-heap-snapshot-بيلاقيه-في-10-دقايق</loc>
<lastmod>2026-04-25T05:10:38.309Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/خفض-docker-build-في-ci-من-12-دقيقة-لدقيقتين-باستخدام-buildkit-cache</loc>
<lastmod>2026-04-25T04:13:32.996Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/قائمة-react-بتجمد-المتصفح-virtualization-بيخليها-40-أسرع</loc>
<lastmod>2026-04-25T03:20:26.396Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/قلل-cold-start-في-aws-lambda-من-3-ثواني-إلى-300ms</loc>
<lastmod>2026-04-25T02:10:15.848Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/حل-n1-query-في-orms-من-200ms-إلى-20ms-بأمر-واحد</loc>
<lastmod>2026-04-25T01:24:52.449Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/حسن-lcp-في-موقعك-من-4-ثواني-إلى-أقل-من-ثانيتين</loc>
<lastmod>2026-04-25T00:37:03.977Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/external-secrets-operator-زامن-أسرار-aws-وvault-مع-kubernetes</loc>
<lastmod>2026-04-24T23:23:54.202Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kyverno-بالعربي-فرض-سياسات-kubernetes-بدون-تعلم-rego</loc>
<lastmod>2026-04-24T22:30:05.783Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keda-بالعربي-scale-to-zero-للـ-workers-ووفر-30-من-فاتورة-kubernetes</loc>
<lastmod>2026-04-24T21:21:23.038Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/flagger-بالعربي-نشر-canary-آمن-على-kubernetes-بدون-rollback-يدوي</loc>
<lastmod>2026-04-24T20:26:22.818Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/dagger-بالعربي-شغل-ci-pipeline-محليا-وفي-github-actions-بنفس-الكود</loc>
<lastmod>2026-04-24T19:23:45.058Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/renovate-bot-بالعربي-حدث-dependencies-تلقائيا-بدون-كسر-البيلد</loc>
<lastmod>2026-04-24T18:14:42.571Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/reduce-node-json-api-payload-before-scaling</loc>
<lastmod>2026-04-24T17:55:30.535Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prevent-api-cache-stampede-redis-lock</loc>
<lastmod>2026-04-24T17:46:56.193Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-فواتير-gmail-إلى-sheets-بدون-نسخ-ولصق</loc>
<lastmod>2026-04-24T17:27:11.871Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nextjs-dynamic-import-reduce-initial-js</loc>
<lastmod>2026-04-24T17:12:40.463Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/velero-بالعربي-backup-وrestore-عملي-لـ-kubernetes-بدل-الدعاء</loc>
<lastmod>2026-04-24T17:11:50.014Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنبيه-pull-requests-القديمة-إلى-slack</loc>
<lastmod>2026-04-24T16:53:31.372Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-أسعار-المنافسين-بدون-scraping-عدواني</loc>
<lastmod>2026-04-24T16:38:27.914Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/postgresql-query-optimization-measure-first</loc>
<lastmod>2026-04-24T16:54:47.588Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-feature-flags-القديمة-بدون-كسر-الإنتاج</loc>
<lastmod>2026-04-24T16:26:31.652Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/github-actions-oidc-مع-aws-انشر-بدون-مفاتيح-ثابتة</loc>
<lastmod>2026-04-24T16:26:04.824Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-فحص-الروابط-المكسورة-بـ-lychee-و-cron</loc>
<lastmod>2026-04-24T16:25:15.922Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/تحسين-استعلام-postgresql-بطيء-بالأرقام</loc>
<lastmod>2026-04-24T16:23:42.055Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-triage-لتذاكر-الدعم-من-gmail-إلى-linear-بدون-فوضى</loc>
<lastmod>2026-04-24T16:24:15.369Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/terraform-s3-lockfile-قفل-الـ-state-بدون-dynamodb</loc>
<lastmod>2026-04-24T16:12:55.118Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/karpenter-بالعربي-وفر-50-من-فاتورة-aws-بـ-node-autoscaling-ذكي</loc>
<lastmod>2026-04-24T16:08:21.044Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-probes-بالعربي-امنع-restart-loop-قبل-الإنتاج</loc>
<lastmod>2026-04-24T16:09:45.090Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/argo-cd-self-heal-امنع-drift-في-kubernetes</loc>
<lastmod>2026-04-24T16:09:40.481Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-buildkit-cache-ci-arabic</loc>
<lastmod>2026-06-01T16:06:38.800Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-probes-arabic-stop-false-restarts</loc>
<lastmod>2026-04-24T16:10:53.282Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-backup-postgresql-إلى-r2-مع-اختبار-restore-حقيقي</loc>
<lastmod>2026-04-24T15:40:35.814Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-tail-sampling-قلل-تكلفة-الـ-traces-بذكاء</loc>
<lastmod>2026-04-24T15:40:31.204Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/tail-sampling-بالعربي-قلل-تكلفة-الـ-tracing-من-غير-ما-تعمي-نفسك</loc>
<lastmod>2026-04-24T15:40:14.439Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-tail-sampling-قلل-تكلفة-الـ-traces</loc>
<lastmod>2026-04-24T15:36:33.615Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-tail-sampling-devops-arabic</loc>
<lastmod>2026-04-24T15:36:13.241Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/opentelemetry-tail-sampling-بالعربي-احتفظ-بالأخطاء-وقلل-تكلفة-الـ-traces</loc>
<lastmod>2026-04-24T15:33:56.940Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prometheus-alerts-بالعربي-قلل-التنبيهات-الكاذبة</loc>
<lastmod>2026-04-24T15:30:35.094Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sbom-cosign-container-supply-chain-devops-arabic</loc>
<lastmod>2026-04-24T15:31:07.357Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-s3-lifecycle-قلل-فاتورة-التخزين-بدون-حذف-خطر</loc>
<lastmod>2026-04-24T15:31:03.189Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/weakmap-بالعربي-اربط-بيانات-بالكائنات-من-غير-memory-leak</loc>
<lastmod>2026-04-24T15:26:21.750Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/preview-environments-جرب-كل-pull-request-قبل-الدمج</loc>
<lastmod>2026-04-24T15:14:34.820Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/preview-environments-بالعربي-اختبر-كل-pull-request-قبل-الدمج</loc>
<lastmod>2026-04-24T15:13:15.771Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kyverno-بالعربي-امنع-أخطاء-kubernetes-قبل-الـ-deploy</loc>
<lastmod>2026-04-24T15:09:25.538Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/terraform-drift-بالعربي-اكشف-تغييرات-البنية-قبل-ما-تكسر-الإنتاج</loc>
<lastmod>2026-04-24T15:05:22.138Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/external-secrets-operator-بالعربي-أسرار-kubernetes-من-vault-بدل-git</loc>
<lastmod>2026-04-24T14:09:08.311Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/keda-بالعربي-autoscaling-على-الـ-queue-مش-الـ-cpu</loc>
<lastmod>2026-04-24T11:28:15.760Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/canary-deployment-بالعربي-اكتشف-الباج-قبل-ما-يضرب-كل-المستخدمين</loc>
<lastmod>2026-04-24T09:07:57.967Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/slo-و-error-budget-بالعربي-إزاي-تاخد-قرار-الـ-deploy-بالأرقام</loc>
<lastmod>2026-04-24T08:18:52.192Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/pgbouncer-بالعربي-ليه-postgresql-بيتعب-عند-500-connection-وإزاي-توفر-80-من-الذاكرة</loc>
<lastmod>2026-04-24T06:58:55.772Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distributed-tracing-بـ-opentelemetry-لو-الـ-api-بطيء-وأنت-مش-عارف-فين</loc>
<lastmod>2026-04-24T06:39:52.790Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/distributed-tracing-بـ-opentelemetry-ليه-طلب-api-بياخد-3-ثواني-وإنت-مش-عارف-السبب</loc>
<lastmod>2026-04-24T06:39:49.669Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/buildkit-cache-mounts-docker-build-من-8-دقايق-لدقيقة-واحدة</loc>
<lastmod>2026-04-24T06:09:10.389Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-layer-caching-بالعربي-اختصر-80-من-وقت-الـ-build</loc>
<lastmod>2026-04-24T06:09:04.802Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/تسريع-docker-build-10-مرات-buildkit-و-layer-caching-بالتفاصيل</loc>
<lastmod>2026-04-24T06:08:23.931Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gitops-بالعربي-ليه-argocd-بيهزم-jenkins-في-نشر-kubernetes</loc>
<lastmod>2026-04-24T06:09:58.447Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/docker-buildkit-cache-ليه-الـ-build-بياخد-10-دقايق-وإزاي-تخليه-دقيقة</loc>
<lastmod>2026-04-24T06:07:28.076Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/terraform-state-بالعربي-متحطهوش-في-git-استخدم-s3-backend</loc>
<lastmod>2026-04-24T06:48:02.150Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/readiness-vs-liveness-probes-بالعربي-ليه-kubernetes-بيقتل-pod-شغال-100</loc>
<lastmod>2026-04-24T04:08:45.007Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/exponential-backoff-jitter-بالعربي-امنع-10000-client-من-ضرب-سيرفرك-في-نفس-الثانية</loc>
<lastmod>2026-04-23T21:10:07.728Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/token-bucket-بالعربي-ليميت-الـ-api-في-30-سطر-من-غير-ما-يقع-السيرفر</loc>
<lastmod>2026-04-23T15:31:20.755Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ثغرة-mcp-الحرجة-200-ألف-server-معرضة-خطوتك-النهارده</loc>
<lastmod>2026-04-23T19:28:35.296Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nvidia-openshell-nemotron-3-super-إمتى-يوفر-40-من-فاتورتك</loc>
<lastmod>2026-04-22T19:43:21.519Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/meta-muse-spark-أول-نموذج-مغلق-و3-قرارات-لمستخدمي-llama</loc>
<lastmod>2026-04-22T19:43:08.491Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nodejs-2415-lts-نزل-15-أبريل-node-22-مات-قرارك-النهارده</loc>
<lastmod>2026-04-22T19:41:31.074Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nvidia-openshell-sandbox-آمن-لـ-claude-code-وcodex-متى-تعتمده-فعلا</loc>
<lastmod>2026-04-22T19:39:58.864Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/copilot-agent-skills-في-visual-studio-2026-ابن-وكيل-مخصص-في-20-سطر</loc>
<lastmod>2026-04-22T19:39:19.204Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nodejs-20-بينتهي-30-أبريل-خطة-ترحيل-في-8-أيام-لـ-22-lts</loc>
<lastmod>2026-04-22T19:38:49.933Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/spacex-cursor-صفقة-60b-ودخول-colossus-قرار-المطور-العربي</loc>
<lastmod>2026-04-22T18:12:57.817Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cloudflare-dynamic-workers-نزلت-15-أبريل-ai-agents-بـ-5ms-بدل-الحاويات</loc>
<lastmod>2026-04-22T12:16:45.033Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/linux-kernel-70-نزل-12-أبريل-rust-بقى-stable-متى-تحدث-فعلا</loc>
<lastmod>2026-04-22T10:44:16.146Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-136-نزل-النهارده-5-قرارات-لازم-تاخدها-قبل-نص-الأسبوع</loc>
<lastmod>2026-04-22T10:40:11.269Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/kubernetes-136-نزل-22-أبريل-hpa-scale-to-zero-افتراضي</loc>
<lastmod>2026-04-22T10:39:04.044Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mysql-80-eol-في-أبريل-2026-روتين-الترقية-لـ-84-lts-بدون-downtime</loc>
<lastmod>2026-04-22T10:37:40.964Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ironwood-tpu-وصفقة-anthropic-1m-قرار-المطور-العربي</loc>
<lastmod>2026-04-22T09:14:01.029Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/turboquant-من-google-ضغط-ذاكرة-llm-6-ومتى-تعتمده-فعلا</loc>
<lastmod>2026-04-22T06:34:00.085Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-dev-summit-nyc-2026-3-قرارات-لازم-تاخدها-على-servers-بتاعتك</loc>
<lastmod>2026-04-22T00:35:34.509Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-بالعربي-إزاي-توصل-claude-بأدواتك-وقواعد-بياناتك-ببروتوكول-واحد</loc>
<lastmod>2026-04-21T21:16:17.834Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ai-evals-بالعربي-ازاي-تقيس-فعلا-لو-نموذج-الذكاء-الاصطناعي-بتاعك-شغال</loc>
<lastmod>2026-04-22T10:23:46.565Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/الـ-rag-بالعربي-إزاي-تخلي-الـ-ai-يجاوب-من-بياناتك-بدل-ما-يخترع</loc>
<lastmod>2026-04-21T15:12:38.675Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/prompt-caching-مع-claude-إزاي-توفر-90-من-تكلفة-الـ-ai-بسطر-واحد</loc>
<lastmod>2026-04-22T10:22:55.172Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/function-calling-في-الـ-ai-إزاي-تخلي-claude-و-gpt-ينفذوا-أوامر-فعلا</loc>
<lastmod>2026-04-21T06:07:49.144Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/embeddings-arabic-semantic-search-when-to-use</loc>
<lastmod>2026-04-21T03:11:01.815Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/google-a2ui-v0-9-generative-ui-trusted-catalog-when-to-adopt</loc>
<lastmod>2026-04-21T00:31:29.059Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-نشر-المحتوى-من-notion-إلى-linkedin-و-twitter-بـ-n8n-مقال-واحد-3-منصات-صفر-نسخ-ولصق</loc>
<lastmod>2026-04-20T21:09:22.050Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-انتهاء-شهادات-ssl-والدومين-بـ-github-actions-قبل-ما-الموقع-يطير</loc>
<lastmod>2026-05-30T18:48:53.378Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-اختبار-حمل-api-بـ-k6-و-github-actions-اكشف-تراجع-p95-قبل-الـ-deploy</loc>
<lastmod>2026-04-20T20:30:17.025Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-database-migrations-بـ-atlas-ودع-كوابيس-الإنتاج</loc>
<lastmod>2026-04-20T20:26:41.914Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-استخراج-فواتير-gmail-إلى-google-sheets-بـ-claude-haiku-تتبع-مصاريفك-بدون-ما-تفتح-إيميل</loc>
<lastmod>2026-04-20T20:26:14.482Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تقدير-تكلفة-terraform-بـ-infracost-شوف-فاتورة-الـ-pr-قبل-الـ-merge</loc>
<lastmod>2026-04-20T20:26:09.872Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تحديث-dependencies-بـ-renovate-إنهي-صداع-الـ-packagejson-في-15-دقيقة</loc>
<lastmod>2026-06-05T13:12:40.990Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-visual-regression-testing-بـ-playwright-امسك-تغييرات-الـ-ui-قبل-الـ-deploy</loc>
<lastmod>2026-04-20T20:23:30.631Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-فحص-الروابط-المكسورة-بـ-lychee-و-github-actions-امسك-الرابط-الميت-قبل-google</loc>
<lastmod>2026-04-20T18:58:50.181Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-توليد-changelog-و-github-releases-بـ-release-please-وداعا-للتحرير-اليدوي</loc>
<lastmod>2026-04-20T12:15:26.342Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-backup-postgresql-بـ-wal-g-و-s3-استرجاع-point-in-time-في-5-دقائق</loc>
<lastmod>2026-04-20T10:48:02.546Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-النسخ-الاحتياطي-لـ-postgresql-على-backblaze-b2-بـ-36-سنت-شهريا</loc>
<lastmod>2026-04-20T10:24:50.305Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-منع-تسريب-الأسرار-في-git-بـ-gitleaks-و-pre-commit-امسك-المفتاح-قبل-ما-يعمل-push</loc>
<lastmod>2026-04-27T01:06:22.296Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-اختبار-استعادة-postgres-من-s3-أسبوعيا-backup-مش-بيتجرب-يبقى-وهم</loc>
<lastmod>2026-04-20T10:32:00.156Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-توليد-open-graph-images-لكل-مقال-بـ-satori-صور-seo-احترافية-بدون-figma</loc>
<lastmod>2026-04-20T10:07:33.333Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-git-branches-المدمجة-بـ-github-actions-من-200-فرع-ميت-لـ-10-نشطة</loc>
<lastmod>2026-04-20T09:50:24.498Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-صور-open-graph-ديناميكيا-بـ-nextog-لكل-مقال</loc>
<lastmod>2026-04-20T09:49:08.807Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-اكتشاف-terraform-drift-بـ-github-actions-كل-6-ساعات</loc>
<lastmod>2026-04-20T09:49:03.234Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-إنشاء-وتحديث-llmstxt-لموقعك-اكسب-ترافيك-من-chatgpt-و-claude-و-perplexity</loc>
<lastmod>2026-04-20T10:19:52.524Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تحليل-لوجات-nginx-يوميا-بـ-goaccess-تقرير-html-على-slack-بدون-elk</loc>
<lastmod>2026-04-20T09:47:58.429Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-cron-jobs-بـ-healthchecksio-اعرف-لما-الـ-job-يسكت-قبل-ما-المشكلة-تكبر</loc>
<lastmod>2026-04-20T09:26:46.317Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-فرز-gmail-بـ-claude-haiku-و-gmail-api-من-40-دقيقة-لـ-30-ثانية-يوميا</loc>
<lastmod>2026-04-20T08:58:27.903Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-قياس-core-web-vitals-بـ-lighthouse-ci-أوقف-تراجع-الأداء-قبل-الإنتاج</loc>
<lastmod>2026-04-20T03:05:05.546Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-docker-على-السيرفر-سكربت-أسبوعي-يوفر-40gb-كل-شهر</loc>
<lastmod>2026-04-20T00:46:09.966Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تحويل-فيديوهات-youtube-إلى-مقالات-بـ-yt-dlp-و-whisper-و-claude</loc>
<lastmod>2026-04-20T00:45:10.109Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تحديث-تبعيات-مشروعك-بـ-renovate-إعدادات-جاهزة-وأرقام-حقيقية</loc>
<lastmod>2026-04-20T00:44:31.317Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-فحص-انتهاء-شهادات-ssl-قبل-14-يوم-بسكربت-bash-و-discord</loc>
<lastmod>2026-04-20T00:44:19.735Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-docker-كيف-تحرر-عشرات-الجيجابايت-بسكربت-cron-واحد</loc>
<lastmod>2026-04-20T00:45:14.947Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تنظيف-docker-بـ-systemd-timers-استرجاع-40gb-أسبوعيا-بدون-cron</loc>
<lastmod>2026-04-20T00:42:39.727Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تقرير-تكلفة-aws-اليومي-على-slack-بـ-lambda-و-eventbridge</loc>
<lastmod>2026-04-20T00:42:16.252Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تقارير-ga4-الأسبوعية-إلى-slack-بـ-n8n-workflow-كامل</loc>
<lastmod>2026-04-20T00:41:36.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-تتبع-أسعار-المنتجات-بـ-playwright-و-discord-السكربت-الكامل</loc>
<lastmod>2026-04-20T00:40:47.037Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-نسخ-احتياطي-postgresql-إلى-s3-يوميا-بسكربت-bash-واحد</loc>
<lastmod>2026-04-20T00:37:37.744Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراقبة-uptime-لمواقعك-uptime-kuma-telegram-في-20-دقيقة</loc>
<lastmod>2026-04-20T00:36:25.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-backup-لـ-postgresql-بـ-restic-وتنبيهات-telegram-السكربت-الكامل</loc>
<lastmod>2026-04-20T00:36:14.497Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-backup-postgresql-على-s3-يوميا-بـ-github-actions</loc>
<lastmod>2026-04-20T00:36:00.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-النسخ-الاحتياطي-لـ-postgresql-إلى-cloudflare-r2-بـ-15-سنتgb-شهريا</loc>
<lastmod>2026-04-20T00:38:02.199Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-نسخ-postgresql-الاحتياطية-يوميا-إلى-s3-مع-تأكيد-telegram</loc>
<lastmod>2026-04-20T00:35:22.272Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/idempotency-key-بالعربي-امنع-سحب-الفلوس-مرتين-لما-العميل-يضغط-ادفع-تاني</loc>
<lastmod>2026-04-20T00:35:56.589Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/أتمتة-مراجعة-الـ-pull-requests-بـ-claude-opus-47-داخل-github-actions</loc>
<lastmod>2026-04-20T00:25:12.731Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-vs-throttle-بالعربي-وفر-95-من-طلبات-الـ-api-في-الـ-search-box</loc>
<lastmod>2026-04-19T23:54:58.482Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/two-pointers-بالعربي-نمط-واحد-بيحل-مسائل-الـ-arrays-في-نصف-الوقت</loc>
<lastmod>2026-04-19T22:56:07.196Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/consistent-hashing-بالعربي-وزع-مفاتيحك-على-100-سيرفر-بدون-reshuffle</loc>
<lastmod>2026-04-19T22:55:55.987Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/redos-بالعربي-الـ-regex-اللي-وقف-cloudflare-27-دقيقة</loc>
<lastmod>2026-04-19T22:55:34.337Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-و-throttle-بالعربي-إمتى-تستخدم-كل-واحد-في-javascript</loc>
<lastmod>2026-04-19T22:54:07.279Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/floating-point-بالعربي-ليه-01-02-03-وإزاي-بتخسر-فلوس</loc>
<lastmod>2026-04-19T21:24:43.178Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cursor-pagination-بالعربي-ليه-offset-بيبطأ-مع-كل-صفحة-جديدة</loc>
<lastmod>2026-04-19T20:52:46.965Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/lru-cache-بالعربي-نفذها-من-الصفر-في-40-سطر-بـ-o1</loc>
<lastmod>2026-04-19T18:08:51.624Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/hash-collisions-ليه-الـ-hashmap-بيتحول-من-o1-لـ-on-فجأة</loc>
<lastmod>2026-04-19T18:04:24.136Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-context-managers-بالعربي-خلي-with-تقفل-الملفات-والاتصالات-بدالك</loc>
<lastmod>2026-04-19T17:25:33.553Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/nodejs-streams-اقرا-ملف-10gb-وذاكرتك-512mb-بس</loc>
<lastmod>2026-04-19T17:08:07.126Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/trie-بالعربي-autocomplete-على-مليون-كلمة-بـ-ol-بدل-on</loc>
<lastmod>2026-04-19T17:07:00.856Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/go-channels-بالعربي-تواصل-بين-goroutines-من-غير-mutex-ولا-race-conditions</loc>
<lastmod>2026-04-19T17:00:46.355Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bloom-filters-بالعربي-اعرف-لو-العنصر-موجود-في-مليون-سجل-بـ-1mb-بس</loc>
<lastmod>2026-04-19T16:42:52.953Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-discriminated-unions-امنع-bugs-الـ-runtime-بخانة-tag</loc>
<lastmod>2026-04-19T17:06:01.720Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-matchcase-امتى-يستحق-إنه-يستبدل-ifelif-في-كودك</loc>
<lastmod>2026-04-19T16:44:18.878Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/event-loop-في-javascript-ليه-settimeoutfn-0-بيشتغل-بعد-promise</loc>
<lastmod>2026-05-11T23:31:01.297Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/web-workers-في-javascript-شغل-حسابات-ثقيلة-بدون-ما-تجمد-الـ-ui</loc>
<lastmod>2026-04-19T16:44:18.878Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/javascript-proxy-اعمل-reactive-state-بـ-20-سطر-بدل-vue</loc>
<lastmod>2026-04-19T16:42:52.953Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/abortcontroller-إلغاء-طلبات-fetch-قبل-ما-تأكل-ذاكرة-المتصفح</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/big-o-notation-بالعربي-إزاي-تعرف-إن-الكود-هيقع-قبل-ما-يدخل-production</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sql-window-functions-احسب-ranking-و-running-total-في-query-واحدة</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/sql-window-functions-احسب-running-total-وranking-بدون-self-join</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-generics-دالة-واحدة-لكل-الأنواع-من-غير-any</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-decorators-أضف-logging-و-caching-بدون-تعديل-الدالة</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/debounce-و-throttle-في-javascript-الفرق-اللي-بيوفرلك-90-من-طلبات-الـ-api</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-generators-ليه-range108-مش-بيفجر-الذاكرة</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/promiseall-ضد-promiseallsettled-الفرق-اللي-بيكسر-الـ-production</loc>
<lastmod>2026-06-01T12:52:08.496Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cve-2026-4747-ثغرة-freebsd-nfs-عمرها-17-سنة-خطوات-الاستجابة-خلال-24-ساعة</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/bun-1312-webview-cron-جوا-الـ-runtime-اختصر-حاويتين-من-stackك</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mythos-5-لقى-bug-عمره-27-سنة-في-openbsd-تأثيره-على-كودك</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-managed-agents-نزلت-8-أبريل-تستضيف-agentك-ولا-تبنيه-بإيدك</loc>
<lastmod>2026-04-18T21:29:11.444Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gh-skill-نزل-16-أبريل-قرارك-بالظبط-متى-تعتمد-عليه</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-opus-47-نزل-في-16-أبريل-swe-bench-876-متى-تبدل-فعلا</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/ثغرة-nextjs-cve-2026-27979-الـ-ppr-بيفضي-الذاكرة-تتصرف-إزاي</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/postgres-18-جاب-async-io-بـ-3-throughput-القرار-بالظبط-متى-تهاجر</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/siri-بقى-شغال-بـ-gemini-قرارك-كمطور-ios-بعد-ios-264</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/typescript-60-نزل-آخر-نسخة-js-قبل-إعادة-الكتابة-بـ-go</loc>
<lastmod>2026-04-23T15:46:06.986Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/cursor-3-نزل-الـ-ide-بقى-مساعد-والـ-agents-بقت-الأساس</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/microsoft-agent-framework-10-خرج-من-preview-متى-تتبناه-ومتى-تفضل-langgraph</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/python-314-no-gil-في-production-متى-تبدل-ومتى-تفضل-في-312</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/gemini-31-flash-lite-أسرع-25-متى-تبدل-من-flash-الكامل</loc>
<lastmod>2026-04-18T20:31:15.773Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/claude-و-gemini-عدوا-مستوى-الإنسان-في-osworld-ماذا-يعني-ذلك</loc>
<lastmod>2026-04-19T10:30:13.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
<url>
<loc>https://lms.ahmedhaies.com/blog/mcp-تخطى-97-مليون-تثبيت-في-مارس-2026-ماذا-يعني-ذلك-للمطور</loc>
<lastmod>2026-04-18T13:23:52.840Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.75</priority>
</url>
</urlset>
