<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"><url><loc>https://nooryasser.com/ar/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/skills/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/skills/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/skills/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/skills/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/about/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/about/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/about/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/contact/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/contact/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/contact/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/contact/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/book/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/book/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/book/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/book/"/><lastmod>2026-10-01T03:53:43-04:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/ai-rag-vector-search/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/ai-rag-vector-search/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/ai-rag-vector-search/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/ai-rag-vector-search/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/cloud-devops-kubernetes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/cloud-devops-kubernetes/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/cloud-devops-kubernetes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/cloud-devops-kubernetes/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/ecommerce-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/ecommerce-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/ecommerce-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/ecommerce-engineering/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/api-saas-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/api-saas-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/api-saas-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/api-saas-architecture/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/topics/product-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/product-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/product-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/product-engineering/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/saas-products/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/saas-products/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/saas-products/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/saas-products/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/backend-apis/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/backend-apis/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/backend-apis/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/backend-apis/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/salla-zid/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/salla-zid/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/salla-zid/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/salla-zid/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/applied-ai/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/applied-ai/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/applied-ai/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/applied-ai/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/performance-cloud/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/performance-cloud/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/performance-cloud/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/performance-cloud/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/services/websites-portfolios/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/websites-portfolios/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/websites-portfolios/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/websites-portfolios/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/articles/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/2/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/2/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/2/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/2/"/><lastmod>2026-10-05</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/3/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/3/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/3/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/3/"/><lastmod>2026-10-05</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/4/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/4/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/4/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/4/"/><lastmod>2026-10-02</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/5/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/5/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/5/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/5/"/><lastmod>2026-09-29</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/6/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/6/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/6/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/6/"/><lastmod>2026-09-27</lastmod></url><url><loc>https://nooryasser.com/ar/articles/page/7/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/7/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/7/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/7/"/><lastmod>2026-09-25</lastmod></url><url><loc>https://nooryasser.com/ar/articles/salla-webhook-endpoint-rotation-cutover/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-webhook-endpoint-rotation-cutover/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-webhook-endpoint-rotation-cutover/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-webhook-endpoint-rotation-cutover/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-webhook-endpoint-rotation-cutover-social.jpg</image:loc><image:title>تدوير Webhooks في سلة: غيّر العنوان دون فقد الأحداث</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/qdrant-multitenancy-payload-idf-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-multitenancy-payload-idf-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-multitenancy-payload-idf-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-multitenancy-payload-idf-isolation/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-multitenancy-payload-idf-isolation-social.jpg</image:loc><image:title>تعدد العملاء في Qdrant: اعزل الاسترجاع والترتيب والتخزين</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/anthropic-cyber-verification-program-security-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/anthropic-cyber-verification-program-security-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/anthropic-cyber-verification-program-security-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/anthropic-cyber-verification-program-security-architecture/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/anthropic-cyber-verification-program-security-architecture-social.jpg</image:loc><image:title>برنامج Anthropic CVP: قيود أقل تحتاج معمارية أقوى</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/openai-decisions-api-production-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-decisions-api-production-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-decisions-api-production-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-decisions-api-production-architecture/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-decisions-api-production-architecture-social.jpg</image:loc><image:title>واجهة OpenAI Decisions API: ابنِ نظام قرار لا عتبة سحرية</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/qdrant-embedding-model-migration-zero-downtime/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-embedding-model-migration-zero-downtime/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-embedding-model-migration-zero-downtime/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-embedding-model-migration-zero-downtime/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-embedding-model-migration-zero-downtime-social.jpg</image:loc><image:title>ترحيل Embeddings في Qdrant من دون تعطيل البحث</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/anthropic-models-api-line-model-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/anthropic-models-api-line-model-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/anthropic-models-api-line-model-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/anthropic-models-api-line-model-routing/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/anthropic-models-api-line-model-routing-social.jpg</image:loc><image:title>حقل line في Anthropic Models API: توقّف عن تحليل أسماء النماذج</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/openai-textgrain-watermarking-provenance-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-textgrain-watermarking-provenance-api/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-textgrain-watermarking-provenance-api/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-textgrain-watermarking-provenance-api/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-textgrain-watermarking-provenance-api-social.jpg</image:loc><image:title>textGrain من OpenAI: ما الذي تثبته العلامة المائية للنص وما الذي لا تثبته</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/transactional-outbox-dual-write-cdc-polling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/transactional-outbox-dual-write-cdc-polling/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/transactional-outbox-dual-write-cdc-polling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/transactional-outbox-dual-write-cdc-polling/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/transactional-outbox-dual-write-cdc-polling-social.jpg</image:loc><image:title>Transactional Outbox: امنع Dual Write دون ادعاء Atomicity</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/kubernetes-topology-spread-multi-zone-scheduling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-topology-spread-multi-zone-scheduling-social.jpg</image:loc><image:title>توزيع Kubernetes عبر المناطق: صمّم لفشل Zone لا لمتوسط جميل</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/docker-runtime-hardening-rootless-seccomp-capabilities/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/docker-runtime-hardening-rootless-seccomp-capabilities-social.jpg</image:loc><image:title>تقوية تشغيل Docker: ‏Rootless وseccomp وأقل الصلاحيات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/rag-pdf-layout-aware-chunking/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/rag-pdf-layout-aware-chunking/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/rag-pdf-layout-aware-chunking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/rag-pdf-layout-aware-chunking/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/rag-pdf-layout-aware-chunking-social.jpg</image:loc><image:title>تقسيم PDF في RAG: حافظ على البنية والجداول والسياق</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gemini-3-8-tts-voice-api-production/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gemini-3-8-tts-voice-api-production/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gemini-3-8-tts-voice-api-production/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gemini-3-8-tts-voice-api-production/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gemini-3-8-tts-voice-api-production-social.jpg</image:loc><image:title>Gemini 3.8 TTS في الإنتاج: الأصوات والبث والموافقة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gpt-6-async-tools-mid-turn-steering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-async-tools-mid-turn-steering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-async-tools-mid-turn-steering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-async-tools-mid-turn-steering/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-async-tools-mid-turn-steering-social.jpg</image:loc><image:title>حلقات GPT‑6 الوكيلة: أدوات غير متزامنة وتوجيه وتعافٍ آمن</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/openai-ultrafast-mode-latency-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-ultrafast-mode-latency-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-ultrafast-mode-latency-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-ultrafast-mode-latency-architecture/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-ultrafast-mode-latency-architecture-social.jpg</image:loc><image:title>وضع OpenAI Ultrafast: هندسة زمن الاستجابة لا سرعة التوكن فقط</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gpt-6-1-sol-production-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-1-sol-production-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-1-sol-production-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-1-sol-production-routing/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-1-sol-production-routing-social.jpg</image:loc><image:title>GPT‑6.1 Sol في الإنتاج: وجّه الطلبات بالدليل لا بالضجيج</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/docker-buildkit-cache-secrets-provenance/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/docker-buildkit-cache-secrets-provenance/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/docker-buildkit-cache-secrets-provenance/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/docker-buildkit-cache-secrets-provenance/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/docker-buildkit-cache-secrets-provenance-social.jpg</image:loc><image:title>بناء Docker آمن: Cache سريع بلا تسريب أسرار</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/shopify-bundles-cart-transform-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/shopify-bundles-cart-transform-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/shopify-bundles-cart-transform-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/shopify-bundles-cart-transform-contract/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/shopify-bundles-cart-transform-contract-social.jpg</image:loc><image:title>حزم Shopify: صمّم عقد تحويل السلة قبل الكود</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/claude-code-mods-event-middleware-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-code-mods-event-middleware-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-code-mods-event-middleware-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-code-mods-event-middleware-security/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-code-mods-event-middleware-security-social.jpg</image:loc><image:title>Claude Code Mods: طبقة أحداث لتخصيص أدوات البرمجة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/production-rag-pipeline-chunking-qdrant-reranking/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/production-rag-pipeline-chunking-qdrant-reranking-social.jpg</image:loc><image:title>خط إنتاج RAG: من تقسيم المستندات إلى إجابات موثقة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/saas-tenant-context-propagation-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saas-tenant-context-propagation-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saas-tenant-context-propagation-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saas-tenant-context-propagation-security/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saas-tenant-context-propagation-security-social.jpg</image:loc><image:title>سياق العميل في SaaS: مرّر الهوية دون تسريب البيانات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/kubernetes-resource-requests-limits-rightsizing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-resource-requests-limits-rightsizing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-resource-requests-limits-rightsizing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-resource-requests-limits-rightsizing/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-resource-requests-limits-rightsizing-social.jpg</image:loc><image:title>طلبات وحدود Kubernetes: سعة بلا اختناق أو OOM</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/postgresql-pgbouncer-admission-control/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-pgbouncer-admission-control/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-pgbouncer-admission-control/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-pgbouncer-admission-control/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-pgbouncer-admission-control-social.jpg</image:loc><image:title>تجميع اتصالات PostgreSQL: احمِ السعة عبر PgBouncer</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/mcp-tool-use-agent-evaluation-traces/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/mcp-tool-use-agent-evaluation-traces/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/mcp-tool-use-agent-evaluation-traces/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/mcp-tool-use-agent-evaluation-traces/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/mcp-tool-use-agent-evaluation-traces-social.jpg</image:loc><image:title>تقييم وكلاء MCP: اختبر المسار كاملًا لا الجواب فقط</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/shopify-webhooks-durable-inbox-reconciliation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/shopify-webhooks-durable-inbox-reconciliation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/shopify-webhooks-durable-inbox-reconciliation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/shopify-webhooks-durable-inbox-reconciliation/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/shopify-webhooks-durable-inbox-reconciliation-social.jpg</image:loc><image:title>Shopify Webhooks الموثوقة: صندوق دائم ومطابقة الحالة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-delivery-promises-cutoff-calendar/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-delivery-promises-cutoff-calendar/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-delivery-promises-cutoff-calendar/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-delivery-promises-cutoff-calendar/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-delivery-promises-cutoff-calendar-social.jpg</image:loc><image:title>وعود توصيل موثوقة في سلة: المواعيد والتقويم والمناطق</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-oauth-refresh-token-rotation-race/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-oauth-refresh-token-rotation-race/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-oauth-refresh-token-rotation-race/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-oauth-refresh-token-rotation-race/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-oauth-refresh-token-rotation-race-social.jpg</image:loc><image:title>Refresh Tokens في سلة: تدوير واحد وتعافٍ آمن</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/qdrant-hybrid-search-production-fusion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-hybrid-search-production-fusion/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-hybrid-search-production-fusion/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-hybrid-search-production-fusion/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-hybrid-search-production-fusion-social.jpg</image:loc><image:title>Hybrid Search في Qdrant: المعنى والكلمات وعزل العملاء</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/claude-prompt-caching-production-prefixes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-prompt-caching-production-prefixes/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-prompt-caching-production-prefixes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-prompt-caching-production-prefixes/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-prompt-caching-production-prefixes-social.jpg</image:loc><image:title>Prompt Caching في Claude: بادئات ثابتة تصيب الكاش فعلًا</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/kubernetes-rollout-readiness-draining-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-rollout-readiness-draining-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-rollout-readiness-draining-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-rollout-readiness-draining-contract/"/><lastmod>2026-10-04</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-rollout-readiness-draining-contract-social.jpg</image:loc><image:title>نشر آمن في Kubernetes: الجاهزية والتصريف وحدود PDB</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/saudi-post-quantum-crypto-inventory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saudi-post-quantum-crypto-inventory/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saudi-post-quantum-crypto-inventory/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saudi-post-quantum-crypto-inventory/"/><lastmod>2026-10-03</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saudi-post-quantum-crypto-inventory-social.jpg</image:loc><image:title>ابنِ جردًا تشفيريًا للاستعداد لما بعد الكم في السعودية</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/cloudflare-k2-object-storage-event-streams/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/cloudflare-k2-object-storage-event-streams/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/cloudflare-k2-object-storage-event-streams/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/cloudflare-k2-object-storage-event-streams/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/cloudflare-k2-object-storage-event-streams-social.jpg</image:loc><image:title>Cloudflare K2 يغيّر مقايضات تدفق الأحداث</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/user-journey-slo-product-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/user-journey-slo-product-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/user-journey-slo-product-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/user-journey-slo-product-engineering/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/user-journey-slo-product-engineering-social.jpg</image:loc><image:title>قِس الموثوقية عند رحلة المستخدم لا عند الخادم</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-storefront-event-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-storefront-event-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-storefront-event-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-storefront-event-contract/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-storefront-event-contract-social.jpg</image:loc><image:title>تحليلات واجهة زد: ابنِ عقد أحداث يمكن الوثوق به</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/claude-sonnet-5-5-production-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-sonnet-5-5-production-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-sonnet-5-5-production-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-sonnet-5-5-production-routing/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-sonnet-5-5-production-routing-social.jpg</image:loc><image:title>Claude Sonnet 5.5: رحّل سير العمل لا اسم النموذج</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/onboarding-first-value-path/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/onboarding-first-value-path/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/onboarding-first-value-path/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/onboarding-first-value-path/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/onboarding-first-value-path-social.jpg</image:loc><image:title>صمّم Onboarding حول أول لحظة قيمة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-product-variant-schema-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-product-variant-schema-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-product-variant-schema-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-product-variant-schema-migration/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-product-variant-schema-migration-social.jpg</image:loc><image:title>متغيرات منتجات سلة: رحّل المخطط لا الصفوف</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/openai-dots-durable-agent-supervision/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-dots-durable-agent-supervision/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-dots-durable-agent-supervision/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-dots-durable-agent-supervision/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-dots-durable-agent-supervision-social.jpg</image:loc><image:title>OpenAI Dots تحتاج إشرافًا دائمًا على الوكلاء</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/product-opportunity-prioritization-evidence/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/product-opportunity-prioritization-evidence/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/product-opportunity-prioritization-evidence/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/product-opportunity-prioritization-evidence/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/product-opportunity-prioritization-evidence-social.jpg</image:loc><image:title>رتّب فرص المنتج قبل الحلول</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-ai-agent-skill-mcp-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-ai-agent-skill-mcp-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-ai-agent-skill-mcp-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-ai-agent-skill-mcp-architecture/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-ai-agent-skill-mcp-architecture-social.jpg</image:loc><image:title>Zid AI Agent Skill وMCP: مسار موثّق لبناء التكاملات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/openai-agents-api-computer-use-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-agents-api-computer-use-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-agents-api-computer-use-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-agents-api-computer-use-architecture/"/><lastmod>2026-10-01</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-agents-api-computer-use-architecture-social.jpg</image:loc><image:title>Computer Use في OpenAI Agents API يحتاج معمارية ثقة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/claude-opus-5-5-production-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-opus-5-5-production-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-opus-5-5-production-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-opus-5-5-production-migration/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-opus-5-5-production-migration-social.jpg</image:loc><image:title>Claude Opus 5.5: الترحيل الإنتاجي أكبر من تبديل اسم النموذج</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/portable-ai-evaluation-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/portable-ai-evaluation-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/portable-ai-evaluation-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/portable-ai-evaluation-contract/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/portable-ai-evaluation-contract-social.jpg</image:loc><image:title>تقييمات AI تحتاج عقد منتج قابلًا للنقل</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-customer-groups-checkout-policy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-customer-groups-checkout-policy/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-customer-groups-checkout-policy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-customer-groups-checkout-policy/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-customer-groups-checkout-policy-social.jpg</image:loc><image:title>حوّل مجموعات عملاء سلة إلى سياسة للـCheckout</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/accessible-reordering-beyond-drag-and-drop/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/accessible-reordering-beyond-drag-and-drop/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/accessible-reordering-beyond-drag-and-drop/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/accessible-reordering-beyond-drag-and-drop/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/accessible-reordering-beyond-drag-and-drop-social.jpg</image:loc><image:title>السحب والإفلات يحتاج مسارًا ثانيًا</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gpt-6-1-sol-developer-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-1-sol-developer-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-1-sol-developer-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-1-sol-developer-migration/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-1-sol-developer-migration-social.jpg</image:loc><image:title>GPT-6.1 Sol: ما الذي يجب اختباره قبل الترحيل؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-api-budget-fair-queues/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-api-budget-fair-queues/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-api-budget-fair-queues/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-api-budget-fair-queues/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-api-budget-fair-queues-social.jpg</image:loc><image:title>حدود طلبات سلة: طوابير عادلة قبل زيادة العمال</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/feature-flag-product-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/feature-flag-product-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/feature-flag-product-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/feature-flag-product-contract/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/feature-flag-product-contract-social.jpg</image:loc><image:title>Feature Flags تحتاج خطة خروج، لا مجرد مفتاح تشغيل</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-reverse-order-refund-control/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-reverse-order-refund-control/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-reverse-order-refund-control/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-reverse-order-refund-control/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-reverse-order-refund-control-social.jpg</image:loc><image:title>مرتجعات زد: افصل اعتماد الإرجاع عن تنفيذ الاسترداد</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/checkout-error-recovery-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/checkout-error-recovery-design/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/checkout-error-recovery-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/checkout-error-recovery-design/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/checkout-error-recovery-design-social.jpg</image:loc><image:title>أخطاء Checkout: صمّم مسار تعافٍ لا طريقًا مسدودًا</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/opentelemetry-tail-sampling-capacity/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/opentelemetry-tail-sampling-capacity/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/opentelemetry-tail-sampling-capacity/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/opentelemetry-tail-sampling-capacity/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/opentelemetry-tail-sampling-capacity-social.jpg</image:loc><image:title>Tail Sampling في OpenTelemetry: احتفظ بالدليل دون إغراق الـCollectors</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-shipment-state-machine/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-shipment-state-machine/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-shipment-state-machine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-shipment-state-machine/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-shipment-state-machine-social.jpg</image:loc><image:title>شحنات سلة: ابنِ آلة حالات قابلة للتعافي</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/product-experiment-decision-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/product-experiment-decision-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/product-experiment-decision-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/product-experiment-decision-contract/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/product-experiment-decision-contract-social.jpg</image:loc><image:title>تجارب المنتج تحتاج عقد قرار قبل الإطلاق</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/kubernetes-inference-aware-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-inference-aware-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-inference-aware-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-inference-aware-routing/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-inference-aware-routing-social.jpg</image:loc><image:title>توجيه الاستدلال في Kubernetes: وازن التوكنز لا الطلبات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-payment-reconciliation-ledger/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-payment-reconciliation-ledger/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-payment-reconciliation-ledger/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-payment-reconciliation-ledger/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-payment-reconciliation-ledger-social.jpg</image:loc><image:title>مطابقة مدفوعات سلة: الطلب ليس دفتر معاملات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/postgresql-logical-replication-drift/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-logical-replication-drift/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-logical-replication-drift/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-logical-replication-drift/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-logical-replication-drift-social.jpg</image:loc><image:title>النسخ المنطقي في PostgreSQL: راقب الانحراف لا التأخر فقط</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-abandoned-cart-recovery-pipeline/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-abandoned-cart-recovery-pipeline/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-abandoned-cart-recovery-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-abandoned-cart-recovery-pipeline/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-abandoned-cart-recovery-pipeline-social.jpg</image:loc><image:title>سلات سلة المتروكة: ابنِ مسار استعادة يعرف متى يتوقف</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gemini-3-8-live-voice-agent-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gemini-3-8-live-voice-agent-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gemini-3-8-live-voice-agent-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gemini-3-8-live-voice-agent-architecture/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gemini-3-8-live-voice-agent-architecture-social.jpg</image:loc><image:title>وكلاء Gemini 3.8 Live: صمّم الجلسة لا الـPrompt فقط</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-bulk-coupon-campaign-safety/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-bulk-coupon-campaign-safety/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-bulk-coupon-campaign-safety/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-bulk-coupon-campaign-safety/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-bulk-coupon-campaign-safety-social.jpg</image:loc><image:title>قسائم زد الجماعية: صمّم الحملة قبل توليد الأكواد</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-loyalty-ledger-integration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-loyalty-ledger-integration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-loyalty-ledger-integration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-loyalty-ledger-integration/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-loyalty-ledger-integration-social.jpg</image:loc><image:title>تكامل نقاط الولاء في زد: ابنِ حول السجل لا الرصيد</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/kubernetes-api-priority-fairness/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-api-priority-fairness/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-api-priority-fairness/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-api-priority-fairness/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-api-priority-fairness-social.jpg</image:loc><image:title>Kubernetes API Priority and Fairness: اعزل الـControllers المزعجة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-app-functions-sync-async/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-app-functions-sync-async/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-app-functions-sync-async/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-app-functions-sync-async/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-app-functions-sync-async-social.jpg</image:loc><image:title>Salla App Functions: اختر حدّ التنفيذ الصحيح</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/durable-ai-agent-execution/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/durable-ai-agent-execution/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/durable-ai-agent-execution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/durable-ai-agent-execution/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/durable-ai-agent-execution-social.jpg</image:loc><image:title>وكلاء AI الدائمون: نقاط الحفظ وحدها لا تكفي</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-light-order-contract-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-light-order-contract-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-light-order-contract-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-light-order-contract-migration/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-light-order-contract-migration-social.jpg</image:loc><image:title>عقد طلبات سلة الخفيف: رحّل التكامل دون فقد بيانات التنفيذ</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/postgresql-19-beta-4-production-readiness/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-19-beta-4-production-readiness/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-19-beta-4-production-readiness/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-19-beta-4-production-readiness/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-19-beta-4-production-readiness-social.jpg</image:loc><image:title>PostgreSQL 19 Beta 4: اختبر الترقية لا قائمة الميزات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/zid-multi-location-inventory-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-multi-location-inventory-sync/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-multi-location-inventory-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-multi-location-inventory-sync/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-multi-location-inventory-sync-social.jpg</image:loc><image:title>مخزون زد متعدد المواقع: اختر حدود الدفعة الصحيحة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/google-cloud-x5-48tb-memory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/google-cloud-x5-48tb-memory/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/google-cloud-x5-48tb-memory/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/google-cloud-x5-48tb-memory/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/google-cloud-x5-48tb-memory-social.jpg</image:loc><image:title>Google Cloud X5 تصل إلى 48 تيرابايت: متى يستحق Scale-up كلفته؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-erp-inventory-sync-audit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-erp-inventory-sync-audit/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-erp-inventory-sync-audit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-erp-inventory-sync-audit/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-erp-inventory-sync-audit-social.jpg</image:loc><image:title>مزامنة مخزون سلة مع ERP: اجعل كل حركة قابلة للتدقيق</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/gke-512-pods-per-node/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gke-512-pods-per-node/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gke-512-pods-per-node/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gke-512-pods-per-node/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gke-512-pods-per-node-social.jpg</image:loc><image:title>GKE يرفع الحد إلى 512 Pod لكل عقدة: هل ينبغي استخدامه؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-conditional-webhooks-rules/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-conditional-webhooks-rules/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-conditional-webhooks-rules/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-conditional-webhooks-rules/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-conditional-webhooks-rules-social.jpg</image:loc><image:title>Conditional Webhooks في سلة: صفِّ الأحداث قبل وصولها إلى تطبيقك</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/alloydb-agentic-database-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/alloydb-agentic-database-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/alloydb-agentic-database-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/alloydb-agentic-database-architecture/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/alloydb-agentic-database-architecture-social.jpg</image:loc><image:title>AlloyDB لوكلاء الذكاء الاصطناعي: بيانات حية دون مشاركة موارد الإنتاج</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/salla-zid-webhook-recovery/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-zid-webhook-recovery/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-zid-webhook-recovery/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-zid-webhook-recovery/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-zid-webhook-recovery-social.jpg</image:loc><image:title>Webhooks سلة وزد: كيف تبني مزامنة طلبات تتحمل الأحداث المفقودة؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/cloudflare-containers-storage-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/cloudflare-containers-storage-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/cloudflare-containers-storage-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/cloudflare-containers-storage-isolation/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/cloudflare-containers-storage-isolation-social.jpg</image:loc><image:title>حاويات Cloudflare: لماذا لا يكفي عزل التنفيذ لحماية بيانات العملاء؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/github-copilot-default-feature-policy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/github-copilot-default-feature-policy/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/github-copilot-default-feature-policy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/github-copilot-default-feature-policy/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/github-copilot-default-feature-policy-social.jpg</image:loc><image:title>سياسة GitHub Copilot الافتراضية الجديدة: ما الذي يجب على المؤسسات مراجعته؟</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/github-proof-of-presence-enterprise-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/github-proof-of-presence-enterprise-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/github-proof-of-presence-enterprise-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/github-proof-of-presence-enterprise-security/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/github-proof-of-presence-enterprise-security-social.jpg</image:loc><image:title>إثبات الحضور في GitHub: تحقق جديد قبل العمليات الحساسة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/postgresql-tenant-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-tenant-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-tenant-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-tenant-isolation/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-tenant-isolation-social.jpg</image:loc><image:title>عزل بيانات العملاء في PostgreSQL باستخدام RLS</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/rag-retrieval-quality/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/rag-retrieval-quality/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/rag-retrieval-quality/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/rag-retrieval-quality/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/rag-retrieval-quality-social.jpg</image:loc><image:title>كيف تقيس جودة RAG قبل تغيير نموذج الذكاء الاصطناعي</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/reliable-webhook-processing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/reliable-webhook-processing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/reliable-webhook-processing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/reliable-webhook-processing/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/reliable-webhook-processing-social.jpg</image:loc><image:title>تصميم Webhooks تتحمّل التكرار والتأخير وإعادة المحاولة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/laravel-queues-production/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/laravel-queues-production/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/laravel-queues-production/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/laravel-queues-production/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/laravel-queues-production-social.jpg</image:loc><image:title>Laravel Queues: إعادة المحاولة والمعاملات وتنفيذ المهام بأمان</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/postgresql-indexes-from-query/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-indexes-from-query/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-indexes-from-query/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-indexes-from-query/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-indexes-from-query-social.jpg</image:loc><image:title>كيف تختار فهارس PostgreSQL بناءً على الاستعلام الفعلي</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/redis-cache-invalidation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/redis-cache-invalidation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/redis-cache-invalidation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/redis-cache-invalidation/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/redis-cache-invalidation-social.jpg</image:loc><image:title>التخزين المؤقت في Redis: الصلاحية والعزل وإبطال الكاش</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/modular-monolith-boundaries/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/modular-monolith-boundaries/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/modular-monolith-boundaries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/modular-monolith-boundaries/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/modular-monolith-boundaries-social.jpg</image:loc><image:title>Modular Monolith قبل Microservices: كيف ترسم حدودًا واضحة</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/saas-custom-domains/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saas-custom-domains/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saas-custom-domains/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saas-custom-domains/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saas-custom-domains-social.jpg</image:loc><image:title>الدومينات المخصّصة في SaaS: الملكية والتوجيه وشهادات TLS</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/backend-observability/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/backend-observability/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/backend-observability/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/backend-observability/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/backend-observability-social.jpg</image:loc><image:title>مراقبة الأنظمة الخلفية: تتبّع عملية المستخدم عبر الخدمات</image:title></image:image></url><url><loc>https://nooryasser.com/ar/articles/api-contracts-pagination-errors/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/api-contracts-pagination-errors/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/api-contracts-pagination-errors/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/api-contracts-pagination-errors/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/api-contracts-pagination-errors-social.jpg</image:loc><image:title>تصميم عقود API واضحة تتحمّل التكاملات الفعلية</image:title></image:image></url><url><loc>https://nooryasser.com/ar/work/murshid/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/murshid/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/murshid/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/murshid/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/member-plus/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/member-plus/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/member-plus/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/member-plus/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/ai-action-studio/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/ai-action-studio/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/ai-action-studio/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/ai-action-studio/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/logistics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/logistics/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/logistics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/logistics/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/hadir/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/hadir/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/hadir/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/hadir/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/zeedly/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/zeedly/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/zeedly/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/zeedly/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/sada/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/sada/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/sada/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/sada/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/rentoor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/rentoor/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/rentoor/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/rentoor/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/whatsapp-hero/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/whatsapp-hero/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/whatsapp-hero/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/whatsapp-hero/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/socpa-hackathon/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/socpa-hackathon/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/socpa-hackathon/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/socpa-hackathon/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/circuits/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/circuits/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/circuits/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/circuits/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/cisco-icm/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/cisco-icm/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/cisco-icm/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/cisco-icm/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/saba-brelvi/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/saba-brelvi/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/saba-brelvi/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/saba-brelvi/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/ar/work/taz-charity/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/taz-charity/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/taz-charity/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/taz-charity/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/work/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/skills/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/skills/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/skills/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/skills/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/about/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/about/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/about/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/contact/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/contact/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/contact/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/contact/"/><lastmod>2026-10-07T21:04:21+03:00</lastmod></url><url><loc>https://nooryasser.com/book/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/book/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/book/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/book/"/><lastmod>2026-10-01T03:53:43-04:00</lastmod></url><url><loc>https://nooryasser.com/services/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/ai-rag-vector-search/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/ai-rag-vector-search/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/ai-rag-vector-search/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/ai-rag-vector-search/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/cloud-devops-kubernetes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/cloud-devops-kubernetes/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/cloud-devops-kubernetes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/cloud-devops-kubernetes/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/ecommerce-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/ecommerce-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/ecommerce-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/ecommerce-engineering/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/api-saas-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/api-saas-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/api-saas-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/api-saas-architecture/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/topics/product-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/topics/product-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/topics/product-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/topics/product-engineering/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/services/saas-products/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/saas-products/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/saas-products/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/saas-products/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/services/backend-apis/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/backend-apis/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/backend-apis/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/backend-apis/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/services/salla-zid/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/salla-zid/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/salla-zid/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/salla-zid/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/services/applied-ai/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/applied-ai/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/applied-ai/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/applied-ai/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/services/performance-cloud/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/performance-cloud/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/performance-cloud/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/performance-cloud/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/services/websites-portfolios/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/services/websites-portfolios/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/services/websites-portfolios/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/services/websites-portfolios/"/><lastmod>2026-09-27T15:32:10+03:00</lastmod></url><url><loc>https://nooryasser.com/articles/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/"/><lastmod>2026-10-07T20:31:05+03:00</lastmod></url><url><loc>https://nooryasser.com/articles/page/2/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/2/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/2/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/2/"/><lastmod>2026-10-05</lastmod></url><url><loc>https://nooryasser.com/articles/page/3/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/3/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/3/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/3/"/><lastmod>2026-10-05</lastmod></url><url><loc>https://nooryasser.com/articles/page/4/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/4/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/4/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/4/"/><lastmod>2026-10-02</lastmod></url><url><loc>https://nooryasser.com/articles/page/5/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/5/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/5/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/5/"/><lastmod>2026-09-29</lastmod></url><url><loc>https://nooryasser.com/articles/page/6/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/6/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/6/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/6/"/><lastmod>2026-09-27</lastmod></url><url><loc>https://nooryasser.com/articles/page/7/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/page/7/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/page/7/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/page/7/"/><lastmod>2026-09-25</lastmod></url><url><loc>https://nooryasser.com/articles/salla-webhook-endpoint-rotation-cutover/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-webhook-endpoint-rotation-cutover/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-webhook-endpoint-rotation-cutover/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-webhook-endpoint-rotation-cutover/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-webhook-endpoint-rotation-cutover-social.jpg</image:loc><image:title>Salla webhook rotation: change endpoints without losing events</image:title></image:image></url><url><loc>https://nooryasser.com/articles/qdrant-multitenancy-payload-idf-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-multitenancy-payload-idf-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-multitenancy-payload-idf-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-multitenancy-payload-idf-isolation/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-multitenancy-payload-idf-isolation-social.jpg</image:loc><image:title>Qdrant multitenancy: isolate retrieval, scoring and storage</image:title></image:image></url><url><loc>https://nooryasser.com/articles/anthropic-cyber-verification-program-security-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/anthropic-cyber-verification-program-security-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/anthropic-cyber-verification-program-security-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/anthropic-cyber-verification-program-security-architecture/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/anthropic-cyber-verification-program-security-architecture-social.jpg</image:loc><image:title>Anthropic CVP: reduced cyber blocks need stronger architecture</image:title></image:image></url><url><loc>https://nooryasser.com/articles/openai-decisions-api-production-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-decisions-api-production-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-decisions-api-production-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-decisions-api-production-architecture/"/><lastmod>2026-10-07</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-decisions-api-production-architecture-social.jpg</image:loc><image:title>OpenAI Decisions API: build a decision system, not a magic threshold</image:title></image:image></url><url><loc>https://nooryasser.com/articles/qdrant-embedding-model-migration-zero-downtime/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-embedding-model-migration-zero-downtime/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-embedding-model-migration-zero-downtime/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-embedding-model-migration-zero-downtime/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-embedding-model-migration-zero-downtime-social.jpg</image:loc><image:title>Migrate embeddings in Qdrant without breaking search</image:title></image:image></url><url><loc>https://nooryasser.com/articles/anthropic-models-api-line-model-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/anthropic-models-api-line-model-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/anthropic-models-api-line-model-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/anthropic-models-api-line-model-routing/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/anthropic-models-api-line-model-routing-social.jpg</image:loc><image:title>Anthropic Models API `line`: stop parsing model IDs</image:title></image:image></url><url><loc>https://nooryasser.com/articles/openai-textgrain-watermarking-provenance-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-textgrain-watermarking-provenance-api/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-textgrain-watermarking-provenance-api/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-textgrain-watermarking-provenance-api/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-textgrain-watermarking-provenance-api-social.jpg</image:loc><image:title>OpenAI textGrain: what text watermarking can—and cannot—prove</image:title></image:image></url><url><loc>https://nooryasser.com/articles/transactional-outbox-dual-write-cdc-polling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/transactional-outbox-dual-write-cdc-polling/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/transactional-outbox-dual-write-cdc-polling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/transactional-outbox-dual-write-cdc-polling/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/transactional-outbox-dual-write-cdc-polling-social.jpg</image:loc><image:title>Transactional Outbox: fix dual writes without pretending they are atomic</image:title></image:image></url><url><loc>https://nooryasser.com/articles/kubernetes-topology-spread-multi-zone-scheduling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-topology-spread-multi-zone-scheduling/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-topology-spread-multi-zone-scheduling-social.jpg</image:loc><image:title>Kubernetes topology spread: schedule for zone failures, not averages</image:title></image:image></url><url><loc>https://nooryasser.com/articles/docker-runtime-hardening-rootless-seccomp-capabilities/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/docker-runtime-hardening-rootless-seccomp-capabilities/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/docker-runtime-hardening-rootless-seccomp-capabilities-social.jpg</image:loc><image:title>Docker runtime hardening: rootless, seccomp and least privilege</image:title></image:image></url><url><loc>https://nooryasser.com/articles/rag-pdf-layout-aware-chunking/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/rag-pdf-layout-aware-chunking/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/rag-pdf-layout-aware-chunking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/rag-pdf-layout-aware-chunking/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/rag-pdf-layout-aware-chunking-social.jpg</image:loc><image:title>RAG chunking for complex PDFs: preserve structure, tables and context</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gemini-3-8-tts-voice-api-production/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gemini-3-8-tts-voice-api-production/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gemini-3-8-tts-voice-api-production/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gemini-3-8-tts-voice-api-production/"/><lastmod>2026-10-06</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gemini-3-8-tts-voice-api-production-social.jpg</image:loc><image:title>Gemini 3.8 TTS in production: voices, streaming and consent</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gpt-6-async-tools-mid-turn-steering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-async-tools-mid-turn-steering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-async-tools-mid-turn-steering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-async-tools-mid-turn-steering/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-async-tools-mid-turn-steering-social.jpg</image:loc><image:title>GPT-6 agent loops: async tools, steering and safe recovery</image:title></image:image></url><url><loc>https://nooryasser.com/articles/openai-ultrafast-mode-latency-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-ultrafast-mode-latency-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-ultrafast-mode-latency-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-ultrafast-mode-latency-architecture/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-ultrafast-mode-latency-architecture-social.jpg</image:loc><image:title>OpenAI Ultrafast mode: engineer latency, not just token speed</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gpt-6-1-sol-production-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-1-sol-production-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-1-sol-production-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-1-sol-production-routing/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-1-sol-production-routing-social.jpg</image:loc><image:title>GPT-6.1 Sol in production: route by evidence, not hype</image:title></image:image></url><url><loc>https://nooryasser.com/articles/docker-buildkit-cache-secrets-provenance/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/docker-buildkit-cache-secrets-provenance/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/docker-buildkit-cache-secrets-provenance/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/docker-buildkit-cache-secrets-provenance/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/docker-buildkit-cache-secrets-provenance-social.jpg</image:loc><image:title>Secure Docker builds: fast caches without leaked secrets</image:title></image:image></url><url><loc>https://nooryasser.com/articles/shopify-bundles-cart-transform-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/shopify-bundles-cart-transform-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/shopify-bundles-cart-transform-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/shopify-bundles-cart-transform-contract/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/shopify-bundles-cart-transform-contract-social.jpg</image:loc><image:title>Shopify bundles: design the cart transform contract</image:title></image:image></url><url><loc>https://nooryasser.com/articles/claude-code-mods-event-middleware-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-code-mods-event-middleware-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-code-mods-event-middleware-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-code-mods-event-middleware-security/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-code-mods-event-middleware-security-social.jpg</image:loc><image:title>Claude Code Mods: event middleware for safer AI coding</image:title></image:image></url><url><loc>https://nooryasser.com/articles/production-rag-pipeline-chunking-qdrant-reranking/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/production-rag-pipeline-chunking-qdrant-reranking/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/production-rag-pipeline-chunking-qdrant-reranking-social.jpg</image:loc><image:title>Production RAG: from chunks to grounded LLM answers</image:title></image:image></url><url><loc>https://nooryasser.com/articles/saas-tenant-context-propagation-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saas-tenant-context-propagation-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saas-tenant-context-propagation-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saas-tenant-context-propagation-security/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saas-tenant-context-propagation-security-social.jpg</image:loc><image:title>SaaS tenant context: propagate identity without data leaks</image:title></image:image></url><url><loc>https://nooryasser.com/articles/kubernetes-resource-requests-limits-rightsizing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-resource-requests-limits-rightsizing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-resource-requests-limits-rightsizing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-resource-requests-limits-rightsizing/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-resource-requests-limits-rightsizing-social.jpg</image:loc><image:title>Kubernetes requests and limits: capacity without throttling or OOM</image:title></image:image></url><url><loc>https://nooryasser.com/articles/postgresql-pgbouncer-admission-control/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-pgbouncer-admission-control/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-pgbouncer-admission-control/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-pgbouncer-admission-control/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-pgbouncer-admission-control-social.jpg</image:loc><image:title>PostgreSQL connection pooling: protect capacity with PgBouncer</image:title></image:image></url><url><loc>https://nooryasser.com/articles/mcp-tool-use-agent-evaluation-traces/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/mcp-tool-use-agent-evaluation-traces/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/mcp-tool-use-agent-evaluation-traces/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/mcp-tool-use-agent-evaluation-traces/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/mcp-tool-use-agent-evaluation-traces-social.jpg</image:loc><image:title>Evaluate MCP tool-using agents: score the whole trajectory</image:title></image:image></url><url><loc>https://nooryasser.com/articles/shopify-webhooks-durable-inbox-reconciliation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/shopify-webhooks-durable-inbox-reconciliation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/shopify-webhooks-durable-inbox-reconciliation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/shopify-webhooks-durable-inbox-reconciliation/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/shopify-webhooks-durable-inbox-reconciliation-social.jpg</image:loc><image:title>Reliable Shopify webhooks: durable inbox and reconciliation</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-delivery-promises-cutoff-calendar/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-delivery-promises-cutoff-calendar/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-delivery-promises-cutoff-calendar/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-delivery-promises-cutoff-calendar/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-delivery-promises-cutoff-calendar-social.jpg</image:loc><image:title>Reliable Salla delivery promises: cutoffs, calendars and zones</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-oauth-refresh-token-rotation-race/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-oauth-refresh-token-rotation-race/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-oauth-refresh-token-rotation-race/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-oauth-refresh-token-rotation-race/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-oauth-refresh-token-rotation-race-social.jpg</image:loc><image:title>Salla OAuth refresh tokens: rotate once, recover safely</image:title></image:image></url><url><loc>https://nooryasser.com/articles/qdrant-hybrid-search-production-fusion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/qdrant-hybrid-search-production-fusion/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/qdrant-hybrid-search-production-fusion/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/qdrant-hybrid-search-production-fusion/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/qdrant-hybrid-search-production-fusion-social.jpg</image:loc><image:title>Qdrant hybrid search: fuse meaning, terms and tenant scope</image:title></image:image></url><url><loc>https://nooryasser.com/articles/claude-prompt-caching-production-prefixes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-prompt-caching-production-prefixes/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-prompt-caching-production-prefixes/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-prompt-caching-production-prefixes/"/><lastmod>2026-10-05</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-prompt-caching-production-prefixes-social.jpg</image:loc><image:title>Claude prompt caching: stable prefixes that actually hit</image:title></image:image></url><url><loc>https://nooryasser.com/articles/kubernetes-rollout-readiness-draining-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-rollout-readiness-draining-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-rollout-readiness-draining-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-rollout-readiness-draining-contract/"/><lastmod>2026-10-04</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-rollout-readiness-draining-contract-social.jpg</image:loc><image:title>Safe Kubernetes rollouts: readiness, draining and PDB limits</image:title></image:image></url><url><loc>https://nooryasser.com/articles/saudi-post-quantum-crypto-inventory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saudi-post-quantum-crypto-inventory/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saudi-post-quantum-crypto-inventory/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saudi-post-quantum-crypto-inventory/"/><lastmod>2026-10-03</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saudi-post-quantum-crypto-inventory-social.jpg</image:loc><image:title>Build a cryptographic inventory for Saudi post-quantum readiness</image:title></image:image></url><url><loc>https://nooryasser.com/articles/cloudflare-k2-object-storage-event-streams/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/cloudflare-k2-object-storage-event-streams/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/cloudflare-k2-object-storage-event-streams/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/cloudflare-k2-object-storage-event-streams/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/cloudflare-k2-object-storage-event-streams-social.jpg</image:loc><image:title>Cloudflare K2 changes the trade-offs of event streaming</image:title></image:image></url><url><loc>https://nooryasser.com/articles/user-journey-slo-product-engineering/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/user-journey-slo-product-engineering/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/user-journey-slo-product-engineering/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/user-journey-slo-product-engineering/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/user-journey-slo-product-engineering-social.jpg</image:loc><image:title>Measure reliability at the user journey, not the server</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-storefront-event-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-storefront-event-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-storefront-event-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-storefront-event-contract/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-storefront-event-contract-social.jpg</image:loc><image:title>Zid storefront analytics: build an event contract you can trust</image:title></image:image></url><url><loc>https://nooryasser.com/articles/claude-sonnet-5-5-production-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-sonnet-5-5-production-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-sonnet-5-5-production-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-sonnet-5-5-production-routing/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-sonnet-5-5-production-routing-social.jpg</image:loc><image:title>Claude Sonnet 5.5: migrate the workflow, not just the model</image:title></image:image></url><url><loc>https://nooryasser.com/articles/onboarding-first-value-path/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/onboarding-first-value-path/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/onboarding-first-value-path/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/onboarding-first-value-path/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/onboarding-first-value-path-social.jpg</image:loc><image:title>Design onboarding around the first value moment</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-product-variant-schema-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-product-variant-schema-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-product-variant-schema-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-product-variant-schema-migration/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-product-variant-schema-migration-social.jpg</image:loc><image:title>Salla product variants: migrate the schema, not rows</image:title></image:image></url><url><loc>https://nooryasser.com/articles/openai-dots-durable-agent-supervision/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-dots-durable-agent-supervision/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-dots-durable-agent-supervision/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-dots-durable-agent-supervision/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-dots-durable-agent-supervision-social.jpg</image:loc><image:title>OpenAI Dots need durable agent supervision</image:title></image:image></url><url><loc>https://nooryasser.com/articles/product-opportunity-prioritization-evidence/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/product-opportunity-prioritization-evidence/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/product-opportunity-prioritization-evidence/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/product-opportunity-prioritization-evidence/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/product-opportunity-prioritization-evidence-social.jpg</image:loc><image:title>Prioritize product opportunities before solutions</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-ai-agent-skill-mcp-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-ai-agent-skill-mcp-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-ai-agent-skill-mcp-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-ai-agent-skill-mcp-architecture/"/><lastmod>2026-10-02</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-ai-agent-skill-mcp-architecture-social.jpg</image:loc><image:title>Zid AI Agent Skill and MCP: a verified integration workflow</image:title></image:image></url><url><loc>https://nooryasser.com/articles/openai-agents-api-computer-use-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/openai-agents-api-computer-use-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/openai-agents-api-computer-use-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/openai-agents-api-computer-use-architecture/"/><lastmod>2026-10-01</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/openai-agents-api-computer-use-architecture-social.jpg</image:loc><image:title>OpenAI Agents API computer use needs a trust architecture</image:title></image:image></url><url><loc>https://nooryasser.com/articles/claude-opus-5-5-production-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/claude-opus-5-5-production-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/claude-opus-5-5-production-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/claude-opus-5-5-production-migration/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/claude-opus-5-5-production-migration-social.jpg</image:loc><image:title>Claude Opus 5.5: the production migration is more than a model swap</image:title></image:image></url><url><loc>https://nooryasser.com/articles/portable-ai-evaluation-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/portable-ai-evaluation-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/portable-ai-evaluation-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/portable-ai-evaluation-contract/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/portable-ai-evaluation-contract-social.jpg</image:loc><image:title>Your AI evals need a portable product contract</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-customer-groups-checkout-policy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-customer-groups-checkout-policy/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-customer-groups-checkout-policy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-customer-groups-checkout-policy/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-customer-groups-checkout-policy-social.jpg</image:loc><image:title>Treat Salla customer groups as checkout policy</image:title></image:image></url><url><loc>https://nooryasser.com/articles/accessible-reordering-beyond-drag-and-drop/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/accessible-reordering-beyond-drag-and-drop/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/accessible-reordering-beyond-drag-and-drop/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/accessible-reordering-beyond-drag-and-drop/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/accessible-reordering-beyond-drag-and-drop-social.jpg</image:loc><image:title>Drag-and-drop needs a second path</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gpt-6-1-sol-developer-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gpt-6-1-sol-developer-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gpt-6-1-sol-developer-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gpt-6-1-sol-developer-migration/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gpt-6-1-sol-developer-migration-social.jpg</image:loc><image:title>GPT-6.1 Sol: what developers should test before migrating</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-api-budget-fair-queues/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-api-budget-fair-queues/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-api-budget-fair-queues/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-api-budget-fair-queues/"/><lastmod>2026-09-30</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-api-budget-fair-queues-social.jpg</image:loc><image:title>Salla API limits: fair queues before more workers</image:title></image:image></url><url><loc>https://nooryasser.com/articles/feature-flag-product-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/feature-flag-product-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/feature-flag-product-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/feature-flag-product-contract/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/feature-flag-product-contract-social.jpg</image:loc><image:title>Feature flags need an exit plan, not just a toggle</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-reverse-order-refund-control/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-reverse-order-refund-control/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-reverse-order-refund-control/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-reverse-order-refund-control/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-reverse-order-refund-control-social.jpg</image:loc><image:title>Zid reverse orders: separate return approval from refund execution</image:title></image:image></url><url><loc>https://nooryasser.com/articles/checkout-error-recovery-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/checkout-error-recovery-design/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/checkout-error-recovery-design/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/checkout-error-recovery-design/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/checkout-error-recovery-design-social.jpg</image:loc><image:title>Checkout errors should offer a recovery path, not a dead end</image:title></image:image></url><url><loc>https://nooryasser.com/articles/opentelemetry-tail-sampling-capacity/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/opentelemetry-tail-sampling-capacity/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/opentelemetry-tail-sampling-capacity/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/opentelemetry-tail-sampling-capacity/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/opentelemetry-tail-sampling-capacity-social.jpg</image:loc><image:title>OpenTelemetry tail sampling: keep evidence without overloading Collectors</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-shipment-state-machine/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-shipment-state-machine/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-shipment-state-machine/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-shipment-state-machine/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-shipment-state-machine-social.jpg</image:loc><image:title>Salla shipments: build a state machine that can recover</image:title></image:image></url><url><loc>https://nooryasser.com/articles/product-experiment-decision-contract/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/product-experiment-decision-contract/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/product-experiment-decision-contract/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/product-experiment-decision-contract/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/product-experiment-decision-contract-social.jpg</image:loc><image:title>Product experiments need a decision contract</image:title></image:image></url><url><loc>https://nooryasser.com/articles/kubernetes-inference-aware-routing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-inference-aware-routing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-inference-aware-routing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-inference-aware-routing/"/><lastmod>2026-09-29</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-inference-aware-routing-social.jpg</image:loc><image:title>Kubernetes inference routing: balance tokens, not requests</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-payment-reconciliation-ledger/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-payment-reconciliation-ledger/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-payment-reconciliation-ledger/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-payment-reconciliation-ledger/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-payment-reconciliation-ledger-social.jpg</image:loc><image:title>Salla payment reconciliation: an order is not a ledger</image:title></image:image></url><url><loc>https://nooryasser.com/articles/postgresql-logical-replication-drift/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-logical-replication-drift/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-logical-replication-drift/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-logical-replication-drift/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-logical-replication-drift-social.jpg</image:loc><image:title>PostgreSQL logical replication: monitor drift, not just lag</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-abandoned-cart-recovery-pipeline/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-abandoned-cart-recovery-pipeline/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-abandoned-cart-recovery-pipeline/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-abandoned-cart-recovery-pipeline/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-abandoned-cart-recovery-pipeline-social.jpg</image:loc><image:title>Salla abandoned carts: build a recovery pipeline that knows when to stop</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gemini-3-8-live-voice-agent-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gemini-3-8-live-voice-agent-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gemini-3-8-live-voice-agent-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gemini-3-8-live-voice-agent-architecture/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gemini-3-8-live-voice-agent-architecture-social.jpg</image:loc><image:title>Gemini 3.8 Live agents: design the session, not just the prompt</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-bulk-coupon-campaign-safety/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-bulk-coupon-campaign-safety/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-bulk-coupon-campaign-safety/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-bulk-coupon-campaign-safety/"/><lastmod>2026-09-28</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-bulk-coupon-campaign-safety-social.jpg</image:loc><image:title>Zid bulk coupons: design the campaign before generating codes</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-loyalty-ledger-integration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-loyalty-ledger-integration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-loyalty-ledger-integration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-loyalty-ledger-integration/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-loyalty-ledger-integration-social.jpg</image:loc><image:title>Zid loyalty integrations: build around the ledger, not the balance</image:title></image:image></url><url><loc>https://nooryasser.com/articles/kubernetes-api-priority-fairness/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/kubernetes-api-priority-fairness/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/kubernetes-api-priority-fairness/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/kubernetes-api-priority-fairness/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/kubernetes-api-priority-fairness-social.jpg</image:loc><image:title>Kubernetes API Priority and Fairness: isolate noisy controllers</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-app-functions-sync-async/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-app-functions-sync-async/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-app-functions-sync-async/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-app-functions-sync-async/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-app-functions-sync-async-social.jpg</image:loc><image:title>Salla App Functions: choose the right execution boundary</image:title></image:image></url><url><loc>https://nooryasser.com/articles/durable-ai-agent-execution/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/durable-ai-agent-execution/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/durable-ai-agent-execution/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/durable-ai-agent-execution/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/durable-ai-agent-execution-social.jpg</image:loc><image:title>Durable AI agents: checkpoints are not enough</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-light-order-contract-migration/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-light-order-contract-migration/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-light-order-contract-migration/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-light-order-contract-migration/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-light-order-contract-migration-social.jpg</image:loc><image:title>Salla&apos;s light order contract: migrate without losing fulfillment data</image:title></image:image></url><url><loc>https://nooryasser.com/articles/postgresql-19-beta-4-production-readiness/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-19-beta-4-production-readiness/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-19-beta-4-production-readiness/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-19-beta-4-production-readiness/"/><lastmod>2026-09-27</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-19-beta-4-production-readiness-social.jpg</image:loc><image:title>PostgreSQL 19 Beta 4: test the upgrade, not the feature list</image:title></image:image></url><url><loc>https://nooryasser.com/articles/zid-multi-location-inventory-sync/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/zid-multi-location-inventory-sync/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/zid-multi-location-inventory-sync/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/zid-multi-location-inventory-sync/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/zid-multi-location-inventory-sync-social.jpg</image:loc><image:title>Zid multi-location inventory: choose the right batch boundary</image:title></image:image></url><url><loc>https://nooryasser.com/articles/google-cloud-x5-48tb-memory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/google-cloud-x5-48tb-memory/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/google-cloud-x5-48tb-memory/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/google-cloud-x5-48tb-memory/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/google-cloud-x5-48tb-memory-social.jpg</image:loc><image:title>Google Cloud X5 reaches 48 TB: when scale-up is worth the trade-offs</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-erp-inventory-sync-audit/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-erp-inventory-sync-audit/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-erp-inventory-sync-audit/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-erp-inventory-sync-audit/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-erp-inventory-sync-audit-social.jpg</image:loc><image:title>Salla and ERP inventory sync: make every stock movement auditable</image:title></image:image></url><url><loc>https://nooryasser.com/articles/gke-512-pods-per-node/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/gke-512-pods-per-node/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/gke-512-pods-per-node/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/gke-512-pods-per-node/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/gke-512-pods-per-node-social.jpg</image:loc><image:title>GKE raises the limit to 512 Pods per node—should you use it?</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-conditional-webhooks-rules/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-conditional-webhooks-rules/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-conditional-webhooks-rules/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-conditional-webhooks-rules/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-conditional-webhooks-rules-social.jpg</image:loc><image:title>Salla conditional webhooks: filter events before they reach your app</image:title></image:image></url><url><loc>https://nooryasser.com/articles/alloydb-agentic-database-architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/alloydb-agentic-database-architecture/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/alloydb-agentic-database-architecture/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/alloydb-agentic-database-architecture/"/><lastmod>2026-09-26</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/alloydb-agentic-database-architecture-social.jpg</image:loc><image:title>AlloyDB for AI agents: live data without sharing production compute</image:title></image:image></url><url><loc>https://nooryasser.com/articles/salla-zid-webhook-recovery/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/salla-zid-webhook-recovery/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/salla-zid-webhook-recovery/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/salla-zid-webhook-recovery/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/salla-zid-webhook-recovery-social.jpg</image:loc><image:title>Salla and Zid webhooks: order sync that survives missed events</image:title></image:image></url><url><loc>https://nooryasser.com/articles/cloudflare-containers-storage-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/cloudflare-containers-storage-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/cloudflare-containers-storage-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/cloudflare-containers-storage-isolation/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/cloudflare-containers-storage-isolation-social.jpg</image:loc><image:title>Cloudflare Containers: the storage boundary behind tenant isolation</image:title></image:image></url><url><loc>https://nooryasser.com/articles/github-copilot-default-feature-policy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/github-copilot-default-feature-policy/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/github-copilot-default-feature-policy/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/github-copilot-default-feature-policy/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/github-copilot-default-feature-policy-social.jpg</image:loc><image:title>GitHub Copilot’s new default feature policy: what enterprises must review</image:title></image:image></url><url><loc>https://nooryasser.com/articles/github-proof-of-presence-enterprise-security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/github-proof-of-presence-enterprise-security/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/github-proof-of-presence-enterprise-security/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/github-proof-of-presence-enterprise-security/"/><lastmod>2026-09-25</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/github-proof-of-presence-enterprise-security-social.jpg</image:loc><image:title>GitHub proof of presence: fresh identity checks for sensitive actions</image:title></image:image></url><url><loc>https://nooryasser.com/articles/postgresql-tenant-isolation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-tenant-isolation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-tenant-isolation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-tenant-isolation/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-tenant-isolation-social.jpg</image:loc><image:title>Tenant isolation with PostgreSQL Row-Level Security</image:title></image:image></url><url><loc>https://nooryasser.com/articles/rag-retrieval-quality/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/rag-retrieval-quality/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/rag-retrieval-quality/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/rag-retrieval-quality/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/rag-retrieval-quality-social.jpg</image:loc><image:title>How to evaluate a RAG pipeline before changing the model</image:title></image:image></url><url><loc>https://nooryasser.com/articles/reliable-webhook-processing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/reliable-webhook-processing/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/reliable-webhook-processing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/reliable-webhook-processing/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/reliable-webhook-processing-social.jpg</image:loc><image:title>Designing webhooks for duplicates, retries and delayed events</image:title></image:image></url><url><loc>https://nooryasser.com/articles/laravel-queues-production/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/laravel-queues-production/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/laravel-queues-production/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/laravel-queues-production/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/laravel-queues-production-social.jpg</image:loc><image:title>Laravel queues: retries, transactions and safe side effects</image:title></image:image></url><url><loc>https://nooryasser.com/articles/postgresql-indexes-from-query/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/postgresql-indexes-from-query/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/postgresql-indexes-from-query/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/postgresql-indexes-from-query/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/postgresql-indexes-from-query-social.jpg</image:loc><image:title>Choose PostgreSQL indexes from real query patterns</image:title></image:image></url><url><loc>https://nooryasser.com/articles/redis-cache-invalidation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/redis-cache-invalidation/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/redis-cache-invalidation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/redis-cache-invalidation/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/redis-cache-invalidation-social.jpg</image:loc><image:title>Redis caching: freshness, tenant keys and invalidation</image:title></image:image></url><url><loc>https://nooryasser.com/articles/modular-monolith-boundaries/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/modular-monolith-boundaries/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/modular-monolith-boundaries/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/modular-monolith-boundaries/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/modular-monolith-boundaries-social.jpg</image:loc><image:title>A modular monolith before microservices: defining real boundaries</image:title></image:image></url><url><loc>https://nooryasser.com/articles/saas-custom-domains/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/saas-custom-domains/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/saas-custom-domains/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/saas-custom-domains/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/saas-custom-domains-social.jpg</image:loc><image:title>Custom domains in SaaS: ownership, routing and TLS</image:title></image:image></url><url><loc>https://nooryasser.com/articles/backend-observability/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/backend-observability/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/backend-observability/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/backend-observability/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/backend-observability-social.jpg</image:loc><image:title>Backend observability: follow the user’s operation across services</image:title></image:image></url><url><loc>https://nooryasser.com/articles/api-contracts-pagination-errors/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/articles/api-contracts-pagination-errors/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/articles/api-contracts-pagination-errors/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/articles/api-contracts-pagination-errors/"/><lastmod>2026-09-24</lastmod><image:image><image:loc>https://nooryasser.com/assets/articles/api-contracts-pagination-errors-social.jpg</image:loc><image:title>Designing API contracts that survive real integrations</image:title></image:image></url><url><loc>https://nooryasser.com/work/murshid/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/murshid/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/murshid/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/murshid/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/member-plus/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/member-plus/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/member-plus/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/member-plus/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/ai-action-studio/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/ai-action-studio/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/ai-action-studio/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/ai-action-studio/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/logistics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/logistics/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/logistics/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/logistics/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/hadir/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/hadir/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/hadir/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/hadir/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/zeedly/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/zeedly/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/zeedly/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/zeedly/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/sada/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/sada/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/sada/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/sada/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/rentoor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/rentoor/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/rentoor/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/rentoor/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/whatsapp-hero/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/whatsapp-hero/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/whatsapp-hero/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/whatsapp-hero/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/socpa-hackathon/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/socpa-hackathon/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/socpa-hackathon/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/socpa-hackathon/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/circuits/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/circuits/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/circuits/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/circuits/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/cisco-icm/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/cisco-icm/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/cisco-icm/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/cisco-icm/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/saba-brelvi/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/saba-brelvi/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/saba-brelvi/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/saba-brelvi/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url><url><loc>https://nooryasser.com/work/taz-charity/</loc><xhtml:link rel="alternate" hreflang="en" href="https://nooryasser.com/work/taz-charity/"/><xhtml:link rel="alternate" hreflang="ar" href="https://nooryasser.com/ar/work/taz-charity/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://nooryasser.com/work/taz-charity/"/><lastmod>2026-09-25T15:59:23-05:00</lastmod></url></urlset>
