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

Mustafa Suleiman

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

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

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

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

    336

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

  1. جميع الشهادات التي تصدرها أكاديميّة حسوب تصدر فقط بعد اجتياز الامتحان بنجاح. هذه ليست "شهادات إكمال" أو "شهادات حضور"، ولا يمكن الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليًا أثناء الدورة، إجراء المقابلة وإثبات قدراته. وجميع شهادات أكاديمية حسوب متاحة برابط مباشر على موقع الأكاديمية مما يتيح التحقق من صحتها بأي وقت. أي أنك قادر على تحميلها على حاسوبك ومن ثم طباعتها في أي مكان لديك في بلدك. أيضًا أرجو منك الإنتباه إلى أنّ هناك شروط للتقدم للإمتحان وإجتيازه، ستجد تفاصيل عنها في النقاش التالي، منعًا للتكرار. وأرجو لك التوفيق ولكل أهل فلسطين العزيز.
  2. في البداية أنصحك بإنشاء المواقع بالطريقة الطبيعية وباللغة الإنجليزية، إلا في حال كنت تتابع إحدى الدورات مثل دورات حسوب. وذلك لسبب معين، وهو تجنب بعض المشاكل الخاصة بتحويل الإتجاه من LTR إلى RTL، فأنت بحاجة إلى تعلم كيف يتم ذلك وهو أمر أجده مشتت لك في بداية تعلمك إلا إذا كنت تتابع مع دورة معينة ومدرب جيد، لذلك بعد إنشاء موقعك الأول بنجاح، يمكنك تحويله إلى اللغة العربية أو بناء موقع آخر وتطبيق ما تريده. وأنصحك بشدة بقراءة الدليل التالي: RTL Styling 101 دليل مكثف لكيفية كتابة CSS للمواقع من اليمين إلى اليسار. أو يمكنك استخدام Bootstrap وبخصوص التصميمات والاستلهام أنصحك بقراءة الإجابات على السؤال التالي:
  3. لا داعي للقلق فهذا أمر طبيعي جدًا، وأنت في الطريق الصحيح طالما مازلت تحاول وتضع الوقت والجهد، في بداية تعلم البرمجة قد تقضي وقت أطول من ذلك في تطبيق محاولاً حل المشاكل التي تواجهك وتعلم أشياء جديدة أثناء البحث هنا وهناك. ولا يوجد إجابة صحيحة واحدة لهذا السؤال، فالوقت الذي تقضيه في تطبيق الدروس يعتمد على مستوى مهاراتك وخبرتك في البرمجة. إذا كنت مبتدئًا في البرمجة، فمن الأفضل لك أن تستمر في قضاء الوقت الذي تقضيه حاليًا في محاولة تطبيق الدروس وحل المشاكل التي تواجهك. وبمرور الوقت وزيادة مستوى خبرتك، قد تجد أنك تحتاج إلى وقت أقل لتطبيق الدروس. كل من ترك طريق البرمجة، لم يتمكن من تخطي تلك المرحلة الصعبة في البداية، لذلك ضع لنفسك خطة عمل لمدة 6 شهور إلى سنة والعمل بشكل يومي وشاهد النتيجة في النهاية. بالنسبة لأفضل طريقة لتعلم البرمجة، فستجد هنا في النقاش التالي إجابة على سؤالك: وأنصحك بقراءة الإجابات على الأسئلة التالية، فهى خاصة بك ومن المفيد قرائتها مرة أخرى: ومهما كانت الطريقة التي تناسبك، فمن المهم أن تتذكر أن التعلم يتطلب الصبر والمثابرة، وأنه من الممكن أن يستغرق الأمر وقتًا قبل أن تصبح ملمًا بالمفاهيم البرمجية وتتمكن من تطبيقها بسهولة.
  4. هناك عدة أسباب محتملة لعدم عمل الدالة count بشكل صحيح، منها: 1- قد يكون المتغير $data_to_go ليس من النوع الصحيح للعمل مع الدالة count، فهي تعمل فقط مع المصفوفات (arrays). 2- قد يكون الفهرس المستخدم في المصفوفة غير صحيح، وبالتالي يتم إرجاع قيمة غير صحيحة. 3- قد يكون هناك خطأ في الكود الذي يسبب تعطل عمل الدالة count. لذلك، يجب التأكد من أن المتغير $data_to_go هو من النوع الصحيح (مصفوفة) وأن الفهرس المستخدم في المصفوفة صحيح، كما يجب فحص الكود بشكل دقيق للتأكد من عدم وجود أخطاء. قد يساعد استخدام دالة var_dump لفحص قيمة المتغير والتأكد من صحتها. في حالة استمرار المشكلة يمكنك استخدام sizeof() بدلاً من ذلك للحصول على عدد العناصر في المصفوفة. على سبيل المثال: $s = $data_to_go[$obj->fk_employe]['totaldayspresent']; echo sizeof($s); إذا لم تعمل sizeof() أيضًا، فربما يتعين عليك فحص محتوى المتغير $s لتحديد السبب في ذلك. و استخدام sizeof() سيعيد حجم المصفوفة بشكل عام وليس القيمة التي تحتويها المصفوفة. لذلك، إذا كنت تريد الحصول على قيمة محددة في المصفوفة، يجب استخدام الفهرس الصحيح لتحديد تلك القيمة. يمكن أيضًا استخدام دالة end() للحصول على آخر قيمة في المصفوفة. على النحو التالي: $s = $data_to_go[$obj->fk_employe]['totaldayspresent']; echo end($s); ستعيد الدالة قيمة آخر عنصر في المصفوفة $s، وفي هذه الحالة ستعيد القيمة 21.
  5. من خلال النظر للكود الخاص بك فالمتغير $s يحتوي على مصفوفة أو قائمة وأن القيم المطبوعة هي عناصر هذه القائمة. للحصول على عدد العناصر في هذه القائمة، يمكن استخدام الدالة count() وتطبيقها على القائمة الموجودة في $s. ولتحديد القيمة الأخيرة في القائمة، يمكن استخدام دالة end() للحصول على القيمة الأخيرة في القائمة. لذلك، يمكن استخدام الكود التالي للحصول على عدد العناصر في القائمة والقيمة الأخيرة في القائمة: $count = count($s); // للحصول على عدد العناصر في القائمة $last_value = end($s); // للحصول على القيمة الأخيرة في القائمة echo $last_value; // سيتم طباعة القيمة الأخيرة في القائمة (في هذه الحالة هي 21)
  6. يمكنك حساب تكلفة الصفحة الواحدة بسعر 50 دولار، ولكن ذلك يتوقف على محتوى كل صفحة، فربما هناك صفحات ذات محتوى بسيط، فسعرها منخفض في تلك الحالة، والأمر يتوقف على ميزانية العميل وجودة العمل المطلوب ومتطلبات المشروع أيضًا.
  7. ،يجب عليك تثبيت ملحقات (extensions) لدعم اللغة التي تستخدمها. يمكنك البحث عن الملحقات المناسبة لـ C# في قسم Extensions من القائمة الجانبية في VS Code أو عن طريق زيارة موقع marketplace.visualstudio.com. يمكنك تثبيت الملحق المسمى C# من خلال النقر على زر الإضافات في الزاوية اليسرى السفلية من VS Code ، ثم البحث عن C# في شريط البحث. ستظهر قائمة بالملحقات المتاحة ، ويجب عليك اختيار الملحق الذي تريد تثبيته ، والضغط على زر "تثبيت". بعد تثبيت الملحقات ، يجب أن يظهر VS Code اقتراحات للكود المكتوب بلغة C# وسيساعدك على الانتهاء من مهمتك بسهولة. وأنصحك بتحميل الإضافة التالية: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp تأكد أيضًا من تثبيت .NET Core SDK على جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك عن طريق زيارة موقع Microsoft وتنزيله من هناك. والخاصية التي تتحدث عنها بخصوص الإقتراحات، تدعى IntelliSense. ويمكن تفعيل ميزة IntelliSense في VS Code عن طريق التأكد من وجود الملحق المناسب للغة البرمجة التي تستخدمها. باستطاعتك تشغيل ميزة "IntelliSense" في أي نافذة محرر عن طريق الضغط على Ctrl+Space. وبالنسبة لمشكلة رسائل الخطأ التي تظهر لك، تحدث في ملفات المشروع (project files)، حيث أن OmniSharp يحاول تحديث ملفات المشروع التي لم تتم تحميلها (not loaded)، وهذا قد يكون بسبب عدم تعرف Visual Studio Code على ملفات المشروع بشكل صحيح. لحل المشكلة يمكنك المحاولة بالخطوات الآتية: التأكد من أن ملفات المشروع تم إضافتها بشكل صحيح في المجلد الصحيح. التأكد من تحميل وتثبيت المكونات اللازمة لـ Visual Studio Code لدعم لغة C# و Unity. تجربة إعادة بناء ملفات المشروع من الصفر باستخدام الأدوات المناسبة. ويمكنك البحث بنسخ رسالة الخطأ التي تظهر ورؤية الحلول المتاحة إن توافرت.
  8. الكود المذكور لا يسبب أي مشكلة، حيث أنه يقوم بجلب البيانات من API وتحديث قيمة الحالة (state) باستخدام الدالة setProducts. ولكن قد يكون هناك بعض العوامل الخارجة عن الكود التي تؤثر على أداء تطبيقك، مثل: 1- حجم البيانات المسترجعة: إذا كانت هناك كمية كبيرة من البيانات المسترجعة، فقد يؤدي ذلك إلى بطء في عرض الصفحة. 2- ضعف سرعة الاتصال بالإنترنت: إذا كانت سرعة الاتصال بالإنترنت ضعيفة، فسيتأخر تحميل البيانات وعرضها على الصفحة. 3- الحمل الزائد على المعالج: إذا كان هناك حمل كبير على المعالج بسبب عدد كبير من العمليات التي يقوم بها المستخدم، فقد يتأخر تحميل الصفحة ويمكنك تجربة إعادة تشغيل الحاسوب الخاص بك. 4- مشكلة من جانب سيرفر الـ API: ربما السبب في بطيء الاستجابة من السيرفر الخاص بالـ API، حاول استخدام API آخر لتفقد سبب المشكلة. ويمكن تحسين أداء الصفحة عن طريق استخدام تقنيات التحميل التدفقي Streaming أو Lazy Loading، حيث يتم تحميل البيانات تدريجياً بدلاً من جلبها كلها مرة واحدة. أيضًا استخدام أدوات تحسين الأداء Performance Optimization مثل تحسين الصور والملفات وتحسين سرعة الاتصال بالإنترنت وتقليل عدد الطلبات الصادرة للخادم. وكنصيحة قم باستخدام Vite وليس Webpack فستلاحظ فرق كبير في الأداء.
  9. الأفضل هو حساب تكلفة المشروع بشكل Fixed وليس تبعًا لعدد ساعات العمل، فربما مشروع يتطلب نصف ساعة فقط لإنجازه، ولكن الخبرة المطلوبة لإنجازه كبيرة أو أنت لديك خبرة وقمت بإنجازه بشكل سريع جدًا. وإذا تطلب الأمر إلى العمل بالساعة فيمكنك حساب تكلفة المشروع بشكل Fixed ثم تقسيمه على سعر عدد الساعات وليكن تكلفة المشروع 100 دولار وسعر الساعة 10 إذن المشروع يتطلب 10 ساعات. بالنسبة لحساب تكلفة المشروع، فالأمر عائد لنوع العميل والبلد الخاصة به فسعر العملة في بلده يشكل عامل كبير، وأيضًا هناك عوامل أخرى مثل سنوات الخبرة لديك وهل العروض كثيرة على المشروع وهل جودة العمل الخاص بك أعلى من العروض المقدمة او أعلى من الغالبية على الأقل. أضف إلى ذلك حجم المشروع أو التعديل المطلوب. وأيضًا ما هي القيمة أو الفائدة التي ستعود على العميل من وراء تنفيذك للمشروع، كل تلك عوامل تحدد تكلفة المشروع. فمثلاً تكلفة مشروع عبارة عن موقع من صفحة هبوط واحدة، قد يتراوح ما بين 50 إلى 300 دولار تبعًا لجودة العمل المطلوب وجودة العمل الخاص بك أيضًا. لذلك عند العمل على مواقع العمل الحر يمكنك رؤية متوسط السعر والعمل به تجنبًا لفرض مبلغ كبير يضيع منك الفرص، بالإضافة إلى ضرورة البحث عن كيفية تسعير خدماتك فستجد الكثير من المقالات العربية والأجنبية.
  10. عليك بالآتي: 1- قم بفتح ملف key.properties باستخدام أي محرر نصوص. 2- تحقق من وجود بيانات التسجيل (اسم المستخدم وكلمة المرور) بالشكل التالي: storePassword=<password from key store> keyPassword=<password from key store> keyAlias=key storeFile=<path to key store> 3- تحقق من صحة بيانات التسجيل (اسم المستخدم وكلمة المرور) وتأكد من أن المسار المحدد لملف متجر المفاتيح صحيح ويحتوي على الملف. 4- إذا لم تكن تعرف ماهي بيانات التسجيل، فيجب أن تقوم بإنشاء مفتاح للتوقيع باستخدام Android Studio، ومن ثم قم بتعيين بيانات التسجيل (اسم المستخدم وكلمة المرور) في ملف key.properties. يمكن إنشاء مفتاح للتوقيع باستخدام Android Studio عن طريق القيام بالخطوات التالية: انتقل إلى قائمة "Build" في شريط القوائم في Android Studio واختر "Generate Signed Bundle / APK". في نافذة "Generate Signed Bundle or APK", اختر "APK" واضغط على "Next". قم بتحديد "Create New" إذا لم تقم بإنشاء مفتاح توقيع سابقًا أو اختر "Choose Existing" إذا كان لديك مفتاح توقيع سابقًا واضغط على "Next". قم بملء المعلومات المطلوبة مثل اسم المفتاح وكلمة مروره وتاريخ انتهاء الصلاحية واسم الشركة واسم المشروع وحزمة التطبيق. بمجرد إدخال جميع المعلومات المطلوبة، اضغط على "Next" واختر المستوى الأمني الذي تريد استخدامه لمفتاح التوقيع. بعد ذلك، ستظهر لك ملخصًا للمعلومات التي أدخلتها. قم بالتحقق من صحة هذه المعلومات واضغط على "Finish". بعد ذلك، ستظهر لك نافذة حفظ الملف الذي يحتوي على المفتاح الخاص بك. حدد مسارًا لحفظ الملف واضغط على "Save". بعد إتمام هذه الخطوات، سيتم إنشاء مفتاح التوقيع ويمكن استخدامه لتوقيع التطبيقات المبنية باستخدام Android Studio. أيضًا تأكد من قراءة النقاش على السؤال التالي:
  11. رسالة الخطأ توضح أن هناك مشكلة في توليد مفتاح التوقيع لتطبيقك في Flutter. يرجى التحقق من النقاط التالية: التأكد من وجود JDK مثبت على جهاز الكمبيوتر الخاص بك. يمكنك التحقق من ذلك باستخدام الأمر java -version في موجه الأوامر. التأكد من وجود بيانات تسجيل صحيحة (اسم المستخدم وكلمة المرور) في ملف key.properties الذي يتم إنشاؤه في المسار <project-root>/android/key.properties بمجرد إنشاء مشروع جديد في Flutter. التأكد من أن مسار التخزين لملفات الـ keystore يتضمن مسارًا صالحًا ويمكن الوصول إليه من جهاز الكمبيوتر الخاص بك. حاول حذف ملفات الـ keystore الحالية وإعادة إنشائها من جديد باستخدام الأمر flutter create --org com.example my_app مع استبدال my_app بالاسم الذي تريد استخدامه لمشروع Flutter الجديد الخاص بك. تشغيل أمر flutter clean وإعادة بناء التطبيق من جديد. إذا لم تتمكن من حل المشكلة بعد التحقق من هذه النقاط، يرجى تشغيل الأمر flutter doctor -v ومشاركة النتائج هنا حتى يتمكن الآخرون من مساعدتك بشكل أفضل. وأيضًا أنصحك بقراءة الحلول التالية في حال استمرت المشكلة:
  12. يوجد دليل كامل في مستندات Laravel عن كيفية استخدام Vite، وإليك الخطوات: 1- تثبيت Vite يجب الإنتباه إلى أنه في الإصدارات الأخيرة يأتي Vite مدمج في إطار لارافيل وكل ما تحتاجه هو تشغيل الأمر npm run dev فقط. ولكن إذا كان غير موجود فإليك طريقة تثبيته. يمكنك تثبيت Vite باستخدام npm باستخدام الأمر التالي: npm install -D vite laravel-vite-plugin 2- تحرير ملف package.json عليك تحديث ملف package.json وإضافة مجموعة من الأوامر لتسمح لك بتشغيل Vite. بدلاً من استخدام Laravel Mix، تحتاج إلى إضافة أوامر Vite إلى ملف scripts، على النحو التالي: "scripts": { "dev": "vite", "build": "vite build" }, 3- حذف ملف webpack.mix.js يجب أن تحذف ملف webpack.mix.js فلم نعد بحاجة إليه. 4- يجب إنشاء ملف vite.config.js ووضع الإعدادات التالية بداخله، ويمكنك قراءة المزيد عن الإعدادات في رابط المستند الذي أشرت إليه. import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true, }), ], }); 4- تحديث ملف العرض الرئيسي ستحتاج إلى تحديث ملف العرض الرئيسي الخاص بك وهو app.blade.php الموجود في المسار resources/views/layouts/ لتحويل الاستدعاءات الخاصة بـ Laravel Mix إلى استدعاءات Vite. يجب أن يكون شكل الاستدعاءات على هذا النحو: <head> <!-- Scripts --> @vite(['resources/css/app.css', 'resources/js/app.js']) </head> والآن يمكنك تشغيل المشروع من خلال الأمر npm run dev. الطريقة الأسهل لتثبيت Vite في مشروع لارافيل باستخدام Laragon قم بالضغط بزر الفأرة الأيمن داخل نافذة البرنامج وستظهر لك قائمة، اختر منها التالي: Quick app ثم اختر Laravel وبذلك سيتم إنشاء مشروع لارافيل مع Vite في ملف Root الخاص بـ Laragon، بعد ذلك يمكنك نقل ملفات مشروع إلى المجلد لكن بعد حذف ملفات Mix.
  13. الأسهل لك استخدام Font Awesome عن طريق CDN، وإليك الطريقة. يمكن تضمينها في مشروعك عن طريق إضافة الرابط الذي يشير إلى ملف CSS الخاص بـ Font Awesome في نطاق الرأس (header) في صفحات HTML الخاصة بك. وللحصول على الرابط الذي يشير إلى ملف CSS الخاص بـ Font Awesome أنصحك بالحصول عليه من موقع cdnjs، وباستطاعتك إختيار إصدار المكتبة الذي تريده وكمثال هذا رابط الإصدار 6.3.0 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> بعد ذلك، يمكنك إضافة الرابط المذكور أعلاه في نطاق الرأس (header) في صفحات HTML الخاصة بمشروعك. <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> </head> والآن يمكنك استخدام الرموز (icons) الخاصة بـ Font Awesome في صفحات HTML الخاصة بك عن طريق استخدام العنصر <i> وإضافة الفئة المطلوبة لهذا العنصر. ويمكن العثور على الرموز والفئات المتاحة من موقع Font Awesome الرسمي، ويجب إختيار الأيقونات المجانية بتحديد خيار free أثناء البحث في موقع Font Awesome. على سبيل المثال، إذا كنت ترغب في استخدام الرمز الخاص بزر الإرسال (send)، فيمكنك استخدام الكود التالي: <i class="fas fa-paper-plane"></i>
  14. أهلا بك عبد الرؤوف، في البداية أرجو منك في المرات القادمة طرح السؤال أسفل الفيديو الخاص به في الدورة، وطرح الأسئلة الغير متعلقة بالدورة في قسم أسئلة البرمجة هنا. بالنسبة للمشكلة الخاصة بك، الخطأ يشير إلى عدم وجود أمر mix في نظام التشغيل الخاص بك. mix هو أداة تستخدم في إطار العمل Laravel لإدارة النماذج والهجرات وغيرها من العمليات. قبل تشغيل الأمر npm run dev، تأكد من أن Laravel مثبت بشكل صحيح وأن جميع الاعتماديات تم تثبيتها بنجاح باستخدام الأمر . composer install يمكنك أيضًا التحقق من وجود mix عن طريق تنفيذ الأمر php artisan من مجلد المشروع في ترمينال Ubuntu. ستظهر لك قائمة بالأوامر المتاحة في Laravel ويجب أن يكون mix مدرجًا في هذه القائمة. إذا لم يكن mix موجودًا، فقم بتنفيذ الأمر composer update ثم حاول تشغيل الأمر npm run dev مرة أخرى. وإذا استمرت المشكلة أرجو تنفيذ الخطوات التالية لتثبيت mix: 1- تنفيذ الأمر التالي npm install laravel-mix --save-dev 2- إنشاء ملف webpack.mix.js في الجذر الرئيسي للمشروع، وأضف به التالي: const mix = require('laravel-mix'); /* |-------------------------------------------------------------------------- | Mix Asset Management |-------------------------------------------------------------------------- | | Mix provides a clean, fluent API for defining some Webpack build steps | for your Laravel applications. By default, we are compiling the CSS | file for the application as well as bundling up all the JS files. | */ mix.js('resources/js/app.js', 'public/js') .postCss('resources/css/app.css', 'public/css', [ require('postcss-import'), require('tailwindcss'), ]); if (mix.inProduction()) { mix.version(); } ويمكنك رؤية الإعدادات من خلال مستودع المشروع 3- الآن يجب تشغيل الأمر npx mix لتنفيذ الأوامر المتعلقة بـ mix داخل مجلد المشروع. وأرجو منك قراءة التعليمات الخاصة بـ Mix في الموقع الرسمي: https://laravel-mix.com/docs/6.0/installation
  15. العفو أخي أحمد، أهلا بك، إذا فهمت سؤالك بشكل صحيح وأرجو توضيحه، يمكنك استخدام لغة C++ لإنشاء تطبيق يمكنك من تغيير المعلومات المكتوبة باليد في التقرير وحفظ النسخة النهائية على شكل صورة. لكن هذا يحتاج إلى خبرة في برمجة واجهات المستخدم ومعالجة الصور. يمكن استخدام مكتبات مثل OpenCV لمعالجة الصور وإدارة اللواحق (GUI) في C++ مثل Qt أو wxWidgets.
  16. الخطوة القادمة هي التطبيق على ما تعلمته من خلال إختيار تصميم موقع ينال إعجابك ثم محاولة تقليد ذلك التصميم، ولكن من تأتي بتلك التصميمات؟ ستجد هنا ما تبحث عنه: في البداية قم ببناء جزء صغير من الموقع باستخدام html و CSS وأنصحك بتنفيذ التحديات على موقع Frontend mentor . ثم بعد ذلك تدرج في الصعوبة نحو إنشاء موقع بالكامل، ثم تدرج في الصعوبة نحو إنشاء موقع متعدد الصفحات. يمكنك الإنتقال لمرحلة تعلم الـ JS بعد أن تصبح قادرًا على رؤية تصميم وقادر على تنفيذه أي أنك قادر على بناء موقع بالكامل باستخدام HTML و CSS على الأقل التصاميم المتوسطة في الصعوبة، أي بعد إنشاء تصميمين كاملين.
  17. بالتأكيد فمن خلال دورة تطوير التطبيقات باستخدام لغة Python يمكنك تعلم الآتي: بإنهائك لهذه الدورة ستصبح مطور بايثون محترف قادر على تطوير التطبيقات باستخدام لغة بايثون، وبناء مختلف تطبيقات الويب بإطار العمل جانغو وفلاسك. شاهد صفحة الدورة. ماذا ستتعلم في هذه الدورة؟ الأسس البرمجية السليمة عبر لغة Python التعامل مع مختلف صيغ الملفات مثل إكسل Excel وورد Word وخدمات المستندات السحابية استخراج البيانات من صفحات الويب Web Scraping وتحليلها أساسيات التعامل مع قواعد البيانات عبر بايثون، والتعامل مع البريد الإلكتروني لإرسال الرسائل أساسيات إطار العمل جانغو Django بناء تطبيق إدارة المهام باستخدام إطار العمل جانغو Django تطوير متجر إلكتروني متكامل باستخدام إطار العمل جانغو Django وربطه مع وسائل الدفع باي بال PayPal وسترايب Stripe أساسيات إطار العمل فلاسك Flask، وبناء مدونة بسيطة تطوير واجهة برمجية API اعتمادًا على نمط RESTful لمعالجة الصور لمن هذه الدورة؟ لمن لا يمتلك خبرة مسبقة في مجال البرمجة ويريد الدخول في هذا المجال الشيق لمن يمتلك خبرة بسيطة في البرمجة ويرغب في تطوير مهاراته ليصل إلى الاحترافيّة لمن يرغب باكتساب مهارات برمجية جديدة تساعده على تحسين دخله لمن يتقن لغة البرمجة Python ويريد تطوير مهاراته، وتعلم تقنيات جديدة فيها لمن يريد تعلم إطار عمل جانغو Django أو فلاسك Flask ويرغب بتطوير مواقع عملية مطلوبة في سوق العمل ويمكنك تعلم تطوير الويب باستخدام إطار عمل Django بلغة Python، خاصة إذا كان لديك فهم أساسي للغة Python. والبدء في تعلم Django بشكل تدريجي، والتركيز على التطبيقات البسيطة في البداية. على الجانب الآخر، يمكن أن تكون لغة الجافا سكريبت خيارًا جيدًا أيضًا لتعلم البرمجة الويب. يتم استخدام الجافا سكريبت على نطاق واسع في تطوير الويب بل هي لغة البرمجة الأساسية للويب، ويوفر إطار عمل React.js و Angular.js إمكانية بناء تطبيقات ويب قوية ومتقدمة. ويعتمد الخيار الذي يجب اختياره على احتياجاتك وأهدافك في التعلم. إذا كنت تفضل العمل مع Python أو لديك تجربة سابقة مع Python، فإن Django هو خيار جيد لتعلم تطوير الويب. وإذا كنت ترغب في التعلم بلغة الجافا سكريبت وبناء تطبيقات ويب متقدمة، فإن React.js أو Angular.js يمكن أن يكونا خيارات جيدة أيضًا. ولكن كنصيحة، الأفضل تعلم المطلوب في سوق العمل لديك أو على مواقع العمل الحر التي تريد العمل عليها، نظرة على متطلبات الوظائف أو المشاريع وستعرف ما هي اللغات والمهارات المطلوبة بالنسبة لمستوى Junior أو Entry Level. لذلك لا تتعلم ما تميل إليه بل تعلم ما هو مطلوب بسوق العمل، بعد ذلك باستطاعتك تعلم ما تريده لا مشكلة، وفي رأي قم بتعلم جافاسكريبت أولاً وإطار عمل خاص بها مثل Angular، أو يمكنك تعلم PHP و Laravel، وهناك دورات خاصة بهم في أكاديمية حسوب. وأنصحك بقراءة المقالات والنقاشات التالية:
  18. هل يمكنك توضيح السؤال، فالسؤال غير واضح، أرجو توفير الكود الذي به مشكلة وصورة لشرح المشكلة. وإذا كان السؤال خاص بدورة في أكاديمية حسوب أرجو طرح السؤال أسفل فيديو الدورة الخاص بالسؤال.
  19. أرجو أن أكون قد فهمت سؤالك بشكل صحيح، في البداية Godot هي منصة تطوير ألعاب مفتوحة المصدر تستخدم لتطوير الألعاب 2D و 3D ويمكن من خلالها عمل أزرار التحكم للعبة بسهولة. فيما يلي شرح بسيط لكيفية إنشاء أزرار التحكم في Godot: قم بإنشاء مشهد جديد (New Scene) وحدد النوع الذي تريد استخدامه، سواء 2D أو 3D. بعد ذلك، انتقل إلى قائمة Node واختر Control > Button لإنشاء زر جديد. بعد إنشاء الزر، قم بتعيين الخصائص اللازمة له، مثل النص الذي يظهر على الزر، وحجمه، والموقع الذي يظهر فيه الزر. ثم، يمكنك إضافة الأكواد اللازمة لكيفية عمل الزر من خلال قسم Script. يمكنك إضافة وظيفة تتحكم في حركة اللاعب أو تغيير الخلفية أو أي عملية أخرى تحتاج إليها في اللعبة. يمكنك إضافة المزيد من الأزرار حسب الحاجة، مثل زر للقفز أو زر للهجوم، وتحديد الوظائف المطلوبة لها. أخيرًا، قم بتعيين وظيفة لزر الخروج من اللعبة (Exit) لتتمكن من إنهاء اللعبة عند الضغط عليه.
  20. أولاً الأسئلة الخاصة بالإمتحانات لا يتم الإجابة عليها، ولكن يمكن إرشادك إلى طريقة الحل ومساعدتك. في السؤال لم يتم تحديد ما هي اللغة المراد تنفيذ المطلوب بها؟ علي أي حال، سأقوم بشرح طريقة الحل باستخدام C++ يمكن الحل بعدة طرق مختلفة، ولكن في الغالب يمكن تطبيق الحل التالي: 1- تعريف struct تحتوي على اسم العميل ورقم حسابه ورصيده. 2- إنشاء مصفوفة من الهيكل الذي تم تعريفه، وملئها ببيانات العملاء. 3- لطباعة أسماء العملاء الذين لديهم رصيد أقل من 200 دولار، يمكن استخدام حلقة for 4- لزيادة رصيد العملاء الذين لديهم أكثر من 1000 دولار، يمكن استخدام حلقة for أخرى وفحص رصيد كل عميل، وإذا كان رصيده أكثر من 1000 دولار ، فزيادة رصيده بـ $100 وطباعة الرصيد الجديد.
  21. أرجو مشاركة الكود الذي تعتقد أن به مشكلة من خلال الضغط على علامة <> في محرر النص هنا. ربما السبب المشكلة في اتصال الكود بالشخصية (المكعب) في اللعبة. يمكنك التأكد من أن الكود مرتبط بالشخصية بشكل صحيح، عن طريق التحقق من الأشياء التالية: 1- تأكد من أن المكعب المراد تحريكه لديه مكون "Rigidbody" مرتبط به في Unity، لأنه يسمح للشخصية بالتفاعل مع قوى الفيزياء في العالم الافتراضي. 2- تأكد من أن مكون "Collider" مرتبط بالشخصية، لأنه يمكنه التفاعل مع العناصر الأخرى في اللعبة. 3- تأكد من أن كود الحركة المذكور في السؤال مضاف إلى كائن يمثل الشخصية (المكعب) في Unity. 4- تأكد من أن الحركة المراد تطبيقها على الشخصية تم تحديدها بشكل صحيح في الكود، بحيث تتناسب مع اتجاه الحركة المراد تطبيقها. 5- تأكد من أن أي شروط أخرى قد تؤثر على الحركة (مثل تعليق أو إيقاف تشغيل الحركة) تم حلها. وإذا لم يعمل ذلك، فيمكنك مراجعة مستندات Unity. وأيضًا يمكنك مشاهدة المقال التالي:
  22. من الصعب تحديد سبب المشكلة بدون رؤية الكود أرجو مشاركة الكود الخاص بك والذي به المشكلة. وحاول تشغيل البرنامج في وضع التصحيح (Debugging mode) لمعرفة ما إذا كان هناك أي أخطاء في الكود. على أي حال، إليك طريقة لكتابة كود لتحريك الشخصية في اليونيتي باستخدام الفيجوال ستوديو، يمكن إتباع الخطوات التالية: 1- قم بفتح الفيجوال ستوديو وإنشاء مشروع جديد. 2- قم بإنشاء كائن الشخصية (GameObject) الذي تريد تحريكه. يمكنك القيام بذلك عن طريق النقر بزر الماوس الأيمن على الهيكلية (Hierarchy) واختيار "Create Empty" ثم إعطائه اسمًا مناسبًا. 3- ثم، يمكنك إضافة مكون الحركة (Movement Component) إلى الشخصية التي أنشأتها. للقيام بذلك، قم بالنقر بزر الماوس الأيمن على كائن الشخصية، واختر "Add Component"، ثم ابحث عن مكون الحركة (Movement Component) واضغط على إضافة (Add). 4- الآن، يمكنك كتابة الكود اللازم لتحريك الشخصية. هناك العديد من الأساليب المختلفة التي يمكن استخدامها لتحريك الشخصية، وسنقدم لك مثالًا بسيطًا: using UnityEngine; public class MoveObject : MonoBehaviour { public float speed = 5.0f; // سرعة الحركة // يتم استدعاء هذا الدالة في كل إطار للعبة void Update() { // حصول على محور الحركة الرأسي والأفقي float horizontalInput = Input.GetAxis("Horizontal"); float verticalInput = Input.GetAxis("Vertical"); // إنشاء Vector3 جديد لتحديد الاتجاه الذي يجب تحريك الشخصية عليه Vector3 movementDirection = new Vector3(horizontalInput, 0, verticalInput); // تحريك الشخصية باتجاه المحور المحدد وبسرعة تعادل السرعة التي تم تحديدها transform.position += movementDirection * speed * Time.deltaTime; } } 5- بعد الانتهاء من كتابة الكود، يمكن حفظه وتشغيل اللعبة للتحقق من تحريك الشخصية بشكل صحيح. الكود السابق يعمل على تحريك الشخصية (المكعب) عند الضغط على الأسهم بلوحة المفاتيح. يتم استدعاء الدالة "Update" في كل إطار للعبة، وتستخدم لجمع إدخالات اللاعب من لوحة المفاتيح وتحديد الاتجاه الذي يجب تحريك الشخصية عليه، ثم تقوم بتحريك الشخصية باتجاه المحور المحدد بناءً على الاتجاه الذي حدده اللاعب.
  23. في البداية يمكنك تجربة إنشاء نفس المشروع الذي كنت تعمل عليه في الدورة، والرجوع لبعض الفيديوهات لتذكر بعض المعلومات لا مشكلة، ولكن إذا كنت قد نسيت جزء كبير من المعلومات فأنصحك بالعودة من البداية وتشغيل دروس الدورة بسرعة 1.5 أو 2 تبعًا لما يناسبك. مع التوقف عند كل نقطة تجد نفسك لا تفهمها بشكل جيد، ثم قم بالتطبيق العملي عليها ولا تهمل تلك النقطة إطلاقًا. وبعد الوصول للنقطة التي توقفت عندها قبل الإنقطاع عن الدورة، يمكنك الرجوع للسرعة الطبيعية للدروس واستكمال الدورة بشكل طبيعي. ولتحقيق أقصى استفادة من الدورة، يجب التطبيق العملي فالتحسن يتم بالمعرفة ثم تطبيق تلك المعرفة لا تخزينها داخل عقلك فقط. ولا تنتقل للنقطة التالية في الدورة إلا بعد أن تكون قد فهمت الأقسام السابقة والحالية بشكل جيد وطبقت عليها، ويمكنك أيضًا تجربة التطبيق على تصاميم أخرى غير الموجودة في الدورة وستجد هنا نقاش جيد حول تلك النقطة.
  24. تم الإجابة على ذلك السؤال بشكل مفصل من قبل، أرجو منك قراءة النقاشات التالية: وبخصوص توافر فرص العمل، فكلامها مطلوب في سوق العمل، لكن قد تكون إحداهما مطلوبة بكثرة في سوق عمل معين فقم بتفقد الوظائف المعروضة في بلدك أو على مواقع العمل الحر التي تريد العمل عليها لترى ما هو المطلوب بكثرة، وستجد على LinkedIn وظائف في بلدك ولكن تفقد الوظائف التي تطلب مطورين بمستوى Junior أو Entry level. وأيضًا الأمر يعتمد على مهاراتك السابقة، فإذا كنت قد تعلمت لغة جافاسكريبت بالفعل، فأنصحك بتعلم React Native.
  25. هناك فخ يقع فيه الكثيرين ألا وهو الرغبة في الإنتقال للغة القادمة والإطار القادم والأداة القادمة بعد تعلمه الأساسيات، ولكن أنت بحاجة إلى أن تهدأ قليلاً وترسخ الأساسيات لديك لتقف على أرض صلبة. ما يجب فعله ولا أنصحك أبدًا بالإنتقال لتعلم إطار عمل مثل React، هو ضرورة بناء موقعين على الأقل بواسطة HTML, CSS, JS وذلك في حالة أنك قمت ببناء مشاريع بسيطة من قبل، فلا يمكن الإنتقال لمرحلة بناء موقع إلا عن طريق بناء مشاريع بسيطة مثل بناء جزء من موقع. ولا تشغل بالك بالتصميم الآن، يكفي فقط أن تتعلم ما هي أساسيات التصميم الجيد، ويمكنك الإعتماد على المصادر التالية: تصميم واجهة المستخدم UI ويمكنك الحصول على استلهام من تصميمات موجودة بالفعل وتقوم بتقليدها بشكل كامل بعد ذلك يمكنك التعديل على التصميم أي جزء من هنا وجزء من هنا وتنشأ تصميم كامل من تلك التصاميم، وهنا نقاش على المواقع التي توفر تلك التصاميم: وأيضًا يمكنك الإعتماد على مواقع مثل Frontend Mentor فهى توفر تصاميم وتحديات رائعة أنصحك بها بشدة.
×
×
  • أضف...