labZero:~$ ESC
  • لا نتائج…
↑↓ تنقّل·Enter اذهب·⌘K

labZero:~$ cd ./lab

المختبر

تجارب صغيرة، أدوات، وأدلة على الفضول — بما فيها #AI.

المختبر هو المكان الذي أجرّب فيه أفكاراً صغيرة قبل أن أعرف إن كانت تستحق أن تكبر. بعض التجارب تبقى أدوات صغيرة، بعضها يفشل، وبعضها يتحول لاحقاً إلى مشروع كامل.

ما الفرق بين المختبر وما أبنيه؟

المختبر
تجارب صغيرة، أدوات، أفكار غير مكتملة.
ما أبنيه
مشاريع بدأت تتشكل ولها مشكلة واضحة واتجاه.
الملاحظات
ما أتعلمه أثناء التجربة والبناء.
تصنيفات:
تصفية:
قابل للاستخدام

Octane ودورة الـ request: هل حالتك بين الطلبات معزولة؟

Laravel
لماذا جربتها؟
نقلت مشروعاً لـ Octane، فظهرت بيانات المستخدم الأول في طلبات المستخدم الثاني بشكل متقطع.
ماذا اختبرت؟
singleton عادي مقابل scoped() مقابل حقن مباشر عبر Request في كل استدعاء.
ما الذي تعلمته؟
Octane لا يعيد بناء الـ container بين الطلبات — كل singleton يخزّن حالة مستخدم يجب تسجيله scoped().
هل يمكن أن تتحول إلى مشروع؟
قائمة مراجعة لكل service قبل الرفع لـ Octane.
قابل للاستخدام

الـ Query Optimizer يتجاهل الفهرس — متى تصبح الأرقام أهم من الخطة؟

Laravel
لماذا جربتها؟
استعلام بطيء رغم وجود فهرس على عمود الحالة — EXPLAIN أظهر type=ALL.
ماذا اختبرت؟
FORCE INDEX مقابل composite index(status, created_at) مقابل تحديث إحصائيات ANALYZE TABLE.
ما الذي تعلمته؟
الـ optimizer يقدّر تكلفة random I/O — عند 78% من الصفوف بنفس القيمة يفضّل Sequential Scan على الفهرس.
هل يمكن أن تتحول إلى مشروع؟
قاعدة: افحص cardinality قبل بناء أي فهرس على عمود حالة.
قابل للاستخدام

Riverpod وعمر الـ provider: بيانات تعيش أطول من شاشتها

واجهات صغيرة
لماذا جربتها؟
عند التنقل بين شاشتين لعملاء مختلفين، بيانات العميل القديم تظهر لحظياً قبل تحميل الجديد.
ماذا اختبرت؟
.autoDispose مقابل ref.invalidate في initState مقابل family provider بمعرّف.
ما الذي تعلمته؟
provider بدون autoDispose يعيش طول عمر ProviderScope — لا طول عمر الشاشة.
هل يمكن أن تتحول إلى مشروع؟
قاعدة: كل provider مرتبط ببيانات مستخدم أو كيان محدد يحمل autoDispose أو family.
فشل ذكي

Broadcasting داخل transaction — الـ frontend يستقبل الحدث قبل حفظ البيانات

Laravel
لماذا جربتها؟
لوحة real-time تستقبل "طلب جديد" وتطلب بياناته فوراً — تحصل على 404 متقطعة.
ماذا اختبرت؟
broadcast داخل transaction مقابل afterCommit في queue config مقابل Model Observer@created.
ما الذي تعلمته؟
Broadcast job ينطلق فور dispatch حتى داخل transaction — البيانات تصل للـ frontend قبل commit.
هل يمكن أن تتحول إلى مشروع؟
قاعدة: afterCommit: true إلزامي في كل queue connection تطلق منه broadcasting.
قيد التجربة

Streaming من LLM: ماذا يحدث عند انقطاع في المنتصف؟

تجارب AI
لماذا جربتها؟
مستخدمون يشكون من تقارير ناقصة دون رسالة خطأ — الـ stream ينتهي بصمت.
ماذا اختبرت؟
فحص finish_reason مقابل timeout detection مقابل buffer كامل قبل العرض.
ما الذي تعلمته؟
SSE لا يُطلق exception عند انقطاع — finish_reason: null هو العلامة الوحيدة للفشل.
هل يمكن أن تتحول إلى مشروع؟
wrapper معياري لكل استخدام streaming في المشاريع.
قابل للاستخدام

MethodChannel في Flutter: تكلفة الاتصال بين Dart والـ native

واجهات صغيرة
لماذا جربتها؟
واجهة كاميرا مخصصة تلاحظ تأخيراً مرئياً — MethodChannel يُستدعى داخل build loop.
ماذا اختبرت؟
MethodChannel مقابل EventChannel مقابل dart:ffi لبيانات ثنائية سريعة.
ما الذي تعلمته؟
كل استدعاء MethodChannel يعبر thread boundary مع serialization — لا يصلح للبيانات المتدفقة.
هل يمكن أن تتحول إلى مشروع؟
دليل اختيار channel في مشاريع Flutter مع native integration.
قابل للاستخدام

Sanctum وSPA على subdomain: مصيدة CSRF لا تظهر في التطوير

Laravel
لماذا جربتها؟
SPA على app.domain.com و API على api.domain.com — cookie لا يُرسل للـ API في الإنتاج.
ماذا اختبرت؟
SESSION_DOMAIN مع/بدون نقطة، SANCTUM_STATEFUL_DOMAINS، SameSite=Lax vs None، Safari vs Chrome.
ما الذي تعلمته؟
SESSION_DOMAIN يجب أن يبدأ بنقطة (.domain.com) ليشمل كل subdomains — بدونها الـ cookie يُقيَّد على الـ origin.
هل يمكن أن تتحول إلى مشروع؟
checklist نشر لكل مشروع SPA + Sanctum على subdomains مختلفة.
قيد التجربة

كيف تقيس جودة مخرجات LLM دون ground truth؟

تجارب AI
لماذا جربتها؟
بعد تعديل prompt، المستخدمون أشادوا — لكن لا أعرف إن كان تحسيناً حقيقياً أم تحيّز تأكيد.
ماذا اختبرت؟
Rubric يدوي 5 معايير مقابل LLM-as-judge مقابل قياس كمي (طول + تكرار).
ما الذي تعلمته؟
LLM-as-judge يكشف regression في الوضوح والاكتمال، لكن يتحيز للنصوص الأطول.
هل يمكن أن تتحول إلى مشروع؟
نظام تقييم لكل prompt يُغيَّر في الإنتاج.