DataBase قواعد بيانات
رفتن به کانال در Telegram
2 378
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-37 روز
-2630 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
آوریل '26
آوریل '26
+9
در 0 کانالها
مارس '26
+15
در 0 کانالها
Get PRO
فوریه '26
+41
در 0 کانالها
Get PRO
ژانویه '26
+50
در 0 کانالها
Get PRO
دسامبر '25
+60
در 0 کانالها
Get PRO
نوامبر '25
+62
در 0 کانالها
Get PRO
اکتبر '25
+68
در 0 کانالها
Get PRO
سپتامبر '25
+76
در 0 کانالها
Get PRO
اوت '25
+54
در 0 کانالها
Get PRO
ژوئیه '25
+70
در 0 کانالها
Get PRO
ژوئن '25
+39
در 0 کانالها
Get PRO
مه '25
+54
در 0 کانالها
Get PRO
آوریل '25
+46
در 0 کانالها
Get PRO
مارس '25
+66
در 1 کانالها
Get PRO
فوریه '25
+75
در 0 کانالها
Get PRO
ژانویه '25
+150
در 0 کانالها
Get PRO
دسامبر '24
+152
در 0 کانالها
Get PRO
نوامبر '24
+94
در 0 کانالها
Get PRO
اکتبر '24
+140
در 0 کانالها
Get PRO
سپتامبر '24
+96
در 0 کانالها
Get PRO
اوت '24
+121
در 0 کانالها
Get PRO
ژوئیه '24
+108
در 0 کانالها
Get PRO
ژوئن '24
+54
در 0 کانالها
Get PRO
مه '24
+77
در 0 کانالها
Get PRO
آوریل '24
+59
در 0 کانالها
Get PRO
مارس '24
+78
در 0 کانالها
Get PRO
فوریه '24
+119
در 0 کانالها
Get PRO
ژانویه '24
+109
در 0 کانالها
Get PRO
دسامبر '23
+98
در 0 کانالها
Get PRO
نوامبر '23
+102
در 0 کانالها
Get PRO
اکتبر '23
+86
در 0 کانالها
Get PRO
سپتامبر '23
+71
در 0 کانالها
Get PRO
اوت '23
+55
در 0 کانالها
Get PRO
ژوئیه '23
+55
در 0 کانالها
Get PRO
ژوئن '23
+45
در 0 کانالها
Get PRO
مه '23
+54
در 0 کانالها
Get PRO
آوریل '23
+38
در 0 کانالها
Get PRO
مارس '23
+50
در 0 کانالها
Get PRO
فوریه '23
+49
در 0 کانالها
Get PRO
ژانویه '23
+64
در 0 کانالها
Get PRO
دسامبر '22
+68
در 0 کانالها
Get PRO
نوامبر '22
+57
در 0 کانالها
Get PRO
اکتبر '22
+115
در 0 کانالها
Get PRO
سپتامبر '22
+120
در 0 کانالها
Get PRO
اوت '22
+405
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 09 آوریل | 0 | |||
| 08 آوریل | 0 | |||
| 07 آوریل | 0 | |||
| 06 آوریل | +2 | |||
| 05 آوریل | +3 | |||
| 04 آوریل | +1 | |||
| 03 آوریل | 0 | |||
| 02 آوریل | +1 | |||
| 01 آوریل | +2 |
پستهای کانال
حل “الطلبات المتزامنة المكررة” في 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, Future>
- المفتاح = (Section#4)
- القيمة = Shared Future (طلب جاري)
كيف يعمل؟
1) أول طلب (Product A):
- لا يجد المفتاح في الـ In-flight Map
- ينشئ Shared Future
- ويرسل 1x API Request فقط
2) الطلبات التالية (Product B / C…):
- تجد Shared Future موجودة
- لا تُنشئ طلبات جديدة
- فقط “تنتظر” نفس الطلب الجاري (Await existing in-flight request)
📦 عند وصول النتيجة
- يتم كتابة البيانات إلى Local DB (Cache) ✔️
- يتم توزيع نفس النتيجة فوراً لكل عناصر UI المنتظرة (Fan-out) ✔️
📌 النتيجة
- 1x Optimized API Request بدل 20x Duplicate Requests
- Minimal Backend Load
- Fast & Consistent UX
- Cache يُملأ مرة واحدة ويُستخدم للجميع
🔎 مصطلحات مرتبطة
- Request Coalescing
- Single-flight Mechanism
- In-flight Deduplication
- Shared Future / Promise
- (وأحياناً يُستخدم كـ Lock per Key)
هل تطبّقون Single-flight في الـ SDK أو على مستوى Repository Layer؟
#API #MobileArchitecture #DistributedSystems
| 2 | حل “الطلبات المتزامنة المكررة” في Local-First: Request Coalescing (Single-flight) ✅
المشهد معروف:
شاشة Product List تُرندر عدة منتجات في نفس اللحظة (Product A / B / C…)
وكلهم يحتاجون نفس الـ Reference Data مثل: Get Section #4.
بدون حل، كلهم يطلقون API Calls متطابقة قبل ما يكتمل أول طلب ويكتب للكاش. | 501 |
| 3 | مشكلة شائعة في 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)
فيقوم كل منتج بإطلاق طلب شبكة مستقل لنفس البيانات…
فتتحول العملية إلى 20+ طلب متطابق قبل أن يكتمل الأول.
🔥 الأثر على الخلفية (Backend)
- High Concurrency Load
- Wasted Bandwidth
- Risk of Rate Limiting
- UX أبطأ بسبب ازدحام الشبكة
🧠 المصطلحات الشائعة
- Cache Stampede / Thundering Herd
- Race Condition (In Local-First Cache)
- Redundant API Calls (وأحياناً تُرى كـ N+1 / Over-fetching حسب السياق)
✅ كيف نعالجها عادة؟
- Single-Flight / In-Flight Deduplication: “طلب واحد لكل مفتاح” والبقية تنتظر نفس الـ Future/Promise
- Request Coalescing: تجميع الطلبات المتطابقة
- (اختياري) Prefetch/Batch للـ Reference Data عند تحميل المنتجات
هل واجهت هذا السيناريو في تطبيقك؟ وكيف تعاملت معه؟
الحل في المنشورات القادمة
#API #MobileArchitecture #DistributedSystems | 413 |
| 4 | مشكلة شائعة في Local-First: “Race Condition” تسبّب رحلات API مكررة 🚨 | 347 |
| 5 | حل مشكلة “الطلبات المكررة” في Reference Data بطريقة أبسط وأذكى داخل MyApp ✅
بدل ما الـ SDK يعيد جلب كل شيء عند انتهاء TTL أو عند تكرار فتح الشاشة، طبقنا 3 أفكار مع بعض:
1) Delta Sync (Incremental Updates)
كل مرة نطلب فقط التغييرات عبر:
?since=lastSentAt
يعني: “أعطني ما تغيّر منذ آخر مزامنة ناجحة” بدل Full Fetch.
2) Throttle Window (مثلاً 10 دقائق)
لو المستخدم أعاد فتح الشاشة أو كرر نفس الطلب خلال 10 دقائق:
لا نرسل API Call جديد → نكتفي بالمحلي.
وبعد انتهاء النافذة نسمح بطلب Delta جديد.
3) Stale-While-Revalidate (SWR)
نعرض البيانات المحلية فوراً (حتى لو قديمة قليلاً) ونحدّث بصمت في الخلفية.
النتيجة: تجربة أسرع بدون “فلاش” بيانات ناقصة.
📌 النتيجة النهائية:
Optimized Network ✅
Low Server Load ✅
Fast & Fluid UX ✅
Tiny Delta Payload بدل Massive Payload ✅
هل تستخدمون lastSyncAt / lastSentAt أو Delta Sync في مشاريعكم؟
#API #MobileArchitecture #DistributedSystems | 335 |
| 6 | هل صادفت شاشة منتجات “تفلاش” بيانات ناقصة… ثم تبدأ الطلبات تتكرر على الـ 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).
🔥 النتيجة
Redundant API Calls + High Server Load + Poor UX + نفس الداتا تُرسل مراراً.
✅ الحل
Delta/Incremental Sync + إرسال since = lastSentAt عند إعادة الطلب،
مع نافذة منع تكرار (10 دقائق) + (اختياري) Stale-While-Revalidate،
ومع ضغط UI العالي: Single-Flight / In-Flight Deduplication.
هل تستخدمون updatedSince / ETag / lastSyncAt في مشاريعكم؟
شرح الحل في المنشورات القادمة
#API #MobileArchitecture #DistributedSystems | 327 |
| 7 | .
بشكل مبسط و سهل , انفوجرافيك يشرح الفرق بين تعليمات الـ JOINS في لغة SQL
استبدل كلمة Full ب cross في بعض البيئات ك SQL server | 522 |
| 8 | ماذا تعني CRUD ؟
هي اختصار لأربع عمليات اساسية نستخدمها كثيرا عند برمجة نظام او تطبيق يتعامل مع البيانات وهي إنشاء وقراءة وتحديث وحذف وتستخدم كثيراَ مع قواعد البيانات , وتنفذ من خلال لغة الاستعلام SQL بواسطة هذه التعليمات INSERT و SELECT و UPDATE و DELETE . | 466 |
| 9 | ملخص جميل جدا لل SQL 😍 | 407 |
| 10 | 📍ملخص CheatSheet ل SQL
👨💻 احفظها عندك راح تحتاجها 👏 | 395 |
| 11 | شرح اوامر SQL DML.pdf | 386 |
| 12 | ملف بوربوينت يوضح التعاملات معا قاعدة البيانات بلغة SQL
ك الاضافة او التعديل او الحذف او العرض | 372 |
| 13 | فقرات تعليمة select | 362 |
| 14 | كتاب باللغة العربية لشرح اساسيات الجانب العملي في قواعد البيانات
هذا المنهج المستخدم في الجامعة للسنوات الماضية
وذلك لضعف مستوى الطلبة في اللغة الانجليزية
حيث كان سابقاً ( قبل ٤ سنوات ) بالانجليزي لكلا الجانبين النظري والعملي | 371 |
| 15 | ماهي SQL ؟ | 386 |
| 16 | اضافه فهرسة للمحتوى يسهل به التنقل
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 298 |
| 17 | رسم الجداول
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 213 |
| 18 | رسم المخططات التسلسلية.
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit | 191 |
| 19 | يمكن ايضا رسم المخططات العلائقية للجداول
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit | 184 |
| 20 | بدون متن... | 184 |
