مقالات
ملاحظات عن قرارات لم تكن بديهية في وقتها — المعمارية والمقايضات والأشياء التي لا تظهر إلا في الإنتاج.
- 6 دقائق قراءة
طبقة AI مستقلة عن المزوّد: ضَع الموديل خلف واجهة
المساعد الذي يستدعي SDK مزوّد واحد من كود المحادثة مرتبط بذلك المزوّد. الحدّ الذي أضعه بين الاثنين، وما ينتمي إلى كل جهة منه، وما يجعله رخيصاً لاحقاً.
AILLMOpenAINode.jsArchitecture - 5 دقائق قراءة
التحقق من webhooks واتساب: لماذا يهمّ الـ body الخام
Meta توقّع البايتات التي أرسلتها بالضبط. إذا تحققت من التوقيع بعد أن حلّل الإطار الطلب فأنت تفحص رسالة مختلفة. أين ينتمي التحقق، ولماذا حصل على خدمة خاصة به.
WhatsApp Cloud APIWebhooksNode.jsFastifyHMACLaravel - 5 دقائق قراءة
Flutter و BLE عبر Pigeon بدل method channels
تطبيق mesh عبر البلوتوث فيه كود راديو أصلي على منصتين وحدّ عريض مع Dart. قنوات method channels اليدوية جعلت ذلك الحدّ مقامرة في وقت التشغيل؛ وتوليده بـ Pigeon جعله خطأ تصريف.
FlutterDartPigeonBluetooth Low EnergyKotlinSwift - 6 دقائق قراءة
محرّك flow بحالة لواتساب، في Laravel
تحليل سجل المحادثة لمعرفة موضع العميل يبدو مرناً وهو فخ. هذه آلة الحالة التي استخدمتها بدلاً منه، وما الذي كسبته.
LaravelWhatsApp Cloud APIState machinesArchitecture
