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

عمر قره محمد

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

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

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

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

    40

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

  1. انا بحاجة لكامل ملفات المشروع حتى استطيع مساعدتك، أو ان كان بإمكانك شرح المنطق الذي تريده بالتفصيل فيمكنني تقديم مثال يقوم بتنفيذ المنطق الذي تريده.
  2. للقيام بذلك ستحتاج إلى اكتساب معرفة في عدة مجالات. إليك قائمة بالمواضيع التي يجب أن تتعلمها: تطوير الويب يجب أن تتعلم لغات البرمجة المستخدمة في تطوير الويب مثل HTML، CSS، و JavaScript. كما يمكن أن تحتاج إلى إتقان إطار عمل (Framework) مثل React. قواعد البيانات يجب أن تتعلم كيفية تصميم وإدارة قواعد البيانات. يمكن أن تكون قواعد البيانات العلائقية مثل MySQL أو قواعد البيانات غير العلائقية مثل MongoDB. برمجة الخادم يجب أن تكون قادرًا على كتابة رمز الخادم باستخدام لغات مثل Node.js، Python، أو PHP. أمان الموقع يجب أن تتعلم كيفية حماية موقعك من الهجمات الإلكترونية وضمان أمان البيانات. تجربة المستخدم وتجربة الواجهة يجب أن تتعلم مبادئ تصميم تجربة المستخدم (UX) وتجربة الواجهة (UI) لضمان تجربة مستخدم ممتازة. استضافة الويب يجب أن تتعلم كيفية اختيار خدمة استضافة الويب المناسبة ونقل موقعك إليها. هذه المواضيع هي التي تحتاجها للقيام ببناء الموقع الذي ذكرته والدورات التي قد تحتاج لتعلمها يجب عليك اختيارها بالاعتماد على هذه المعايير، ولكي تكون متقن لكل هذه المجالات عليك تعلم (علوم الحاسوب (تشرح المعلومات الاساسية) + دورة جافاسكريبت أو PHP أو python + المسار الاول من دروة تطوير واجهات المستخدم). حيث ان طلبك يحتاج لإتقان ثلاث مجالات اساسية (devOps + backend + frontend) ولا يوجد دورة تشرح هذه المجالات بالكامل لوحدها في أكاديمية حسوب كما ان سوق العمل لن يطلب منك اتقان المجالات الثلاثة فغالباً سيكون العمل على احد المجالات فقط.
  3. عليك التحقق من مزود خدمة رسائل واتساب الخاص بك والاستفسار منه لمعرفة كيفية القيام بذلك بدقة ولكن في الغالب نقوم بإنشاء سطر جديد من خلال اضافة : "\n" في المكان الذي نريد اضافة سطر فيه.
  4. التلاعب بالـ DOM (Document Object Model) هو عملية تغيير محتوى وهيكل صفحة الويب باستخدام JavaScript. وتتضمن إضافة وإزالة أو تعديل عناصر HTML وسماتها. AJAX (Asynchronous JavaScript and XML) هي تقنية تستخدم لإرسال واستقبال البيانات من خادم بدون إعادة تحميل صفحة الويب بأكملها. يمكن استخدام AJAX لتحديث محتوى صفحة الويب بشكل ديناميكي دون الحاجة إلى إعادة تحميل الصفحة بأكملها، وغالبًا ما يتم استخدام AJAX ومعالجة DOM معًا لإنشاء تطبيقات ويب ديناميكية. لاستخدامهما ، تحتاج إلى فهم أساسي لـ JavaScript وصياغته. يمكنك استخدام طرق JavaScript مثل `getElementById()` و `createElement()` و `appendChild()` و `removeChild()` و `setAttribute()` لمعالجة DOM. يمكن تنفيذ AJAX باستخدام كائن `XMLHttpRequest` أو طريقة `$.ajax()` في jQuery. فيما يلي بعض أمثلة لاستخدام معالجة DOM و AJAX في JavaScript: 1. التعلاق بالـ DOM: // إعداد عنصر HTML بإدارة قيم للأنقطة var element = document.getElementById("myElement"); // إضاف نص مجموع للعنصر element.innerHTML = "النص الجديد"; // إزال عنصر من الصف element.remove(); // تعديل سمات العنصر element.setAttribute("data-text", "النص المحدد"); 2. AJAX: // استخدام jQuery $.ajax({ url: "ajax/example.php", type: "POST", data: { param1: "value1", param2: "value2" }, success: function(response) { // إعداد العنصر الجديد مع الاستجابة $("body").append(response); }
  5. نعم الوسم br يقوم بإنشاء سطر جديد وهذه هي وظيفته كما تفضلت، ربما يكون الاستاذ قد نسي الاشارة إلى هذا الوسم. لو بإمكانك التعليق اسفل الدرس حتى يستطيع الطلاب الذين يشاهدون الدرس من الاستفادة من سؤالك. وفي المرات القادمة يمكنك السؤال اسفل الدرس عن اي شيء يخص الدرس وسنقوم بمساعدتك قدر الامكان. اطلع على كيف اتواصل مع المدربين.
  6. أكاديمية حسوب هي منصة تعليمية وإذا كنت تبحث عن من يقوم ببناء موقع لأكاديمية فيمكنك العثور على من يقوم ببنائه من اجل من هنا. اما بالنسبة لسؤالك عن ايهما افضل الـ CMS مثل ووردبريس أو تطوير المشروع فهذا موضوع معقد كثيراً حيث انه يختلف من مشروع لآخر وبشكل عام فإن بناء مشروع من الصفر سيعطيك صلاحيات ومميزات فريدة واكثر تنوع من وورد بريس بينما استخدام ووردبريس سيكون اسرع و يحتوي على مميزات افتراضية محددة وهو ارخص. لكن القرار النهائي هو للمبرمج الذي سيتطلع على تفاصيل المشروع بالكامل فقد تكون هنالك تفاصيل لا يمكن بنائها بوردبريس او قد يستخدم كل من ووردبريس و بيئات العمل من الصفر من اجل اجزاء مختلفة من الموقع. في الخلاصة فإن بيئة العمل التي ستستخدمها تعتمد على ميزانيتك والميزات التي تريدها في الموقع و استخدام CMS هو الارخص بينما بناء الموقع من الصفر يعطي مجال اكبر للأفكار الجديدة.
  7. هل يمكنك التعليق اسفل الدرس الذي تقصده
  8. هنالك تشديد على استخدام الـ Gmail مع node mailer ولم يعد بإمكانك القيام بذلك إلا بصعوبة شديدة تحتاج للحصول على token بطريقة معينة وهي قابلة للاستخدام لفترة محدودة فقط. لحل المشكلة انت بحاجة لسيرفر smtp وستحل المشكلة بالكامل، وهنالك خوادم smtp مجانية من اجل فترة التجريب مثل mailgun وغيرها.
  9. الموقع رائع بصورة عامة وينقصه بعض الملاحظات فقط : اضف favicon للموقع وهي الايقونة التي تظهر في علامة التبويب عبر كتابة الكود التالي في الـ header : <link rel="icon" type="image/x-icon" href="/images/favicon.ico"> تصغير حجم الازرار في الـ header والاختمام اكثر بتنسيقها (لأنها ستبقى ظاهرة في كل الصفحات). زيادة سرعة التحريك في الـ Services عند الوقوف عليها وتعديل التحريك في الـ Project ليكون مناسب وتعدل حجم الخط حتى يكون العنوان اكثر وضوحاً. اضف الروابط لأزرار التواصل ( ولا داعي للفيس بوك و الانستغرام ويمكنك الاستعاضة عنهم ب twitter و linkedin ). هنالك مشكلة في التوافق مع الشاشات الصغيرة في الـ header و الشاشة الرئيسية. استخدم صورة ذات جودة افضل.
  10. لبناء موقع 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. ويمكنك تعديل الخطوات وفقًا لاحتياجات المشروع الخاص بك.
  11. يمكنك تجريب كتابة الكود التالي : body { direction: rtl; } input { direction: rtl; text-align: right; padding: 10px; border-radius: 5px; min-width: 280px; font-family: Arial, sans-serif; /* يمكنك استبدال Arial بالخط الذي ترغب في استخدامه */ } في هذا المثال، تم إعداد شكل خط مرتب واتجاهه من اليمين لليسار. اذا لم يعمل الكود السابق فربما يكون من الافضل مشاركة الكود الخاص بك حتى استطيع مساعدتك بشكل افضل
  12. نعم هذا صحيح لأن مستقل لا يسمح بتقديم اكثر من 12 عرض بنفس الوقت وحتى يذهب العرض يجب ان يمر عليه 15 يوم أو ان يحذف المشروع الذي قدمتي عليه العرض او يتم قبوله. هنالك حل ثاني لهذه المشكلة وهو ان تقومي بشراء عروض اضافية من مستقل.
  13. دورة علوم الحاسوب ليست دورة اختصاصية ولا تأهلك للعمل بعدها مباشرةً بل هي تضعك على بداية الطريقة وذلك لكونها تشرح المفاهيم الاساسية للبرمجة دون الاختصاص في مجال معين. راجع النقاش التالي : وإذا كنت تريد اختيار دورة مناسبة لك فهنالك امامك خيارين: 1- اختيار دورة اختصاصية مثل تطوير واجهات المستخدم أو تطوير التطبيقات باستخدام جافاسكريبت أو php ..إلخ (إذا كان لديك خلفية ولو بسيطة في مجال علوم الحاسوب). 2- دراسة دورة علوم الحاسوب ومن ثم الانتقال لتعلم دورة اختصاصية.
  14. نعم مع الاسف هذا صحيح ولكن هل يمكنك ذكر الاشياء التي لم تجد صعوبة فيها حتى استطيع مساعدتك بشكل افضل.
  15. ماهي المشكلة التي تواجهها تحديداً ؟ الصورة تظهر مجموعة جداول والعلاقات بينها
  16. أسهل مجالات البرمجة والأعلى دخلاً تختلف باختلاف السوق والمكان. ومن المجالات التي تحقق دخلاً مجزياً وتعتبر سهلة نسبياً تخصصات مثل : تطوير تطبيقات الجوال وتخصص Front-end Developing. تخصص محلل البيانات أيضاً يحقق رواتب مجزية. تخصص محلل أمن تكنولوجيا المعلومات تخصص برمجة DevOps. يجب ملاحظة أن الدخل المرتبط بكل تخصص يمكن أن يختلف من بلد لآخر وفقًا للعوامل المحلية والعالمية.
  17. مرحباً محمد، قم رجاءً بالتعليق اسفل الدرس الذي تقوم بمشاهدته حتى نستطيع مساعدتك بشكل افضل
  18. هل يمكنك التوضيح حول ماهي طبيعة المشاريع التي تبحث عنها حتى استطيع مساعدتك بشكل افضل ؟
  19. هل تقصد الحصول على الصورة من عنوان البريد الالكتروني للمستخدم ؟ يمكنك القيام بذلك من جهة العميل، عبر تسجيل تطبيق google و اضافة المنطق الخاص بتسجيل الدخول عبر جوجل وبعد ذلك سيقوم google بإعادة الصورة بالاضافة للاسم والايميل
  20. هل يمكنك شرح مشكلتك بالتفصيل حتى استطيع مساعدتك ؟
  21. يمكنك القيام بذلك بهذه الطريقة : 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'); });
  22. هذا ممكن بالفعل ويمكنك القيام بذلك عبر اتباع هذه الخطوات: 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. عند تحميل الملف وتسجيل البيانات، يرسل الخادم رسالة نجاح إلى العميل.
  23. هذا هو الوضع الافتراضي للـ 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>
  24. اعتقد انك تقصد إرسال البيانات واستلامها من واجهات المستخدم frontend إلى الواجهة الخلفية backend الممثلة بـ Api، وإن كان هذا قصدك فنعم هنالك شروحات على موقع الأكاديمية حول هذا الموضوع مثل سلسلة المقالات التالية: ويمكنك الوصول لباقي المقالات في السلسلة من هنا. وهذه المزيد من المقالات حول نفس الفكرة : وفي حال كنت تستخدم رياكت :
×
×
  • أضف...