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

Mustafa Suleiman

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

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

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

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

    297

أجوبة بواسطة Mustafa Suleiman

  1. هي من ضمن المشاريع العملية بالطبع، وأية مشاريع عملية حتى لو بسيطة من الأفضل تسليمها، وذلك بإنشاء مجلد للدورة وتقسيمه إلى مجلدات بداخله بحيث يصبح لكل مسار مجلد باسمه، ونضع في ذلك المجلد التطبيقات العملية للمسار.

    ثم نرفع مجلد الدورة بالكامل إلى مستودع GitHub.

    لكن المشاريع العملية الكبيرة نضعها في مجلد خاص بها ثم نرفعها على مستودع GitHub خاص بها، أي مشروع مثل تطوير موقع أو تطبيق مثلاً.

  2. حسب الكود الذي نكتبه، فمثلاً صيغة ملف أكواد جافاسكريبت هي .js أي مثلاً:

    app.js

    بينما صيغة ملف به أكواد HTML هي .html كالتالي:

    index.html

    وصيغة ملف به أكواد css هي .css كالتالي:

    style.css

    وبالنسبة لملفات بايثون فالصيغة هي .py كالتالي:

    main.py

    عند إنشاء الملف نقوم بكتابة اسم الملف ثم نقطة . ثم صيغة الملف الصحيحة حسب الكود الذي نكتبه به.

    ستجدي أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس.

  3. من الأفضل حفظ جميع التطبيقات العملية من البداية، وذلك بإنشاء مجلد للدورة ووضع تلك التطبيقات به، تجنبًا للتكرار ستجدي تفصيل هنا:

    وستجدي أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس.

     

    • شكرًا 1
  4. ليس المقصود إلتقاط صورة للشاشة وحفظ الكود بتلك الطريقة، بل المقصود هو التطبيق مع الشرح مرة مع المدرب ومرة بمفردك ثم الإحتفاظ بالملف الذي به الكود في مجلد خاص بالدورة.

    وذلك للتطبيقات العملية البسيطة التي تتكون من ملف واحد أو ملفين مثلاً، أي نقوم بإنشاء مجلد للدورة ثم بداخل المجلد نقوم بتقسيمه إلى مجلدات فرعية بحيث يصبح لكل مسار مجلد ثم نضع داخل مجلد التطبيقات العملية الخاصة بالمسار، ثم نرفع مجلد الدورة بالكامل بالمجلدات التي بداخله على مستودع GitHub.

    لكن المشاريع الكبيرة الكاملة نقوم بإنشاء مجلد منفصل لها ونرفعها على مستودع GitHub خاص بها بشكل مستقل.

    • شكرًا 1
  5. كنصيحة لا تحكمي على أي دورة في أي مكان بعدد الساعات الخاصة بها، فالأهم هو محتوى، فالساعات الطويلة لا تعني محتوى جيد والعكس صحيح لا تعني الساعات القصيرة محتوى سيء، لذا الأهم هو ثراء المحتوى ودسامته مع عدم الإخلال بالأساسيات.

    وعدد ساعات دورة بايثون هي 67 ساعة، وعدد ساعات دورة تطوير واجهات المستخدم هي 72 ساعة، لذا الفرق 5 ساعات فقط.

    وأول مسارين هما الأساسيات في دورة بايثون يستحوذان على نسبة كبيرة حيث يحتوي مسار أساسيات لغة بايثو على 11 ساعة من المحتوى، ومسار تطبيقات عملية باستخدام بايثون على 15 ساعة.

    والمطلوب للتقدم للإمتحان هو إنهاء 4 مسارات على الأقل، ولا يشترط مسارات معينة، لكن من الأفضل إنهاء كامل مسارات الدورة لتحقيق استفادة.

    • شكرًا 1
  6. ستجدd أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس.

    بالنسبة لسؤالك، بالطبع يكفي وحتى ما بعد الأساسيات لا مشكلة به، وبإختصار إذا كنتي تفضل بيئة تطوير بسيطة ومخصصة لتطوير Python وترغبين في التوسع في استخدام الإضافات وتخصيص البيئة الخاصة بك فاستخدمي VSCode لكونه code editor.

    ، أما إن كنتي بحاجة إلى ميزات متقدمة مدمجة مثل محلل ومصحح Python قوي ودعم كبير لإطارات العمل الخاصة ببايثون، فبيئة التطوير PyCharm هي الخيار الأفضل بالنسبة لك وذلك لكونه IDE أي بيئة تطوير ومتكاملة مخصصة للغة برمجية معينة.

    بمعنى أن VSCode بحاجة إلى تخصيصه فيما بعد مثل تثبيت إضافة خاصة بإطار بجانغو وفلاسك من أجل إظهار الكود بشكل جيد ومثل تلك الأمور ستتكرر لذلك ذكرت أن عليك تخصيصه بما يتناسب مع استخدامك، أما PyCharm فيدعم ذلك بشكل إفتراضي.

    لكن في البداية من الأفضل استخدام vscode لكونه بسيط وسهل الاستخدام.

  7. الدروس تعمل بشكل طبيعي، لكنها شكوى متكررة بالفعل، أرجو تحديث الصفحة من خلال الضغط على CTRL + F5 لحذف الملفات المؤقتة، ثم التجربة إن استمرت المشكلة أرجو استخدام متصفح آخر بدون إضافات والتجربة لمعرفة أين المشكلة، وإخبارنا إن تم حل المشكلة.

    وبخصوص المُلخصات، فلا يوجد تلخيصات نصية للدروس للأسف، يمكنك الإعتماد على موسوعة حسوب كمرجع لك:

    https://wiki.hsoub.com/الصفحة_الرئيسية

    • أعجبني 1
  8. أنت بحاجة إلى تفعيل نسخة الويندوز وذلك بشراء كود للتفعيل بطريقة قانونية وستجد تفصيل هنا:

    ولا مشكلة في تركها بدون تفعيل، فالقيود التي يتم فرضها للنسخ الغير مفعلة ليست مؤثرة على عمل النظام، حيث سيتم منعك من التالي:

    • ستظهر علامة مائية مزعجة على سطح المكتب تُشير إلى عدم تفعيل النسخة.
    • لن تتمكن من تغيير لون خلفية سطح المكتب أو شاشة القفل أو غيرها من العناصر الشخصية.
    • ستظهر لك إشعارات منتظمة تُذكّرك بتفعيل النسخة.
    • تتوقف بعض التحديثات الأمنية المهمة عن العمل.
    •  لن تتمكن من استخدام بعض الميزات المتقدمة مثل "Hyper-V" و "Windows Defender Device Guard".
    • أعجبني 1
  9. المشكلة لديك هي في محاولة عرض كائن التاريخ كما هو بالشكل التالي في مكون Note:

            <small>{date}</small>

    لاحظ أنك تقوم بتمرير كائن new Date() ولا يمكن عمل render للكائن بدون تحويله إلى تاريخ نصي، وذلك ممكن من خلال دالة toDateString، كالتالي:

            <small>{date.toDateString()}</small>

     

    • شكرًا 1
  10. سأكون صريحًا معك، مجال تعلم الآلة بحاجة إلى الأقل عامان من الدراسة وليس مجرد استخدام نماذج جاهزة عن طريق الـ API، بل ستحتاج إلى العودة الأساسيات ودراسة الرياضيات وذلك ستجده هنا:

    وأنت كمبتدأ لست بحاجة إلى معرفة كيف تم اشتقاق تلك الخوارزميات وكيف تم بنائها، كل ما تحتاجه هو أساسيات الرياضيات وهي  الجبر الخطي والتفاضل والتكامل ولإحتمالات والتحليل الرياضي.

    وليس من الضروري أن يكون مستواك مرتفع في الرياضيات لتعلم الذكاء الاصطناعي بل يكفي تعلم الأساسيات ثم الاستزادة فيما بعد، وبالطبع كلما ارتفع مستواك في الرياضيات تطور مستواك وقدرتك على التعلم في مجال الذكاء الاصطناعي.

    ثم تعلم لغة بايثون والمكتبات الهامة في ذلك المجال مثل numpy و pandas وتعلم لغة SQL ثم تعلم الخوارزميات وهياكل البيانات، ثم تعلم تحليل البيانات ، ثم التعملق العميق والـ Transformers.

    ستجد هنا خريطة طريق جيدة:

    https://roadmap.sh/ai-data-scientist

     

    • أعجبني 1
  11. بالطبع ذلك مطلوب في مواقع العمل الحر، حيث المطلوب تنفيذ المهام بواقع خبرة سابقة أو على الأقل الإلمام بنسبة 70%، لكن إذا أردت العمل في شركة فستجد وظائف معروضة لمستوى Junior ابحث عن ذلك، لكن يجب وجود معرض أعمال جيد وبمستوى مرتفع نسبيًا يظهر مستوى مهارات ليست بسيطة.

    فمثلاً لمجال الواجهة الخلفية، لا يكفي أن تتعلم Node.js وexpress.js وبناء مشروع من خلالهم فقط، بل هناك مهارات أخرى ستجدها في وصف الوظيفة ابحث عن back-end developer على مواقع مثل LinkedIn و indeed و Bayt.

    والخبرة تأتي من تنفيذ مشاريع أقرب إلى المطلوب في الواقع مثل المشاريع التي يتم عرضها على مستقل مثلاً، ثم تطوير مهاراتك لتنفيذ مشاريع أعقد وستكتشف ذلك أثناء عملك على المشاريع حيث ستحتاج إلى البحث وتعلم أمرًا ما لتستطيع تنفيذ ما تريد.

    • أعجبني 1
  12. بتاريخ 1 ساعة قال امل العماد:

    لا فائدة, هل يمكنك تجربة تشغيل المشروع حتى تعلم ان المشكلة في npm لا تعمل

    هذا هو المشروع (https://github.com/John-Weeks-Dev/instagram-clone)

    عليك حذف مجلد node_modules ثم تثبيت الحزم بنفس الإصدارات التي تم تطوير المشروع بها لكي لا يحدث تعارض وذلك من خلال الأمر:

    npm ci

    حيث يتم الإعتماد على ملف package-lock.json من خلال ذلك الأمر، وسيتم التثبيت بدون مشكلة.

    بعد ذلك عليك تثبيت الحزم الأخرى بواسطة composer من خلال الأمر:

    composer install

    ثم تعديل اسم ملف .env.example إلى .env ثم تنفيذ الأمر التالي:

    php artisan key:generate

    ثم تنفيذ أمر

    npm run dev

    ثم إنشاء قاعدة بيانات باسم instagram_clone كما في ملف  .env ثم تنفيذ أمر التهجير:

    php artisan migrate:fresh --seed

    ثم تشغيل المشروع

  13. المشكلة غير واضحة بعض الشيء، تقصد أنك لم تتمكن من نشر المشروع على github pages؟

    ستحتاج إلى الذهاب إلى إعدادات المستودع Settings ثم ستجد تبويب باسم pages قم بالضغط عليه ثم اختر الفرع الذي به المشروع بالمستودع وغالبًا هو root كالتالي:

    Untitled2.png.68e4904c4e7d12e9b94d9855452e6031.thumb.png.2e8afb3d0d19d5d71c615d71b302ad43.png

    بعد ذلك اضغط على save ثم انتظر قليلاً وسيتم النشر وسيظهر لك رابط في المستودع أو في صفحة pages في الإعدادات.

    وستجد شرح هنا بالفيديو:

     

  14. ما هو المستوى الذي وصلت إليه، أي ما هي التقنيات التي تعلمتها من البداية وحتى الآن مع ذكر اللغات التي تعلمتها فهي الأساس وليس التقنيات، ثم ما المشاريع التي قمت بها وما هو المسار البرمجي الذي تنوي التخصص به؟

    • شكرًا 1
  15. دخولاً في لُب الموضوع، لن يساعدك أحد ما لم تساعد نفسك، تلك قاعدة تذكرها دائمًا، إذا انتظرت الوقت الذي ستصبح به جاهز 100% نفسيًا وماديًا وإمتلاك الوقت فلن تحقق ما تريد ببساطة.

    عليك الإنعزال تمامًا عن أي مصدر للدوبامين السريع مثل السوشيال ميديا والمقاطع القصيرة مثل التيك توك فهي تؤثر على عقلك ولن تساعدك وتقلل من تركيزك وتضيع وقتك.

    وتذكر أنك لو بدأت منذ عام لكنت وصلت لما تريد بنسبة كبيرة وقطعت شوطًا بدلاً من إنتظار طوق النجاة الذي لن يصل إليك من السماء بدون مجهود وتضحية، تريد تنفيذ أمرًا ما إذن ابدء الآن وبأي إمكانيات لديك، ليس كافية؟ هل لديك حل آخر؟ إذن ذلك أفضل من لا شيء، صحيح؟

    ستجد تعب ومشقة وملل بلا شك لا تنتظر جرعات سريعة من الدوبامين، لا يوجد شيء في تلك الحياة ذو قيمة يمكن تحقيقة بسرعة وسهولة.

  16. تستطيع تنفيذ الأمر بأكثر من منطق، والأسهل من خلال حلقة تكرار for بحيث يتم التكرار على المصفوفة وفحص الأرقام بناءًا على شرط معين وهو باقي القسمة، حيث أنّ الأعداد الزوجية باقي القسمة على 2 هو صفر بينما الأعداد الفردية ليس صفر.

    numbers = [1, 4, 2, 3, 7, 12, 16, 23, 24]
    
    even_numbers = []
    for number in numbers:
      if number % 2 == 0:
        even_numbers.append(number)
    
    print("الأعداد الزوجية:", even_numbers)
    
    odd_numbers = []
    for number in numbers:
      if number % 2 != 0:
        odd_numbers.append(number)
    
    print("الأعداد الفردية:", odd_numbers)

     

    • أعجبني 2
  17. جميع المشاريع العملية التي تم تنفيذها بالدورة مطلوبة منك، وحتى التطبيقات البسيطة قم بتجميعها في مجلد واحد ثم رفعها في مستودع منفصل في حال تم سؤالك عنها.

    والمشاريع الكاملة يتم رفعها بمستودع GitHub خاص بها أي مستودع لكل مشروع، وذلك على حسابك في GitHub.

    ثم التحدث لمركز المساعدة وإخبارهم بأنك تريد التقدم للإختبار، لكن يجب إنهاء 4 مسارات على الأقل ومن الأفضل إنهاء كامل الدورة.

    • شكرًا 1
  18. المطلوب منك هو تنفيذ المشاريع التي تم تنفيذها بالدورة ثم رفعها على مستودع GitHub وسيتم سؤالك في مدى استيعابك لم تم شرحه بالدورة، واسناد مشروع إليك لتقوم بتنفيذه بمفردك من أجل التخرج.

    إذا أردت التأكد، من الأفضل إعادة تنفيذ المشاريع مرة أخرى بمفردك، ففي المرة الأولى لن تستوعب ما تم بصورة كاملة وعند التنفيذ بمفردك ستجد أنك بحاجة إلى مراجعة بعض الأمور.

  19. بالطبع الأمر عرضة للإختراق، لكن ليس من خلال كود لغة بايثون نفسه حيث يتم مراجعة الكود الخاص باللغات البرمجية بدقة، لكن في بعض الأحيان هناك ثغرات في الكود غير مقصودة يتم استغلالها.

    أيضًا في المكتبات والإطارات مفتوحة المصدر، في حال كان يتم الإعتماد عليها في مشروعك فأنت عرضة للإختراق بلا شك ولكن بنسبة ضئيلة.

    ففي عام 2014، تم اختراق مكتبة Heartbleed OpenSSL، وهي مكتبة مفتوحة المصدر تُستخدم لتوفير التشفير لخدمات الويب، وأدى الاختراق إلى تعرض بيانات ملايين الأشخاص للخطر.

    وفي 2017، تم اختراق مكتبة Equifax Log4j، وهي مكتبة تُستخدم لتسجيل الأحداث في تطبيقات Java.

    وفي شهر مارس 2024، ثغرة CVE-2024-20383 في مكتبة Exim مفتوحة المصدر لنقل البريد الإلكتروني. سمحت هذه الثغرة للمهاجمين بتنفيذ التعليمات البرمجية عن بُعد على خوادم البريد الإلكتروني المصابة.

    وغيرهم من الثغرات والإختراقات التي تحدث بشكل متكرر، لذا لا يوجد شيء آمن بنسبة 100% على الإنترنت.

    • أعجبني 1
×
×
  • أضف...