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

Wael Aljamal

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

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

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

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

    218

إجابات الأسئلة

  1. إجابة Wael Aljamal سؤال في لدي مشكلة في قراءة البيانات القادمة من API كانت الإجابة المقبولة   
    يعيد API مصفوفة JSON Array وليس كائن وحيد، وبذلك يجب تمرير دليل العنصر الأول 0 من Profile Data
    فالحل هو كالتالي:
    name = profiledata[0]['name']; ^^^^^^^ code = profiledata[0]['code']; ^^^^^^^^ birthday = profiledata[0]['bd']; sex = profiledata[0]['sex']; nationality = profiledata[0]['nationality']; nationalnum = profiledata[0]['nationalnum']; balance = double.parse(profiledata[0]['baalance']); carNum = profiledata[0]['carnum']; photo = profiledata[0]['photo']; يمكن اختصار التعديل لمكان واحد فقط كالتالي:
    var profiledata = (await fetchdata.getdata())[0]; ^^^^^ وبهذا يتم التطبيق على جميع الخاصيات مباشرة
  2. إجابة Wael Aljamal سؤال في عندي مشكله يظهر الخطأ can not recognize create-react-app hsoub كانت الإجابة المقبولة   
    حاول تنفيذ الأمر عن طريق npx بكتابة 
    npx create-react-app hsoub يمكنك نشر الأسئلة في تعليق أسفل الدرس.
  3. إجابة Wael Aljamal سؤال في كيفية نشر و مشاركة المشاريع مع السماح بتعديلها من المشتري كانت الإجابة المقبولة   
    بشكل عام الدورة متكاملة، يتوجب حضور عدة مسارات لتكتسب المهارات الكافية لجميع أسئلتك.
    يوجد دروس ضمن مسارات المشاريع تعلم كيفية رفع الملفات على منصة git hub لمشاركة الملفات المصدرية، ثم نشر الموقع لتستطيع تصفحه من خلال رابط عن طريق خدمة github pages وهي درس في آخر مسار بعد الانتهاء من المشروع نقوم بنشره قسم الأساسيات فيه تطبيقات بسيطة يقوم بتأهيلك لدروس و مسارات المشاريع، من الأفضل تطبيق مشاريع من الدورة لتضتضح معك الأمور، صعوبة المشاريع بشكل متدرج... من خلال بناء الموقع بطريقة مناسبة قابلة للتعديل، مثلا ألوان الموقع: سوف تتعلم كيفية عمل ملفات خاصة بضبط الموقع، و تحديد متغيرات محددة للألوان يمكن تغييرها بمكان واحد وسوف تتعلم على المشروع.. يمكن للمشتري نفسه طلب منك تعديلات مأجورة على التصميم أو توظيف مبرمج آخر.
  4. إجابة Wael Aljamal سؤال في كيفية تمرير رمز المصادقة access token للخادم من تطبيق فلاتر Flutter كانت الإجابة المقبولة   
    يتوجب قراءة رمز الوصول من sharedPreferences كالتالي:
    SharedPreferences sharedPreferences = await SharedPreferences.getInstance(); String? accessToken = sharedPreferences.getString("accessToken"); ^^^ null safty // ^^^^^^^^^ ^^^^^^^^^^^ اسمها ثم يتم تمرير ترويسة Header مع طلبية GET
    Future getdata() async { SharedPreferences sharedPreferences = await SharedPreferences.getInstance(); String? accessToken = sharedPreferences.getString("accessToken"); http.Response response = await http.get( Uri.parse(url), headers: { // هنا 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer $accessToken', ^^^^^^^ ^^^^^^^^^^^^^ نمرر الرمز }); if (response.statusCode == 200) { String data = response.body; return jsonDecode(data); } else { print(response.body); } } }  
  5. إجابة Wael Aljamal سؤال في مشكلة في تسجيل الدخول بعد إرسال البريد و كلمة السر في Django كانت الإجابة المقبولة   
    يتوجب التحقق من أسماء الحقول التي عليك تمريرها للواجهة الخلفية لأن أي حرف مختلف سوف يسبب عدم تطابق التحقق.
    لاحظ أن السيرفر يطلب منك username ,وأنت تمرر له الحقل باسم email , هذه البيانات سيتم تجاهلها و سيتم رفض الطلبية لعد احتوائها على حقل مطلوب.
    عليك تعديل الخاصية email ب username
    Map data = {'email': email, 'password': pass}; ^^^^^^^^^^^ Map data = {'username': email, 'password': pass};  
  6. إجابة Wael Aljamal سؤال في تفعيل زر التحقق من مدخلات المستخدم قبل عمل تسجيل الدخول Flutter كانت الإجابة المقبولة   
    عند تحميل التطبيق سيتم تنفيذ دالة checkInput لأول مرة و إسناد قيمتها للدالة onpress كتابع.
    وأنت تريد تطبيق دالة التحقق بعد النقر، لذلك نجعل الزر يستدعي دالة وهي بدورها تستدعي دالة التحقق ليصبح:
    onPressed: () { checkInput(); }, حاول مجدداً يتوجب أن يعمل الزر
  7. إجابة Wael Aljamal سؤال في ترتيب الدورات في المسار تطوير تطبيقات الويب باستخدام لغة PHP كانت الإجابة المقبولة   
    نعم صحيح، يتم ترتيب المسارات ضمن الدورة بحيث تبدأ بالأساسيات ثم تطبيقات ومشاريع.
    المهم أن تبدأ ب أساسيات لغة PHP ثم أساسيات إطار العمل Laravel لأن المشاريع مبنية على إطار العمل لارافل. ثم يمكنك البدء بأي مسار لأنهم مبنيين على لارافل.
    المشاريع متكاملة و كل منهم يستخدم ميزات و نقاط قوة لإطار العمل بشكل مختلف.
    أما آخر المشاريع لا علاقة لهم بإطار لارافل وهي تطوير قوالب ووردبريس و تطوير متجر إلكتروني في ووردبريس عبر ووكومرس. تتطلب أساسيات PHP
  8. إجابة Wael Aljamal سؤال في اختبار احتواء سلسلة نصية على تكرار للحروف جافاسكربت كانت الإجابة المقبولة   
    سوف أشرح الموضوع بشكل خطوات، حاول تطبيقهم ضمن برنامج و جرب سلاسل نصية بسيطة للاختبار.
    تهيئة متغير عبارة عن سلسلة نصية  تهيئة مصفوفة نستخدمها لعد تكرار الحروف نمر على السلسلة النصية بحلقة for لكل حرف من السلسة نزيد تكراره ضمن المصفوفة نختبر تكرار الحروف في المصفوفة إن كان لدينا حرف تكراره أكبر من 1 (يوجد تكرار) أو لا يوجد تكرار ونطبع النتيجة حسب طلب المسألة
  9. إجابة Wael Aljamal سؤال في هل معترف بشهادة حسوب في اسبانيا كانت الإجابة المقبولة   
    إن الاعتراف بشهادة غير متعلق بمصدرها، يوجد جامعات عالمية غير معترف بها في دول أخرى بسبب علاعلاقات بين هذه الدول، و نفس الشيء ينطبق على الشهادات..
    مهما كان مصدر الشهادة تبقى مهارات حاملها هي من يحدد أفضليته عن غيره في الحصول على الوظيفة و التوظيف و العمل.. يمكنك العمل كمستقل بسهولة من أي بلد كان و على أي موقع توظيف، لكن كوظيفة ضمن حكومة اسبانيا ربما يكون لهم شروط مختلفة..
    اهتم بمعرض أعمالك ولا تتوقف عن التعلم، وتطور باستمرار.
     
  10. إجابة Wael Aljamal سؤال في مشكلة ربط مشروع على github عند ربط المستودع المحلي مع البعيد error: 403 كانت الإجابة المقبولة   
    أصبحت المشكلة في أن ليس لديك صلاحية للربط مع المستودع، والخطأ 403 يتعلق بالمصادقة.
    لم يعد غيت هاب يعتمد على اسم مستخدم و كلمة سر بل أصبح يعتمد نظام  Token , وهي سلسلة نصية مشفرة تحمل بيانات المستخدم و تضيفها لحاسوبك ليستطيع الاتصال مع المستودع Personal Access Token
    للاختصار يمكن وضع ال Token مباشرة ضمن الرابط:
    يمكنك أن تستخدم الأمر التالي في مشروعك (تأكد أنك في مجلد المشروع الصحيح):
    git remote set-url origin https://<access-token>@github.com/<username>/<repo> ^^^^^^^^^^^^^^ قم بوضع الـ access token واسم المستخدم واسم المستودع أيضًا.
    أرجو فتح لوحة تحكم غيت هاب و تشكيل رمز جديد لك و احفظه لديك واستخدمه
    أخطاء HTTP 403
     
  11. إجابة Wael Aljamal سؤال في مشكلة رفع مشروع على github عند ربط المستودع المحلي مع البعيد كانت الإجابة المقبولة   
    تأكد حذف الرابط القديم
    git remote rm origin ثم إعادة الأمر
    git remote add origin https://github.com/Saadaoui-Forkan/Food.git  
  12. إجابة Wael Aljamal سؤال في كيفية اضافة صورتين في input file جافا سكريبت / جيكويري كانت الإجابة المقبولة   
    كما تعلمت مسبقاً نتجنب استخدام نفس المعرف id لأكثر من عنصر في صفحة الويب لأنه يجب أن يكون فريد من نوعه. (هو شيء من أساسيات HTML لايعطي خطأ لكن كما مشكلتك لا يعمل بشكل سليم)
    يمكنك استخدام معرفين مختلفين و تمرير المعرف ضمن الدالة 
    onchange="imageToBase64(this),image(event,'1');" , الدالة:
    function image (event, id) { var image = document.getElementById('product-img-' + id); // ^^^^^^^^^ image.src = URL.createObjectURL(event.target.files[0]); }; والتعديل في العناصر لتغيير المعرف
    id="product-img-1" id="product-img-2"  
  13. إجابة Wael Aljamal سؤال في تطبيق على الشروط IF المتتابعة بلغة #C كانت الإجابة المقبولة   
    سوف تخضع قيمة X لاختبارين الأول يتحقق فيما انت أصغر من 100 فيجمع لها 1، ثم شرط آخر يختبر هل أصبحت (بعد التعديل المحتمل) أكبر من 50؟ فيجمع 1 مرة أخرى، 
    في هذا السؤال تنفيذ عبارة else مرتبط بعدم تحقق الشرط الثاني حيث يتم طرح 1.
    if(x<100) x=x+1; if(x>50) x=x+1; else // يتم التنفيذ في حال فشل ثاني شرط x=x-1; في السؤال السابق كان ارتبطا else مع الشرط الأول لوجود أقواس المجموعة، فيتم اعتبار الشرط الثاني تابع لتحقق الشرط الأول  وهذا الكود الأول 
    if(x<100) { x=x+1; // جميع التعليمات أبناء الشرط الأول if(x>50) // يتم اختبارها في حال تحقق أول شرط x=x+1; } // يتم تنفيذها في حال فشل أول شرط else x=x-1;  
  14. إجابة Wael Aljamal سؤال في تطبيق الشروط IF المتداخلة بلغة #C كانت الإجابة المقبولة   
    يختبر البرنامج قيمة فإذا كانت X أقل من 100 سوف يجمع لها القيمة 1 
    ثم يوجد شرط آخر ضمن الشرط الأول، ويختبر فيه البرنامج القيمة الجديدة ل X أي بعد التعديل الأول فإن أصبحت أكبر من 50 سوف يزيد 1 أيضأ.
    عبارة else يرتبط تنفيذها بعدم تحقق الشرط الأول وتعمل على إنقاص قيمة X ب 1
    يمكنك قراءة الشرح ثم حساب قيمة المتغير وسأعطيك الإجابة الصحيح بعد أن تقومي بتجريب الحل 
  15. إجابة Wael Aljamal سؤال في عملية البحث بداخل Arraylist بلغة جافا JAVA كانت الإجابة المقبولة   
    دالة البحث يوجد فيها مشكلة أنها تطبع العبارات مع تكرار،
    إن لم نجد المنتج ضمن القائمة نطبع أنه غير موجود لمرة واحدة (بعد الانتهاء من الحلقة) في حال وجود منتج نطبع أنه موجود و نوقف الحلقة لعدم حصول تكرار إنما يمكن تعديلها قليلاً
    public static void Search(ArrayList<Product> list,String productsName) { for(int i =0; i<list.size();i++) { String currentProductName = list.get(i).getproductsName(); // جلب الاسم if(productsName.equals(currentProductName)) { System.out.println("This product is available"); return; // نوقف الدالة بعد التأكد من وجود المنتج } } // طباعة أن المنتج غير موجود System.out.println("Sorry,this product is not available"); }  
  16. إجابة Wael Aljamal سؤال في خطأ عند استخدام GUI و الثريدات معا في كود واحد بلغة جافا كانت الإجابة المقبولة   
    الخطأ في الشيفرة هو محاولة وراثة متعددة من صنفين JTextArea و Thread (مع استخدام الكلمة المفتاحية implement بشكل خطأ مع صنف) 
    الحل هو وراثة JTextArea مع عمل implement للواجهة البرمجية Runnable ليصبح برنامجك
    public class Print2GUI extend JTextArea implement Runnable { ^^^^^^^^^^^^^^^^^^^^ public void run() { for (int b = -128; b < 128; b++) } }  
  17. إجابة Wael Aljamal سؤال في جعل Thread يدخل في حالة سكون لوقت محدد كانت الإجابة المقبولة   
    طالما أنك تستخدمين الصف Thread يمكن تطبيق التابع sleep منها مع تمرير الوقت المراد انتظاره.
    try { Thread.sleep((long)1000); } catch (InterruptedException e) { } يتم تقدير الوقت بالميلي ثانية أي 1000 هي ثانية.
    وترمي استثناء من نوع Interrupted Exception في حال مقاطعة خلال الانتظار (انهاء قسري أو إيقاف البرنامج) مثلاً يوجد مسلك آخر وجد حل للمشكلة البرمجية التي كل مسلك لدينا مسؤول عن جزء من مجال الحل الخاص بها.
     
  18. إجابة Wael Aljamal سؤال في منع إغلاق التطبيق عن طريق الخطأ flutter كانت الإجابة المقبولة   
    يوجد مكتبة بسيطة تساعد على حل المشكلة، بحيث يطلب ضغط المستخدم مرتين لإغلاق التطبيق
    وهي المكتبة double_back_to_close_app
    يمكن استخدامها بالطريقة التالية بإحاطة محتوى الصفحة بالحاوية DoubleBackToCloseApp
    تضمين import 'package:double_back_to_close_app/double_back_to_close_app.dart'; class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: DoubleBackToCloseApp( child: HomePage(), snackBar: const SnackBar( content: Text('انقر مرتين لإغلاق التطبيق'), ), ), ), ); } }  
    dependencies: double_back_to_close_app: ^1.2.0  
  19. إجابة Wael Aljamal سؤال في فتح رابط خارجي في تطبيق flutter كانت الإجابة المقبولة   
    لفتح روابط الانترنت في تطبيق فلاتر يمكنك استخدام الإضافة url_launcher
    تضيف الإصدار المطلوب (الأحدث) ضمن ملف إعداد الحزم pubspec.yaml في dependencies
    dependencies: url_launcher: ^5.7.10 ثم في الملف الذي عالج نقر الزر نستدعي المكتبة 
    import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; void main() { runApp(new Scaffold( body: new Center( child: new RaisedButton( onPressed: _launchURL, child: new Text('عرض بيانات الخصوصية من الموقع'), ), ), )); } // تابع غير متزامن _launchURL() async { const url = 'https://privacy.my_web_site.com'; // رابط وهمي لبيانات الخصوصية // اختبار أن الرابط سليم if (await canLaunch(url)) { await launch(url); // فتح الرابط في المتصفح } else { throw 'Could not launch $url'; // عرض استثناء } } وفي النسخ الجديدة من المكتبة 6 أصبح التعامل مع رابط الويب على شكل URI
    final Uri _url = Uri.parse('https://privacy.my_web_site.com'); void _launchUrl() async { if (!await launchUrl(_url)) throw 'Could not launch $_url'; }  
  20. إجابة Wael Aljamal سؤال في نقل ملف مقفل في نظام لينكس كانت الإجابة المقبولة   
    يجب الدخول بصلاحيات الأدمن بالأمر
    sudo su ثم تكتب كلمة السر، ثم تجرب أمر تغيير المالك والصلاحيات
    chmod 777 ./wpwp.exe  
  21. إجابة Wael Aljamal سؤال في استفسار عن مسار تطوير تطبيقات الاندرويد بالجافا كانت الإجابة المقبولة   
    يمكنك البدء بأي دروة تطوير تطبيقات أندرويد تم شرحها بلغة جافا، حيث أنه من المتوقع أن يقوم المدرس بشرح ما يلزمك لفهم كيفية تطوير التطبيقات.
    بعد تعلمك للغة جافا يمكن تحديد الخطوات التالية بشكل عريض:
     التعرف على مكونات الواجهات UI Components in android like textview, edittext, button, progressbar. قواعد بيانات Sqlite DB. الاتصال على الانترنت و التعامل مع API + Networking In android يمكنك الاستفادة من مقالات أكاديمية حسوب في برمجة أندرويد
    يمكنك البدء بالدرس:
    لأخذ فكرة شاملة عن موضوع التطوير
  22. إجابة Wael Aljamal سؤال في تعديل قيمة متغير لا تتحدث في العرض Flutter كانت الإجابة المقبولة   
    لديك خطأ في استدعاء دالة set state , الطريقة الصحيحة للاستدعاء هي:
    void changebalanc(){ print('balance'); setState( (){ this.balance = 10000; print(balance); }); } ,الشكل العام للدالة هي 
    setState( () { _myState = newValue; } ); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ حيث تأخذ وسيط عبارة عن دالة Callback Function تغير على قيمة خاصية في صنف الحالة ثم تعيد استدعاء دالة Build لإعادة رسم الصفحة render page
  23. إجابة Wael Aljamal سؤال في أين أجد قسم تطوير الألعاب في أكاديمية حسوب كانت الإجابة المقبولة   
    إن أكاديمية حسوب لاتوفر دورات خاصة ببرمجة الألعاب,
    حتى تستطيع برمجة الألعاب يجب أن يتوفر لديك مهارات التفكير المنطقي و الخوارزميات وأساسيات البرمجة، فإن كنت مبتدئ أنصح بالتعلم بشكل صحيح من البداية ليكون لديك معرفة واسعة.
    وبشكل متقدم، برمجة الألعاب تحتاج لمهارات في الرياضيات..
    إن قمت بتسجيل دورة علوم الحاسب المقدمة من أكاديمية حسوب سوف تستطيع تعلم لغة برمجة سكراتش وإنشاء ألعاب تفاعلية مع تحريك الأجسام وتغيير الخلفيات والقفز و إطلاق الرصاص من الدبابة وكلها أساسيات عالم الألعاب وغيرها من الأمور الأساسية لكي تصبح قادراً على تعلم لغة برمجة حقيقية ثم بعدها برمجة الألعاب. أنصح بهذه الدورة.
    مدخل إلى علوم الحاسوب أساسيات البرمجة أنظمة التشغيل ونظام لينكس قواعد البيانات إلى عالم الويب البرمجة كائنية التوجه الخوارزميات وبنى المعطيات أنماط التصميم يمكنك دراسة مقالات تطوير الألعاب
    والبدء بإنشاء لعبة بسيطة في المتصفح من خلال المقال:
     
  24. إجابة Wael Aljamal سؤال في مشكلة في كتابة دوال متداخلة في جيكويري callback function كانت الإجابة المقبولة   
    تحتاج لأقواس مدورة بعد كلمة ()function
    $(document).ready(function() { $(td).click(function(){ // هنا console.log("click it again"); alert("mmn"); }) }  
  25. إجابة Wael Aljamal سؤال في إظهار تنبيه أن عنصر ناقص في إستمارة form في php كانت الإجابة المقبولة   
    لديك كل check box له خاصية name مختلفة يتوجب توحيدها
    <input type="checkbox" name="category" value="Bones"> <lable>Bones</lable> <input type="checkbox" name="category" value="Heart"> <lable>Heart</lable> <input type="checkbox" name="category" value="Dentistry"> <lable>Dentistry</lable> <input type="checkbox" name="category" value="Mental Health"> <lable>Mental Health</lable> <input type="checkbox" name="category" value="Surgery"> <lable>Surgery</lable> الآن الشرط يعمل بشكل سليم
×
×
  • أضف...