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

Adnane Kadri

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

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

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

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

    52

كل منشورات العضو Adnane Kadri

  1. ليس خطأ، هذا أفضل بالطبع. سيعطي نفس النتيجة بشكل أنظف.
  2. مرحبا ابراهيم، يوجد فرق بين استيراد وحدات ES لاستعمالها و استعمال وتصريح دوال الجافاسكربت العادية، فالذي تقوم به هاهنا: import Swal from 'sweetalert2'; هو اسيتراد وحدة Swal كاستيراد افتراضي من الوحدة النمطية sweetalert2 فقط. اذ لا يعني هذا بالضرورة تصريحها بشكل عالمي global حتى يتسنى استعمالها من أي ملف عرض. فـ vite هنا لا يعتبرها اكثر من وحدة نمطية معينة ما لم يتم استعمالها، ولن يعني له ذلك شيئا ان كنت تستعملها في ملف blade مثلا. فهي ستبقى رغم ذلك غير معرفة ككائن أو كدالة ضمن النطاق العالمي global scope، ولكنها تبقى مستوردة كوحدة يمكن استعمالها من داخل ملف app.js حصرا .. ولذلك فإننا لو أردنا استعمالها في سياق خارج سياق app.js أو اي ملف يستورد Swal كوحدة نمطية سيظهر لنا مثل ما ظهر معك، ولذلك فإنه يقترح تصريحها بشكل explicit مع الكائن window لكي يمكن استعمالها. ولو تلاحظ فإن هنالك طريقة أخرى لإستعمالها كأي مكتبة جافاسكربت عادية أخرى. وتأتي ملفا مجمعا مصدريا يمكن استيراده كملف جافاسكربت واستعمال ما فيه، وهو ملف يتم تقديمه عن طلب السكربت: <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> هذا الملف هو ما يحوي هذا التصريح. مثال عملي: <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script> document.addEventListener('DOMContentLoaded' , () => { Swal.fire( 'Good job!', 'You clicked the button!', 'success' ) }) </script> هذه هي الطريقة التي اعتدنا على العمل بها مع مكتبات الجافاسكربت سابقا سنين 2017 و 2018 وقبلهما قبل شيوع استعمال الوحدات. أما ما تحاول استيراده فهو مكتوب بسياق ES كوحدات ES لا يصلح لهذا الاستعمال المباشر. وذات الأمر الأمر ينطبق على أي وحدات أخرى. ان كنت تنوي التعامل مع دوال معينة بشكل ستاتيكي، قم بتجميعها في ملف public_js.js ضعه في مجلد public وقم بوصف مثل هاته الدوال به لكي يمكن استعمالها ضمن النطاق العالمي.
  3. بشكل أساسي، gulpjs يعتبر في الأصل مشغل مهام task runner في حين أن vite يعتبر بيئة تطوير متكاملة web-based IDE استعمال gulp سيختصر علينا الكثير من الجهد الذي نبذله في العمليات المكررة من مثل :الدمج وتقليل ملفات الجافاسكربت (minifying)، ترجمة سياقات sass أو Less، ضغط الصور والملفات ونحوهما من المهام التي تتكرر في الويب بشكل دائم .. gulp يحتوي على وحدات خاصة تهتم بالتعامل مع كل من هاته المهام بشكل مؤتمت بشكل مباشر دون الحاجة الى كتابة الشيفرة المسؤولة كل مرة. هذا بجانب أنه يوفر لك إمكانية إنشاء مهام مخصصة لإستعمالها في اجزاء التطبيق وكل هذا من أجل توفير وقت التطوير وكتابة الشيفرة .. وميزة هذا الاستعمال هو أنه يجعل كل أكوادك تتبع نمطا واحدا بشكل standard يخدم مفاهيم الشيفرة النظيفة. أما vite فهو لا يهتم بذلك أبدا، فهو لا يتوفر على وحدات تمكنك من تنفيذ مهام معينة مثلا او اسيتراد شيفرات مكافئة لها. وما يقوم به هو التعامل مع وحدات ESM وتقديمها عند الحاجة إليها من طرف المتصفح، فهو خادم تطوير development server ومجمع وحدات module bundler. بشكل مختصر: gulp هو تجميعة من الأدوات toolkit التي تتوفر على مهام متكررة وشائع استعمالها في الويب، نستعمله لاختصار الوقت والجهد ولتوحيد نمط الشيفرات code standarization. vite يعتبر بيئة وخادم تطوير بالإضافة إلى إمكانيته في العمل مثل ويب باك كجمع وحدات module bundler، نستعمله لتسريع عملية التطوير وتحسين تجربتها.
  4. نعم، يوصى بتضمين مكتبة jQuery من خلال CDN (شبكة توزيع المحتوى) عبر HTTPS. اذ أن استخدام CDN يوفر عدة فوائد، بما في ذلك: سرعة التحميل: يتم توفير مكتبة jQuery من خوادم قريبة جغرافيًا للمستخدم، مما يؤدي إلى تسريع عملية التحميل وتحسين أداء الموقع. التخزين المؤقت: فإذا قام مستخدم بزيارة موقع آخر يستخدم نفس الإصدار من مكتبة jQuery من نفس الـ CDN، فإن المتصفح سيكون قد قام بتخزين النسخة المستخدمة مسبقًا في الذاكرة المؤقتة، الأمر الذي سينعكس إيجابا على آداء موقعك وسرعة تحميله. الأمان: توفر خدمة CDN الاتصال عبر HTTPS، وهذا يعني أن المكتبة jQuery ستتم تحميلها عبر اتصال آمن، مما يحسن أمان المستخدمين الذين يزورون موقعك. يتم توزيع جيكويري مثلا من خلال عدة شبكات CDN أشهرها تلك الخاصة بهم: <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> و تلك الخاصة بموقع cdnjs: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
  5. جرب الخطوات التالية: قم بتسجيل الدخول إلى حساب Godaddy الخاص بك. انتقل إلى لوحة التحكم (Dashboard). ابحث عن قسم يحمل اسم "cPanel" أو "Hosting Control Panel". انقر على الزر أو الرابط الموجود للوصول إلى واجهة cPanel. ستتم إعادة توجيهك إلى واجهة cPanel الرئيسية. ابحث عن قسم "Security" أو "Preferences" في واجهة cPanel وانقر عليه. ابحث عن خيار "Change Password" أو "Reset Password" أو ما شابه. ادخل كلمة المرور الحالية الخاصة بالمستخدم وكلمة المرور الجديدة التي ترغب في تعيينها. أعد إدخال كلمة المرور الجديدة للتأكيد. انقر على الزر "Change Password" أو "Reset Password" لتأكيد تغيير كلمة المرور. ستظهر رسالة تأكيد توضح أن كلمة المرور تم تغييرها بنجاح. تأكد من تأمين كلمة المرور الجديدة بشكل جيد وتذكرها بطريقة آمنة.
  6. لا يجب عليك أن تحس بالإحباط، فالغموض شيء طبيعي عند التعرض لأي شيء جديد في أي مجال عملي أو حياتي .. بما في ذلك مفاهيم البرمجة أو الويب.. فبخصوص Ajax مثلا هو ليس إلا طريقة للتخاطب مع الخادم فقط وقد يستعصى فهم ما هو الخادم او لما يتخاطبان او كيف يكون ذلك أول الأمر ولكنه سيصبح شيئا عاديا لاحقا.. أي أنه لا يوجد به ما يفترض أن يسبب لك مثل هذا الاحباط. وبالمجمل، مفاهيم أجاكس قد تسبب بعض الاستشكال لدى غالب المتدربين والجدد على المجال وهو ليس بشيء غير طبيعي. فيما يلي بعض الخطوات التي قد تساعدك في التخلص من هكذا مشاعر سلبية: خذ قسطا من الراحة قم بتنظيم عملية الدراسة بدل التركيز في كم المادة العلمية التي تأخذها ركز على استيعابك وفهمك كل نقطة تمر عليها قم بطرح الاسئلة وتعلم الاستشكال وخض في نقاش اي نقطة لم تستوعبها بالكامل قم باستعمال الورقة والقلم في نمذجة افكار تظنها صعبة الصبر والمثابرة والاستمرارية ولو بالشيء القليل
  7. نعم ولما لا، أجد أنك تمتلك خبرة لا بأس في تجميعة لا بأس بها من كل من المهارات الصلبة Hard skills والمهارات الخفيفة Soft skills. هذا بجانب أنك على إلمام بواحدة من أشهر معماريات التصميم وهي MVVM. فيما يلي بعض الملاحظات التي قد تخص الملف المرفق: يوجد فراغات في الفقرة الثانية تأكد من ازالتها. الروابط تظهر صغيرة. قم باختصار الفقرة التعريفية أكثر. وهاته كتوجيهات بخصوص التصميم والتنظيم فقط، قد لا نتفق في بعضها وقد نتفق. أما نصيحتي لك بعد النظر في مهاراتك، فهي البدء والخروج من دوامة الدورات والكورسات بعيدا عن ما يعرف بجحيم الكورسات tutorial hell. فما ستتعلمه خلال الطريق سيكون أكثر نفعا لك وأكثر ترسخا في ذهنك، أيضا لا يجب عليك الاعتماد على سيرتك الذاتية بشكل أولي في العمل على منصات العمل الحر. فأغلب العملاء لن يكون مهتما بتفحص سيرتك الذاتية لمجرد التعرف عليك. اعتمد على شروحات مقتضبة عنك وعن معرض أعمال يحمل أعمالك بشكل مصور بدل ان تكون شروحات مكتوبة. أما الباقي فستتعمله وتلتقطه في الطريق من تجربة ذاتية وشخصية، ولن تجده في غير العمل.
  8. لنقسم السؤال الى جزئين أساسين: كيف أصبح مطور فلاتر. كيف أصبح فريلانسر. بخصوص الجزئية الأولى ينصح بـ: تعلم لغة Dart والتطبيق فيها. تعلم Flutter وتعمق فيها. انضم الى مختلف المجتمعات البررمجية الخاصة بهما. قم ببناء مشاريع مختلفة واختبر نفسك بها. احرص على تحديث معلوماتك وتطويرها. أما بخصوص الجزئية الثانية فيمكنك: بناء بورتفوليو ومعرض اعمال يليق بمستواك. قم بالتسجيل في مواقع العمل الحر واعرض خدماتك وقدم عروضك على المشاريع المعروضة. قم ببناء شبكة علاقات. قم بتسويق خدماتك واعرضها في مختلف المنصات التي يحتمل ان يتواجد بها عملاءك او جمهورك. حافظ على سمعتك واحرص على تطويرها. أما بخصوص تحديد تسعيرة لعملك، فكنصيحة قم بالبدء بمتوسط متواضع قليلا إلى حد تقوية شبكة علاقاتك وعدد عملاءك. طبعا فإن هذا المتوسط تتحكم فيه العديد من العوامل من بينها مثلا: السوق الذي تنشط فيه. قيمة الخدمات التي تقدمها. شيء آخر ينبغي الإلتفات اليه هو تطوير المهارات الجانبية soft skills من مثل التفاوض والتواصل وغيرهما. وفي الأخير، لا يزال عليك التحلي بالصبر والمثابرة لكي تبلغ ما بلغه من تفحصت متوسط سعر الساعة لديهم.
  9. سؤالك غير واضح جيدا، ما الذي تحاول الإشارة اليه؟
  10. هي لا تسمى متغيرات ثابتة على نحو دقيق، فهي ثوابت وفقط. ولا يمكن تغيير قيمتها بطبيعة الحال لأنها كذلك. فهي ثابتة لا يفترض أن تتغير وإلا فلماذا قمنا أصلا بتصريحها واستعمالها. وما يظهر في الصورة لا يفترض به أن يخبرك أنه ثابت أو متغير، وإنما يقوم بإخبارك عن نوع بيانات المتغير أو الثابت المسند له. فمرة يخبرنا أنه string أو سلسلة نصية، ومرة يخبرنا أنه integer أو عدد وما نحو ذلك. في جافاسكربرت لا يمكن التحقق بشكل مباشر مما ان كان شيء ما متغيرا أو ثابتا، ولكن يمكنك القيام بدالة مخصصة تقوم لك بذلك. مثال: var value = 42; // variable const PI = 3.14; // constant console.log(typeOfSomething(value)); // خرج: variable console.log(typeOfSomething(PI)); // خرج: constant function typeOfSomething(value) { try { value = 10; // جرب اسناد قيمة return "variable"; } catch (error) { // في حالة تعطل الاسناد فهو حتما ثابت return "constant"; } }
  11. تحدث هاته المشكلة عند غياب الملف الفهرس .. اذ يبدوا أنك تخطئ في رفع ملفات الموقع، فالموقع لا يحتوي على ملف جذر أو ملف فهرس. يجب أن يكون اسم الملف فهرس متطابقًا مع اسم الملف الافتراضي لفهرس المجلد (مثل index.html أو index.php). كما أن رفع الملفات بهذه الطريقة قد يؤدي الى قرصنتها أو -كأقل تقدير- التحصل على الاكواد المصدرية والاستيلاء عليها. تأكد من التزام الطريقة الصحيحة في التنصيب، وقم بإخراج ملفات المشروع من مجلد public_html إلى خارجه واترك فقط الملفات التي يفترض أن تكون قابلة للوصول من قبل أي مستعرض. على سبيل المثال: الملف الجذر index.php. من الصعب تحديد التقنية المستخدمة في الموقع، ولكن بحسب بنية الملفات يرجح أنه إطار symfony أو اطار عمل مخصص. وعموما، ستحتاج توجيها لرفع الموقع بشكل صحيح. قد تحتاج الاستعانة بمطور للقيام بذلك لك بصورة صحيح. قد تكون مهتما بتوظيف واحد من خلال مستقل.
  12. بجانب ما اقترحه المدربون، يمكنك بيع التطبيقات نفسها. سواءا حق الملكية والنشر والتوزيع أو رخص شخصية بإستعمال محدود أو رخص تجارية بإستعمالات أكثر تميزا .. هذا بجانب أنه يمكنك تقديم خدمات تطوير تطبيقات الهاتف النقال أو العمل بشكل حر في ذلك. وفيما يلي طرق أخررى أيضا: بيع الخدمات المصاحبة: بجانب تطوير التطبيقات، يمكنك تقديم خدمات مصاحبة مثل التدريب والاستشارات ودعم التطبيقات. يمكن أن تشمل هذه الخدمات تدريب فرق التطوير، وتحليلات الأداء، وتحسين تجربة المستخدم، والتطوير المخصص والتكامل مع أنظمة أخرى. الابتكار التقني: يمكنك تطوير تقنيات أو أدوات مبتكرة ومتقدمة تستخدم في تطوير التطبيقات النقالة. يمكن بيع هذه التقنيات للمطورين الآخرين أو للشركات التي تحتاج إلى الاعتماد عليها لتطوير تطبيقاتها. التبرعات والتمويل الجماعي: إذا كان لديك فكرة تطبيق ذو طابع اجتماعي أو تعليمي أو غير ربحي، يمكنك جمع التبرعات أو استخدام منصات التمويل الجماعي لتمويل تطوير التطبيق وتشغيله.
  13. من الصعب تشخيص مثل هاته المشكلة، فأنت ستحتاج اضافة بيانات أخرى بجانب المرفق حتى يمكن العمل عليها. ولكن عموما، قد يكون ذلك متعلقا ببيانات الجلسه، امحها عن طريق: php artisan session:clear أو ببيانات مخزنة مؤقتا، امحها هي الأخرى: php artisan cache:clear في حالة استمرار المشكلة حاول العمل على تشخيصها بطرق أكثر نجاعة، استعمل dd مثلا.
  14. لا زلت تحتاج إضافة this للإشارة إلى أن الوظيفة المستعملة هي تابع عن أي Vue Instance، فبدل استعمال هذا السياق: $filters.shorten(content) جرب استعمال: this.$filters.shorten(content)
  15. يمكنك الاستعانة بالوظيفة header لتوجيه المستخدم إلى صفحة معينة بعد تسجيله للدخول، قد تحتاج حقن معرف المستخدم في الجلسة حتى يمكن التعرف عليه بين الصفحات المختلفة: // بدء الجلسة session_start(); // تسجيل معرف المستخدم في الجلسة $_SESSION['logged_in_user_id'] = $doctorId; // توجيه المستخدم الى صفحة الدكتور header("Location: doctor.php"); ثم في صفحة doctor.php نقوم بفحص المعرف المحقون في الجلسة لكي يمكن أن نستعمله في الاستعلام عن بيانات هذا الدكتور. وأخيرا جلب المرضى المعنيين بهذا الدكتور وطباعتهم تباعا. هذا هو ملخص العملية. يمكنك استكمال ذلك بمساعدة ما أرفقه مصطفى بهذا الخصوص:
  16. وعليكم السلام، بالنسبة لمسار البرمجة، يمكنك البدء بتعلم الأساسيات ومفاهيم البرمجة مثل الحلقات، الشروط، الدوال، والهياكل البيانية وما الى ذلك من الأساسيات. بعد ذلك، يمكنك التركيز على تعلم الخوارزميات والهياكل البيانية المتقدمة مثل الأشجار، القوائم المرتبة، والمصفوفات. أما بالنسبة للرياضيات، فإن دراستها بشكل عام يساعد في تنمية التفكير المنطقي ويعزز القدرة على حل المشكلات وتزداد الحاجة لها في مجالات دون الأخرى من مثل برمجة الألعاب. أما بخصوص إنشاء نسخة للجوال من موقع الويب الخاص بك، فلا يلزم أن يكون لديك واجهة خلفية خاص للجوال. يمكنك استخدام نفس الواجهة الخلفية التي استخدمتها لتطوير لموقع الويب الخاص بك. يمكنك إنشاء واجهة برمجة تطبيقات (API) للتواصل بين التطبيق الجوال والخادم. وهكذا هي كامل تطبيقات الجوال التي تعمل مع الخوادم.
  17. انتبه الى أنك لا تقوم بإعادة هيكلة JSX على نحو صحيح في ملف المكون Text.js لا يتم التعرف أصلا على return التي هي داخل div. قم بإعادة صياغة ذلك ليصبح: function Text(props){ return ( <div> <p>{props.text}</p> <p>{props.children}</p> </div> ) }
  18. وعليكم السلام، لا تقلق فهذا شيء طبيعي وأمر عرضي معروف في المجال ككل ولا يُعنى ببايثون على نحو الخصوص، وخصوصا في جزئيات الأساسيات. ولذلك فقد وجب الصبر والمحافظة على التزامك في مشاهدة وتطبيق الدروس وستلحظ فارقا مع الوقت. فيما يلي بعض الخطوات لتجنب مشاكل الملل وعدم القدرة على الاستيعاب بسببه: لا تنسى أن تأخذ استراحات منتظمة وتعطي نفسك بعض الوقت للاسترخاء واستعادة الطاقة. قد تكون بعض الفترات المنتظمة من الاستراحة تساعدك على الابتعاد عن الملل والتعب وتعزز قدرتك على الاستيعاب. قم بتنظيم الوقت وتجنب المراجعة بشكل عشوائي، وقم بالتعلم بشكل منتظم ومنظم واحرص على الاستمرارية وتذكر دوما "أن قليلا دائم خير من كثير منقطع". قم بتهيئة مكتبك أو حاسبك أو محيط دراستك بما في ذلك وضعية جلوسك وكرسيك ونحوهما لأجل انتاجية أكثرر اكتب الكود بنفسك وحاول فهمه وتجربته على أمثلة مختلفة. لا تتردد في طرح الأسئلة والاستفسارات في المجتمعات المختصة.
  19. جرب استعمال احداث اللمس في الجوال للقيام بالأمر، أحداث مثل touchstart و touchmove و touchend. ثم باستعمال واجهة canvas في جافاسكربت قم بالاستماع الى هاته الأحداث لرسم خط في واجهة اللوحة canvas بحسب وضعية اللمس او منحاها، ثم أخيرا قم بتوليد رابط او رسم عن طريق تحويل مدخلات canvas الى مدخل URL أو صورة. مثال عملي: <!DOCTYPE html> <html> <head> <title>توقيع لأجهزة المحمول</title> <style> #canvas { border: 1px solid #000; touch-action: none; /* تعطيل التمرير باللمس */ } </style> </head> <body> <h1>توقيع لأجهزة المحمول</h1> <!-- الكانفاس الذي سنقوم بالتوقيع عليه --> <canvas id="canvas" width="400" height="200"></canvas> <!-- نموذج الإرسال لحفظ التوقيع --> <form method="post" action="save_signature.php"> <input type="hidden" id="signature" name="signature" value=""> <button type="submit">حفظ التوقيع</button> </form> <script> // التأكد من توفر الدعم للكانفاس في المتصفح if (typeof window !== 'undefined' && window.document) { var canvas = document.getElementById('canvas'); var signatureInput = document.getElementById('signature'); var ctx = canvas.getContext('2d'); var drawing = false; // تعطيل التمرير باللمس على الكانفاس canvas.addEventListener('touchstart', function(event) { drawing = true; var touch = event.changedTouches[0]; var x = touch.clientX - canvas.offsetLeft; var y = touch.clientY - canvas.offsetTop; ctx.beginPath(); ctx.moveTo(x, y); }); // رسم الخط أثناء حركة اللمس canvas.addEventListener('touchmove', function(event) { if (drawing) { var touch = event.changedTouches[0]; var x = touch.clientX - canvas.offsetLeft; var y = touch.clientY - canvas.offsetTop; ctx.lineTo(x, y); ctx.stroke(); } }); // إنهاء الرسم عند رفع اللمس وحفظ التوقيع canvas.addEventListener('touchend', function(event) { drawing = false; var dataURL = canvas.toDataURL(); signatureInput.value = dataURL; }); } </script> </body> </html> طبعا فإن هذا هو النموذج البسيط من الفكرة، يمكنك التوسع فيها أكثر. يمكنك أيضا استعمال مكتبات جاهزة للقيام بالعملية بتفاصيل وميزات أكثر، من مثل: signature pad jSignature
  20. وعليكم السلام، إذا كنت ترغب في أن تكون مصمم ألعاب 2D، فهناك عدة تطبيقات ومواقع متخصصة يمكنك استخدامها. إليك بعضها: Unity: Unity هي واحدة من أشهر محركات ألعاب متعددة الاستخدامات وتستخدم على نطاق واسع في تطوير الألعاب 2D و 3D. يحتوي Unity على العديد من الأدوات والموارد لمساعدتك في تصميم وتطوير ألعابك. GameMaker Studio: هو برنامج تصميم ألعاب 2D يستخدم بشكل شائع ويعتبر مناسبًا للمبتدئين والمطورين المحترفين على حد سواء. يوفر GameMaker Studio واجهة سهلة الاستخدام وأدوات قوية لإنشاء الألعاب. Construct: يعتبر Construct أحد الأدوات القوية لتصميم الألعاب 2D دون الحاجة إلى معرفة برمجية. يقدم Construct واجهة بديهية وميزات تسمح لك بإنشاء ألعابك بسرعة وسهولة. Godot: Godot هو محرك ألعاب مفتوح المصدر وقوي يدعم تطوير الألعاب 2D و 3D. يوفر Godot أدوات وميزات شاملة لتصميم الألعاب وبرمجتها. أما بالنسبة لـ Blender، فهو برنامج موديلينج ورسوم متحركة ثلاثي الأبعاد، وعلى الرغم من أنه يدعم إنشاء ألعاب ثنائية الأبعاد، إلا أنه ليس تخصصه الأساسي في تصميم ألعاب 2D. ومع ذلك، يمكن استخدام Blender لإنشاء رسومات وأنيميشن للألعاب 2D.
  21. يفترض أن تصعد المقارنة بينهما الى المقارنة بين بيئة التطوير المدمجة IDE وبين محرر النصوص Text editor لاختيار أحدهما. وبالمختصر المفيد، نستعمل Text Editor لأنه: يقدم واجهة بسيطة وخفيفة الوزن. يتميز بالسرعة والاستجابة السريعة. يوفر ميزات تحرير النصوص الأساسية وإمكانية التخصيص. يدعم الإضافات والامتدادات لتوسيع قدراته. نستعمل IDE لأنه: يوفر بيئة تطوير متكاملة تدعم تطوير الويب بشكل شامل. يتضمن محرر نصوص متقدم مع ميزات تحرير وتصحيح الأخطاء. يتميز بمزايا مثل التصحيح التلقائي والتكامل مع أدوات إدارة قواعد البيانات وغيرها. يوفر أدوات متقدمة للتصحيح والتصفح وإدارة المشروعات. بشكل عام، قم باستعمال البيئة أو المحرر التي تحس بأريحيتك فيها وتساعدك على الإنتاجية، عن نفسي وكمطور لارافيل أجد vs code كافيا جدا.
  22. هي وسوم دلالية في HTML يعبر كل منها على ما يعنيه الاسم نفسه، فـ sidebar يشير الى العنصر الذي يفترض ان يكون قائمة جانبية، في حين ان navbar يفترض أن يكون شريط تصفح فهو اختصار navigation bar. تسمى الهيكلة بواسطة الوسوم التي هي مثلهما في HTML بالهيكلة الدلالية semantic HTML. استعمالات sidebar: يُستخدم الـ sidebar غالبًا لعرض قوائم التنقل الجانبية والاختصارات إلى الصفحات أو المحتوى الفرعي. قد يحتوي الـ sidebar على أيقونات لتمكين أو تعطيل ميزات معينة أو إظهار معلومات إضافية. قد يظهر الـ sidebar في جميع الصفحات أو يتم إظهاره فقط في صفحات محددة. استعمالات Navbar: يُستخدم الـ navbar عادةً لعرض شعار الموقع وقائمة التنقل الرئيسية للموقع. يوفر الـ navbar أيضًا وسيلة للتنقل بين صفحات الموقع والانتقال إلى أقسام محددة. عند التمرير على الصفحة، قد يظل الـ navbar مرئيًا في الجزء العلوي للمساعدة في التنقل السريع. وهذا بشكل عام، ان كان سؤالك يختص بمكون ما في دورة ما يرجى اضافة تعليق أسفل فيديو الدرس الذي تواجه به المشكلة.
  23. العمل على وردبرس يقتضي أصلا العمل على أكواد وشيفرات PHP ومنطقها، ولذلك فإنك التأسيس جيدا في المسارات الخاصة بهاته الأخيرة سيؤهلك إلى العمل في وربردس واستيعاب ما يقدم كمادة علمية في المسارات الخاصة به. ومثلما أشار المدرب محمد، قد لا يكون تعلم لارافيل ضروريا لمثل هاته الخطوة ولكنه سيعلمك الكثير من الجزئيات التي ستعينك في أن تصبح مطور وردبرس أفضل، من مثل: فهم الهيكل والمفاهيم الأساسية في المشاريع الكبيرة: تعلم Laravel سيعطيك فهمًا أفضل لهيكل التطبيقات ونمط MVC (Model-View-Controller). هذا يمكن أن يساعدك في تحليل وفهم هيكل وردبرس وكيفية تعديله وتخصيصه بشكل أفضل. إدارة قاعدة البيانات: ففهمك لكيفية تعامل Laravel مع قاعدة البيانات يمكن أن يفيدك في تطوير ووردبرس وفهم كيفية استخدام قواعد البيانات فيه. إنشاء إضافات مخصصة: يمكنك استخدام المعرفة الخاصة بك في Laravel لتطوير إضافات مخصصة لوردبرس. هذا يتيح لك إضافة وظائف جديدة ومخصصة إلى وردبرس باستخدام Laravel كإطار عمل قوي وموثوق. استخدام واجهات برمجة التطبيقات (APIs): يمكنك استخدام معرفتك في تطوير واجهات برمجة التطبيقات باستخدام Laravel لتكامل ووردبرس مع خدمات الويب الخارجية أو توفير واجهات API للتطبيقات الخارجية للتفاعل مع محتوى وردبرس. كل هاته النقاط من شأنها أن تفتحك على فرص أكثر وتسرع وتعمق من كيفية تعاملك الورردبرس.
  24. نعم، هناك العديد من المسابقات العالمية في مجال البرمجة وتطوير الويب وتطبيقات الجوال. اذ تنظم الشركات والمؤسسات المختلفة هذه المسابقات لتحفيز المطورين وتشجيعهم على تطوير مهاراتهم والتنافس في مجال البرمجة أو في ترشيحهم لشركات للعمل او التوظيف. قد تتضمن هذه المسابقات حل المشاكل البرمجية، تصميم وتطوير تطبيقات ويب وتطبيقات الجوال، تطوير الذكاء الاصطناعي وتعلم الآلة، ونحوها. نذكر بعض المسابقات الشهيرة في مجال البرمجة تشمل: ACM International Collegiate Programming Contest (ICPC) Google Code Jam Facebook Hacker Cup Microsoft Imagine Cup GitHub Game Off Hackathons المختلفة المنظمة حول العالم وهنالك تحد من re-coded يجري هاته الأيام، يمكنك البحث عنه والمشاركة فيه.
  25. نعم، الحاسوب الذي اخترته مناسب جدا. ولكن، فيما يلي ملاحظتين: لا يوجد ذكر لسعة التخزين في المعلومات التي قدمتها. يُفضل أن تتأكد من أن سعة التخزين كافية لتلبية احتياجاتك، خاصة إذا كنت تخطط لتثبيت برامج تطوير البرمجيات وتخزين البيانات الخاصة بك، وقد يكون هذا الأمر مرنا وقابلا للتوسع. ذكرت أن الشاشة صغيرة نوعًا ما، وهذا قد يكون عاملًا محدودًا فيما يتعلق براحة العمل ومرونة العرض. يُفضل شاشة بحجم مناسب لتجربة مستخدم مريحة أثناء البرمجة. ولكن كبداية سيكون ذلك مناسبا وغير هاما، على أنك ستحتاج شاشة بحجم أكبر لضمان أريحية أكثر مستقبلا. ثم ان الأمر يتعلق أيضا بالمجال الذي تريد أن تنشط فيه في البرمجة، فبعض المجالات قد تتطلب متطلبات أكثر مثل تطوير الألعاب، على عكس تطوير الويب مثلا الذي يحتاج متطلبات بسيطة للبدء.
×
×
  • أضف...