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

Mustafa Suleiman

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

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

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

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

    365

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

  1. تلك ميزة في قوالب blade المستخدمة في لارافل، حيث تُستخدم لتوليد حقل الـ hidden input الذي يحمل قيمة "DELETE"، والذي يُرسل مع النموذج لتحديد نوع الطلب كـ DELETE. أي يُولد كحقل input يحمل اسم "_method" وقيمة "DELETE"، وعند إرسال النموذج، يتم تضمين الحقل في البيانات المرسلة، وبالتالي يتمكن Laravel من تحديد نوع الطلب كـ DELETE حتى يتم توجيهه بشكل صحيح. و @csrf تُستخدم لتوليد حقل الـ hidden input الذي يحمل رمز CSRF، وهو مطلوب لحماية التطبيق من هجمات Cross-Site Request Forgery (CSRF). كالتالي: <form action="{{ route('users.destroy', $user) }}" method="POST" class="d-inline-block" onsubmit="return confirm('Remove user?')"> @csrf @method('DELETE') <button type="submit" class="btn btn-danger"> Delete user </button> </a>
  2. الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، ولكن في حال توفر الكود يمكن مساعدتك في حل المشكلة، وخطوات حل السؤال هي كالتالي: إنشاء مصفوفة تحتوي على أرقام الموظفين، باستخدام نوع البيانات int لتمثيل أرقام الموظفين. إنشاء كائن Scanner لقراءة إدخال المستخدم. استخدمي Scanner لطلب رقم الموظف الذي يرغب المستخدم في البحث عنه. استخدمي حلقة for لتحقيق البحث في المصفوفة بالطبع داخلها نستخدم شرط if لكتابة شرط معين. استخدمي بنية تحكم if-else لطباعة رسالة تفيد بوجود أو عدم وجود الموظف. إغلاق كائن Scanner بعد الانتهاء من استخدامه لتجنب تسريب الموارد.
  3. الكود يعتمد على حلقة تكرارية (while loop) لتنفيذ سلسلة من العمليات اعتمادًا على شروط محددة، كالتالي: i تم تعريفها كمتغير صحيح وتم تهيئتها بالقيمة 0. m تم تعريفها كمتغير صحيح وتم تهيئتها بالقيمة 15. - ثم في الحلقة التكرارية (While Loop): الحلقة تستمر حتى أن i يصبح أكبر من أو يساوي 10. داخل الحلقة: يتم إضافة قيمة i إلى m. فحص ما إذا كانت القيمة الحالية لـ m هي عدد زوجي. إن كانت القيمة زوجية، تستخدم continue للانتقال إلى بداية الحلقة دون تنفيذ الأوامر التالية. إضافة قيمة 3 إلى i. طباعة قيمة m. استدعاء Console.ReadLine() للانتظار حتى يقوم المستخدم بإدخال شيء (للتفاعل مع البرنامج). في كل دورة من الحلقة، تُطبع قيمة m إذا كانت m عددًا فرديًا (لأنه في حالة الأعداد الزوجية، يتم استخدام continue). القيم التي تم طباعتها هي: m = 15 (لأن 15 % 2 ليست زوجية). m = 21 (لأن 18 + 3 = 21 وهي فردية). m = 27 (لأن 24 + 3 = 27 وهي فردية). m = 45 (لأن 42 + 3 = 45 وهي فردية). وهكذا تستمر الحلقة حتى يتم تنفيذها 10 مرات (بناءً على الشرط i < 10). والكود الصحيح هو كالتالي: class Program { static void Main(string[] args) { int i = 0, m = 15; while (i < 10) { m = m + i; if (m % 2 == 0) continue; i = i + 3; Console.WriteLine(m); } Console.ReadLine(); // نقلت هذا السطر إلى خارج الحلقة } }
  4. هل تستخدم متصفح جوجل كروم؟ يمكنك تثبيت أحدث نسخة من هنا: https://google-chrome.en.uptodown.com/windows
  5. المشروع الذي تعمل عليه أنت، نضغط المجلد من الخارج بالكامل من خلال برنامج ضغط مثل WinRAR ثم نرفق الملف المضغوط في المرفقات في السؤال.
  6. عند النزول لأسفل الدرس وليس أسفل الفيديو أقصد أسفل الصفحة ستجد خانة للتعليق مماثلة تمامًا لما تقوم به هنا، وتستطيع التعليق وإرفاق مجلد المشروع بعد ضغطه لتفقد المشكلة به.
  7. المقصود هو تحويل التصميم إلى موقع حي بواسطة الكود، حيث نقوم بتصميم الموقع بنفس الشكل ولكن من خلال الأكواد HTML, CSS وبنفس المسافات والقياسات. بخصوص ربط البيانات، فيتم إنشاء قاعدة بيانات في ووردبريس وإضافة ما تريده من بيانات في تلك القاعدة والتي غالبًا ما تكون MySQL.
  8. كلاهما واحد سواء parent أو master المقصود بها النافذة الرئيسية MainWindow. أي العنصر الرئيسي الذي يحتوي على عناصر فرعية، مثل نافذة (window) أو إطار (frame) أو عنصر آخر، وعند إنشاء عنصر فرعي مثل Frame، يتم تمرير العنصر الرئيسي (parent) كمعلمة. وفي Tkinter، تستطيع استخدام "master" كمصطلح بديل لـ "parent"، حيث يشير كلاهما إلى العنصر الرئيسي الذي يحتوي على العناصر الفرعية.
  9. المجالين بعيدين جدًا عن بعضهم، فلو كنت تريد تعلم الواجهة الخلفية مثلاً Back-End مع الواجهة الأمامية Fron-End أي مجال الويب كاملاً لقلت لك تستطيع ذلك. وحتى لو كنت تريد تعلم مجالين قريبين من بعضهم، فيجب التركيز على مجال واحد في البداية ثم الإنتقال للآخر بعد الشعور بأريحية في المجال الأول أي أتقنته بنسبة تؤهلك لتنفيذ مشروع متوسط. لكن مجال تعلم الآلة بحاجة إلى سنتين إلى ثلاث سنوات على الأقل لتتعلمه وأقصد لتصبح بمستوى جيد وليس لتعلم المجال بالكامل، وهو من أصعب المجالات ويحتاج إلى مجهود ووقت لكن مجال واعد والطلب عليه يزداد سنة بعد أخرى حاليًا. لذا اختر مجال واحد فقط مناسب لما تريده حاليًا ومناسب لظروفك، فأنا لا أستطيع تحديد ما هو الأنسب لك، حدد الوقت المتاح لك وما تريده حاليًا. وإذا كنت لم تحدد المجال البرمجي الذي تريد تعلمه، فأنصحك بتعلم مجال الويب فهو سيفتح لك المجال لتعلم المجالات الأخرى، وستنتقل خبراتك به إلى المجالات الأخرى.
  10. الأمر يعتمد على مدى قرب المجالين وصلتهم ببعضهم، ما هما المجالين؟
  11. الموقع في مجلد المشروع المرفق لديك مختلف تمامًا عن الذي في الصور، أرفق المشروع الذي تعمل عليه حاليًا.
  12. بالنسبة لشريط التنقل Navbar تستطيع تثبيته أثناء السكرول من خلال خاصية sticky، كالتالي: .navbar { position: sticky; top: 0; } أما بالنسبة للسؤال الخاص بالمثلثات لم أفهم بالضبط ما تريده.
  13. أرجو التعليق أسفل فيديو الدورة الذي تواجه به مشكله، وإرفاق مجلد المشروع بعد ضغطه لإخبارك ما الخطأ.
  14. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل. المشكلة هي أنك تستخدم منفذ الأوامر Powershell وهو مختلف عن منفذ الأوامر CMD، وأنت تقوم بتشغيل السكريبت الذي ينتهي بصيغة bat وهو موجه لـ CMD، بينما السكريبت الخاص بـ PowerShell ينتهي بـ ps1. لذا عليك تنفيذ الأمر التالي بدون تحديد صيغة السكريبت وسيتم إختيار السكريبت المناسب بشكل تلقائي كالتالي: venv\Scripts\activate
  15. ما هي رسالة الخطأ التي تظهر لك أرجو توضيحها؟
  16. حاول تجربة موقع "الجدوى" ابحث عنه في جوجل.
  17. بخصوص التطبيقات العربية فيوجد: دراسة جدوى مشروع : نموذج pdf دراسة الجدوى (Word) ولكن هي مجرد نصائح ودليل فقط. ويوجد التطبيق التالي لإنشاء دراسة جدوى: دراسة جدوى المشروع Business pl أما إذا أردت موقع لذلك فيوجد موقع "الجدوى". @Saleh Kamal
  18. يوجد تطبيقات محاسبية مثل: EasyAccounting - المحاسب السهل Qoyod - قيود دفاتر المحاسب الذكي المحاسبة الذهبية ونقاط البيع
  19. هل تقصد تطوير تطبيق أم تريد تطبيق محاسبي؟ وما هي نوع المحاسبات التي تريد إجراءها؟
  20. تأكد من استخدام الإصدار 1.6 أو أعلى من AndroidX Activity تفقد الإصدار في الإعتماديات لديك في ملف build.gradle implementation "androidx.activity:activity:1.6.0-alpha05"
  21. من المفترض أن يوجد خطأ في النسخة الحالية من الكود لديك ويخبرك بذلك، ويخيرك بين تشغيل تلك النسخة من الكود أو تشغيل النسخة السابقة السليمة، اضغط على No وتفقد ما الخطأ.
  22. الخطأ لديك هو onbackinvokedcallback is not enabled for the app، حيث لم يتم تمكين خاصية "OnBackInvokedCallback" في تطبيق Flutter لديك، وتلك الخاصية ضرورية للتعامل مع إيماءة الرجوع على أجهزة Android التي تعمل بإصدار 13 أو أحدث. والحل يكمن في تفعيل الخاصية في ملف AndroidManifest.xml، وستجده في المسار android/app/src/main/AndroidManifest.xml في مشروعك. أضف السطر التالي داخل وسم <application>: android:enableOnBackInvokedCallback="true" بحيث يبدوا الوسم كالتالي: <application android:name="io.flutter.app.FlutterApplication" android:label="YourAppName" android:icon="@mipmap/ic_launcher" android:enableOnBackInvokedCallback="true"> ثم أعد تشغيل أو إعادة بناء تطبيق Flutter. وفي حال تستخدم مكتبة لإدارة التوجيه مثل go_router، ستحتاج إلى تحديثها إلى إصدار يدعم خاصية "OnBackInvokedCallback" وهو الإصدار 3.0.0 أو أحدث.
  23. المشكلة في الجزء التالي من الكود: b=b.pop() لاحظ أنك تقوم بإعادة تعيين قيمة b إلى القيمة العائدة من b.pop حيث يتم إعادة آخر قيمة من المصفوفة من خلال pop وبالتالي b لم تعد مصفوفة بعد الآن بل قيمة فقط، لذا لا يمكن استدعاء ميثود push عليها. والصحيح هو: b.pop(); أي لديك مشكلة في المقارنة حيث أنك كتبت j=b.length-1;j++ بينما الصحيح هو: j < b.length - 1; j++ من أجل التكرار بشكل صحيح. والكود هو: var lengthOfLongestSubstring = function(s) { var max = 1; var a = s.split(''); let b = []; for (let i = 0; i < a.length; i++) { b.push(a[i]); for (let j = 0; j = b.length - 1; j++) { if (b[j] === a[i + 1]) { var dd = b.length; if (dd > max) { max = dd; ss = b.join(''); b.pop(); } } } } return ss; }; console.log(lengthOfLongestSubstring('pwwkew'));
  24. بخصوص تطوير قالب ونشره على منصة سلة، فأنت بحاجة إلى تعلم لغات HTML, CSS, JS ثم تعلم محرك القوالب المستخدم في إنشاء القوالب على متجر سلة وهو محرك Twig والذي يعتمد على لغة PHP لذا أنت بحاجة إلى الإلمام بتلك اللغة وستجد تفصيل هنا: أما بخصوص تخصيص القوالب الموجودة حاليًا كما في المشاريع التي تراها على مستقل فيتم من خلال CSS وستجد تفصيل هنا:
×
×
  • أضف...