9 Sept 2026, 03:34 UTC304 viewsread 18 September 2026 Photo
اختيار المعمارية البرمجية ليس قرارًا شكليًا، بل قرار يؤثر على سرعة التطوير، سهولة الصيانة، قابلية التوسع، وتكلفة التشغيل.
Monolith مناسب للبدايات والبساطة،
Modular Monolith يضيف تنظيمًا أقوى داخل نفس التطبيق،
Microservices يمنح استقلالية وتوسعًا أكبر،
SOA يناسب التكامل المؤسسي بين الأنظمة،
وServerless يركز على سرعة التنفيذ وتقليل إدارة البنية التحتية.
لا توجد معمارية أفضل دائمًا؛ الأفضل هو ما يناسب حجم مشروعك، فريقك،…
Signed Pro. Anwar Al-saiary
9 Sept 2026, 03:33 UTC263 viewsread 18 September 2026 Photo
اختيار نوع الـ API لا يعتمد على الأشهر أو الأحدث، بل على طبيعة مشروعك واحتياجه الحقيقي.
REST للبساطة والانتشار، GraphQL للمرونة في جلب البيانات، WebSocket للتواصل اللحظي، gRPC للأداء العالي بين الخدمات، SOAP للتكاملات المؤسسية الصارمة، بينما Internal API يخدم أنظمتك الداخلية وPublic API يفتح منتجك للمطورين والشركاء.
لكل نوع مميزات وعيوب وحالات استخدام مناسبة؛ والقرار الجيد يبدأ بفهم المشروع قبل اختيار التقنية.
#API #…
Signed Pro. Anwar Al-saiary
9 Sept 2026, 02:23 UTC242 viewsread 18 September 2026 Photo
بناء RESTful API آمن لا يعتمد على خطوة واحدة، بل على مجموعة طبقات تعمل معًا.
ابدأ بـ Authentication للتحقق من الهوية، ثم Authorization لتحديد الصلاحيات، واستخدم HTTPS لحماية الاتصال، وRate Limiting للحد من الإساءة، وInput Validation لمنع المدخلات الخطرة، مع Logging & Monitoring لاكتشاف المشاكل مبكرًا، واستخدام JWT وفق معايير آمنة.
الأمان الحقيقي لا يُضاف بعد الانتهاء من الـAPI، بل يُبنى معه من البداية.
#RESTful_API #…
Signed Pro. Anwar Al-saiary
9 Sept 2026, 02:23 UTC260 viewsread 18 September 2026 Photo
بناء RESTful API بشكل جيد لا يبدأ بكتابة الكود مباشرة، بل بفهم طريقة تصميم التواصل بين الأنظمة.
ابدأ بتحديد Resources، ثم صمّم Endpoints واضحة، واستخدم HTTP Methods في مكانها الصحيح، واضبط شكل Request / Response، واختر Status Codes المناسبة، واجعل تبادل البيانات منظمًا عبر JSON.
كلما كان الـAPI واضحًا ومتسقًا من البداية، أصبح أسهل في التطوير والاختبار والتكامل والتوسع لاحقًا.
#RESTful_API #API #هندسة_البرمجيات
المن…
Signed Pro. Anwar Al-saiary
5 Aug 2026, 19:28 UTC146 views1 reactionsread 18 September 2026 Forwarded from @ProAnwarAlsaiaryPhoto
طلاب المستوى الاخير من مرحلة البكالوريوس الذين يبحثون عن افكار لمشاريع التخرج
يمكنكم البحث عن الافكار الاكثر رواجاً في السوق العربي والإضافة عليها من خلال الاطلاع على المواقع الشبيهة بموقع "مستقل"
https://mostaql.com/
Follow the PRO.ANWAR ALSAIARY ( ADVANCE ) channel on :
- (Telegram) https://t.me/ProAnwarAlsaiary
- (Whatsapp) https://whatsapp.com/channel/0029VbAobzhAInPuPXRCW12m
❤1
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:59 UTC568 views1 reactionsread 18 September 2026 حل “الطلبات المتزامنة المكررة” في Local-First: Request Coalescing (Single-flight) ✅
المشهد معروف:
شاشة Product List تُرندر عدة منتجات في نفس اللحظة (Product A / B / C…)
وكلهم يحتاجون نفس الـ Reference Data مثل: Get Section #4.
بدون حل، كلهم يطلقون API Calls متطابقة قبل ما يكتمل أول طلب ويكتب للكاش.
🧠 الحل: SDK Request Coordinator (In-flight Map)
نضيف طبقة داخل الـ SDK تعمل كـ “مُنسّق طلبات”:
- تحتفظ بخريطة: Map<Key…
❤1
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:59 UTC416 views1 reactionsread 18 September 2026 Photo
حل “الطلبات المتزامنة المكررة” في Local-First: Request Coalescing (Single-flight) ✅
المشهد معروف:
شاشة Product List تُرندر عدة منتجات في نفس اللحظة (Product A / B / C…)
وكلهم يحتاجون نفس الـ Reference Data مثل: Get Section #4.
بدون حل، كلهم يطلقون API Calls متطابقة قبل ما يكتمل أول طلب ويكتب للكاش.
❤1
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:58 UTC378 viewsread 18 September 2026 مشكلة شائعة في Local-First: “Race Condition” تسبّب رحلات API مكررة 🚨
تخيّل شاشة Product List تُرندر عدة عناصر في نفس اللحظة (Product A / B / C…).
كل منتج يحتاج نفس الـ Reference Data مثل: Section #4.
الـ SDK يعمل Local-First → يفحص Local DB (Cache) أولاً.
⚠️ أين المشكلة؟
لأن الطلبات متزامنة، الجميع يصلون للكاش قبل أن يكتب أول طلب النتيجة:
Local DB = MISS (Not Found Yet)
فيقوم كل منتج بإطلاق طلب شبكة مستقل لنفس البي…
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:58 UTC270 viewsread 18 September 2026 Photo
مشكلة شائعة في Local-First: “Race Condition” تسبّب رحلات API مكررة 🚨
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:58 UTC257 viewsread 18 September 2026 Photo
حل مشكلة “الطلبات المكررة” في Reference Data بطريقة أبسط وأذكى داخل MyApp ✅
بدل ما الـ SDK يعيد جلب كل شيء عند انتهاء TTL أو عند تكرار فتح الشاشة، طبقنا 3 أفكار مع بعض:
1) Delta Sync (Incremental Updates)
كل مرة نطلب فقط التغييرات عبر:
?since=lastSentAt
يعني: “أعطني ما تغيّر منذ آخر مزامنة ناجحة” بدل Full Fetch.
2) Throttle Window (مثلاً 10 دقائق)
لو المستخدم أعاد فتح الشاشة أو كرر نفس الطلب خلال 10 دقائق:
لا نرسل…
Signed Pro. Anwar Al-saiary
9 Jan 2026, 22:57 UTC239 viewsread 18 September 2026 Photo
هل صادفت شاشة منتجات “تفلاش” بيانات ناقصة… ثم تبدأ الطلبات تتكرر على الـ API بدون سبب؟
في MyApp واجهنا سيناريو شائع في Local-First داخل الـ SDK:
عند عرض Product List، كل منتج يحتاج Reference Data: Section / Unit / Manufacturer.
لكن عند انتهاء TTL تصبح البيانات Stale.
⚠️ المشكلة (The Blind Spot)
بدون سياق مزامنة مثل since أو lastSentAt، الـ SDK لا يعرف ما تغيّر فعلاً → يلجأ إلى Blind Full Fetch (Get All).
🔥 النتيجة…
Signed Pro. Anwar Al-saiary
2 Dec 2025, 21:14 UTC371 viewsread 18 September 2026 Forwarded from @advanceDatabase
الدكتور أحمد بالخير... المدير العام و القائد العزيز لشركتنا 🤍
https://youtu.be/ioJQ1qp3Bmk?si=3PbwcwXvTEc0k6cH
Signed Pro. Anwar Al-saiary
Showing the 12 most recent of 20 posts we hold for @aspnetcorewebapi. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.