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

محمد_عاطف

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

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

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

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

    117

كل منشورات العضو محمد_عاطف

  1. ستجد أسفل الدرس في نهاية الصفحة صندوق للتعليقات من فضلك قم بوضع سؤالك أسفل الدرس حيث هنا قسم الأسئلة العامة ولا نقوم بطرح الأسئلة الخاصة بالدورة هنا وذلك لمساعدتك بشكل أفضل.
  2. إن دورة علوم الحاسب توفر لك الأساسيات وتبدا معك م أبسط المفاهيم البرمجية إلى المفاهيم المتقدمة وأفضل الأساليب المتبعة في البرمجة. وتوصلك بك إلى مرحلة متقدمة من التعامل مع مختلف التقنيات مثل قواعد البيانات والخوارزميات والبرمجة كائنية التوجه OOP والعديد من الأشياء المهمة ويمكنك قراءة الإجابات التالية لوصف أكثر عن الدورة: أما بالنسبة لسؤالك بخصوص leetcode فإن بالفعل تعلم الخوارزميات المهمة مثل البحث الثنائي (Binary Search) وتقدير الوقت (Big O notation) يعد جزءا أساسيا من الاستعداد لحل مشاكل على منصات مثل LeetCode. هذه الخوارزميات لها تطبيقات واسعة في البرمجة وحل المشاكل الحسابية، وتعتبر أساسية للمطورين والمبرمجين في فهم الكفاءة والأداء الخوارزمي. باستيعابك وفهمك لهذه الخوارزميات، ستكون مؤهلا جيدًا للتحديات التي تقدمها منصات مثل LeetCode حيث يتطلب الأمر فهماً عميقا للمفاهيم الخوارزمية وقدرة على تطبيقها بشكل فعال لحل مشاكل مختلفة وتحسين أدائها و القدرة على حل المشاكل والتفكير الإبداعي.
  3. نعم بالفعل عند شراءك الدورة سيوكن لك وصول مدى الحياة للدروس وبالإضافة لذلك أى تحديثات للدورة سيكون لك الوصول إليها أيضا . وأيضا الدعم بالفعل سيكون مدي الحياة يمكنك السؤال في أى وقت بخصوص الدورة وستجد المدربين جميعا موجودن للإجابة عليك
  4. وعليكم السلام ورحمة الله وبركاته. المشكلة تكمن في كيفية تنظيم تنفيذ الدالة textTypingEffect بشكل غير متزامن. في الوقت الحالي، الدالة textTypingEffect تستخدم setTimeout لتأخير تنفيذ الدورة التالية من الطباعة بالنص، وهذا يسمح لكلا الدالتين بالعمل في نفس الوقت حيث أن setTimeout لا تحتاج إلى الإنتظار حيث يتم تنفيذها فعليا ولكن الدالة التي بداخلها هى التي تتأخر لذلك لا تنتظر الإنتهاء حتي تعمل. لحل هذه المشكلة وجعل الدالة الثانية textTypingEffect على landingParagraph تنفذ بعد الانتهاء من الدالة الأولى textTypingEffect على landingHeader يمكنك استخدام Promises بشكل صحيح للتحكم في تسلسل التنفيذ في الدالة textTypingEffect نعدلها لتعيد Promise بمجرد الانتهاء من الطباعة الكاملة : function textTypingEffect(element, text, i = 0, time) { return new Promise(resolve => { if (i == text.length) { resolve(); return; } element.textContent += text[i]; setTimeout(() => { textTypingEffect(element, text, i + 1, time).then(resolve); }, time); }); } هنا قمنا بإرجاع promise من الدالة textTypingEffect حتي يتم إنتظارها عند كتابة await textTypingEffect . وبداخلها قمنا بكتابة resolve() إذا كان طول النص مثل i حتي يتم إنهاء ال promise عندما يتم طباعة جيمع الحروف. وبدخل ال setTimeout قمنا بوضع textTypingEffect(element, text, i + 1, time).then(resolve); أي في كل مرة نمرر دالة resolve التي سوف تنهي ال promise في جزء ال then . ونعدل الدالة startTyping لتصبح كالتالي : async function startTyping() { await textTypingEffect(landingHeader, landingHeaderText, 0, 35); await textTypingEffect(landingParagraph, landingParagraphText, 0, 5); } بهذه التعديلات الآن startTyping ستنتظر حتى يتم الانتهاء من textTypingEffect على landingHeader بفضل الـ await، ثم بعد ذلك ستبدأ في تنفيذ textTypingEffect على landingParagraph. هذا يضمن أنهما لن يتنافسا على التنفيذ في نفس الوقت وسيعملان بالتتابع كما هو متوقع. وهذا هو الكود كاملا بعد التعديل : const landingHeader = document.querySelector(".landing__header"); const landingParagraph = document.querySelector(".landing__paragraph"); const landingHeaderText = "Iam Mustapha"; const landingParagraphText = "Full Stack Developer"; function textTypingEffect(element, text, i = 0, time) { return new Promise(resolve => { if (i == text.length) { resolve(); return; } element.textContent += text[i]; setTimeout(() => { textTypingEffect(element, text, i + 1, time).then(resolve); }, time); }); } async function startTyping() { await textTypingEffect(landingHeader, landingHeaderText, 0, 35); textTypingEffect(landingParagraph, landingParagraphText, 0, 5); } startTyping()
  5. وعليكم السلام ورحمة الله وبركاته . تقسيم الملفات في متجر OpenCart يتم عادة من خلال هيكلة نظامية تشمل ملفات النواة (core files)، ملفات القالب (theme files)، وملفات الإضافات (extension files). يتم تنظيم الملفات والمجلدات بطريقة تجعل من السهل الوصول إليها وتعديلها. إليك الهيكلية العامة للملفات في OpenCart: ملفات النظام (System Files): admin/: يحتوي على الملفات الخاصة بواجهة الإدارة. catalog/: يحتوي على الملفات الخاصة بواجهة المستخدم. system/: يحتوي على الملفات الأساسية لنظام OpenCart مثل ملفات التكوين (configuration files) وملفات المكتبة (library files). ملفات القالب (Theme Files): catalog/view/theme/: يحتوي على قوالب الواجهة (templates) وملفات الأنماط (CSS) وملفات JavaScript. admin/view/template/: يحتوي على قوالب واجهة الإدارة. ملفات اللغة (Language Files): catalog/language/: يحتوي على ملفات اللغة الخاصة بواجهة المستخدم. admin/language/: يحتوي على ملفات اللغة الخاصة بواجهة الإدارة. ملفات الإضافات (Extension Files): catalog/controller/extension/: يحتوي على ملفات تحكم الإضافات. catalog/model/extension/: يحتوي على ملفات النماذج الخاصة بالإضافات. catalog/view/javascript/: يحتوي على ملفات JavaScript الخاصة بالإضافات. ملفات الصور (Image Files): image/: يحتوي على جميع الصور المستخدمة في المتجر. ملفات التخزين (Storage Files): storage/: يحتوي على ملفات التخزين مثل ملفات الجلسات (session files) والملفات المؤقتة (temporary files) وملفات التعديل (modification files). ويمكنك قراءة المقال التالي والمقالات المرتبطه به لتعرف أكثر عن اوبن كارت وهذا الرابط هو المستند الرسمى لاوبن كارت لتقسيم الملفات
  6. لا أظن أن أنسب شئ هو البحث هكذا على محركات البحث حيث أن ظهور النتائج الخاصة بها ستكون معتمدة على مدي توافق تلك النتائج لمحركات البحث SEO أو ستكون إعلانات ممولة ومن الممكن أن تظهر لك شركات ليست جيده أو من الممكن عدم ظهور شئ سوي مقالات مدفوعة تتحدث عن شركات تمول تلك المقالات . أفضل شئ هو السؤال في محيطك أو في المواقع التقنية مثل linkedin أو مواقع العمل الحر مثل مستقل وغيرها أو حسب المواقع الخاصة بموقعك الجغرافى فمثلا يوجد لدينا هنا في مصر موقع مثل wuzzuf والعديد من المواقع الأخري . أو يمكنك أيضا البحث على منصات التواصل الإجتماعى مثل facebook حيث أن facebook أفضل من حيث أنك ستجد تقيمات للشركة أو الأشخاص . أما إذا كنت تريد كلمات مفتاحية لمحركات البحث فيمكنك إستخدام مثلا أفضل شركة لعمل كذا أو شركات تطوير التطبيقات وهكذا . أما بالنسبة إلى السؤال الثاني فأولا ما سأنظر إليه إذا كنت أهتم بمدي جودة العمل ولا يهمني السعر حاليا فسأبحث عن الشركات التي تلتزم بمواعيد التسليمات والتي تعطيك أيضا دعم فني بعد تسليم المشروع وايضا التي يكون لديها عملاء كثر يشكرون في أعمالها ومن ثم يمكننا التفاوض في السعر. أما إذا كنت تبحث عن أقل سعر فسيتوجب عليك التنازل عن بعض الأمور مثل التسليمات في الموعد أو حتي ان يكون المشروع ليس أفضل شئ ومن الممكن أن تواجه مشاكل بعد التسليم ولكن ما لا يجب التنازل عنه هو وجود دعم فني متاحا بعد التسليم للتأكد من عدمو وجود أى أخطاء أو مشاكل وإلا فيجب على الشركة حلها وإلا فستجد صعوبة في تعين شخص لإصلاحها ومن الممكن أن يكلفك ذلك كثيرا من المال
  7. في العادة يمكن أن يتفاوت دخل المبرمجين الذين يعملون في مجال العمل الحر بشكل كبير بناء على خبرتهم والمهارات التقنية التي يمتلكونها ومستواهم التقني والسوق الذي يعملون فيه وحجم المشاريع التي يعملون عليها، وغيرها من العوامل. وأيضا أريد أن أنبهك أن الحصول على العمل والرواتب هي من الأرزاق فلا تستعجل هذا الرزق فمن الممكن أن يكون مستواك متقدما وشخص أخر ليس بمهارتك ولكنه لديه الكثير من المشاريع التي يعمل عليها فكما أخبرتك هو في النهاية رزق لك من الله. ومع ذلك، إذا أردت أن تحصل على فكرة عامة عن متوسط الدخل، يمكنك أن تلتقط بعض الأرقام التقديرية. على سبيل المثال، في الولايات المتحدة، قد يكون متوسط دخل مبرمجي الويب الحر حوالي 60،000 إلى 100،000 دولار أمريكي سنويا، ولكن هذا يعتمد بشكل كبير على الخبرة والموقع الجغرافي والمجال الذي يعملون فيه. لذا، لتحديد متوسط الدخل بدقة أكبر، يمكنك البحث عن دراسات السوق المحلية أو الاطلاع على مواقع الوظائف المستقلة لرؤية ما يعرضه المبرمجون لنفسك الذين يعملون بنفس مجالك وموقعك الجغرافي وأيضا مواقع العمل الحر تختلف فمثلا المواقع العربية مثل مستقل وخمسات ستجد أن معظم المشاريع أسعارها قليلة وليست كالمواقع الأخري مثل upwork وهكذا . ولكن المنافسة في المواقع العربية مثل مستقل أقل من المواقع الأخري لذلك في حالتك وأنك بالكاد إنتهيت من الدورة فأنصحك أن تبدأ بالمشاريع الصغيرة وهى تبدا من 25 دولار إلى 50 وهذه الذى يجب أن تركز عليها وتعتمد شطارتك في جعل صاحب المشروع يختارك وبناء سمعة جيدة لك . ولكن في البداية من الممكن أن تنهي مشروعين إلي 4 مشاريع في الشهر بميزانية من 25 إلي 50 و كما وضحت لك هذا يعتمد على مهارة التواصل لديك وبناء سمعة جيدة لك فيجب أولا عدم الإهتمام بالسعر كثيرا والإهتمام أكثر ببناء ملف شخصى قوى وسمعة جيدة.
  8. لا بالطبع لا يمكن الإستغناء عنه حيث هذا المجلد يتم وضع الملفات الثابته فيه مثل التنسيقات وملفات جافاسكريبت . وأى ملف بداخل هذا المجلد يمكن لأى احد الوصول إليه لهذا لا يجب وضع أى ملفات مهمة في هذا المجلد .
  9. هل قمت بوضع مجلد assets بداخل مجلد public ؟ حيث تقوم دالة ال asset بوضع الرابط الخاص بمجلد public . فإذا لم تكن وضعت مجلد assets بداخل public فيجب نقله بداخله والمحاولة مرة أخري . أما إذا كنت قد وضعته بداخل public فإذا المشكلة في ملف env. حيث لم تقم بوضع رابط الموقع الصحيح في APP_URL حيث دالة asset تقوم بإخذ عنوان APP_URL ووضع مسار ال public ومسار الملف معا فإذا كان APP_URL خطأ فلن يتم تحميل الصور.
  10. نعم بالفعل next أصبح يكتشف الصورة إذا كانت بداخل المجلد app ولكن هذا ليس حلا جيدا . الحل السابق والذى قمت بكتابه أنت أولا صحيح ولكن لم ألحظ أنك تضع ال icon في مجلد غير ال public . يمكنك تجربة الحل التالي : قم بنقل الصورة إلى مجلد public وأستخدم الكود التالي : import React from 'react'; import '@/assets/styles/globals.css'; export const metadata = { title: 'Property Pulse', description: 'Find your dream rental property', keywords: 'rental, find rentals, property, find properties', icons: { icon: '/icon.png', }, }; const MainLayout = ({ children }) => { return ( <html lang='en'> <body> <div>{children}</div> </body> </html> ); } export default MainLayout; حيث أن next في ال metadata يبحث المسار من المجلد public . وإذا كنت نظرت سابقا في ال inspect ستجد أنه بالفعل وضع الصورة ولكن المسار خاطئ والملف غير موجود. ويمكنك إستخدام الكود التالي أيضا : import React from 'react'; import '@/assets/styles/globals.css'; import Favicon from '/public/icon.png'; export const metadata = { title: 'Property Pulse', description: 'Find your dream rental property', keywords: 'rental, find rentals, property, find properties', icons: [{ rel: 'icon', url: Favicon.src }], };
  11. هل يمكنك عمل inspect للصفحة وإرسال صورة لجزء ال head لنري هل يتم وضعها أم لا . وأيضا لقسم ال network لنري هل يتم وضعها ولكن لا يجد الصورة على السيرفر أم لا
  12. وعليكم السلام ورحمة الله وبركاته . لإضافة favicon في تطبيق Next.js يجب وضعها بداخل ال head مع إضافة عنصر link ويحوي خاصية rel تساوي قيمة icon في ملف ال layout.jsx لديك هكذا : import React from 'react'; import '@/assets/styles/globals.css'; export const metadata = { title: 'Property Pulse', description: 'Find your dream rental property', keywords: 'rental, find rentals, property, find properties', icons: { icon: "/assets/images/ico.png", }, }; const MainLayout = ({ children }) => { return ( <html lang='en'> <head> <link rel="icon" href={metadata.icons.icon} /> <title>{metadata.title}</title> <meta name="description" content={metadata.description} /> <meta name="keywords" content={metadata.keywords} /> </head> <body> <div>{children}</div> </body> </html> ); } export default MainLayout; الآن أعد تشغيل السيرفر مرة أخر وستظهر معك إن شاء الله
  13. ستجده في المسار التالي : C:\laragon\bin\php وبداخل هذا المسار ستجد مجلد بإسم p hp مع الإصدار هكذا قم بالذهاب للإصدار الذى يوجد لديك وستجد الملف بداخل المجلد
  14. وعليكم السلام ورحمة الله وبركاته . هذا الخطأ بسبب عدم تفعيل ال extension في ملف php.ini لديك . لذلك قم بالذهاب إلى مكان تثبيت php وقم بفتح ملف php.ini والبحث عن السطرين التاليين: ;extension=pdo_sqlite ;extension=sqlite3 وقم بحذف علامة ; حتي يتم تفعيلهم . أى يصبح السطرين كالتالي: extension=pdo_sqlite extension=sqlite3 وقم بإعادة تشغيل مشروع لارافيل مرة أخرى وسيعمل معك إن شاء الله .
  15. يمكنك إستخدام إستضافة Heroku فهي إستضافة مجانية وجيدة وتتضمن الدعم للعديد من الإضافات وقواعد البيانات المجانية ويمكنك ربطه مع حساب ال git الخاص بك ورفع المشروع تلقائيا كلما حدث أى تعديل على git. ويمكنك أيضا إستخدام Glitch حيث توفر Glitch بيئة تطوير متكاملة لتجربة تطبيقات Python بالإضافة إلى العديد من اللغات الأخرى. يمكنك من خلالها بسهولة رفع مشروعك . وهذا هو الرابط لإنشاء موقعك يمكنك إختيار الباقة المجانية ورفع مشروعك .
  16. وعليكم السلام ورحمة الله وبركاته . يمكنك دراسة كورس CS50 وهو كورس مجاني باللغة الإنجليزية تقوم جامعة هارفرد بإعطاءه وهو كورس تأهيلي وستجد تفاصيل عنه أكثر هنا : ويوجد هنا على موقع الأكاديمية دورة تمهيدية تؤهلك للدخول في مجال التقنية وتقوم بشرح العديد من الأساسيات التي لا غنى عنها في مجال التقنية ويمكنك قراءة معلومات عن الدورة من خلال الرابط التالي :
  17. أعتقد أن المشكلة لديك في العنوان الذى يتم الذهاب إليه لإحضار ملفات ال css من سيرفر vite حيث لاحظت أنك تستخدم ملف ال host في الويندوز لتغير عنوان الموقع بدلا من localhos t. لذلك أولا تأكد من المسار الخاص بملف ال css في network وإرسال صورة لي للمسار . والآن لنقم بتعديل العنوان الخاص بسيرفير vite حتي يصبح مثل السيرفر الخاص بلارافيل . في ملف vite.config.js نقوم بكتابة الإعدادات التالية : export default defineConfig({ server: { host: 'lossless.test', port: 3000 } }) والآن تاكد هل تم تغير المسار الذى يتم إستدعاء ملفات ال css منه في ال network أم لا.
  18. وعليكم السلام ورحمة الله وبركاته . جميعنا في بداية تعلم أى شئ جديد نصاب بالتشتت والإحباط خاصة لو واجهنا صعوبة في بداية الأمر و الإستسلام لهذا الشعور يعنى الفشل لذلك لا تقلقي فالأمر بسيط وستجدين بعد ذلك أن الأمر لا يستدعي كل هذا القلق والتشتت . بالنسبة لدراسة الدورة يفضل مذاكرة الدروس و الأقسام بالترتيب وعدم تجاهل أو تفويت أى درس لأن كل درس ومسار يعتمد على الدروس التي قبله وحتي لا تتراكم عليكي الأمور . إن الإستيعاب يختلف من شخص إلى شخص حيث هناك من يستطيع أن يفهم الدرس من أول مرة و هناك من يقوم بتكراره حتي يفهم الدرس وهذا ليس شيئا سيئا بل هو جيد ما دام هناك إصرار و إستمرار على الفهم . لذلك أولا يجب عليكى مشاهدة الدرس وبالخاص الأساسيات و إذا ما واجهتك أى مشكلة يمكنكي السؤال أسفل الدرس في التعليقات والتأكد من فهم كل شئ وبعد ذلك يجب عليكي التطبيق العملي مع المدرب و أيضا ستجدين في نهاية الدرس تدريبات يجب عملها حتي تتأكدي من فهمك للدرس ويمكنك وضع حلك في التعليقات حتي يعطيكي المدربون النصائح و إصلاح الأخطاء التي تواجهك . وكما وضحت لكي فإن الأهم من مشاهدة الدرس هو التطبيق لان التطبيق العملي هو من سيعطيكي الخبرة أكثر وهو ما سيوضح لكي إذا كنتي قد فهمتي الدرس تمام أم توجد بعض الأشياء الغير واضحه وأخيرا يجب عليكي عمل مجلد خاص بكل مسار وبكل مسار تقومين بعمل مجلد خاص بكل درس وحفظ الأكواد والتدريبات بهم حيث سيتطلب منكي في نهاية الدورة تسليم تلك الملفات حتي تحصلين على الشهادة .
  19. هنا في موقع الأكاديمية بخصوص إضافة دورات جديدة فالأمر يعتمد على عدة عوامل منها مدى الإحتياج لها والطلب عليها وهل محتوى الدورة مناسب لسوق العمل أم الطلب عليه ضعيف وهكذا، لذا الأمر راجع لإدارةالأكاديمية في تلك النقطة. ولكن بالنسبة للتطبيقات الموبايل فتوجد هنا دورة تطوير التطبيقات باستخدام JavaScript حيث مسارين كاملين لتطوير تطبيقات الموبايل حيث يوجد مسار تطوير تطبيق جوال باستخدام React Native و تطوير تطبيق جوال للتواصل الاجتماعي باستخدام Ionic . وسأقوم بإيصال إقتراحك لإدارة الأكاديمية لينظرو في إضافة دورة بإستخدام flutter
  20. ستجد في الرابط التالي تفاصيل عن محتوى ومدة الفيديوهات في الدورة . في وصف الدورة ستجد أن الدورة تحتوى على 72 ساعة من الدروس لذلك يمكنك حساب الوقت التي ستقوم بدراسته كل يوم لتعرف مده إنتهاء الدورة . ولكن هناك ملحوظة مهمة حيث أن تلك الساعات هي للشرح و قدرة إستعاب كل شخص مختلفه عن الأخر فهناك أشخاص يستوعبون الدرس من أول مرة وهنا من يعيده أكثر من مرة لفهمة و لذلك فإن هذا الشئ ليس دقيقا . وأيضا الأهم من مشاهدة الدروس هو التطبيق العملي بنفسك خلف المدرب و كتابة الملاحظات والبحث عن الأشياء التي يتم شرحها والسؤال إذا إختلطت عليك الأمور ولم تستطع فهم شئ معين . فمن الممكن أن الدرس مثلا 10 دقائق ولكن للتطبيق وراء المدرب وحل التمارين من الممكن أن يأخذ منك ساعتين مذاكرة وتطبيق بدلا من 10 دقائق. لذلك أنصحك بعدم الإهتمام إلى الوقت أكثر من الإهتمام بالتطبيق و فهم كل شئ والسؤال عن أى شئ غير واضح حيث أن مجال البرمجة الخبرة فيه تأتي من التطبيقات والمشاريع العملية وليس كثرة مشاهدة الدروس والشروح .
  21. يمكنك ذلك بسهولة عن طريق إتباع الخطوات التالية : 1. تثبيت بيئة السيرفر المحلي أولاً وقبل أي شيء، تحتاج إلى تثبيت بيئة سيرفر محلي على جهازك. من أشهر الخيارات لهذا الغرض: XAMPP: يوفر Apache وMySQL وPHP، وهو سهل التثبيت والاستخدام. WampServer: أيضاً يوفر Apache وMySQL وPHP، ولكن بواجهة أقل تعقيداً. MAMP: خيار جيد لأنظمة macOS، يوفر Apache وMySQL وPHP. اختر البرنامج الذي يناسب نظام التشغيل الخاص بك وقم بتثبيته. 2. نقل الملفات إلى السيرفر المحلي بمجرد تثبيت بيئة السيرفر المحلي، قم بنقل ملفات نظامك (ملفات HTML وPHP) إلى مجلد الويب الخاص بالسيرفر. عادةً ما يكون مسار المجلد كالتالي: XAMPP: ضمن مجلد htdocs داخل مجلد التثبيت (مثلاً C:\xampp\htdocs على Windows). WampServer: ضمن مجلد www داخل مجلد التثبيت (مثلاً C:\wamp\www على Windows). MAMP: ضمن مجلد htdocs داخل مجلد التثبيت (مثلاً /Applications/MAMP/htdocs على macOS). قم بنقل جميع ملفات نظامك إلى هذا المجلد. 3. استيراد قاعدة البيانات MySQL استخدم أداة إدارة MySQL مثل phpMyAdmin (التي تأتي مع XAMPP و WampServer) أو أي واجهة أخرى مشابهة. أنشئ قاعدة بيانات جديدة وقم بتسميتها وفقاً لنظامك. 4. اختبار النظام افتح متصفح الويب واكتب localhost في شريط العناوين. سترى قائمة بالمشاريع الموجودة في مجلد الويب الخاص بالسيرفر. اختر مجلد النظام الخاص بك ليتم فتحه في المتصفح. 5. توزيع النظام للموظفين لتوزيع النظام للموظفين، يجب أن يكونوا متصلين بالشبكة نفسها التي يعمل بها السيرفر المحلي. أعط الموظفين عنوان IP الخاص بالسيرفر المحلي الخاص بك، مثل192.168.1.100 , ويمكنك معرفة هذا العنوان من إعدادات الشبكة على جهازك عن طريق تنفيذ الأمر التالي في منفذ الأوامر (cmd) ipconfig والبحث عن IPv4 address. استخدموا هذا العنوان للوصول إلى النظام عبر المتصفح، على سبيل المثال http://192.168.1.100/project. حيث يمكنك إستبدال كلمة project بإسم المجلد الذى قمت بوضع المشروع فيه في الخطوة رقم 2. بهذه الطريقة، يمكنك نشر ملفات النظام المكونة من ملفات HTML، PHP، وقاعدة بيانات MySQL على سيرفر محلي وجعلها متاحة للموظفين المتصلين بنفس الشبكة للاستخدام الداخلي .
  22. إن العمل ك full stack يضمن لك دخلا أكبر وخبره وهو مطلوب أكثر سواء من front end او ال back end منفصلين . حيث أن ال full stack تكون لديه الخبره في الواجهات الخلفية والأمامية وهو مطلوب أكثر في العمل الحر حيث أنت من ستعمل على المشروع كاملا بنفسك ولكن يمكنك تعين مطور واجهات أمامية معك دون أى مشاكل . أم بالنسبة للشركات فإن الشركات الكبيرة والتي تتميز بتنظيم العمل تقوم بتعين مطور واجهات خلفية ومطور واجهات امامية وذلك لتقسيم العمل ليضمن سرعة التنفيذ وأيضا عدم وجود اى مشاكل حيث أن سواء مطور الواجهات الأمامية أو الخلفية يكون متمكنا من مجاله أكثر من مطور full stack وهذا لأنه يركز علي شئ واحد فقط . ولذلك هذا يعتمد عليك وعلى ما تريد تنفيذه ولكن نصيحتي لك هي كن متمكنا في الواجهات الخلفية أما بالنسبة للواجهات الأمامية فيكفى أن تكون ملما جيدا بالأساسيات وأن يكون مستواك متوسطا بحيث إذا جاءك مشروع يمكنك البحث عن تصاميم جاهزة والتعديل فقط عليها دون الحاجة لبناءها من الصفر . ويمكنك قراءة الإجابات التاليه لتفاصيل أكثر :
  23. هذا يعتمد على مدي حجم المشروع والمكتبات التي يتم إستخدامها . حيث إذا كان حجم المشروع كبيرا فستجد أنه بمجرد تحديث حزمة ستحدث مشاكل كثيرة لديك بسبب تداخل إصدارات الحزم وإعتمادها علي بعضها البعض ولذلك يفضل في تلك الحالة تحميل إصدار nodejs يتوافق مع جميع تلك الحزم . أو محاولة تحديث جميع الحزم لديك ولكنك يتوجب عليك التغير كثيرا في الكود . لذلك إذا كان المشروع صغيرا في الحجم فيفضل تحديث مكتبة webpack و حل أى مشكلة تظهر لك بسبب الإعدادت القديمة وإستبدالها بالجديدة و لكن إذا كان المشروع كبيرا فيفضل تحميل نسخة nodejs قديمة تتوافق معه
  24. نعم هذه مشكلة تحدث بسبب إصدار nodejs يمكنك التغير إلى إصدار 16 وسيتم حل المشكلة أو تحديث إصدار webpack لديك. أو يمكنك فقط تنفيذ الأمر التالي في cmd قبل تشغيل السيرفر: set NODE_OPTIONS=--openssl-legacy-provider وهذا الأمر سيحل تلك المشكلة إن شاء الله
  25. سؤالك ليس واضحا . هل تقصد تطبيقات الهاتف التي تستخدم في السيارات أم تقصد تطبيقات للسيارات ذاتية القيادة أم ماذا ؟ أما بالنسبة لتطبيقات الهاتف . فنعم يمكن لمطور الويب أن ينشئ تطبيقات ولكنه سيتوجب عليه إستخدام تقنيات أخري مثل react native و electron.js و Kotlin و Java . أما بالنسبة إلى التطبيقات الخاص بالسيارات ذاتية القيادة أو التفاعل مع السيارات عموما فمن الصعب على مطور الويب أن ينشئ تلك التطبيقات دون دراسة مثل embeded systems و لغات مثل C و C++ واللغات التي تستطيع التعامل والتحكم فى النظم المدمجة .
×
×
  • أضف...