أداء تطبيقات C# (.NET): التحسين والتنميط
أداء تطبيقات C# (.NET): التحسين والتنميط
ملخص:
كتاب «أداء تطبيقات C# (.NET)» هو دليل عملي للمطورين الذين يرغبون في إنشاء تطبيقات سريعة ومستجيبة وقابلة للتوسع على منصة .NET. في العالم الحديث، تؤثر سرعة التطبيق بشكل مباشر على تجربة المستخدم، وتكلفة البنية التحتية، والقدرة التنافسية للمنتج. سيساعدك هذا الكتاب على التعامل مع قضايا التحسين بشكل منهجي، وتجنب الأخطاء النمطية باستخدام منهجيات مثبتة.
عن ماذا يتحدث هذا الكتاب؟
يغطي الكتاب دورة العمل الكاملة للأداء: من تشخيص الاختناقات إلى تنفيذ التحسينات. ستتعلم:
- أساسيات التنميط: كيفية استخدام PerfView وdotTrace وBenchmarkDotNet والأدوات المدمجة في Visual Studio للعثور على «الاختناقات».
- إدارة الذاكرة وجمع القمامة (GC): كيف يعمل GC في .NET، وكيفية تقليل عدد التخصيصات، وتجنب التجزئة، وتقليل فترات التوقف.
- تعدد المهام والتزامن غير المتزامن: الاستخدام الصحيح لـ Task وParallel LINQ ومجموعة الخيوط، بالإضافة إلى مكافحة الحظر والتنافس.
- تحسين الكود: العمل مع السلاسل النصية والمجموعات وLINQ والانعكاس وSpan
لتقليل التكاليف الإضافية. - التخزين المؤقت والعمل مع البيانات: استراتيجيات التخزين المؤقت، وتحسين استعلامات قاعدة البيانات، واستخدام Redis وMemoryCache.
- التفاعلات الشبكية: إعداد HttpClient وgRPC وWebSockets وتقليل زمن الاستجابة.
لمن هذا الكتاب؟
سيكون الكتاب مفيدًا:
- لمطوري C# ذوي الخبرة من عام واحد فأكثر، الذين يرغبون في تحسين مهاراتهم في التحسين.
- لقادة الفرق والمهندسين المعماريين المسؤولين عن أداء الأنظمة عالية التحميل.
- لمهندسي DevOps الذين يقومون بإعداد تطبيقات .NET في بيئة الإنتاج.
- لكل من واجه مشاكل مع تطبيقات بطيئة ويريد فهم كيفية إصلاحها.
ماذا ستتعلم بعد القراءة؟
- كيفية إجراء اختبارات الأداء المقارن واختبارات A/B للتغييرات.
- كيفية العثور على تسربات الذاكرة والخوارزميات غير الفعالة وإزالتها.
- كيفية ضبط GC لسيناريوهات مختلفة (خادم ويب، تطبيق سطح مكتب، ألعاب).
- كيفية كتابة كود سيكون سريعًا باستمرار تحت الضغط.
- كيفية استخدام الإمكانيات الحديثة لـ .NET (Span، Memory، ValueTask) لتحسين الأداء.
يحتوي الكتاب على العديد من الأمثلة الحقيقية للكود والرسوم البيانية والاختبارات. جميع الأمثلة محدثة لـ .NET 6/7/8. المؤلف هو مطور ممارس يتمتع بخبرة 10 سنوات في الأنظمة عالية التحميل بلغة C#. انغمس في عالم التحسين واجعل تطبيقاتك أسرع!
توصيات
الخوارزميات الرياضية للمبرمجين. الرسوميات ثلاثية الأبعاد، التعلم الآلي والنمذجة بلغة Python
Go (Golang) والخدمات المصغرة: من الفكرة إلى الإنتاج
إعادة هيكلة كود JavaScript (Node.js): من الفوضى إلى الهندسة النظيفة
GraphQL على JavaScript (Node.js): دليل شامل لإنشاء واجهات برمجة تطبيقات حديثة
مقابلة Go (Golang): 200 سؤال وجواب
Black Hat Rust: برمجة الاختراق التطبيقية بلغة Rust