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

Mustafa Suleiman

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

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

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

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

    300

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

  1. هل تستطيع الدخول لسطح المكتب؟ أم تظهر لك الشاشة الزرقاء مباشرًة؟

    وهل تم عمل فورمات لقرص الـ C ثم تثبيت ويندوز جديد؟

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

    أيضًا إن كان لديك هارديسك آخر حاول تثبيت الويندوز عليه للتجربة.

  2. بالطبع فالدورة تؤهلك للقيام بالأمور التالية:

    • مطور Full-stack لبناء مواقع الويب والمتاجر الإلكترونية أي قادر على تطوير الواجهة الأمامية والخلفية أيضًا من خلال Django و Flask.
    • مطور واجهة خلفية Back-End فقط.
    • مجال تعلم الآلة ولكن هنا أنت بحاجة إلى تعلم المزيد وعدم الإكتفاء بالدورة والأمر بحاجة إلى وقت أكثر من أي مجال آخر.
    • محلل بيانات (Data Analyst )، حيث ستتمكن من استخدام مهارات البرمجة الخاصة بك للتحليل واستخراج البيانات من مصادر متنوعة، ومعالجة البيانات، وإجراء التحليلات الإحصائية والتعلم الآلي باستخدام مكتبات Python مثل pandas و NumPy و scikit-learn.
    • مطور odoo

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

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

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

    وأرجو قراءة التالي:

     

     

  3. المشكلة لديك هي أنّ المصفوفة notes ليست مصفوفة وبالتالي ميثود map لا يمكن التعرف عليها لأنها خاصة بالمصفوفات، وذلك ما يظهر لك map is not a function.

    لذا تأكد من تمرير notes بشكل صحيح وأنها مصفوفة يمكنك طباعتها بالكونسول للتأكد.

  4. مسؤول عن جميع جوانب الموقع الإلكتروني، بدءًا من تصميمه وتطويره ووصولًا إلى صيانته وتشغيله، وبالطبع تختلف مسؤوليات مدير الموقع اعتمادًا على نوع الموقع،وتشمل وظائفه ما يلي:

    1. إدارة المحتوى:

    • إنشاء وتحرير ونشر المحتوى على الموقع، مثل المقالات والصور ومقاطع الفيديو.
    • ضمان دقة وفعالية المحتوى.
    • تحسين المحتوى للبحث (SEO).
    • إدارة حقوق النشر والملكية الفكرية.

    2. التصميم والتطوير:

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

    3. الصيانة والتشغيل:

    • ضمان أمان الموقع وسلامته.
    • مراقبة أداء الموقع وتحليله.
    • حل المشكلات الفنية التي قد تواجه الموقع.
    • تحديث البرامج والمكونات الإضافية.

    4. التسويق:

    • الترويج للموقع وجذب الزوار.
    • تحسين زيارات الموقع (SEO).
    • إدارة حملات التسويق عبر الإنترنت.
    • تحليل بيانات الموقع لفهم سلوك الزوار.

    5. إدارة الفريق:

    • الإشراف على فريق عمل الموقع، مثل مصممي الويب والمطورين وكتاب المحتوى.
    • توزيع المهام وتحديد الأولويات.
    • تقييم أداء الفريق وتقديم التوجيهات.

    ,في حال كان الموقع متجرًا إلكترونيًا، فتشمل وظائف مدير الموقع أيضًا:

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

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

    ومدير موقع متجر إلكتروني مسؤول عن إضافة المنتجات الجديدة، وإدارة المخزون، ومعالجة المدفوعات، وتقديم خدمة العملاء.

    ومدير موقع شركة مسؤول عن تصميم الموقع وتطويره، ونشر المحتوى، والترويج للشركة، وتحليل بيانات الموقع.

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

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

    • أعجبني 1
  6. أولاً الدالة floor غير موجودة في مكتبة C++ الأساسية وعليك تعريفها بواسطة <cmath>.

    أيضًا أنت تستخدم عامل modulo (%) مع نوع float على الجانب الأيسر وأنواع int على الجانب الأيمن، وذلك غير صحيح لأن عامل modulo يتطلب أن يكون كلا الجانبين من نوع integer، أي تحويل المتغير Seconds إلى int قبل العملية.

    ويوجد قوس مغلق (}) ناقص في نهاية دالة main.

    لذا الكود الصحيح هو:

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main() {
        float Seconds;
        float remender;
        cout << "Enter Number Seconds: \n";
        cin >> Seconds;
    
        int secperD = 24 * 60 * 60;
        int secperH = 60 * 60;
        int secperM = 60;
    
        int NumOfD = floor(Seconds / secperD);
        remender = static_cast<int>(Seconds) % secperD;
        int NumOfH = floor(static_cast<int>(remender) / secperH);
        remender = static_cast<int>(remender) % secperH;
        int NumOfM = floor(static_cast<int>(remender) / secperM);
        remender = static_cast<int>(remender) % secperM;
        int NumOfS = remender;
    
        cout << "Number of Days: " << NumOfD << endl;
        cout << "Number of Hours: " << NumOfH << endl;
        cout << "Number of Minutes: " << NumOfM << endl;
        cout << "Number of Seconds: " << NumOfS << endl;
    
        return 0;
    }

     

  7. ستحتاج إلى استخدام إطار Flask أو Django، فتلك الإطارات توفر إنشاء API بكل سهولة، أيضًا يوجد  إطار FastAPI  مع أدوات مدمجة للتحقق من صحة البيانات.

    لذا اختر الإطار الذي تريده، وإن المشروع بسيط فاستخدم Flask.

    والأمر مماثل لكل منهم:

    1. حدد نقاط النهاية (endpoints) التي ستعرض وظائف مشروعك.
    2. حدد نوع البيانات التي ستستخدمها لنقل البيانات بين العميل والخادم.
    3. حدد HTTP methods لعمليات CRUD (إنشاء، قراءة، تحديث، حذف).

    https://academy.hsoub.com/programming/python/flask/

  8. استخدم ميثود الأسلوب setText() لتحديث نص الـ QLabel ثم  تحديث نص الـ QLabel الحالي بقيمة المتغير name_get باستخدام setText() على العنصر القائم بالفعل كالتالي:

    from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QLabel, QVBoxLayout
    
    app = QApplication([])
    
    w = QWidget()
    w.setWindowTitle('تحديث QLabel')
    
    layout = QVBoxLayout(w)
    
    l1 = QLabel("الاسم : ", w)
    layout.addWidget(l1)
    
    e1 = QLineEdit(w)
    layout.addWidget(e1)
    
    b1 = QPushButton("Print", w)
    layout.addWidget(b1)
    
    l2 = QLabel("", w)
    layout.addWidget(l2)
    
    
    def get():
        name_get = e1.text()
        l2.setText(name_get)
    
    
    b1.clicked.connect(get)
    
    w.show()
    app.exec_()

     

  9. المشروع لديك ممتاز، أحسنت حقًا، التصميم جيد جدًا وبسيط، لكن إن كنت تريد استخدام ذلك المشروع بدلاً من المشروع في المسار أرجو توفير مزايا التعديل والحذف الموجودة في مشروع الدورة فهي غير موجودة هنا.

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

    • شكرًا 1
  10. الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر.

    ولكن كمساعدة في تنفيذ ما تريديه، عليك أولاّ تعريف المتغيرات اللازمة مثل name  و marks وهما قائمتين، ثم استخدام دالة معينة نستخدمها في بايثون لاستقبال إدخال من المستخدم، ويجب تحويل ذلك الإدخال إلى رقم صحيح وليس نص.

    ثم نقوم بدفع الاسم والعلامات إلى القوائم، ثم في النهاية نقوم بحساب مجموع العلامات في قائمة marks وطباعتها.

     

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

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

    على أي حال في حال كنت تدرس بالجامعة فأنصحك بتعلم مجال الـ AI فالمستقبل واعد له، لكن الأمر بحاجة إلى جهد لفترة تصل إلى 3 سنوات لكي تصل إلى مستوى جيد بهذا المجال، أيضًا الرياضيات جزء هام بل هو أساس ذلك المجال وستجد توضيح هنا:

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

  12. بتاريخ الآن قال Hadi Hamdan:

    صديقي انت عندك خطا في كلامك هذا ارجع اقرا الكود النص لا يتم تخزينه ابدا بل يتم طباعته يعني لا يوجد استهلاك للذاكرة لانه لا يتم تخزين هذا النص في اي مكان يتم طباعته فورا 

    لا مشكلة عزيزي الإختلاف أمر طبيعي بالتوفيق لك.

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

    وكمثال مدة ساعات الدورة هي 72 ساعة في 4 تساوي 288 ساعة، ولنفترض أنك تخصص 4 ساعات يوميًا للدراسة فذلك يعني 72 يوم على 30 يساوي شهرين ونصف.

    وستجد تفصيل أكثر هنا:

    وبخصوص الإختبار، فستجد تفصيل هنا:

     

  14. في الدورات يوجد مشاريع متفرقة في مسارات مختلفة للتطبيق على ما تم دراسته وتعلم أمور جديدة.

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

    • أعجبني 1
  15. بتاريخ 2 دقائق مضت قال Hadi Hamdan:

    لا مو نفسه بالخلفية بالكود عندك رح يعمل اثنين لوب و يعدل على ال string و كثير اشياء اما هون فهي لوب واحد و اعادة طباعة فقط هذا الشي بيخلي الاداء احسن لمن تشتغل javaScript بدك تخلي بالك انه الناس بتفتح الموقع على الجوال يلي هو سرعة النت فيه ابطء و قوة المعالجة اضعف و باي لغة ثانية حقيقة كل ما كان الكود ابسط كان افضل 

    أرجو تفهم أنك تكتب حلقة تكرار داخل حلقة تكرار، الكود هو نفسه لكن أقصر فقط.

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

    بينما الذي أشرت إليه يقوم بإنشاء سلسلة واحدة فقط، ثم يقوم بإضافة "*" إليها في كل تكرار، لذا هو أفضل.

  16. بتاريخ 1 ساعة قال Hadi Hamdan:

    رح تتكرر بشكل هرمي جرب هاد الكود 

    let user_input= prompt("please enter number ")
    for (let i = 1 ; i<= user_input ; i++){
        
        console.log("*".repeat(i))
    };

     

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

    • أعجبني 1
  17. بتاريخ 5 دقائق مضت قال Hadi Hamdan:

    شكرا هيك افضل بتطبع ب loop واحد مافي داعي لاثنين بنفس الوقت 

    بعرف هذا الشي بس هيك صار عندك شرط مع اثنين loop على مهمة ما بتستاهل كل هذا هيك بيصير البرنامج ابطئ

    عليك توضيح هل تريد مجرد تكرار نص ام رسم نجوم بشكل هرمي؟ فالكود الغرض منه القيام بأمر معقد مقارنة بتكرار نص فقط

  18. بتاريخ On 3‏/3‏/2024 at 13:59 قال Ebrahim Abdo2:

    على ذكر اختراق الالعاب وانا اعلم انه ليس قانوني لكن سؤالي ما اساس الالعاب الcrack  او المكركة  كيف تعمل بعد ازالة او اضافة ملفات مثل ملفات الاون لاين او اضافة ملفات لغة

    الألعاب التي تعتمد على سيرفر (ألعاب الآون لاين) لا يمكن اختراقها لكونها تعتمد على البيانات التي يتم جلبها من السيرفر، لذا يجب اختراق السيرفر أولاً وذلك يعني اختراق شركة الاستضافة.

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

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

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

    أو يتم تفقد الذاكرة العشوائية واستخدام لغة assembly لتفقد الجزء الخاصة بالحماية ثم تغيير ذلك سواء بكتابة كود لتجاهل ذلك الجزء أو التلاعب به أي  reverse-engineer.

    أو تعديل ملف اللعبة نفسه exe بجانب إمكانية تعديل ملف dll.

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

    let rows = prompt("أدخل عدد الأسطر:");
    
    if (isNaN(rows)) {
      alert("يجب إدخال رقم صحيح");
    } else {
      for (let i = 1; i <= rows; i++) {
        let str = "";
        for (let j = 1; j <= i; j++) {
          str += "* ";
        }
        console.log(str);
      }
    }

     

  20. نوع الوثائق المقبولة هو:

    • جواز سفر: يجب أن يكون ساري المفعول ويحتوي على صورة واضحة لصاحب الحساب واسم كامل مطابق لما هو مُسجل في حساب جوجل بلاي.
    • عقد إيجار: يجب أن يكون ساري المفعول ويُظهر اسم صاحب الحساب وعنوانه الكامل.
    • كشف حساب بنكي: يجب أن يكون حديثًا (صادر خلال 90 يومًا) ويُظهر اسم صاحب الحساب وعنوانه الكامل.

    ويجب الإنتباه إلى تنسيق الوثيقة فالمطلوب هو ملف PDF واضحًا وقابل للقراءة ولا يتجاوز 5 ميجابايت، وتأكد من أن اسم صاحب الحساب في الوثيقة مطابق لما هو مُسجل في حساب جوجل بلاي.

  21. تقصد أنك كنت تريد إهداء تلك الدورة لأحد أصدقائك لكنك قمت بشرائها عن طريق الخطأ؟ عليك إذن التحدث لمركز المساعدة ووصف ما تريده بالتفصيل.

    أما إن كانت الدورة لديك بالفعل من قبل فلا تستطيع ذلك، ولفعل ما تريده يجب شراء بطاقة هدية بتكلفة الدورة وإعطائها له، وستجد تفصيل هنا:

  22. يظهر أنه لم يتم تثبيت composer وغير موجود في متغيرات البيئة لديك، من الأسهل إعادة التثبيت لـ composer من خلال الرابط التالي:

    https://getcomposer.org/Composer-Setup.exe

    وأثناء التثبيت لا تنسي إختيار مترجم php الموجود في xampp:

    composer-second-step.png.85b74322b8eb40ee6f95227503e3b3d6.png

    ومن الأفضل استخدام بيئة laragon بدلاً من xampp فهي أسهل في الاستخدام وتجنبك الكثير من المشاكل.

    إن لم يتم حل المشكلة سيتعين عليك تعديل إعدادات إضافة  composer Companion، لكن لننفذ ما سبق في البداية.

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