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

عمر قره محمد

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

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

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

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

    40

كل منشورات العضو عمر قره محمد

  1. قم بوضع كل من النص وليكن من النوع p و الصورة img داخل عنصر ما وليكن div. فيمكنك عمل المطلوب كالتالي : <body> <div> <img src="https://scontent-lhr8-1.xx.fbcdn.net/v/t31.18172-8/12194861_10153080948236813_6757042151481603403_o.jpg?_nc_cat=110&ccb=1-7&_nc_sid=9267fe&_nc_ohc=wBCQasVOygEAX81FHgh&_nc_ht=scontent-lhr8-1.xx&oh=00_AfCUZGNbXH2G8R8_DIAmMR-2EHIqv4BGg4XUMh7s0wgcDw&oe=63E210B8" alt="دلفين" /> <p>ساعد الدلافين فهي حيوانات جميلة</p> </div> <style> p { opacity: 0; transition: 0.2s; } div:hover p { opacity: 1; } </style> </body>
  2. هل يمكنك ذكر المزيد من التفاصيل عن المشكلة وكذلك مشاركة ملفات المشروع بعد التعديل.
  3. المشكلة في ملف الـ slider.js وتحديداً في السطر التالي : $links.removClass('active'); حيث انك كتبتي removClass بدون حرف الـ e في remove وهذا خاطئ والصحيح هو removeClass. $links.removeClass('active'); ولو فتحتي الـ inspect في المتصفح بعد النقر على احد النقاط الخاصة بالتنقل لوجدتي أن هنالك رسالة تقول لك بأن links.removClass غير معرفة. انصحك بتحميل اضافة للتصحيح الاملائي في vs code مثل spell checker.
  4. لا تخف فسيظل عليك التعامل مع css حتى بعد تعلم اطر العمل، وتعلم هذه الاطر هو افضل بالتأكيد وهو الخطوة التالية لتعلم الـ css.
  5. ماهي الخريطة التي تستخدمينها ؟
  6. يمكن تلخيص اهم المهارات في هذه الصورة : وقد يفيدك الاطلاع على المقالة التالية :
  7. لكل منهما ميزاته وعيوبه، ويمكنك بناء اي موقع باستخدام اي واحد بينهما. وهنالك العديد من النقاشات حول هذا الموضوع وانصحك ان تطلع عليها بالترتيب : ويمكنك الاطلاع على هذه : وبالنسبة للسوق العربية : المقارنة الاشمل :
  8. كلاهما يؤدي نفس الوظيفة ولكن ما يمزي الـ Button عن الـ Input هو ان الـ Button يقبل ان تضع داخله العناصر التي تريدها مثل : <button> زر تسليم مع صورة <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Charaxes_brutus_natalensis.jpg/280px-Charaxes_brutus_natalensis.jpg" alt="صورة لزر التسليم"> </button> والنتيجة :
  9. لنفهم اولاً العبارة 2%i والتي تعني التالي : قم بتقسيم المتغير i على 2 وإذا كان هنالك باقي قم بإعادة الباقي. وهذه العبارة ستعيد 0 إذا لم يكن هنالك باقي. جرب الاكواد التالية : console.log(7%2); // 1 console.log(6%2); // 0 والآن إلى العبارة ( 0===2%i) والتي تعني التالي : إذا كان 2%i يساوي 0 قم بإعادة true ونفذ الشرط وإلا قم بإعادة false ولا تنفذ الشرط. جرب الكود التالي : console.log(7%2 === 0); // false console.log(6%2 === 0); // true
  10. جرب الـ query التالية : await Activities.find({'users.userId': id}) حيث اعتبرت ان الـ collection الخاصة بك اسمها Activities. وأن الـ id الخاص بالـ user اسمه id.
  11. يبدو ان المشكلة ليست من الكود الخاص بك ولكن من السيرفر الخاص بـ react وذلك لأن رسالة الخطأ تظهر كود مختلف عن الكود الخاص بك، وكذلك يبدو من الصورة انه هنالك سيرفرين يعملان لدي : جرب إعادة تشغيل السيرفر وحاول مرة ثانية. في حال استمرت المشكلة قم بمشاركة ملفات المشروع حتى استطيع الاطلاع عليها.
  12. يبدو انك لم تقم بمشاركة ملفات الـ firebase
  13. قد تكون المشكلة في اعدادات firebase. هل تأكدت من الـ console إن كانت الملفات الخاصة بك قد تم تحميلها بالفعل. هل يمكنك مشاركة ملفات المشروع حتى استطيع فحصها.
  14. هل يمكنك مشاركة الطريقة التي استخدمتها ؟ ويفضل مشاركة ملفات المشروع بالكامل.
  15. يبدو انه يوجد بيانات موجودة على ال repository الخاصة بك في GitHub ولكنها ليست موجودة على الجهاز الخاص بك، وبالتالي يجب عليك ان تقوم بسحب البيانات (pull) من الـ repository إلى حاسوبك أولاً ومن ثم إجراء التعديلات التي تريدها عليها ومن ثم إعادة إرسالها (push ).
  16. هنالك الكثير من الطرق للتعلم وكل شخص يستخدم الطريقة الافضل بالنسبة له للتعلم، ولكن سأشارك معك بعض التقنيات التي قد تساعدك في دراسة الدورة بالشكل الصحيح. التطبيق خلف المدرب باستمرار، والافضل بينها هو مشاهدة الدرس بالكامل ومن ثم محاولة التطبيق وفي حال وجدت اي مشكلة تعود للدرس وتتأكد من الكود. تلخيص الافكار التي تشاهدها في الدرس، وهذا سيساعدك في اتمام الخطوة 1 بشكل افضل ويساعد كذلك في تركيز المعلومات. الاحتفاظ بالاكواد التي تكتبها خلال التطبيق خلف المدرب و تنسيقها بشكل جيد واضافة ملاحظات لكل خطوة، وذلك حتى تستطيع العودة إليها بسهولة والاستفادة منها. مشاهدة الفيديوهات المعقدة اكثر من مرة، وذلك لأن بعض الدروس قد تحتوي مفاهيم جديدة بالكامل وهذا النوع من الدروس يحتاج تركيز اكبر. السؤال عن المواضيع الغامضة او التي تجد صعوبة في فهمها. مراجعة الملخصات التي تقوم بإنشائها بعد الانتهاء من كل مسار. وقد يفيدك الاطلاع على النقاش الآتي :
  17. اعتقد ان المشكلة بسبب الـ : e.preventDefault() الموجودة في الوظيفة handleToggle. جرب حذفها وحاول مرة ثانية.
  18. هل يمكنك مشاركة ملفات المشروع بعد ان اضفتي الـ padding ؟
  19. المشكلة ان النص يظهر خلف الـ header ولذلك فإنك لا ترينه. جربي اضافة padding-top وسيظهر العنصر ، لاحظي الصورة :
  20. هل يمكنك مشاركة ملفات المشروع.
  21. اي كلمة ؟ هل يمكنك ايضاح المشكلة بشكل افضل ومشاركة ملفات المشروع .
  22. اعتقد ان المشكلة في الكود التالي : @font-face { font-family:"poppins EL" ; src: local("poppins EL") url("../fonts/Poppins-ExtraLight.ttf") format("ttf"); } $font-family-base: "poppins EL", والصحيح هو @font-face { font-family: "poppins EL"; src: local("poppins EL") url("../../fonts/Poppins-ExtraLight.ttf") format("ttf"); } $font-family-base: "poppins EL"; حيث انه لديك خطأ في المسار.
  23. اعتقد انه يجب عليك ان تقوم بتنزيل الحزمة الخاصة بـ python حتى تعمل الخاصية، ويمكنك تنزيلها كالتالي :
  24. المشكلة انك لم تنزل الحزم الخاصة بالمشروع وكذلك لم تقم بإعداد ملف public وكذلك تقوم بإرسال الطلبات إلى الـ port 3000 بينما السيرفر يعمل على الـ port 8000. وكذلك فإنك استخدمت sqllite3 ولم تستخدم sqllite وهذا ما جعل الموضوع اصعب بكثير، والحل هو تعديل ملف السيرفر للشكل التالي : const bodyParser = require("body-parser"); const express = require("express") var cors = require('cors') const sqlite3 = require('sqlite3') const { open } = require('sqlite') const startServer = async () => { // open the database const db = await open({ filename: './FileStudents.db', driver: sqlite3.Database }) try { await db.exec(`CREATE TABLE student ( StudentID int, FirstName varchar(255), LastName varchar(255), Age int, Class int, Date DATE )`) } catch (error) { console.log(error); } const app = express(); app.use(cors()) // الكود المضاف app.use(express.static("./public")) // نهاية الكود المضاف app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json()) app.post("/name", async (req, res) => { try { const { StudentID, FirstName, LastName, Age, Class, date } = req.body; await db.exec( `INSERT INTO student (StudentID,FirstName,LastName,Age,Class,Date) VALUES ('${StudentID}','${FirstName}','${LastName}','${Age}','${Class}','${date}')` ) return res.status(200).json({ message: "Successfully Registered" }) } catch (error) { console.log(error); return res.status(400).json({ message: "some think happened" }) } }) app.get("/name", async (req, res) => { try { const data = await db.all(`SELECT * FROM student`) return res.status(200).json({ message: "Successfully Registered", data }) } catch (error) { console.log(error); return res.status(400).json({ message: "some think happened" }) } }) app.listen(8000, () => { console.log("server listening "); }) } startServer() // app.get("/", (req, res) => { // return res.status(200).json({ message: "express server working Successfully" }) // }) وتعديل ترتيب الملفات وملف الـ page.html إلى index.html . ليصبح مجلد المشروع الخاص بك بالشكل التالي : school.rar وحتى تشغل المشروع عليك ان تقوم بفك الضغط ومن ثم فتح المجلد الناتج باستخدام vs code وبعدها تقوم بكتابة الامر التالي في موجه الاوامر : npm install وهذا الامر يقوم بتنزيل الحزم التي وضعتها لك في الملف والتي يعتمد عليها السيرفر حتى يعمل. ولكن تأكد من انك في المسار الصحيح عند كتابة الأمر، ونتيجة هذا الامر سيظهر لديك ملف node module والذي يحتوي على الحزم المطلوبة. وبعدها تقوم بتشغيل السيرفر باستخدام الامر : npm start وتستطيع فتح ملف الـ html بالذهاب للرابط : http://localhost:8000/ واضافة المستند الذي تريده. ويمكنك التحقق من ان المستند قم تم إضافته بالذهاب إلى الرابط : http://localhost:8000/name والذي سيعيد لك كل العناصر المضافة إلى قاعدة البيانات.
  25. لا يجب استخدام المعرف نفسه لأكثر من عنصر ولكن على كل حال، يمكننا تنفيذ ما تريده بالشكل التالي : <body> <div id="one">1</div> <div id="one">1</div> <div id="tow">2</div> <div id="tow">2</div> <div id="three">3</div> <div id="three">3</div> <div id="three">3</div> <div id="three">3</div> <script> const allTheElements = Array.from(document.all); const allIds = []; allTheElements.forEach((element) => { if (element.id) { const ids = element.id.split(" "); ids.forEach((id) => { if (allIds.includes(id)) element.remove(); else allIds.push(id); }); } }); </script> </body> حيث Array.from(document.all) تحول قائمة العناصر إلى مصفوفة js. و document.all هي كل عناصر الصفحة. ونفذنا وظيفة تقوم بحفظ الـ id إذا لم يكن موجوداً سابقاً في متغير اسميناه allIds و في حال كان موجوداً من قبل نقوم بحذف العنصر. ولكن العناصر قد تحتوي أكثر من id ولذلك قمنا بتقسيم المعرفات id باستخدام المسافات " " الموجودة بينها لنحصل على مصفوفة من الـ id ونفذنا الوظيفة السابقة على كل معرف منهم من اجل كل عنصر.
×
×
  • أضف...