أدرجت النسخة المصغرة من هذا الموضوع هنا لأن سلسلة "محفزاتي المفضلة" من المفترض أن تكون قطع صغيرة وصغيرة الحجم ومكتفية ذاتيا. لكن اليوم حولت هذا النظام إلى نظام مجنون حقا. ليس من المهم إذا كنت تصنع برنامج CRUD آخر في React أو قائمة مهام، لكن إذا كنت تقوم بشيء معقد جدا في Rust أو Golang، أو شيء يتعلق ببيانات معقدة، فهذا النهج مخيف تقريبا فيما يمكنه القيام به. إنها عملية من جولتين. إليكم الجولة الأولى: --- أولا اقرأ كل ملفات AGENTS dot md وملف README dot md بعناية فائقة وافهم كل اللغتين! ثم استخدم وضع وكيل التحقيق في الكود لفهم الكود بالكامل والبنية التقنية والغرض من المشروع. ثم، بعد أن تقوم بعمل دقيق وشامل للغاية وتفهم النظام بأكمله وما يفعله، وغرضه، وكيف يتم تنفيذه وكيف ترتبط كل الأجزاء ببعضها البعض، أحتاجك إلى تحقيق مكثف ودراسة وتأمل عميق حول هذه الأسئلة كما تتعلق بهذا المشروع: هل هناك أي أوجه قصور جسيمة أخرى في النظام الأساسي؟ الأماكن في قاعدة الكود حيث 1) التغييرات ستحرك فعليا من حيث التأخير العام/الاستجابة وسرعة النقل؛ 2) بحيث تكون تغييراتنا قابلة للإثبات من حيث الوظيفة بحيث نعرف بالتأكيد أنها لن تغير المخرجات الناتجة إذا تم استخدام نفس المدخلات؛ 3) حيث يكون لديك رؤية واضحة لنهج أفضل بوضوح من حيث الخوارزميات أو هياكل البيانات (لاحظ أنه لهذا، يمكنك تضمين في تأملاتك هياكل بيانات أقل شهرة وخوارزميات أكثر تعقيدا/تعقيدا/رياضية بالإضافة إلى طرق لإعادة صياغة المشكلة بحيث يتم كشف نموذج آخر، مثل القائمة الموضحة أدناه (ملاحظة: قبل اقتراح أي تحسين، قم بتحديد مقاييس الأساس (زمن الاستجابة p50/p95/p99، معدل الإنتاجية، الذاكرة) والتقاط ملفات تعريف المعالج/التخصيص/الإدخال/الإخراج لتحديد نقاط الاتصال الفعلية): - حذف نمط الاستعلام/الجلب في N+1 - إعادة استخدام المخزن الصفري / إعادة الاستخدام / التشتت وجمع الإدخال/الإخراج - تكاليف تنسيق التسلسل (عبء التحليل/الترميز) - قوائم انتظار محدودة + ضغط عكسي (لمنع انفجار الذاكرة وكمون الذيل) - الأقفال المخططة / الأجزاء لتقليل الخلاف - الحفظ باستخدام استراتيجيات إبطال ذاكرة التخزين المؤقت - تقنيات البرمجة الديناميكية - نظرية التحسين المحدب - التقييم الكسول / الحوسبة المؤجلة - أنماط المكرر/المولد لتجنب ظهور مجموعات كبيرة - المعالجة المتدفقة/المجزأة للأعمال المقيدة بالذاكرة - جداول الحساب المسبق والبحث - البحث القائم على الفهرس مقابل التعرف على المسح الخطي - البحث الثنائي (على البيانات وعلى مساحة الإجابات) - تقنيات النوافذ ذات النقطتين والنوافذ المنزلقة - المجاميع البادئة / المجمعات التراكمية - الفرز الطوبولوجي ووعي DAG للرسوم البيانية للتبعية...