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

Hassan Hedr

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

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

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

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

    38

كل منشورات العضو Hassan Hedr

  1. حتى تتمكن من استخدام الصنف Cart بالشكل الصحيح، ضمن الملف config/app.php يجب إضافة السطر التالي للمفتاح aliases: 'aliases' => [ // ... 'Cart' => Gloudemans\Shoppingcart\Facades\Cart::class, ], أيضًا يجب نقل use WithPagination إلى الأعلى داخل الصنف كالتالي: class ShopComponent extends Component { use WithPagination; ... } يرجى إرفاق نص الخطأ في حال إمكانية ذلك
  2. يجب تخزين مرات ظهور كل وجه بطريقة ما ضمن متغير يتم استخدامه خلال عرض معلومات عن مرات ظهور الأوجه، بفرض أنك تخزن مرات الظهور ضمن مصفوفة ترابطية تحوي مفاتيح تعبر عن الأوجه الستة، وقيم تعبر عن مرات ظهور كل وجه: $occurrences = [ 1 => 1, 2 => 0, 3 => 1, 4 => 0, 5 => 2, 6 => 1 ]; نمر على الأوجه الستة باستخدام حلقة for وطباعة جملة تحوي اسم الوجه الحالي مع مرات ظهوره يتم استخراجها من المصفوفة السابقة كالتالي: for($i = 1; $i <= 6; $i++){ echo $i.' occurred '.$occurrences[$i]; }
  3. يوجد كتاب "أنظمة التشغيل للمبرمجين" ضمن الأكاديمية باللغة العربية يشرح العديد من المفاهيم المنخفضة المستوى عبر تطبيقها بلغة C، يمكنك قرائته مجانًا كسلسلة من المقالات ويوجد أيضًا سلسلة مقالات للمبتدئين بلغة ++C تشرح كل مفاهيم اللغة وتتقاطع كثيرًا مع لغة C يمكنك الاستفادة منها
  4. يمكن وضع العناصر التي تريد الاختيار منها ضمن مصفوفة ترابطية كالتالي: $countries = [ 1 => 'المغرب', 2 => 'تونس', 3 => 'مصر' ]; ثم توليد رقم عشوائي بين أصغر مفتاح وأكبر مفتاح للعناصر السابقة باستخدام التابع rand: $index = rand(1, 3); ثم استخراج العنصر الذي تم اختياره بحسب المفتاح العشوائي السابق: $country = $countries[$index];
  5. ما هي الخصائص التي لا يتم استدعائها هل يمكنك ذكر أمثلة من فضلك
  6. تأكد من التالي: مجلد القالب الابن يجب وضعه ضمن مجلد wp-content/themes اسم القالب الأب يطابق "enjoytube" تفعيل القالب الابن ضمن الموقع بعد اتمام الخطوات السابقة
  7. ليس هناك وقت محدد للدورة فيمكنك اتمامها متى تشاء وفي أي وقت فمحتوى الدورة متاح لك دومًا بعد الشراء، في حال قررت الانسحاب واسترداد المال يمكنك التواصل مع مركز المساعدة وشرح المشكلة
  8. الاهتمام بمهاراتك والخدمات التي تستطيع تقديمها لأصحاب المشاريع هو الأولوية الوحيدة والأساس في حصولك على فرص العمل واختيارك من قبلهم، ركز على التالي: كتابة نبذة توضح مهاراتك والخدمات التي تستطيع تقديمها الاهتمام بمعرض الأعمال وعرض الأعمال ذات الجودة العالية التي قمت بها سابقًا عند حصولك على عمل اهتم بتقديم أعلى جودة للعمل المنفذ لتحصل على تقييم جيد ضمن حسابك قدم عروض تبرز فيها ما الذي تستطيع تقديمه لصاحب العمل ومدى خبرتك الفعلية في مجال المشروع يمكنك الاستفادة من قراءة المقالات التالية: لماذا يتجاهل أصحاب المشاريع عروضك على مستقل كيف تبني معرض أعمالك باحترافية
  9. حاول تحديد عنوان الاستماع للخادم ليطابق جميع الواجهات الشبكية المتاحة على حاسبك لتتمكن جميع الأجهزة على نفس الشبكة المحلية LAN من الوصول للمنفذ المحدد، إذا كنت تستخدم Express حاول تحديد العنوان كالتالي app.listen(8080, '0.0.0.0'); ^^^^^^^^^
  10. المتغير document يمثل المستند الحالي (الصفحة الحالية) بالنموذج DOM، يمثل شجرة العناصر للمستند الحالي ويوفر توابع للاستعلام والتعديل على عناصر هذه الشجرة برمجيًا. أحد الخصائص لهذا المتغير هي الخاصية documentElement تمثل العنصر في رأس الشجرة أو العنصر الجذر للمستند الحالي وغالبًا يكون هو العنصر <html> يمكنك قراءة توثيق الخاصية ضمن موسوعة حسوب
  11. المضاربة بالأصول (الأسهم أو العملات الرقمية) لا تقدم فائدة مضافة للمجتمع ولا لنفسك، حاول التركيز على تقديم فائدة حقيقية عبر بناءك لتطبيقات أو برامج تحل مشاكل موجودة وتضيف لأصحابها. بما أن لديك خبرة مبدأية بلغة بايثون هناك مجالات متنوعة من تحليل البيانات إلى تطوير نماذج الذكاء الاصطناعي حاول البدء بها والبحث ضمنها عن تطبيقات غير مضمنة باللغة العربية مثلًا ستجد لها في حال اتقنت بنائها من يرغبها وسوق لها يمكنك الاستفادة من قراءة المقالات التالية:
  12. حاول إضافة الخاصية expires كالتالي res.cookie('access-token', accessToken, { expires: new Date(Date.now() + 900000) });
  13. في حال كنت تخزن معلومات الجلسة في مخزن الذاكرة Memory Store فبعد أي إيقاف للخادم سيتم مسح جميع بيانات الجلسات، حاول استخدام مخزن آخر كمخزن الملفات لتخزين معلومات الجلسات ضمن نظام الملفات وضمان عدم الحذف. بالنسبة لتخزين ال Cookie ضمن المتصفح يمكنك زيادة مدة صلاحيتها عبر تحديد قيمة للخاصية expires بتاريخ بعيد كالتالي COOKIENAME=cookievalue; expires=Fri, 1 Jan 3000 00:00:01 GMT بحسب إطار العمل الذي تقوم بالعمل ضمنه ستجد توابع تساعدك على تحديد صلاحية ال Cookie عند إرسالها
  14. ليس بالضرورة، المعامل JOIN يحدد علاقة بين طرفين ومن الممكن أن يكون الطرفين هما الجدول نفسه، فقط عليك أن تحدد شرط الربط أي تحديد الحقلين الذين يجب الربط عبرهما في كل طرف
  15. لا يمكن حل الواجبات أو المهام، حاول بناء الاستعلام بنفسك وفي حال واجهت مشكلة ما يمكنك إرفاق نتيجتك واستفسارك حولها، أنصحك بقراءة المقال التالي سيمكنك من فهم العلاقات بين الجداول وكيفية بناء الاستعلامات بينها بشكل صحيح
  16. بدّل الاستعلام select بالجدول الذي تريد ثم قم بعمل الربط ضمن الاستعلام باستخدام JOIN كالسابق مع الجدول نفسه
  17. إطار العمل لارافل يعتمد البرمجة كائنية التوجه في طريقة بناءه وعمله، أي يتم تمثيل كل ما يتعلق بعمل التطبيق بكائنات من أصناف مختلفة تغلف ضمنها البيانات وتتيح توابع للتعامل مع البيانات بشكل بسيط وصحيح أحد تلك المكونات الأساسية في عمل تطبيقات الويب هو بروتوكول الاتصال HTTP حيث يتم التخاطب مع التطبيق بإرسال طلبات من هذا النوع للخادم، يحوي هذا الطلب العديد من البيانات التي تعبر عن نية هذا الطلب، الكائن من النوع Request هو تغليف لطلب HTTP يمكنك استخدامه لاستخراج بيانات متعلقة بالطلب الحالي الذي يتم معالجته والتحقق منها مثلا يمكن استخراج البيانات المرسلة في نص الاستعلام Query String كالتالي: GET http://example.com/users?name=ahmad ^^^^^^^^^^ $request->query() يمكن استخراج المرسلة ضمن جسم الطلب POST أو PUT باستخدام input POST http://example.com/users Content-Type: application/json { "name": "ahmad" } $request->input('name') يمكنك قراءة المزيد في المقالات التالية:
  18. أي في حال كان هناك طلبات تتم إلى خادم تطبيقك لجلب معلومات ما، في حال كنت تستطيع فرز الطلبات من النسخ القديمة للتطبيق بجهة الخادم، يمكنك تعطيل عمله بعدم إرسال تلك البيانات وإرسال رد بالرمز 400 مثلًا مع رسالة خطأ توضح للمستخدم "من فضلك قم بتحديث التطبيق لتتمكن من الاستمرار في الاستخدام" في هذه الحال لديك لديك طريقة للتواصل مع المستخدمين وأنت تخبرهم بالفعل بوجود تحديث لكنك لا تجبرهم، في حال كان التحديث ضروري جدا لعمل التطبيق وبإمكانك إجبار المستخدمين فقط قم بتعطيل عمل التطبيق باستخدام الخطوة السابقة في هذه الحال سيضطر المستخدم للتحديث ولا يمكنه تجاوزه
  19. في حال لم تطور مسبقا قناة ضمن التطبيق تستطيع من خلالها التواصل مع المستخدم عبر إظهار تنبيه للمستخدم أو كنت قد خططت مسبقًا لعملية التحديثات الإجبارية من خلال الطلب من التطبيق نفسه التوقف عن العمل في حال كانت النسخة الحالية منتهية لا يوجد طريقة، الحلول المقترحة: إرسال رسالة تنبيه بضرورة التحديث عن طريق الإشعارات في حال كان التطبيق يتواصل مع خادم خاص بك، تعطيل عمليات التطبيق وإرسال رسالة خطأ تفيد المستخدم بضرورة التحديث إعلام المستخدمين عبر قنوات التسويق الخاصة بالتطبيق بضرورة التحديث (كمنصات التواصل الاجتماعي أو عن طريق البريد الالكتروني للمستخدم)
  20. حاول جعل الحقل item_id في الجدول categories يقبل NULL وستحل المشكلة، طريقة أفضل للقيام بذلك هو تغيير بنية الجدولين وإزالة item_id من جدول categories وإضافة حقل جديد category_id ضمن الجدول items يربط مع المعرف للجدول categories
  21. الجدول هنا بصيغته الكاملة فقط أضفنا مفتاح يشير إلى الجدول نفسه، الاستعلام يكون كما يلي : SELECT * FROM items LEFT JOIN categories as sub_category_1 ON sub_category_1.item_id = items.item_id LEFT JOIN categories as sub_category_2 ON sub_category_2.parent_category_id = sub_category_1.category_id LEFT JOIN categories as sub_category_3 ON sub_category_3.parent_category_id = sub_category_2.category_id
  22. الدورة وجميع الدورات في أكاديمية حسوب تأخذ بالاعتبار كافة المستويات، من الصفر وحتى التمكن من إنشاء تطبيقات كاملة في المجال الذي ستختاره، بما أنك جديد ضمن هذا المجال حين تبدأ بالمسارات الأولى خصوصًا يرجى التروي وفهم كل فكرة وتفصيل ضمن أساسيات اللغة، ومحاولة تطبيق الأساسيات بمفردك وبعدة طرق مختلفة كي تتمكن منها جيدًا، بعدها ستجد نفسك تمضي ضمن الدورة بشكل أسرع وتهتم بالأفكار الكبيرة أنصحك بالتركيز على الأساسيات وما تجد نفسك ضعيف به إلى أن تتمكن منه جيدًا
  23. الأمر يعتمد على طبيعة العلاقة بين الجدولين: في حال كان السجل ينتمي لسجل آخر نضع مفتاح الربط ضمن السجل في حال كانت عدة سجلات تنتمي لسجل ما، نضع مفتاح السجل في كل سجل مرتبط به في الجداول الأخرى في حال كان السجل ينتمي لعدة سجلات ضمن الجدول، والسجلات ضمن الجدول الآخر تنتمي لعدة سجلات من الجدول الأول نسمي هذه العلاقة Many to Many ولتنفيذها يجب وضع جدول وسيط يحوي مفاتيح ربط لكل من الجدولين، كما في الطريقة الأولى المقال التالي مفيد جدًا لك، حاول التمعن به وفهم أنواع العلاقات بين الجداول وكيفية تطبيقها:
  24. يمكن تنفيذ المطلوب بعدة طرق، تختار الأنسب لمشروعك، في حال كنت تريد هرمية في تبعية التصنيفات مع بعضها الطريقة الأسهل هي وضعها بجدول واحد، ولك سجل منها يوجد مفتاح ربط مع السجل الأب لها، بذلك يمكنك إنشاء هرمية تصنيفات تصل لأكثر من 3 مراحل categories (category_id, parent_category_id, item_id) FOREIGN KEY (item_id) REFERENCES item(item_id) FOREIGN KEY (parent_category_id) REFERENCES categories(category_id) مجددًا الأمر يعتمد على طبيعة المشروع والمطلوب منك
  25. المشكلة هي عندما يتم تسجيل استماع للحدث click على الحاوية div فإن المستخدم عند ضغطه على الصورة سيتم تنفيذ التابع المسجل للحاوية div باعتبار أن الصورة داخلها وسيتم تعيين الهدف للحدث event.target على أنه الصورة وليس الحاوية لأن المستخدم سيضغط على الصورة لحل المشكلة سجل تابع للاستماع للأحداث على الصور مباشرة وليس الحاويات التي لها الصنف img كالتالي: var imgList = Array.from(document.querySelectorAll('.box img')) ^^^^^^^^^^^^^^^^ ^^^^^^^^ (ملاحظة: يرجى عند إضافة سؤال إرفاق الشيفرة المتعلقة بالسؤال بشكل نصي ضمن نص السؤال وتنسيقها كشيفرة ليتمكن الزوار من مساعدتك)
×
×
  • أضف...