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

محمد_عاطف

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

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

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

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

    133

كل منشورات العضو محمد_عاطف

  1. وعليكم السلام ورحمة الله وبركاته. السبب هو في أن بعض الأعمدة تحتوي على قيم ناقصة (NaN) أو بيانات مفقودة . حيث أن الأعمدة التي تحتوي على عدد أقل من28800 هذا يعني أن تلك الأعمدة تحوي قيم فارغة. وإذا قمت بالذهاب إلى التوثيق الرسمي سيخبرك أن الدالة info تقوم بإرجاع القيم non-null : https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.info.html#:~:text=dtype and columns%2C-,non-null values,-and memory usage
  2. الحل الأفضل هو أخذ نسخة احتياطية من البيانات الفارغة أولا . ومن ثم تحويلها إلى قيمة ليست فارغة بعد ذلك يمكننا إستخدام LabelEncoder . وأخيرا نقوم بإعادة البيانات الفارغة من النسخة الإحتياطية ووضعها في البيانات التي لدينا : import pandas as pd import numpy as np from sklearn.preprocessing import LabelEncoder data = pd.DataFrame({ 'A': ['yes', 'yes', np.nan, 'no', 'no'], 'B': [np.nan, 'no', 'no', 'no', 'no'], 'C': ['no', 'yes', 'yes', np.nan, 'yes'] }) le = LabelEncoder() for column in data.columns: nan_values = data[column].isna() temp_data = data[column].fillna('data_temp') data[column] = le.fit_transform(temp_data) data[column][nan_values] = np.nan print(data)
  3. توجد حاليا إضافة Pylance وهي الأفضل حاليا و الأحدث من pylint لذلك يرجى تحميلها : بعد ذلك يرجى الضغط على CTRL + SHIFT + P وكتابة settings وإختيار التالي : بعد ذلك يرجى تفعيل pylance والخصائص التي توفرها من خلال كتابة الإعدادات التالية : "python.languageServer": "Pylance", "python.analysis.indexing": true, "python.analysis.autoImportCompletions": true, بعد ذلك قم بحفظ الملف وإعادة تشغيل vs code . ولكن من الممكن أن لا توفر جميع الخصائص التي تحتاجها ولذلك توجد إضافة أخرى تسمي Django و django-intellisense يرجى تحميلهم وسيوفران لك snippet وهي إختصارات فمثلا إذا أردت إستيراد path ستظهر لك هكذا : ولكن بالطبع من الصعب أن تجد إضافات قوية مثل TypeScript حيث تعتمد الإضافات على حجم المجتمع ولذلك تجد إضافات js و ts من أقوي الإضافات الموجودة .
  4. يوجد حاليا ضغط على مركز المساعدة لهذا من الممكن ان يتأخر الرد قليلا. لذلك يرجي الانتظار وسيتم الرد عليك في اقرب وقت ان شاء الله.
  5. نعم بالطبع يوجد وظائف لمدير المنتجات أو مدير المشاريع في العمل الحر . حيث هناك الكثير من الأشخاص الذين يريدون تعين مديرين أو مستشارين لإدارة المنتجات ليقوموا بالإستشاره منهم أو يعطوهم مهام تطوير المنتج وتعين المبرمجين ومتابعة سير عملية التطوير . وإذا كنت تسأل عن دورة إدارة تطوير المنتجات هنا في الأكاديمية يمكنك قراءة الإجابة التالية :
  6. نعمل لا مشكلة المهم هو أنك قد قمت بإنشاءها مع المدرب حتي لو من وقت مضي . ويجب رفعها على github وسيتوجب عليك إرسال المستودع الخاص بتلك المشاريع على github حينما تريد التقدم للإختبار . ويمكنك قراءة الإجابة التالية لكيفية رفع المشاريع على github :
  7. بخصوص ذلك الأمر يرجى التحدث إلى مركز المساعدة في الأكاديمية من خلال الرابط التالي : https://support.academy.hsoub.com/conversations حيث ألأمور المالية والمتعلقة بالدورات يتم من خلال مركز المساعدة
  8. في المثال الثاني هذه هي الطريقة الأفضل. حيث لاحظ في أننا نستخدم Do While وبعد Do While إذا كان الشرط True يتم تنفيذ حلقة التكرار إلى أن يصبح الشرط بعد Do While ب False . وهنا نحن نريد التكرار دائما إلى أن يدخل المستخدم رقم صحيح . ولهذا بدأنا البرنامج بان inputValid ب False أى أنه إلى الآن لم يتم إدخال الرقم . وبهذا فإن Do While Not inputValid هنا يتم أولا إحضار قيمة inputValid ويتم عكسها وبما أنها في بداية البرنامج ب False إذا Not False هي True وذلك يتم تنفيذ حلقة التكرار ويظل يتم تنفيذها . حتي يصل إلى هنا : هنا لاحظ أن المستخدم أدخل رقم صحيح بالفعل وبذلك نظهر رسالة أن الرقم الصحيح ونقوم بوضع قيمة inputValid تساوي True . وهكذا حينما نأتي إلى Do While Not inputValid ستكون حينها Not inputValid ب False وهكذا سنخرج من حلقة التكرار ولن يتم تنفيذها مرة أخرى.
  9. النفي في البرمجة كما هو في الحياة العادية . فمثلا لو أردت شراء شئ ما . وأردت وضع شرط لشراءه فمثلا لو كان هذا الشئ سعره مرتفع عن 1000 فلن تقوم بشراءه أما إذا كان سعره أقل من 1000 حينها ستقوم بشراءه . فهنا يمكننا تنفيذ هذا الجزء بكود ما بطريقتين . طريقة النفي Not : price = 1500 If Not price > 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا إستخدمنا النفي وهو إذا لم يكن السعر أكبر من 1000 قم بشراءه الطريقة الأخرى بدون Not : price = 1500 If price < 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا لم نستخدم النفي والشرط هو إذا كان السعر أقل من 1000 قم بشراءه. فهكذا في البرمجة يمكنك إستخدام النفي لشرط ما وتنفيذ أمر معين . أو يمكنك عدم إستخدام النفي ولكن عكس هذا الشرط . ففي المثال المرفق لديك هنا نحن نتحقق إذا لم يكن النص الذي تم إدخاله ليس رقما صحيحا نقوم بإظهار الخطأ وإذا لم ترد إستخدام النفي Not يمكنك عكس الشرط هكذا : Private Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click Dim userInput As Integer ' محاولة تحويل الإدخال النصي إلى رقم If Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "لقد أدخلت الرقم: " & userInput Exit Sub ' الخروج إذا لم يكن الإدخال رقمًا End If lblMessage.Text = "الرجاء إدخال رقم صحيح!" End Sub فلاحظ كيف قمنا بعكس الكود عندما لم نستخدم Not فقمنا بعكس طريقة عمل الكود حيث إذا تحقق الشرط نظهر رسالة أن الرقم الذي تم إدخاله صحيح . أما إذا لم يكن رقم الذي تم إدخاله لا يتحقق الشرط ويتم إظهار رسالة الخطأ. إذا Not هي تقوم بعكس قيمة الشرط فلو الشرط تحقق أي True فإن Not تقوم بعكسه إلى False . والعكس صحيح فلو كان الشرط هو False فإن Not تقوم بعكسه إلى True
  10. إذا كنت تقصد دورة الذكاء الإصطناعي فإنه يتم شرح طرق استخراج البيانات (Web scraping) و توجد مشاريع عملية على ذلك. ولكن إذا كنت تقصد ال Data mining فهذا ليس متاحا في الدورة. ويتم في الدورة شرح كيفية التعامل مع البيانات وتحليلها. ويمكنك قراءة ما ستقوم بتعلمه في الدورة من خلال الروابط التالية : https://academy.hsoub.com/learn/artificial-intelligence/ أما الفرق بين تنقيب البيانات و تحليل البيانات فإليك التالي : تنقيب البيانات (Data Mining): هو عملية اكتشاف الأنماط أو العلاقات المخفية بداخل مجموعة كبيرة من البيانات. والهدف الرئيسي هو استخراج المعلومات من تلك البيانات باستخدام تقنيات الخوارزميات والذكاء الاصطناعي. وعملية التنقيب تركز بشكل كبير على اكتشاف الأنماط التي لم يتم إكتشافها من قبل مما تساعد في التنبؤ بالمستقبل أو اكتشاف معلومات غير معروفة لنا. تحليل البيانات (Data Analysis): هو العملية التي يتم فيها فحص البيانات و تنظيفها مما يهدف إلى الوصول إلى الاستنتاجات واتخاذ القرارات بناء على البيانات التي لدينا مما يعطينا القدرة على الإجابة على الأسئلة بخصوص تلك البيانات و إتخاذ القرارات المناسبة.
  11. أعتقد أنك تقصد تفعيل الإكمال التلقائي (autocomplete) إذا كان كذلك يرجى وضع الكود التالي في خلية وتنفيذها: %config Completer.use_jedi = False حيث الكود السابق يعطل مكتبة Jedi الافتراضية في Jupyter والتي قد تسبب في بعض الأوقات عدم تفعيل الإكمال التلقائي بشكل صحيح. إذا لم تعمل أيضا يمكننا تثبيت مكتبات إضافية مثل jedi و IPython : pip install jedi ipython حيث من الممكن أن الإصدار الذي يوجد لديك لا يأتي مع jedi .
  12. وعليكم السلام ورحمة الله وبركاته. إن ال (Dynamic Programming) البرمجة الديناميكية هي تقنية في البرمجة وليست خوارزمية بنفهسا . ولكننا نستخدمها في الخوارزميات لحل المشاكل المعقدة عن طريق تقسيمها إلى مشاكل فرعية أبسط وحل كل مشكلة فرعية مرة واحدة وتخزين الحلول في جدول لتجنب الحسابات المتكررة.وبالتالي يمكن استخدامها لاحقا بدون الحاجة لإعادة حسابها. وهذا يؤدي إلى تقليل التعقيد الزمني بشكل كبير. وإليك المقال التالي من موسوعة حسوب لشرح وتقاصيل أكثر : https://wiki.hsoub.com/Algorithms/Dynamic_Programming
  13. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  14. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  15. نعم بمجرد شرائك للدورة يصبح لك وصول مدى الحياة لها . وأى تحديثات تأتي مع الدورة ستكون متاحة لك . لذلك إذا قمت بشراءها فستطيع الوصول إليها في أى وقت ولو بعد عدد من السنين. والدورة مقسمة إلى مسارات و كل مسار يوجد به العديد من الدروس وهي فيديوهات مسجلة مسبقا . وتوجد تمارين في نهاية كل درس و أيضا توجد مشاريع عمليه في نهاية كل مسار . ويوجد العديد من المدربين المتاحين في جميع الأوقات لمساعدة الطلاب فأى مشكلة تواجهك يمكنك إضافة سؤالك أسفل الدرس وستجد المدربين يقوم بتوضيح السؤال والإجابة عليك.
  16. إذا لم تكن لديك خلفية عن البرمجة مسبقا فالأمر سيكون صعب بالنسبة لك في بدء مشروع مكتمل مباشرة . وأيضا أنت تريد فصل المشروع إلى واجهة أمامية وواجهة خلفية. أما إذا كانت لديك خلفية مسبقة عن البرمجة فتوجد العديد من اللغات وأطر العمل . لذلك يرجى تحديد ما هي لغات البرمجة التي درستها . وهل تعاملت مع لغة جافاسكريبت في الواجهة الأمامية أو أى إطار عمل خاص بها سواء كان react أو vue أو angular ؟
  17. الأمر يعتمد على كثير من الأمور منها حجم وعدد الأسئلة التي يمكن للمستخدم إدخالها وأيضا مدي سرعة إستجابة الخادم لديك وإليك سلبيات وإيجابيات كل طريقة ويمكنك التفاضل بينهم. الحفظ تلقائي : إيجابيات: يجعل تجربة المستخدم أكثر سهولة حيث لن يحتاح المستخدم إلى الضغط على زر حفظ كل مرة. سيقوم بحفظ الأسئلة تلقائيا مما يقلل من فرصة فقدان البيانات إذا فقد المستخدم الإتصال بالإنترنت أوحدثت مشكلة لديه. سلبيات: من الممكن أن يساهم في إبطاء الخادم لديك عن طريق إرسال الطلبات كلما قام المستخدم بتعديل سؤال ما . قد يقوم المستخدم بالخطأ بتعديل سؤال مما يجعل السؤال يتم حفظه تلقائيا دون الحاجة للمستخدم بذلك مما يجعل من الممكن أن تضيع بيانات السؤال إذا لم ينتبه المستخدم. زر (حفظ) : إيجابيات: هنا المستخدم له تحكم أكبر حيث يمكنه تعديل أو إضافة كل سؤال بشكل منفصل . يتم تقليل الطلبات التي يتم إرسالها إلى الخادم ويتم فقط إرسال الطلب عند الحاجة إلى التعديل . سلبيات: قد يرى المستخدم أن الأمر ممل حيث سيتوجب عليه الضغط على حفظ كل مرة . فلو كان هناك العديد من الأسئلة سيشعر بالملل من كثرة الضغط على زر حفظ. زر واحد في نهاية الصفحة : إيجابيات: يمكن للمستخدم إضافة كل الأسئلة أو تعديلها كلها مرة واحدة مما يجعل الصفحة سريعة وإستجابة الخادم أسرع. يسهل تجربة المستخدم بحيث لا يحتاج إلى التفاعل المستمر مع الزر. سلبيات: إحتمالية فقدان البيانات كبيرة فلو حدث وتم إغلاق الصفحة بشكل غير متوقع أو نسي المستخدم الضغط على حفظ فإن كل التعديلات التي قام بها سيتم فقدانها. لهذا يمكنك قراءة مميزات وسلبيات كل طريقة وإختيار الطريقة الأنسب لمشروعك بناء على عدد وحجم الأسئلة.
  18. مرحبا عزيزي. إذا كنت تقصد دروة تطوير واجهات المستخدم و مشروع بناء موقع شخصي في المسار الأول . فلقد نظرت إلى الفيديوهات وفي أول فيديوا قام المدرب بإنشاء الملفات بالتفصيل وبناء الموقع من البداية وقد قام بتوضيح أهمية وإستخدام كل ملف . وفي ملف html قام ببناء كل عنصر وكل جزء بشكل منفصل وقام بتوضيح أهمية كل عنصر . لذلك أعتقد من الممكن انك قد قمت بالدخول على درس أخر أو ليس أول درس. بالنسبة لسرعة المدرب من الممكن أن تقوم بتغير سرعة إعدادات الفيديو وتقوم بجعله بطيئا قليلا إذا أردت. وإذا ما واجهت صعوبة أو جزء لم يتضح لك في الدرس يمكنك دائما السؤال أسفل الدرس وسيتم توضيح كل شئ لك.
  19. توجد عدة إستضافات توفر لك ذلك منها netlify و vercel و render ويمكنك قراءة الإجابة التالية لمزيد من التفاصيل : أما إذا أردت رفعها على github pages يجب عليك أولا تنفيذ أمر build ورفع مجلد build كما في المشروع لديك . ولمعرفة كيفية رفع المشروع على github pages يمكنك قراءة الإجابة التالية :
  20. وعليكم السلام ورحمة الله وبركاته. نستخدم getElementsByClassName عندما نريد التعامل مع مجموعة من العناصر حيث أن الدالة getElementsByClassName تقوم بالبحث عن جميع العناصر التي لها السمة التي نريد البحث عنها وتضمينها في قائمة واحدة معا. بينما الـ getElementById نستخدمها للتعامل مع عنصر واحد id معين حيث ال id هو معرف فريد أى لا يمكن أن يحتوي عنصرين في نفس الصفحة على نفس ال id لهذا يتم إرجاع عنصر واحد فقط . ويمكنك الإطلاع على الإجابة التالية لمزيد من التفاصيل :
  21. ستجدين أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  22. يمكنك قراءة التفاصيل التالية لمعرفة الشروط وكيفية حصولك على الشهادة : ولا تكفي فقط مشاهدة الفيديوهات يجب تطبيق ما تعملته وإتباع الأكواد التي يقوم بها المدرب حيث ستجد من ضمن الشروط أن يجب تسليم جميع الأكواد التي قمت بها في الدورة .
  23. توجد العديد من المكتبات التي يمكنك إستخدامها في بناء واجهات رسومية GUI في بايثون وإليك أشهر تلك المكتبات : Tkinter: إن هذه المكتبة تأتي مدمجة في بايثون بشكل افتراضي وهي المكتبة الأكثر شهرة وإستخدام في بناء تطبيقات سطح المكتب البسيطة. PyQt: مكتبة قوية ومشهورة مبنية على Qt و توفر لك أدوات واجهة مستخدم متقدمة وتدعم بناء تطبيقات معقدة. تدعم الكثير من المنصات مثل ويندوز و ماك و ولينكس. توفر إمكانيات تصميم أكثر ولكن معقدة بالنسبة إلى Tkinter. wxPython Kivy وإليك الدروس التالية لمزيد من التفاصيل حول المكتبات السابق ذكرها :
  24. وعليكم السلام ورحمة الله وبركاته. نعم إن نظام كالي لينكس يشبه نظام أوبنتو في كثير من الجوانب حيث أنهما يعتمدان على نفس الأساسيات ونفس نظام التشغيل وهو نظام تشغيل Debian و لكن اللإ ختلافات الكبيرة بينهما تكمن في كيفية تخصيص كل منهما والمميزات والأدوات التي يمتلكها. حيث أن كالي لينكس هو نظام مصمم مخوص لمهام الأمن السيبراني واختبار الاختراق و يأتي مع أدوات كثيرة مدمجة و التي تساعدك في إجراء اختبارات الاختراق إكتشاف الثغرات وفحص الشبكات والهكر الأخلاقي وغيرها. بينما أوبنتو هو نظام تشغيل عام . ولذلك يمكنك الإكمال مع كالي لينكس حيث معظم تعاملك في الدورة سيكون من خلال الطرفية وهي متاحة في النظامين. ولكن الأفضل هو تحميل وإستخدام أوبنتو مع المدرب حتي لا تتشتت ولا تحدث مشاكل لديك في إختلاف الشرح مع المدرب.
  25. وعليكم السلام ورحمة الله وبركاته. يجب الإنتباه أن الشهادة ليست بتلك الأهمية الكبيرة حيث المهم لك هو الخبرة العلمية والعملية لذلك يجب عليك التركيز أكثر على الدراسة وجعل أمر الشهادة يأتي بعد ذلك. أما بخصوص الحصول على الشهادة فيمكنك الإطلاع على الصفحة التالية الامتحان والحصول على الشهادة حيث يوجد بها كل شيء يتعلق بموضوع الشهادة و الإمتحان و الخطوات مقتبسة من الصفحة: خطوات الامتحان : 1. تواصل معنا أخبرنا برغبتك باجراء الامتحان مع تزويدنا بروابط مشاريعك التي طبقتها أثناء الدورة. يجب أن تكون قد طبقت المشاريع مع المدرب أثناء الدورة، ولا يمكن اجراء امتحان بمشاهدة المحتوى فقط. 2. محادثة صوتية سنحدد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. 3. مشروع التخرج سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. 4. مراجعة المشروع والتخرج سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. الشروط التي يجب تحقيقها قبل التقدم للإمتحان: يمكنك التقدم إلى امتحان الدورة، من خلال التواصل مع مركز مساعدة أكاديمية حسوب، مع مراعاة الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا إذا يجب عليك قراءة الشروط السابقة جيدا . فإذا أتممت أربع مسارات بالفعل وقمت بالتطبيق مع المدرب ورفع الأكواد على موقع github يمكنك الآن محادثة الدعم وإخبارهم للتقدم للحصول على الشهادة.
×
×
  • أضف...