-
المساهمات
785 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبد الوهاب بومعراف
-
البيانات النوعية (Qualitative Data) تمثل الخصائص أو الصفات التي لا يمكن قياسها بالأرقام يتم جمعها غالبا من خلال المقابلات، الاستبيانات المفتوحة، أو الملاحظات كالألوان، المشاعر، الآراء، التصنيفات أما البيانات الكمية (Quantitative Data) فتمثل القيم العددية التي يمكن قياسها وتحليلها إحصائيا يتم جمعها غالبا من خلال الاستبيانات المغلقة أو التجارب كالطول، الوزن، العمر وعدد المبيعات. البيانات الكمية تستخدم بشكل أكبر في تدريب نماذج تعلم الآلة، لأنها تسمح بإجراء تحليلات إحصائية دقيقة وتطبيق خوارزميات تعلم الآلة بشكل فعال بينما البيانات النوعية يمكن تحويلها إلى بيانات كمية مثل الترميز لتستخدم في بعض التطبيقات، لكن البيانات الكمية تظل الأكثر شيوعا في النماذج الإحصائية والتعلم الآلي.
- 4 اجابة
-
- 1
-
بالتأكيد يمكنك ذلك فهي مشاريع حقيقية يمكنك الإعتماد عليها في إيجاد وظائف معينة كما أنها ليست بالمشاريع البسيطة، و إنما تعتبر مشاريع متاكملة، كما يمكنك وضعها على Github و إضافتها في الportfolio الخاص بك.
- 2 اجابة
-
- 1
-
ليست لغة برمجة تقليدية مثل بايثون أو جافا، بل هي لغة استعلام مخصصة للتعامل مع قواعد البيانات، و تستخدم لإدارة البيانات، بما في ذلك عمليات الإدخال، التعديل، الحذف، والاستعلام عن البيانات من قاعدة البيانات، يعني SQL مصممة خصيصا لإجراء عمليات على البيانات المخزنة في قواعد البيانات العلائقية، و تحتوي على بعض الخصائص الشبيهة بلغة البرمجة، مثل الحلقات والشروط، ولكنها لا تستخدم لتطوير تطبيقات برمجية كاملة بحد ذاتها.
- 2 اجابة
-
- 1
-
هذه المشكلة معروفة خاصة في الإصدارات الحديثة من Android Studio وعلى الأغلب متعلقة بالجهاز، لذا قم: بفتح Android Virtual Device Manager. ثم اختر جهاز المحاكاة الخاص بك (AVD)، ثم اختر "Edit this AVD". وفي النافذة الجديدة (Virtual Device Configuration)، انتقل إلى Emulated Performance > Graphics واختر خيار Software (GLS). كما قد تكون هذه المشكلة ناتجة عن برامج تشغيل بطاقة الرسوميات إذا كانت قديمة ولا تدعم بشكل صحيح برامج التشغيل العامة لنظام Windows 8 (أو الأحدث).
-
تلك الشهادة تعتبر من أهم الشهادات التي تقدمها جوجل في مجال دعم تكنولوجيا المعلومات (IT Support) فالشهادة مصممة للأشخاص الذين يريدون الدخول إلى مجال تكنولوجيا المعلومات بدون الحاجة إلى خبرة سابقة. ودراسة الشبكات مفيدة حتى لو لم تعمل مباشرة في مجال تكنولوجيا المعلومات للأسباب التالية: اكتساب المعرفة الأساسية فالفهم الأساسي للشبكات يساعد في فهم كيفية عمل الأنظمة التقنية المختلفة في أي مجال. تحسين مهارات التواصل من خلال فهم الشبكات فهذا سيساعدك في التفاعل مع فرق IT إذا كنت تعمل في أي بيئة تعتمد على التكنولوجيا. التطبيقات العملية لأن الكثير من الشركات تعتمد على الشبكات بشكل كبير، لذا معرفة كيفية تشغيل وصيانة الشبكات قد يكون ميزة إضافية في أي وظيفة مستقبلية. دراسة الأمن السيبراني لأن فهم الشبكات أمر ضروري للحماية من أي تهديدات أمنية. لهذا كنصيحة حتى إذا لم تخطط للعمل في مجال ال IT، فإن المعرفة الأساسية في الشبكات يمكن أن تكون قيمة جدا في التعامل مع أي بيئة تقنية متقدمة قد تندمج فيها مستقبلا.
- 4 اجابة
-
- 1
-
بالنسبة لبايثون تعتبر لغة عامة الاستخدام وسهلة التعلم، وتستخدم في مجموعة متنوعة من المجالات، بما في ذلك علم البيانات، تطوير البرمجيات، وتطبيقات الويب. تحتوي على مكتبات قوية مما يجعلها مفضلة في مجالات تحليل البيانات والتعلم الآلي. أما لغة R تم تصميمها خصيصا للإحصاء وتحليل البيانات، و تحتوي على مجموعة واسعة من الحزم الإحصائية وهي مشهورة في الأوساط الأكاديمية والبحثية، خاصة في تحليل البيانات الإحصائية، و كلا اللغتين تتمتعان بمجتمع قوي ودعم كبير، لكن بايثون قد تكون لها ميزة في تنوع التطبيقات بسبب استخدامها في مجالات أخرى. تستخدم google لغة R لأنها تعتبر الأفضل حاليا في التحليل الإحصائي، مما يجعله مثاليا للتعلم في سياقات تتطلب مهارات تحليلية قوية، كما تستخدم على نطاق واسع في الأبحاث والدراسات الأكاديمية، لذا قد يكون استخدامها في الكورسات مرتبطا بمحتوى أكاديمي أكثر عمقا، و تفضل بعض الشركات استخدام R في الكورسات لأنها تستهدف المتعلمين الذين يرغبون في تطوير مهارات تحليل البيانات بشكل خاص.
- 7 اجابة
-
- 1
-
قد تكون ملفات النظام الأساسية مفقودة أو معطوبة، مما يتسبب في عدم تحميل سطح المكتب والبرامج بشكل صحيح، أو قد يكون هناك مشكلة في تعريفات الجهاز، خصوصا كرت الشاشة أو مكونات أخرى. جرب تشغيل الوضع الآمن للتأكد من أن الملفات الأساسية للنظام ليست معطوبة: أعد تشغيل الكمبيوتر، واضغط باستمرار على F8 قبل بدء تشغيل Windows، ثم اختر الوضع الآمن مع الشبكة Safe Mode with Networking، و إذا تم تحميل النظام بشكل صحيح في الوضع الآمن، قد يكون السبب برنامج خارجي أو تعريف معطوب، و من هناك يمكنك فحص النظام باستخدام برنامج مكافحة الفيروسات أو إلغاء تثبيت البرامج المثيرة للمشاكل. يوجد أيضا حل آخر، قم بإعادة تشغيل الكمبيوتر وأدخل قرص التثبيت الخاص بـ Windows 7 أو استخدم وحدة USB قابلة للتشغيل، و اختر Repair your Computer بعد بدء التثبيت واختر أداة Startup Repair لإصلاح أي مشاكل تتعلق ببدء التشغيل. إذا استمرت المشكلة، قد تحتاج إلى إعادة تثبيت Windows 7 كحل أخير.
-
بالنسبة ل Data Analytics فهو تحليل البيانات التحليلي و يعتبر مفهوم أوسع يشمل العديد من التقنيات والمنهجيات لتحليل البيانات، ويتضمن Data Analysis كجزء منه، فهو يشمل Data Analysis: تحليل البيانات للوصول إلى استنتاجات معينة. Predictive Analytics: التنبؤ بما قد يحدث في المستقبل بناء على البيانات الحالية. Prescriptive Analytics: تقديم توصيات بناء على التحليلات. أما مجال Data Analysis أو تحليل البيانات فهو يركز بشكل رئيسي على معالجة وفهم البيانات لإيجاد أنماط أو استخلاص نتائج معينة، و هو جزء من Data Analytics ولكنه أقل شمولا، حيث يركز فقط على تفسير البيانات الحالية. و في تعلم الآلة والتعلم العميق، التركيز الرئيسي عادة يكون على Data Analytics بشكل أوسع، حيث أنه يتطلب معالجة البيانات لضمان أن البيانات جاهزة للاستخدام في تدريب النماذج، و تحليلها لفهم الأنماط والعلاقات داخل البيانات التي تساعد في بناء النموذج، وكذا استخدام التقنيات التحليلية مثل الخوارزميات التنبؤية للتنبؤ أو التصنيف بناء على البيانات.
- 4 اجابة
-
- 1
-
الخطأ في هذا السطر: if arr[i] == arr[i+=1]: إذا كنت ترغب في مقارنة العنصر الحالي بالعنصر التالي، يجب تعديل الكود ليصبح بالشكل التالي: if arr[i] == arr[i + 1]:
- 3 اجابة
-
- 1
-
من أهم النقاط في شراء الدورات في الأكاديمية هي توفيرها مدى الحياة للطالب و بالتالي لا تحتاج الدفع مرة أخرى، لذا ففكرة التدريب لفترة محدودة غير متوفرة حاليا في الأكاديمية و لكن لازال بإمكانك الإطلاع على المسار الأول من كل دورة و الذي ربما سيكون مفيد لك لتذكر اللغات التي تريدينها، كما يمكنك في أي وقت تصفح مقالات الأكاديمية و التي تساعدك على فهم هذه اللغات أيضا.
- 5 اجابة
-
- 1
-
صحيح يمكنك إنشاء عناصر label وinput بدون الحاجة إلى استخدام عنصر form، حيث يمكن استخدامهما بشكل مستقل، لكن يجب أن تعرف أن استخدام form يوفر لك مزايا إضافية مثل إمكانية إرسال البيانات إلى خادم، فعندما تستخدم label وinput بمفردهما، سيكون لديك تفاعل أساسي بين المستخدم والعناصر، فإذا كنت بحاجة فقط إلى جمع البيانات محليا أو التعامل معها باستخدام JavaScript دون إرسالها إلى الخادم، يمكنك الاستغناء عن form، أما إذا كنت بحاجة إلى إرسال البيانات، فالأفضل استخدامها لاحتواء input وlabel.
-
نعم الدالة round في مكتبة NumPy تستخدم لتقريب الأرقام إلى أقرب عدد عشري وفقا لعدد محدد من المنازل العشرية بهذا الشكل: import numpy as np arr = np.array([1.234, 2.678, 3.456]) rounded_arr = np.round(arr, decimals=2) print(rounded_arr) و الناتج سيكون : [1.23 2.68 3.46] حيث أن هذا المثال يقرب الأرقام إلى منزلتين عشريتين.
- 5 اجابة
-
- 1
-
الغرض من predict فهي لتوقع النتائج بناء على مدخلات جديدة، حيث تأخذ النموذج المدرب وتطبق البيانات الجديدة التي لم تستخدم أثناء التدريب للحصول على التنبؤات، و يعطي مخرجات النموذج مثل القيم المتوقعة أو الفئات المتوقعة. أما evaluate فهي لتقييم أداء النموذج على مجموعة بيانات، حيث تأخذ النموذج المدرب وتطبقه على مجموعة بيانات و التي تكون بيانات اختبار لحساب المقاييس مثل الدقة، الخسارة، وغيرها.
-
بالنسبة لمصطلح Epoch هو عبارة عن مرور واحد كامل على جميع بيانات التدريب، حيث إذا كان لديك مجموعة بيانات مكونة من 5000 عينة، فإن Epoch واحدة تعني أن الشبكة مرت على كل هذه العينات مرة واحدة. أما Batch Size هو عدد العينات التي تمررها إلى الشبكة في خطوة واحدة قبل تحديث الأوزان، فإذا كان لديك Batch Size = 100، فإن الشبكة ستعالج 100 عينة في كل خطوة قبل أن تقوم بعملية تحديث الأوزان. والعلاقة بينهما هو أنه عندما يكون لديك عدد معين من العينات في مجموعة التدريب، فإن عدد الخطوات داخل كل Epoch يساوي عدد العينات مقسوما على Batch Size، فمثلا لو كان لديك 5000 عينة وBatch Size = 100، فسيكون لديك 50 خطوة في كل Epoch. و هما مهمان في في بناء الشبكة العصبية ف Batch Size يؤثر على الذاكرة المستخدمة وسرعة التدريب، و القيم الصغيرة تجعل التدريب بطيئا ولكن أكثر دقة في تقدير التدرجات، بينما القيم الكبيرة قد تسرع التدريب ولكنها تحتاج إلى ذاكرة أكبر وتقديرات أقل دقة للتدرجات. أما Epochs يحدد عدد المرات التي سترى فيها الشبكة كامل البيانات، و زيادة عدد Epochs يمكن أن يؤدي إلى تحسين دقة النموذج، ولكن قد يؤدي أيضا إلى الإفراط في التكيف أو overfitting إذا كان العدد كبيرا جدا.
- 4 اجابة
-
- 1
-
حل المشاكل باستخدام الخوارزميات يعد جزءا مهما من البرمجة وتطوير البرمجيات و يتعبر تعلم الخوارزميات القاعدة الأساسية لدخول عالم البرمجة و عالم علوم الحسوب، و هناك عدة مراحل يجب عليك إتباعها لحل هذه المشاكل، حيث يتعين عليك فهم المشكلة قبل محاولة حلها، ثم تقسم المشكلة إلى أجزاء أصغر يمكن التحكم فيها، و حاول تحديد الأنماط أو الحلول المتكررة، كما أن رسم مخطط تدفق أو استخدام طريقة أخرى لتوضيح خطوات الحل قبل كتابة الكود يعتبر أمر جيد لتسهيل كتابة الكود فيما بعد، و بعد الإنتهاء اختبر الحل الخاص بك للتأكد من أنه يعمل بشكل صحيح وقم بتحسينه لتحسين الأداء إذا لزم الأمر. و يمكنك الإطلاع على هذه المقالات التي ستفيدك و تعطيك فكرة أفضل عن الخوازميات: https://wiki.hsoub.com/Algorithms
-
تأكد من أن كلمة المرور التي وضعتها صحيحة و فيحالة لم تضع كلمة مرور عند التثبيت، يمكنك تعديل الكود ليكون بدون كلمة مرور كما يلي: mydb = mysql.connector.connect( host="localhost", user="root" ) و أيضا تأكد من أن خادم MySQL يعمل بالفعل على جهازك.
-
امتحانات مايكروسوفت تشمل مجموعة متنوعة من الشهادات التي تركز على مهارات وتقنيات مختلفة، بعض الشهادات البارزة تشمل: Microsoft Certified: Azure Fundamentals Microsoft Certified: Azure Administrator Associate Microsoft Certified: Azure Solutions Architect Expert Microsoft Certified: Power Platform Fundamentals Microsoft Certified: Microsoft 365 Fundamentals هذه الشهادات تغطي مواضيع تتعلق بالحوسبة السحابية، وإدارة الأنظمة، وتحليل البيانات، وغيرها من المجالات التقنية، و يمكنك اختيار الشهادة التي تناسب اهتماماتك واحتياجاتك المهنية.
- 3 اجابة
-
- 1
-
من المهم بعد أن تكمل المشروع حاول كتابة توثيق جيد له يوضح الهدف منه، البيانات المستخدمة، طريقة معالجة البيانات، النماذج المطبقة، والنتائج، مع توضيح الأفكار بشكل جيد فهذا يساعد في تسهيل فهم الآخرين لمشروعك ويساعدك أيضا عند العودة للمشروع لاحقا. بالنسبة لمشاركة المشروع إذا كان عبارة عن كود ومخطط عام لتطبيق تعلم الآلة GitHub هو الخيار المثالي، حيث يمكنك نشر المشروع مع كود المصدر، وربما إضافة README جيد يوضح كيفية استخدام المشروع وتطبيقه، كما يمكنك مشاركة Notebook يشرح خطوات تنفيذ المشروع بشكل تفصيلي على Kaggle، و بهذه الطريقة يمكنك الحصول على تعليقات من المجتمع وتحسين مشروعك بناء على ذلك. و أهم شيء لا تنسى إضافته في معرض أعمالك على موقع مستقل فهذا الأمر يزيد من فرص توظيفك أكثر في المستقبل.
- 2 اجابة
-
- 2
-
foreach و fetch هما طريقتان مختلفتان للتعامل مع البيانات المسترجعة من قاعدة البيانات، ولكن لهما استخدامات ومزايا مختلفة فمثلا fetch تستخدم لاسترجاع صف واحد من نتائج الاستعلام في قاعدة البيانات وغالبا ما تستخدم هذه الدالة في حلقات while أو مع for لاسترجاع جميع الصفوف وعندما نريد معالجة صف واحد في كل مرة، مما يجعلها مناسبة عندما تكون لديك استعلامات تعيد صفوفا واحدة تلو الأخرى. أما foreach فنستخدمها لتكرار مجموعة من العناصر (مثل array أو object) كما يمكن استخدامها مع البيانات التي تم تحويلها إلى array بعد استرجاعها من قاعدة البيانات وهي مناسبة عندما نريد التعامل مع جميع العناصر في مجموعة دفعة واحدة، مما يجعلها مناسبة للبيانات التي تم تخزينها في مصفوفة.
-
بالنسبة للكود الأول الطريقة place() تعمل لكن لا يتم تحديد الحجم الإجباري للإطار (Frame) وبدون تحديد الحجم، لن يظهر الإطار حتى لو تم تعيين الموقع والحل في إضافة الحجم للإطار باستخدام الخاصية width و height: from tkinter import * moha = Tk() moha.geometry("300x200") frame = Frame(moha, bg="red", width=300, height=200) frame.place(x=1, y=1) moha.mainloop() وسيظهر هكذا: بالنسبة للكود الثاني فالطريقة pack() تقوم بترتيب العناصر تلقائيا ولكنها تعتمد على ما إذا كان هناك محتوى داخل Frame وفي حال كان الإطار فارغا، قد لا يظهر شيء لأن pack() لا تعين حجما تلقائيا والحل أيضا مثل الكود السابق يجب تحديد الحجم للإطار لضمان ظهور: from tkinter import * moha = Tk() moha.geometry("300x200") frame = Frame(moha, bg="red", width=300, height=200) frame.pack() moha.mainloop() بينما الكود الأخير هناك خطأ مطبعي فالكتابة الصحيحة هي grid() وليس grad() وأيضا كلمة culomn خاطئة يجب أن تكون column لذا نصححه إلى: from tkinter import * moha = Tk() moha.geometry("300x200") frame = Frame(moha, bg="red", width=300, height=200) frame.grid(row=0, column=0) moha.mainloop()
-
ببساطة عندما تكتب for i in range(n): فهذا يعني أنك قد تستخدم المتغير i داخل الحلقة لكن عندما تكتب for _ in range(n): فهذا يعني أنك لا تحتاج المتغير وتستخدم الحلقة فقط لتكرار شيء معين عددا من المرات فهذا _ هو مجرد رمز للتوضيح بأنك لا تهتم بقيمة المتغير. وهذا مثال توضيحي: for i in range(5): print(i) هنا ستستخدم i لطباعة الأرقام بينما هنا: for _ in range(5): print("Hello") فأنت لا تحتاج إلى عداد، فقط تكرر طباعة Hello خمسة مرات.
- 5 اجابة
-
- 1
-
اتباع مسار وظيفي في تطوير الويب يعتبر خيارا جيدا لعدة أسباب وليس كلاما عبثيا فقط فالطلب على مطوري الويب مرتفع ومتزايد، مما يفتح العديد من الفرص للمحترفين في هذا المجال كما أن الرواتب عادة ما تكون جيدة خاصة مع إمكانية النمو والتقدم المهني ويتيح تطوير الويب مرونة في مكان العمل والجدول الزمني، حيث يمكن للعديد من المطورين العمل عن بعد فهذا المجال يوفر فرصا مستمرة للتعلم والنمو بفضل التقنيات الجديدة التي تظهر باستمرار. لكنه مجال فيه تنافسية كبيرة، الكثيرون يستسلمون في بداياتهم لأن أهدافهم مالية ومادية بحتة وهذا الأمر يجعل من التطوير الذاتي للمتعلمين صعبا لأن المجال يحتاج لتعلم مستمر وصبر واستمرارية وهو ما يفقده الكثيرون لأنّ العوائد لا تأتي من اليوم الأول. من بين التخصصات المطلوبة في السوق أذكر هاته: تحليل البيانات وعلوم البيانات. الذكاء الاصطناعي وتعلم الآلة. أمن المعلومات. تطوير التطبيقات المحمولة. تطوير البرمجيات السحابية.
-
نمط ال Abstract Factory هو أحد أنماط التصميم المستخدمة في البرمجة الكائنية لتطبيقه يمكن أن نأخذ مثالا بيسيط وعمليا لكن قبل ذلك يجب أن نفهم أولا كيفية تطبيق النمط أولا نقوم بتحديد واجهتين (أو فئات مجردة) تمثل العائلات المختلفة من الكائنات ثم يجب إنشاء الفئات التي تنفذ هذه الواجهات بعدها يأتي الدور على إنشاء المصنع أين يجب أن تنشئ مصنعا Factory يمكنه إنشاء كائنات من الفئات المحددة وهذا مثال لنفترض أننا نريد إنشاء واجهات مستخدم مختلفة لنظامين وليكونا نظام Windows ونظام macOS: from abc import ABC, abstractmethod # واجهة للزر class Button(ABC): @abstractmethod def paint(self): pass # واجهة لواجهة المستخدم class GUIFactory(ABC): @abstractmethod def create_button(self) -> Button: pass # تنفيذ للزر في Windows class WindowsButton(Button): def paint(self): return "Windows Button" # تنفيذ للزر في macOS class MacOSButton(Button): def paint(self): return "MacOS Button" # مصنع Windows class WindowsFactory(GUIFactory): def create_button(self) -> Button: return WindowsButton() # مصنع macOS class MacOSFactory(GUIFactory): def create_button(self) -> Button: return MacOSButton() # استخدام المصنع def client_code(factory: GUIFactory): button = factory.create_button() print(button.paint()) # اختيار المصنع windows_factory = WindowsFactory() client_code(windows_factory) mac_factory = MacOSFactory() client_code(mac_factory) هذه الشيفرة ستستخدم نموذج المصنع المجرد (Abstract Factory) لإنشاء أزرار لواجهة المستخدم لنظامي التشغيل بحيث يحتوي على واجهات تحدد كيفية إنشاء الأزرار (Button و GUIFactory)، وفئات تقوم بتنفيذ هذه الواجهات (مثل WindowsButton و MacOSButton) ويقوم كل مصنع سواء WindowsFactory أو MacOSFactory بإنشاء نوع محدد من الأزرار في الأخير الدالة client_code تستخدم هذه المصانع لإنشاء الأزرار ثم طباعتها.
- 3 اجابة
-
- 1
-
في البداية، يبدأ المتغير i في الحلقة الخارجية بالقيمة 0 وبمجرد دخول الحلقة الخارجية، تبدأ الحلقة الداخلية بالعمل في حين المتغير n يأخذ القيم من 0 إلى 5 أي أن مجموع التكرارات هو 6 وبعد انتهاء الحلقة الداخلية لجميع القيم الممكنة للمتغير n أي من 0 إلى 5 تزداد قيمة i في الحلقة الخارجية لتصبح 1 مرة أخرى، يتم تشغيل الحلقة الداخلية كاملة بنفس الطريقة، والمتغير n يأخذ القيم من 0 إلى 5 ويستمر هذا النمط حتى تصل الحلقة الخارجية إلى قيمتها النهائية أي i تصل إلى 4.
- 3 اجابة
-
- 1
-
على الأغلب السبب في هذا الأمر عدم نجاح عملية التجميع أو compilation بشكل صحيح و الأسباب كثيرة، لذا تأكد من أنك قمت بتثبيت MinGW أو أي مفسر C++ آخر بشكل صحيح، و أيضا تأكد من أن المسار إلى مجلد bin في MinGW مضمن في متغيرات النظام.و أيضا لديك خطأ بسيط في الكود، حيث يجب أن تستخدم main بدلا من Main بهذا الشكل: #include <iostream> int main() { std::cout << "Line One\n"; std::cout << "Line Two\n"; std::cout << "Line Three\n"; return 0; } طبق هذه التغييرات و جرب مرة أخرى.
- 1 جواب
-
- 1