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

كل الأنشطة

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

  1. الساعة الماضية
  2. اليوم
  3. شكرا. لكن كيف اسويها مع ملف json و يكون من github شكرا. لكن كيف اسويها مع ملف json و يكون من github
  4. نعم توجد عدة طرق لحل تلك المشكلة و يجب حلها حتى تساعد فى جعل موقعك اسرع و يكون متوافق مع محركات البحث 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 وهى جيدة لمثل هذه الحالات وتوجد بها خصائص جيدة مثل البحث و ايضا اظهار علامة التحميل بينما يتم ارسال الطلب للسيرفر.
  5. وعليكم السلام ورحمة الله وبركاته. ستجد الان خانة جديدة ظهرت فى شريط التنقل تسمى دوراتى يمكنك الضغط عليها للدخول الى محتوى الدورة التى قمت بشرائها . ويمكنك قراءة هذه الاجابة لمعرفة كيفية تصفح الدورات على الموقع. واذا ما وجهتك اى مشكلة فى الوصول لمحتوى الدورة او لم تظهر لك بعد يمكنك التواصل مع مركز المساعدة بالأكاديمية وسيقومون بحل المشكلة لديك ان شاء الله. ولا تقلق اذا ما احتجت اى مساعدة بشان الدروس فانه يوجد هنا العديد من المدربين المتاحين فى كل وقت وذلك لمساعدة الطلاب فى كل ما يحتاجونه. بالتوفيق لك ان شاء الله.
  6. السلام عليكم انا عندي صفحة فيها select مع 4000 option و المشكلة ان اذا بدخل الصفحة تحميل الصفحة يأخذ وقت من 3 الى 7 ثواني مب شيء كبير لكن المشروع حقي بيصير فيه نفس المشكلة مستقبلا كيف احل هذي المشكلة قبل ان تواجهني مرة ثانية بحثت لكن ما لقيت حل.
  7. السلام عليكم اشتركت الان بدورة الذكاء الاصطناعي ولا استطيع دخول الدورة
  8. دورة تطوير واجهة المستخدم هى دورة خاصة بمجال الواجهة الأمامية 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. للمزيد للمسميات الوظيفية والمسارات المختلفة يمكنك الإطلاع على هذه الإجابات
  9. نلقي نظرة في هذا المقال على المصفوفات وهي إحدى الطرق الأنيقة لتخزين قوائم من العناصر تحت اسم متغير واحد. سنتعلم فائدة المصفوفات ونكتشف بعدها كيف نكوّن المصفوفة ونضيف العناصر إليها أو نزيلها أو نستعيدها، إضافة إلى بعض النقاط المفيدة الأخرى. ننصحك قبل المتابعة في قراءة هذا المقال بالاطلاع على بعض المقالات السابقة مثل: أساسيات علوم الحاسب. أساسيات 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 في جافا كيفية استخدام وظائف المصفوفات في الجافا سكريبت – توابع التعديل تعلم جافا سكريبت
  10. البارحة
  11. وعليكم السلام ورحمة الله وبركاته. مرحبا ربيع . ستجد الان خانة جديدة ظهرت فى شريط التنقل تسمى دوراتى يمكنك الضغط عليها للدخول الى محتوى الدورة التى قمت بشرائها . ويمكنك قراءة هذه الاجابة لمعرفة كيفية تصفح الدورات على الموقع. ولا تقلق اذا ما احتجت اى مساعدة فجميع المدربين هنا على موقع الاكادمية متواجدون فى كل الاوقات لمساعدة الطلاب . بالتوفيق لك ان شاء الله.
  12. السلام عليكم با اخوه انا اشتركت في الدور لو سمحت لو لو سمحت كيف اتعلم وابدا بالتعلم ارسلو لي تم الاشتراك بس ادخل عليه نفس الشي اشترك الان ممكن تقولي اش المشكله كيف ومن أين ابدا
  13. السلام عليكوم ورحمة الله و بركاته اخواني في الله احتاج للمساعدة في تحويل روابط المنتدى من php إلى html حيث اني استخدمت الكود في هذا الموضوع :: : و السيرفر يعطي خطأ 404
  14. مرحبا اتكلم عن دوره تطوير واجهات المستخدم المعذره علا عدم التوضيح سابقا
  15. سيتم الرد عليك بخصوص الأمر لا تقلق، أرجو الإنتظار. شكرًا لتفهمك.
  16. بشكل عام، لا يتم إدراج أوامر قواعد البيانات بشكل مباشر داخل المخططات الانسيابية (Flowcharts). السبب في ذلك هو أن المخططات الانسيابية تركز على تدفق العمليات والمنطق، وليس على تفاصيل التنفيذ الفنية مثل أوامر قواعد البيانات. بدلاً من ذلك، يتم تمثيل التفاعل مع قاعدة البيانات في المخطط الانسيابي باستخدام رموز وعمليات عامة، مثل: * رمز الإدخال/الإخراج: يستخدم لتمثيل عملية قراءة البيانات من قاعدة البيانات أو كتابة البيانات إليها. * رمز العملية: يستخدم لتمثيل عملية معالجة البيانات المسترجعة من قاعدة البيانات أو التي سيتم تخزينها فيها. * رمز القرار: يستخدم لتمثيل الشروط والاختيارات التي تعتمد على البيانات المسترجعة من قاعدة البيانات. مثال: لنفترض أنك ترسم مخططًا انسيابيًا لعملية تسجيل الدخول إلى موقع ويب. يمكن تمثيل التفاعل مع قاعدة البيانات كالتالي: 1. رمز الإدخال/الإخراج: قراءة اسم المستخدم وكلمة المرور من المستخدم. 2. رمز العملية: إرسال اسم المستخدم وكلمة المرور إلى قاعدة البيانات للتحقق. 3. رمز القرار: إذا كانت بيانات الاعتماد صحيحة، انتقل إلى صفحة الرئيسية. وإلا، أظهر رسالة خطأ. ملاحظة: يمكن تضمين تفاصيل أوامر قواعد البيانات في وثائق منفصلة، مثل مواصفات التصميم أو تعليقات التعليمات البرمجية. أدوات بديلة لتمثيل عمليات قواعد البيانات: * مخططات ER (Entity-Relationship Diagrams): تستخدم لتمثيل بنية قاعدة البيانات والعلاقات بين الجداول. * مخططات UML (Unified Modeling Language): توفر مجموعة متنوعة من المخططات لتمثيل جوانب مختلفة من النظام، بما في ذلك التفاعل مع قاعدة البيانات
  17. اشكرك اخي اتمنى التوفيق لي ولك, لقد أرسلت رسالة للدعم ولم يتم الرد إلى الان
  18. السلام عليكم ، عندما تقوم برسم مخطط التدفق الخاص بخوارزمية تحتوي على عمليات على قواعد البيانات هل يتم إدارج هذه العمليات في الخطط أم نكتفي فقط بذكر أشياء مثل إضافة مستخدم إلى قاعدة البيانات أو حذفه و من هذا القبيل
  19. هل يظهر أخطاء في google console تفقد الأخطاء الخاصة بالصفحات ال none indexed وسبب الخطأ وهل يوجد أخطاء أخرى تتعلق بال index وهل الموقع جديد ام جديد وهل المقالات جديدة ام قديمة
  20. نعتذر لك عن أية مشكلة واجهتك في الدورة، في حال تريد مساعدة بأي شيء أو شرح شيء غير واضح لك فأرجو طرح سؤالك وسيتم مساعدتك من قبل جميع المدربين. وفي حال تريد استرجاع قيمة الدورة عليك التحدث لمركز المساعدة الخاص بأكاديمية حسوب ثم إخبارهم بذلك وسيتم الرد عليك،: https://support.academy.hsoub.com/conversations وأموالك في مأمن وحقك محفوظ فلا تقلق بخصوص ذلك أبدًا. وبخصوص الدورة يمكنك الاستفسار عن أي شيء تريده أسفل دروس الدورة في التعليقات وسيتم شرحها لك بالتفصيل، أو يمكنك استبدال الدورة بدورة أخرى إذا أردت ذلك أيضًا. أتمنى لك التوفيق إن شاء الله.
  21. هل يمكنني استرداد مالي والغاء الدورة ؟ وكم تحتاج الاموال من الوقت حتى تعود ؟اتمنى الرد
  22. السلام عليكم ماذا قبل تعلم اطار عمل لارافيل انا تعلمت بعض من لغة برمجة php من يوتيوب هدا اغلب تعلمته كيفية تعريف متغيرات جمل شرطية if switch جمل تكرار while for do wile المصفوفات بانواعها تعامل مع الوقت والتاريخ تعامل مع رفع ملفات تعلمت opp برمجة كائنية التوجه تعامل مع قواعد بيانات عن طريق mysqli ماذا احتاج لكن افهم اطار عمل لارافيل ياريت نصائحكم اخواني المبرمجين للعلم كل يوم اجد شي جديد عالم كبير برمجة اما احتاج تعلم مزيد في php انا عارف انه اطار عمل لارافيل مبني بلغة php نصائحكم اخواني مبرمجين وبارك الله فيكم
  23. سؤال لكل شخص: عندي مشكلة بموقعي لا أعرف ما هي بالتحديد ولكنة بيختفي من على جوجل. موقعي هو حل سؤال ارجو المساعدة وشكرا
  24. شكراا جدا لحضرتك وعلي المعلومات الجميل ده انا يعني الحمد الله بستفد كثير اوي من حضرتكم جزاكم الله كل خير انا كانت عاوز استخدم المكتبه عشان اسرع واحسن ولكن تمام استخدم لغه ذاته نفسها
  25. هذا الخطأ شائع فى البرمجة وهو ما يسمى overflow اى ان الذاكرة لا تستطيع ان تحمل جميع البيانات فى المتغير . فمثلا المتغير من نوع int64 فى numby يستطيع ان يحمل ارقام من -9223372036854775808 الى 9223372036854775807 واى رقم يتجاوز هذه الارقام ستحدث مشكلة ال overflow اى فائض فان الذاكرة لا تعرف كيف تتعامل مع هذه البيانات الزائدة فتقوم بكتابة بيانات فوق البيانات الحالة فى المتغير مما يسبب ظهور ارقام سالبة او حتى رقم 0 . وهذه مشكلة متعلقة فى numby فهى لا تستطيع ان تتحمل بيانات كثيرة عكس python فانها مرنه حيث تقوم بتغير حجم الذاكرة حتى يتناسب مع المتغير . حيث لاحظ الفرق عند تنفيذ هذين السطرين. print(np.power(2,100)) #0 print((2**100)) #1267650600228229401496703205376 لاحظ فى السطر الاول فان numby تقوم باراجع 0 حيث حدثت مشكلة ال oveflow لان numby لم تستطع ان تتعامل مع العدد الذى اكبر من 9223372036854775807 . اما فى السطر الثانى فان بايثون مرنة حيث تستطيع تغير الذاكرة كما تريد لتتحمل اى قيمة للرقم . وكما اخبرتك من البداية ان المشكلة من الممكن ان تكمن فى numby ولم الحظ ان الرقم الذى يتم الاختبار عليه كبير . ولذلك يمكنك استخدام python بدون اى مكتبة مثل هكذا . def power_of_two(n): power_two = []; for i in range(1,n): power_two.append(2**i) return power_two print(power_of_two(10000)) ستجد ان بايثون لديها القدرة على تحمل اى رقم مهما كان .
  26. لاحظ الإعدادات يوجد حقل باسم index file، عليك به كتابة اسم الملف الرئيسي للمشروع لديك، وبشكل إفتراضي هو index.php يمكنك إنشاء ملف بذلك الاسم، أو تغيير الاسم في حقل index file إلى اسم الملف الرئيسي لديك.
  1. عرض المزيد
×
×
  • أضف...