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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. pandas دي مكتبة في لغة البايثون بتستخدم بشكل أساسي لتحليل البيانات ومعالجتها. بتوفرلك بُنى بيانات قوية ومرنة زي DataFrame و Series، اللي بتخليك تتعامل مع البيانات بفعالية. - بتستخدم pandas تقرأ البيانات من مصادر مختلفة زي ملفات CSV و Excel، وتعالج البيانات دي بطرق كتيرة زي التصفية، التجميع، والتحويلات المختلفة. PandasAI دي مكتبة توسعة لمكتبة pandas الأصلية، بتضيف دعم لعمليات تعلم الآلة على بُنى بيانات pandas . يعني بتخليك تنفذ نماذج تعلم آلي مباشرة على بيانات DataFrame. - PandasAI بتقدملك أدوات تقدر تبني وتدرب بيها نماذج تعلم آلي بشكل مباشر وسهل، دا بيخلي المستخدمين يدمجوا تحليل البيانات وتعلم الآلة بكفاءة أعلى في بيئة pandas . مثال توضيحي: - خليك فاكر انك عندك جدول بيانات فيه درجات الطلاب في مادة معينة ووعايز تحسب المتوسط. باستخدام pandas ، ممكن بسهولة تحسب المتوسط دا. بس لو عايز تستخدم البيانات دي تتوقع درجات الطلاب في مادة تانية بنموذج تعلم آلي، هنا PandasAI هتديك الأدوات تعمل دا بطريقة متكاملة جوا بيئة pandas . بالشكل دا، ممكن تستخدم pandas لكل احتياجات معالجة البيانات الأساسية، ولما تحتاج تضيف تعلم آلي لتحليلك، PandasAI هتسهلك العملية دي من غير ما تحتاج تتحول لأدوات او مكتبات تانية.
  3. السلام عليكم اي الفرق بين مكتبه pandasai و مكتبه pandas ؟
  4. استخدم حزمة window_manager، قم بالتثبيت كالتالي flutter pub add window_manager ثم استيراد الحزمة: import 'package:window_manager/window_manager.dart'; ثم في الكود الرئيسي main للتطببيق ضع التالي بعد RunApp لفتح التطبيق في وضع full screen: WidgetsFlutterBinding.ensureInitialized(); // Must add this line. await windowManager.ensureInitialized(); // Use it only after calling `hiddenWindowAtLaunch` windowManager.waitUntilReadyToShow().then((_) async { // Hide window title bar await windowManager.setTitleBarStyle('hidden'); await windowManager.setFullScreen(true); await windowManager.center(); await windowManager.show(); await windowManager.setSkipTaskbar(false); }); وللخروج من وضع full screen نقوم بوضع false: await WindowManager.instance.setFullScreen(false);
  5. السلام عليكم ورحمة الله وبركاته عندي تطبيق flutter descktop اريد عند فتحه ان يكون مكبر يعني مثل ما اضغط على الزر المربع الموجود في الاعلى جنب زر الاغلاق
  6. اليوم
  7. ستجد تبويب باسم دوراتي عند الضغط عليه ستجد الدورات التي اشتركت بها: بعد تسجيل الدخول إلى حسابك في أكاديمية حسوب باستخدام البريد الإلكتروني الذي اشتركت من خلاله في الدورة، ستلاحظ إضافة أيقونة جديدة في الشريط العلوي للموقع باسم "دوراتي"، يمكنك الضغط عليها للوصول إلى الدورات التي اشتركتَ بها.
  8. لقد قمت بالتسجيل في الدورة ولا أستطيع مشاهدة الفيديوهات كيف يمكنني ذلك ؟
  9. ستحتاج أولاً إلى أساسيات HTML, CSS, JS ثم إلى التركيز على الأساسيات في PHP: المتغيرات أنواع البيانات المعاملات المنطقية والرياضية الجمل الشرطية وحلقات التكرار الدوال التعامل مع النماذج html forms كيفية تنفيذ عمليات CRUD ثم تعلم OOP ثم تعلم الطرق السحرية magic methods في PHP حيث يتم استخدامها بكثرة في لارافل ومن خلال ستتمكن من فهم ما يدور في الخلفية. ثم فهم نمط MVC وطبيعة عمله والفائدة منه. ثم تعلم أساسيات SQL والـ ORM مثل MySQL، وكيفية التعامل مع قواعد البيانات من خلال PHP وكيفية تصميم النماذج models لقواعد البيانات. ثم تعلم كيف تقوم بتنفيذ Routing باستخدام PHP. بعد ذلك تستطيع البدء بتعلم لارافل من خلال كورس مُكتمل وليس دروس قصيرة.
  10. يمكنك كتابة عنوان الملف على السيرفر او اذا كان مرفوع على github فقم بنسخ العنوان الخاص به وتاكد عند الذهاب لهذا العنوان انه يوقم بارجاع البيانات على هيئة json
  11. شكرا. لكن كيف اسويها مع ملف json و يكون من github شكرا. لكن كيف اسويها مع ملف json و يكون من github
  12. نعم توجد عدة طرق لحل تلك المشكلة و يجب حلها حتى تساعد فى جعل موقعك اسرع و يكون متوافق مع محركات البحث SEO . يمكنك حل تلك المشكلة عن طريق عدم تحميل ال options فى بداية الصفحة ولكن عند الضغط على select نقوم بارسال طلب AJAX للسيرفر نقوم منه بجلب بيانات ال options عن طريق الجافا سكريب وبعد تحميل الطلب نقوم بانشاء تلك ال options وهذا كود مثال للحل . <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> </head> <body> <select id="select_id"> <option selected>Select</option> </select> <script> $(document).ready(function () { $("#select_id").one('click', function () { $.ajax({ url: "https://jsonplaceholder.typicode.com/users", type: 'GET', success: function (response) { var select = $('#select_id'); $.each(response, function (key, data) { select.append('<option value=' + data.id + '>' + data.email + '</option>'); }); } }); }) }); </script> </body> </html> هنا قمنا باستخدام مكتبة jquery لارسال الطلبات و انشاء ال options بعد رجوع الطلب . اولا يجب عليك انشاء عنوان لارجاع البيانات الخاصة بال select على السيرفر . واستخدام الكود السابق فى الواجهة الامامية مع استبدال العنوان الذى يتم ارسال الطلب له بالعنوان لديك وايضا طريقة انشاء ال option قم فقط باستبدال البيانات التى تريد وضعها والان عند الضغط على عنصر select سيتم ارسال الطلب وانشاء ال options تلقائيا. او يمكنك استخدام مكتبة select2 وهى جيدة لمثل هذه الحالات وتوجد بها خصائص جيدة مثل البحث و ايضا اظهار علامة التحميل بينما يتم ارسال الطلب للسيرفر.
  13. وعليكم السلام ورحمة الله وبركاته. ستجد الان خانة جديدة ظهرت فى شريط التنقل تسمى دوراتى يمكنك الضغط عليها للدخول الى محتوى الدورة التى قمت بشرائها . ويمكنك قراءة هذه الاجابة لمعرفة كيفية تصفح الدورات على الموقع. واذا ما وجهتك اى مشكلة فى الوصول لمحتوى الدورة او لم تظهر لك بعد يمكنك التواصل مع مركز المساعدة بالأكاديمية وسيقومون بحل المشكلة لديك ان شاء الله. ولا تقلق اذا ما احتجت اى مساعدة بشان الدروس فانه يوجد هنا العديد من المدربين المتاحين فى كل وقت وذلك لمساعدة الطلاب فى كل ما يحتاجونه. بالتوفيق لك ان شاء الله.
  14. السلام عليكم انا عندي صفحة فيها select مع 4000 option و المشكلة ان اذا بدخل الصفحة تحميل الصفحة يأخذ وقت من 3 الى 7 ثواني مب شيء كبير لكن المشروع حقي بيصير فيه نفس المشكلة مستقبلا كيف احل هذي المشكلة قبل ان تواجهني مرة ثانية بحثت لكن ما لقيت حل.
  15. السلام عليكم اشتركت الان بدورة الذكاء الاصطناعي ولا استطيع دخول الدورة
  16. دورة تطوير واجهة المستخدم هى دورة خاصة بمجال الواجهة الأمامية Front-End حيث ستتعلم فى هذه الدورة:- أساسيات تطوير الويب بداية من HTML و CSS ولغة البرمجة JavaScript. ثم بناء متجر إلكتروني من خلال التقنيات Bootstrap 5 و Sass و Webpack. بالإضافة لعدة مشاريع أخرى مثل بناء واجهة مثل يوتيوب وبناء صفحات هبوط وتطوير موقع شركة وتطوير لوحة تحكم وتطوير موقع إخبارى. وسنتعلم استخدام إطار تطوير المواقع الثابتة Hugo مع مع بناء عدة مواقع باستخدام Hugo. والمسمى الوظيفى لك عند إنتهائك من هذه الدورة مطور واجهة أمامية (Front-End Developer) ولكى تصبح مطور متكامل (Full Stack Developer) يمكنك الاستمرار فى التعلم لتصبح مطور واجهة خلفية (Back-End Developer) وتصبح مطور واجهة أمامية وخلفية فى ذات الوقت أى مطور متكامل Full Stack Developer. اللغات التى يمكنك الإختيار منها لتصبح مطور واجهة خلفية:- يمكنك الاستمرار فى تعلم الجافاسكربت وتعلم النود جى اس وبناء واجهة خلفية بالجافا سكربت. php : تستطيع تعلم لغة php مع اطار العملlaravel او Symfony وبناء الواجهة الخلفية. Python : تستطيع تعلم لغة Python مع اطار العملdjango أو flask وبناء الواجهة الخلفية. Ruby : تستطيع تعلم لغة Ruby وبناء الواجهة الخلفية. بعد دراستك لهذه اللغات وأطر العمل أصبحت مطور متكامل Full Stack Developer. للمزيد للمسميات الوظيفية والمسارات المختلفة يمكنك الإطلاع على هذه الإجابات
  17. نلقي نظرة في هذا المقال على المصفوفات وهي إحدى الطرق الأنيقة لتخزين قوائم من العناصر تحت اسم متغير واحد. سنتعلم فائدة المصفوفات ونكتشف بعدها كيف نكوّن المصفوفة ونضيف العناصر إليها أو نزيلها أو نستعيدها، إضافة إلى بعض النقاط المفيدة الأخرى. ننصحك قبل المتابعة في قراءة هذا المقال بالاطلاع على بعض المقالات السابقة مثل: أساسيات علوم الحاسب. أساسيات HTML. أساسيات عمل CSS ما هي المصفوفات؟ توصف المصفوفات Array عمومًا أنها كائنات تشبه القوائم، فهي في مبدأها كائنات مفردة تتضمن قيمًا مخزّمة ضمنها على شكل قائمة. يمكن تخزين المصفوفات ضمن المتغيرات ويجري التعامل معها كغيرها من القيم، لكن الفرق الوحيد هو إمكانية الوصول إلى كل قيمة ضمن المصفوفة بشكل منفصل عن غيرها مما يتيح إمكانيات كبيرة وفعّالة في التعامل مع القوائم والتنقل بين عناصرها ضمن حلقات لتنفيذ نفس التغييرات على كل قيمة أو على قيم منتقاة. فقد تتضمن المصفوفة مثلًا قائمة من أسعار منتجات وتريد طباعة هذه الأسعار ضمن فاتورة ثم جمع السعر الكلي وطباعته أسفل القائمة. ودون وجود مصفوفات كان علينا تخزين كل عنصر في متغير منفصل ومن ثم استدعاء الشيفرة التي تنفذ عملية الطباعة والجمع لكل عنصر وبشكل منفصل. ستكون الشيفرة عندها طويلة وغير فعّالة وموّلدة لأخطاء أكثر. فتخيل إن كان عدد العناصر 10 مثلًا، سيكون إضافتها إلى الفاتورة مزعجًا، فكيف هو الحال إن كان هناك 1000 عنصر؟ وكما فعلنا في مقالات أخرى سنتدرب على أساسيات التعامل مع المصفوفات باستخدام طرفية جافا سكريبت في المتصفح والتي يمكنك الوصول لها من خلال النقر على مفاتيح (Ctrl + Shift+ K في فايرفكس). إنشاء المصفوفات تتكون المصفوفة من قوسين مربعين وعناصر تفصل بينها فاصلة ,. افترض أنك تريد تخزين لائحة التسوق التالية في مصفوفة، أنشأ هذه المصفوفة بنسخ ولصق الشيفرة التالية في الطرفية: const shopping = ["bread", "milk", "cheese", "hummus", "noodles"]; console.log(shopping); إن كل عناصر المصفوفة السابقة هي عناصر نصية، لكن بإمكانك تخزين أنواع مختلفة من البيانات مثل الأعداد والسلاسل النصية والكائنات وحتى مصفوفات أخرى. كما يمكن استخدام أنواع مختلفة في المصفوفة نفسها، فلا ضرورة لإلزام أنفسنا بإنشاء مصفوفة لتخزين الأعداد وأخرى للنصوص. إليك مثالًا: const sequence = [1, 1, 2, 3, 5, 8, 13]; const random = ["tree", 795, [0, 1, 2]]; جرب إنشاء بعض المصفوفات قبل المتابعة. إيجاد طول مصفوفة بإمكانك إيجاد طول مصفوفة (عدد العناصر التي تضمها) بنفس طريقة إيجاد عدد المحارف في سلسلة نصية باستخدام الخاصية ()length: const shopping = ["bread", "milk", "cheese", "hummus", "noodles"]; console.log(shopping.length); // 5 الوصول إلى عناصر مصفوفة وتعديلها تُرقم عناصر المصفوفة ابتداءً من الصفر ويُدعى هذا الرقم دليل العنصر item index. وهكذا سيكون دليل العنصر الأول هو 0 والثاني 1 وهكذا. وللوصول إلى عنصر معين في مصفوفة ضع اسم المصفوفة يليها قوسين مربعين ضمنهما دليل العنصر أي بنفس الطريقة التي تصل فيها إلى محرف في سلسلة نصية: const shopping = ["bread", "milk", "cheese", "hummus", "noodles"]; console.log(shopping[0]); // returns "bread" بالإمكان أيضًا تعديل عنصر في المصفوفة بإسناد قيمة جديدة إلى العنصر المطلوب: const shopping = ["bread", "milk", "cheese", "hummus", "noodles"]; shopping[0] = "tahini"; console.log(shopping); // shopping will now return [ "tahini", "milk", "cheese", "hummus", "noodles" ] ملاحظة: تذكر أن العد أو الفهرسة في جافا سكريبت تبدأ من 0 وليس من 1. تُدعى المصفوفة ضمن مصفوفة بالمصفوفة متعددة الأبعاد، ويمكن الوصول إلى عنصر في مصفوفة موجودة ضمن مصفوفة أخرى بكتاب اسم المصفوفة الخارجية يليها زوجين من الأقواس المربعة يضم الأول دليل المصفوفة الداخلية ضمن المصفوفة الخارجية وفي الثاني دليل العنصر المطلوب في المصفوفة الداخلية. فلو أردت الوصول إلى أحد عناصر المصفوفة التي دليلها 2 (العنصر الثالث) ضمن المصفوفة random يمكنك إنجاز الأمر كالتالي: const random = ["tree", 795, [0, 1, 2]]; random[2][2]; جرّب أن تعدّل على عناصر المصفوفات التي أنشأتها قبل المتابعة. إيجاد دليل العناصر في مصفوفة إن لم تكن تعرف دليل العنصر، استخدم التابع ()indexOf الذي يأخذ العنصر وسيطًا له ويعيد دليله إن كان موجودًا أو 1- إن لم يجده. const birds = ["Parrot", "Falcon", "Owl"]; console.log(birds.indexOf("Owl")); // 2 console.log(birds.indexOf("Rabbit")); // -1 إضافة عنصر إلى مصفوفة ﻹضافة عنصر أو أكثر إلى نهاية المصفوفة، نستخدم التابع ()push وعليك حينها التأكد من إضافة عنصر أو آخر إلى نهاية المصفوفة. const cities = ["Manchester", "Liverpool"]; cities.push("Cardiff"); console.log(cities); // [ "Manchester", "Liverpool", "Cardiff" ] cities.push("Bradford", "Brighton"); console.log(cities); // [ "Manchester", "Liverpool", "Cardiff", "Bradford", "Brighton" ] يعيد التابع طول المصفوفة الجديد عند نجاح العملية، وبإمكانك أيضًا تخزين طول المصفوفة الجديد بإسناد التابع إلى متغير كالتالي: const cities = ["Manchester", "Liverpool"]; const newLength = cities.push("Bristol"); console.log(cities); // [ "Manchester", "Liverpool", "Bristol" ] console.log(newLength); // 3 وﻹضافة عناصر إلى بداية مصفوفة، استخدم التايع ()unshift: const cities = ["Manchester", "Liverpool"]; cities.unshift("Edinburgh"); console.log(cities); // [ "Edinburgh", "Manchester", "Liverpool" ] إزالة عناصر من مصفوفة ﻹزالة العنصر اﻷخير من مصفوفة، استخدم التابع ()pop: const cities = ["Manchester", "Liverpool"]; cities.pop(); console.log(cities); // [ "Manchester" ] يعيد هذا التابع العنصر الذي أزيل من المصفوفة، ولكي تخزن هذا العنصر في متغيّر، يمكنك اتباع الطريقة التالية: const cities = ["Manchester", "Liverpool"]; const removedCity = cities.pop(); console.log(removedCity); // "Liverpool" وﻹزالة العنصر اﻷول من مصفوفة استخدم التابع ()shift: const cities = ["Manchester", "Liverpool"]; cities.shift(); console.log(cities); // [ "Liverpool" ] وإن كنت تعلم دليل العنصر بإمكانك إزالته من المصفوفة باستخدام التابع ()splice: const cities = ["Manchester", "Liverpool", "Edinburgh", "Carlisle"]; const index = cities.indexOf("Liverpool"); if (index !== -1) { cities.splice(index, 1); } console.log(cities); // [ "Manchester", "Edinburgh", "Carlisle" ] يحدد الوسيط الأول للتابع ()splice دليل العنصر الذي تبدأ عنده إزالة العناصر، ويحدد الوسيط الثاني عدد العناصر التي يجب إزالتها، وبالتالي بإمكانك استخدامه ﻹزالة عدة عناصر: const cities = ["Manchester", "Liverpool", "Edinburgh", "Carlisle"]; const index = cities.indexOf("Liverpool"); if (index !== -1) { cities.splice(index, 2); } console.log(cities); // [ "Manchester", "Carlisle" ] الوصول إلى كل العناصر قد تحتاج أحيانًا الوصول إلى كل عنصر من عناصر مصفوفة، عندها يمكنك استخدام الحلقة for...of: const birds = ["Parrot", "Falcon", "Owl"]; for (const bird of birds) { console.log(bird); } وقد تضطر أحيانًا إلى تنفيذ عملية ما على كل عنصر من عناصر مصفوفة للحصول على مصفوفة جديدة مختلفة عن اﻷصل. استخدم لهذه الغاية التابع ()map. يوضح المثال التالي كيفية مضاعفة جميع أعداد مصفوفة عددية: function double(number) { return number * 2; } const numbers = [5, 2, 7, 6]; const doubled = numbers.map(double); console.log(doubled); // [ 10, 4, 14, 12 ] مررنا إلى التابع ()map وسيًا هو الدالة double التي يستدعيها لمضاعفة كل عنصر ثم يضيف ناتج كل استدعاء إلى المصفوفة الجديدة ويعيد هذه المصفوفة في النهاية. وقد تحتاج في بعض اﻷحيان إلى تشكل مصفوفة جديدة تضم عناصر من مصفوفة قديمة إذا حققت هذه العناصر شرطًا ما، استخدم لهذه الغاية التابع ()filter. لاحظ كيف نستخدم هذا التابع في المثال التالي الذي يأخذ مصفوفة ويعيد مصفوفة تضم فقط العناصر التي طولها أكبر من 8: function isLong(city) { return city.length > 8; } const cities = ["London", "Liverpool", "Totnes", "Edinburgh"]; const longer = cities.filter(isLong); console.log(longer); // [ "Liverpool", "Edinburgh" ] وكذلك يستدعي التابع ()filterدالة لاختبار كل عنصر من عناصر المصفوفة فإن أعادت القيمة true يُضاف العنصر إلى المصفوفة الجديدة ثم يعيد هذه المصفوفة في النهاية. التحويل بين المصفوفات والسلاسل النصية قد يُعرض عليك كم كبير من البيانات الخام التي تتضكن سلاسل نصية طويلة، وتجد ضرورة لتقسيم هذه البيانات إلى عناصر أكثر فائدة يمكن معالجتها لاحقًا كأن تعرضها في جدول. يمكنك في هذه الحالة استخدام التابع ()split، وهو تابع يأخذ في أبسط أشكاله معاملًا واحدًا هو المحرف الذي تحدث عنده عملية تقسيم السلسلة. ملاحظة: هذا التابع هو تابع لمعالجة السلاسل النصية لكنه يعيد مصفوفة لذلك أشرنا إليه في هذا المقال. ولمعرفة طريقة عمل ()split اتبع الخطوات التالية: أنشئ السلسلة النصية التالية في طرفية جافا سكربت ;"const data = "Manchester,London,Liverpool,Birmingham,Leeds,Carlisle افصل السلسلة عند المحرف ,: const cities = data.split(","); cities; حاول حساب طول المصفوفة الجديدة واستخلص بعض عناصرها: cities.length; cities[0]; // the first item in the array cities[1]; // the second item in the array cities[cities.length - 1]; // the last item in the array بإمكانك عكس العملية باستخدام التابع ()join: const commaSeparated = cities.join(","); commaSeparated; كما يمكن تحويل المصفوفة إلى سلسلة نصية باستخدام التابع ()toString الذي يعده البعض أبسط من ()join لأنه يأخذ معاملًا وحيدًا، لكنه أكثر محدودية فلا يمكنه الفصل سوى عند المحرف , على عكس ()join الذي يمكن أن تحدد فيه أكثر من محرف لفصل السلاسل. const dogNames = ["Rocket", "Flash", "Bella", "Slugger"]; dogNames.toString(); // Rocket,Flash,Bella,Slugger تطبيق عملي: طباعة قائمة منتجات بالعودة إلى مثالنا السابق عن قائمة المنتجات وأسعارها التي نريد إدراجها في فاتورة ثم نحسب إجمالي الفاتورة ونطبعها في اﻷسفل. ستجد في المحرر التفاعلي التالي مجموعة من التعليقات المرقمة، ويحدد كل تعليق مكانًا لكتابة شيفرة معينة: تحت التعليق number 1// ستجد عددًا من السلاسل النصية التي تضم كلا منها اسم المنتج وسعره ويفصل بينهما فاصلة. والمطلوب منك تحويلها إلى مصفوفة وتخزينها ضمن المتغيّر products أنشئ حلقة for...of تحت التعليق number 2// كي تمر على جميع عناصر المصفوفة السابقة. اكتب تحت التعليق number 3// شيفرة لفصل عناصر المصفوفة السابقة () إلى عنصرين يضم اﻷول الاسم والثاني السعر. إن لم تكن متأكدًا من طريقة تنفيذ اﻷمر راجع مقال [توابع جافا سكريبت اﻷصلية للتعامل مع النصوص]()، أو عد إلى فقرة التحويل بين المصفوفات والسلاسل النصية التي عرضناها قبل قليل. ويجب عليك أيضًا أن تحوّل السعر في السطر السابق من نص إلى عدد. يمكنك العودة إلى مقال التعامل مع النصوص في جافا سكريبت كي تتذكر آلية تنفيذ اﻷمر. ستجد متغرًا باسم totalوقد أسندت إليه القيمة 0. نطلب إليك أن تضيف سطرًا ضمن الحلقلة الموجودة أسفل التعليق number 4// ﻹضاف سعر العنصر الحالي إلى قيمة المتغير total عند كل تكرار للحلقة حتى نحصل في النهاية على إجمالي السعر أسفل الفاتورة، وقد تحتاج إلى استخدام عامل إسناد مناسب. غيّر السطر أسفل التعليق number 5// لتصبح قيمة المتغيّر مطابقة للسلسلة "العنصر الحالي — سعر العنصر الحالي$" مثل "Shoes — $23.99" عند كل تكرار كي تُطبع المعلومات الصحيحة لكل منتج ضمن الفاتورة. وتُنفّضذ العملية بضم بسيط لسلسلتين نصيتين. أضف القوس { أسفل التعليق number 6// ﻹنهاء حلقة for...of. See the Pen js-array-1 by Hsoub Academy (@HsoubAcademy) on CodePen. تطبيق عملي: نتائج البحث الخمسة الأولى يظهر استخدام مهم للتابعين ()push و ()pop عندما تريد أن تحدّث سجلًا لعناصر نشطة في تطبيق ويب، كأن يكون لديك تطبيق يعرض رسومًا متحركة ويضم عددًا كبيرًا من الكائنات مثل الخلفية وعناصر اخرى وتريد لسبب أو ﻵخر عرض 50 كائنًا فقط معًا. فعند إضافة عناصر جديدة لمصفوفة الكائنات تّحذف عناصر أقدم ليبقى عدد الكائنات المعروضة 50. في تطبيقنا هذا سنبسط اﻷمر أكثر، إذ سنفترض وجود محرك بحث وهمي يضم صندوق بحث، ومن المفترض عرض قائمة بآخر خمس عمليات بحث عند إدخال أي شيء في صندوق البحث. وعند تجاوز عمليات البحث 5 عمليات تُحذف العملية اﻷقدم وتضاف العملية الجديدة كي يبقى عدد عناصر القائمة 5. ملاحظة: قد تكون قادرًا في تطبيقات البحث الفعلية على النقر على زر ما لاستعادة جمع عمليات البحث التي جرت وطريقة لعرض كل النتائج. ﻹنجاز اﻷمر: أضف سطرًا تحت التعليق number 1// الذي يضيف عملية البحث المدخلة مؤخرًا إلى بداية المصفوفة، ويمكن الحصول على هذه القيمة من خلال اﻷمر searchInput.vlue. أضف سطرًا تحت التعليق number 2// كي يزيل العنصر الموجود في آخر المصفوفة حاليًا. See the Pen js-array-2 by Hsoub Academy (@HsoubAcademy) on CodePen. الخلاصة لا بد وأنك استنتجت أهمية المصفوفات بعد إكمال قراءة هذا المقال، وستجدها في كل مكان في شيفرة جافا سكريبت وعادة بالتشارك مع حلقات كي تكرر نفس العمليات على كل عنصر من عناصرها. أما اﻵن وقد انتهيت من هذه السلسلة من التعليمات التي شرحنا فيها أساسيات جافا سكريبت، خذ قسطًا من الراحة واستعد للسلسلة القادمة التي سنوضح فيها مواضيع أكثر تقدمًا في لغة جافا سكريبت مثل العبارات الشرطية واتخاذ القرار في جافا سكريبت والتعامل مع الدوال البرمجية وغيرها من المفاهيم الضرورية لأي مطور. ترجمة -وبتصرف- للمقال Arrays اقرأ أيضًا المقال السابق: توابع التعامل مع النصوص في جافا سكريبت فهم المصفوفات في الجافاسكربت البحث والترتيب في المصفوفات Array في جافا كيفية استخدام وظائف المصفوفات في الجافا سكريبت – توابع التعديل تعلم جافا سكريبت
  18. البارحة
  19. وعليكم السلام ورحمة الله وبركاته. مرحبا ربيع . ستجد الان خانة جديدة ظهرت فى شريط التنقل تسمى دوراتى يمكنك الضغط عليها للدخول الى محتوى الدورة التى قمت بشرائها . ويمكنك قراءة هذه الاجابة لمعرفة كيفية تصفح الدورات على الموقع. ولا تقلق اذا ما احتجت اى مساعدة فجميع المدربين هنا على موقع الاكادمية متواجدون فى كل الاوقات لمساعدة الطلاب . بالتوفيق لك ان شاء الله.
  20. السلام عليكم با اخوه انا اشتركت في الدور لو سمحت لو لو سمحت كيف اتعلم وابدا بالتعلم ارسلو لي تم الاشتراك بس ادخل عليه نفس الشي اشترك الان ممكن تقولي اش المشكله كيف ومن أين ابدا
  21. السلام عليكوم ورحمة الله و بركاته اخواني في الله احتاج للمساعدة في تحويل روابط المنتدى من php إلى html حيث اني استخدمت الكود في هذا الموضوع :: : و السيرفر يعطي خطأ 404
  22. مرحبا اتكلم عن دوره تطوير واجهات المستخدم المعذره علا عدم التوضيح سابقا
  23. بشكل عام، لا يتم إدراج أوامر قواعد البيانات بشكل مباشر داخل المخططات الانسيابية (Flowcharts). السبب في ذلك هو أن المخططات الانسيابية تركز على تدفق العمليات والمنطق، وليس على تفاصيل التنفيذ الفنية مثل أوامر قواعد البيانات. بدلاً من ذلك، يتم تمثيل التفاعل مع قاعدة البيانات في المخطط الانسيابي باستخدام رموز وعمليات عامة، مثل: * رمز الإدخال/الإخراج: يستخدم لتمثيل عملية قراءة البيانات من قاعدة البيانات أو كتابة البيانات إليها. * رمز العملية: يستخدم لتمثيل عملية معالجة البيانات المسترجعة من قاعدة البيانات أو التي سيتم تخزينها فيها. * رمز القرار: يستخدم لتمثيل الشروط والاختيارات التي تعتمد على البيانات المسترجعة من قاعدة البيانات. مثال: لنفترض أنك ترسم مخططًا انسيابيًا لعملية تسجيل الدخول إلى موقع ويب. يمكن تمثيل التفاعل مع قاعدة البيانات كالتالي: 1. رمز الإدخال/الإخراج: قراءة اسم المستخدم وكلمة المرور من المستخدم. 2. رمز العملية: إرسال اسم المستخدم وكلمة المرور إلى قاعدة البيانات للتحقق. 3. رمز القرار: إذا كانت بيانات الاعتماد صحيحة، انتقل إلى صفحة الرئيسية. وإلا، أظهر رسالة خطأ. ملاحظة: يمكن تضمين تفاصيل أوامر قواعد البيانات في وثائق منفصلة، مثل مواصفات التصميم أو تعليقات التعليمات البرمجية. أدوات بديلة لتمثيل عمليات قواعد البيانات: * مخططات ER (Entity-Relationship Diagrams): تستخدم لتمثيل بنية قاعدة البيانات والعلاقات بين الجداول. * مخططات UML (Unified Modeling Language): توفر مجموعة متنوعة من المخططات لتمثيل جوانب مختلفة من النظام، بما في ذلك التفاعل مع قاعدة البيانات
  24. السلام عليكم ، عندما تقوم برسم مخطط التدفق الخاص بخوارزمية تحتوي على عمليات على قواعد البيانات هل يتم إدارج هذه العمليات في الخطط أم نكتفي فقط بذكر أشياء مثل إضافة مستخدم إلى قاعدة البيانات أو حذفه و من هذا القبيل
  25. هل يظهر أخطاء في google console تفقد الأخطاء الخاصة بالصفحات ال none indexed وسبب الخطأ وهل يوجد أخطاء أخرى تتعلق بال index وهل الموقع جديد ام جديد وهل المقالات جديدة ام قديمة
  26. السلام عليكم ماذا قبل تعلم اطار عمل لارافيل انا تعلمت بعض من لغة برمجة php من يوتيوب هدا اغلب تعلمته كيفية تعريف متغيرات جمل شرطية if switch جمل تكرار while for do wile المصفوفات بانواعها تعامل مع الوقت والتاريخ تعامل مع رفع ملفات تعلمت opp برمجة كائنية التوجه تعامل مع قواعد بيانات عن طريق mysqli ماذا احتاج لكن افهم اطار عمل لارافيل ياريت نصائحكم اخواني المبرمجين للعلم كل يوم اجد شي جديد عالم كبير برمجة اما احتاج تعلم مزيد في php انا عارف انه اطار عمل لارافيل مبني بلغة php نصائحكم اخواني مبرمجين وبارك الله فيكم
  1. عرض المزيد
×
×
  • أضف...