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

Mustafa Suleiman

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

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

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

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

    289

كل منشورات العضو Mustafa Suleiman

  1. بالإضافة إلى الخطأ في كتابة الخاصية height، من الأفضل استخدام max-width في تحديد حجم الصورة في كود CSS بدلاً من استخدام width العادي. هذا لأن استخدام max-width يعني أن حجم الصورة سيكون محددًا بحيث لا يتجاوز عرض العنصر الأساسي الذي يتم عرض الصورة داخله، ولكن ارتفاع الصورة يمكن أن يتغير تلقائيًا لتحافظ على نسبة الارتفاع إلى العرض الصحيحة. هذا يساعد على تجنب مشاكل عدم تناسق الحجم في حالة تغيير حجم الشاشة أو تصفح الموقع على أجهزة مختلفة، كما أنه يعمل على تحسين تجربة المستخدم من خلال تحسين تصميم الموقع وسرعة تحميله. ولا حاجة لكتابة الـ height إلا في حالات محددة، حيث سيتم تحديد تلقائيًا من قبل العرض الذي قمت بتحديده أنت، وإليك مثال: img { max-width: 50%; } تم تعيين max-width على 50%، وهو يعني أن الصورة ستتمدد أو تنكمش حسب عرض العنصر الأساسي الذي يتم عرض الصورة داخله، ولكنها لن تتجاوز 50% من عرض هذا العنصر. على سبيل المثال، إذا كان العنصر الأساسي هو div ولديه عرض 1000 بكسل، فإن الصورة ستعرض بعرض 500 بكسل (50% من 1000 بكسل). وإذا كان العنصر الأساسي يتم تحجيمه أو تغيير حجمه بناءً على حجم الشاشة أو الجهاز المستخدم، فإن الصورة ستتكيف مع حجم العنصر الأساسي وستكون في نطاق max-width المحدد. يجب ملاحظة أن الكود المذكور يحدد فقط max-width ولم يتم تحديد الـ height، وبالتالي، سيتم الحفاظ على نسبة الارتفاع إلى العرض الأصلي للصورة كما ذكرت لك.
  2. في البداية يجب معرفة أنه يمكن لأي شخص بدءاً من المبتدئين أن يصبح هاكر أخلاقي، وليس شرطاً أن تكون مبرمجاً محترفاً ذو خبرة. ومع ذلك، فإن تعلم بعض المهارات الأساسية في البرمجة وأمن المعلومات ونظام التشغيل والشبكات قد يساعد في تحسين فهمك وتسهيل عملية تطبيق تقنيات الهاكر الأخلاقي. و الدورات التي تغطي موضوعات مثل البرمجة وأمن المعلومات ونظام التشغيل والشبكات يمكن أن تساعدك في تطوير مهاراتك وفهمك لمجال الأمن السيبراني والهاكر الأخلاقي. ومع ذلك، فإن هناك مهارات ومفاهيم خاصة بمجال الأمن السيبراني والهاكر الأخلاقي يجب عليك تعلمها أيضاً، مثل التحليل العكسي والاختبار الأمني والتعرف على الثغرات والتعامل معها وتطبيق الإجراءات الأمنية الصحيحة، لذلك، من المهم أن تختار الدورات التدريبية التي تغطي هذه الموضوعات أيضاً. ونصيحتي إليك هي دراسة الأساسيات بشكل جيد من خلال دورة علوم الحاسب في أكاديمية حسوب، وأيضًا دراسة الأساسيات الخاصة بلغة البرمجة التي ستختارها. مثلاً تعلم جافاسكريبت هو مفيد جدًا في مجال الأمن السيبراني والهكر الأخلاقي، لأن اللغة مستخدمة بشكل شائع في تطوير تطبيقات الويب وتحسين أمنها. كما أنها مستخدمة أيضًا في تطوير أدوات الهجوم السيبراني، مثل البرامج الخبيثة والاختراقات الإلكترونية. ومع ذلك، ليست جافاسكريبت اللغة الوحيدة التي يجب عليك تعلمها في مجال الأمن السيبراني. يجب أيضًا تعلم لغات أخرى مثل Python وC++ وRuby وغيرها، لأن كل لغة لها قدرات ومزايا مختلفة في مجال الأمن السيبراني. بالإضافة إلى ذلك، يجب عليك تعلم المفاهيم الأساسية للبرمجة والأمن السيبراني بشكل عام، والتي تشمل مثلًا هندسة عكسية وتحليل الشفرة وعلم الأوامر ونظم التشغيل وشبكات الحاسوب. وقد تم النقاش حول سؤالك من قبل والإجابة بشكل وافي أرجو منك الإطلاع على التالي:
  3. أهلا يوسف، بخصوص الإمتحان وشهادة التخرج، يتم إجراء مكالمة صوتية لمدة 30 دقيقة، ويتم فيها إختبارك من قبل مدرب عن طريق طرح بعض الأسئلة الخاصة بالدورة محل الإختبار وعن الأمور التي قمت بتنفيذها. وإذا كان لديك مشكلة بالإنترنت فيمكن تأجيل الإختبار حيث لا يوجد موعد محدد لذلك، وباستطاعتك التقدم للإختبار أكثر من مرة. وستجد هنا ما تحتاجه من معلومات حول الإختبار والشهادة والمشاريع. الامتحان والحصول على الشهادة
  4. الفكرة الرئيسية هي أن استخدام البرامج المفتوحة المصدر والمكتبات يمكن أن يكون مجانيًا وغير مقيد، ولكن الأمر يعتمد على شروط الترخيص. في حالة البرامج المفتوحة المصدر، فإنه يمكن استخدامها وتوزيعها وبيعها بشروط الترخيص التي يتم تحديدها، حيث تمتلك الحرية الكاملة في استخدام البرنامج بأي شكل من الأشكال دون أي تحديدات، ولكن يمكن تعديل شفرة البرنامج وإعادة توزيعها بشروط الترخيص المناسبة. وفي حالة المكتبات المفتوحة المصدر، فإنه يمكن استخدامها في مشاريعك الخاصة دون أن تقوم بتعديل شفرتها أو إعادة توزيعها، ولكن يتم تحديد شروط الترخيص الخاصة بها التي يجب الالتزام بها في حالة استخدامها في مشروعك. وبالنسبة للسؤال الخاص بالمكتبات والبرامج، فعلى الرغم من أن المكتبات تحتوي على مجموعة من الدوال والكلاسات، والبرامج تحتوي على واجهات رسومية، إلا أن الفكرة الأساسية هي أنه يمكن استخدام كلاهما في مشاريعك الخاصة دون الحاجة إلى نسخ أي منهما، ولكن يتم تحديد شروط الترخيص لكل منهما.
  5. تُستخدم طريقة toString() لتحويل كائن إلى سلسلة نصية، وإذا كنت تريد طباعة عدة جُمل باستخدام طريقة toString()، فيمكنك دمجها معًا باستخدام عامل + أو StringBuilder. إليك مثال بسيط يوضح كيفية استخدام طريقة toString() لطباعة عدة جُمل: public class Example { private String sentence1; private String sentence2; public Example(String s1, String s2) { sentence1 = s1; sentence2 = s2; } public String toString() { return sentence1 + " " + sentence2; } public static void main(String[] args) { Example example = new Example("أهلا", "بالعالم!"); System.out.println(example.toString()); } } في المثال، تم استخدام طريقة toString() لإرجاع سلسلة نصية مكونة من sentence1 و sentence2 المُمررة إلى الكائن Example، ثم استخدام System.out.println() لطباعة هذه السلسلة على الشاشة. النتيجة المتوقعة: أهلا بالعالم!
  6. ترخيص GPL (General Public License) هو أحد الأمثلة على الترخيص الذي يشرط على المستخدمين توزيع التطبيقات المشتقة من البرنامج بنفس الترخيص، وبالتالي توزيعها مفتوحة المصدر. ويشترط الترخيص أيضًا توزيع التطبيقات المشتقة بطريقة مجانية. على الجانب الآخر، يمكن الإشارة إلى ترخيص BSD (Berkeley Software Distribution) الذي يسمح بتوزيع التطبيقات المشتقة بأي شكل، سواء كانت مجانية أو تجارية، وليس هناك أي شرط يشرط على المستخدمين توزيع التطبيقات المشتقة بنفس الترخيص أو توزيعها مفتوحة المصدر. ولكن يجب على المستخدمين الإشارة إلى حقوق الملكية الفكرية المتعلقة بالبرمجيات المستخدمة في التطبيقات المشتقة.
  7. صحيح، إذا لم تكن هناك شروط تلزمك بتوزيع تطبيقك مفتوح المصدر أو بتوزيعه بطريقة مجانية، فأنت لست ملزمًا بالقيام بأي من الاثنين. ومن الجدير بالذكر أن معظم تراخيص البرمجيات المفتوحة المصدر لا تفرض أي من هذه الشروط، بل تترك الأمر لصاحب التطبيق ليقرر كيفية توزيع تطبيقه.
  8. لا يجب أن تقوم بتوزيع تطبيقك كاملاً مفتوح المصدر إذا استخدمت مكتبة مفتوحة المصدر كجزء منه. حيث تعتبر المكتبة مفتوحة المصدر مجرد جزء من تطبيقك، ولا يؤثر استخدامها في ترخيص تطبيقك، ومع ذلك، يجب عليك الالتزام بشروط الترخيص الخاصة بالمكتبة المفتوحة المصدر والإفصاح عن المصدر الأصلي. علاوة على ذلك، قد يوجد شروط مختلفة لتوزيع تطبيقك وفقًا للتراخيص المختلفة للمكتبات المفتوحة المصدر التي استخدمتها، لذلك، يجب عليك التأكد من مطابقة شروط الترخيص لجميع المكتبات المفتوحة المصدر التي تستخدمها في تطبيقك والتوافق معها.
  9. تعني الأعمال المشتقة في تراخيص مكتبات مفتوحة المصدر (Open Source) أي تعديلات أو تعديلات مشابهة أو إنشاءات جديدة تم إنشاؤها على أساس العمل الأصلي المفتوح المصدر. وبموجب تراخيص البرمجيات المفتوحة المصدر ، فإن أي شخص يمكنه تحميل واستخدام وتعديل البرنامج الأصلي وإعادة توزيعه مع التعديلات التي أجراها، شريطة الالتزام بشروط الترخيص الخاصة بالبرنامج المفتوح المصدر وتضمن الإفصاح عن المصدر الأصلي وعدم التحايل على حقوق الملكية الفكرية. ومن الأمثلة على تراخيص مكتبات مفتوحة المصدر Apache وGNU GPL وMIT.
  10. يمكن استخدام حلقة التكرارية foreach للمرور على جميع عناصر المصفوفة والتحقق إذا كان العنصر رقمًا أو حرفًا باستخدام الدالة is_numeric() و is_string(). ولتخزين العدد، يمكن إنشاء متغير وزيادته بمقدار 1 في كل مرة يتم فيها طباعة عنصر رقمي، بعد الانتهاء من حلقة التكرارية، يمكن حساب عدد الأحرف التي تم تجاهلها عن طريق طرح عدد الأرقام من عدد العناصر في المصفوفة. مثلاً ، يتم استخدام حلقة foreach للمرور على جميع العناصر في المصفوفة، ثم التحقق إذا كان العنصر رقمًا باستخدام is_numeric() وإذا كان كذلك، ويتم طباعته و زيادة المتغير $countNumbers بمقدار 1، ثم حساب عدد الأحرف باستخدام count() لعدد العناصر في المصفوفة وطرحها من عدد الأرقام، وعرض النتائج في النهاية باستخدام echo. عليك بالبحث عزيزي، فمثلاً لو قمنا بالبحث عن "foreach في php حسوب أو المصفوفات في PHP حسوب" عن سنجد التالي:
  11. بالإضافة إلى ما ذكره قيس، يمكن أن يكون السبب هو عدم ربط ملف CSS الخاص بك بشكل صحيح داخل صفحة HTML الخاصة بك. لذلك، يجب التأكد من وجود رابط CSS صحيح في الصفحة HTML الخاصة بك وأن يشير إلى ملف CSS الصحيح. <!DOCTYPE html> <html> <head> <title>مثال على إضافة رابط CSS</title> <!-- رابط CSS --> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <h1>مرحبا بالعالم!</h1> <p>هذا مثال على كيفية إضافة رابط CSS في صفحة HTML.</p> </body> </html> في المثال، تم إضافة عنصر "link" داخل رأس الصفحة HTML الخاصة بنا، وتم تحديد الرابط المناسب لملف CSS الذي يحتوي على الأنماط التي نريد تطبيقها على الصفحة. يتم تحديد المسار النسبي لملف CSS في الخاصية "href" التي تأتي بعد كلمة "stylesheet". الفرق بين color و column-rule-color يجب معرفة أن color و column-rule-color هما خاصيتان في CSS تستخدمان لتحديد لون النص ولون حاشية العمود (column rule) في تنسيق النصوص على شكل عمود في الصفحة. فخاصية color تستخدم لتحديد لون النص وتطبق على النص ككل، وتأخذ القيمة في شكل قيمة HEX، RGB أو اسم اللون. على سبيل المثال: h1 { color: #ff0000; /* يحدد لون النص كأحمر */ } أما خاصية column-rule-color فتستخدم لتحديد لون حاشية العمود في صفحات الويب الذي يتم عرضها على شكل عمود. تأخذ هذه الخاصية قيمة اللون بنفس الطريقة التي يتم بها تحديد لون النص. على سبيل المثال: div { -webkit-column-rule-color: blue; /* يحدد لون حاشية العمود بلون أزرق */ -moz-column-rule-color: blue; column-rule-color: blue; }
  12. ذكرت لك أكثر من مرة عزيزي ولم تستمع لي، قم بوضع مجهودك وطاقتك في التعلم وبناء مشروعك، ومسألة التراخيص لا داعي للقلق هكذا بشأنها فلا أحد يفعل ذلك.
  13. يمكنك استخدام مكتبات مفتوحة المصدر ذات التراخيص المختلفة في تطبيقك الخاص دون الحاجة لتعديلها، ما لم تكن هذه المكتبات تحمل ترخيص GPL. ومع ذلك، يجب الالتزام بتلك التراخيص وشروطها المحددة، والتي قد تشتمل على تطلب المصدر المفتوح لتلك المكتبات، وعدم استخدامها في تطبيق مغلق المصدر. فيما يتعلق بإنشاء ملف يعرض فيه المكتبات المستخدمة وتراخيصها، فهذا يعد خطوة جيدة ومهمة. ومن الممكن أن تقوم ببيع التطبيق مغلق المصدر، ومنع نسخه وإعادة توزيعه، ولكن ذلك يتوقف على الترخيص الذي اخترته لتطبيقك. سأشرح لك بشكل مفصل أكثر: الترخيص هو الشروط التي يتم تحديدها لاستخدام البرنامج أو المكتبة المفتوحة المصدر. يمكن لصاحب العمل أن يختار الترخيص الذي يتناسب مع احتياجاته، والذي يعبر عن الحقوق التي يمنحها للمستخدمين الآخرين لاستخدام برنامجه أو تطبيقه أو مكتبته المفتوحة المصدر. فترخيص GPL هو واحد من أكثر التراخيص شيوعًا للمكتبات المفتوحة المصدر، ويتطلب هذا الترخيص من المستخدمين نشر أي تعديلات يجرونها على البرنامج أو المكتبة المفتوحة المصدر، وأن يتم نشر أي تطبيقات يستخدمونها تحت نفس الترخيص GPL. ومن الممكن أن يكون من الصعب بيع تطبيق مغلق المصدر يستخدم مكتبات تحت ترخيص GPL، لأنه سيتطلب من المستخدمين إما شراء الترخيص الخاص بالمكتبات الخاصة بالتطبيق، أو نشر البرنامج أو التطبيق بشكل مفتوح المصدر. من ناحية أخرى، هناك تراخيص أخرى تسمح للمبرمج ببيع تطبيقه مغلق المصدر، ومنع نسخه وإعادة توزيعه. مثال على ذلك هو ترخيص MIT ، الذي يسمح للمبرمجين ببيع تطبيقاتهم مغلقة المصدر، ومنع نسخها وإعادة توزيعها، مع الالتزام بتضمين إشعار بحقوق النشر في جميع النسخ الموزعة من التطبيق. لذلك، يجب على المبرمج اختيار الترخيص الذي يناسب احتياجاته والتأكد من احترام شروط الترخيص لجميع المكتبات التي يستخدمها في تطبيقه.
  14. يمكن استخدام pandas مع pyqt5 رغم اختلاف تراخيصهما. فالترخيص الذي يُطبَّق على pyqt5 هو GPL، وهذا يتطلب أن يتم توزيع أي عمل مشتق يستخدم pyqt5 بترخيص متوافق مع GPL، وهذا يعني أن أي برنامج يستخدم pyqt5 يجب أن يتم توزيعه بترخيص GPL. أما بالنسبة لترخيص pandas فهو BSD، وهذا يسمح بتوزيعها مع أي برنامج بترخيص GPL أو غيره، ولذلك لا يوجد أي مشكلة في استخدام pandas مع pyqt5، ويمكنك استخدام الاثنين معًا بحرية. ومع ذلك، ينبغي الانتباه إلى أنه قد يوجد بعض التفاصيل القانونية التي قد تؤثر على استخدامك لهذه المكتبات في بعض الحالات الخاصة، لذلك يمكن الرجوع إلى الشروط الدقيقة لكل ترخيص والاطلاع على ما إذا كان هناك أي قيود تطبق في حالتك الخاصة.
  15. الأسئلة الإمتحانية أو الخاصة بالمشاريع لا يتم الإجابة عليها إلا في حالة توافر كود وتريدي المساعدة في حل مشكلٍة ما. وبخصوص سؤالك، يمكن إرشادك لطريقة الحل. الخطوات اللازمة لحل هذا السؤال هي كالتالي: 1- إنشاء فئة "Car" التي تحتوي على بيانات السيارة المطلوبة (نوع السيارة ، اسم الشركة المصنعة ، النموذج ، رقم اللوحة ، والرمز). 2- تحديد كافة الطرق المناسبة والبناء للفئة. 3- إنشاء فئة الاختبار (Test class) وإضافة خمس سيارات إلى النظام وتعيين سيارتين فقط للعملاء، وترك السيارات الأخرى لعملاء آخرين. 4- عرض تقرير يتضمن جميع بيانات السيارات داخل النظام. 5- تصميم رسم بياني لفئة "Car" باستخدام UML. ملاحظة: يجب مراعاة أنواع المتغيرات (static أو instance) وحقوق الوصول (visibility modifiers) وطرق الحصول والتعيين (getter and setter methods) وصف المصفوفة من الكائنات (array of objects). وإليك توضيح بخصوص الخطوة رقم 5: حيث تصميم الرسم البياني لفئة "Car" باستخدام UML يمثل أسلوباً هاماً لوصف هيكلية الكلاس وتفاعلاته مع الأنظمة الأخرى. وهناك عدة مكونات في الرسم البياني لفئة "Car" باستخدام UML: الاسم (Class Name): يمثل اسم الفئة ويكون موضوعًا في الجزء الأعلى من الدائرة. المتغيرات (Variables): تمثل خواص الفئة ويكون لها أسماء وأنواع، وتوضع في المستطيلات تحت اسم الفئة. الأساليب (Methods): تمثل الوظائف والإجراءات التي تنفذها الفئة، وتوضع أيضًا في المستطيلات تحت اسم الفئة. الإرث (Inheritance): تمثل العلاقة بين الفئات الأب والفئات الفرعية. الوصلات (Associations): تمثل العلاقة بين الفئة والفئات الأخرى. التعليقات (Comments): يمكن إضافة تعليقات إلى الرسم البياني لشرح أي جزء من الرسم البياني.
  16. من الصعب تزويدك بالكود الدقيق دون معرفة تفاصيل صفحتك وقاعدة بياناتك وطريقة عرض البيانات، ولكن يمكن توفير نموذج عام لعرض بيانات دكتور معين عند النقر على اسمه. في البداية، يجب عليك تخزين بيانات الأطباء في قاعدة البيانات الخاصة بك وتعيين مفتاح رئيسي فريد لكل سجل، مثل "id". ثم باستطاعتك إنشاء صفحة PHP تقوم بالاتصال بقاعدة البيانات واسترداد بيانات الطبيب المحدد باستخدام ال "id" المحدد في الرابط الذي تم النقر عليه يمكن استخدام الدالة $_GET للحصول على ال "id" المحدد في عنوان URL، على سبيل المثال: <?php // استدعاء ملف الاتصال بقاعدة البيانات include('db_connect.php'); // التحقق من وجود قيمة "id" في العنوان URL if (isset($_GET['id'])) { // استعلام SQL لاسترداد بيانات الطبيب المحدد $sql = "SELECT * FROM doctors WHERE id = ".$_GET['id']; $result = mysqli_query($connection, $sql); // التحقق من وجود بيانات الطبيب if (mysqli_num_rows($result) > 0) { // عرض بيانات الطبيب المحدد $row = mysqli_fetch_assoc($result); echo "اسم الطبيب: ".$row['name']."<br>"; echo "تخصص الطبيب: ".$row['specialization']."<br>"; // وهكذا } else { echo "لم يتم العثور على بيانات الطبيب المحدد"; } } else { echo "لم يتم تحديد أي طبيب"; } ?> ويمكنك استخدام روابط HTML التي تحوي ال "id" المحدد لتحويل المستخدمين إلى صفحة عرض بيانات الطبيب المحدد، على سبيل المثال: <a href="doctor_details.php?id=1">اسم الطبيب</a> حيث "1" هو قيمة "id" المحددة للطبيب المراد عرض بياناته.
  17. بالإضافة إلى ما تم ذكره، يمكنك الإعتماد على المقالات الخاصة بالأساسيات في أكاديمية حسوب: كما يمكنك التسجيل في إحدى دورات أكاديمية حسوب وبذلك ستفتح لك المسارات الأولى من جميع الدورات المتوفرة على الأكاديمية. بعد ذلك يمكنك تصفح كافة المقالات المتعلقة بـ HTML5 و CSS من خلال القسم الخاص بهم في أكاديمية حسوب. قسم دروس ومقالات HTML قسم دروس ومقالات CSS
  18. حاول تجربة الخطوات التالية: افتح ملف Word الذي تريد ترقيم صفحاته. انتقل إلى الصفحة التي تريد أن يبدأ الترقيم منها. انتقل إلى علامة التبويب "إدراج" Insert في شريط الأدوات. انقر على زر "رقم الصفحة" Page Number. حدد "تنسيق الرقم" Format Page Numbers. في صندوق حوار "تنسيق رقم الصفحة" Format Page Number، حدد خيار "بدء الترقيم من" Start at. ادخل الرقم الذي تريد أن يبدأ منه الترقيم، على سبيل المثال "6" للبدء من الصفحة السادسة. انقر على زر "موافق" OK. بعد الانتهاء من هذه الخطوات، سيبدأ الترقيم من الصفحة التي حددتها في خطوة رقم 2.
  19. تراخيص جافاسكريبت باستطاعتك استخدام JavaScript بحرية دون الحاجة إلى الحصول على أي ترخيص. وبالنسبة للمكتبات المختلفة المتاحة لـ JavaScript، فهي تأتي بشكل عام مع تراخيص مفتوحة المصدر. وبالتالي، يمكن استخدامها وتعديلها وتوزيعها بحرية وفقًا للشروط المحددة في تراخيصها. ومن بين المكتبات الشائعة لـ JavaScript هي React وVue وAngular وغيرها الكثير، وتأتي جميعها بتراخيص مفتوحة المصدر التي يمكن الاطلاع عليها عبر المستودعات الخاصة بها على منصات مثل GitHub. تعلم JavaScript بدون تعلم HTML و CSS يجب معرفة أن JavaScript لغة برمجة مستقلة عن الويب ويمكن استخدامها في مجالات برمجية أخرى غير تطوير صفحات الويب. ومع ذلك، فإن الحصول على فهم جيد لـ HTML و CSS يمكن أن يكون مفيدًا جدًا عند تعلم JavaScript لعدة أسباب: 1- HTML و CSS يشكلان أساسًا لتطوير صفحات الويب، ولذلك يساعد فهمهما في فهم كيفية تخطيط وتصميم الصفحات وتحسينها باستخدام JavaScript. 2- العديد من تطبيقات الويب تستخدم JavaScript بشكل كبير لتحسين التفاعلية والوظائف، ومعرفة HTML و CSS يمكن أن تساعد في فهم كيفية إدارة وتحرير العناصر على الصفحة باستخدام JavaScript. 3- يمكن استخدام JavaScript للتحكم في عناصر HTML و CSS، ولذلك من المفيد جدًا فهم كيفية عمل HTML و CSS لتحسين الأداء وتسهيل تطوير الصفحات باستخدام JavaScript. لذلك، أنصحك بشدة بتعلم HTML و CSS قبل تعلم JavaScript، لأنها تشكل الأساس اللازم لتطوير صفحات الويب باستخدام JavaScript وتساعد على فهم كيفية إدارة الصفحات وتحسينها. وبعد ذلك، يمكن البدء في تعلم JavaScript واستخدامها لتحسين التفاعلية والوظائف على صفحات الويب.
  20. السبب هو التحذيرات الإعلانية (Deprecation warnings) في PHP والتي تشير إلى أن بعض الميزات أو الوظائف المستخدمة في المشروع Laravel قد تم إهمالها وقد تصبح غير مدعومة في إصدارات PHP المستقبلية، لكن في الوقت الحالي، يمكن استخدامها بدون أي مشاكل. لذلك تأكد من أنك تستخدم إصدارًا من Laravel متوافقًا مع إصدار PHP الذي تستخدمه، ومن المفترض أن تعمل معظم إصدارات Laravel على PHP 7.3 فأعلى. وعادةً ما يمكن تجاهل تحذيرات الإعلانية، ولكن إذا كنت ترغب في إيقاف ظهورها، يمكنك تعطيل تحذيرات الإعلانية عن طريق إعدادات PHP في ملف php.ini. وذلك من خلال إضافة السطر التالي: error_reporting = E_ALL & ~E_DEPRECATED الأمر سيمنع ظهور جميع تحذيرات الإعلانية في PHP، وإذا كنت تريد تعطيل تحذير محدد فقط، يمكنك استخدام دالة error_reporting() في بداية الكود وتحديد أنواع الأخطاء التي تريد تجاهلها. لكن يجب الإنتباه إلى أن تعطيل تحذيرات الإعلانية يمكن أن يؤدي إلى عدم تحذيرك من وجود أخطاء في الكود. وإذا استمرت المشكلة في الظهور عند تشغيل مشروع Laravel الخاص بك، يمكنك محاولة تحديث Laravel وجميع المكتبات الخاصة به إلى أحدث الإصدارات، وذلك بتشغيل الأمر التالي في وحدة التحكم: composer update
  21. الجميع بدأ من تلك النقطة وأصابته نفس الحيرة، ولا يوجد نصيحة واحدة تناسب الجميع. لذلك إذا كان لديك الوقت الكافي وأقصد من 6 شهور لسنة تبعًا لمستواكي وخبرتك بالحاسوب والأمور المتعلقة به والإنترنت أيضًا، فأنصحك بتعلم أساسيات علوم الحاسب. حيث ستمكنك من رؤية الأمور بشكل أوضح، وتوجد دورة في أكاديمية حسوب خاصة بأساسيات علوم الحاسب والبرمجةـ وتلك هي البداية الصحيحة. أما إذا كان الوقت محدود لديك وتريدي الوظيفة، فسأنصحك بتعلم مجال الويب، وذلك لأنه الأسهل في البداية على عكس المجالات الأخرى مثل تطبيقات الهاتف أو برامج سطح المكتب. وعليكي بتعلم الآتي: HTML ثم CSS ثم جافاسكريبت بعد ذلك يأتي دور تعلم إطار العمل الخاص بجافاسكريبت، وأنصحك بتعلم Angular فستجدي سهولة في الحصول على وظيفة في البداية مقارنًة بمكتبة أو إطار React. وأيضًا بإمكانك تعلم PHP وإطار لارافيل مع Vue.js بدلاً من Angular، والأمر يعتمد على سوق العمل الخاص بك والبلد التي أنتي بها، وهل تريدي العمل على مواقع العمل الحر أم لا؟ حيث يتم طلب PHP ولارافيل بكثرة بالإضافة إلى وورد بريس المبني على لغة PHP. والأمر بحاجة إلى جد وإجتهاد ولن تجدي الطريق سهلاً، لذلك لا تيأسي حاولي مرارًا وتكرارًا وتحلي بالصبر، وحددي ساعات معينة يوميًا للمذاكرة حسب الوقت المتاح لك وكلما كان أكثر كان أفضل. وعليكي بإختيار كورس أو مسار تعليمي للغات السابق ذكرها بالإضافة إلى كورس خاص بالأساسيات، ولا تشتتي نفسك، إختاري مصدر واحد ثم تمسكي به في حال كنتي تفهمي منه بشكل جيد، فالمصادر كثيرة. وأكرر الأمر بحاجة إلى وقت وصبر فلا تنخدعي بمن يخبرك أنه يمكن تعلم مجال البرمجة في 3 شهور مثلاً، فعلى الأقل فترة 6 شهور لسنة، ولتحصلي على وظيفة اعملي على إنشاء مشاريع أثناء فترة تعلمك والمشاريع يجب أن تكون واقعية وليست مجرد نماذج. ولا تشغلي بالك بكل ذلك حاليًا فقط حاولي تنفيذ خطوة خطوة وهكذا، حتى لا تتشتي.
  22. عليكي بوضع الصورة والأيقونة والنص في عنصر واحد، وقد قمتي بذلك بالفعل، ولذلك يمكنك استخدام عنصر div وتحديد display:flex لإظهار العناصر جنبًا إلى جنب. حاولي تعديل الشفرة الخاصة بك كالتالي: <div style="display: flex; align-items: center;"> <img class="imgl@" v-if="item.logo I== ''" :src="require('../../assats/ing/$Eitam.Lago')"/> <p class="heder-box ps-3 mb-0"> {{item.name}} | HEE : <i v-if="index != 3" class="fa fa-plus ms-3" aria-hidden="true"></i> </p> </div> وباستطاعتك تعديل أنماط CSS الخاصة بك وفقًا لما تريدينه.
  23. يوجد عدة أسباب محتملة لهذه المشكلة، أرجو منك التحقق من الآتي: عدم وجود بيانات الاتصال الصحيحة لقاعدة البيانات، يجب التأكد من صحة اسم المضيف (hostname) واسم المستخدم (username) وكلمة المرور (password) واسم قاعدة البيانات (database name) ورقم المنفذ (port number). عدم وجود برنامج خادم MySQL مثبتًا على الجهاز، يجب تثبيت خادم MySQL على الجهاز والتأكد من أنه يعمل بشكل صحيح. تعذر الوصول إلى الخادم، يجب التأكد من توفر اتصال بالإنترنت وأن الخادم يعمل بشكل صحيح. إذا كنت تستخدمي MySQL على الإنترنت، فقد يكون المشكلة في توجيه المنفذ على الخادم، وهذا يتطلب إعداد خادم MySQL بشكل صحيح للسماح بالاتصال عبر المنافذ المطلوبة. و يجب التأكد من أن جميع بيانات الاتصال الخاصة بقاعدة البيانات صحيحة، وتجربة الاتصال بقاعدة البيانات باستخدام أدوات إدارة القواعد الخاصة بقاعدة البيانات للتحقق من صحة الاتصال، كما يمكن استخدام وحدات التحكم والتصحيح المتاحة في Android Studio لمعرفة سبب الخطأ.
  24. سيتم دفع المبلغ المحدد من قبل المستخدمين مباشرة إلى حساب المرابحة الذي قمت بإنشائه عند إعداد Apple Pay، وتعتمد طريقة سحب الأموال على مزود خدمة المدفوعات الذي استخدمته، وقد يتضمن ذلك تحويل الأموال إلى حساب مصرفي أو توفير خيارات أخرى للتحويل. ولمزيد من المعلومات، يمكنك الاطلاع على مستندات Apple Pay والتواصل مع دعم مزود الخدمة المدفوعات الذي استخدمته لمزيد من المعلومات حول الحصول على الأموال التي تم دفعها عن طريق Apple Pay. ويجب معرفة أن عمولة متجر تطبيقات آبل، هي 30 في المئة على التطبيقات والمشتريات داخل التطبيقات للسلع الرقمية والخدمات. ولكن يستثنى من ذلك مبيعات المنتجات الفعلية (المادية). وبعد مرور عام على الاشتراك، تتراجع العمولة المستحقة إلى 15 في المئة. وإليك نبذة عامة حول بعض الإرشادات اللازمة لتكوين التطبيق بما يتوافق مع قوانين Apple Pay في بعض الأسواق. على سبيل المثال، يتطلب القانون الأوروبي (PSD2) تضمين بعض الخيارات في خصائص Apple Pay للمعاملات التي تجري في المملكة المتحدة ومنطقة الاتحاد الأوروبي. بالإضافة إلى ذلك، يجب على التجار إظهار مبلغ نهائي على ورقة الدفع. بالنسبة للسعودية، يتطلب استخدام شبكة دفع (Mada) لجميع معاملات الخصم المحلية، وعلى التجار المقيمين في السعودية والذين يدعمون بطاقات الخصم إضافة شبكة الدفع (Mada) إلى الشبكات المدعومة. كما يجب على التجار المستخدمين لمزود الخدمة الدفع التأكد من دعم شبكة (Mada). وإذا لم يتم تضمين Mada، قد لا يتمكن مستخدمو Apple Pay من استخدام بعض البطاقات المصدرة في المملكة العربية السعودية عندما يكون الكود الخاص بالدولة هو SA.
  25. أهلا بك في أي وقت مهيب، شكرًا لإقتراحك وسيتم أخذه في الإعتبار لرؤية إمكانية إضافته للتحديثات القادمة لدورة PHP إن شاء الله. بخصوص ما تريده فهمه: بالنسبة للتعامل مع group by في قواعد البيانات، فهذا يستخدم عادةً لتجميع الصفوف في الجداول وتحليل البيانات المختلفة، ففي Laravel، يمكن استخدام الدالة groupBy في الاستعلامات الخاصة بقاعدة البيانات للقيام بعملية group by. أما بالنسبة لدمج هذا مع API RESTful في مشروع Laravel، فبإمكانك استخدام الـ Eloquent ORM الذي يمكنك من التعامل مع قاعدة البيانات بطريقة سهلة ومباشرة ويسهل عمليات الـ CRUD (الإنشاء والقراءة والتحديث والحذف)، وباستطاعتك إنشاء نموذج Model يمثل الجدول المراد القيام بـ group by عليه، ثم استخدام الدالة groupBy في الاستعلامات الخاصة بقاعدة البيانات. أما بالنسبة للدردشة، فيمكن تنفيذها باستخدام Laravel وتطبيق WebSocket، واستخدام مكتبات مثل Ratchet أو Pusher لإنشاء اتصال ثنائي الاتجاه بين المستخدمين والسيرفر، وإرسال واستقبال الرسائل في الوقت الحقيقي، بالإضافة إلى استخدام group by لتجميع رسائل معينة حسب العنوان أو الغرفة أو المستخدم. مثال بسيط: باستخدام Laravel وتطبيق WebSocket لإنشاء اتصال ثنائي الاتجاه بين المستخدمين والسيرفر، وإرسال واستقبال الرسائل في الوقت الحقيقي، والتحكم بعدد المستخدمين الموجودين في الدردشة، وإنشاء غرف الدردشة وإضافة المستخدمين إلى تلك الغرف. من الممكن استخدام مكتبات مثل Ratchet أو Pusher لتنفيذ هذا النوع من التطبيقات. لاحظ أن Ratchet يوفر خادم WebSocket لـ PHP ، في حين أن Pusher يوفر واجهة برمجة تطبيقات (API) لإنشاء تطبيقات الدردشة بسهولة. فيما يلي مثال بسيط يستخدم Pusher: // create a new chat room Route::post('/chat/room', function(Request $request) { $roomName = $request->input('roomName'); $pusher = new Pusher(env('PUSHER_APP_KEY'), env('PUSHER_APP_SECRET'), env('PUSHER_APP_ID')); $pusher->trigger('chatroom', 'new-room', ['roomName' => $roomName]); }); // join a chat room Route::post('/chat/room/join', function(Request $request) { $roomName = $request->input('roomName'); $username = $request->input('username'); $pusher = new Pusher(env('PUSHER_APP_KEY'), env('PUSHER_APP_SECRET'), env('PUSHER_APP_ID')); $pusher->trigger("chatroom-$roomName", 'new-user', ['username' => $username]); }); // send a message to a chat room Route::post('/chat/message', function(Request $request) { $roomName = $request->input('roomName'); $username = $request->input('username'); $message = $request->input('message'); $pusher = new Pusher(env('PUSHER_APP_KEY'), env('PUSHER_APP_SECRET'), env('PUSHER_APP_ID')); $pusher->trigger("chatroom-$roomName", 'new-message', ['username' => $username, 'message' => $message]); }); في المثال، تستخدم Pusher لإنشاء غرف الدردشة وإضافة المستخدمين إلى تلك الغرف، وإرسال واستقبال الرسائل في الوقت الحقيقي،ويمكنك تغيير الرموز المميزة مثل 'chatroom' أو 'new-room' و 'chat-message' حسب احتياجات تطبيقك. ويمكن إضافة مزيد من الميزات إلى التطبيق مثل إضافة نظام مصادقة لتحديد المستخدمين المسجلين والمصرح لهم الانضمام إلى غرف الدردشة، وإمكانية تحديد صلاحيات المستخدمين في الغرف المختلفة، أيضًا تخصيص واجهة المستخدم وإضافة مزيد من الميزات الإضافية مثل إرسال الصور والملفات، وتوفير وظائف بحث وتصفية لرسائل الدردشة.
×
×
  • أضف...