اذهب إلى المحتوى

Talal Alharbi2

الأعضاء
  • المساهمات

    20
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Talal Alharbi2

  1. بتاريخ 4 دقائق مضت قال عبدالباسط ابراهيم:

    الفائدة ببساطة لوظائف الدرجة الأولى في لغة البرمجة javascript أنه في بعض اللغات البرمجية الأخرى  يكون لها قيود / حدود على كيفية إنشاء الوظائف أو استخدامها وليس كما في الشرح السابق فلا يمكنك يمكن إسنادها كقيمة لمتغيرات ولا يمكن تمريرها كمعاملات للوظائف إلخ

    اعلم هذا ، لكن مالفائدة البرمجية من الامر ؟

  2. ممتاز شرح واضح لكن الفايده من First function ماهو ؟

    بتاريخ 15 ساعة قال عبدالباسط ابراهيم:

    تعتبر لغة البرمجة أنها تدعم وظائف الدرجة الأولى عندما لا يكون لها قيود / حدود على كيفية إنشاء الوظائف أو استخدامها.حيث يقال إن لغة البرمجة لها وظائف من الدرجة الأولى عندما يتم التعامل مع الوظائف في تلك اللغة مثل أي متغير آخر.

    بعض "الامتيازات" للوظائف من الدرجة الأولى:

    • يمكن إسنادها كقيمة لمتغيرات بدون مشكلة
      const string = "Foo"
      const num    = 2
      const bool   = false
      const greet  = (name) => `Hello ${name}`
      
      greet('Ahmed') // Hello Ahmed

       

    • يمكن تمريرها كمعاملات للوظائف
      const nums = [1, 2, 3, 4, 5]
      const addOne = (n) => n + 1
      const addedOne = nums.map(addOne) // [2, 3, 4, 5, 6]

       

    • يمكن إرجاعها كنتيجة من وظيفة ما
      const makeCounter = () => {
          let count = 0
          return () => ++count
      }
      const counter = makeCounter()
      counter() // 1
      counter() // 2

       

    • يمكن تخزينها في أي هياكل البيانات : يمكننا تخزين الوظائف في مصفوفات و يمكننا أيضًا تخزينها في كائنات 

    وظائف الترتيب الأعلى هي وظائف تعمل على وظائف أخرى ، إما عن طريق أخذها كوسيطات أو عن طريق إعادتها. بكلمات بسيطة ، دالة الترتيب الأعلى هي وظيفة تتلقى دالة كوسيطة أو تُرجع الدالة كإخراج. على سبيل المثال ، Array.prototype.map و Array.prototype.filter و Array.prototype.reduce هي بعض وظائف الترتيب الأعلى المضمنة في اللغة.

    ولمعرفة الأهمية سنقوم بكتابة مثال من خلال وظائف الترتيب الأعلى وبدونها

    بدون وظيفة الترتيب الأعلى

    const birthYear = [1975, 1997, 2002, 1995, 1985];
    const ages = [];
    for(let i = 0; i < birthYear.length; i++) {
      let age = 2018 - birthYear[i];
      ages.push(age);
    }

    يمكنك تنفيذ البرنامج السابق ببساطة مع وظيفة الترتيب الأعلى map 

    const birthYear = [1975, 1997, 2002, 1995, 1985];
    const ages = birthYear.map(year => 2018 - year);

     

     

  3. سلام عليكم .

    عندي سؤال هل لغات scripting languages نمط عملها مختلف عن لغات اخرى زي سي شارب وغيرها ؟ لان لاحظت كذا حاجه غريبه !

    نقدر نسند قيمة لمتغير وبنفس اللاين اعمل شرط برمجي اخر ! مثال

     

    let firstname = this.getAttribute("firstname") || undefined;

     

    • أعجبني 1
  4. سلام عليكم .  يسعد صباحكم ، الان لو عملنا مشروع برمجي php والمشروع كبر وصار عليه زوار ووو لكن الكود ليس جودته عاليه  ولا يطبق مبادئ SOLID . نقدر نستخرج البيانات من قاعدة البيانات ونصمم قاعدة جديده قويه ونعيد البرمجة للموقع بسهوله ؟؟

    • أعجبني 1
  5. سلام عليكم ورحمة الله 

    كيف ممكن في php نغير المسار للرابط بحيث لايظهر مسارات المجلدات فقط على سبيل المثال 

    /https://example/1188727590 

    بدون ماتظهر اسماء المجلدات مثل public وغيرها 

    • أعجبني 1
  6. بتاريخ 21 ساعات قال Entesar ElBanna:

    أهلًا بك،

    بالنسبة للمستخدم النهائي للتطبيق، لن يشعر بالفرق إن استخدم المبرمج Encapsulation أو لم يستخدم، فلا تظهر فائدة Encapsulation بالنسبة لمستخدمي التطبيق وإنما تظهر الفائدة الكبرى بين المبرمجين أنفسهم مثلًا كانو في فريق عمل أو بدأ أحدهم الشيفرات وأكمل كتابتها الأخر فهنا تظهر فائدة Encapsulation والتي منها:

    • إخفاء البيانات: يمكن أن يوفر للمبرمج إخفاء الClasses الداخلية وبالتالي يتاح لباقي المبرمجين الوصول إلى الشيفرة المطلوبة فقط وبدون معرفة كيفية تعريف المتغيرات.
    • دوال Getter و Setter: لأن متغرات Private لا يتوصل لها إلا داخل Class فتوفر هذه الدوال المعرفة Public الوصول إلى هذه المتغيرات.
    • المرونة: يمكن للمبرمج جعل البيانات للقراءة فقط أو للكتابة فقط. كما أن Encapsulation يحسن الصيانة والمرونة في الكود.
    • قابلية إعادة الاستخدام: تتيح للمبرمجين استخدام الكود الموجود مرارًا وتكرارًا بطريقة فعالة.
    • اختبار الكود: سهولة الاختبار يصبح سهلاً.

    يمكنك الإستفادة بأمثلة من خلال موسوعة حسوب

    لكن حسب بحثي انها تحمي التطبيق ايضاً من العبث بالتطبيق النهائي ؟!

  7. السلام عليكم ورحمة الله وبركاتة ,, اخواني انا حاولت افهم التغليف وفهمت كيفية عمله لكن للان مافهمت لماذا نستخدمه ؟

    يعني المستخدم للتطبيق بيفيده بإيش عملية التغليف ؟ 

    اتمنى اجد الشرح الكافي ,, وجزاكم الله خيراً

  8. بتاريخ 23 ساعات قال طارق جهاد:

    وعليكم السلام ورحمة الله.
    الهدف واحد، وهو التحويل بين الأنواع، وخاصة من القيم النصية إلى القيم العددية.

    لكن Parse تتبع لكل نوع، مثلا تجد int.Parse و double.Parse و DateTime.Parse و...

    لكن Convert تجميع بين هذه الدوال (دوال Parse المختلفة) مع خيارات اضافية في التحويل بين الأنواع.

     

    استخدم ما يناسبك بحسب السياق. جميعها تعتمد على نفس الخوارزميات في التحويل.

     

    بالتوفيق،،،

    بارك الله فيك اخي العزيز لكن ممكن توضح عن دالة convert بشكل اوضح

×
×
  • أضف...