اذهب إلى المحتوى
العامل هو عنصر يأخذ قيمة واحدة أو أكثر (أو تعابير في المصطلحات البرمجية) ويُنتج قيمة جديدة (لذا تصبح البنية بحد ذاتها تعبيرًا)، ويمكن تجميع العوامل وفقًا لعدد القيم التي تأخذها. عامل تجميع Null (‏Null coalescing) (??) …
سنستعرض في هذا الدرس بعض أنماط التصميم الشهيرة في C++‎ ثم سنتطرق سريعًا إلى مفهوم إعادة التصميم (Refactoring) والنمط Goto Cleanup المتَّبع. نمط المحوِّل (Adapter Pattern) يتيح نمط المحوِّل للأصناف غير المتوافقة أن ت…
سنتعلّم في هذا الدرس: بناء هيكل تطبيق بسيط لشرح أفكار الدرس استخدام إطار العمل Bootstrap استخدام بنى معطيات متقدمة مع عناصر الإدخال النصية المعدِّلات (Modifiers) في Vue.js التعامل مع مربعات …
من المفيد لبناء برنامج PHP ديناميكي وتفاعلي أن تحصل على خرج من المتغيرات وقيمتها، توفر PHP عدة توابع لعرض قيمة ما، يغطي هذا الفصل التوابع الأساسية لطباعة قيمة في PHP وأين يمكن استخدامها. echo وprint تعدّ echo وprint…
إعادة التوجيه التامة (Perfect Forwarding) الدوالّ المُنتِجة (Factory functions) لنفترض أنّنا نرغب في كتابة دالّة منتِجة تقبل قائمة عشوائية من الوسائط، ثمّ تمرّر تلك الوسائط دون تعديل إلى دالّة أخرى. إن دالة ‎make_un…
هي متغيرات مدمجة معرّفة مسبقًا في لغة PHP على أنّها متغيرات ذات نطاق عام عالي، وهذا يعني أنّها متاحة دائمًا في جميع نطاقات السكربت دون الحاجة لتعريفها باستخدام الكلمة المفتاحية global للوصول إليها من داخل الدوال أو التوابع. …
ينصّ المعيار على ضرورة نسخ الكائنات أو نقلها في بعض المواضع من أجل تهيئتها، وإهمال النسخ (Copy elision) الذي يسمى أحيانًا تحسين القيمة المُعادة (return value optimization) هو تحسينٌ يسمح للمُصرِّف بتجنّب النسخ أو النقل في ظرو…
الوصول الديناميكي إلى المتغير عن طريق الاسم (المتغيرات المتغيرة) يمكن الوصول إلى المتغيرات عبر أسماء المتغيرات الديناميكية. يمكن تخزين اسم المتغير في متغير آخر، مما يسمح بالوصول إليه بشكلٍ ديناميكي وتُعرف هذه المتغيرات ب…
تمكّن الكلمة المفتاحية ‎auto‎ من الاستنتاج التلقائي لنوع متغيّر معيّن، وهي مناسبة بشكل خاص عند التعامل مع أسماء الأنواع الطويلة: std::map < std::string, std::shared_ptr < Widget > > table; // C++98 std::map &l…
سنتعلّم في هذا الدرس: بناء تطبيق نموذجي (مشاريب حسوب). إضافة وسائل تنقيح متطوّرة لتطبيقات Vue.js. المكوّنات المتداخلة. تسجيل المكوّنات محليًّا وتسجيلها على المستوى العام. تحديد المكوّن الذي …
متغيرات تقييد الوصول (Semaphores) طريقةٌ جيدة للتعرف على التزامن، ولكنها ليست مستخدمة على نطاق واسع من الناحية العملية كاستخدام كائنات المزامنة (mutexes) والمتغيرات الشرطية (condition variables)، ومع ذلك توجد بعض مشاكل المزام…
دلالات النقل هي وسيلة لنقل كائن إلى آخر في C++‎، عبر إفراغ الكائن القديم، وتبديل محتوياته بمحتويات الكائن الجديد. ولفهم دلالات النقل، من الضروري فهم المقصود بالمرجع اليميني (rvalue reference). وهي، أي المراجع اليمينية (‎T&…
سنتعلّم في هذا الدرس: تجهيز هيكل التطبيق على حاسوب محلّي. بناء مكوّن جديد: مكوّن المهام. تحسين تجربة الاستخدام للمكوّن. تمرير وسائط إلى المكوّنات. إنشاء أكثر من نسخة من المكون ضمن نفس الصفحة…
تُعدّ لغة الجافا لغة قياسية ومعيارية إلى حد بعيد، ومع ذلك، تختلف الإجراءات اللازمة لإنشاء برامج الجافا وتَصْرِيفها وتَعْدِيلها من بيئة برمجة (programming environment) إلى آخرى اختلافًا كبيرًا. تَتَوفَّر طريقتان في العموم هما:…
ما المقصود بالسلوك غير المعرَّف (undefined behavior أو UB)؟ وفقًا لمعيار ISO C++‎ (الفقرة 1.3.24، N4296)، فهو: هذا يعني أنّه عندما يواجه البرنامج سلوكًا غير معرَّف، فإنّه يُسمَح له بفعل ما يريد. هذا قد يعني غالبًا التوق…
يُلقِي هذا القسم نظرة على التعبيرات (expressions) المُستخدَمة لتمثيل قيمة أو حسابها. قد يكون التعبير (expression) بهيئة قيمة مُصنَّفة النوع (literal) أو مُتْغيِّر (variable) أو استدعاء دالة (function call) أو مجموعة من تلك ال…
خدمات استدعاء المنصة Platform Invocation Services يُشار إلى الشيفرة التي تُنفَّذ داخل بيئة التَّنفيذ المشتركة (CLR) باسم الشيفرة المُدارة (managed code) بخلاف الشيفرة التي تُنفَّذ خارجها، والتي يُشار إليها بطبيعة الحال ب…
يمكن حل العديد من مشاكل التزامن (synchronization) البسيطة باستخدام كائنات المزامنة (mutexes)، ولكن يوجد مشكلة أكبر هي مشكلة منتج-مستهلك (Producer-Consumer problem) التي تُحل باستخدام أداة جديدة هي المتغير الشرطي (condition va…
×
×
  • أضف...