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

Mustafa Mahmoud7

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

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

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

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

    1

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

  1. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. المرفقات عادة توجد أسفل أول فيديو من أي مسار ويكون هذا الفيديو تحت اسم مدخل لذلك يرجى الذهاب لأول فيديو من المسار الذي تريده وستجد رابط بالمرفقات وإذا لم تستطع الوصول له يرجى وضع سؤالك أسفل أي فيديو من المسار الذي تقصده.
  2. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  3. لا يمكن تعديل ملف JSON مباشرة من خلال المتصفح لأن JavaScript في المتصفح لا يمتلك صلاحيات الكتابة على الملفات لأسباب أمنية. يمكنك حفظ المعلومات في الذاكرة المحلية localStorage بحيث يتم تخزين البيانات في المتصفح واسترجاعها عند إعادة تحميل الصفحة. نقوم بإنشاء ملف index.html وإنشاء الـ form كالتالي <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>إدارة المستخدمين</title> </head> <body> <h2>إدخال معلومات المستخدم</h2> <form id="userForm"> <input type="text" id="name" placeholder="الاسم" required> <input type="email" id="email" placeholder="البريد الإلكتروني" required> <button type="submit">إضافة مستخدم</button> </form> <h2>قائمة المستخدمين</h2> <div id="userList"></div> <script src="./script.js"> </script> </body> </html> بعد ذلك نقوم بعمل ملف script.js ونضع به هذه الأكواد وستكون هي المسؤوالة عن الإضافة إلي localStorage وستكون الأكواد كالتالي // استرجاع المستخدمين المخزنين مسبقًا let users = JSON.parse(localStorage.getItem("users")) || []; // عرض المستخدمين عند تحميل الصفحة function displayUsers() { const userList = document.getElementById("userList"); userList.innerHTML = ""; users.forEach((user, index) => { const userDiv = document.createElement("div"); userDiv.classList.add("user-item"); userDiv.innerHTML = ` <span>${user.name} - ${user.email}</span> <button onclick="deleteUser(${index})">حذف</button> `; userList.appendChild(userDiv); }); } // إضافة مستخدم جديد document.getElementById("userForm").addEventListener("submit", function (event) { event.preventDefault(); const name = document.getElementById("name").value; const email = document.getElementById("email").value; const user = { name, email }; users.push(user); // إضافة المستخدم إلى القائمة localStorage.setItem("users", JSON.stringify(users)); // تخزين في localStorage displayUsers(); // تحديث العرض this.reset(); // إعادة تعيين النموذج }); displayUsers(); قمنا بعمل الدالة الأولى ()displayUsers وهي تقوم بعرض المستخدمين عند تحميل الصفحة أو إضافة أي مستخدم جديد ثم بعد هذه الدالة قمنا بالوصول إلى الـ form وفي كل مرة نقوم بتقديم النموذج نقوم بإضافة البيانات إلى localStorage واستدعاء الدالة ()displayUsers مرة أخرى لتحديث القائمة بالمستخدم الجديد. أو يمكنك عمل خادم بواسطة Nodejs وتتعامل مع ملفات JSON والتعديل عليها كما ذكر لك الأستاذ محمد ويمكنك بعد ذلك إرسال واستقبال البيانات إلى الخادم والتعديل في ملف JSON أو القراءة منه. بعد إنشاءك للخادم تستطيع إرسال واستقبال البيانات من الخادم كالتالي على const API_URL = "http://localhost:3000/user"; // عنوان API // جلب المستخدمين من الخادم async function fetchUsers() { try { const response = await fetch(API_URL); const users = await response.json();//تحويل البيانات من جسون إلى كائن جافاسكربت displayUsers(users); } catch (error) { console.error("خطأ في جلب المستخدمين:", error); } } // عرض المستخدمين في الصفحة function displayUsers(users) { const userList = document.getElementById("userList"); userList.innerHTML = ""; users.forEach((user, index) => { const userDiv = document.createElement("div"); userDiv.classList.add("user-item"); userDiv.innerHTML = ` <span>${user.name} - ${user.email}</span> <button onclick="deleteUser(${index})">حذف</button> `; userList.appendChild(userDiv); }); } // إضافة مستخدم جديد document.getElementById("userForm").addEventListener("submit", async function(event) { event.preventDefault(); const name = document.getElementById("name").value; const email = document.getElementById("email").value; const user = { name, email }; try { await fetch(API_URL, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(user)// تحويل البيانات من كائن جافاسكربت إلى جيسون }); fetchUsers(); // تحديث القائمة بعد الإضافة this.reset(); // إعادة تعيين النموذج } catch (error) { console.error("خطأ في إضافة المستخدم:", error); } } // تحميل المستخدمين عند فتح الصفحة fetchUsers(); بهذه الطريقة قمنا بإرسال واستقبال الطلبات والتواصل مع الخادم والحفظ في ملف JSON بدلا من localstorage في بداية تحميل الصفحة سيتم إرسال طلب للخادم لجلب كل المستخدمين ثم بعد ذلك عند تقديم النموذج سيتم إرسال المستخدم للخادم وتخزينه في الملف يتم إعادة جلب المستخدمين مرة أخرى لعرضهم بالبيانات الجدية في ملف JSON
  4. ليس من الضروري إنهاء كافة المسارات في الدورة للدخول للإختبار تستطيع استثناء بعضها ولكن الأفضل إنهاءها جميع لكي تستفيد بكامل محتوى الدورة من معلومات ومهارات. ولكن إذا أردت الدخول للإختبار بدون إنهائك لمسارات تحليل البيانات والذكاء الاصطناعي تستطيع ذلك لا مشكلة حيث يمكنك الدخول للإختبار بعد إنهائك لأربع مسارات تعليمية من الدورة. يمكنك التقدم إلى امتحان الدورة، من خلال التواصل مع مركز مساعدة أكاديمية حسوب، مع مراعاة الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا. وفي الإختبار سيتم اختبارك فقط في المسارات التي قمت بدراستها ويوجد تفاصيل أكثر حول الإختبار من صفحة الامتحان والحصول على الشهادة
  5. بالنسبة لأي سؤال متعلق بالأمور المالية يرجى التوجه إلى مركز المساعدة والتحدث معهم من هنا. تستطيع سؤالهم عن أي شئ خاص بالدفع أو قيمة الدورة بالعملات المختلفة أو أي سؤال أخر خاص بالأمور المالية.
  6. تحدث Hydration errors عندما لا يتطابق الـ HTML الذي يتم توليده على السيرفر مع الـ HTML الذي يتم عرضه على جانب العميل مما يؤدي إلى أن React يقوم بإعادة تهيئة الـ DOM على جانب العميل غير متطابق مع جانب السيرفر وهذا الخطأ يمكن أن يكون ناتجًا عن عدة أسباب استخدام <div> داخل <p>: حيث أن الـ <p> هو عنصر مخصص للنصوص والفقرات ولا ينبغي أن يحتوي على عناصر أخرى مثل <div>, مما قد يؤدي إلى حدوث خلل في التوافق بين الـ HTML الذي تم توليده على السيرفر والـ HTML الذي يتم عرضه على العميل. تغيرات في البيانات بين السيرفر والعميل (مثل استخدام Date.now() أو Math.random()) التي تعطي نتائج مختلفة في كل مرة، مما يسبب اختلافات بين الـ HTML الذي يولده السيرفر والـ HTML الذي يعرضه العميل. وجود إضافات للمتصفح تؤثر على الـ HTML قبل تحميل React مثل إضافات Grammarly لذلك يرجى تعطيل الإضافات والتجربة.
  7. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. إذا كان هذا السؤال غير متعلق بمحتوى أحد الدورات يرجى ذكر لك.
  8. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  9. نعم يمكنك التقدم إلى الامتحان الآن طالما أنهيت اربع مسارات من الدورة يمكنك التواصل مع مركز المساعدة من هنا وتوضيح رغبتك بإجراء الامتحان. مع مراعاة هذه الشروط إتمام أربعة مسارات تعليمية على الأقل. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا لمشاركتها مع مركز المساعدة. بعد تحقيق الخطوة السابق سيتم الآتي محادثة صوتية: سنحدد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها بالطبع سيتم سؤالك في الأربع مسارات التي أنهيتها فقط. مشروع التخرج: سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. مراجعة المشروع والتخرج: سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. من الأفضل عدم الإكتفاء بالأربع مسارات فقط وإكمال مسارات الدورة لإكتساب العديد من المهارات الأخري.
  10. لا مشكلة في ذلك يمكنك إكمال المسار الناقص لك والتطبيق مع المدرب للمشاريع التي في هذا المسار الذي تريد دراسته ثم التواصل مع مركز المساعدة وتقديم لهم المشاريع التي قمت بتطبيقها بالكامل أثناء الدورة. وهذه هي شروط التقدم للإمتحان إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا رفع المشاريع على GitHub ثم مشاركتها ستطلب منك عند طلبك الدخول للإمتحان. وهذه هي الخطوات للتقدم للإمتحان تواصل معنا أخبرنا برغبتك باجراء الامتحان عن طريق التواصل مع مركز المساعدة مع تزويدنا بروابط مشاريعك التي طبقتها أثناء الدورة. يجب أن تكون قد طبقت المشاريع مع المدرب أثناء الدورة، ولا يمكن اجراء امتحان بمشاهدة المحتوى فقط. محادثة صوتية سنحدد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. مشروع التخرج سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. مراجعة المشروع والتخرج سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
  11. هنيئا لك للحصول على الشهادة واجتياز الامتحان بنجاح. سيتم توجهيك بعد الدورة والحصول على الشهادة لتحسين مهاراتك بما يتناسب مع سوق العمل، لتحسين سيرتك الذاتية وملفاتك الشخصية على مواقع العمل الحر من قبل فريق العمل تستطيع التواصل معهم من خلال مركز المساعدة. ستقوم بعمل حساب في موقع مستقل وخمسات ومواقع العمل الحر الأخرى ومواقع التوظيف مثل linkedIn والبحث في هذه المواقع عن وظائف ومشاريع تناسب مهاراتك ومماثلة للمواقع التي قمت بالعمل عليها أثناء الدورة. ستجد تفصيل في ردود سابقة على هذا السؤال من قبل
  12. رغم أن الفيديو الترويجي قد يكون قديمًا قليلًا إلا أن الأكاديمية تحرص على تحديث الدورة بشكل دوري لتواكب أحدث التقنيات. لغات الترميز مثل HTML ولغة CSS تعد من الأساسيات التي مر عليها وقت طويل ولكن هي حجر الأساس للعمل كمطور واجهات مستخدم، ومع ذلك يتم إضافة خصائص جديدة إليها بين الحين والآخر. كذلك، لغات البرمجة مثل javascript تظل أساسية لكن يتم تحديثها وإضافة ميزات جديدة باستمرار. أكاديمية حسوب تتابع هذه التحديثات وتدمجها في الدورة بشكل مستمر لضمان توافقها مع التقنيات الحديثة ومتطلبات سوق العمل والدورة متاحة لك مدى الحياة تستطيع متابعة التحديثات لها حتى بعد إنتهائك منها والحصول على الشهادة. بنهاية الدورة ستكون قد حصلت على المهارات اللازمة للعمل كمطور واجهات مستخدم.
  13. بعد اجتيازك لأربع مسارات من الدورة والتطبيق مع المدرب وتقديم المشاريع التي قمت بتطبيقها مع المدرب تستطيع التقدم للإمتحان والحصول على الشهادة ولكن الأفضل دراسة الدورة بالكامل لإكتساب العديد من المهارات وزيادة فرصك للحصول على عمل بشكل سريع. بعد الحصول على الشهادة من الأكاديمية سيتم منحك باقة كتابة السيرة الذاتية في موقع بعيد بقيمة 99$ مجانًا وسيجري لك فريق أخصائيي التوظيف مقابلة صوتية يتعرف فيها على مهاراتك، ويكتب لك أفضل سيرة ذاتية مخصصة لك؛ ثم سيتابع معك لضبط حسابك على مستقل وبعيد ويقدم لك نصائح مخصصة للحصول على عملك الأول. فأكاديمية حسوب لا تقدم لك عمل أو وظيفة ولكن تقدم لك الدورة وبها كافة المهارات التي تساعدك على العمل وأيضا منحة موقع بعيد لكتابة السيرة الذاتية وتهيئة حسابك بشكل جيد على موقع مستقل ونصائح لك للوصول إلى العميل الأول لك وكيفية أختيار العميل والعمل المناسب.
  14. الكود الذي أرفقته صحيح وطريقة كتابته ليس بها مشكلة يُستعمَل العنصر <audio> لتضمين المحتوى الصوتي في المستندات، وقد يحتوي على ملف مصدري واحد أو أكثر التي تُمثَّل باستخدام الخاصية src أو عبر العنصر <source>، وسيختار المتصفح أنسب الملفات الصوتية لتشغيلها. يرجى إرفاق المشكلة أو الإستفسار الذي تريده ليتم توضيحه لك. وإذا كان السؤال متعلق بإحدى دروس الدورات فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  15. إذا لم تقم بتثبيت Git من قبل عليك بتنزيله وتثبيته مثل أي برنامج من هذا الرابط https://git-scm.com/download/win أو اختيار النظام الخاص بك مثل linux أو macos سأكمل الشرح بافتراض استخدامك لويندوز، اختر الإعدادات الافتراضية أثناء التثبيت وتأكد من تفعيل خيار Git Bash (للحصول على واجهة أوامر). بعد التثبيت تحقق من نجاح العملية عن طريق فتح سطر الأوامر CMD ثم وضع الأمر git --version إذا كان Git مثبتًا بنجاح سيظهر إصدار Git مثل: git version 2.x.x قم بتعريف اسم المستخدم والبريد الإلكتروني الخاص بك لكي يعرف من الذي يقوم بإضافة التعديلات للمستودع نقوم بإضافتهم من خلال سطر الأومر كالأتي git config --global user.name "Your Name" git config --global user.email "your.email@example.com" بعد ذلك علينا بتهيئة مستودع محلي للمشروع الخاص بك قم بنسخ المشروع المضغوط إلى جهازك ثم فك الضغط عنه والدخول للمجلد الرئيسي ثم فتح سطر الأومر بداخل هذا المجلد الرئيسي للمشروع واستخدم الأمر التالي لتهيئة مستودع Git جديد داخل المشروع git init git init: يقوم بإنشاء مجلد .git داخل المشروع. هذا المجلد يحتوي على بيانات التتبع للمستودع. أضف جميع الملفات في المشروع إلى التتبع باستخدام: git add . . git add : يضيف جميع الملفات والمجلدات داخل المشروع إلى منطقة التهيئة (staging area). بعد إضافة الملفات قم بإنشاء أول رسالة (commit): git commit -m "Initial commit" git commit: يحفظ تغييرات الملفات في المستودع. m- : لتحديد رسالة. "Initial commit": الرسالة التي تعبر عن أن هذه هي الرسالة الأولى أو التغيير الأول يمكنك اختيار أي رسالة تعبر عن التغييرات بعد ذلك. بهذه الطريقة تمت عملية انشاء مستودع محلي وتستطيع إضافة التغييرات بعد ذلك عن طريق هذه الأوامر بالترتيب للمستودع المحلي git add . ثم إضافة الرسالة git commit -m "رسالة تعبر عن التغيير" انظر أيضا لهذه المقالات والإجابات بها شرح جيد لـ git وكيفية التعامل معه
  16. في بعض الأوقات يوجد ضغط كبير من الرسائل على مركز المساعدة لذلك يتأخرون بالرد بعض الشئ ولكن بالتأكيد سيتم الرد في أقرب وقت.
  17. ستجدي أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتكي و لمساعدتكي بشكل أفضل.
  18. ستجدي أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتكي و لمساعدتكي بشكل أفضل.
  19. للحصول على شهادة من أكاديمية حسوب في أي دورة، يجب عليك إتمام أربعة مسارات تعليمية على الأقل، والعمل على تطبيق مشاريع عملية مع المدرب ورفعها على GitHub. بعد ذلك، يمكنك التقدم للامتحان عن طريق التواصل مع مركز المساعدة، وتزويدهم بروابط المشاريع التي طبقتها أثناء الدورة. كما يتضمن الامتحان محادثة صوتية مع المدرب، ومشروع تخرج مرتبط بما تعلمته خلال كل دورة. الدورتان منفصلتان، ولذلك لكل دورة امتحان ومشروع تخرج خاص بها، فيما يتعلق بمشروع لارافل يمكنك التواصل مع مركز المساعدة لمزيد من التفاصيل حول إمكانية ربط هذه المشاريع للحصول على شهادتين.
  20. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدت بشكل أفضل.
  21. هذا الخطأ يشير إلى عدم وجود الملف app.py بداخل المسار الموجود في الطرفية (terminal) فيجب تواجد هذا الملف app.py بداخل المجلد C:\Users\PVP_PC ووضع الأمر python app.py والتجربة مرة أخرى. ولكن من الصورة الواضح أن الملف موجود على سطح المكتب لذلك يرجى التوجه لهذا المسار عن طريق الأمر cd C:\Users\PVP_PC\Desktop ووضع الأمر python app.py والتجربة مرة أخرى. لديك كلا الخياران إما نقل الملف إلى المجلد C:\Users\PVP_PC أو الإنتقال لمسار سطح المكتب وتنفيذ تشغيل الملف منه. أيضا ظهور الدائرة البيضاء بجوار اسم الملف تدل على عدم حفظ هذا الملف بالتغييرات الجديدة به، لذلك في لوحة المفاتيح قم بالضغط على ctrl + s ليتم حفظ التغييرات الجديدة. إذا كان هذا سؤال متعلق بإحدى دروس الدورات فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا في المرات القادمة يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدت بشكل أفضل.
  22. نفترض أن الهيكلية للملفات داخل مجلد المشروع كالأتي project-folder/ ├── index.html <-- الصفحة الرئيسية ├── page1.html <-- الصفحة الفرعية 1 ├── page2.html <-- الصفحة الفرعية 2 ├── page3.html <-- الصفحة الفرعية 3 ├── page4.html <-- الصفحة الفرعية 4 index.html: الصفحة الرئيسية للموقع والتي تحتوي على روابط لباقي الصفحات. page1.html و page2.html و page3.html و page4.html : الصفحات الفرعية التي تعرض محتويات مختلفة عند النقر على الروابط. وتكون الصفحة الفرعية page1.html مثلا كالأتي <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الصفحة 1</title> </head> <body> <h1>الصفحة 1</h1> <p>هذا هو محتوى الصفحة 1.</p> </body> </html> إذا نريد أن نربط صفحة index.html وهي الصفحة الرئيسية مع صفحة page1.html وباقي الصفحات يتم ذلك عن طريق استخدام الروابط التشعبية وذلك باستخدام العنصر <a> (اسمه اختصار للكلمة anchor ويدعى بالمِربَط) رابطًا فائقًا (hyperlink) لصفحات الويب الأخرى أو للملفات أو لأقسم الصفحة الحالية أو لعناوين البريد الإلكتروني. المثال الآتي فيه مسار الصفحة page1.html: <a href="page1.html">الصفحة 1</a> المثال الآتي فيه رابط إلى موقع خارجي: <a href="http://www.hsoub.com/"> شركة حسوب </a> في href نقوم بوضع مسار الصفحة رابط موقع ما أو يمكنك وضع مسار الصفحة التي نريدها داخل المشروع الخاص بك يمكنك معرفة المزيد حول العنصر <a> في موسوعة حسوب من هنا. ننتقل لربط الصفحة page1.html مع الصفحة الرئيسية لتكون كالأتي <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الصفحة الرئيسية</title> </head> <body> <h1>مرحبًا بك في موقعي</h1> <div> <ul> <li><a href="page1.html">الصفحة 1</a></li> <li><a href="page2.html">الصفحة 2</a></li> <li><a href="page3.html">الصفحة 3</a></li> <li><a href="page4.html">الصفحة 4</a></li> </ul> </div> <p>هذا هو محتوى الصفحة الرئيسية.</p> </body> </html> قمنا بإنشاء قائمة تحتوي على روابط تشعبية إلى الصفحات الفرعية باستخدام العنصر <a> مع تحديد مسار الصفحة باستخدام السمة href عند الضغط على أي من الروابط سيتم التوجيه إلى الصفحة المقصودة. تأكد من أن جميع الصفحات موجودة في نفس المجلد لتعمل الروابط بشكل صحيح.
  23. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  24. إذا كنت تفكر في استخدام المكونات أو الاكتفاء بـ HTML عادي، فالأمر يعتمد على العنصر نفسه وما يتطلبه المشروع. بشكل عام، المكونات لها دور كبير في تنظيم الكود، لكنها ليست الحل لكل شيء. متى أحتاج المكونات؟ عند وجود ديناميكية: إذا كنت تتعامل مع عناصر تتغير بناءً على البيانات، مثل جدول ديناميكي يتغير عدد أعمدته أو صفوفه، فاستخدام المكونات يكون مثاليًا. لإعادة الاستخدام: إذا كنت تحتاج نفس العنصر في أماكن متعددة، المكون يساعدك على كتابة الكود مرة واحدة واستخدامه بسهولة. لتسهيل الصيانة: لو احتجت تعديلات مستقبلية، تعديل المكون في مكان واحد ينعكس على كل المشروع. متى أكتفي بـ HTML عادي؟ إذا كان العنصر ثابتًا وبسيطًا مثل نصوص أو أزرار لا تحتاج أي منطق أو تغييرات، فاستخدام HTML عادي يوفر الوقت والجهد. في حالة الجدول لو كان الجدول مكتوبًا يدويًا وكل شيء فيه ثابت، فـ HTML عادي كافٍ. أما إذا كنت بحاجة لجدول يتغير أو يتكرر بشكل ديناميكي بناءً على البيانات، فإن تحويل الأعمدة أو الصفوف إلى مكونات فكرة رائعة، لأنها تجعل الكود أكثر تنظيمًا وأسهل في التعديل مستقبلاً. هل الإطار المستخدم يفرق؟ بالتأكيد: React و Angular: المكونات جزء أساسي، ومصممة للتعامل مع كل عنصر تقريبًا. Vanilla JS: في المشاريع البسيطة HTML العادي غالبًا كافٍ لأن الهدف هو إبقاء الأمور بسيطة قدر الإمكان. إذا كان العنصر بسيطًا ولا يتطلب ديناميكية، استخدم HTML عادي أما إذا كان العنصر متكررًا أو معقدًا فالمكونات هي الخيار الأنسب. لا تجعل المكونات بسيطة جدًا أو معقدة بشكل زائد بل استخدمها حيثما تخدم التنظيم والمرونة دون تعقيد.
  25. جهازك يحتوي على شاشة بتردد مرتفع (مثل 144Hz) عند العمل على البطارية يتم خفض التردد لتوفير الطاقة، ثم يُعاد رفعه عند توصيل الشاحن فالأمر طبيعي تمامًا وليس هناك عيوب في الشاشة لتوحيد التردد للشاشة عند العمل على سواء الشاحن أو البطارية يمكنك القيام بالأتي يمكنك منع التغيير التلقائي للتردد من خلال الذهاب إلى إعدادات العرض: اضغط بزر الماوس الأيمن على سطح المكتب واختر "Display Settings". انقر على "Advanced display settings" وتأكد من تثبيت التردد على 144Hz مثلا في كل من وضع البطارية والشاحن. تحقق من إعدادات الطاقة: افتح "Power Options" من لوحة التحكم (Control Panel). اختر خطة الطاقة الحالية واضغط على "Change plan settings" ثم قم بتوحيد إعدادات الأداء للشاشة في وضعي الشاحن والبطارية.
×
×
  • أضف...