-
المساهمات
2489 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
يمكنك دراسة الإثنين مع بعض، بالنسبة لطريقة دراستها الأفضل أن تشاهد فيديوات شرح أفضل لأنهم يتم تبسيطها بشكل كبير و بالتالي يسهل عليك فهمها.
- 4 اجابة
-
- 1
-
-
الفرق بينهما يكمن في الهدف الأساسي لكل منهما والطريقة التي يتم بها تحقيق ذلك، حيث أن أنماط التصميم تعتبر حلول مجربة ومعتمدة لمشاكل معينة في التصميم البرمجي، تمثل النماذج التي تستخدم مجموعة من التقنيات والمبادئ لحل مشكلة معينة بشكل فعال وقابل للتوسع والصيانة، وتهدف إلى توفير طرق قياسية لحل مشاكل معينة مثل إدارة التواصل بين الكائنات، وتقسيم المشاكل الكبيرة إلى أقسام صغيرة، وتنظيم هيكل التطبيق. أما الكود النظيف فيشير إلى كتابة الكود بطريقة تجعله سهل القراءة والفهم والصيانة والتعديل، يشمل ذلك استخدام تسميات مفصلة للمتغيرات والدوال، وتقسيم الكود إلى وحدات صغيرة ومستقلة، والتعليقات المفصلة لشرح الخوارزميات المعقدة. بالنسبة لمبرمجي الذكاء الاصطناعي، فإن فهم Design Patterns يمكن أن يكون مفيدا بشكل كبير، إذ يمكن أن تساعدهم في تنظيم وتصميم النظم بشكل أفضل، وتحسين الأداء والكفاءة، وزيادة قابلية التوسع والصيانة، كما أن فهم الأنماط التقليدية للتصميم يمكن أن يوفر الوقت والجهد من خلال استخدام حلول مجربة ومعتمدة. و يمكنك أن تقرأ أكثر عليها من خلال هذه المقالات:
- 4 اجابة
-
- 1
-
-
مكتبة sys توفر وصولا إلى المتغيرات والوظائف المرتبطة بالنظام، هذه المكتبة مفيدة للتعامل مع المعلومات البيئية للنظام والبرنامج الذي يعمل عليه، و تحتوي على العديد من الوظائف و لكن الأهم و الأكثر إستخداما هي : sys.argv: قائمة تحتوي على الوسائط التي تم تمريرها إلى البرنامج من خلال سطر الأوامر. sys.path: قائمة تحتوي على المسارات التي يتم البحث فيها للوصول إلى المكتبات المستخدمة في البرنامج. sys.platform: يوفر معلومات حول المنصة التي يتم تشغيل البرنامج عليها (مثل win32 لنظام Windows أو linux لنظام Linux). sys.exit(): يتيح إنهاء تنفيذ البرنامج في أي وقت.و هذا كود صغير لكيف يتم إستخدام هذه المكتبة: import sys # استخدام sys.argv لطباعة الوسائط الممررة من سطر الأوامر print("الوسائط الممررة:", sys.argv) # استخدام sys.exit() للخروج من البرنامج بشكل نظيم if len(sys.argv) < 2: print("الرجاء تمرير معلمة واحدة على الأقل.") sys.exit(1) # يعني خروج بحالة خطأ # استخدام sys.platform للتعامل مع الأنظمة المختلفة بطرق مختلفة if sys.platform == "win32": print("أنت تستخدم ويندوز.") elif sys.platform == "linux": print("أنت تستخدم لينكس.")
- 2 اجابة
-
- 1
-
-
نعم هذا الكورس مناسب للمبتدئين في مجال الذكاء الاصطناعي، لأنه يحتوي على المفاهيم الأساسية للذكاء الاصطناعي بشكل عام ويغطي فروعا مختلفة منه، بما في ذلك تعلم الآلة وتعلم الآلة العميق و غيرها، و يهدف الكورس بشكل أساسي إلى تزويد الطلاب بالأسس اللازمة لفهم وتطبيق تقنيات الذكاء الاصطناعي في مختلف المجالات، وبالنسبة للفرع الذي يغطيه الكورس بشكل خاص، فهو أكثر تركيزا على تعلم الآلة (Machine Learning) بمختلف فروعه، ولكنه يتطرق أيضا إلى مواضيع أخرى مثل تحليل البيانات والذكاء الاصطناعي التطبيقي.
- 2 اجابة
-
- 1
-
-
في الدورة العديد من التطبيقات، الأفضل أن تقوم بإنشاء مجلد للدورة، و من ثم أنشئ داخله مجلد لكل مسار و قم بوضع التطبيقات العملية للمسارات داخل كل مجلد خاص بها وضعها بالكامل في مستودع واحد، لأن التطبيقات العملية هناك صغيرة، و يوجد أيضا في الأخير مشروع قم بإنشاء مستودع منفصل له على GitHub. بالتوفيق إن شاء الله.
-
Ubuntu Linux 22.04 LTS هو إصدار طويل الدعم (LTS) من نظام التشغيل Ubuntu Linux، و يعتبر LTS الإصدار الرئيسي لـ Ubuntu الذي يتم دعمه لمدة طويلة (عادة 5 سنوات) مع التركيز على الاستقرار والأمان. بالنسبة للميزات تم التركيز على تجربة مستخدم محسنة مع إضافة مبدل مساحة عمل أفقي ومشغل تطبيق أفقي، و تم تحسين مدير الملفات مع إضافة ميزات جديدة مثل شريط المسار القابل للتمرير والإكمال التلقائي للمسارات، كما يضم النظام تجربة لقطة شاشة جديدة وخيارات لتعطيل الرسوم المتحركة لسهولة الوصول. تم أيضا تحسين مظهر النظام بألوان مميزة ووضع مظلم حقيقي، مع تحسينات في واجهة سطح المكتب كما تم تحديث صفحات التطبيقات في مركز برامج Ubuntu Software، بالنسبة للعيوب المحتملة يمكن أن يكون هناك مشاكل في التوافق مع بعض البرامج والأجهزة القديمة، بالإضافة إلى التكيف الأولي للمستخدمين الجدد في نظام التشغيل Linux. و هذه أحد الصور للتقنيات الجديدة:
-
لديك خطأ بسيط في المتغير gradients حيث أنك في السطر 14 قمت بكتابته بشكل خاطئ بالشكل التالي: gradinets, عدله فقط ليصبح هكذا gradients.
- 3 اجابة
-
- 1
-
-
أعتقد أن هناك بعض الأخطاء في عملية الربط وفي ترتيب الجداول، حاول تنفيذ الاستعلام التالي الذي يحل الأخطاء ويعطيك النتائج المطلوبة: SELECT f.path_file, p.name_project, s.Num_std, s.Name_std, s.Email_STD, t.Name_teah, d.Name_dept FROM file_project f LEFT JOIN projects p ON f.id_p = p.id_Pro RIGHT JOIN student s ON p.Num_STD = s.Num_std RIGHT JOIN teachers t ON s.id_teah = t.id_teah RIGHT JOIN departments d ON t.id_dept = d.id_dept; هذا الاستعلام يستخدم عمليات الانضمام لربط الجداول معا، و يتم الانضمام من جدول file_project إلى جدول projects باستخدام LEFT JOIN ومن ثم الانضمام بين الجدولين student و teachers و departments باستخدام RIGHT JOIN.
-
البيانات الاصطناعية هي بيانات يتم إنشاؤها بواسطة الحاسوب وتكون مشابهة للبيانات الحقيقية الموجودة في العالم الحقيقي، و تستخدم بغرض زيادة الخصوصية وسلامة الأنظمة، و في حالة التعلم الآلي، نستخدم البيانات الاصطناعية لتحسين أداء النماذج، كما أنها مفيدة في الحالات التي يكون فيها البيانات قليلة أو غير متوازنة، و مكتبة faker أحد المكتبات الأكثر إستخداما في هذا الأمر. و يوجد حتى بعض الدراسات التي تشير أنه في 2024 ستكون 60٪ من البيانات المستخدمة في تطوير تطبيقات التعلم الآلي والتحليلية مولدة بشكل اصطناعي، ويعود هذا للاستخدام الزائد للبيانات الاصطناعية إلى التكلفة العالية لجمع وتنظيف البيانات الحقيقية، وندرة البيانات في بعض الحالات، والحاجة المتزايدة إلى البيانات لتدريب النماذج واختبارها. و هذه نتائج الدراسة التي تم إجرائها، يعني حاليا يعتبر هذا الأمر من توجهات الذكاء الإصطناعي، صحيح في بعض الخالات يتعين علينا إستخدام بيانات حقيقة، و لكن يمكن دعمها بهذا النوع من البيانات.
- 3 اجابة
-
- 1
-
-
نعم من الطبيعي أن ينسى الشخص بعض الأسماء الدقيقة للوظائف أو الأساليب المتاحة في لغة برمجة معينة، و الأمر ليس متعلق ب shuffle فقط، و إنما بأي دالة لا تستخدمها كثيرة و بالتالي ستنساها بعد مدة من عدم الاستخدام، في هذه الحالة يمكنك استخدام البحث عبر الإنترنت للتحقق من الاسم الصحيح واستخدامه في الشيفرة.
-
الأمر هذا يكون من البرنامج نفسه، حاول البحث في إعدادات الطباعة داخل البرنامج ربما تجد خاصية الحفظ كملف PDF، أو اذا كنت الطباعة خارجية يمكنك تفعيل هذا الأمر من خلال هذا الزر: و أيضا هناك برامج يمكنها تتبع وتسجيل كل ما يتم طباعته على الحاسوب، مما يمكنك من العثور على سجل لكل ما تم طباعته مثل برنامج PaperCut Print Logger
- 3 اجابة
-
- 1
-
-
الكود الذي كتبته لك مجرد مثال و يجب عليك تطبيقه على حسب طريقة برمجتك المستخدمة، يمكنك إلقاء نظرة على كيف قمت بدمجها هناك و يمكنك التعديل عليها على حسب متطلباتك. App (1).js
- 7 اجابة
-
- 1
-
-
الإستخدامات دائما تعود على حسب إحتياجات المشروع و طريقة تفكير المبرمج، frozen_sets لا يمكن تغييرها بعد إنشائها، بينما يمكن تغيير الأزواج أو tuples. هذا يجعل المجموعات المجمدة أكثر أمانا في بعض الحالات عندما نحتاج إلى بيانات ثابتة. في العادة نستخدم frozen_sets في الحالات التي نحتاج فيها إلى مجموعة من العناصر غير المتكررة والغير متغيرة، مثل مفاتيح القاموس أو القيم المتميزة (distinct values)، في حين أن الأزواج تستخدم عادة للعناصر المرتبطة ببعضها. و يمكنك الإطلاع على طريقة إستخدامها أكثر من خلال هذا المقال: الدالة frozenset() في بايثون
-
يمكنك القيام بذلك في كل مسار يتطلب التحقق من الهوية، يمكنك استخدام useEffect للتحقق من وجود AccessToken في الكوكيز عندما يتم تحميل المكون الخاص بالمسار.فيما يلي كيفية تحقق من وجود AccessToken وتوجيه المستخدم إلى صفحة تسجيل الدخول إذا لم يكن متاحًا: import React, { useEffect } from 'react'; import { Route, Navigate } from 'react-router-dom'; import Cookies from 'js-cookie'; // Define a protected route component const ProtectedRoute = ({ element, ...rest }) => { const accessToken = Cookies.get('accessToken'); useEffect(() => { if (!accessToken) { // If no accessToken, redirect to login page // You can also add some additional logic here, like displaying a message to the user window.location.replace('/login'); } }, [accessToken]); // Render the requested component if accessToken is available return <Route {...rest} element={accessToken ? element : <Navigate to="/login" />} />; }; // Example usage const App = () => { return ( <Routes> {/* Protected routes */} <ProtectedRoute path="/protected-route" element={<ProtectedComponent />} /> {/* Non-protected routes */} <Route path="/login" element={<Login />} /> </Routes> ); }; export default App; مثلا هنا يتم استخدام useEffect للتحقق من وجود AccessToken في الكوكيز و إذا لم يكن متاحًا، سيتم توجيه المستخدم إلى صفحة تسجيل الدخول.
- 7 اجابة
-
- 1
-
-
يمكنك حماية المسارات وجعلها متاحة فقط عند وجود AccessToken في الكوكيز، يمكنك استخدام middleware في جانب الخادم للتحقق من وجود AccessToken وصحته قبل السماح بالوصول إلى المسارات المحمية، فيما يلي مثال لكيفية تنفيذ ذلك باستخدام Express.js // وسيط لحماية المسارات const protectRoute = (req, res, next) => { const accessToken = req.cookies.accessToken; // التحقق مما إذا كان AccessToken موجودًا if (!accessToken) { return res.status(401).json({ message: "الرمز المميز مطلوب" }); } // يمكنك هنا إضافة المزيد من التحققات، مثل انتهاء صلاحية الرمز المميز، الخ. // إذا كان كل شيء على ما يرام، فمتابعة إلى الوسيط التالي next(); }; // مثال على مسار محمي app.get("/protected-route", protectRoute, (req, res) => { res.json({ message: "هذا المسار محمي" }); }); هنا قمت بإنشاء وسيط يدعى protectRoute يتحقق من وجود AccessToken في الكوكيز، إذا لم يكن هناك AccessToken، فسيتم إرجاع استجابة 401 غير مصرح بها، وإذا كان الAccessToken موجودا، فسيتم استدعاء الوسيط التالي باستخدام next(). يجب تسجيل هذا الوسيط للمسارات التي تحتاج إلى حماية، يمكنك فعل ذلك عن طريق إرفاقه بالطريق المناسب مثل ما هو موضح في المثال أعلاه، و يجب عليك تثبيت حزمة cookie-parser لاستخدام req.cookies.
- 7 اجابة
-
- 1
-
-
لا نجيب على الأسئلة الإمتحانية و لكن سأشرح الخطوات التي يمكن اتباعها لكتابة الكود لحل هذه المشكلة، قم بتعريف متغيرين لتتبع العدد الأصغر والعدد الثاني الأصغر. يمكنك استخدام smallest و second_smallest على سبيل المثال، استخدم حلقتين تكرار، واحدة داخل الأخرى، للانتقال عبر العناصر في المصفوفة، ضمن الحلقات، قم بفحص الشرط المعطى. إذا تم تحقيقه، قم بمقارنة العدد الحالي مع smallest و second_smallest عند الانتهاء من المرور عبر المصفوفة، قم بإرجاع العدد الثاني الأصغر. إذا لم يتم العثور على قيمة مطابقة، يمكنك إرجاع None أو قيمة مناسبة أخرى تشير إلى عدم وجود قيمة. أسهل لغة يمكنك كتابة هذه الخوازمية بها هي بايثون، و لكن بالتأكيد يمكنك كتابتها بأي لغة برمجة تتقنها.
-
نعم يمكنك ذلك و يعتمد هذا على استخدام نماذج تنبؤ الطقس الحالية وتحليل البيانات الجوية لتدريب نموذج تنبؤ، و يمكنك القيام بذلك بعد تعمقك قليلا في مجال الذكاء الإصطناعي و خصوصا مجال التنبؤ. و يمكنك أن تطلع أكثر على الموضوع من خلال هذا المقالات: https://academy.hsoub.com/programming/artificial-intelligence/الذكاء-الاصطناعي/
-
مرحبا يوسف، في المرة القادمة أرجوا وضع سؤالك أسفل الفيديو الخاص بالدورة و الذي واجهت فيه المشكلة، بالنسبة للتعليمة فهي صحيحة بشكل عام، ولكن هناك خطأ صغير في الصياغة، بدلا من استخدام "value" يجب استخدام "values"، والذي يفصل بين القيم بفاصلة، إليك الصياغة الصحيحة: insert into film (title, language_id) values ('pirates of the caribbean', (select language_id from language where language_id = 1)); بعد هذا التعديل يجب أن تعمل التعليمة بشكل صحيح. بالتوفيق إن شاء الله.
-
المسألة تطلب منك أن تبحث عن سلسلة نصية حيث في بعض الحالات الخاصة، يمكن أن يكون طول السلسلة المحولة أكبر من السلسلة الأصلية بعد تطبيق عمليات تحويل الحالة الأبجدية (uppercase/lowercase)، أي تحويل الحروف الكبيرة إلى حروف صغيرة أو العكس. بمعنى آخر نحتاج إلى إيجاد سلسلة نصية يكون طولها بعد تحويلها للحالة الكبيرة ومن ثم الحالة الصغيرة أكبر من طول السلسلة الأصلية.
- 18 اجابة
-
- 1
-
-
نعم يمكن عرض البيانات بتنسيق شجري في HTML باستخدام عدة وسائل، أحد الطرق الشائعة هي إنشاء قائمة متدرجة، يمكن تدوين هذه القوائم بشكل متداخل لتمثيل الهيكل الشجري بالطريقة التالية: <ul> <li>عنصر رئيسي <ul> <li>عنصر فرعي 1 <ul> <li>عنصر فرعي 1.1</li> <li>عنصر فرعي 1.2</li> </ul> </li> <li>عنصر فرعي 2</li> </ul> </li> </ul> هذا التعبير الخطي للبيانات يمكن أن يمثل هيكل شجري، يمكنك أيضا استخدام CSS لتخصيص المظهر الخاص بك، و يمكنك أن تجد هذا في دورة تطوير واجهات المستخدم، فيها جزء يتحدث حول أساسيات تطوير الواب، و تم التفصيل في أغلب النقاط هناك.
- 1 جواب
-
- 1
-
-
الأمر clear لا يتم فهمه في نافذة موجه الأوامر في نظام Windows، الأمر عادة ما يستخدم في نظام التشغيل Unix وأنظمة Linux لمسح الشاشة، أما في نظام Windows، يجب استخدام الأمر cls بدلا من ذلك لمسح الشاشة.
- 6 اجابة
-
- 1
-
-
بعد اتمامك للدورة، سيكون عليك التواصل مع مركز مساعدة حسوب لتحديد موعد امتحان وسيكون على الشكل التالي: اجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. اجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. ان سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرب لأماكن القصور ويطلب منك تداركها ثم التواصل من جديد. بالنسبة لسؤالك حوال إتمام أربع مسارات فقط، نعم يمكنك ذلك و إن إجتزت الإمتحان بشكل ناجح ستحصل على الشهادة، و يمكنك أن تطلع على شروط المشاركة و المعلومات الأخرى الخاصة بالإختبار من هنا.
-
أنت تقوم بكتابة الأوامر البرمجية لنظام التشغيل بشكل عام، و نظام التشغيل هو الوسيط بين البرمجيات والهاردوير في الحاسوب، يتعامل مع إدارة الموارد مثل المعالج والذاكرة والتخزين، ويوفر واجهة لتشغيل التطبيقات وتنفيذ البرامج، فعندما تقوم بكتابة برنامج، فإنك تكتبه بطريقة تفاعلية مع نظام التشغيل، و عندما تقوم بتشغيل التطبيق، يتم إرسال أوامر من قبل نظام التشغيل إلى الهاردوير لتنفيذها. عندما تقوم بعمل event معين في التطبيق، فإن البرنامج يرسل إشارة (signal) إلى نظام التشغيل ليتعامل معها، بعدها يمكن لنظام التشغيل أن يتفاعل مع هذا الحدث على النحو المناسب، مثل تحديث واجهة المستخدم أو التفاعل مع الأجهزة الخارجية، إذا لم يكن هناك نظام تشغيل، فإن البرامج والتطبيقات لن تتمكن من العمل. يعتبر نظام التشغيل جزءا أساسيا من عملية تشغيل البرامج على الحاسوب. و في السنوات الأولى لتطوير أنظمة التشغيل، كانت تعتمد على واجهات نصية وتشتغل بالأوامر، حيث يتم التفاعل مع النظام عبر إدخال الأوامر مباشرة في سطر الأوامر، في ذلك الوقت كانت التطبيقات محدودة وغير متطورة مقارنة بما نراه اليوم. وكانت غالبا ما تكون تطبيقات مخصصة لأغراض محددة مثل معالجة النصوص أو إدارة البيانات و فقط. و يمكنك أن تطلع أكثر على مهام أنظمة التشغيل من خلال المقالة التالية:
-
المشكلة مع مرور الوقت ستنسى كيفية كتابة الكود لوحدك و في حالة حدث خلل في أدوات الذكاء الإصطناعي ستجد صعوبة في العودة لما كنت عليه، يمكنك إستخدامه بين الحين و الآخر بشرط أن تكون قادرا على فهم كل سطر تقوم بكتابته، و أيضا فليس دائما تكون النتيجة من الذكاء الإصطناعي صحيحة، فهو يستخدم إصدارات قديمة لذا يجب عليك تحديثها لما يتناسب مع مشروعك.
- 3 اجابة
-
- 1
-