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

Chihab Hedidi

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

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

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

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

    13

كل منشورات العضو Chihab Hedidi

  1. يمكنك العثور على الملفات المرفقة أسفل فيديو المدخل من كل مسار في الدورة، أرجوا تحميله من هناك، و في حالة لم تجده أرجوا وضع سؤالك أسفل الفيديو الذي فيه المشكل حتى نتمكن من مساعدتك.
  2. ما تواجهه يعد أمر شائع بين المطورين، حتى لو كنت قد تعلمت JavaScript وفهمت أساسيات React، المشكلة هنا لا تتعلق بعدم الفهم، بل غالبا ما تكون في الانتقال من التعلم النظري إلى التطبيق العملي، الخطوة الأولى التي تحتاجها هي أن تتعلم كيف تفكر كمطور، أي تبدأ بتخطيط التطبيق على الورق: ما هي المكونات؟ ما البيانات التي ستخزن؟ كيف سيتفاعل المستخدم مع الواجهة؟ ابدأ ببساطة، صفحة واحدة، مهمة واحدة، دون التركيز على التصميم أو التفاصيل المعقدة، و بناء التطبيق هو مهارة تتطور بالممارسة، وليس بمجرد الفهم النظري، و مع الوقت ستتجاوز حاجز البداية وتنتقل تدريجيا من متعلم إلى مطور فعال.
  3. من الأفضل أن تركز في البداية على العناصر والمفاهيم التي تشرح داخل الدروس، لأنها عادة ما تكون مرتبة بطريقة تدريجية ومصممة لتساعدك على الفهم خطوة بخطوة دون تشتت، الرجوع إلى موسوعة حسوب مفيد جدا، لكن لا داعي لحفظ أو دراسة كل شيء دفعة واحدة، ولكن استخدم الموسوعة كمصدر مرجعي، فعندما يصادفك عنصر أو مفهوم في الدرس وتحتاج توضيح أعمق، ارجع إليه واقرأ عنه، أما محاولة حفظ كل محتوى HTML، CSS، JavaScript، وjQuery دفعة واحدة فقد تكون مرهقة وغير فعالة، خصوصا في المراحل الأولى.
  4. المسار /kaggle/working/ يستخدم كمساحة تخزين مؤقتة، وبالتالي يتم حذف كل الملفات الموجودة فيه تلقائيا عند إغلاق النوتبوك أو إعادة تشغيله، وبالتالي لا يمكن الاعتماد عليه لحفظ الملفات بشكل دائم، و إذا كنت ترغب في الاحتفاظ بملفاتك بعد انتهاء الجلسة، يمكنك تحميلها يدويا إلى جهازك من خلال أدوات Kaggle أو استخدام ميزة Create Dataset لحفظ مخرجات مشروعك في شكل مجموعة بيانات خاصة داخل حسابك، مما يسمح لك بإعادة استخدامها لاحقا في مشاريع أخرى.
  5. استخدامها يهدف إلى ضمان إعادة نفس النتائج في كل مرة يتم فيها تشغيل الكود، مما يجعل النتائج قابلة للتكرار، و ذلك لأن IterativeImputer يعتمد على عمليات عشوائية، مثل اختيار القيم المبدئية أو ترتيب الأعمدة أثناء التكرار، وبالتالي بدون تحديد random_state قد تختلف النتائج في كل تشغيل، أما الرقم 42 هو مجرد قيمة شائعة الاستخدام كمثال، ويمكن استخدام أي رقم ثابت آخر.
  6. نعم يمكنك حذف الملفات التي يتم إنشاؤها داخل هذا المجلد، لأنه يستخدم كمجلد عمل مؤقت لتخزين الملفات الناتجة من عمليات التحليل أو التدريب، ولا يؤثر حذف هذه الملفات على ملفات البيانات الأصلية أو بيئة العمل، و لكن فقط تأكد من أنك لا تحذف ملفا لازلت تحتاجه في مراحل لاحقة من تشغيل الكود.
  7. تطوير نفسك في مجال الـ SEO يمكن أن يستغرق ما بين شهرين إلى ستة أشهر لتصل إلى مستوى جيد، حسب وقتك اليومي المخصص للتعلم والتطبيق العملي، ويجب أن تبدأ أولا بفهم الأساسيات مثل الكلمات المفتاحية، بنية المواقع، وبعدها يمكن أن تنتقل لمهارات متقدمة مثل تحليل البيانات باستخدام أدوات التحليل، أما بالنسبة لسؤالك عن علاقته بالبرمجة، نعم تعلم SEO يفيدك في البرمجة، خصوصا إذا كنت تشتغل في تطوير الواجهات الأمامية أو بناء مواقع ويب. حيث ستكتب كود متوافق مع محركات البحث، و هذا يجعل المواقع التي تبنيها تظهر في نتائج البحث بشكل أفضل. يمكنك الإطلاع على هذا المقال حيث سيفيدك كثيرا:
  8. في حالة IterativeImputer فهي تعتمد بشكل أساسي على مكتبات لا تستفيد من تسريع GPU مثل NumPy وscikit-learn نفسها، والتي تعمل غالبا على وحدة المعالجة المركزية CPU، لذا حتى عند تفعيل بيئة GPU، فإن IterativeImputer سيظل يعمل على الـ CPU لأن مكتبة scikit-learn لا تدعم تسريع GPU بشكل مباشر، يمكنك التفكير في استخدام مكتبات بديلة مثل cuML من RAPIDS، والتي تقدم خوارزميات مشابهة ومدعومة على GPU، لكن قد تحتاج إلى تعديل الكود ليتوافق مع هذه المكتبات.
  9. نعم يمكنك ذلك و هذه الخاصية تكون مضبوطة على np.nan، ولكن يمكنك تعديلها لتأخذ أي قيمة عددية أخرى، مثل -1.0، إذا كنت تستخدمها لتمثيل القيم المفقودة، لكن يجب أن تتأكد أيضا أنه لازال يحتسب np.nan كقيم مفقودة أيضا.
  10. هذا الأمر يعتمد على كون القيم المفقودة ممثلة بصيغة np.nan أي Not a Number حتى تتعرف عليها وتقوم بتعويضها، أما إذا كانت القيمة المفقودة مكتوبة بشكل يدوي مثل -1 أو أي قيمة رقمية أخرى، فإن هذه النماذج لن تتعرف عليها تلقائيا كمفقودة، بل ستعاملها كقيمة عادية موجودة في البيانات، لذا من الضروري قبل استخدام هذه النماذج أن تقوم بتحويل القيم التي ترمز للمفقود إلى np.nan بهذا الشكل: df.replace(-1, np.nan, inplace=True) وبذلك يمكن للموديل أن يتعرف عليها ويعالجها بالشكل الصحيح.
  11. يجب أن تعرف أولا أنه من الطبيعي أن يشعر المتعلمون في المراحل الأولى من البرمجة بالإحباط عند محاولة تنفيذ مشروع بسيط بمفردهم، حتى رغم دراسة المفاهيم الأساسية، و السبب الرئيسي غالبا لا يعود إلى نقص في القدرات، بل إلى فجوة بين الفهم النظري والتطبيق العملي، حيث قد تكون تعلمت المفاهيم بشكل منفصل، لكن لم تتدرب على ربطها معا لحل مشكلة كاملة، فالبرمجة ليست فقط حفظ للأوامر، بل هي مهارة تحتاج إلى الممارسة المنتظمة والتفكير التحليلي، وهذا يتطلب وقت وصبر، حاول أن تقسم المشروع إلى مراحل و لا تخاف من كونه غير ناجح فكل المشاريع تبدأ هكذا، مثلا حاول إنشاء واجهة اللعبة فقط أولا، ثم إضافة منطق بسيط للحركات، ثم التحقق من الفوز، وهكذا. بالتدريج، ستلاحظ تحسن واضح في قدرتك على بناء المشاريع.
  12. نعم يمكنك فعل ذلك تماما، وبما أن الأعمدة النصية لديك لا تحتوي أصلا على قيم مفقودة، فمن الأفضل أن تزيلها مؤقتا من مجموعة البيانات أثناء إجراء عملية التعويض، وتبقي فقط على الأعمدة الرقمية التي تحتوي على القيم المفقودة، وبعد الانتهاء من التعويض وإرجاع القيم المفقودة، يمكنك دمج الأعمدة النصية مجددا مع البيانات المعالجة، و بذلك تضمن عمل هذه النماذج بكفاءة دون أخطاء أو تشويش أثناء المعالجة.
  13. أعتقد أنه صعب العثور على مشروع مفتوح المصدر بالفكرة التي تريدينها لذا من الأفضل تنفيذها بنفسك، و الفكرة الأساسية تعتمد أولا على معالجة الفيديو الملتقط للتعرف على موقع وشكل آلة الطارات باستخدام خوارزميات التعرف على الأجسام مثل YOLO أو MediaPipe، و بعد تحديد موقع الآلة بدقة في المشهد، يتم إدراج كيان افتراضي بحيث يظهر وكأنه جزء طبيعي ومتناسب مع البيئة المحيطة، و يجب أن تراعي الانسجام في الإضاءة والظلال وموضع الإدراج كي يبدو العنصر الافتراضي واقعيا.
  14. الأفضل عموما أن تبدأ أولا بمعالجة القيم المفقودة قبل القيام بعملية استخراج الميزات، لأن القيم المفقودة يمكن أن تؤثر على حساب الميزات أو تجعل بعض العمليات تفشل أصلا. لأن الميزات المستخرجة ستعتمد على البيانات المتوفرة، وإذا لم تعالج القيم الناقصة مسبقا قد تدخل تشويشا أو أخطاء في النتائج.
  15. عادة ما يتم طرح مجموعة من الأسئلة التي تغطي عدة جوانب أساسية، حيث يبدأ الأمر بأسئلة شخصية لفهم خلفيتك، بعد ذلك تأتي الأسئلة التقنية، والتي تختلف حسب اللغة أو الإطار المطلوب لكنها غالبا تشمل حل مشاكل خوارزمية، فهم هياكل البيانات كالمصفوفات و القوائم، و أسئلة عن مبادئ البرمجة الكائنية، وأحيانا أسئلة حول قواعد البيانات أو واجهات برمجة التطبيقات، و بالتأكيد الأسئلة تختلف حسب الوظيفة و أيضا تختلف من شركة لأخرى لذا من الأفضل الإطلاع على هذا الأمر من قبل و التحضير الجيد لكل هذه الجوانب يزيد من فرصك في النجاح.
  16. نعم يمكنك منح كل مستخدم نطاق فرعي خاص به وهذا يعرف بـ subdomain routing، من الناحية التقنية لا توجد حدود لعدد النطاقات الفرعية من جهة نظام أسماء النطاقات يمكنك نظريا إنشاء آلاف أو حتى ملايين النطاقات الفرعية، طالما أن خادمك والتطبيق قادران على التعامل مع طلباتها. لكن في الواقع القيود تأتي من ناحية أداء الخادم، إعدادات DNS، ومقدمي خدمة الاستضافة، فبعض خدمات DNS التجارية قد تفرض حدودا أو رسوما إضافية إذا تجاوزت عدد معين من السجلات المخصصة، أو إذا احتجت إلى إعداد wildcard DNS الذي يغطي كل النطاقات الفرعية تلقائيا. و أيضا تكلفة النطاقات الفرعية تنعكس على استهلاك الموارد، وليس كرسوم مباشرة لكل اسم فرعي، لكن إذا كنت تستخدم خدمات مثل Cloudflare أو مقدمي DNS مدفوعين، فقد تظهر رسوم إضافية عند الحاجة إلى دعم موسع أو تخصيص خاص للنطاقات الفرعية. يعني أن هذا الأمر له علاقة بالإستضافة التي تعمل عليها و من الأفضل مراسلة الدعم الخاص به لمعرفة كل التفاصيل.
  17. الذكاء الاصطناعي بالفعل غير شكل العمل في مجالات كثيرة، خاصة البرمجة، و صحيح أن الأدوات الحديثة أصبحت قادرة على توليد أكواد معقدة بسرعة، بل وحتى بناء مواقع أو تطبيقات كاملة بضغطة زر، وهذا يعني أن المبرمجين المبتدئين الذين يقتصر دورهم فقط على تنفيذ مهام بسيطة أصبحوا بالفعل مهددين، لأن الشركات تبحث دائما عن تقليل التكاليف وزيادة الإنتاجية، لكن هذا لا يعني أن تعلم البرمجة فقد أهميته أو أن المبرمجين انتهى دورهم، فالذكاء الاصطناعي لا يفهم السياق الكامل للمشاكل ولا يعرف تفاصيل كل مشروع أو احتياجات كل عميل، بل يعتمد على ما يعطى له من تعليمات، و المبرمج المحترف هو من يعرف كيف يحدد المشكلة و يفهم متى وكيف يستخدم الذكاء الاصطناعي كأداة، ويضمن أن النتائج النهائية آمنة وفعالة.
  18. لا أعتقد ذلك، فاستخدام النماذج اللغوية الكبيرة بشكل مباشر لكتابة الأكواد لا يعلمك البرمجة فعليا، بل يعطيك حلولا جاهزة قد لا تفهم تفاصيلها الدقيقة، و هذه النماذج موجهة أساسا للمحترفين الذين لديهم خبرة كافية لفهم، تدقيق، وتصحيح المخرجات التي تقدمها، وليس للمبتدئين، و إذا كنت في مرحلة التعلم، فمن الأفضل بكثير أن تعتمد على كتابة الأكواد بنفسك، و تجريبها وارتكاب الأخطاء لأن هذه هي الطريقة التي تكوِّن بها فهما حقيقيا للمفاهيم الأساسية، فالتعلم الذاتي عبر الممارسة هو ما يبني أساسا صلبا، بينما الاعتماد المفرط على النماذج قد يجعلك تحفظ دون أن تفهم.
  19. يمكنك تغيير الشفافية عن طريق إضافة إسمها GlassIt-VSC حيث ستمنحك التحكم في شفافية واجهة VSCode، بعد التثبيت افتح الإعدادات وابحث عن إعدادات الإضافة أو اضغط Ctrl+Shift+P ثم اكتب: GlassIt: Set Opacity بعدها يمكنك التعديل على الشفافية مثل ما تريد.
  20. هذه الثيمات يتم تغييرها حسب رغبتك،و على حسب الصور أعتقد أن هذا هو الثيم الذي تريده: https://vscodethemes.com/e/azemoh.one-monokai/one-monokai كما يمكنك الإطلاع على هذا الموقع و الذي يحتوي على كل الثيمات، يمكنك إختيار ما يناسبك من هناك و تثبيته: https://vscodethemes.com/
  21. نعم هناك العديد من النماذج اللغوية الكبيرة المجانية والمفتوحة المصدر التي تُعد بدائل قوية لنماذج GPT، أبرزها Qwen 3 من Alibaba حيث تعد سلسلة Qwen من أقوى النماذج المفتوحة المصدر، و تدعم النصوص، الصور، الفيديوهات، والصوتيات. تم إصدار Qwen 3 في أبريل 2025، وتتوفر بأحجام متعددة وتدعم 119 لغة ولهجة. كما أنصحك بتجربة Falcon 180B من معهد الابتكار التكنولوجي في أبوظبي، و هو واحد من أكبر النماذج المفتوحة المصدر، يضم 180 مليار معلمة، ويتفوق على LLaMA 2 في مهام التفكير المنطقي والبرمجة، ويعتبر مناسب للمهام التي تتطلب قدرات تحليلية عالية.
  22. يوجد عدد من الأدوات والمشاريع مفتوحة المصدر التي توظف الذكاء الاصطناعي في مجال الأمن السيبراني، وهي تشهد اهتماما متزايد نظرا لقدرتها على تحليل كميات هائلة من البيانات واكتشاف الأنماط غير الطبيعية بسرعة تفوق القدرات البشرية، و من أبرز هذه الأدوات نجد Snort AI الذي يعتمد على تقنيات التعلم الآلي للكشف عن التهديدات المتقدمة وتحسين قدرات أنظمة كشف التسلل، وكذلك Zeek الذي يستخدم لمراقبة حركة الشبكة وتحليلها باستخدام خوارزميات ذكية للكشف عن الأنشطة المشبوهة، و هناك أيضا مشروع OSSEC الذي يعد نظام كشف تسلل مفتوح المصدر يعتمد على تقنيات تحليل سلوك الملفات والسجلات لاكتشاف الهجمات المحتملة، و هذه الأدوات تمثل فقط جزءا صغيرا من المشهد المتطور، إذ يتوقع أن يظهر المزيد من المشاريع المفتوحة التي تدمج الذكاء الاصطناعي لتحسين حماية الأنظمة ومواجهة التهديدات السيبرانية المتزايدة.
  23. نعم من الطبيعي جدا أن تواجه صعوبات كبيرة عندما تحاول بناء متجر إلكتروني وحدك باستخدام React، خاصة إذا كنت تعمل عليه لأول مرة أو ما زلت في مرحلة التعلم، فبناء متجر إلكتروني ليس مجرد تجميع واجهات أو صفحات، هناك تفاصيل كثيرة تدخل فيه. من الأفضل التطبيق مباشرة مع المدرب ولا تقن بنسخ الكود، حيث أن فهمك يزيد عند التطبيق المباشر، و أيضا إذا كان لديك أي تساؤل يمكنك طرح و سيتكفل المدربين بمساعدتك، و لا تنظر إلى هذه الصعوبات كإشارة على ضعفك، بل كفرص للتعلم والنمو، وخذها خطوة بخطوة و مع الوقت ستحترف التطوير.
  24. يجب عليك إضافة العنصر link في الجزء head و حتى حتى تربط الأيقونة مع المشروع بهذا الشكل: <head> <link rel="icon" type="image/x-icon" href="/favicon.ico"> </head>
  25. إذا كنت تميل لتعلّم تقنيات حديثة، والعمل بتقنيات متكاملة من الواجهة الأمامية إلى الخلفية باستخدام لغة واحدة، فدورة الجافاسكريبت هي الأنسب، فهي تغطّي كل ما تحتاجه لتصبح Full Stack باستخدام JavaScript، مثل React و Node.js و TypeScript و Next.js، و تطوير تطبيقات الجوال والويب وسطح المكتب و حتى دمج تقنيات الذكاء الاصطناعي في مشروع فعلي، و هذا المسار حديث جدا ومطلوب في السوق، ويمنحك أدوات قوية للبناء السريع والفعال لتطبيقات معقدة، بالإضافة إلى كونه متكاملًا مع دورة الذكاء الاصطناعي. كما يمكنك إختيار دورة تطوير تطبيقات الويب باستخدام لغة PHP و حتى هذا المسار مناسب أكثر إذا كنت تميل لتطوير تطبيقات تقليدية قوية ومستقرة، خصوصا في السوق العربي أو في بيئات تعتمد على PHP وLaravel وWordPress. فهي ممتازة لبناء أنظمة خلفية بسهولة. لكن بما أنك تطمح أيضا لتعلّم الذكاء الاصطناعي بعمق، فإن استخدام JavaScript سيكون أكثر مرونة وتكاملاً في مشاريع الذكاء الاصطناعي الحديثة.
×
×
  • أضف...