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

محمد عاطف17

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

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

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

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

    68

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

  1. وعليكم السلام ورحمة الله وبركاته. الإهتمام الأول ينصب دائما على دقة النموذج و سرعته والعوامل الأخرى التي تميزه ولكن الكود ليس مهما ككل . ولكن من الطبع يجب أن يكون الكود جيدا حيث في حالة الفوز سيكون الكود الخاص بك متاحا للجميع لرؤيته وهذا جيد حيث إذا كان بالفعل كودك جيدا فمن الممكن أن تحصل على فرص عمل جيدة أو الإنضمام إلى فريق أخر إذا أردت للدخول والفوز في مسابقات أخرى.
  2. وعليكم السلام ورحمة الله وبركاته. إن مكتبة SymPy هي مكتبة رياضيات رمزية (symbolic mathematics) وتسمح لك بالتعامل مع الرموز الرياضية مثل المعادلات الرياضية التي تحتوي على متغيرات ورموز بدلاً من قيم ثابتة وأرقام. و تستخدم بشكل رئيسي في حل المعادلات الرمزية في التفاضل والتكامل والعمليات الجبرية الخطية وغيرها. وتستطيع من خلالها العمل مع الرموز مثل x و y بدل من الأرقام. مثال لها : x = symbols('x') expr = x + 1 x = 2 print(expr) # output x + 1 أما مكتبة NumPy في تستخدم في الرياضيات عددية (numerical mathematics) وهي متخصصة في العمليات الحسابية العددية باستخدام المصفوفات (arrays) وغيرها و تستخدم الأرقام الحقيقية والأعداد وليس الرموز والمعادلات. ويمكنك معرفة الفروق والمكتبات المتاحة المشابهة ل numpy من خلال المقال التالي :
  3. وعليكم السلام ورحمة الله وبركاته. إن بايثون تعتمد على الإزاحات (Indentations) لتنظيم الكود وتحديد الهيكل والتسلسل الزمني للتعليمات وعند تضمين تعليمات داخل كتلة معينة مثل الشروط (if/else) أو الحلقات (loops)، نستخدم الإزاحات لتحديد البلوك الذي يتبع الكود. والخطأ لديكي في السطر الأخير الخاص بجملة print حيث يجب أن يوجد قبل هذا السطر مسافة حتى يتم التفرقة في الإزاحات. لذلك قبل كتابة print("you win ") يرجى وضع مسافة واحدة وسيعمل الكود.
  4. وعليكم السلام ورحمة الله وبركاته. يمكنك قراءة الإجابة التالية لتوضيح جميع تفاصيل الدورات هنا في الأكاديمية والمسمي الوظيفي لكل منهما . أما بخصوص دورة تطوير واجهات المستخدم فهذه الدورة ستؤهلك لتكون مطور واجهات أمامية فقط وهي مواقع ثابته مثل صفحات الهبوط وتحويل تصاميم Figma إلى صفحة ويب عن طريق HTML و CSS . أما بخصوص دورة جافاسكريبت فهي عامة ومن الممكن أن تؤهلك لأن تكون مطور واجهات أمامية أو واجهات خلفية أو مطور full-stack أو حتي مطور تطبيقات هاتف . ويمكنك قراءة الإجابة التالية لمعرفة الفرق بين المجالات المتاحة : لذلك يجب عليك تحديد المجال الذي تريد العمل به أولا و التقنية التي تحبها ومن ثم حينها يمكنك تحديد المجال المفضل لديك.
  5. يمكنك إستخدام الدالة toLocaleString لتحويل الرقم إلى سلسلة نصية مقروءة هكذا : let number = 1000000000; let formattedNumber = number.toLocaleString(); console.log(formattedNumber); // 1,000,000,000 وإذا أردت كتابة الأرقام والفاصلة باللغة العربية يمكنك تمرير اللغة التي تريدها هكذا : let number = 1000000000; let formattedNumber = number.toLocaleString('ar-EG'); // تنسيق باللغة العربية console.log(formattedNumber); // ١٬٠٠٠٬٠٠٠٬٠٠٠
  6. توجد العديد من النماذج التي تسطيعين تطبيقها هنا وهذا يعتمد على المبلغ الذي ستوفرينه . أولا يجب الإتفاق على كل شئ قبل البدأ في المشروع . من حيث نسبة الربح و في حالة حدوث خسارة يجب الإتفاق على ذلك ايضا . وأيضا يجب تحديد الشروط إذا اراد الشخص فض الشراكة تلك ولم يرد الإكمال فيها . يمكنكي تحديد لشريكك راتب بناء على المجهود الذي سيفعله ويكون هذا الراتب مقارب للرواتب الخاصة بهذه الوظيفة وأيضا يمكنكي تحديد ثمن إيجار المكان إذا كان هذا المكان هو ماسيوفره شريكك ودفعه له مع راتبه . وفي هذه الحالة الأرباح ستنقسم كالتالي : إذا كان الشريك هو المتفرغ الدائم للمشروع وأنتي فقط مساهمة بالمال فهنا يمكن إعطاء الشريك نسبة من صافي الربح ولتكن 20% . فمثلا لو أن الشهر الحالي كان هناك ربح 20000 . يتم إستخراج الراتب والإيجار من هذا الربح وليكن مثلا 5000 إذا صافة الربح هو 15000. إذا أنتي ستأخذين 80% أى 12000 والشريك سيأخذ 20% أى 3000. وإذا كنتم الأنتم الإثنين متفرغين للمشروع معا والإدارة فهنا يمكنكي تقليل نسبة الربح للشريك . وهنا في هذه الحالة إذا حدثت خسارة ستكون الخسارة من النصيب الأكبر لكي إذا لم يكن الإهمال من طرف الشريك . حيث سيأخذ هو راتبه وإيجار المكان والخسارة يتم تحميله 20% . أما إذا لم تريدين أن تضعي له راتب أو دفع إيجار المكان له فهنا النسبة يتم تحديدها على المبلغ الكامل الذي تساهمين به . فحينها يمكنكي تحديد جهد إدارة 1000 جنيه مثلا وليكن 400 جنيه . إذا هنا كل ألف تساهمين به فإنك لكي نسبة 60% منه والشريك له 40% . فمثلا لو قمتي بالمشاركة ب 100ألف فهنا كما لو أنكي قمتي بالدخول ب 60 ألف بالمال والشريك ب 40 ألف بالمجهود . وهنا إذا كان هناك صافي الربح هو 10000 هنا نصيبك سيكون 6000 و الشريك 4000 آلاف .
  7. وعليكم السلام ورحمة الله وبركاته. ينبغي عليك أولا الوصول إلى الأساسيات الخاصة باللغة التي تتعملها وإتقان الأساسيات حتى تستطيع الدخول في المسابقات للمبتدئين وذلك حتي لا تشعر بالإحباط أو التشتت إذا لم تنتهي من جميع الأساسيات المهمة . وجيد أنك تبحث عن مواقع لعمل المسابقات في البرمجة فهذا هو ما يسمى بحل المشكلات Problem solving وهي مهارة أساسية يجب أن تتوافر في أى مبرمج وهي التي تميز المبرمج الجيد من غيره . ويمكنك قراءة المقال التالي لمزيد من التفاصيل حول مهارة حل المشكلات وكيفية إتقانها : ويوجد العديد من المواقع المتخصصة في وضع المسابقات ومسائل لتطوير مهارة حل المشكلات ومنها التالي : Hackerrank و LeetCode: هذه المواقع تقدم تحديات برمجية تمكنك من تطبيق المفاهيم المختلفة بما في ذلك الأساسيات و الدوال، وتقديم الحلول الخاصة بك لهذه التحديات ولكن يفضل الدخول في المستويات المبتدئة. PyBites: يوفر PyBites تحديات يومية وأسبوعية لتطوير مهاراتك في Python. codeforces : وهو من المواقع الشهيرة جدا التى تقوم بعمل مسابقات عالمية يوميا وإسبوعيا حيث تكون تلك المسابقات عبارة عن مشاكل ويجب حلها عن طريق البرمجة وتختلف صعوبة المسابقات من مسابقة إلى أخرى و أيضا يعطيك نقاط عند دخول كل مسابقة وحل المشاكل لتتابع تقيمك وسط العديد من المبرمجين حول العالم . Codewars : يقدم تحديات برمجية مصنفة بمستويات مختلفة تتيح لك تطوير مهاراتك بشكل تدريجي. Project Euler : يتضمن تحديات في مجال الرياضيات والبرمجة التي تساعدك على تطوير مهاراتك في الحساب والتفكير اللوجي. Exercism :يوفر تمارين تمكنك من تطوير مهاراتك البرمجية في لغات متعددة. TopCoder : يوفر تحديات ومسابقات برمجية بالإضافة إلى دورات تدريبية للمبتدئين والمحترفين. Sphere Online Judge (SPOJ) : يقدم تحديات برمجية ومسائل متنوعة تغطي مجموعة واسعة من المفاهيم.
  8. وعليكم السلام ورحمة الله وبركاته. إن المنحني الخاص بإختبار Kaplan-Meier هو طريقة إحصائية تستخدم لتقدير احتمال النجاة أو البقاء على قيد الحياة على مدار الوقت لمجموعة من الأفراد. ويتكون المنحنى من ثلاث نقاط أساسية : المحور الأفقي x وهو يمثل الوقت ومن الممكن أن يكون بالأسابيع أو الأشهر أو السنوات ولكن هنا في الرسم البياني يمثل الوقت بالأشهر. المحور الرأسي Y وهو يمثل نسبة النجاة و الاحتمالية تكون من 0 إلى 1 النقاط على المنحنى و كل نقطة هنا تمثل حدث مثل وفاة إذا كانت 0 أو نجاة 1 أو أى حدث أخر بينهما . وفي الرسم البياني هنا يوجد مجموعتين prod_type 1 و prod_type 0 ولكل منهم المنحني الخاص به . نلاحظ أن خط البقاء لمجموعة (prod_type1) ينخفض بسرعة مما يعني أن احتمال النجاة للأفراد في هذه المجموعة ينخفض بسرعة أكبر مقارنة بالمجموعة الأخرى أى أن الإحتمال يقل مع الوقت . أما المجموعة (prod_type 0) لديها معدل نجاة أعلى حيث يتناقص خط البقاء بشكل أقل حدة ويبقى عند مستوى أعلى لفترة أطول من الزمن.
  9. وعليكم السلام ورحمة الله وبركاته. للحصول على قيمة k في اختبار Cramér's V و التي تمثل الحد الأدنى بين أبعاد جدول التوزيع المشترك contingency table يجب أن نستخدم الدالة min وليست max. وهذا لأن Cramér's V يعتمد على العدد الأصغر بين الأبعاد (عدد الصفوف وعدد الأعمدة) في جدول التوزيع المشترك contingency table .لهذا ما قمت به صحيح min(contingency_table.shape) . وإليك صيغة القانون الخاصة به :
  10. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  11. للأسف الأمر غير متاح من خلال إعدادات الحساب فالضغط على هذا الزر سيجعل جميع محتوي الموقع من الدروس والمقالات وغيرها كأنك قمت بقرائتها و لكن يمكنك تفقد هل هناك إمكانية للتراجع عن ذلك من خلال مركز المساعدة أي من قبلهم، تواصل عبر الرابط التالي: https://support.academy.hsoub.com/conversations
  12. هل قمت بتثبيت git على جهازك واضافته في متغيرات البيئة PATH لديك؟ حيث المشكلة التي تظهر هي بسبب عدم العثور على git في ال PATH لديك. يرجي فتح ال cmd وتنفيذ الامر التالي : git --version اذا ظهر خطأ فاذا هذا هو السبب ان git غير مثبت لديك . يرجى تحميله من خلال الرابط التالي : https://git-scm.com/downloads وبعد التحميل قم بتثبيته وإعادة تشغيل vs code.
  13. نعم صحيح لتعريف الصف tuple يجب إستخدام الأقواس العادية () وليس المعقوفة
  14. الخطأ الموجود في الصورة يحدث بسبب أن المتغير days هو set وليس tupel حيث تم تعريفه ك set بإستخدام الأقواس المعقوفة {} وإن النوع set لا يمكن الوصول إلى عناصره كما يتم في القوائم والمصفوفات من حيث إستخدام [] . لهذا يجب تعريفه كصف من خلال الأقواس العادية () : days = ('Thur', 'Sat', 'Tus', 'Mon', 'Fri', 'Wed', 'Sun') print(days[1]) أم الخطا الموجود هنا فهذا بسبب إستخدام الأقواس () مع المتغير وهنا يعتقد بايثون أن days1 هي دالة حيث الأقواس () تستخدم لإستدعاء وتنفيذ الدوال . لذلك الصحيح هو إستخدام [] كما فعلتي في السطر الأخير.
  15. وعليكم السلام ورحمة الله وبركاته. في HTML يكفي فقط فهم هيكل الصفحة والعناصر المتاحة وخصائها ولكنك في React لن تستخدم HTML كما في تطوير تطبيقات الويب حيث سيكون تعاملك اكثر مع المكونات . ولهذا المهم هو فهم طريقة عمل هيكل الصفحة والعناصر في HTML . وإذا أردت تعلم التنسيقات والتعمق فيه من حيث بناء مكونات متجاوبة فهنا حينها سيتوجب عليك إتقان CSS . ولذلك إذا كنت ستعمل على تطوير تطبيقات الويب بإستخدام react فإن HTML و CSS مهمين ولكن تكفي الأساسيات . اما في React Native فهي لا تعمل بشكل مباشر مع HTML و CSS كما هو الحال في الويب بل تتعامل مع المكونات كما وضحت لك . لهذا يكفي فقط تعلم الأساسيات الحالية ل css وإذا وجدت مستقبلا أنك بحاجة إلى التعمق بها إذا أردت أن تقوم بكتابة التنسيقات بنفسك فهنا سيتوجب عليك تعلمها.
  16. وعليكم السلام ورحمة الله وبركاته. يجب عليك أولا تحديد المجال الرئيسي الذي تريد العمل عليه فيوجد ثلاث وظائف رئيسية في تطوير تطبيقات الإنترنت وهي : تطوير الواجهات الأمامية (Front end) تطوير الواجهات الخلفية (back end) تطوير الويب (Full Stack) ويمكنك قراءة الإجابة التالية لمزيد من التفاصيل حول تلك المجالات وأيضا الدورات المتاحة هنا على الأكاديمية لها : بعد تحديد المجال يتبقى لك تحديد اللغة والتقنية التي تريد العمل عليها ويجب عليك تحديد التقنية التي تحبها وتستطيع العمل عليها ولها وظائف متاحة في النطاق الموجود به . ويمكنك قراءة الإجابة التالية للمقارنة بين التقنيات المتاحة وطريقة تعلمها :
  17. وعليكم السلام ورحمة الله وبركاته. يجب عليك اولا تحديد المجال الذي تحبه وتريد تعلمه والعمل فيه . حيث يوجد العديد من المجالات المتاحه في البرمجة . سواء كان مجال تطبيقات الويب او تطبيقات الهاتف او سطح المكتب . وحتى مجال تطوير الالعاب والذكاء الاصطناعي. وبعد تحديد المجال يمكنك اختيار التقنيات واللغة الانسب لك لتعلمها واتباع ال roadmap الخاص بها. يمكنك قراءة المقالات التالية لتفاصيل اكثر حول كيفية تعلم البرمجة: اما بخصوص النسيان فالامر طبيعي تماما ولا تحتةج للقلق وكل ما عليك هو التطبيق بعد الانتهاء من درس معين حتي تثبت المعلومات لديك ولا تنساها . يمكنك قراءة الاجابات التالية لتوضيح مشكلة النسيان : وإذا أردت مكان مخصص للتمارين والاختبارات يمكنك استخدام مواقع ال problem solving وغيرها مثل leetcode ويمكنك قراءة الاجابة التالية للتوضيح اكثر بشأن هذه المواقع : ويوجد منتدي IO حسوب وهو منتدى باللغة العربية والعالم العربي ومتخصص في التقنية ويمكنك زيارته عبر الرابط التالي : https://io.hsoub.com/
  18. أولا إن chat gpt المجاني لا تتوفر به جيمع الخصائص كما في النسخ المدفوعة لذلك للحصول علي كل شئ من خلال ملفات pdf سيتوجب عليك القيام ببعض الخطوات لذلك. حيث لا يمكن ل ChatGPT معالجة الصور مباشرة الموجودة بداخل ملفات pdf لذلك يجب عليك استخدام أدوات أخرى أولا لتحويل هذه الصور إلى نصوص . ويمكنك تقسيم ملف ال pdf إلى عدة أقسام إذا كان كبيرا ووجدت chat gpt يهمل بعض الأجزاء. وأيضا ينبغي عليك توضيح المعلومات له التي تريد أن يقوم بها فمن الممكن إذا طلبت منه تلخيص ملف pdf فقط أن يقوم بإهمال بعض الأجزاء حيث سيعتقد أن هذه الأجزاء ليست مهمة . وأيضا يجب الإنتباه أن الذكاء الإصطناعي عموما و chat gpt يمكنه التعامل حاليا مع عدد كلمات محدود فمثلا إصدا ChatGPT-3.5 لديه حد 4000 كلمة فقط لذلك يجب عدم إرسال كلمات أكثر من 4000 فبالطبع سيقوم بإهمال بعضها.
  19. نعم بالطبع يمكنك ذلك حيث قديما كانت أغلب البرامج تعمل هكذا دون الحاجة إلى إستخدام قواعد بيانات حيث يمكنك حفظ المعلومات والبيانات في ملفات مثل txt أو ملفات json او csv وغيرها من الصيغ المختلفة الأخرى . ولكن هنا يجب على التطبيق أن يكون بسيطا ولا يتم حفظ بيانات وملفات كثيرة حيث لن يكون بالكفاءة المتوقعه كما لو تم إستخدام قواعد البيانات . حيث سيتوجب عليك أنت من تقوم بالتعامل مع تلك البيانات من خلال حفظها وإستعداتها وترشيحها أيضا وإذا لم يتم ذلك بالشكل الصحيح فكفاءة البرنامج ستكون سيئة وسيكون بطئ . ولذلك إذا كان التطبيق بسيط فلابئس يمكنك عدم إستخدام قواعد البيانات.
  20. وعليكم السلام ورحمة الله وبركاته. إن مكتبة scipy توفر عدة اختبارات إحصائية يمكن استخدامها لتحليل البيانات ولنشرح معا الإختبارات التي وضحتها : إن fisher_exact يستخدم لاختبار العلاقة بين متغيرين فئويين عندما تكون عدد البيانات صغير وإليك التوثيق الرسمي للدالة : https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.fisher_exact.html أما pearsonr فهو إختبار معامل ارتباط بيرسون حيث تستخدم لحساب معامل الارتباط بيرسون بين متغيرين و يتم إستخدامه عندما يكون لديك متغيرات عددية وتريد قياس الارتباط بينهما. وإليك التوثيق الرسمي للدالة : https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html أما spearmanr (إختبار معامل ارتباط سبيرمان) فهو اختبار يحساب معامل الارتباط سبيرمان الذي يقيس العلاقة بين المتغيرات بناء على الرتب. حيث يستخدم عندما لا تكون البيانات موزعة بشكل طبيعي أو عندما لا يكون هناك ارتباط خطي بين المتغيرات. وإليك التوثيق الرسمي للدالة : https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.spearmanr.html اما mannwhitneyu (إختبار مان ويتني) يستخدم للمقارنة بين المتوسطات بين مجموعتين غير مترابطتين ويقوم بتحديد ما إذا كانت هناك فروق كبيرة بين توزيعين رقميين. وإليك التوثيق الرسمي للدالة : https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
  21. لا مشكلة يمكنك كتابة الملحق بنفسك . حيث لا يجب أن يظهر الملحق لأنك تحاول إنشاء ملف وليس إستيراد ملف . لذلك في نهاية الملف يرجى كتابة py. وإذا كان هذا سؤال خاص بإحدى دروس الدورات فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  22. هنا في أكاديمية حسوب لا نقوم بإجابة أسئلة الإختبارات والتسليمات ولكن يمكننا مساعدتك في الحل أوتقيم الحل الخاص بك . لذلك يرجى أولا محاولة حل الإختبار بنفسك وإرفاق الإجابة التي توصلت إليها وإذا كان هناك خطأ أو مشكلة يمكننا مساعدتك و إرشادك إلى الأخطاء وتقيم حلك. وإليك الدروس التالية التي ستساعدك على حل الإختبار : وإليك مقالات كثيرة حول لغة ++c يمكنك التعرف عليها من هنا : https://academy.hsoub.com/programming/cpp/ بعد محاولتك لحل الإختبار يمكنك إرفاق الكود النهائي هنا لتقيمه لك.
  23. هل يمكنك توضيح المشكلة التي تواجهك مع إرسال صورة لها . أما إذا كان سؤالك متعلق بإحدى دروس الدورات فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  24. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  25. وعليكم السلام ورحمة الله وبركاته. نحن هنا على موقع الأكاديمية لا نقوم بحل أسئلة الإختبارات ولكن نستطيع إرشادك إلى الحل الصحيح . لاحظ المشكلة لديك في الإستعلام أنك تقوم بوضع شرط إذا كان أقصى تاريخ للتعديل أقل من أو يساوي '2019-08-16' فهنا أنت ستأخذ قيمة new_price وإلا فسيتم وضع قيمة 10 تلقائيا . الخطأ في الشرط عندما يكون قيمة max(change_date) أكبر من '2019-08-16' ولكن المنتج لديه تعديل للسعر قبل هذا التاريخ هنا الإستعلام الخاص بك سيضع 10 بدلا من أخذ السعر قبل التاريخ '2019-08-16' . وأيضا يوجد خطأ أخر لديك أنه في MAX() تستخدمها لتحديد آخر تاريخ تعديل، ولكن العمود new_price غير مجمع أى أن mysql لا تستطيع التعامل معه وتجميعه إذا كان هناك أكثر من حقل له نفس ال product_id . و هذا يؤدي إلى نتائج غير متوقعة لأن قيمة new_price لن تتوافق مع تاريخ التعديل المحدد. لذلك يجب عليك في الحل أولا البحث عن التواريخ التي أقل من أو تساوي '2019-08-16' وحينها تأخذ قيمة new_price لأعلي تاريخ . أما إذا كان هنا منتج لا توجد لديه تعديلات قبل تاريخ '2019-08-16' فإذا تضع رقم 10.
×
×
  • أضف...