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

عمر قره محمد

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

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

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

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

    40

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

  1. نعم الوسم br يقوم بإنشاء سطر جديد وهذه هي وظيفته كما تفضلت، ربما يكون الاستاذ قد نسي الاشارة إلى هذا الوسم. لو بإمكانك التعليق اسفل الدرس حتى يستطيع الطلاب الذين يشاهدون الدرس من الاستفادة من سؤالك. وفي المرات القادمة يمكنك السؤال اسفل الدرس عن اي شيء يخص الدرس وسنقوم بمساعدتك قدر الامكان. اطلع على كيف اتواصل مع المدربين.
  2. أكاديمية حسوب هي منصة تعليمية وإذا كنت تبحث عن من يقوم ببناء موقع لأكاديمية فيمكنك العثور على من يقوم ببنائه من اجل من هنا. اما بالنسبة لسؤالك عن ايهما افضل الـ CMS مثل ووردبريس أو تطوير المشروع فهذا موضوع معقد كثيراً حيث انه يختلف من مشروع لآخر وبشكل عام فإن بناء مشروع من الصفر سيعطيك صلاحيات ومميزات فريدة واكثر تنوع من وورد بريس بينما استخدام ووردبريس سيكون اسرع و يحتوي على مميزات افتراضية محددة وهو ارخص. لكن القرار النهائي هو للمبرمج الذي سيتطلع على تفاصيل المشروع بالكامل فقد تكون هنالك تفاصيل لا يمكن بنائها بوردبريس او قد يستخدم كل من ووردبريس و بيئات العمل من الصفر من اجل اجزاء مختلفة من الموقع. في الخلاصة فإن بيئة العمل التي ستستخدمها تعتمد على ميزانيتك والميزات التي تريدها في الموقع و استخدام CMS هو الارخص بينما بناء الموقع من الصفر يعطي مجال اكبر للأفكار الجديدة.
  3. هل يمكنك التعليق اسفل الدرس الذي تقصده
  4. هنالك تشديد على استخدام الـ Gmail مع node mailer ولم يعد بإمكانك القيام بذلك إلا بصعوبة شديدة تحتاج للحصول على token بطريقة معينة وهي قابلة للاستخدام لفترة محدودة فقط. لحل المشكلة انت بحاجة لسيرفر smtp وستحل المشكلة بالكامل، وهنالك خوادم smtp مجانية من اجل فترة التجريب مثل mailgun وغيرها.
  5. الموقع رائع بصورة عامة وينقصه بعض الملاحظات فقط : اضف favicon للموقع وهي الايقونة التي تظهر في علامة التبويب عبر كتابة الكود التالي في الـ header : <link rel="icon" type="image/x-icon" href="/images/favicon.ico"> تصغير حجم الازرار في الـ header والاختمام اكثر بتنسيقها (لأنها ستبقى ظاهرة في كل الصفحات). زيادة سرعة التحريك في الـ Services عند الوقوف عليها وتعديل التحريك في الـ Project ليكون مناسب وتعدل حجم الخط حتى يكون العنوان اكثر وضوحاً. اضف الروابط لأزرار التواصل ( ولا داعي للفيس بوك و الانستغرام ويمكنك الاستعاضة عنهم ب twitter و linkedin ). هنالك مشكلة في التوافق مع الشاشات الصغيرة في الـ header و الشاشة الرئيسية. استخدم صورة ذات جودة افضل.
  6. لبناء موقع Full-Stack باستخدام HTML-CSS-Bootstrap-angular و C# ,ASP.net core، يمكن اتباع الخطوات التالية: التخطيط وتحليل المتطلبات: قم بتحديد متطلبات المشروع والوظائف التي يجب أن يقوم بها كل جزء من النظام الأمامي والخلفي. تصميم قاعدة البيانات: قم بتصميم وإنشاء قاعدة بيانات تلبي متطلبات التطبيق. تطوير الجزء الخلفي باستخدام C# ,ASP.net core: قم بإنشاء مشروع ASP.net core وتطوير الواجهة البرمجية للتفاعل مع قاعدة البيانات. تطوير الجزء الأمامي باستخدام HTML-CSS-Bootstrap-angular: استخدم HTML و CSS لبناء هيكل الصفحات وتصميمها. قم بتطبيق Bootstrap لتحقيق التصميم المستجيب وإضافة مكونات جاهزة. استخدم Angular لتطبيق السيطرة على الواجهة وتفاعل المستخدم مع الواجهة البرمجية. ربط الجزء الأمامي بالجزء الخلفي: قم بربط الواجهة البرمجية مع الواجهة الأمامية باستخدام الاستدعاءات الخاصة بـ REST API أو GraphQL. اختبار وتصحيح الأخطاء: قم بإجراء اختبار شامل للتأكد من عمل الموقع بشكل صحيح وتصحيح الأخطاء المتواجدة. نشر الموقع: قم بنشر الموقع على خادم عام أو خاص. هذه الخطوات تعتمد على استخدام تقنيات Full-Stack شائعة مثل HTML-CSS-Bootstrap-angular و C# ,ASP.net core. ويمكنك تعديل الخطوات وفقًا لاحتياجات المشروع الخاص بك.
  7. يمكنك تجريب كتابة الكود التالي : body { direction: rtl; } input { direction: rtl; text-align: right; padding: 10px; border-radius: 5px; min-width: 280px; font-family: Arial, sans-serif; /* يمكنك استبدال Arial بالخط الذي ترغب في استخدامه */ } في هذا المثال، تم إعداد شكل خط مرتب واتجاهه من اليمين لليسار. اذا لم يعمل الكود السابق فربما يكون من الافضل مشاركة الكود الخاص بك حتى استطيع مساعدتك بشكل افضل
  8. نعم هذا صحيح لأن مستقل لا يسمح بتقديم اكثر من 12 عرض بنفس الوقت وحتى يذهب العرض يجب ان يمر عليه 15 يوم أو ان يحذف المشروع الذي قدمتي عليه العرض او يتم قبوله. هنالك حل ثاني لهذه المشكلة وهو ان تقومي بشراء عروض اضافية من مستقل.
  9. دورة علوم الحاسوب ليست دورة اختصاصية ولا تأهلك للعمل بعدها مباشرةً بل هي تضعك على بداية الطريقة وذلك لكونها تشرح المفاهيم الاساسية للبرمجة دون الاختصاص في مجال معين. راجع النقاش التالي : وإذا كنت تريد اختيار دورة مناسبة لك فهنالك امامك خيارين: 1- اختيار دورة اختصاصية مثل تطوير واجهات المستخدم أو تطوير التطبيقات باستخدام جافاسكريبت أو php ..إلخ (إذا كان لديك خلفية ولو بسيطة في مجال علوم الحاسوب). 2- دراسة دورة علوم الحاسوب ومن ثم الانتقال لتعلم دورة اختصاصية.
  10. نعم مع الاسف هذا صحيح ولكن هل يمكنك ذكر الاشياء التي لم تجد صعوبة فيها حتى استطيع مساعدتك بشكل افضل.
  11. ماهي المشكلة التي تواجهها تحديداً ؟ الصورة تظهر مجموعة جداول والعلاقات بينها
  12. أسهل مجالات البرمجة والأعلى دخلاً تختلف باختلاف السوق والمكان. ومن المجالات التي تحقق دخلاً مجزياً وتعتبر سهلة نسبياً تخصصات مثل : تطوير تطبيقات الجوال وتخصص Front-end Developing. تخصص محلل البيانات أيضاً يحقق رواتب مجزية. تخصص محلل أمن تكنولوجيا المعلومات تخصص برمجة DevOps. يجب ملاحظة أن الدخل المرتبط بكل تخصص يمكن أن يختلف من بلد لآخر وفقًا للعوامل المحلية والعالمية.
  13. مرحباً محمد، قم رجاءً بالتعليق اسفل الدرس الذي تقوم بمشاهدته حتى نستطيع مساعدتك بشكل افضل
  14. هل يمكنك التوضيح حول ماهي طبيعة المشاريع التي تبحث عنها حتى استطيع مساعدتك بشكل افضل ؟
  15. هل تقصد الحصول على الصورة من عنوان البريد الالكتروني للمستخدم ؟ يمكنك القيام بذلك من جهة العميل، عبر تسجيل تطبيق google و اضافة المنطق الخاص بتسجيل الدخول عبر جوجل وبعد ذلك سيقوم google بإعادة الصورة بالاضافة للاسم والايميل
  16. هل يمكنك شرح مشكلتك بالتفصيل حتى استطيع مساعدتك ؟
  17. يمكنك القيام بذلك بهذه الطريقة : const express = require('express'); const app = express(); const upload = require('./multer'); const fs = require('fs'); app.post('/upload', upload.single('file'), (req, res) => { const { name, email } = req.body; console.log(`Received file: ${req.file.originalname}`); console.log(`Name: ${name}`); console.log(`Email: ${email}`); // Perform any necessary processing on the uploaded file here // Delete the file from disk fs.unlink(req.file.path, (err) => { if (err) { console.error(err); return res.status(500).send('Error deleting file'); } console.log(`File ${req.file.originalname} deleted successfully`); res.send('File uploaded and deleted successfully!'); }); }); app.listen(3000, () => { console.log('Server started on port 3000'); });
  18. هذا ممكن بالفعل ويمكنك القيام بذلك عبر اتباع هذه الخطوات: 1. قم بتثبيت Multer عن طريق تشغيل في دليل المشروع الخاص بك: npm install multer 2. استدعِ Multer وأعد إعداد التخزين للملفات المرفوعة في ملف منفصل، مثل multer.js. على سبيل المثال: const multer = require('multer'); const storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, 'uploads/'); }, filename: (req, file, cb) => { cb(null, file.originalname); } }); const upload = multer({ storage: storage }); module.exports = upload; 3. في ملف الخادم الرئيسي الخاص بك، استدعِ Multer وأعد إعدادًا لمسار تحميل الملفات. على سبيل المثال: const express = require('express'); const app = express(); const upload = require('./multer'); app.post('/upload', upload.single('file'), (req, res) => { const { name, email } = req.body; console.log(`Received file: ${req.file.originalname}`); console.log(`Name: ${name}`); console.log(`Email: ${email}`); res.send('File uploaded successfully!'); }); app.listen(3000, () => { console.log('Server started on port 3000'); }); 4. في هذا المثال، يتم إعداد المسار `/upload` للتعامل مع طلبات POST مع تحميل ملف واحد باستخدام طريقة `upload.single()` . يمكن الوصول إلى بيانات الاسم والبريد الإلكتروني من كائن `req.body`. يمكن الوصول إلى الملف المرفوع من كائن `req.file` ، الذي يحتوي على معلومات مثل اسم الملف الأصلي ونوع الملف والمسار. 5. عند تحميل الملف وتسجيل البيانات، يرسل الخادم رسالة نجاح إلى العميل.
  19. هذا هو الوضع الافتراضي للـ cmd، ماهي النتيجة التي كنت تتوقعها ؟ يمكنك التنقل بين المسارات باستخدام الامر cd مثل : cd C:\Users\Omar\Desktop\examples وسيتغير المسار للمسار الصحيح. ويمكنك التنقل مجلد مجلد مثل : C:\Users\Omar> cd Desktop // النتيجة : C:\Users\Omar\Desktop> وللخروج من المجلد : C:\Users\Omar\Desktop> cd .. // النتيجة : C:\Users\Omar>
  20. اعتقد انك تقصد إرسال البيانات واستلامها من واجهات المستخدم frontend إلى الواجهة الخلفية backend الممثلة بـ Api، وإن كان هذا قصدك فنعم هنالك شروحات على موقع الأكاديمية حول هذا الموضوع مثل سلسلة المقالات التالية: ويمكنك الوصول لباقي المقالات في السلسلة من هنا. وهذه المزيد من المقالات حول نفس الفكرة : وفي حال كنت تستخدم رياكت :
  21. إن أقل مواصفات تسمح لك بالعمل في مجال البرمجة في نظري هي (4 غيغا رام + هارد ثابت SSD + معالج من فئة ال core i3) من اجل سرعة في التصفح وتشغيل البرامج والتنقل بينها. وكلما زادت المواصفات فإن ذلك يعني سهولة اكثر بالعمل وقابلة اكبر لاستخدام تقنيات و اضافات اكثر في نفس الوقت، ويمكنك حسم الموضوع بالشكل التالي : إذا كانت ميزانيتك مفتوحة فاحضري افضل مواصفات ممكنة من ناحية سرعة المعالج والرامات و الهارد في حال ميزانيتك محدودة فانظري ما هو افضل معالج يمكنك الحصول عليه ولو كان الهارد (الافضل ان يكون SSD ولو كان صغير الحجم) و الرامات متواضعة حيث يمكنك تزويد كل من الهارد و الرامات لاحقاً. ويمكنك تحديد ماهي المواصفات التي تحتاجينها بدقة من خلال معرفة اكثر برنامج مستهلك للموارد ستستخدمينه وهو يختلف حسب مجال البرمجة الذي تريدين الدخول فيه (فمثلاً في مجال تطوير الويب هو المتصفح و محرر الاكواد). بعد قول هذا فإن اي مواصفات يمكن ان تتعلمي البرمجة من خلالها البرمجة ولا يوجد مواصفات تمنعك من ذلك، وبشكل عام هنالك حلول لكل المشاكل التي قد تواجهيها.
  22. الـ mysql هو عبارة عن خادم يقوم بتخزين البيانات و اعادتها اي انه (نوع أو طريقة لتخزين البيانات واستيرادها والتعامل معها)، ويوجد مواقع تقوم تقوم بتوفير خوادم mysql مثل قواعد البيانات المقدمة من جوجل. ليس لدي فكرة عن اي mysql مجانية، ويمكنك البحث عبر الانترنت لمحاولة العثور عليها ولكن حسب تجربتي فأغلب المواقع المجانية ليست عملية. لا بالتأكيد فهنالك الكثير من انواع قواعد البيانات وهي بالغالب على نوعين : sql : nosql : وكل من قواعد البيانات السابقة له استخداماته وميزاته الخاصة واكثرهم شهرة هو MongoDB.
  23. لا يبدو ان المشكلة من المنطق ولكن يبدو انها من الـ likes أو من الربط مع الـ api. هل يمكنك تجريب اضافة الكود التالي واخباري بالنتيجة التي تحصل عليها عند اضافة لايك وعند حذفه ؟! const handleLikedColor = (id) => { const isLiked = likes.filter((item) => item.user === userId); console.log({ "isLiked.length > 0": isLiked.length > 0, likes, userId, isLiked }); if (isLiked.length > 0) { setLikedColor(true); } else { setLikedColor(false) } }; إن كان بإمكانك مشاركة كامل مجلد المشروح حتى استطيع التجريب ومساعدتك بشكل افضل.
  24. يبدو من الكود الذي شاركته ان المنطق صحيح، ولكن هل يمكنك طباعة الـ isLiked في الوظيفة handleLikedColor فقد تكون المشكلة من هنا (likes لا يتم تحديثها). هل يمكنك مشاركة كامل الكود حتى استطيع مساعدتك بشكل افضل؟!
  25. هذا يعتمد على الدولة التي انت فيها وعلى كون الجهات التي تريد الدفع لها تتيح لك الدفع الالكتروني وكذلك الامر يعتمد على طرق الدفع التي تقبلها هذه الجهات، أي ان السؤال هو هل شركات الانترنت والكهرباء التي تتحدث عنها تقبل الدفع الالكتروني ؟ يجب ان تتواصل معهم حتى تعرف ذلك أو ان تقوم بالذهاب إلى المواقع الرسمية لهذه الشركات والتأكد من ذلك بنفسك.
×
×
  • أضف...