محمد أبو عواد

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

    3,222
  • تاريخ الانضمام

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

  • Days Won

    49

السُّمعة بالموقع

1,525 Excellent
  1. تأكد بأنك تضع هذا السطر بداخل الملف GuestFactory use App\Models\Guest; وأيضا تأكد بأنك تكتب namespace الخاص بالموديل Guest بشكل صحيح كالتالي namespace App\Models; ثم جرب الأمر مرة أخرى, اذا لم ينجح الأمر أرجو منك ارفاق مجلد المشروع بشكل مضغوط بدون المجلد vendor
  2. لديك مشكلة في الفورم , لم تقم باضافة الخاصية name لأي حقل , كيف سوف نقوم باستقبال البيانات في الواجهة الخلفية اذا لم تضع الخاصية name , لاحظ <input class="form-control @error ('first_name') is-invalid @enderror " id="first_name" type="text" value="{{ old('first_name') }}" placeholder="{{__('radix.Enter your first name')}}" required autocomplete="first_name" /> لا يوجد خاصية name , أرجو منك اضافتها كالتالي لكل حقل <input class="form-control @error ('first_name') is-invalid @enderror " id="first_name" type="text" value="{{ old('first_name') }}" placeholder="{{__('radix.Enter your first name')}}" required autocomplete="first_name" name="first_name" ^^^^^^^^^^^^^^^^^ /> قم باعطاء كل حقل الاسم الخاص به , لتتعامل مع لبيانات المرسلة في الواجهة الخلفية, ثم تأكد من الكود الخاص بالتحقق من البيانات في المتحكم الخاص بتسجيل عضو جديد في المسار التالي App\Http\Controllers\Auth\RegisterController; وجرب عملية التسجيل مرة أخرى
  3. استخدمنا for loop مرتين, المرة الأولى للقيام بادخال معلومات ثلاثة أشخاص وهذا الكود الخاص بهذا الجزء for(int i =0; i<3;i++){ cout << "Enter Student[" << i <<"] name : " ; cin >> student[i].name; cout << "Enter Student age : " ; cin >> student[i].age; cout << "Enter Student height : " ; cin >> student[i].height; cout << "Enter Student score : " ; cin >> student[i].score; } حلقة تكرار تتنفذ فقط 3 مرات , تتنفذ طالما قيمة المتغير i أقل من 3 , تبدأ وقمية i تساوي 0 , عندما تصبح قيمة i أكبر أو يساوي من 3 تتوقف حلقة التكرار الجزء الثاني الذي استخدم فيه for loop هو لطباعة بيانات الطلاب الثلاثة الذي تم ادخال بياناته مسبقا وهذا الكود الخاص بطباعة البيانات for (int i =0; i< 3; i++){ if(student[i].score >= 50){ cout << "Name = " << student[i].name << endl; cout << "age = " << student[i].age << endl; cout << "heiht = " << student[i].height << endl; cout << "score = " << student[i].score << endl; cout <<"============================================" <<endl; } طبعا بداخل كل حلقة يتم التأكد من درجة الطالب , اذا كانت اكبر أو يساوي 50 يتم طباعة البيانات , اذا كانت أقل لا يتم الطباعة استخدمنا cin لكي يتم قبول القيم المدخلة من قبل المستخدم واسنادها الى المتغيرات الخاصة بكل مستخدم
  4. تعتبر لغة c++ لغة عالية المستوى , تحتوي على الكثير من المكاتب والأطر المستخدمة والمدعومة في بناء الألعاب , حيث يتم استخدامها في بناء الكثير من ألعاب ووندوز , لديها عدة مميزات تجعل من السهل اختيارها لبناء الألعاب تعتبر لغة سريعة في عملية الترجمة تمكنك من التحكم في ادارة الذاكرة بشكل كبير تحتوي على مكتبات كثيرة وواسعة تساعدك في تصميم الرسومات المعقدة وتشغيلها لديها مجتمع كبير على الانترنت مما يسهل عليك ايجاد حلول للمشاكل التي من المحتمل أن تواجهك هناك أمثلة كثيرة على الألعاب التي تم تصميمها باستخدام لغة c++ مثل The Witcher 3 PlayerUnknown's Battlegrounds (PUBG) Fortnite يمكنك استخدامها وحدها في بناء الألعاب الخاصة بك ولن تحتاج الى لغات أخرى
  5. يمكنك تجربة أحد الطرق التالية لحل المشكلة أعادة تشغيل جهاز الكمبيوتر الخاص بك ثم اعادة تشغيل التطبيق قم بتشغيل التطبيق الخاص بك كمسؤول , يمكنك فعل ذلك من خلال الضغط بزر الماوس الأيمن على أيقونة التطبيق واختيار الأمر "تشغيل كمسؤول " أو "run as administrator" قم بحذف التطبيق وأعد تثبيت التطبيق مرة أخرى ربما لم يتم تثبيته بشكل صحيح ربما تحتاج الى تحديث النظام الخاص بك , حاول تثبيت اصدار ووندوز 10 لأن برامج أدوبي تواجه صعوبة على ووندوز 7
  6. لا تحتاج الى ترخيص , بل تحتاج الى ما يسمى استضافة ودومين , فكما تعلم مواقع الانترنت ما هي الا عبارة عن رابط تستطيع زيارته فيعرض لك الموقع , يمكنك شراءهما من أي موقع يوفر هذه الخدمات , قبل شراءهما ادرس الأمر جيدا لكي لا تقع في مشاكل في المستقبل مثل نوع الاستضافة والمميزات التي توفرها لك ,الاستضافة تعتبر مساحة تستطيع وضع ملفات ومحتويات الموقع فيها , وتحتاج الى الدومين أو الرابط الذي يستطيع المستخدمين الوصول الى الموقع من خلاله , ثم تحتاج أن تربط الدومين بالاستضافة , يمكنك قراءة المزيد عن الموضوع من خلال الرابط التالي ويمكنك البحث عن استضافة الويب أو Web Hosting
  7. بداية نحتاج الى متغير ليحمل قيمة الجمع وليكن اسمه sum وقيمته الأولية هي 0 , ثم سوف نقوم بعمل حلقة تكرار باستخدام for ويكون قيمة i تساوي 2 وتنتهي عندما i أكبر من 100 , وفي كل دورة تزداد قيمة i بمقدار 2 لكي نضمن أن الرقم زوجي , وفي كل دورة نقوم باضافة الرقم لقيمة المتغير sum يكون شكل الكود كالتالي public static void Main() { int sum=0;// المتغير الذي نخزن فيه قيمة الجمع for (int i = 2; i <= 100; i += 2) //حلقة تكرارية تبدأ من 2 وتنتهي عندما i أكبر من 100 وكل دورة تزداد بمقدار 2 { sum += i; // نضيف قيمة i في كل دورة الى قيمة المتغير sum } Console.Write(sum); // طباعة قيمة المتغير sum }
  8. يمكنك بدلا من استخدام طريقة حافاسكربت التي أشار اليها أسامة أن تستخدم jquery وهي أبسط بكثير من استخدام طريقة جافاسكربت التي أشار اليها أسامة, بالاعتماد على كود html وcss الذي أرفقه أسامة يمكن فعل ذلك باستخدام jquery كالتالي $(".nav__link").click(function () { $(".nav__link").removeClass("active"); $(this).addClass("active"); }); شرح الكود : قمنا بتحديد العناصر التي لديها الصنف nav__link ثم أضفنا اليها حدث click , اي عند الضغط على أي عنصر لديه الصنف nav__link سوف يتم حذف الصنف active من جميع العناصر التي لديها الصنف nav__link , ثم سوف نضيف الصنف active فقط للعنصر الذي ضغطنا عليه
  9. البرمجة لا تحتاج الى المذاكرة التي اعتدنا عليها في المدارس أو في المواد العادية , فهي لا تحتاج الى تلخيص الدروس أو كتابة الأكواد والأوامر على دفتر , تحتاج الى مذاكرة بطريقة أخرى وهي التطبيق المباشر للأكواد , يمكنك أن تحضر الدرس بشكل كامل , ومن ثم تطبيقه بنفسك , ثم قارن التطبيق الخاص بك بتطبيق المدرس , بهذه الطريقة يمكنك تذكر الأكواد , الأخطاء التي سوف تواجهها أول مرة لتطبيقك الأكواد سوف تكسبك الخبرة والمعرفة الجيدة , والجدير بالذكر أنه من الطبيعي في بداية الدورة أن نواجه مشكلة النسيان , لأن ما نتعلمه جديد ويصعب علينا تذكره بسرعة , يحتاج كما قلت في البداية الى التطبيق والممارسة , ولا تعتمد على تلخيص الدرس , الدرس موجود وتستطيع الرجوع اليه في أي وقت لذلك لا حاجة لتلخيصه , حاول القيام ببعض التمارين عن التقنيات التي تتعلمها وحاول حلها فذلك يكسبك الخبرة أيضا
  10. سوف يتم شرح أساسيات لغة جافاسكربت مثل المتغيرات والمعاملات وطباعة البيانات وجمل التحكم وحلقات التكرار وغيرها من المواضيع المهمة وأيضا سوف يتم شرح شجرة دوم -DOM- وكيفية الوصول لعناصر HTML , وأساسيات JQUERY أيضا , كل هذه الأشياء كافية للتعامل مع تصميم صفحات الانترنت ولن تحتاج لدورات خارجية , ولكن تحتاج للممارسة وتطبيق ما تعلمته في تصميم الصفحات , وأيضا ال 17 درس ليس هي وحدها , سوف يتم شرح المزيد خلال المسارات الأخرى من نفس الدورة وسوف يتم التعرف على الكثير من المكتبات والتقنيات أثناء الدورة مما يجعلك مؤهلا بشكل كافي لتصميم مواقع الانترنت ولكن ما تحتاجه هو الممارسة لاكتساب الخبرة
  11. عندما تقوم باختيار صورة فهو لن يتعامل معها كصورة بل سوف يتعامل معها كملف , وبشكل منطقي لا يمكننا أن نحسب الارتفاع والعرض لملف ما , نريد أن نقوم بتعريف البرنامج أن ما قمنا برفعه بالفعل هو صورة , وذلك عن طريق انشاء كائن جديد من Image , ثم نستخدم الدالة onload بمجرد أن تقوم الصورة بالتحميل يحسب الارتفاع والعرض الخاص بها , فيكون شكل الكود كالتالي var _URL = window.URL || window.webkitURL; var img, width, height; img = new Image(); img.onload = function () { width = this.width height = this.height // التحقق من ابعاد الصورة if (height > 200 || width > 200) { alert('Dimention is too Large '); $(".img-validate").val(''); return false; } }; img.src = _URL.createObjectURL(file); قمت بتعريف متغيرات img لتخزين كائن image بداخله , ومتغيرات الطول والعرض لتخزين الطول والعرض , ثم بعد تحميل الصورة سيقوم الكود بتخزين طول وعرض الصورة في المتغيرات الخاصة بها , ثم سوف يتم فحص أبعاد الصورة , بهذه الطريقة يمكن فحص طول وعرض الصورة , شكل الكود بشكل كامل <script> $(document).ready(function () { $("#img-validate").change(function () { var allowedTypes = ['image/jpeg', 'image/gif', 'image/png']; var file = this.files[0]; var _URL = window.URL || window.webkitURL; var img, width, height; img = new Image(); img.onload = function () { width = this.width height = this.height // التحقق من ابعاد الصورة if (height > 200 || width > 200) { alert('Dimention is too Large '); $(".img-validate").val(''); return false; } }; img.src = _URL.createObjectURL(file); var MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB var fileSize = this.files[0].size; // التحقق من الملف من خلال صيغ if (!file.name.endsWith('.jpg') && !file.name.endsWith('.jpeg') && !file .name.endsWith('.png') && !file.name.endsWith('.gif')) { alert('Restricted File Type, Please Select only image files'); $(".img-validate").val(''); return false; } // التحقق من حجم الملف else if (fileSize > MAX_FILE_SIZE) { alert('الحد الاقصى للصورة 5 ميجابايت'); $(".img-validate").val(''); } else { this.setCustomValidity(""); } }); }); </script>
  12. لحل هذه المشكلة تستيطع التواصل مع مركز المساعدة الخاص بأكاديمية حسوب , يمكنك الذهاب اليه من هنا والتواصل معهم وطرح مشكلتكك عليهم وسوف يساعدونك في أقرب وقت , ولكن قبل اخذ قرار الانتقال الى دورة علوم الحاسوب تحتاج الى معرفة محتوى الدورة لكي تكون على معرفة بالمواضيع التي سوف تتعلمها فيها ,الدورة تحتوي على 8 مسارات وكل مسار يتناول بعض الموضوعات وهي كالتالي مسار مدخل إلى علوم الحاسوب وسوف يتناول موضوع تعلم سكراتش والتعرف على مكونات الحاسوب وتعلم التفكير المنطقي مسار أساسيات البرمجة , سوف يتم تعلم أساسيات البرمجة من خلال لغة جافاسكربت مسار أنظمة التشغيل ونظام لينكس , من خلال هذا المسار سوف نتعلم كيفية التعامل مع الأنظمة وكيف تعمل هذه الأنظمة مسار قواعد البيانات الذي سوف نتعلم من خلاله ما هي قواعد البيانات ونتعرف على أنواعها وكيفية التعامل معها مسار عالم الويب الذي سوف نتعلم من خلاله كيف يتم عمل صفحات الويب وما هي التقنيات المستخدمة في ذلك وما هي الخوادم وغيرها من الأمور التي تتعلق بالويب , ربما هذا المسار المتعلق بدورة تطوير واجهات المستخدم مسار البرمجة كائنية التوجه الذي سوف نتعلم من خلاله ما هي البرمجة كائنية التوجه من خلال استخدام لغة بايثون مسار الخوارزميات , من خلاله سوف نتعلم كيف نقوم بعمل خوارزميات لحل المشاكل مسار أنماط التصميم وأنواعها الجدير بالذكر أيضا أنك اذا كنت جديد في مجال البرمجة بشكل عام فبالتأكيد سوف تواجه الكثير من الصعوبات في فهم المصطلحات والمفاهيم الجديدة وهذا شيء طبيعي
  13. يمكنك استخدام برنامج Visual Studio Code مع تنزيل بعض الاضافات اليه , هناك اضافة Error Lens تكشف لك الأخطاء وتنبهك بوجود خطأ في هذا السطر ولكن لا تصلح بشكل تلقائي, فمثلا اذا نسيت الفاصلة المنقوطة في نهاية الجملة تنبهك أنه يوجد خطأ في هذا السطر , هذه صورة للاضافة أما بالنسبة للسيرفر فيمكنك استخدام اضافة live server , وهذا هو شكلها
  14. نعم صحيح لا مشكلة في ذلك ولن تواجهك أي مشكلة
  15. هناك شيء يجب معرفته عن grid system الخاص ببوتستراب , وهو أن grid system تم بناءه باستخدام الخاصية flex , فتجد أن الصنف row لديه الخصائص التالية row{ display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } كما تلاحظ أنه يعتمد تماما على خاصية flex , ثم بداخل الصنف row تستخدم أحد أصناف col , على فرض استخدمت الصنف col-sm فتنسيقاته كالتالي .col-sm { flex-basis: 0; flex-grow: 1; max-width: 100%; } أي أنها تعتمد على تنسيقات الخاصية flex , هذا بالنسبة لنظام grid system الخاص ببوتستراب , أما بالنسبة للعيوب , لا يوجد أي عيوب تقريبا غير أن امكانياتها محدودة , فعلى سبيل المثال الهوامش الداخلية -Padding- و الهوامش الخارجية -margin- محدودة فهي تبدأ من 0 وتنتهي عند 5 , اذا أردت أكثر فيجب عليك أن تكتب ذلك بنفسك في ملف التنسيقات وتحدد قيمة الهامش بنفسك , أما من جانب مميزاته فهو يوفر عليك الكثير من خلال استخدام الأصناف الجاهزة والمكونات الجاهزة