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

Mustafa Mahmoud7

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

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

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

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو Mustafa Mahmoud7

  1. من فضلك ستجد أسفل الدرس صندوق للتعليقات كما هنا يرجي وضع تعليقك أسفل الدرس حيث هنا هو قسم الأسئلة العامة حيث توضع الأسئلة الغير متعلقة بالدورات وذلك لمساعدتك بشكل أفضل.
  2. بخصوص الأمور المالية توجه إلى مركز المساعدة وتحدث معهم سيتم مساعدتك بشكل أفضل.
  3. قم بتعديل كتابة let بدلا من LET، وجود الدائرة البيضاء بجانب اسم الملف تعني أنه لم يتم حفظه يتم حفظه بالضغط في لوحة المفاتيح على Ctrl + s. let X = 7; let Y = 2; console.log(X + Y);// 9 في المرات القادمة يرجى وضع التعليق في صندوق التعليقات أسفل الفيديو الخاص بالدرس حيث هنا توضع الأسئلة العامة الغيرة متعلقة بالدورات وذلك لمساعدتك بشكل أفضل.
  4. عند إنشائك لقاعدة بيانات فيMongoDB Atlas تكون قاعدة البيانات هذه داخل مشروع معين وداخل المشروع يمكنك إنشاء العديد من قواعد البيانات وعند التغيير في التبويب الخاص ب Network Access سواء جعلت الإتصال بقواعد البيانات يكون عام أو اختيار أخر من الإختيارات الأخرى هذا يؤثر على كل قواعد البيانات بداخل هذا المشروع. ولكن في حالة أنشئت كل قاعدة بيانات بداخل مشروع منفصل وقمت بالتغيير لا تؤثر التغييرات إلا على هذا المشروع فقط. MongoDB Atlas في التبويب الخاص ب Network Access وعند الضغط على الAdd IP address ستظهر لك هذه النافذة ومنها تستطيع إضافة أي IP Address الذي تسمح له للوصول إلي قاعدة البيانات الخاصة بك أو لو كان لك زميل أخر يعمل على نفس المشروع يمكنك إضافة ال IP Address به. ويمكنك الضغط على على ADD CURRENT IP ADDRESS لكي يقوم بإضافة ال IP Address الخاص بك مباشرة بدون تدخل منك. ويمكنك الضغط على ALLOW ACCESS FROM ANYWHERE لكى يصبح IP Address عام يسمح بأي إتصال إلى قاعدة البيانات من أي عناوين IP خادم أو جهاز أو تطبيق يريد ذلك ويكون 0.0.0.0/0 . يمكنك إضافة الIP Address الخاص بالتطبيق بعد رفعه على على الإستضافة يمكنك أخذ هذا ال IP Address من اعدادت الإستضافة لتطبيقك وتضيفه مثل أي IP Address كما بينت في الحالة الأولى وهذا يعتبر الأفضل فى المشاريع الحقيقية حتى لا يتم الإتصال بقاعدة البيانات إلا من خلال تطبيقك فقط.
  5. لكتابة علامة التعجب قم بالضغط على Shift + 1 إذا كان سؤالك متعلق بالدورات فى المرات القادمة ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  6. نعتذر على هذا التأخير، يتأخر الرد أحياناً من مركز المساعدة وذلك قد يكون بسبب الضغط وهذا شيء طبيعي. يُرجى الإنتظار بعض الوقت وعدم القلق من هذا الأمر. سيتم الرد عليك في أقرب وقت ممكن، شكراً لتفهمك.
  7. نأسف لذلك بشدة بشأن هذا الخطأ هذا مزعج لك طبعا. بخصوص هذا الأمر حول الأمور المالية يمكنك التواصل مع مركز المساعدة وتوضيح الأمر لهم وسيتم رد المبلغ بالتأكيد في أسرع وقت. شكرا لتفهمك..
  8. تحليل وشرح بالأرقام للمسألة في البداية الحلقة التكرارية for loop ستمر على كل الأرقام من 1 إلى 100 ولنجرب على الأرقام 1،3،5,15. الرقم 1 بداية الحلقة هل هذا الرقم أقل من 100 نعم سيتم الدخول للحلقة المتغير output يكون فارغا سيتم الدخول للشروط if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; في كلا الحالتان الشرط لم يتحقق لأن هذا الرقم 1 باقى القسمة له لا يساوى 0 إذا ستكون النتيجة أنه سيدخل في أمر الطباعة output لأنها فارغة تكون false ويطبع الرقم. console.log(output || n); // 1 الرقم 3 بداية الحلقة هل هذا الرقم أقل من 100 نعم سيتم الدخول للحلقة المتغير output يكون فارغا سيتم الدخول للشروط if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; الشرط الأول تحقق وباقي القسمة له على 3 تساوى صفر إذا يتم تنفيذ ما بداخل الشرط وهو إضافة الكلمة Fizz إلى القيمة الفارغة output وحفظها في المتغير output والشرط الثاني لم يتحقق لأن باقي قسمة هذا الرقم 3 على 5 لاتساوى 0 سيتم الدخول إلى أمر الطباعة ويطبع القيمة output وليس الرقم لأنه مادام يوجد قيمة output تكون true وسيتم طباعتها console.log(output || n); // Fizz الرقم 5 بداية الحلقة هل هذا الرقم أقل من 100 نعم سيتم الدخول للحلقة المتغير output يكون فارغا سيتم الدخول للشروط if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; الشرط الأول لم يتحقق لأن باقي القسم لا يساوي صفر وسيتم الدخول للشرط الثانى وباقي القسمة له على 5 تساوى صفر فى هذه الحالة الشرط تحقق إذا يتم تنفيذ ما بداخل الشرط وهو إضافة الكلمة Buzz إلى القيمة الفارغة output وحفظها فى المتغير output سيتم الدخول إلى أمر الطباعة ويطبع القيمة output console.log(output || n); // Buzz الرقم 15 بداية الحلقة هل هذا الرقم أقل من 100 نعم سيتم الدخول للحلقة المتغير output يكون فارغا سيتم الدخول للشروط if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; الشرط الأول تحقق وباقي القسمة له على 3 تساوى صفر إذا يتم تنفيذ ما بداخل الشرط وهو إضافة الكلمة Fizz إلى القيمة الفارغة output وحفظها في المتغير output ثم الدخول للشرط الثاني وباقي القسمة له على 5 تساوى صفر فى هذه الحالة الشرط تحقق إذا يتم تنفيذ ما بداخل الشرط وهو إضافة الكلمة Buzz إلى القيمة السابقة output وسيتم الدخول إلى أمر الطباعة ويطبع القيمة output console.log(output || n); // FizzBuzz فائدة الoutput في كل مرة يتم تكرار الحلقة تصبح القيمة فارغة وبناءا علي الشروط يتم تغيير قيمتها. كيف تم طباعة fizz buzz مع بعض؟ في جافاسكربت يتم تجميع السلسلة النصية عن طريق + أي نستطيع إضافة قيمة فارغة إلى نص ثم بعد ذلك نستطيع إضافة قيمة نصية إلى قيمة نصية أخرى وهو ماتم بناءا على الشروط تم إضافة fizz وحفظها فى output ثم تم الإضافة للقيمة السابقة buzz وحفظها فى output . المعامل =+ يسمى معامل الإسناد والجمع أي جمع القيمة الجديدة للقيمة السابقة للمتغير وحفظها (اسنادها) للمتغير أيضا.
  9. في حالة كنت مشترك في أحد الدورات بالأكاديمية سيكون المسار الأول من كل الدورات مفتوح بشكل تلقائي تستطيع الوصول له إذا لم يكن مفتوحا يمكنك التواصل مع مركز المساعدة بخصوص هذا الأمر من هنا. وهذا هو المسار الأول من دورة الذكاء الاصطناعي أساسيات بايثون.
  10. مجال الدورة مجال متقدم بعض الشئ وبحاجة إلى سابق معرفة بالبرمجة أي شخص لديه إلمام بأساسيات البرمجة وعلوم الحاسوب، ولذلك دورة علوم الحاسوب في الأكاديمية هي الدورة المناسبة كبداية، فهي ليست خاصة بمجال معين بل للتأهيل لدخول مجال البرمجة. لكن في دورة الذكاء الاصطناعي كما تلاحظ في وصف الدورة فقد تم ذكر أنك ستتعلم كل ما تحتاجه من لغة Python لتطبيقات الذكاء الاصطناعي. ولا مشكلة في الإشتراك بدورة الذكاء الاصطناعي، لكن ستحتاج إلى فترة لكي تستوعب بعض الأمور بها، وفي البداية يتم شرح أساسيات لغة بايثون ثم شرح قواعد البيانات، لذا هي بها شرح جيد للأساسيات، لكن ستحتاج إلى البحث ودراسة بعض الأمور الأخرى خارج الدورة لكي تستوعب ما يتم شرحه. وفريق المدربين متواجد دائما للرد على أي مفهوم أو مشكلة واجهتك.
  11. في حالة أنك قطعت شوطا في تعلم الجافاسكربت وتعلمت أساسيات رياكت والتطبيق عليها، والأولوية لك هو أن تكون قادرا على بناء تطبيق جوال، يمكنك بعد ذلك الإنتقال إلى ريأكت نيتف لتتعلم من خلاله كيفية بناء تطبيق جوال، ويمكنك الإكمال لتعلم ionic مع ريأكت لبناء تطبيق جوال أيضا بدلا من الإنتقال بالكامل إلى فلاتر. يمكنك العودة طبعا واستكمال ما بدأته وبالنسبة للتحديثات يمكنك استخدام نفس الإصدار الذي يعمل به المدرب لكي لا تظهر لك أخطاء تعارض بعض الحزم ويمكنك بعد الإنتهاء مع المدرب وفهم أساسيات إطار العمل ريأكت نيتف والتطبيق عليه الإطلاع بعد ذلك على الإصدار الأخير ومعرفة التغييرات فيه والتطبيق عليه بمشاريع لزيادة مهاراتك وليس الإكتفاء بتطبيق طبيبي. بعد التطبيق على مشاريع وعمل أكثر من تطبيق جوال بنفسك يمكنك البحث عن عمل كمطور لتطبيقات جوال وفي نفس الوقت بالتوازى العودة لإستكمال تعلمك للويب وزيادة مهاراتك في إطار العمل نيكست والتطبيق عليه بمشاريع. بالتوفيق...
  12. الدورة التي قمت بالتسجيل بها وتقوم بدراستها هي دورة تطوير التطبيقات باستخدام JavaScript وتسمى دورة. كل دورة صغيرة بداخلها يسمى مسار فأنت أتممت الآن مسار اساسيات لغة JavaScript. للتقديم للإمتحان يجب إتمام أربعة مسارات تعليمية على الأقل من الدورة (دورة تطوير التطبيقات باستخدام JavaScript ). أي إتمام ثلاث مسارات أخرى غير مسار اساسيات لغة JavaScript. ويتم الحصول على شهادة واحدة للدورة كاملة بعد النجاح فى الامتحان. الأفضل لك عدم دراسة 4 مسارات فقط والاستفادة من كامل الدورة لرفع مستوى مهاراتك. فالشهادة ليست مهمة في الواقع العملي المهم هو ما تستطيع تنفيذه والمهارات التي لديك ووجود معرض أعمال بجودة جيدة يثبت ذلك، الشهادة بمثابة دليل فقط على أنك اجتزت محتوى تعليمي معين. بالتوفيق...
  13. يمكنك الإطلاع على الصفحة التالية الامتحان والحصول على الشهادة بها كل شيء يتعلق بموضوع الشهادة و الإمتحان. الشروط التي يجب تحقيقها قبل التقدم للإمتحان: يمكنك التقدم إلى امتحان الدورة، من خلال التواصل مع مركز مساعدة أكاديمية حسوب، مع مراعاة الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل من الدورة. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا. بالتوفيق.
  14. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  15. يوجد خطأ في الهيكلية الخاصة بك فى بناء الحلقة for حيث أن لبناء for كالأتى: for (initialization; condition; increment/decrement) { // الكود الذي سيتم تنفيذه في كل تكرار } تتكون من ثلاث أجزاء:- الجزء الأول : تهيئة المتغير (initialization) الجزء الثانى : شرط التكرار (condition) الجزء الثالث : زيادة أو نقصان المتغير (increment/decrement) فى المثال الذى أرفقته for (let current = 20 ; current = current + 1) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if (current % 7 == 0) { console.log(current); break; } } الهيكل الخاص بالحلقة يتكون من جزأين فقط. لاحظ أنه إذا لم يتم توفير شرط التكرار (condition)، يجب تركه فارغًا بإضافة فاصلة منقوطة (;) ليتم المحافظة عى هيكل الحلقة نفسه. for( ; ; ){} إذا نقوم بإضافة الجزء الثاني عن طريق إضافة (;) هذا الشرط سيكون فارغا سيؤدى ذلك إلى حلقة لا نهائية ولكننا استخدمنا break لإيقاف الحلقة والخروج منها إذا قم بتعديل الكود الخاص بك ليصبح كالأتي for (let current = 20; ; current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } بالتوفيق...
  16. مرحبا حمزة، كل المسارات تحتاج إلى الوقت والإتقان والتدريب والممارسة على أشكال مختلفة من التطبيقات لا يوجد طريق مختصر تستطيع منه جني المال خلال شهر وإنشاء تطبيق بالكامل بعد التعلم خلال شهر فقط الأمر يحتاج إلى بعض الوقت حيث لاتوجد خلطة سحرية لهذا الأمر. تستطيع إتقان أي مسار أو اطار عمل بسرعة أكثر إذا كان لك خبرة سابقة للعمل بإطار عمل سابق سواء في الويب واجهة خلفية أو أمامية أو لو تريد العمل بفلاتر مثلا إذا كان لديك خبرة في رياكت نيتف ذلك يسهل الأمر قليلا. وإذا كنت تريد الإنتقال من إطار العمل رياكت إلى نيكست للأسف نيكست مبني بالكامل على رياكت فلكي تستطيع تعلم نيكست لابد أن تكون متقن لأساسيات رياكت بشكل جيد. المشاكل التى تحدث أثناء عملية التعلم تحدث مع كل متعلمي البرمجة فمن خلال هذه الأخطاء وحلها يتعلمون منها كثير وتفيدهم أثناء عملهم بالنسبة لمشاكل الحزم تستطيع العمل على نفس الإصدار الخاص بالمدرب وليس غيره حتى لا تواجه هذه الأخطاء من تعارض بعض الحزم مع بعضها. من رأي مادام بدأت برياكت قم بإتقانها بشكل جيد والتطبيق عليها بالمشاريع وتستطيع البحث عن عمل بعد ذلك أو زيادة مهاراتك من خلال تعلم نيكست ليتم زيادة فرصك للحصول على عمل. بالتوفيق...
  17. عند ظهور رسالة الخطأ "Request failed with status code 401" أو 401 Unauthorized بجانب رابط الطلب ذلك يشير إلى أنك لم تقم بتسجيل الدخول ولم تتم عملية المصادقة بشكل صحيح أو الjwt الذي تحتفظ به في الحالة أو تحصل عليه عن طريق useContext const { jwt } = useContext(AuthContext); انتهت صلاحيته فلابد من إعادة تسجيل الدخول مرة أخرى. وفي الواجهة الخلفية أنت قمت بإضافة الدالة isLoggedIn للتأكد أن المستخدم قام بتسجيل الدخول حتى يستطيع الوصول للدالة bookingController.booking وتقوم بإرسال التوكين في ال header في الAuthorization فى برنامج البوست مان لهذا عند الغاء او اضافة الحجز يعمل التطبيق في البوست مان بدون مشكلة. يوجد خطأ أخر فى الواجهة الأمامية فى الدالة onSubmit const onSubmit = async () => { try { await axios .put(CREATE_EVENT_URL + "/" + { eventId }, { ^^^^^^^^^^ headers: { Authorization: jwt, }, }) .then((res) => { console.log("Event is deleted:", res.data); }); } catch (e) { console.log(e); } }; يحتوي على خطأ في طريقة بناء الرابط باستخدام الكائن { eventId } . الكود الحالي سيؤدي إلى إنشاء رابط غير صحيح بسبب تضمين الكائن { eventId } سيتم تحويل الكائن إلى سلسلة نصية غير صحيحة. http://localhost:4000/event/[Object%20Object] في هذه الحالة لا يصل إلى ال event الصحيح في الواجهة الخلفية وحتى يتم كتابة ال eventId بشكل صحيح نقوم بالتعديل والصحيح له يكون كالأتي نقوم بكتابة المتغير مباشرة وليس كائن const onSubmit = async () => { try { await axios .put(CREATE_EVENT_URL + "/" + eventId , { headers: { Authorization: jwt, }, }) .then((res) => { console.log("Event is deleted:", res.data); }); } catch (e) { console.log(e); } }; أو استخدام ال Template literals `` لإضافة متغير داخل السلسة النصية const onSubmit = async () => { try { await axios .put(`${CREATE_EVENT_URL}/${eventId}`, { headers: { Authorization: jwt, }, }) .then((res) => { console.log("Event is deleted:", res.data); }); } catch (e) { console.log(e); } };
  18. مرحبا عبدالرحمن، لا مشكلة في ذلك يرجى الإنتظار حتى يتم التأكد من هويتك وتوثيق حسابك. ربما أنهم مشغولون في طلبات سابقة قد قدمت لهم لمستخدمين أخرين لتوثيق الحسابات، فلا تقلق وسيتم توثيق حسابك. وإذا كان هناك مشكلة في التوثيق سيتم الرد عليك من خلالهم يخبرك بسبب عدم التوثيق. كل ما عليك هو التجهيز والمذاكرة للإختبار. بالتوفيق...
  19. ما دام قدمت للإختبار يرجى الإنتظار لمراجعة مشاريعك، وسوف يتم الرد عليك فى أقرب وقت ممكن إذا كان مطلوب شيئا أخر وتحديد موعد للإختبار . بالتوفيق...
  20. توجد أسباب عديدة لهذه المشكلة منها المنفذ بورت مستعمل من قبل برنامج اخر نقوم بتغيير البورت كالأتى my.ini<----config : وبعدها غير قيمة المنفذ الى 3307 وبعدها قم بحفظ الملف بالضغط على (ctr+ sl ) قم أيضا بتجربة تشغيل البرنامج كمسؤول كما أشار مصطفى ومحمد وتم حل هذه المشكلة مرات عديدة سابقا يرجى النظر لهذه الإجابات بالتوفيق...
  21. مجال الدورة مجال متقدم بعض الشئ وبحاجة إلى سابق معرفة بالبرمجة أي شخص لديه إلمام بأساسيات البرمجة وعلوم الحاسوب، ولذلك دورة علوم الحاسوب في الأكاديمية هي الدورة المناسبة كبداية، فهي ليست خاصة بمجال معين بل للتأهيل لدخول مجال البرمجة. لكن في دورة الذكاء الاصطناعي تم مراعاة ذلك، حيث يتم الإفتراض أنه لا يوجد أي خبرة برمجية مسبقًا ويتم البدء من الصفر. ولا مشكلة في الإشتراك بدورة الذكاء الاصطناعي، لكن ستحتاج إلى فترة لكي تستوعب بعض الأمور بها، وفي البداية يتم شرح أساسيات لغة بايثون ثم شرح قواعد البيانات، لذا هي بها شرح جيد للأساسيات، لكن ستحتاج إلى البحث ودراسة بعض الأمور الأخرى خارج الدورة لكي تستوعب ما يتم شرحه. بالنسبة إذا كان لديك ضعف في الرياضيات، لا تحتاج المعرفة بالرياضيات المعقدة والمتقدمة، فقط تحتاج إلى فهم أساسيات الأرقام والعمليات الحسابية البسيطة مثل الجمع والطرح والضرب والقسمة وباقى القسمة.
  22. مرحبا مريم، بخصوص هذه الأمور من تبديل الدورات والأمور المالية. توجهي إلى مركز المساعدة وتحدثي معهم من هنا. شكر لكي...
  23. سيتم الرد عليكى بالتأكيد فى أقرب وقت ممكن، يرجى الإنتظار. شكرا لكى.
  24. بخصوص هذا الأمر يمكنك التواصل مع مركز المساعدة والتحدث معهم من هنا.
  25. مرحبا مصطفى، تستطيع عمل هذا الزر مباشرة في ملف الhtml بدون استخدام الجافاسكربت عن طريق استخدام الanchor tag (<a>) وإضافة له السمة download كالأتي <button style="background-color: bisque"> <a download href="image1.jpg" style="text-decoration: none; color: black"> Download Resume </a> </button> لاحظ قمنا بإضافة السمة download للanchor tag ووضعنا مسار الصورة href وعند الضغط على هذا الزر سيتم تنزيل الصورة في جهازك. توجِّه هذه الخاصية download المتصفح إلى تنزيل رابط URL بدلًا من الانتقال إليه، أي سيُطلَب من المستخدم حفظ الملف محليًا. ملاحظة قم بتشغيل الملف html عن طريق الlive server وليس فتح الملف مباشرة. للمزيد حول السمة download يمكن الإطلاع عليها في موسوعة حسوب بالتوفيق...
×
×
  • أضف...