-
المساهمات
1158 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبد الوهاب بومعراف
-
الخطأ في هذا السطر: 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
-
-
بما أنك تمتلك فكرة عن البرمجة وأساسياتها نعم يمكنك تجاوز مرحلة سكراتش، لأنه بيئة برمجة موجهة بالأساس للمبتدئين لتعلم المفاهيم الأساسية بطريقة بصرية وسهلة، و بما أنك أتقنت هذه المفاهيم بالفعل، فلست بحاجة إلى العودة إليها، و كنصيحة يمكنك الإطلاع عليها مع تسريع الفيديو فقط حتى تأخذ أفكار جديدة ربما لم تسمع بها من قبل أو لم تدرسها
- 2 اجابة
-
- 1
-
-
هذا الملف إنشاؤه تلقائيا عند إعداد بيئة افتراضية في Python، و أهميته تكمن في كونه يحتوي على معلومات حول البيئة الافتراضية، مثل إصدار Python المستخدم والمسار الذي تم إنشاء البيئة الافتراضية فيه، و أيضا يحتوي على إعدادات معينة تؤثر على سلوك البيئة الافتراضية، حيث يمكن أن يتضمن معلومات حول ما إذا كانت البيئة تستخدم مكتبات Python من النظام أو مكتبات أخرى محددة، و يساهم في إدارة المكتبات والمكتبات الأخرى التي يتم تثبيتها داخل البيئة الافتراضية. و الملف نفسه لا يحتاج إلى تعديل يدوي، ويدار تلقائيا بواسطة Python عند إنشاء البيئة الافتراضية، لذا لا يجب أن تعدل عليه.
- 6 اجابة
-
- 1
-
-
صحيح في الطباعة الرقمية لا يوجد حبر ذهبي مباشر، لكن يمكنك محاكاة اللون الذهبي باستخدام خليط من الألوان CMYK، لكن النتيجة ستكون أقرب إلى اللون الأصفر البرتقالي، وليست ذهبية لامعة، أو يمكنك الإعتماد على بعض الطابعات و التي توفر أحبارا معدنية خاصة، مثل الحبر الذهبي أو الفضي، و هذه الأحبار تحتوي على جزيئات معدنية تخلق تأثيرا لامعا شبيها بالذهب الحقيقي. و أيضا عند إعداد التصميم للطباعة، يمكنك استخدام تدرجات اللون الأصفر مع بعض التفاصيل الصغيرة من الأبيض أو البرتقالي للحصول على تأثير يشبه الذهب، لكن يجب الانتباه أن هذا التأثير يكون مرئيا على الشاشة، وقد يختلف قليلا بعد الطباعة بسبب قيود الطباعة الرقمية.
-
المشكلة التي تواجهها هي أنك تحاول استخدام أمر source الذي يتم استخدامه في بيئة Linux، بينما على Windows يستخدم أمر مختلف لتنشيط البيئة الافتراضية. لذا إذا كنت تستخدم cmd يجب أن تستخدم هذا الأمر: Heart-Disease\Scripts\activate أما إذا كنت تستخدم PowerShell وهو على الأرجح في حالتك على VS Code: .\Heart-Disease\Scripts\Activate.ps1 و إذا واجهت خطأ بسبب سياسة التنفيذ، يمكنك تغيير السياسة مؤقتا باستخدام هذا الأمر: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process ثم حاول تفعيل البيئة مرة أخرى.
- 15 اجابة
-
- 1
-
-
هو المعرّف الخاص بك على أداة AnyDesk قم بتحميله بعدها ستجد الرقم الذي بجانب Your Address انسخه والصقه كما قلت لك، ثم سيمكنني الدخول إلى جهازك لمعرفة المشكلة بالتحديد أين.
- 6 اجابة
-
- 1
-
-
أرسل إليّ معرّف ال id الخاص بك على AnyDesk لرؤية ما المشكلة. أرسله على الخاص.
- 6 اجابة
-
- 1
-
-
ما دامت جميع المكتبات مثبتة في البيئة الافتراضية فربّما نسيت تفعيل البيئة لهذا لا يتمّ التعرف عليها، قم بتفعيل البيئة الافتراضية من خلال الأمر: .\env\Scripts\activate إن كان اسم البيئة الافتراضية خاصتك مختلفا عن env قم باستبدالها بالاسم الصحيح. وبعد تفعيل البيئة نقوم بتثبيت المكتبات المطلوبة: pip install pandas numpy matplotlib seaborn scikit-learn tensorflow keras
- 6 اجابة
-
- 1
-