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

محمد عاطف17

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

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

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

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

    29

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

  1. لا أظن أن أنسب شئ هو البحث هكذا على محركات البحث حيث أن ظهور النتائج الخاصة بها ستكون معتمدة على مدي توافق تلك النتائج لمحركات البحث SEO أو ستكون إعلانات ممولة ومن الممكن أن تظهر لك شركات ليست جيده أو من الممكن عدم ظهور شئ سوي مقالات مدفوعة تتحدث عن شركات تمول تلك المقالات . أفضل شئ هو السؤال في محيطك أو في المواقع التقنية مثل linkedin أو مواقع العمل الحر مثل مستقل وغيرها أو حسب المواقع الخاصة بموقعك الجغرافى فمثلا يوجد لدينا هنا في مصر موقع مثل wuzzuf والعديد من المواقع الأخري . أو يمكنك أيضا البحث على منصات التواصل الإجتماعى مثل facebook حيث أن facebook أفضل من حيث أنك ستجد تقيمات للشركة أو الأشخاص . أما إذا كنت تريد كلمات مفتاحية لمحركات البحث فيمكنك إستخدام مثلا أفضل شركة لعمل كذا أو شركات تطوير التطبيقات وهكذا . أما بالنسبة إلى السؤال الثاني فأولا ما سأنظر إليه إذا كنت أهتم بمدي جودة العمل ولا يهمني السعر حاليا فسأبحث عن الشركات التي تلتزم بمواعيد التسليمات والتي تعطيك أيضا دعم فني بعد تسليم المشروع وايضا التي يكون لديها عملاء كثر يشكرون في أعمالها ومن ثم يمكننا التفاوض في السعر. أما إذا كنت تبحث عن أقل سعر فسيتوجب عليك التنازل عن بعض الأمور مثل التسليمات في الموعد أو حتي ان يكون المشروع ليس أفضل شئ ومن الممكن أن تواجه مشاكل بعد التسليم ولكن ما لا يجب التنازل عنه هو وجود دعم فني متاحا بعد التسليم للتأكد من عدمو وجود أى أخطاء أو مشاكل وإلا فيجب على الشركة حلها وإلا فستجد صعوبة في تعين شخص لإصلاحها ومن الممكن أن يكلفك ذلك كثيرا من المال
  2. في العادة يمكن أن يتفاوت دخل المبرمجين الذين يعملون في مجال العمل الحر بشكل كبير بناء على خبرتهم والمهارات التقنية التي يمتلكونها ومستواهم التقني والسوق الذي يعملون فيه وحجم المشاريع التي يعملون عليها، وغيرها من العوامل. وأيضا أريد أن أنبهك أن الحصول على العمل والرواتب هي من الأرزاق فلا تستعجل هذا الرزق فمن الممكن أن يكون مستواك متقدما وشخص أخر ليس بمهارتك ولكنه لديه الكثير من المشاريع التي يعمل عليها فكما أخبرتك هو في النهاية رزق لك من الله. ومع ذلك، إذا أردت أن تحصل على فكرة عامة عن متوسط الدخل، يمكنك أن تلتقط بعض الأرقام التقديرية. على سبيل المثال، في الولايات المتحدة، قد يكون متوسط دخل مبرمجي الويب الحر حوالي 60،000 إلى 100،000 دولار أمريكي سنويا، ولكن هذا يعتمد بشكل كبير على الخبرة والموقع الجغرافي والمجال الذي يعملون فيه. لذا، لتحديد متوسط الدخل بدقة أكبر، يمكنك البحث عن دراسات السوق المحلية أو الاطلاع على مواقع الوظائف المستقلة لرؤية ما يعرضه المبرمجون لنفسك الذين يعملون بنفس مجالك وموقعك الجغرافي وأيضا مواقع العمل الحر تختلف فمثلا المواقع العربية مثل مستقل وخمسات ستجد أن معظم المشاريع أسعارها قليلة وليست كالمواقع الأخري مثل upwork وهكذا . ولكن المنافسة في المواقع العربية مثل مستقل أقل من المواقع الأخري لذلك في حالتك وأنك بالكاد إنتهيت من الدورة فأنصحك أن تبدأ بالمشاريع الصغيرة وهى تبدا من 25 دولار إلى 50 وهذه الذى يجب أن تركز عليها وتعتمد شطارتك في جعل صاحب المشروع يختارك وبناء سمعة جيدة لك . ولكن في البداية من الممكن أن تنهي مشروعين إلي 4 مشاريع في الشهر بميزانية من 25 إلي 50 و كما وضحت لك هذا يعتمد على مهارة التواصل لديك وبناء سمعة جيدة لك فيجب أولا عدم الإهتمام بالسعر كثيرا والإهتمام أكثر ببناء ملف شخصى قوى وسمعة جيدة.
  3. لا بالطبع لا يمكن الإستغناء عنه حيث هذا المجلد يتم وضع الملفات الثابته فيه مثل التنسيقات وملفات جافاسكريبت . وأى ملف بداخل هذا المجلد يمكن لأى احد الوصول إليه لهذا لا يجب وضع أى ملفات مهمة في هذا المجلد .
  4. هل قمت بوضع مجلد assets بداخل مجلد public ؟ حيث تقوم دالة ال asset بوضع الرابط الخاص بمجلد public . فإذا لم تكن وضعت مجلد assets بداخل public فيجب نقله بداخله والمحاولة مرة أخري . أما إذا كنت قد وضعته بداخل public فإذا المشكلة في ملف env. حيث لم تقم بوضع رابط الموقع الصحيح في APP_URL حيث دالة asset تقوم بإخذ عنوان APP_URL ووضع مسار ال public ومسار الملف معا فإذا كان APP_URL خطأ فلن يتم تحميل الصور.
  5. نعم بالفعل 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 }], };
  6. هل يمكنك عمل inspect للصفحة وإرسال صورة لجزء ال head لنري هل يتم وضعها أم لا . وأيضا لقسم ال network لنري هل يتم وضعها ولكن لا يجد الصورة على السيرفر أم لا
  7. وعليكم السلام ورحمة الله وبركاته . لإضافة 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; الآن أعد تشغيل السيرفر مرة أخر وستظهر معك إن شاء الله
  8. ستجده في المسار التالي : C:\laragon\bin\php وبداخل هذا المسار ستجد مجلد بإسم p hp مع الإصدار هكذا قم بالذهاب للإصدار الذى يوجد لديك وستجد الملف بداخل المجلد
  9. وعليكم السلام ورحمة الله وبركاته . هذا الخطأ بسبب عدم تفعيل ال extension في ملف php.ini لديك . لذلك قم بالذهاب إلى مكان تثبيت php وقم بفتح ملف php.ini والبحث عن السطرين التاليين: ;extension=pdo_sqlite ;extension=sqlite3 وقم بحذف علامة ; حتي يتم تفعيلهم . أى يصبح السطرين كالتالي: extension=pdo_sqlite extension=sqlite3 وقم بإعادة تشغيل مشروع لارافيل مرة أخرى وسيعمل معك إن شاء الله .
  10. يمكنك إستخدام إستضافة Heroku فهي إستضافة مجانية وجيدة وتتضمن الدعم للعديد من الإضافات وقواعد البيانات المجانية ويمكنك ربطه مع حساب ال git الخاص بك ورفع المشروع تلقائيا كلما حدث أى تعديل على git. ويمكنك أيضا إستخدام Glitch حيث توفر Glitch بيئة تطوير متكاملة لتجربة تطبيقات Python بالإضافة إلى العديد من اللغات الأخرى. يمكنك من خلالها بسهولة رفع مشروعك . وهذا هو الرابط لإنشاء موقعك يمكنك إختيار الباقة المجانية ورفع مشروعك .
  11. وعليكم السلام ورحمة الله وبركاته . يمكنك دراسة كورس CS50 وهو كورس مجاني باللغة الإنجليزية تقوم جامعة هارفرد بإعطاءه وهو كورس تأهيلي وستجد تفاصيل عنه أكثر هنا : ويوجد هنا على موقع الأكاديمية دورة تمهيدية تؤهلك للدخول في مجال التقنية وتقوم بشرح العديد من الأساسيات التي لا غنى عنها في مجال التقنية ويمكنك قراءة معلومات عن الدورة من خلال الرابط التالي :
  12. أعتقد أن المشكلة لديك في العنوان الذى يتم الذهاب إليه لإحضار ملفات ال css من سيرفر vite حيث لاحظت أنك تستخدم ملف ال host في الويندوز لتغير عنوان الموقع بدلا من localhos t. لذلك أولا تأكد من المسار الخاص بملف ال css في network وإرسال صورة لي للمسار . والآن لنقم بتعديل العنوان الخاص بسيرفير vite حتي يصبح مثل السيرفر الخاص بلارافيل . في ملف vite.config.js نقوم بكتابة الإعدادات التالية : export default defineConfig({ server: { host: 'lossless.test', port: 3000 } }) والآن تاكد هل تم تغير المسار الذى يتم إستدعاء ملفات ال css منه في ال network أم لا.
  13. وعليكم السلام ورحمة الله وبركاته . جميعنا في بداية تعلم أى شئ جديد نصاب بالتشتت والإحباط خاصة لو واجهنا صعوبة في بداية الأمر و الإستسلام لهذا الشعور يعنى الفشل لذلك لا تقلقي فالأمر بسيط وستجدين بعد ذلك أن الأمر لا يستدعي كل هذا القلق والتشتت . بالنسبة لدراسة الدورة يفضل مذاكرة الدروس و الأقسام بالترتيب وعدم تجاهل أو تفويت أى درس لأن كل درس ومسار يعتمد على الدروس التي قبله وحتي لا تتراكم عليكي الأمور . إن الإستيعاب يختلف من شخص إلى شخص حيث هناك من يستطيع أن يفهم الدرس من أول مرة و هناك من يقوم بتكراره حتي يفهم الدرس وهذا ليس شيئا سيئا بل هو جيد ما دام هناك إصرار و إستمرار على الفهم . لذلك أولا يجب عليكى مشاهدة الدرس وبالخاص الأساسيات و إذا ما واجهتك أى مشكلة يمكنكي السؤال أسفل الدرس في التعليقات والتأكد من فهم كل شئ وبعد ذلك يجب عليكي التطبيق العملي مع المدرب و أيضا ستجدين في نهاية الدرس تدريبات يجب عملها حتي تتأكدي من فهمك للدرس ويمكنك وضع حلك في التعليقات حتي يعطيكي المدربون النصائح و إصلاح الأخطاء التي تواجهك . وكما وضحت لكي فإن الأهم من مشاهدة الدرس هو التطبيق لان التطبيق العملي هو من سيعطيكي الخبرة أكثر وهو ما سيوضح لكي إذا كنتي قد فهمتي الدرس تمام أم توجد بعض الأشياء الغير واضحه وأخيرا يجب عليكي عمل مجلد خاص بكل مسار وبكل مسار تقومين بعمل مجلد خاص بكل درس وحفظ الأكواد والتدريبات بهم حيث سيتطلب منكي في نهاية الدورة تسليم تلك الملفات حتي تحصلين على الشهادة .
  14. هنا في موقع الأكاديمية بخصوص إضافة دورات جديدة فالأمر يعتمد على عدة عوامل منها مدى الإحتياج لها والطلب عليها وهل محتوى الدورة مناسب لسوق العمل أم الطلب عليه ضعيف وهكذا، لذا الأمر راجع لإدارةالأكاديمية في تلك النقطة. ولكن بالنسبة للتطبيقات الموبايل فتوجد هنا دورة تطوير التطبيقات باستخدام JavaScript حيث مسارين كاملين لتطوير تطبيقات الموبايل حيث يوجد مسار تطوير تطبيق جوال باستخدام React Native و تطوير تطبيق جوال للتواصل الاجتماعي باستخدام Ionic . وسأقوم بإيصال إقتراحك لإدارة الأكاديمية لينظرو في إضافة دورة بإستخدام flutter
  15. ستجد في الرابط التالي تفاصيل عن محتوى ومدة الفيديوهات في الدورة . في وصف الدورة ستجد أن الدورة تحتوى على 72 ساعة من الدروس لذلك يمكنك حساب الوقت التي ستقوم بدراسته كل يوم لتعرف مده إنتهاء الدورة . ولكن هناك ملحوظة مهمة حيث أن تلك الساعات هي للشرح و قدرة إستعاب كل شخص مختلفه عن الأخر فهناك أشخاص يستوعبون الدرس من أول مرة وهنا من يعيده أكثر من مرة لفهمة و لذلك فإن هذا الشئ ليس دقيقا . وأيضا الأهم من مشاهدة الدروس هو التطبيق العملي بنفسك خلف المدرب و كتابة الملاحظات والبحث عن الأشياء التي يتم شرحها والسؤال إذا إختلطت عليك الأمور ولم تستطع فهم شئ معين . فمن الممكن أن الدرس مثلا 10 دقائق ولكن للتطبيق وراء المدرب وحل التمارين من الممكن أن يأخذ منك ساعتين مذاكرة وتطبيق بدلا من 10 دقائق. لذلك أنصحك بعدم الإهتمام إلى الوقت أكثر من الإهتمام بالتطبيق و فهم كل شئ والسؤال عن أى شئ غير واضح حيث أن مجال البرمجة الخبرة فيه تأتي من التطبيقات والمشاريع العملية وليس كثرة مشاهدة الدروس والشروح .
  16. يمكنك ذلك بسهولة عن طريق إتباع الخطوات التالية : 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 على سيرفر محلي وجعلها متاحة للموظفين المتصلين بنفس الشبكة للاستخدام الداخلي .
  17. إن العمل ك full stack يضمن لك دخلا أكبر وخبره وهو مطلوب أكثر سواء من front end او ال back end منفصلين . حيث أن ال full stack تكون لديه الخبره في الواجهات الخلفية والأمامية وهو مطلوب أكثر في العمل الحر حيث أنت من ستعمل على المشروع كاملا بنفسك ولكن يمكنك تعين مطور واجهات أمامية معك دون أى مشاكل . أم بالنسبة للشركات فإن الشركات الكبيرة والتي تتميز بتنظيم العمل تقوم بتعين مطور واجهات خلفية ومطور واجهات امامية وذلك لتقسيم العمل ليضمن سرعة التنفيذ وأيضا عدم وجود اى مشاكل حيث أن سواء مطور الواجهات الأمامية أو الخلفية يكون متمكنا من مجاله أكثر من مطور full stack وهذا لأنه يركز علي شئ واحد فقط . ولذلك هذا يعتمد عليك وعلى ما تريد تنفيذه ولكن نصيحتي لك هي كن متمكنا في الواجهات الخلفية أما بالنسبة للواجهات الأمامية فيكفى أن تكون ملما جيدا بالأساسيات وأن يكون مستواك متوسطا بحيث إذا جاءك مشروع يمكنك البحث عن تصاميم جاهزة والتعديل فقط عليها دون الحاجة لبناءها من الصفر . ويمكنك قراءة الإجابات التاليه لتفاصيل أكثر :
  18. هذا يعتمد على مدي حجم المشروع والمكتبات التي يتم إستخدامها . حيث إذا كان حجم المشروع كبيرا فستجد أنه بمجرد تحديث حزمة ستحدث مشاكل كثيرة لديك بسبب تداخل إصدارات الحزم وإعتمادها علي بعضها البعض ولذلك يفضل في تلك الحالة تحميل إصدار nodejs يتوافق مع جميع تلك الحزم . أو محاولة تحديث جميع الحزم لديك ولكنك يتوجب عليك التغير كثيرا في الكود . لذلك إذا كان المشروع صغيرا في الحجم فيفضل تحديث مكتبة webpack و حل أى مشكلة تظهر لك بسبب الإعدادت القديمة وإستبدالها بالجديدة و لكن إذا كان المشروع كبيرا فيفضل تحميل نسخة nodejs قديمة تتوافق معه
  19. نعم هذه مشكلة تحدث بسبب إصدار nodejs يمكنك التغير إلى إصدار 16 وسيتم حل المشكلة أو تحديث إصدار webpack لديك. أو يمكنك فقط تنفيذ الأمر التالي في cmd قبل تشغيل السيرفر: set NODE_OPTIONS=--openssl-legacy-provider وهذا الأمر سيحل تلك المشكلة إن شاء الله
  20. سؤالك ليس واضحا . هل تقصد تطبيقات الهاتف التي تستخدم في السيارات أم تقصد تطبيقات للسيارات ذاتية القيادة أم ماذا ؟ أما بالنسبة لتطبيقات الهاتف . فنعم يمكن لمطور الويب أن ينشئ تطبيقات ولكنه سيتوجب عليه إستخدام تقنيات أخري مثل react native و electron.js و Kotlin و Java . أما بالنسبة إلى التطبيقات الخاص بالسيارات ذاتية القيادة أو التفاعل مع السيارات عموما فمن الصعب على مطور الويب أن ينشئ تلك التطبيقات دون دراسة مثل embeded systems و لغات مثل C و C++ واللغات التي تستطيع التعامل والتحكم فى النظم المدمجة .
  21. كما أخبرتك يجب وضع نسبة للسعر فمثلا لنفرض أن الرحلة من جدة لمكة ب 500 لنرى تكلفتها بدون سيارة مثلا ب 400 وهذا ما سنضعه في جدول المدن وفيه جدول السيارات نضع نسبة السعر فمثلا لو سيارة مرسيديس النسبة 25% إذا حين حساب السعر لسيارة مرسيدس من جدة لمكة سيكون السعر كالتالي : 400 + (400*25%) = 500 وهكذا . أما إذا كانت النسبة غير ثابته أو لن تستطيع حسابها فسيتوجب عليك وضع جميع الإحتمالات أو تثبيت سعر الرحلة ووضع سعر زائد بالنسبة للسيارة .
  22. وعليكم السلام ورحمة الله وبركاته. لحل هذه المشكلة وتصميم نظام لحجوزات السيارات الذي يتيح عدة خيارات للمستخدم مثل ذهاب-ذهاب، ذهاب وعودة، وجهات متعددة توجد العديد من الحلول و كل حل متوقف على النظام الخاص بك الخاص بالتسعير و نظام العمل لديك والحل العام لتلك المشكلة هو: 1- تصميم قاعدة البيانات: جدول المدن (Cities Table): يحتوي على اسماء المدن التي تتعامل معها، على سبيل المثال (الرياض، جدة، ...). جدول السيارات ( Cars Table) : يحتوي على انواع السيارات لديك (مرسيدس, فورد,..). جدول الأسعار (Prices Table): يحتوي على أسعار السفر بين جميع الأزواج الممكنة من المدن. كل صف في هذا الجدول يحتوي على (مدينة المغادرة، مدينة الوصول، نوع السيارة،نوع الرحلة, السعر). 2- إنشاء لوحة تحكم (dashboard) : حيث يجب عليك إنشاء لوحة تحكم للإضافة الوجهات والسيارات والأسعار 3- واجهة المستخدم (User Interface): تصميم واجهة للمستخدم يمكنه من اختيار الخيار المناسب لرحلته (ذهاب-ذهاب، ذهاب وعودة، وجهات متعددة). يجب عرض الخيارات المتاحة للمستخدم بناءً على البيانات المخزنة في جدول الأسعار. وهكذا يمكنك عن طريق الحل السابق حل المشكلة لديك . ويوجد حل أخر ولكنه يعتمد على النظام لديك . حيث تقوم بوضع نسبة معينة للسعر لكل جزء فمثلا الوجهة تكون نسبتها من السعر 80% ونوع السيارة 20% و نوع الرحلة إذا كانت ذهاب وعودة يكون هناك خصم مثلا 2% وهكذا . وفي الجداول السابقة ستقوم فقط بإنشاء جدولين جدول المدن (Cities Table) و جدول السيارات ( Cars Table) وتقوم بإضافة السعر الخاص بهم في كل جدول ومع إختيار المستخدم للمدن والسيارة تقوم بجمع تلك الأسعار معا بناءا على النسبة الذى قمت بتحديدها
  23. إذا كنتي تقصدين التمارين التي يطلبها المدرب في نهاية الدرس فتلك التمارين يمكنكي حلها و إرفاقها أسفل الدرس للتحقق من صحتها أو لو توجد لديكي أى أخطاء يتم تصحيحها لكي أو يمكنك متابعة الدرس التالي لها الذى سوف يقوم المدرب بحل تلك التمارين . أما إذا كان سؤالك بخصوص تسليمها للحصول على الشهادة فمن شروط الحصول على الشهادة رفع المشاريع على حسابك على GitHub لذلك يجب عليك رفع المشاريع التي قمت بها للحصول على الشهادة. ويمكنكي قراءة الإجابات التالية :
  24. وعليكم السلام ورحمة الله وبركاته في نظام تشغيل Windows مع XAMPP، لا يمكنك تعيين صلاحيات الملفات بنفس الطريقة التي تفعلها في أنظمة Linux أو Unix. في Windows، الصلاحيات تتحكم بشكل أساسي من خلال خصائص الملفات والأذونات التي تسمح أو تمنع الوصول إلى الملفات و حيث تستخدم أنظمة Linux خصائص (attributes) مختلفة عن التي يستخدمها windows. وإذا كنت ترغب في جعل ملف PHP يشابه الصلاحيات التي تجدها في بيئات الاستضافة المدفوعة (مثل 555)، يمكنك القيام بالتالي: 1-فتح خصائص الملف: انقر بزر الماوس الأيمن على ملف PHP الذي ترغب في تعديل صلاحياته. اختر properties "الخصائص" من القائمة المنسدلة. 2-تعديل الأذونات: انتقل إلى علامة التبويب security "الأمان". انقر على زر Edit "تعديل" لتعديل الأذونات. 3-تعيين الأذونات: سترى نافذة "الأذونات للملف"، حيث يمكنك تعيين الصلاحيات المناسبة. في حالة 555، يمكنك تحديد خيارات "قراءة" (Read) للجميع (Everyone) وعدم تحديد خيارات الكتابة (Write) أو التنفيذ (Execute). بعد تعيين الصلاحيات المناسبة، انقر على "تطبيق" ثم "موافق". هذه الخطوات ستسمح لك بتعيين الصلاحيات على ملف PHP بطريقة تقليدية في نظام Windows. يرجى ملاحظة أن XAMPP نفسه يعمل عادة باستخدام حساب مستخدم محلي لنظام Windows، وليس باستخدام حسابات مستخدم قابلة للتخصيص مثلما هو الحال في الخوادم التي تعتمد على Linux أو Unix، لذا تعديل الأذونات في XAMPP يختلف قليلاً عن التعامل معه في بيئات الخوادم.
  25. لعمل حلقة (loop) في قالب HTML لمدونة بلوجر، يمكنك استخدام لغة Blogger Template (التي تعتمد على XML) لاستدعاء التدوينات المنشورة. حيث يمكنك استخدام Blogger Template Tags في قالب HTML الخاص بك و يمكنك استخدام بعض الوسوم المتاحة في Blogger لاستدعاء التدوينات. الوسم الأساسي هو <b:loop> هذا الوسم يمكن أن يشبه حلقة for loop في البرمجة حيث يكرر نفسه لكل تدوينة في المدونة. مثال على استخدام الوسم <b:loop> <b:loop values='data:posts' var='post'> <!-- هنا نقوم بوضع العناصر التي تريد عرضها لكل تدوينة --> <h2><a expr:href='data:post.url'><data:post.title/></a></h2> <!-- عرض محتوى التدوينة --> <p><data:post.body/></p> </b:loop> data:posts: هذا يشير إلى كافة التدوينات المنشورة في المدونة. var='post': هذا هو المتغير الذي يتم تكريره في كل دورة من الحلقة، والذي يمكنك استخدامه للوصول إلى معلومات التدوينة مثل العنوان <data:post.title/> والمحتوى <data:post.body/> والرابط <data:post.url/> وهكذا . ويصبح الكود كالتالي بالمثال الذى أرفقته : <b:loop values='data:posts' var='post'> <div class='article'> <h3 class='article-title'><data:post.title/></h3> <p class='article-content'><data:post.body/></p> <a expr:href='data:post.url'><button class='view-details'>عرض المقال</button></a> </div> </b:loop>
×
×
  • أضف...