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

Mustafa Suleiman

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

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

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

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

    336

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

  1. المشكلة تحدث بسبب استخدام fromNow() ، حيث تعيد هذه الدالة الفرق بين الوقت الحالي والوقت المحدد بتنسيق معين. بدلاً من ذلك ، يمكنك استخدام format() لتنسيق التاريخ بالطريقة التي تريدها. على سبيل المثال: let date1 = moment(date, 'YYYY-MM-DD').format('DD/MM/YYYY, HH:mm:ss'); وهذا يعطي تنسيقًا للتاريخ والوقت يبدو مثل هذا: "24/03/2023، 12:00:00". ويمكنك تعديل الشكل حسب احتياجاتك. ولتنسيق التاريخ بنفس الشكل الذي يظهر في فيسبوك ، يمكنك تنسيق التاريخ على النحو التالي: let date = moment().format('lll'); // يعيد تنسيق الوقت في شكل "MMM DD, YYYY hh:mm A" lll في الكود السابق هي حرف إل L بالإنجليزية ولكن بشكل small. وباستطاعتك استخدام أي تنسيق آخر يناسب احتياجاتك. على سبيل المثال ، باستخدام الأكواد التالية: 'lll' لتنسيق الوقت على النحو التالي: "MMM DD, YYYY hh:mm A" 'LLLL' لتنسيق الوقت على النحو التالي: "dddd, MMMM DD, YYYY hh:mm A" 'll LTS' لتنسيق الوقت على النحو التالي: "MMM DD, YYYY hh:mm:ss A" يمكنك الاطلاع على وثائق moment.js لمزيد من المعلومات حول التنسيقات المختلفة المتاحة.
  2. في البداية سأشرح لك ما هو Hook useRef، وهو أحد أساليب الحفاظ على الحالة في React، يمكن استخدامه لإنشاء مرجع إلى عنصر DOM أو أي عنصر آخر في التطبيق. يستخدم في الغالب لتعقب القيم السابقة والحالية لعناصر الواجهة، ومن ثم القيام بتحديثات بناءً على هذه القيم. فيما يلي مثال على كيفية استخدام useRef بشكل صحيح في React.js: import React, { useRef, useState } from 'react'; function ExampleComponent() { const [count, setCount] = useState(0); const inputRef = useRef(null); const handleButtonClick = () => { inputRef.current.focus(); }; return ( <div> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}> Click me </button> <input type="text" ref={inputRef} /> <button onClick={handleButtonClick}>Focus input</button> </div> ); } والكود الخاص بك لا يوجد به مشكلة واضحة. حيث يتم استخدام useRef لإنشاء مرجع لعنصر input وتم تمرير هذا المرجع كخاصية ref إلى العنصر input. ثم يتم استخدام myRef.current للوصول إلى عنصر input الفعلي وتنفيذ دالة الـ focus عليه لتركيز المؤشر داخل الحقل input. كما يتم طباعة قيمة الـ value من الحقل input في الكونسول عندما يتم النقر على زر الـ focus. قد يكون السبب في عدم ظهور أي شيء في الكونسول هو أن الحقل input فارغ، لذلك يجب إدخال قيمة داخل الحقل input للتحقق من القيمة المطبوعة في الكونسول عند النقر على زر الـ focus.
  3. إضافة دالة داخل الـ route وتمرير قيمة req.body إلى هذه الدالة وإرجاع قيمة firstName من داخلها: // دالة ترجع قيمة الاسم الذي تريده function calculateFirstName(obj) { return obj.firstName; } router.post('/', (req, res) => { const obj = req.body; const firstName = obj.firstName, lastName = obj.lastName, age = obj.age, Class = obj.class, lessons; const StudentId = Date.now(); // يتم نداء الدالة هنا وإعطائها المعامل بالبيانات اللازمة const calculatedFirstName = calculateFirstName(req.body); db.run(`INSERT INTO Students (StudentId, FirstName, LastName, Age, Class, RegDate, LessonId) VALUES (${StudentId}, "${firstName}", "${lastName}", ${age}, "${Class}", "${RegDate}", ${less}`, (err) => { if (err) return console.error(err); console.log(`Student ${firstName} ${lastName} has been added successfully`); res.redirect('/add-details'); }); }); بعد ذلك يمكنك استخدام الدالة في المكان الذي تريده
  4. يمكنك الحصول على الوقت الحالي في JavaScript باستخدام كائن Date. واستخدام Date.now() للحصول على الوقت الحالي بالميلي ثانية، ثم يمكنك استخدام كائن Date لتحويل الميلي ثانية إلى الوقت الفعلي الذي يمكن عرضه للمستخدم. على سبيل المثال، إذا كانت تاريخ النشر مخزن في قاعدة البيانات كنص، فباستطاعتك استخدام الكود التالي لتحويل النص إلى تاريخ وعرضه في شكل يحوي الساعة والدقائق: // تحويل النص إلى تاريخ const dateString = "2023-03-23T12:34:56Z"; const date = new Date(dateString); // عرض الوقت في شكل يحوي الساعة والدقائق const hours = date.getHours(); const minutes = date.getMinutes(); const timeString = hours + ":" + (minutes < 10 ? "0" : "") + minutes; console.log(timeString); // سيظهر 12:34 يمكنك استخدام هذا الكود لعرض الوقت الذي تمت إضافة الـ post به. واستخدام قيمة Date.now() عند إضافة الـ post لتخزين الوقت الحالي. ثم استخدام الكود السابق لعرض الوقت في صفحة الـ post.
  5. عزيزي عبد الرحمن أنت تقوم بالأمر بشكل خاطيء فيجب تفعيل الـ live server من هنا كما في الصورة، وأيضًا يجب تثبيته من متجر الإضافات، ويجب وجود ملف index.html وقم تم ربطه بملف js من خلال عنصر script. أيضًا يمكن أن يكون هناك خطأ في كود JavaScript الخاص بك، وهذا الخطأ يمنع Live Server من تشغيل الملف الخاص بك. قد يكون هناك خطأ في إعدادات Live Server، مما يمنعه من تشغيل ملفات JavaScript. قد يكون Live Server لا يستطيع التعامل مع بعض الملفات الخاصة بـ JavaScript، مثل الملفات الخاصة بـ Node.js.
  6. الدورة ليست مخصصة في ذلك، ويجب التنبيه إلى أن مجال الـ cyber security بحاجة إلى أن تكون بارع في البرمجة أي أنّ تأمين الشيء بحاجة إلى الدراية الوافرة به صحيح؟ لذلك أنت بحاجة إلى تعلم أساسيات علوم الحاسب ثم تعلم لغة برمجة وأنصحك في البداية بتعلم c++ ولكن إذا كان لديك الوقت لذلك. وستجد هنا إجابة على المسار الخاص بالـ cyber security وبخصوص دورة علوم الحاسب في أكاديمية حاسوب فذلك هو محتوى الدورة: ماذا ستتعلم في هذه الدورة؟ أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب لمن هذه الدورة؟ لمن لا يمتلك أي خبرة مسبقة في البرمجة ويريد الدخول في هذا المجال الشيق لمن يفكر بتغيير مساره المهني ويرغب بأن يصبح مبرمج ولا يعرف من أين يبدأ للمبرمجين الذين تعلموا احدى لغات البرمجة ذاتياً ويرغبوا بملئ الفراغات وتعلم الأسس لطلاب الجامعات الذين يواجهوا صعوبة ببعض المواد مثل أنظمة التشغيل وقواعد البيانات لمن حاول تعلم البرمجة بالسابق وشعر أنها صعبة ولم يتمكن من المواصلة
  7. الموقع لا يستخدم وورد بريس بل برمجة خاصة ومعنى ذلك أنه لا يستخدم قالب وورد بريس. معرفة الثيم المستخدم لموقع وورد بريس إليك بعض الإقتراحات: 1- ثيم "LMS"، وهو ثيم متخصص في إدارة الدورات التعليمية والمواد التعليمية. 2- ثيم "Academy"، وهو ثيم مميز ومصمم خصيصًا للمدرسين ومقدمي الدورات والمساقات التعليمية. 3- ثيم "Education WP"، وهو ثيم متعدد الاستخدامات ويشمل العديد من الميزات المفيدة لمواقع الدورات التعليمية والتعلم عبر الإنترنت. 4- ثيم "Masterstudy"، وهو ثيم يوفر العديد من الخيارات المفيدة لمواقع الدورات التعليمية والتدريب. 5- ثيم "Skillfully"، وهو ثيم مميز ويتميز بتصميمه الجذاب وسهولة الاستخدام ويتميز بالألوان الزاهية. وإذا أردتي المزيد من إقتراحات لأفضل ثيمات وورد بريس أنصحك بقراءة الإجابات على الأسئلة التالية: رشح لي قالب ووردبريس يكون خفيف
  8. في SQL، يمكن استخدام بعض التقنيات والأوامر لتحسين أداء استعلامات البيانات وجعلها تستجيب بشكل أسرع. على سبيل المثال، يمكن استخدام أمر "INDEX" لإنشاء فهرس للحقول الذي تستخدم في استعلامات البيانات، وهذا يساعد على تسريع عملية البحث وتحديد المعلومات بشكل أسرع. بالإضافة إلى ذلك، يمكن استخدام الأوامر المثل "SELECT" و "WHERE" بطريقة صحيحة لتحسين أداء الاستعلامات، ويمكن أيضًا استخدام أدوات التجميع والفلترة المختلفة مثل "GROUP BY" و "HAVING" و "ORDER BY" للتحكم في ترتيب النتائج وتجميعها وتصفيتها بشكل فعال. كما يمكن استخدام أوامر معينة مثل SELECT TOP و SELECT DISTINCT لجلب عدد محدود من الصفوف أو لجلب القيم المختلفة في حقل محدد، مما يقلل من عدد البيانات التي تحتاج لجلبها وبذلك يتم تحسين الأداء. أيضاً يمكن استخدام الأوامر المتخصصة للتجميع Aggregate Functions مثل SUM و COUNT و AVG وغيرها للعمليات الحسابية البسيطة على البيانات بدلاً من استعلامات SELECT الطويلة التي قد تأخذ وقتاً طويلاً. ومن الأساليب الأخرى لتحسين أداء استعلامات SQL هي تحسين تصميم قواعد البيانات وتحسين أداء الخادم وتحسين مؤشرات الأداء وغيرها من الإجراءات التي تهدف إلى تحسين أداء استعلامات SQL. من الجدير بالذكر أنه لا يوجد "كود سحري" يمكن استخدامه لجلب البيانات بشكل سريع في SQL، وإنما يتعلق الأمر بتحسين أداء استعلامات البيانات باستخدام التقنيات والأوامر المختلفة المتاحة في SQL.
  9. أنت تستخدم مصفوفة cartItems لتخزين المنتجات في عربة التسوق، ولكن لا تمررها كمدخل لـ CartItem في Cart.jsx. بدلاً من ذلك، تم استخدام qtyArray، والذي يحتوي على قائمة من العناصر التي تم تعديلها بواسطة handlePlus و handleMinus. هذا هو السبب في أن الحذف لا يحدث في المصفوفة cartItems عند النقر على أيقونة الحذف. لحل هذه المشكلة، يمكنك تمرير cartItems كمدخل لـ CartItem في Cart.jsx بدلاً من qtyArray. وبمجرد النقر على زر الحذف، يجب عليك استدعاء دالة removeFromCart وإرسال cartProduct.id كمدخل لها. ثم يجب عليك تحديث المصفوفة cartItems باستخدام setCartItems وإزالة العنصر الذي تم حذفه.
  10. الخطأ يحدث عندما يتم محاولة الوصول إلى مؤشر مصفوفة على قيمة من نوع boolean (bool)، وهو ما يشير إلى وجود مشكلة في الكود في السطر 195 من ملف sql.php. وربما الخطأ مرتبطًا بتنفيذ الدالة find_by_groupLevel() التي لا يتم فيها إرجاع مصفوفة من قاعدة البيانات كما هو متوقع، وبدلاً من ذلك يتم إرجاع قيمة boolean. لحل هذه المشكلة، يجب التحقق من مدى صحة وعملية تنفيذ دالة find_by_groupLevel() والتأكد من عودتها بالمخرجات المتوقعة، وإذا كان هذا هي المشكلة، فيجب إجراء التعديلات اللازمة على الدالة لإصلاحها. كما يمكن استخدام دالة var_dump() لفحص مخرجات الدالة ومعرفة ما إذا كانت تعود قيمة boolean أو مصفوفة كما هو متوقع.
  11. إذا كنت تريد التخصص في البرمجة، فأنصحك بشدة بالإجتهاد في الثانوية لتتمكن من دخول كلية حاسبات ومعلومات وغالبًا في بلدك تابعة لتخصص IT ولكن لا أستطيع أن أجزم فيجب السؤال عن المنهج الخاص بتلك الكلية، أما هندسة البرمجيات فهي بعيدة عن البرمجة بعض الشيء حيث تدرس الأمور بشكل نظري وتهتم أكثر بالـ Hardware. وتجنبًا للتكرار ستجد ضالتك هنا. ما الفرق بين هندسة برمجيات وكلية حاسبات ومعلومات
  12. سأحدثك بواقعية، تعلم أي أمر في الحياة ممل صدقني حتى لو كنت تستمتع في البداية بعد فترة ستمل، لذلك اسمع مني تلك النصيحة واستمسك بها، لا تعتمد أبدًا على شغفك أو إحساسك عند تعلم شيء مفيد في الحياة، لن تنجز شيء بتلك الطريقة. لذلك عليك بإنشاء تصميمين كاملين باستخدام HTML و CSS واختر تصميم تتحمس له أي في اللحظة التي تراه فيها تريد أن تنفذه مثله، وسأترك لك مواقع لتصميمات الويب. بعد القيام بالسابق سيتعين عليك تعلم JS وتنفيذ مشروع كامل في النهاية مع استخدام HTML و CSS، وخلال رحلة تعلمك في JS يجب التطبيق وكتابة الكود ويا حبذا لو قمت بإنشاء مشاريع صغيرة للتطبيق على ما تعلمته. ولا تعتمد على ذاكرتك، بل مرن يديك على كتابة الكود وعقلك على التفكير في الكود، الأمر مختلف تمامًا عن مشاهدة الفيديو تمامًا. وأيضًا حاول التغيير بعض الشيء في المشاريع التي تقوم بتنفيذها في حال كنت تشاهد شرحً ما وتطبق وراءه، وستتعلم الكثير من ذلك جراء البحث عن حلول للمشاكل التي ستواجهك أو كيفية تنفيذ أمر جديد لا تعلم عنه شيء لكن لديك الفكرة. في البرمجة، لا تنتقل على القسم التالي في مسار تعلمك إلا بعد التطبيق وتنفيذ المشاريع، فبذلك ستصبح مبرمج، غير ذلك ستتعلم القليل.
  13. كما ذكر لك أستاذ مسعود، من خلال إطارا ات العمل الخاصة ببايثون يمكنك تنفيذ ما تريده، فإطار عمل Django يوفر العديد من الميزات المهمة لتطوير تطبيقات الويب ، بما في ذلك: توفير نظام تسجيل الدخول والمستخدمين والصلاحيات إدارة قواعد البيانات إنشاء وتنظيم وإدارة عرض المحتوى توفير أدوات البرمجة النصية وتقنيات الويب الحديثة مثل HTML5 و CSS3 و JavaScript وغيرها. علاوة على ذلك، يمكن لـ Django تكوين وتخصيص بسهولة لتطوير تطبيقات الويب المعقدة والمتطلبات العالية ، ويوفر قاعدة بيانات ORM متطورة وتحليل الطلبات وتصميم الصفحات ومتطلبات الأمان والأداء. بالإضافة إلى Django ، هناك العديد من إطارات العمل الأخرى في Python التي يمكن استخدامها لتطوير تطبيقات الويب ، بما في ذلك Flask و Pyramid و CherryPy و Tornado وغيرها. أي يمكن القول أن Python هي لغة قوية لتطوير تطبيقات الويب، وتوفر إطارات عمل متعددة لتلبية احتياجات مختلفة للمطورين وتوفير أدوات مفيدة وموثوقة لتطوير تطبيقات الويب بشكل سريع وفعال، لكنها ليست الأفضل في ذلك. وهناك العديد من اللغات والإطارات المستخدمة لإنشاء تطبيقات الويب والتي يمكن اختيارها حسب احتياجات المشروع ومتطلبات العميل وخبراتك. ومن بين هذه اللغات والإطارات: 1- PHP: يستخدم بشكل واسع لإنشاء تطبيقات الويب، ويحتوي على إطارات عمل مثل Laravel وSymfony وCakePHP وغيرها. 2- Java: يستخدم بشكل واسع في تطوير تطبيقات الويب، ويحتوي على إطارات عمل مثل Spring وStruts وPlay Framework وغيرها. 3- Ruby: يستخدم في تطوير تطبيقات الويب، ويحتوي على إطارات عمل مثل Ruby on Rails وSinatra وHanami وغيرها. 4- JavaScript: يستخدم بشكل واسع في تطوير تطبيقات الويب الحديثة، ويحتوي على إطارات عمل مثل React وAngular وVue.js وغيرها. 5- ASP.NET: يستخدم في تطوير تطبيقات الويب باستخدام لغة C#، ويحتوي على إطارات عمل مثل ASP.NET MVC وASP.NET Core وغيرها. ومن الأفضل لك تعلم إطارات العمل الخاصة بلغة PHP وجافاسكريبت.
  14. من خلال حساب المتوسط الحسابي للتقييمات المعطاة من قبل المستخدمين. في حالة تقييم المسلسلات أو الأفلام بنجوم من 1 إلى 10، يتم جمع جميع التقييمات الفردية التي قدمها المستخدمون ثم يتم تقسيم مجموع تلك التقييمات على عدد المستخدمين الذين أعطوا تقييماتهم. على سبيل المثال، إذا قيم 100 شخص مسلسلًا بتقييم مجموعه 750 نقطة، فإن التقييم النهائي للمسلسل سيكون 7.5 نقاط (750 ÷ 100 = 7.5). إليك مثال بسيط يستخدم جافاسكريبت لحساب التقييم النهائي من 10 بناءً على التقييمات الفردية التي تم إدخالها من قبل المستخدمين: // عين القيم الأولية لتقييم المستخدمين let userRatings = [6, 8, 9, 7, 5, 8, 7, 10, 8]; // حساب مجموع التقييمات let totalRatings = userRatings.reduce((acc, cur) => acc + cur); // حساب العدد الإجمالي للتقييمات let numRatings = userRatings.length; // حساب التقييم النهائي let averageRating = (totalRatings / numRatings).toFixed(2); // طباعة التقييم النهائي console.log(`تقييم المستخدمين: ${userRatings}`); console.log(`التقييم النهائي: ${averageRating}/10`);
  15. السؤال غير واضح، هل تقصدين عمل متجر إلكتروني على سلة أو منصة زد أو ما شابه؟ إذا كنتي كذلك، فالأمر بسيط، سيقوم العمل بشراء الباقة المناسبة له من على تلك المنصات، ومن ثمّ سيقوم بإنشاء حساب لك كفريق عمل لتتمكني من التعديل على إعدادات المتجر والتصميم. أما إذا كنتي تقصدين برمجة خاصة، فستعملين على إنشاء المتجر بإطار العمل الذي تستخدمينه مثل لارافيل أو إضافة WooCommerce على وورد بريس مثلاً، فمن المفترض أن العميل يقوم بشراء الاستضافة المناسبة بعد توجيهك له، ثم توفير بيانات الدخول لك، وبعدها ستتمكني من رفع المتجر على الاستضافة وإنشاء الحسابات اللازمة. وسيتعين عليك تسليم الكود المصدري بعد الإنتهاء أيضًا وملفات التصميم إن وجدت. وعلي أي حال أرجو توضيح السؤال وما الذي تريدي فعله بالضبط ليتم الإجابة على سؤالك.
  16. تأكد من أنك قمت بتحميل وتثبيت إضافة خاصة باللغة التي تستخدمها من متجر الإضافات ليتمكن المحرر من التعرف على الـ syntax الخاص باللغة، ابحث باسم اللغة وستجد إضافة لها. يجب التأكد من كتابة إمتداد الملف مثل index.js أو index.css وهكذا ليتمكن المحرر من عمل Syntax highlighting لها. تحقق من تحديد لوحة ألوان مفضلة من قائمة الخيارات المتاحة في VS Code. يمكنك الوصول إليها عن طريق الضغط على زر Ctrl+Shift+P (في Windows/Linux) أو Command+Shift+P (في macOS)، ثم البحث عن "Preferences: Color Theme". قد يكون هناك خطأ في ملف إعدادات VS Code. في هذه الحالة، يمكنك محاولة إعادة تعيين إعدادات VS Code إلى الإعدادات الافتراضية عن طريق القيام بالخطوات التالية: انقر فوق الزر "Open Settings" في قائمة الخيارات المتاحة في VS Code، أو استخدم الاختصار Ctrl+Comma (في Windows/Linux) أو Command+Comma (في macOS) لفتح صفحة إعدادات VS Code. ابحث عن "Reset Settings" في شريط البحث في الأعلى. انقر فوق "Reset Settings"، ثم انتظر حتى يتم إعادة تعيين إعدادات VS Code إلى الإعدادات الافتراضية. أعد تشغيل VS Code وتحقق مما إذا كانت المشكلة قد تم حلها. إذا استمرت المشكلة يمكنك محاولة حذف وإعادة تثبيت VS Code، أو مشاركة تفاصيل أكثر عن المشكلة الخاصة بصورة كتوضيح.
  17. المشكلة في الرابط المستخدم لعرض الصورة في الكود. عند رفع الصورة إلى مستودع GitHub الخاص بك، يجب استخدام الرابط الصحيح لعرض الصورة. فرابط الصورة في الموقع كالتالي: <img class="logo" src="/images/logo.png" alt="Logo"> باستطاعتك استخدام الرابط النسبي لعرض الصورة، كالتالي: <img class="logo" src="images/logo.png" alt="Logo"> حيث يكون مجلد "images" هو المجلد الذي يحتوي على الصورة والموجود في مستودع GitHub الخاص بك. يمكنك أيضًا استخدام رابط مباشر لصورة عند رفعها على GitHub، مثل: <img class="logo" src="https://raw.githubusercontent.com/ayman-alrawy/second-site/main/images/logo.png" alt="Logo"> عند استخدام هذا الرابط، يجب التأكد من تحديد الفرع الصحيح في المستودع وتغيير اسم المستخدم واسم المستودع حسب ما ينطبق على المشروع الخاص بك. والأفضل رفع المشروع الخاص بك على netlify أو vercel بينما الكود قم برفعه على GitHub.
  18. المشكلة في استخدام المتغير TouchDist كـ "object" بدلاً من استخدامه كـ "Vector2". يجب التأكد من أن المتغير TouchDist من نوع Vector2. وللتأكد من ذلك ، يمكنك التحقق من الكلاس FixedTouchField والتحقق من أن تحديث المتغير TouchDist يتم باستخدام Vector2 وليس object. وقد يكون هذا الخطأ قد ظهر بسبب تغيير نوع المتغير في وقت لاحق في الكود. TouchDist هو كائن من النوع object ولا يحتوي على خصائص x و y كما هو متوقع. فيجب تحويل TouchDist إلى النوع المناسب لهذه الخصائص. وفي هذه الحالة، على الأرجح أن FixedTouchField هو الكائن الذي يتم تمرير TouchDist إليه. لذلك، يجب التأكد من أن FixedTouchField يحتوي على خصائص x و y المطلوبة. ويمكنك تجربة تغيير السطر التالي: Yaxis += touchField.TouchDist.x * RotationSensitivity; Xaxis -= touchField.TouchDist.y * RotationSensitivity; إلى: Yaxis += touchField.TouchDist.normalized.x * RotationSensitivity; Xaxis -= touchField.TouchDist.normalized.y * RotationSensitivity; بتحويل TouchDist إلى نوع Vector2 باستخدام الخاصية normalized التي تعيد قيمة Vector2 مع محافظة الاتجاه الأصلي ولكن بقيمة طول تمثيلي يساوي 1.0. بعد ذلك، يمكن استخدام خصائص x و y بشكل صحيح.
  19. المشكلة تنتج عن عدم وجود الامتدادات اللازمة للتعامل مع XML binding في جهاز الكمبيوتر الخاص بك. حاولي تجربة الخطوات التالية لحل هذه المشكلة: تثبيت حزمة JDK المطلوبة: يجب أن تتأكدي من تثبيت JDK بنجاح على جهاز الكمبيوتر الخاص بك. قومي بزيارة الموقع الرسمي لـ JDK وتنزيل الإصدار المناسب لنظام التشغيل الخاص بك وتثبيته. تحديث مسار البيئة: تأكدي من تحديث مسار البيئة الخاص بك بمسار تثبيت JDK و Android SDK على النحو التالي: في نظام Windows: افتحي "محرر المتغيرات" من خلال الضغط على زر البدء والبحث عن "تحرير المتغيرات البيئية" ، وقم بتحديد "مسار المستخدم" ، وأضيفي المسار الخاص بتثبيت JDK و Android SDK إلى المتغير PATH. 3. تثبيت مكتبة JAXB المطلوبة: قد يتطلب الأمر تثبيت مكتبة JAXB اللازمة لتشغيل البرنامج. ويمكنك تنزيل مكتبة JAXB من موقع Oracle الرسمي وتثبيتها على جهاز الكمبيوتر الخاص بك. حيث قد المشكلة بعدم تثبيت حزمة javax.xml.bind.JAXBException المطلوبة من قبل مكتبة Android SDK التي يستخدمها Cordova. وإذا كنت تستخدمي JDK 9 أو إصدار أحدث، فقد تواجه مشكلة في تثبيت حزمة JAXB بسبب إزالة هذه الحزمة من JDK 9 وما بعده. في هذه الحالة ، يمكن استخدام إصدار JDK أقدم يتضمن حزمة JAXB أو يمكنك تثبيت حزمة JAXB بشكل منفصل. بعد تثبيت حزمة JAXB ، يجب أن يتمكن Cordova من تثبيت Android target بنجاح. وإذا واجهت أي مشاكل أخرى ، فيمكنك مراجعة مستندات Cordova الرسمية.
  20. يمكنك تعلم ما تشاء بعد تعلم بوت ستراب و tailwindcss، فهما الأساس في تطوير الويب حاليًا.
  21. الأمر مشتت فعلاً فهناك الكثير من المكتبات التي توفر لك مكونات جاهزة وتنسيقات CSS، والأمر يعتمد على إحتياجاتك. فإذا كنت تريد إنشاء تصاميم متشابهة وبسيطة فمكتبة Bootstrap والمكتبات المشابهة لها هي الخيار الأمثل لك. اما إذا كنت تريد حرية في تخصيص التنسيق واستخدام تنسيقات متفق عليها Standard في تصميمك ليبدوا أنك تم تنفيذه بشكل إحترافي، فعليك باستخدام tailwindCSS، وهي الأكثر إنتشارًًا حاليًا ويتم استخدامها بكثرة. ولكن يجب عليك تعلم Bootstrap أيضًا فنسبة كبيرة من المشاريع يتم استخدامها بها، ولذلك أنت بحاجة إلى أن تكون على علم بها، وكنصيحة تعلم tailwind أولاً ثم Bootstrap.
  22. في الدول العربية يجب التركيز وبشدة على الحصول على شهادة جامعية، فللأسف بدونها ستعاني، وإذا كنت تريد تعلم البرمجة فقم بالدراسة بجد وإجتهاد لدخول كلية علوم الحاسب. وهي ستساعدك بشكل كبير في التركيز على مجال البرمجة على الرغم من أن الكلية نفسها لن تقدم لك شيء، لكن ستساعدك على إحاطة نفسك بأشخاص مهتمين بالمجال وأيضًا ستركز أنت على دراسة البرمجة لكونها متعلقة بدراستك في الأساس. لذلك لا مشكلة في التوقف وتخصيص ساعتين أو حتى ساعة يوميًا لكتابة الكود أو تعلم شيء جديد، لكن لا تنقطع فستعود من نقطة الصفر. وبخصوص قيمة الشهادة، فهي لا قيمة لها، سوى في بعض الشركات التي تطلب دارسي علوم الحاسب، لكن الأغلبية تنظر إلى مهاراتك واللغات التي تبرع بها والقيمة التي ستضيفها للشركة لا الشهادة التي تمتلكها على الرغم من أنها قد تعطيك أفضلية بلا شك لكونك متخصص ولكن يجب أن تكون جيد في البرمجة لتحصل على تلك الأفضلية.
  23. شعور طبيعي في البداية ومع التكرار سيزول، ولكن يجب أن تقرأ عن كل خاصية تقوم باستخدامها وتجربتها بعد القراءة، فالغالبية يشاهد المدرب يقوم باستخدام خاصية بهذا الشكل ثم يقوم بتقليده لكنه لا يعلم كيف تعمل تلك الخاصية فعلا. والنتيجة هي أنه يقوم بعملية التصميم عن طريق التجربة والخطأ أكثر من مرة حتى ينجح في تنفيذ المطلوب، رغم أنه من الأسهل فهم طبيعة عمل خواص CSS وستجد أن الأمر منطقي، وهناك مصادر لذلك: https://wiki.hsoub.com/CSS https://academy.hsoub.com/programming/css/ https://developer.mozilla.org/en-US/docs/Web/CSS/Reference وستجد ما تحتاجه في موسوعة حسوب بالإضافة إلى الأكاديمية، وأيضًا مستندات MDN رائعة جدًا. الخطوة التي تلي ذلك هو التطبيق على أجزاء صغيرة مثل نموذج Form أو ما شابه لفهم طبيعة عمل الخواص بشكل أفضل، ثم محاولة بناء موقع كامل لاستخدام كل ما تعلمته وتثبيت المعلومات وتطوير مهاراتك. ولا تشغل بالك بعملية التصميم في تلك المرحلة، يكفي أن تعلم أساسيات التصميم فقط بل يجب عليك ذلك من البداية مثل المساحات والخطوط وخلافه، أما التصميم الكامل فقم بتقليد أي تصميم تراه وينال إعجابك.
  24. يجب العثور على عنصر HTML الذي يحتوي على المعلومات المطلوبة واستخراجها باستخدام BeautifulSoup. حيث يمكن القيام بذلك باستخدام الكلاس الخاص بعنصر HTML الذي يحتوي على المعلومات المطلوبة. وباستطاعتك استخدام ميثود find_all للبحث عن جميع العناصر التي تحتوي على الكلاس المحدد ثم الوصول لنص الراتب باستخدام text attribute. ويمكن تحديد الكلاس المحتوي على الراتب عن طريق فحص مصدر الصفحة والعثور على العنصر الذي يحتوي على الراتب، أو بإمكانك استخدام ميثود البحث المتقدم select للعثور على العنصر المحتوي على الراتب عن طريق تحديد مسار CSS المطلوب. في النهاية، يجب أن يكون لديك شيء ما مثل هذا الكود: for link in links: result = requests.get(link) src = result.content soup = BeautifulSoup(src,"html.parser") salary_element = soup.select_one("div.css-rcl8e5 > span.css-4xky9y") salary.append(salary_element.text if salary_element else None) والكود يستخدم select_one للبحث عن العنصر الذي يحتوي على الراتب باستخدام المسار CSS المحدد ثم يستخرج النص الموجود داخل العنصر. في حال عدم العثور على العنصر، سيتم إضافة None إلى قائمة الرواتب.
  25. قد يكون هذا نتيجة لتغيير مستوى سطوع الشاشة. حيث يمكن للعديد من الأجهزة المحمولة التي تعمل على البطارية تغيير مستوى سطوع الشاشة تلقائيًا عند فصل الشاحن، الأمر الذي يؤدي إلى اهتزاز الشاشة. لحل هذه المشكلة ، يمكنك تجربة تغيير إعدادات سطوع الشاشة لجعلها أقل حساسية. ويمكنك أيضًا محاولة توصيل الكمبيوتر المحمول بمقبس آخر أو استخدام كابل طاقة مختلف. إذا لم تنجح هذه الخطوات يمكنك تجربة الحلول التالية: الحل الأول: قم بالدخول إلى إعدادات النظام الخاصة بالعرض display عن طريق النقر على زر "إبدأ" ثم النقر على العنصر "الإعدادات". اختر "العرض" من الخيارات المتاحة في الإعدادات. في نافذة العرض، اختر "إعدادات الألوان عالية الجودة HDR لنظام Windows" من القائمة الجانبية. تحت "خيارات البطارية"، اختر "تحسين الجودة للصورة" بدلاً من "تحسين الطاقة" (Optimize for battery life) في قائمة الخيارات. يمكنك أيضًا تعطيل HDR تمامًا بالذهاب إلى إعدادات العرض ، وتحديد خيار "تعطيل HDR" تحت "إعدادات Windows HD Color". الحل الثاني: قم بالدخول إلى إعدادات الحاسوب الخاصة بك عن طريق النقر على زر "إبدأ" ثم النقر على العنصر "الإعدادات". اختر "نظام system" من الخيارات المتاحة في الإعدادات. في نافذة "نظام"، اختر "طاقة وسهر Power & Sleep" من القائمة الجانبية. تحت "الإعدادات المتقدمة للطاقة"، اضغط على الارتباط "إعدادات إضافية للطاقة". ستظهر لك قائمة بخيارات خطط الطاقة المتاحة. اختر الخيار المسمى "متوازن Balanced (موصى به)". انقر على الارتباط "تعديل إعدادات الخطة" بجوار خيار الطاقة المختار. ستظهر لك الخيارات المتاحة للتعديل على إعدادات السطوع. يمكنك ضبط مستوى السطوع على 75٪ أو أقل على البطارية. ثم احفظ الإعدادات. الحل الثالث: قم بالنقر بزر الماوس الأيمن في أي مكان فارغ على سطح المكتب واختر "Graphics Properties". في النافذة التي تظهر، انتقل إلى وضع "Advanced Mode" عن طريق النقر على الأيقونة الموجودة في الزاوية اليمنى العليا من النافذة. سيتم عرض علامة تبويب "Power"، انتقل إليها عن طريق النقر عليها. تحت "Power Source"، قم بتغيير القائمة المنسدلة إلى "On Battery". ستظهر لك خيارات "Display Power Saving Technology". قم بإلغاء تحديدها (Uncheck) عن طريق النقر عليها. انقر على زر "OK" لحفظ التغييرات وإغلاق النافذة.
×
×
  • أضف...