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

Mustafa Suleiman

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

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

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

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

    302

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

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

    الخطوات بشكل عام:

    1-  استيراد المكتبات اللازمة للعمل مع إدخال وإخراج البيانات، مثل <stdio.h> و <stdlib.h>.

    2- إنشاء دالة رئيسية (main function) تحتوي على التعليمات الأساسية لتنفيذ البرنامج.

    3- طرح السؤال الأول باستخدام دالة printf() لطرح سؤال للمستخدم للتحقق من ما إذا كان هو طالب أم دكتور، كمثال:

    printf("Are you a student or a doctor?\n");
    printf("Enter 1 for student, 2 for doctor: ");

    4- استخدام دالة scanf() لاستلام إجابة المستخدم وتخزينها في متغير مناسب.

    5- تحقق من الاختيار الأولمن خلال التحكم في التدفق (if-else) لفحص القيمة التي أدخلها المستخدم واتخاذ إجراءات مناسبة بناءً على ذلك. إذا كان المستخدم طالبًا، يتم الانتقال إلى خطوة 6. إذا كان الاختيار 2، يتم الانتقال إلى خطوة 9.

    6- طرح سؤال للطلاب الحاليين عن طريق رسالة ترحيبية باستخدام دالة printf().

    7- طرح سؤال للمستخدم لإدخال اسم المستخدم وكلمة المرور واستخدام دالة scanf() لاستلام الإدخال، مثال:

    char username[20];
    char password[20];
    printf("Enter your username: ");
    scanf("%s", username);
    printf("Enter your password: ");
    scanf("%s", password);

    8-  التحقق من القيمة المدخلة لاسم المستخدم وكلمة المرور باستخدام التحكم في التدفق (if-else). إذا كانت القيمة صحيحة، يمكن طباعة رسالة ترحيبية، وإذا كانت القيمة خاطئة، يمكن طباعة رسالة خطأ. يمكن استخدام دالة strcmp() لمقارنة السلاسل. 

    9- التحقق من الاختيار الثاني فإذا كان الاختيار 1، يتم الانتقال إلى خطوة 10، وإذا كان الاختيار 2، يتم الانتقال إلى خطوة 11.

    10- طلب بيانات الطالب الجديد بطرح سؤال للمستخدم لإدخال بياناته الشخصية، مثل الاسم والدرجة في الثانوية والجنس وتاريخ الميلاد. يتم استخدام دالة scanf() لاستلام الإدخال وتخزينها في المتغيرات المناسبة.

    11- طلب نوع الشعبة للطالب الجديد بطرح سؤال للمستخدم لإدخال نوع الشعبة (علمي علوم أم رياضة) باستخدام دالة printf(). يتم استخدام دالة scanf() لاستلام الإدخال وتخزينها في المتغير المناسب.

    12- التحقق من نوع الشعبة باستخدام التحكم في التدفق (if-else)، يتم التحقق من نوع الشعبة المدخلة. إذا كانت الشعبة علمي رياضة، يتم طباعة رسالة بالقبول. إذا كانت الشعبة علمي علوم، يتم طباعة رسالة بالرفض. يمكن استخدام دالة strcmp() لمقارنة السلاسل. 

    مثال:

    if (strcmp(branch, "علمي علوم") == 0) {
        printf("Sorry, your application is rejected.\n");
    } else if (strcmp(branch, "علمي رياضة") == 0) {
        printf("Congratulations, you are accepted!\n");
    } else {
        printf("Invalid branch.\n");
    }

    13-  حفظ بيانات الطالب الجديد في ملف باسم "student.txt". يمكن استخدام دالة fprintf() للكتابة في الملف. 

    وتستطيع تفقد جميع الدروس الخاصة بلغة C في القسم الخاص بها بأكاديمية حسوب.

     

  2. بالطبع فهو موجه للواجهة الخلفية وبالتالي يجب التعامل مع قواعد البيانات، وستتعلم التالي:

    •  التعريف بقواعد البيانات
    •  إنشاء قاعدة البيانات باستخدام PhpMyAdmin 12
    •  الاتصال مع قواعد البيانات عبر PDO
    •  الاستعلام SELECT 
    •  هيكلة الشفرة 
    •  الاستعلام INSERT 
    • الاستعلام UPDATE
    •  الاستعلام DELETE

    ومن خلال إطار عمل لارافيل ستتعلم التالي:

    1.  تهجير قواعد البيانات
    2. التعامل مع البيانات بواسطة باني الاستعلامات Query Builder
    3. التعامل مع البيانات بواسطة Eloquent 
    4. البيانات الاختبارية Factories and seeding
    5. العلاقات بين البيانات

    وأثناء العمل على المشاريع سيتم الشرح والتطبيق بشكل عملي.

  3. بتاريخ منذ ساعة مضت قال Omar Raad:

    صديقي العزيز الكود فيه خطأ أو انني لم افهم وارجو التصحيح لي ان كنت مخطئاً

    البرنامج الذي كتبته لا يعطي نتيجة اذا ادخلت له رقم 2

    مع العلم ان 2 عدد اولي

    حاول استخدام الكود التالي:

    #include <iostream>
    using namespace std;
    
    void isPrime(int num) {
      if (num < 2) {
        cout << "Number is not Prime." << endl;
        return;
      }
    
      for (int i = 2; i < num; i++) {
        if (num % i == 0) {
          cout << "Number is not Prime." << endl;
          return;
        }
      }
    
      cout << "Number is Prime." << endl;
    }
    
    int main() {
      int n;
      cout << "Enter the Number to check Prime: ";
      cin >> n;
      isPrime(n);
      return 0;
    }

    وما تم تعديله هو:

    1- الدالة isPrime كانت لا تقوم بالتحقق إذا كان الرقم 2 عددًا أوليًا بشكل صحيح، وتم إصلاح ذلك عن طريق إضافة شرط خاص للتحقق من القيمة 2 وإرجاع نتيجة مناسبة.

    2- نقل جملة "Number is Prime." خارج الحلقة التكرارية، لعرض هذه الجملة عندما لا يتم العثور على عامل يقسم الرقم num بدون بقية (وهذا يعني أن الرقم هو عدد أولي)، فإذا تم وضع الجملة داخل الحلقة، فسيتم عرضها بعد أن يتم العثور على أي عامل آخر غير 2.

    والآن عند المحاكاة ستجد النتيجة كالتالي:

    Enter the Number to check Prime: 2
    Number is Prime.

     

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

    هناك بعض الحلول التي يمكنك محاولتها لحل المشكلة:

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

    2- إذا كنت متأكدًا من أن الجدول الحالي غير مهم ويمكن حذفه، فتستطيع تغيير اسم الجدول الذي تحاول إنشاؤه، من خلال بتغيير اسم الجدول في الاستعلام الذي تستخدمه في عملية الإنشاء.

    3- بدلاً من محاولة إنشاء الجدول من الصفر، هناك ميزة التحديث (migration) في نظام إدارة قاعدة البيانات الخاص بك، وتلك الميزة تسمح بإجراء تعديلات على البنية الحالية لقاعدة البيانات دون الحاجة إلى حذف الجداول الحالية، وتستطيع إنشاء تكوين جديد للجدول الذي تحاول إنشاؤه كجزء من ملف التحديث، وسيقوم النظام بتنفيذ التغييرات اللازمة للبنية.

    وفي حالة كنت تعمل على مشروع بإطار لارافيل فقم بتنفيذ الأمر التالي لإعادة إنشاء قاعدة البيانات وتشغيل عملية التهجير (migration) وإدخال بيانات افتراضية (seeding) في قواعد البيانات:

    php artisan migrate:fresh --seed

     

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

    def divide_numbers(a, b):
        if b == 0:
            print("لا يمكن قسم عدد على الصفر!")
            exit()
        result = a / b
        print("النتيجة هي:", result)
    
    # استدعاء الدالة
    divide_numbers(10, 2)
    divide_numbers(5, 0)

    في المثال لدينا دالة تقسيم الأعداد divide_numbers() التي تأخذ اثنين من المدخلات، وإذا كان المدخل الثاني (b) يساوي صفر، فنقوم بطباعة رسالة تعليمية ومن ثم نستدعي exit() لإنهاء تنفيذ البرنامج. هذا يحدث لأنه من غير الممكن قسمة عدد على الصفر. إذا تم تنفيذ هذا البرنامج، ستحصل على النتائج التالية:

    النتيجة هي: 5.0
    لا يمكن قسم عدد على الصفر!

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

    هل توجد دالة exit() في لغات برمجة أخرى؟

    • في لغة C، تستخدم لإنهاء تنفيذ البرنامج وإرجاع قيمة الخروج.
    • في لغة C++، تستخدم بنفس الطريقة كدالة C لإنهاء البرنامج وإرجاع قيمة الخروج. ومع ذلك، في C++ بالإمكان استخدام الكلمة المفتاحية return في دالة main() للخروج من البرنامج.
    • في لغة Java، تستخدم دالة System.exit() لإنهاء تنفيذ البرنامج. يمكن تمرير قيمة للدالة System.exit() لتحديد حالة الخروج.
    • في لغة JavaScript، تستخدم في بعض بيئات التنفيذ مثل Node.js لإنهاء تنفيذ البرنامج.
    • في لغة Ruby، يمكن استخدام الأسلوب exit() أو exit!() لإنهاء تنفيذ البرنامج.
    • في لغة PHP، تستخدم دالة exit() أو die() لإنهاء تنفيذ البرنامج.
    • في لغة Swift، تستخدم دالة exit() لإنهاء تنفيذ البرنامج.
  6. بشكل مختصر سأذكر لك الفروقات:

    1- الاستضافة وإدارة البنية التحتية

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

    وتقوم MongoDB Atlas بإدارة جوانب مثل التكوين والتشغيل والتوفير التلقائي للنسخ الاحتياطي والأمان، وبالتالي يقدم تجربة أكثر بساطة للمطورين.

    2- الإدارة والتشغيل

    مع MongoDB، يتوجب عليك القيام بإعداد وإدارة وصيانة الخوادم الخاصة بك، بما في ذلك الإصدارات والتحديثات والتوزيع وتكوين التحميل والتوازن.

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

    3- التوفر والمقياسية

    MongoDB Atlas تقدم خيارات أكثر لتوفير التوفر والمقياسية. يوفر نموذج تجزئة أفقي يتيح لك زيادة سعة التخزين والأداء بشكل مرن وسلس، كما توفر خيارات التوفر العالي مثل الاستدامة المنطقية والمستوى الأعلى من النسخ الاحتياطي.

    4- الأدوات والخدمات المساعدة

    MongoDB Atlas تقدم العديد من الأدوات والخدمات المساعدة للمطورين، بما في ذلك واجهة برمجة تطبيقات (API) وواجهة سطر الأوامر والتحليلات وأدوات الرصد والإعلام والنسخ الاحتياطي والاستعادة والتحليل الأمني.

    متى تستخدم كل منهم؟

    استخدام MongoDB مناسب عندما تحتاج إلى مرونة كاملة في تكوين وإدارة قاعدة البيانات الخاصة بك وتفضل السيطرة الكاملة على البنية التحتية والتكامل مع البنية الخاصة بك.

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

    أي أن MongoDB مناسبة إذا كنت ترغب في السيطرة الكاملة والمرونة التامة، وMongoDB Atlas إذا كنت تفضل البساطة والتوفر العالي والتكامل المباشر مع الخدمات السحابية.

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

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

    ولكن لماذا تتعلم في الدورة استخدام MongoDB وليس MongoDB Atlas؟

    في البداية الهدف الأساسي من الدورة هو فهم كيفية استخدام MongoDB كنظام قاعدة بيانات وتطوير المهارات الأساسية في البرمجة باستخدام MongoDB.

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

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

    • شكرًا 1
  7. كان متاح ذلك بالفعل في شهر رمضان، لكن العرض إنتهى حاليًا، بإمكانك المتابعة حيث يتم توفير كوبونات وعروض كل فترة وقد تم الحدث عن ذلك بالتفصيل في النقاش التالي:

    وتستطيعي التحدث لمركز المساعدة والتأكد من توافر كوبونات أو عروض حاليًا أم لا.

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

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

    بإختصار اختر مسار تعليمي يؤهلك إلى إمتلاك المهارات اللازمة للحصول على وظيفة أو تأهيلك لتنفيذ مشاريع حقيقية للعمل على مواقع العمل الحر، بعد ذلك تعلم ما تشاء في أوقات فراغك.

    وإليك بعض النقاشات التي قد تفيدك:

     

    • أعجبني 1
  9. سأكون صريحًا معك، مجرد تعلم التقنيات التالية HTML, CSS, JS, JQuery سيمكنك من تقديم عروض تتطلب تلك المهارات، لكن ستجد منافسة كبيرة، لأن الغالبية تتعلم تلك المهارات في البداية وقليل ما يمتلك المهارة اللازمة فعلاً لتنفيذ مشروع من خلال إطار عمل مثل React وVue.

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

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

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

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

    وتستطيع رؤية المشاريع المطلوبة وتنفيذ مثلها ووضعها في معرض أعمالك، في حال لم تكن تمتلك معرض أعمال.

    وأغلب المشاريع على مواقع العمل الحر تتطلب منك أن تكون مبرمج Full stack وأنت بالفعل لديك مهارات الواجهة الأمامية، وينقصك فقط تعلم مهارات الواجهة الخلفية التي ذكرتها لك من خلال لغة PHP.

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

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

     

    • أعجبني 1
  10. جميع الدورات في أكاديمية حسوب متاحة لك مدى الحياة، وأيضًا متاح لك دراسة القسم الأول من جميع الدورات الأخرى، فمثلاً لو اخترت دورة PHP تستطيع دراسة أساسيات HTML وCSS من دورة تطوير واجهات المستخدم، وجافاسكريبت من دورة تطوير التطبيقات باستخدام لغة JavaScript.

    وتستطيع التقدم للإختبار في أي وقت، وتلك هي شروط التقدم الإختبار وكيفية رفع  المشاريع:

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

    وأيضًا ستحصل على التحديثات التي تطرأ على الدورات كل 3 أو 6 أشهر في حال وجود تحديثات طرأت على اللغات، المكتبات والإطارات التي يتم استخدامها في الدورة.

  11. Jupyter هي بيئة عمل تفاعلية ومفتوحة المصدر تُستخدم لتطوير وتشغيل ومشاركة الأكواد والوثائق التفاعلية، وسبب التسمية بـJupyter هو نسبةً إلى ثلاثة لغات برمجة رئيسية هي Julia وPython وR.

    وتعتمد Jupyter على فكرة "Notebook"، حيث يمكن إنشاء مستند يجمع بين الشفرة البرمجية والنص القابل للتنسيق والرسومات التوضيحية والرسومات البيانية والجداول والصوت والفيديو، وبإمكان المستخدمين تنفيذ الشفرة التفاعلية وعرض نتائج التحليل بشكل فوري في نفس الوثيقة، مما يجعلها بيئة ممتازة للتجربة والاستكشاف والتوثيق.

    وتعمل على مبدأ الخادم (server-client)، من خلال تشغيل خادم Jupyter في الخلفية ويتم الوصول إليه عبر متصفح الويب، وتستطيع الكتابة وتنفيذ الكود في خلايا قابلة للتحرير داخل المستند ومشاهدة النتائج بشكل فوري.

    تدعم العديد من لغات البرمجة المختلفة بالإضافة إلى Julia وPython وR، مثل Java وScala وC++ وغيرها، ويمكنك تنزيل Jupyter كحزمة Python أو استخدام توزيعة مثل Anaconda التي تأتي مع Jupyter مثبتًا مسبقًا.

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

    هل أنت بحاجة إليها لتعلم بايثون؟

    لا، حيث أن بيئة Jupyter هي أداة مفيدة وقوية لتشغيل وتنفيذ الشفرة التفاعلية وتوثيق العمل، ولكنها ليست ضرورية لتعلم Python.

    بدلاً من ذلك، تستطيع الإعتماد على محرر نصوص بسيط مثل Blocnotes في نظام التشغيل Windows أو TextEdit في نظام التشغيل macOS للكتابة وتشغيل برامج Python. يمكنك أيضًا استخدام بيئات تطوير متكاملة (IDEs) مثل PyCharm أو Visual Studio Code أو IDLE لتعلم Python بشكل مريح.

    وإذا كنت ترغب في استخدام بيئة تفاعلية لتعلم Python، فهناك بيئة تفاعلية عبر الويب مثل Repl.it أو Google Colab أو PythonAnywhere.

    تلك البيئات توفر محرر نصوص مع إمكانية تشغيل الشفرة وعرض النتائج مباشرة في المستعرض، مما يوفر تجربة تفاعلية شبيهة بـ Jupyter.

     

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

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

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

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

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

    وعليك بالتحدث إلى مركز المساعدة الخاص بمستقل في حال واجهتك أي مشكلة.

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

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

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

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

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

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

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

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

    لذلك ركز على تعلم الأساسيات فهى ما ستجعلك تتعلم بسرعة أكبر بعد ذلك، ولا تتسرع وتنتقل إلى تعلم مكتبة React.js بمجرد تعلم الأساسيات، بل ما يجب فعله هو التطبيق على الأساسيات وهم HTML,CSS,JS من خلال مشروع ليس بالصغير أي يستغرق وقت ومجهود وبه ميزات متعددة، وستجد مشاريع كثيرة على اليوتيوب بجافاسكريبت فقط بدون React.

    في البداية عليك بالتطبيق على مشاريع صغيرة ثم الإنتقال للتطبيق على مشروع كبير مثل Single Page Application.

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

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

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

     

  16. الأمر ليس بتلك السهولة، ففترةة 5 سنوات فترة كبيرة، وهناك عدة عوامل يجب التفكير بها قبل إتخاذ القرار.

    ما هي الحالة المادية الآن، هل تسمح لك باستكمال تعليمك وفي نفس الوقت تعلم البرمجة، هل لديك الوقت والمال لفعلك ذلك؟

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

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

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

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

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

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

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

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

     

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

    والإختبار يتطلب منك تطوير نظام إدارة تأجير السيارات باستخدام JavaFX ومبادئ البرمجة الموجهة للكائنات. سأشرح لك الخطوات بشكل عام:

    1- تحليل المشكلة

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

    2- التصميم الأولي

    • عليك بتصميم هيكل الكائنات الأساسية في النظام. يجب أن تحتوي الكائنات على السمات المناسبة لحفظ معلومات السيارات والشركات والمستأجرين.
    • استخدمي UML لتصميم الصفوف والعلاقات بينها، وتستطيعي استخدام برامج رسم UML مثل draw.io أو Visual Paradigm لإنشاء الرسم البياني.

    3- تنفيذ الكود

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

    4- اختبار النظام

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

    5-  إنشاء ملف تقرير السيارات

    • الحصول على قائمة السيارات الموجودة في النظام.
    • فتح ملف نصي جديد بامتداد ".txt" لكتابة تقرير السيارات.
    • تنسيق المعلومات اللازمة في التقرير، مثل معلومات كل سيارة بما في ذلك نوعها، واسم الشركة المصنعة، والنموذج، ورقم اللوحة.
    • كتابة تلك المعلومات في الملف النصي بشكل منظم وواضح.
    • بعد الانتهاء من كتابة التقرير، أغلق الملف النصي.
    • عليك بعرض رسالة تأكيد للمستخدم تفيد بأن التقرير قد تم إنشاؤه بنجاح.

    وتأكدي من التحقق من أن النظام يقوم بحفظ المعلومات بشكل صحيح ويعرضها في واجهة المستخدم الخاصة بك، كما يجب التحقق من أن زر "إنشاء تقرير" يقوم بإنشاء التقرير بشكل صحيح ويحفظه في ملف نصي.

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

    وإليك شرح خطوات كتابة الكود الخاص بالبرنامج باستخدام JavaFX ومبادئ البرمجة الموجهة للكائنات:

    1- إعداد المشروع

    • إنشاء مشروع جديد في بيئة التطوير الخاصة بك (مثل Eclipse أو IntelliJ) وحدد نوع المشروع كـ "JavaFX".
    • إضافة المكتبة اللازمة لدعم JavaFX وستحتاجي مكتبة JavaFX SDK.

    2- تصميم الصفوف

    عليكي بتصميم الصفوف الأساسية لنظام إدارة تأجير السيارات، ويمكن أن تتضمن الصفوف التالية:

    • Car (لتمثيل معلومات السيارة)
    • RentalCompany (لتمثيل شركة التأجير)
    • Renter (لتمثيل معلومات المستأجر)
    • CarRentalSystem (الصف الرئيسي الذي يتحكم في تنفيذ العمليات الرئيسية للنظام).

    3- تنفيذ الصفوف

    • إنشاء ملف مصدر لكل صف.
    • في صف Car، قومي بإنشاء المتغيرات والمشغلات اللازمة لتمثيل معلومات السيارة.
    • في صف RentalCompany، قم بإنشاء المتغيرات والمشغلات اللازمة لتمثيل معلومات شركة التأجير.
    • في صف Renter، إنشاء المتغيرات والمشغلات اللازمة لتمثيل معلومات المستأجر.
    • في صف CarRentalSystem، إنشاء المتغيرات والمشغلات اللازمة لتنفيذ العمليات الرئيسية، مثل إضافة سيارة جديدة، وعرض قائمة السيارات، وإنشاء تقرير السيارات.

    4- إنشاء واجهة المستخدم الرسومية

    • فتح ملف FXML الخاص بتصميم واجهة المستخدم في JavaFX Scene Builder.
    • تنسيق العناصر المختلفة في الواجهة، مثل الأزرار وحقول الإدخال والجداول.
    • تعيين العناصر اللازمة بأسماء مناسبة ومعرفات ID لاستخدامها في الكود الخاص بتعامل الواجهة مع البيانات.
    • تنفيذ مشغل الحدث للأحداث المختلفة في الواجهة، مثل زر إضافة سيارة أو زر إنشاء تقرير.
    • تنفيذ الكود اللازم للتفاعل بين واجهة المستخدم وكائنات النظام، مثل إضافة سيارة جديدة إلى النظام عند النقر على زر "إضافة"، أو إنشاء تقرير عند النقر على زر "إنشاء تقرير".
    • استخدمي أساليب واجهة المستخدم الخاصة بـ JavaFX لتحديث القوائم وعرض البيانات بشكل صحيح.

    مثال بسيط لجزء من الكود:

    import javafx.application.Application;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    
    public class CarRentalSystemApp extends Application {
        private TextField carTypeField;
        private TextField manufacturerField;
        private TextField modelField;
        private TextField plateNumberField;
        private TextField renterNameField;
        private TextField addressField;
        private TextField mobileNumberField;
        private TextField emailField;
    
        public static void main(String[] args) {
            launch(args);
        }
    //باقي الكود هنا

     

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

    وفي المتوسط، في حالة التعلم بانتظام والممارسة بجدية ستحتاج من 6 إلى 12 شهرًا لتصبح مطور .NET، و الوقت قد يختلف بشكل كبير من شخص لآخر.

    وإليك بعض الخطوات لتحقيق ذلك:

    1- دراسة الأساسيات

    تعلم مفاهيم برمجة الحاسوب والتعامل مع لغات البرمجة الأخرى.

    2- تعلم لغة C#

    تعتبر C# لغة البرمجة الرئيسية في بيئة .NET، لذا من المهم أن تتعلمها بشكل جيد.

    3- تعلم إطار العمل .NET

    تعرف على الأدوات والتقنيات المستخدمة في تطوير التطبيقات باستخدام .NET Framework أو .NET Core.

    4- التطبيق العملي

    قم بممارسة كتابة الشفرة وتطوير تطبيقات بسيطة باستخدام .NET.

    5- استكشف مجالات التخصص

    قد ترغب في التعمق في مجال محدد مثل تطوير تطبيقات الويب باستخدام ASP.NET، أو تطوير تطبيقات سطح المكتب باستخدام Windows Forms أو WPF، أو تطوير تطبيقات الجوال باستخدام Xamarin.

    وأخيرًا قم بالبحث على يوتيوب عن خريطة تعلم .NET,وأنصحك بمشاهدة الفيديو الخاص بقناة Codographia ثم Ali Shahin.

    وأنصحك بقراءة النقاشات التالية:

     

  20. أنت بذلك تقصد FavIcon أي أيقونة المفضلة، ولإضافتها  إلى مدونتك على بلوجر، عليك بإتباع التالي:

    قم بإعداد الشعار الخاص بك بتنسيق صورة صغيرة، عادةً بحجم 16x16 بكسل أو 32x32 بكسل. يجب أن يكون الشعار بتنسيق صورة مشفرة بتنسيق ICO أو PNG.

    1. انتقل إلى "تخطيط المدونة" (Layout) من لوحة التحكم.
    2. انقر على "تحرير" (Edit) بجانب عنصر "رأس المدونة" (Blog Header).
    3. ستنتقل إلى صفحة تحرير عنصر رأس المدونة. ابحث عن خيار "fav icon" أو "رمز الموقع" (Site Icon).
    4. انقر على زر "اختيار ملف" (Choose File) أو "استعراض" (Browse) لتحديد ملف FavIcon الذي قمت بإعداده في الخطوة الأولى.
    5. بعد اختيار الملف، انقر على زر "حفظ" (Save) أو "تحديث" (Update) لحفظ التغييرات.
    • أعجبني 1
  21. أهم ما يجب أن تبحث عن هو الإهتمام المشترك والرغبة في بذل الجهد والوقت، وليس فقط سعيًا لكسبًا المال، حيث أن في بداية المشروع لن يتوفر المال لفترة ليست بالقصيرة تتراوح من سنة حتى 3 سنوات.

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

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

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

    • أعجبني 1
  22. الأمر سهل من خلال الخطوات التالية:

    1. قم بتسجيل الدخول إلى حسابك في بلوجر واختر المدونة التي ترغب في إضافة الشعار إليها.
    2. انتقل إلى "تخطيط المدونة" (Layout) من لوحة التحكم.
    3. ابحث عن عنصر العنوان (Header) في قائمة العناصر الموجودة في التخطيط وانقر على "تحرير" (Edit) بجانبه.
    4. سيظهر لك مربع حوار "إعدادات عنصر العنوان" (Configure Header). في هذا المربع، ستجد خيارًا لتحميل صورة الشعار.
    5. انقر على زر "اختيار ملف" (Choose File) أو "استعراض" (Browse) لتحديد صورة الشعار من جهاز الكمبيوتر الخاص بك.
    6. بعد تحديد الصورة، انتقل إلى خيار "موقع العنصر" (Placement) واختر موقع الشعار الذي ترغب في وضعه. يمكنك اختيار وضع الشعار في الجزء العلوي من الصفحة (Above Title) أو في الجزء السفلي من الصفحة (Below Title).
    7. بعد الانتهاء، انقر على زر "حفظ" (Save) أو "تحديث" (Update) لحفظ التغييرات التي قمت بها.
  23. أولاً يجب الإتفاق على كافة التفاصيل وتدوينها جيدًا وكتابة حق كل فرد في المشروع وواجباته، ولا تدع مجالاً للإتفاق الشفهي ويجب أن تتم كل الأمور بشكل قانوني لحماية حق الجميع.

    وعند تحديد نسبة الشراكة في عملك، يجب أن تتفق مع صديقك على عدة عوامل مهمة، وهناك طرق مختلفة يمكن استخدامها لتحديد نسبة الشراكة، ومن بينها:

    1- تحديد المساهمة المالية

    تحديد نسبة الشراكة بناءًا على المبلغ المالي الذي يقدمه صديقك كمساهمة، أي إذا قدم صديقك 50% من رأس المال المستثمر في العمل، فقد يكون له نصف الشراكة.

    2- تقسيم الأداء والمسؤوليات

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

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

    3- تقسيم الأرباح

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

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

×
×
  • أضف...