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

ياسر مسكين

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

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

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

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

    5

آخر يوم ربح فيه ياسر مسكين هو أغسطس 2

ياسر مسكين حاصل على أكثر محتوى إعجابًا!

9 متابعين

المعلومات الشخصية

آخر الزوار

1817 زيارة للملف الشخصي

إنجازات ياسر مسكين

عضو نشيط

عضو نشيط (3/3)

1.2k

السمعة بالموقع

16

إجابات الأسئلة

  1. السلام عليكم ورحمة الله تعالى وبركاته، يمكنك تعديل الكود ليطلب من المستخدم إدخال اسم المدينة بدلاً من استخدام رابط ثابت. استبدل الجزء الخاص بالرابط والبحث بهذا الكود: city = input("أدخل اسم المدينة: ") url = f"https://www.timeanddate.com/worldclock/{city.lower()}" driver.get(url) مع إضافة معالجة للأخطاء في حالة عدم وجود المدينة: try: html = driver.page_source soup = BeautifulSoup(html, "html.parser") time_element = soup.find("span", {"id": "ct"}) if time_element: print(f"الوقت في {city}: {time_element.text}") else: print("لم يتم العثور على المدينة") except Exception as e: print("خطأ في الحصول على البيانات") finally: driver.quit()
  2. الانتقال من Create React App (CRA) إلى Vite ليس مسألة إلزامية عند تعلم React لأن جوهر المكتبة سيبقى كما هو فأنت ستتعامل مع المكونات، props، state وhooks بنفس الطريقة تماما لكن الفارق يكمن في أداة التطوير نفسها. ف CRA كان الأداة الرسمية سابقا لكنه أصبح بطيئا في تشغيل الخادم والبناء، ولم يعد يتلقى تحديثات مهمة، بينما Vite صُمم ببنية حديثة تعتمد على ES Modules وواجهة تطوير فائقة السرعة، ما يمنحك بدء تشغيل فوري تقريبا، تحديثات لحظية دون بطء مع حجم ملف build أصغر، وإمكانية تخصيص سهلة عبر ملف إعداد واحد.
  3. السلام عليكم ورحمة الله تعالى وبركاته، ال OOP في C# لا يلغي دور قواعد البيانات بل يكملها فقاعدة البيانات تهتم بتخزين البيانات وتنظيمها، بينما ال OOP يوفر لنا نموذج برمجي كائني للتعامل مع هذه البيانات داخل التطبيق فعلى سبيل المثال بدلا من التعامل مع جداول وأعمدة بشكل مباشر يمكنك تمثيل كل جدول ك class مثل User أو Product وكل صف ك object مما يسهل ربط منطق الأعمال (Business Logic) بالبيانات. وعبر ال OOP يمكنك استخدام Encapsulation لإخفاء تفاصيل الوصول للبيانات مثلا عبر Repository أو ORM مثل Entity Framework وInheritance/Polymorphism لتمثيل كيانات مترابطة مثلا Employee يرث من Person وهذا سيقلل التكرار ويجعل الكود أكثر وضوحا وقابلا للصيانة. عند الإضافة والتعديل أو الحذف من قاعدة البيانات. فالOOP يوفر الواجهات (Interfaces) والخدمات (Services) التي تفصل بين منطق التخزين ومنطق العمل، بحيث إذا غيرت قاعدة البيانات من SQL إلى NoSQL مثلا فلن تضطر لإعادة كتابة التطبيق بالكامل بل فقط تعدل طبقة الوصول للبيانات.
  4. وعليكم السلام ورحمة الله تعالى وبركاته، ال Kaggle Notebooks لا تحتوي دائما على أحدث نسخة من المكتبات لأن Kaggle تعطي الأولوية لاستقرار البيئة على التحديث الفوري للمكتبات لتجنب التعارضات التي قد تحدث وهذا النظام يهدف إلى ضمان الاستقرار والتوافق بين جميع المكتبات المثبتة، بدلا من التحديث الفوري الذي قد يسبب تعارضات كما أن Kaggle يختبر التحديثات قبل دمجها لتجنب كسر البيئة مما يعني وجود فجوة زمنية بين إطلاق النسخة الجديدة وتوفرها في Notebooks.
  5. السلام عليكم ورحمة الله تعالى وبركاته، أولا فإنّ ال image_dataset_from_directory لا تتجاهل الصور التالفة تلقائيا يمكنك رؤية ذلك في رسالة التحذير: Corrupt JPEG data والتي تشير إلى وجود صور JPEG تالفة في ال dataset ثم يحدث الخطأ الكامل InvalidArgumentError عندما تواجه TensorFlow صورة تالفة لا يمكن فك تشفيرها نهائيا وهنا المشكلة أن TensorFlow يحاول معالجة جميع الملفات في المجلد دون تصفية، وعندما يصل لصورة تالفة مثل الصورة التي تسبب الخطأ: Input size should match header_size يتوقف التدريب تماما والحل هو تنظيف البيانات مسبقا عبر إزالة الصور التالفة يدويا أو برمجيا أو استخدام كود مخصص لإنشاء dataset يتجاهل الصور التالفة باستخدام tf.data.Dataset.from_generator مع معالجة الأخطاء أو إضافة tf.data.AUTOTUNE مع dataset.map() و try-except للتعامل مع هذه الحالات.
  6. السلام عليكم ورحمة الله تعالى وبركاته، ال Parameters أو المعاملات هي المتغيرات التي تعرف في تعريف الدالة نفسها بين الأقواس بمعنى آخر هي أسماء المتغيرات التي تستخدمها الدالة لتستقبل قيما عند استدعائها مثلا لو عرفت دالة تجمع رقمين، الرقمين هذان هما معاملات الدالة. أما ال Arguments فهي القيم أو المعاملات الممررة وهي القيم التي ترسل للدالة عند استدعائها أي القيم الفعلية التي تمرر إلى المعاملات (Parameters) عند استدعاء الدالة بحيث تضع القيم التي تريد معالجتها في الدالة.
  7. السلام عليكم ورحمة الله تعالى وبركاته، بعد إكمال مشروع دورة تطوير واجهات المستخدم ودورة تطوير تطبيقات JavaScript، يمكنك الانتقال لتعلم Backend ضمن دورة JavaScript نفسها مع التركيز على تطوير الويب فقط بدون React Native أو تطبيقات سطح المكتب. والمسارات الخاصة بالBackend تشمل تعلم أساسيات Node.js لبناء الخوادم، استخدام Express.js لإنشاء APIs، التعامل مع قواعد البيانات مثل MongoDB، تطوير RESTful APIs، إدارة المصادقة وأمن التطبيقات، وأخيرا تطبيق مشاريع عملية مثل تطبيق دردشة أو نظام أسئلة وأجوبة. بعد اكتساب هذه المهارات يمكنك دمج ما تعلمته مع React.js في دورة Frontend المتقدمة لتطوير مشاريع MERN كاملة مع إمكانية تعلم تقنيات إضافية مثل Next.js وTypeScript: أساسيات Node.js Express.js لتطوير APIs قواعد البيانات (MongoDB) بناء RESTful APIs إدارة المصادقة وأمن التطبيقات مشاريع عملية مثل تطبيق دردشة ونظام أسئلة وأجوبة
  8. الفرق الأساسي بين منصة سنديان و منصة ووردبريس في بناء المواقع أن سنديان تقدم حلا متكاملا وسهل الاستخدام يشمل الاستضافة والنطاق والتصميم مقابل اشتراك سنوي، بينما ووردبريس هو عبارة عن نظام إدارة محتوى مجاني يثبت على استضافة مستقلة ويتطلب شراء النطاق وتجهيزات تقنية منفصلة، ويمنح تخصيصا أوسع أما في سنديان ستحصل على موقع جاهز يمكن إنشاؤه وتعديله بسهولة بالاعتماد على قوالب احترافية ونظام السحب والإفلات، وتتكفل المنصة بكل تفاصيل الاستضافة وحجز النطاق (سواء مجاني أو ربط نطاق خاص) ولا تحتاج لصيانة تقنية أو تحديثات دورية إذ تتم تلقائيا. أما ووردبريس فيحتاج خبرة تقنية، إذ تقوم أولا بحجز استضافة ونطاق بشكل منفصل، ثم تركيب النظام واختيار القوالب والإضافات، وقد تستعين بمبرمج لتحقيق تخصيص أوسع أو للقيام بالصيانة والتحديثات، ما يجعل مدة التنفيذ أطول وتكلفته الإجمالية أعلى عادة مقارنة بسنديان، خصوصا عند اعتماد إضافات مدفوعة أو خدمات مطورين.
  9. السلام عليكم ورحمة الله تعالى وبركاته، سأجيبك العديد من المبرمجين لا يولون أهمية لصحتهم النفسية والجسدية في البدايات ولا يعيرونها أي أهمية، وهذا ما جعل العديد منهم يعانون من عدة أمراض صحية (ضعف الرؤية، آلام الظهر والرأس، السمنة وغيرها) إضافة إلى فقدان الشغف والبقاء في حلقة ولا يعيشون حياتهم على النحو الصحيح والإيجابي. لكن ليسو كلهم كذلك، فجزء منهم أيضا يهتم بالصحة النفسية والجسدية ويقوم بتحقيق الانسجام بين الواقع والبرمجة، ويكون متوازنا بينهما. أولا يجب أن تستشير طبيب عيون وتقوم بمراجعته وسيقدم لك اللازم فتوجد نظارات تحميك من أشعة الشاشات فهي لها تأثير سلبي مع مرور الوقت. من ناحية الهاتف من الأفضل أن تقلل استعماله في الليل وأيضا بالنسبة للحاسوب ولا أشاطر فكرة أن المبرمج يجب أن يسهر حتى ساعات الصباح الباكر فهذا محض هراء وعادة سيئة لا أنصح بها إلا إن كان المرء مضطرا لذلك. بالنسبة للتجهيز المكتبي ينصح بأن يستثمر المبرمج فيه يمكنك شراء مسند كمبيوتر يقوم بتغيير زوايا الحاسوب وتدريجها بحيث لا تؤلمك رقبتك وظهرك، ومسند للفأرة يكون مناسب لتوفير راحة ليدك، وأيضا في مقدورك إن استطعت شراء شاشة جانبية ستساعدك وتوفر عليك الوقت والجهد (احرص أن تكون من نوع جيد فالعديد من الشاشات تكون قاتلة للعين وغير مريحة) وأيضا شراء كرسي من نوع جيد ولا أنصح بكراسي ال Gaming فهي غير مناسبة.
  10. السلام عليكم ورحمة الله تعالى وبركاته، هل تقصد محرر الأكواد Visual Studio Code ؟ إن كان كذلك فسيتم التعامل معه بكل تأكيد لكن ذلك يعتمد على الدورة التي تتحدث عنها لذا يرجى طرح أسئلتك أسفل الدرس الذي واجهتك فيه المشكلة أو تريد الاستفسار عن شيئ معين هناك لنجيبك بشكل دقيق.
  11. السلام عليكم ورحمة الله تعالى وبركاته، الاعتماد على JavaScript فقط ممكن تماما فهي تبقى اللغة الأصلية للويب وتكفي لتطوير أي مشروع صغير أو متوسط لكن مع تعقّد المشاريع وكثرة الملفات والمكونات يصبح من الصعب اكتشاف الأخطاء مبكرا أو تنظيم الشيفرة بكفاءة وهنا يأتي دور TypeScript التي تضيف نظام الأنواع (Types) لمراقبة الأخطاء أثناء الكتابة وتسهيل الصيانة والتطوير الجماعي. صحيح أن TypeScript قد تبدو مزعجة في البداية بسبب الحاجة لتعريف الأنواع والتقيّد بالقواعد الصارمة لكن فائدتها تظهر بوضوح في المشاريع الكبيرة، حيث تقلل من الأخطاء وتزيد الإنتاجية على المدى الطويل.
  12. وعليكم السلام ورحمة الله تعالى وبركاته، أرجو مراجعة الأجوبة التي في هذا الرابط: الفرق باختصار يكمن في أنّ: justify-content: center; تتحكم بمحاذاة العناصر على المحور الرئيسي (main axis).يعني إذا ال flex-direction: row (المحور الأفقي) فهي تضع العناصر في وسط الأفق وإذا كان flex-direction: column (المحور العمودي) فهي تضع العناصر في وسط العمود. أما: align-items: center; فهي تتحكم بمحاذاة العناصر على المحور العرضي (cross axis) داخل الحاوية يعني إذا ال flex-direction: row (المحور الأفقي) فهي تضع العناصر في وسط العمود وإذا كان flex-direction: column (المحور العمودي) فهي تضع العناصر في وسط الأفق لكن هذه الخاصية تؤثر على كل العناصر كل داخل صفّه (line) فقط. أما: align-content: center; فهي تستخدم فقط عندما يكون عندك أكثر من سطر (multiple lines) من العناصر flex-wrap مفعّل أو في Grid فهي تتحكم بموضع الأسطر كلها مع بعض على المحور العرضي (cross axis) بينما align-items: center يهتم بالعناصر الفردية داخل كل سطر، align-content: center يهتم بتموضع الأسطر كاملةً في الحاوية.
  13. السلام عليكم ورحمة الله تعالى وبركاته، الموجود حاليا هو أنه يمكنك معرفة أين توقفت آخر مرة في مشاهدة الدورة كما هو موضه في الصورة: وذلك من خلال الدائرة الزرقاء إذ أنها تبين أنّ الدرس لم تتم مشاهدته بعد. كما أن الاشتراك في الدورة يضمن لك إتاحتها لك مدى الحياة فلا خوف على إنهائها لأنّه يمكنك أن تنهيها متى أردت ذلك، كما أنّ تحديثات الدورة أيضا متاحة مجانا ومدى الحياة.
  14. السلام عليكم ورحمة الله تعالى وبركاته، إذا كان هدفك من دورة بايثون هو تحليل البيانات فقط فأولا يجب أن تركز على أساسيات لغة بايثون لأنها الأداة التي ستتعامل بها مع البيانات من متغيرات وحلقات وقوائم وأكيد الدوال وأفضل دورة لك هي دورة الذكاء الاصطناي أين يتم تركيز على المكتبات والتطبيقات العملية مثل NumPy وPandas وMatplotlib لأنها قلب تحليل البيانات حيث تسمح بتنظيف البيانات، تنظيمها، واستخراج الرسوم البيانية والتقارير وأيضا وحدة تحليل البيانات نفسها لأنها تعلمك كيفية التعامل مع مجموعات بيانات حقيقية وصياغة استنتاجات يمكنك دوما الاطلاع على مسارات الدورة من هنا: https://academy.hsoub.com/learn/artificial-intelligence
  15. السلام عليكم ورحمة الله تعالى وبركاته، إصدار HTML الخامس يعني الجيل الأحدث من لغة ترميز الصفحات على الويب بعد HTML4 وXHTML حيث جاء لتجاوز قيود الإصدارات السابقة وتوحيد المعايير بين المتصفحات وتقنيا HTML5 لا يقتصر على تحسين بناء الجملة فحسب بل قدّم مجموعة من العناصر الجديدة مثل <header>, <article>, <section>, <footer> لتنظيم المحتوى بشكل دلالي أفضل كما أضاف دعما مدمجا لعرض الوسائط المتعددة عبر <audio> و<video> دون الحاجة إلى إضافات مثل Flash. كذلك قدّم واجهات برمجية (APIs) جديدة مثل Canvas API للرسم ثنائي الأبعاد، Geolocation API لتحديد موقع المستخدم، وLocal Storage لتخزين البيانات محليا في المتصفح بدلا من الاعتماد فقط على ملفات الكوكيز. كما حسّن التوافق مع الأجهزة المحمولة من خلال دعم الاستجابة (Responsive Design) بشكل أفضل، وأصبح أكثر تكاملا مع CSS3 وJavaScript.
×
×
  • أضف...