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

عمر قره محمد

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

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

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

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

    40

كل منشورات العضو عمر قره محمد

  1. يمكنك حل المشكلة بتغيير الوظيفة handleCheck إلى الشكل التالي : const handleCheck = (event) => { if (checked.includes(event.target.value)) { // checked في حال كان العنصر المنقو موجود سابقاً في الـ let updated = checked.filter(item => item !== event.target.value) // بحيث لا يبقى العنصر المنقور checked فلتر الـ setChecked(updated) // checked حديث الـ } else { let updated = [...checked, event.target.value] setChecked(updated) } } حيث في حال كانت الـ state المسمات checked تحتوي على الـ event.target.value (أي إذا كان الـ checkbox منقور سابقاً) تقوم بعمل فلترة لهذه الـ checked بحيث يتم إبقاء العناصر التي قيمتها لا تساوي event.target.value (أي حذف العنصر الذي قيمته event.target.value).
  2. هل يمكنك مشاركة ملفات المشروع حتى استطيع تجريب الكود.
  3. ماهي المشكلة التي تواجهها اذاً
  4. حتى تتمكن من ارسال رسالة نصية فإنك تحتاج إلى طرف ثالث يقدم هذه الخدمة مثل TWILIO. أما بالنسبة للبريد الإلكتروني فإنك تحتاج إلى stmp server حتى تستطيع ارسال رسالة، وقد تحتاج إلى دومين خاص أيضاً. وبالتالي فإن العمليتين غير مجانيتين غالباً. بغد قول هذا فهنالك بعض الاستضافات التي تؤمن هذه الخصائص مثل firebase. أما بالنسبة لدورة لارفيل فلا أعتقد انه هنالك شرح لهذه الخاصية.
  5. بالنسبة للسيرفر فيمكنك رفعه على استضافة Heroku بشكل مجاني إلا ان الاستضافة المجانية لن تكون بجودة الاستضافة المدفوعة. أما بالنسبة لقاعدة البيانات فإذا كانت MySQL فليس لدي اي دراية بوجود قاعدة بيانات مجانية من هذه النوعية ويمكنك الاستعاضة عنها باستخدام SQLite وهي قاعدة بيانات SQL يتم تنزيلها مع الملفات. أما إذا كانت MongoDB فيمكنك استخدام MongoDB Atlas. وبالنسبة لكيفية رفع الموقع على Heroku فيمكنك الاطلاع على هذا السؤال :
  6. ربما تكون المشكلة في سرعة الانترنت الخاص بك، جربي الاتصال بشبكة افضل أو محاولة التحميل في وقت تكون فيه الشبكة افضل. في حال لم تكن هذه هي المشكلة فقد تكون بسبب الموقع الخاص بك ويمكنك حلها باستخدام VPN (بروكسي). في حال لم تكن اي من هذين الامرين فمن الممكن ان تكون بسبب بطئ الجهاز الخاص، تأكدي من ان جهازك محدث ويحتوي على كل تحديثات النظام، وحاولي مرة ثانية.
  7. يمكنك تعديل الكود الخاص بعرض المنتجات للشكل التالي : { data.map(product => checked.length === 0 ? ( <Product key = {product.id} id = {product.id} title = {product.title} img = {product.img} price = {product.price} /> ) : checked.includes(product.category) ? ( <Product key = {product.id} id = {product.id} title = {product.title} img = {product.img} price = {product.price} /> ) : [] ) } بحيث يعيد كل المنتجات عندما تكون المصفوفة checked فارغة ولكن إذا لم تكن فارغة فإنه يتأكد من انها تحتوي على الفئة الخاصة بالمنتج.
  8. ليس لدي خبرة كافية في فلاتر ولكن الرسالة تخبرك بأنه لم يستطع العثور على الوظيفة id(). إذا بإمكانك العودة إلى المكان الذي اضفت فيه الـ id() والتأكد بأنك استدعيتها بشكل مطابق للتوثيق الرسمي لـ firebase
  9. تستطيع الوصول إلى البيانات المرسلة من طرف العميل من خلال الـ req.body. وهذا في حال كنت تستخدم express. ولكن يجب ان يكون نوع الطلب يقبل البيانات ويجب ان تستخدم body-parser او ان تستخدم اخر اصدار من express.
  10. ربما المشكلة في كون الـ console.log(productFav) داخل الوظيفة handleLike جرب وضعها خارج الوظيفة وجربة مرة ثانية. في حال بقيت المشكلة قم بمشاركة ملفات المشروع.
  11. هذه الاجابة مبنية على انكي تستخدمين react-router-dom. لإضافة رابط يجب ان تحضري الـ link من الـ react-router-dom كالتالي : import { Link } from "react-router-dom"; ثم تضيفين الرابط الخاص بصفحة about مثلاً كالتالي : <Link to="/about">About</Link>
  12. في موقع أكاديمية حسوب نقوم بمساعدة المبرمجين على تعلم لغات البرمجة ومساعدتهم في اصلاح الاخطاء التي ربما يقعون فيها. فإذا كان لديك كود وتريد منا الاطلاع عليه او انك تعاني من مشكلة في كتابة الكود فرجاءً قم بمشاركة المشكلة أو الكود الخاص بك. وإن كنت تريد البدئ في تعلم البرمجة وبناء الكود بنفسك فيمكنك البدئ من هنا : وإذا كنت تبحث عن مبرمجين لتنفيذ المشروع الخاص بك فيمكنك العثور على مبرمجين في موقع مستقل من هنا، وانا متوفر على مستقل كذلك وهذا حسابي.
  13. يمكن الاطلاع على المقالة التالي التي تشرح العملية : وكذلك قد يفيد الاطلاع على المراجع التالية : فيديو شرح رفع تطبيق React.js على منصة Heroku :
  14. يمكنك تعلم البرمجة بشكل مجاني عن طريق اليوتيوب حيث هنالك العديد من الكورسات المجانية. وكذلك يمكنك الاستفادة من موارد أكاديمية حسوب مثل موسوعة حسوب. وكذلك يمكنك الاطلاع على الكتب المقدمة من حسوب ومقالات البرمجة المقدمة من حسوب. أما بالنسبة للدورات المقدمة من حاسوب فلا اعتقد أنه يمكن الحصول عليها بشكل مجاني ويمكنك معرفة المزيد عبر التحدث إلى مركز المساعدة من هنا.
  15. حل المشكلة هو استخدام vpn مثل protonvpn، حيث يبدو ان الموقع لا يدعم الموقع الذي توجد فيه. وهذه المشكلة شائعة في سوريا و اليمن وغيرها من البلدان. وهنالك بعض شركات النت التي تقدم حلول مباشرة لهذه المشكلة قم بالسؤال عنها إذا أردت حل دائم لهذه المشكلة.
  16. في سؤالك كنت تقول ان المشكلة في تحديد العنصر الذي تريده : واعتقد انني قد اخبرتك بأن الحل الاسهل لمشكلتك هو ان تقوم بإنشاء state مختلفة لكل عنصر وظهرت لديك مشكلة ثانية وهي انك تريد حساب عدد الاعجابات واخبرتك انه يمكنك فعل ذلك بإنشاء state مختلفة لذلك.
  17. عدل الوظيفة handleClick في الملف app.js إلى الشكل التالي : const handleClick = (id) => { let findProd = data.find(item => item.id === id) // التعديل حدث هنا console.log(findProd); // console.log(selectedProduct); setSelectedProduct(findProd.id) setToggleLike(!toggleLike) }
  18. هي يمكنك مشاركة ملفات المشروع حتى استطيع الاطلاع على المشكلة بشكل افضل.
  19. اعتقد ان المشروع الخاص بك لم يكتمل بعد، حيث ان الوضع (نهاري وليلي) يذهب عند إعادة تحميل الصفحة وعليك اعادة تعيينه. عند اضافة ملاحظة جديدة عليك اعادة تحميل الصفحة او تغيير الفلتر من all إلى active وبالعكس حتى يعمل. الفلتر Complated لا يعمل عندما لا تملك اي مهمات مكتملة، حيث تظهر كل المهمات الغير مكتملة في هذه الحالة وعندما تكون كل المهمات مكتملة لا يظهر اي شيء. عندما تكون كل العناصر مكتملة : عندما لا يكون هنالك اي عنصر مكتمل : اتمنى ان تصلح هذه المشاكل وتقوم برفعل الموقع على استضافة حقيقية مثل heroku
  20. المشكلة Reached heap limit Allocation failed - JavaScript heap out of memory تعني ان الذاكرة المخصصة ل node غير كافية للقيام بالعملية. جرب تنزيل نسخة احدث من node لأنه هنالك بعض العقبات في موضوع الذاكرة في النسخ القديمة. في حال لم يجدي ذلك نفعاً فتأكد من توفر رام "ذاكرة عشوائي" كافية للمشروع الخاص بك، فإن كان ليس هنالك مساحة كافية في الذاكرة العشوائية فيجب عليك زيادة الذاكرة العشوائي بتركيب رامات اضافية للحاسوب الخاص بك أو إغلاق كل التطبيقات التي تستخدم الرام "الذاكرة العشوائية" حتى تتوفر مساحة كافية للمشروع الخاص بك وقد يساعدك في ذلك استخدام برامج الـ ram cleaner.
  21. Person1 الأولى بالحرف الكبير بينما الثانية بالحرف الصغير person1
  22. المشكلة انك عرفت المتغير person1 مرتين في كل من السطر 20 و 11.
  23. لقد اطلعت على المشروع الخاص بك وهو جيد، وكذلك يبدو انه متوافق مع اغلب الشاشات. اظن ان التعديل الذي سيكون مناسب هو ان تضيف القابلية لكتابة الارقام باستخدام لوحة المفاتيح و كذلك زر الجمع و الانتر وزر الحذف وسيكون تدريب جيد على كيفية التعامل مع الاحداث الخاصة بلوحة المفاتيح.
  24. إذا كنت تريدين التخصص بالذكاء الصنعي فأنصحك ان تدرسي هذا التخصص مباشرةً وليس اي شيء غيره، ولكن اذا لم تستطيعي فعل ذلك فيمكنك اختيار اي تخصص يحتوي على اكبر قدر من الشبه بالذكاء الصنعي ولفعل ذلك عليك ان تتعرفي على المواضيع التي يناقشها الذكاء الصنعي وتقارنيها مع مواضعي الاختصاص الذي تفكرين فيه. ومن هذه المواضيع : استخراج البيانات والتنقيب عنها - Data Mining. الرياضيات المتقدِّمة - Advanced Mathematics. التعلُّم الآلي - Machine Learning. التطبيقات الذكية - Smart Applications. علم الأعصاب المحوسب - Computational Neurosciences. تحليل البيانات - Data Analysis. هندسة الخوارزميات - Algorithm Engineering. وكذلك انصحك بالاطلاع على سلسلة المقالات الخاصة بالذكاء الصنعي على حسوب ويمكنك البدء من هنا :
  25. هنالك العديد من الطرق للتعامل مع هذه المشكلة ولكن بشكل بسيط يمكنك اضافة state إضافية للقيام بهذه الوظيفة وتقوم بإضافة 1 عند النقر على like و -1 عند النقر على dislike
×
×
  • أضف...