المشاركات

JavaScript Data Types Summary - ملخص أنواع البيانات في لغة جافا سكريبت

صورة
  JavaScript Data Types Summary أي قيمة نتعامل معها في لغة JavaScript لابد أن يكون لها نوع محدد وعلى عكس لغات البرمجة الأخرى التي  تجبرك على تحديد نوع البيانات أثناء تعريف المتغير فإن لغة JavaScript لا تجبرك على تعريف نوع المتغير، ولكن يتم تحديد نوع المتغير بناءًا على نوع البيانات أو القيمة التي خزنتها بداخله. وبناءًا على ذلك فأن المتغير يمكن أن يكون بداخله قيمة من نوع String ثم يتم وضع قيمة أخرى بداخله من نوع Number. لغات البرمجة التي تسمح بهذا النوع من المتغيرات تسمى " dynamically typed " Numbers النوع Number يقصد به الأعداد الصحيحة والأعداد ذات العلامة العشرية القيمة من النوع Numbers يمكن القيام بالعمليات الحسابية عليها مثل الضرب والقسمة والجمع والطرح .. إلخ بجانب أنواع الأراقام المتعارف عليها يوجد نوع آخر ينتمي إلى الأرقام في لغة جافا سكريبت ينتمي إليها لكن يختلف عنها قليلًا يطلق عليها : “special numeric values”   Infinity , -Infinity And NaN Infinity : يقصد به لا نهاية ∞ وهي قيمة خاصة أكبر من أي قيمة رقمية ويمكن أن نحصل عليها عند قسمة أي رقم على صفر. NaN : هو خطأ حساب

شرح Autoload Classes With Composer in PHP

صورة
إحنا ليه محتاجين نستخدم الـ Autoloading? لو أنت بتبني مشروع بلغة  PHP  ، غالباً هتحتاج تستخدم Libraries أو Classes أو حتى Functions  موجود جوة ملف تاني. عشان تستخدم الـThird-Party أو كود من ملف تاني غير الملف الحالي فأنت هنا محتاج تدمج الملفين في بعض أو بصورة أدق، أنت محتاج تضمنهم في الكود بتاعك وطبعاً مش هينفع نعمل Copy-Past أكيد أنت عارف ليه. طبعاً أول حل هيجي في بالك أنت تعمل  include  أو تعمل  require  و دا فعلاً حل مناسب جداً لو أنت بتعمل مشروع صغير، بس حتى لو المشروع بتاعك مش ضخم فأنت هتقابلك مشكلة في المستقبل وهي إن المشروع بتاعك كل فترة بيكبر منك وكُل ما المشروع بيكبر أنت عمال تعمل include  و require للكل الملفات اللي محتاجها ودا هيسبب مشكلتين: أول مشكلة أن هيخليك مش هتقدر تعمل Maintain  للكود بتاعك بسهولة. المشكلة التانية إنك بقيت بتضطر تعمل include لملفات أنت مش محتاجها كتير أو محتاج جزء صغير منها ودا هيسبب حاجة إسمها: Memory footprint  تقدر تقرأ عنها من الرابط دا طيب وإيه الحل؟ الحل إنك تعمل include للملفات أو الـ Classes لما تبقا بس محتاجها، ودا أبسط تعريف للــ Autoloading

The Difference between getcwd() AND dirname(__FILE__) -- getcwd() و الدالة dirname(__FILE__) الفريق بين الدالة

صورة
أولاً الدالة getcwd(): - بترجع بمسار المجلد الحالي أو FALSE في حالة وجود مشكلة ثانياً الدالة  dirname(): - بترجع بمسار الملف إللي مررناه ليها كـبراميتر فلما نقول : dirname(__FILE__ ) دا معناه إنها هترجع بمسار كامل للمجلد الذي يحتوي على الملف الحالي و بكدة يكونوا الدالتين شبهه بعض جداً ، لكن في الحقيقة في بينهم إختلاف الدالة getcwd بترجع بمسار الحالي للملف الدالة dirname(__FILE__) بردو هترجع بالمسار الحالي للملف ولكن المسار الي تم تفيذ الملف فيه مش العرض مثال: عند ملف directory.php  و ملف index.php في ملف directory إستخدمنا الدالتين بالشكل الموضح في الصورة التالية: - وبعدين عملنا require_once للملف دا في صفحة الـindex.php لاحظ إن صفحة الindex.php داخل مجلد فرعى بجوار ملف directory.php، ولما شغلنا الكود هيطلع لنا مسارين مختلفين   لاحظ كويس مسار كل ملف في محرر الكود، ولاحظ مسار الملف في المتصفح ولاحظ الفرق