54 مفهوم مهم في البرمجة 🗺🎨
🔹 1. Algorithm – الخوارزمية
مجموعة من الخطوات المحددة لحل مشكلة معينة أو تنفيذ مهمة.
🔹 2. Data Structure – هيكل البيانات
طريقة لتنظيم البيانات داخل الذاكرة لتسهيل الوصول والتعديل.
🔹 3. Variable Scope – نطاق المتغيرات
المكان الذي يمكن فيه الوصول إلى المتغير (داخل دالة، كلاس، إلخ).
🔹 4. Encapsulation – التغليف
إخفاء تفاصيل تنفيذ الكود وإظهار واجهة استخدام فقط.
🔹 5. Abstraction – التجريد
التركيز على المهم وإخفاء التفاصيل المعقدة.
🔹 6. Polymorphism – تعدد الأشكال
استخدام دوال أو كائنات بنفس الاسم ولكن بسلوك مختلف.
🔹 7. Inheritance – الوراثة
كلاس يرث خصائص ودوال من كلاس آخر.
🔹 8. Recursion – الاستدعاء الذاتي
دالة تستدعي نفسها لحل أجزاء أصغر من المشكلة.
🔹 9. DRY – Don’t Repeat Yourself
مبدأ يمنع تكرار الكود ويسعى لإعادة الاستخدام.
🔹 10. KISS – Keep It Simple, Stupid
اجعل الكود بسيطًا وواضحًا دون تعقيد غير ضروري.
🔹 11. YAGNI – You Ain’t Gonna Need It
لا تكتب كودًا أو تضف ميزات غير مطلوبة بعد.
🔹 12. SOLID Principles
خمسة مبادئ تصميم تجعل الكود قابلًا للصيانة والتوسعة.
🔹 13. Design Patterns – أنماط التصميم
حلول عامة لمشاكل متكررة في تصميم البرمجيات.
🔹 14. Coupling – الترابط
مدى اعتماد كائنات أو وحدات الكود على بعضها البعض.
🔹 15. Cohesion – التماسك
مدى تركيز الوحدة على وظيفة واحدة واضحة.
🔹 16. Singleton Pattern
نمط تصميم يضمن وجود نسخة واحدة فقط من الكائن.
🔹 17. Factory Pattern
نمط لإنشاء الكائنات دون تحديد الكلاس مباشرة.
🔹 18. Observer Pattern
نمط لإبلاغ كائنات متعددة عند تغيير حالة كائن معين.
🔹 19. MVC – Model View Controller
تقسيم المشروع لثلاثة أجزاء: البيانات، العرض، التحكم.
🔹 20. API – واجهة برمجية
وسيلة للتواصل بين البرمجيات باستخدام طلبات واستجابات.
🔹 21. RESTful API
تصميم API يعتمد على بروتوكول HTTP بطريقة بسيطة.
🔹 22. GraphQL
لغة استعلام بديلة لـ REST تتيح الحصول على البيانات بشكل مرن.
🔹 23. Callback Function
دالة تُمرَّر كوسيط ليتم استدعاؤها لاحقًا بعد انتهاء مهمة.
🔹 24. Asynchronous Programming
تنفيذ الأوامر دون الانتظار، لتحسين الأداء.
🔹 25. Multithreading
تشغيل أكثر من سلسلة أوامر (Thread) في الوقت نفسه.
🔹 26. Deadlock
حالة توقف يحدث فيها تعارض بين عمليتين تنتظران بعضهما.
🔹 27. Race Condition
مشكلة تحدث عند الوصول المتزامن لنفس البيانات بطريقة غير آمنة.
🔹 28. Garbage Collection
عملية حذف الكائنات غير المستخدمة من الذاكرة تلقائيًا.
🔹 29. Memory Leak
فشل في تحرير الذاكرة مما يؤدي لاستهلاكها تدريجيًا.
🔹 30. Immutable Object
كائن لا يمكن تغيير حالته بعد إنشائه.
🔹 31. Unit Testing
اختبار وحدة واحدة من الكود (مثل دالة) بشكل مستقل.
🔹 32. Mocking
محاكاة كائنات حقيقية أثناء الاختبار لتسهيل العزل.
🔹 33. TDD – Test Driven Development
أسلوب تطوير يعتمد على كتابة الاختبارات قبل الكود.
🔹 34. Code Smells
مؤشرات على وجود مشاكل في تصميم الكود يجب تحسينها.
🔹 35. Refactoring
تحسين هيكل الكود بدون تغيير سلوكه الخارجي.
🔹 36. Version Control
إدارة تغييرات الكود بمرور الوقت (مثل Git).
🔹 37. Branching
إنشاء نسخ مستقلة من الكود للعمل على ميزات أو إصلاحات.
🔹 38. Merge Conflict
تعارض يحدث عند دمج فروع تحتوي على تعديلات متضاربة.
🔹 39. CI/CD
أتمتة بناء واختبار ونشر التطبيقات بشكل مستمر.
🔹 40. Docker
أداة لحزم وتشغيل التطبيقات في بيئة معزولة (Containers).
🔹 41. Containerization
تشغيل البرامج في بيئات خفيفة ومعزولة عن النظام الأساسي.
🔹 42. Kubernetes
نظام لإدارة وتشغيل مجموعات من الحاويات (Containers) تلقائيًا.
🔹 43. Load Balancer
توزيع الحمل على عدة خوادم لتحسين الأداء والموثوقية.
🔹 44. Caching
تخزين مؤقت للبيانات لتسريع الوصول إليها.
🔹 45. SQL Injection
هجوم يتم عبر إدخال أوامر SQL ضارة في استعلامات قاعدة البيانات.
🔹 46. XSS – Cross Site Scripting
هجوم يتم عن طريق إدخال سكريبتات خبيثة في صفحات الويب.
🔹 47. JWT – JSON Web Token
رمز يستخدم للتحقق من هوية المستخدم بطريقة آمنة.
🔹 48. OAuth
بروتوكول يسمح بالتفويض الآمن بين التطبيقات.
🔹 49. Normalization
تنظيم بيانات قواعد البيانات لتقليل التكرار.
🔹 50. Denormalization
إدخال بعض التكرار في البيانات لتحسين الأداء.
🔹 51. Big O Notation
طريقة لقياس تعقيد الخوارزميات من حيث الأداء والسرعة.
🔹 52. Time Complexity
قياس الزمن الذي تستغرقه الخوارزمية حسب حجم البيانات.
🔹 53. Space Complexity
كمية الذاكرة التي تحتاجها الخوارزمية أثناء تنفيذها.