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

ياسر مسكين

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

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

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

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

    2

آخر يوم ربح فيه ياسر مسكين هو أكتوبر 26 2024

ياسر مسكين حاصل على أكثر محتوى إعجابًا!

5 متابعين

المعلومات الشخصية

آخر الزوار

1293 زيارة للملف الشخصي

إنجازات ياسر مسكين

عضو نشيط

عضو نشيط (3/3)

691

السمعة بالموقع

14

إجابات الأسئلة

  1. من الأفضل تقسيم البيانات المتاحة لديك إلى مجموعتين، مجموعة تدريب ومجموعة اختبار، و استخدم مجموعة التدريب لتدريب النموذج، ثم قم بتقييم أدائه على مجموعة الاختبار، إذا كان الأداء جيدا على مجموعة الاختبار، فهذا مؤشر إيجابي على أن النموذج قادر على التعميم بشكل جيد. و يمكنك استخدام تقنيات مثل التحقق المتقاطع أو Cross-Validation لتقييم أداء النموذج على أجزاء مختلفة من البيانات، و إذا كانت البيانات الجديدة متاحة يمكنك اختبار النموذج مباشرة عليها لمعرفة كيفية تعامله معها.
  2. بالنسبة للمحركات الجاهزة توفر أدوات متكاملة تساعدك على تسريع عملية تطوير الألعاب، كما تحتوي على مكتبات جاهزة ومكونات إضافية تساعدك على بناء الألعاب بسهولة، فثملا Unity معروف بسهولة استخدامه ودعمه للعديد من المنصات، بينما Unreal Engine يتميز بجودة رسوميات عالية جدا وواقعية. و بعضها مجاني لكن مع اشتراكات أو عمولات تعتمد على أرباح اللعبة، حيث أن Unity مجاني حتى 200 ألف دولار أرباح سنوية، بعدها يتطلب اشتراكا، أما Unreal Engine يأخذ عمولة بنسبة 5% من الأرباح بعد تحقيق 1 مليون دولار. أما بناء محرك خاص يستغرق وقتا طويلا و ميزانية عاليا جدا لدرجة أنه يعتبر مستحيل أن تقوم بهذا بمفردك، وبالتالي تحتاج إلى فريق متكامل و ميزانية عاليا لتحقيق هذا الأمر.
  3. السبب في عدم وجود المسار الأول (WindowsLiveGamebar) هو أن هذا المسار كان يستخدم في الإصدارات القديمة من Windows قبل Windows 10 ومع إطلاق Windows 10 قامت Microsoft بإعادة تصميم Game Bar بالكامل وتغيير هيكلة تخزين الإعدادات في سجل النظام. أصبحت الإعدادات الآن تخزن في المسار الجديد: لذا انتقل إلى المسار التالي: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR بعدها أعد تشغيل الجهاز ثم جرب التسجيل مرة أخرى.
  4. لا ليس كذلك فدالة sorted() في بايثون لا تستخدم خوارزمية Merge Sort وتستخدم بايثون خوارزمية مخصصة تسمى Timsortوهي خوارزمية هجينة تجمع بين مميزات كل من: Merge Sort (دمج مرتب) Insertion Sort (ترتيب بالإدراج) وتم تطوير Timsort بواسطة Tim Peters في عام 2002 خصيصا لبايثون والمميز في هذه الخوارزمية أنها تعمل بشكل أسرع مع البيانات المرتبة جزئيا وهي مستقرة (stable sort) وتحافظ على الترتيب النسبي للعناصر المتساوية وتستخدم ذاكرة إضافية أقل من Merge Sort الكلاسيكية وأما التعقيد الزمني لها في أسوأ الحالات هو O(n log n). يمكنك مراجعة المزيد من هنا حول الدالة: الدالة sorted()‎ في بايثون
  5. لا توجد طريقة سحرية لمتابعة الدورة فكلّ طالب لديه ظروفه ومتغيراته الشخصية التي لا يمكن القياس عليها، لذا أنصحك بإنجاز برنامجك الخاص ويكون مرنا وفقا لاحتياجاتك وظروفك اليومية، ولكن في البرمجة بشكل خاص عامل الاستمرارية في التعلم والتطبيق العملي مهم جدا للتحصيل الجيد للدورة وللمعارف المكتسبة أثناء دراستها، لذا فليس العبرة بالحجم الساعي اليومي بقدر ما تكون في الكمّ المعرفي المكتسب يوميا، لذا من الأفضل متابعة الدورات كما هي وفقا للترتيب التي هي عليه، ولا حرج بل هو أمر مستحسن أن يأخذ الطالب قسطا من الراحة بين الفينة والأخرى، أو بين إتمامه لمسار وبدايته لمسار آخر، أين يمكنك حينها مراجعة ما تعلمته والتدرب عليه تحضيرا لما هو آت من مسارات إذ أنك في الأغلب ستجد مسارات مترابطة مع بعضها البعض كالحلقات ومن الجيد فهم كل جزء منها للانتقال إلى التي بعدها كما يمكنك مراجعة الإجابات التالية على سؤال مشابه من هنا:
  6. يبدو أن هناك مشكلة في ذاكرة الحاسوب فالبرنامج يحاول إنشاء مصفوفة NumPy كبيرة جدا ولا يوجد ذاكرة كافية لتخزينها لاحظ أنّ المصفوفة التي تحاول إنشاءها تحمل الأبعاد التالية: 28800 × 43094 ونوع البيانات هو float64 أي 8 بايت لكل عنصر ومنه بعملية حسابية بسيطة سنجد أنّ الحجم الإجمالي المطلوب هو 9.25 جيجابايت لذا يمكنك استخدام نوع بيانات أصغر مثل float32 بدلا من float64 لتقليل استهلاك الذاكرة للنصف: dtype=np.float32 أو يمكنك استخدام المصفوفات المتناثرة (sparse matrices) كالتالي: from scipy import sparse sparse_matrix = sparse.csr_matrix((28800, 43094), dtype=np.float32) m = DesignMatrix(sparse_matrix, design_info)
  7. صحيح أنّ الفيديو الترويجي مرّ عليه وقت لكن توجد فيديوهات أخرى تتحدث عن تطوير الواجهات ويتم إضافة فيديوهات متعلقة بهذا المجال دوريا مثل هذا الفيديو: بالنسبة لمحاور الدورة وأيّ شيء متعلق بمساراتها فستحده محدّثا في هذه الصفحة: كما يتمّ تحديث هذه الصفحة دوريا كلّما قام فريق الإعداد والإدارة بتحديث معين داخل الدورة، كتحديث فيديو أو إضافة مسار جديد، كما يمكنك أن تجد أنّه يتم إضافة ملاحظات دورية أسفل الدروس بخصوص تحديث بعض الأمور وهذا ما يبين وجود متابعة صارمة من قبل الأكاديمية على محتوى الدروس والتحديثات الجديدة التي تطرأ في التقنية. بالرغم من ذلك فإنّ الوصول للدورة سيكون متاحا مدى الحياة بالإضافة إلى أيّ تحديثات تطرأ عليها، كما أنّ ثلّة من المدربين يرافقون الطلبة في مشوارهم التعليمي في الأكاديمية بحيث يجيبون على استفساراتهم وانشغالاتهم. بمجرد إتمامك للدورة أو إتمامك لأربع مسارات كاملة مع تحقيق الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا توثيق الهوية فستكون مؤهلا لاجتياز الامتحان والحصول على شهادة ومتابعة رسمية من قبل فريق مختص.
  8. أولا أنصحك بتحديد نوع التطبيق قبل البدء في حال ما رغبت أن تعمل: تطبيق ويب فسيكون مناسبا إذا كنت تريد أن يكون التطبيق متاحا عبر الإنترنت هنا يمكنك استخدام تقنيات مثل: Backend: Python (Flask أو Django)، أو Node.js. Frontend: React، Vue.js أو أي مكتبة أو إطار عمل لبناء واجهات المستخدم. قاعدة البيانات: PostgreSQL مع أدوات مثل pgAdmin لإدارة البيانات. أو تطبيق سطح مكتب سيكون مناسبا إذا كان التطبيق سيعمل على أجهزة معينة داخل الشركة في هذه الحال يمكنك استخدام: Python مع مكتبة مثل Tkinter أو PyQt لإنشاء واجهات سطح المكتب. PostgreSQL كقاعدة بيانات. بالنسبة لتصميم قاعدة البيانات يمكنك البدء بتصميم قاعدة بيانات متكاملة تعكس العمليات التي سيحتاجها التطبيق ويتضمن ذلك إنشاء جداول مثل جدول العمال لتخزين بياناتهم الأساسية كالأسماء والأرقام الوظيفية والحالة الإدارية، وجدول آخر لتسجيل العمليات التي تتم على بياناتهم، مثل التعديلات أو الإضافات، مع تفاصيل عن الشخص الذي أجرى التعديل ووقته.
  9. الخطأ x8232367 تحديدا يشير إلى فشل في تهيئة خدمة التسجيل في Game Bar بسبب عدم تطابق القيم في سجل النظام مع إعدادات التطبيق وتحدث المشكلة بشكل خاص في الحالات التالية: بعد تحديثات Windows الكبيرة عند تغيير إعدادات بطاقة الرسومات عند حدوث خلل في تثبيت تحديثات Xbox Game Bar لحل المشكلة أرجو الضغط على Windows + R ثم اكتب regedit واضغط Enter بعدها انتقل إلى المسار التالي: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsLiveGamebar ابحث عن مفتاح يسمى AllowGameDVR وفي حال لم تجده قم بإنشائه بالنقر بزر الماوس الأيمن كالتالي: > New > DWORD (32-bit) Value ثم اضبط قيمته على 1 بعدها أعد تشغيل الكمبيوتر، بعد ذلك افتح التالي: Settings > Gaming > Captures ثم قم بتعطيل ثم إعادة تفعيل الخيار التالي: "Record game clips and screenshots".
  10. من خلال رسالة الخطأ فالمشكلة الرئيسية هي أن المشروع لا يستطيع العثور على مكتبات Groovy المطلوبة فالنظام بالتحديد يحاول البحث عن مكتبات Groovy مثل: groovy-core groovy-ant groovy-json groovy-xml وغيرها من المكتبات والخطأ يحدث في مرحلة تنفيذ Gradle task 'assembleDebug' وهي المرحلة المسؤولة عن بناء تطبيق Android للتصحيح كما هو موضح هنا: Execution failed for task ':gradle:compileGroovy' لذا في مجلد المشروع افتح terminal وقم بتنفيذ: flutter clean rm -rf pubspec.lock cd android && ./gradlew clean وعدّل ملف android/gradle/wrapper/gradle-wrapper.properties ليكون: distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip وتأكد من أن ملف android/build.gradle يحتوي على: buildscript { ext.kotlin_version = '1.8.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } ثم نفذ التالي: flutter pub get flutter run وإذا استمرت المشكلة أرجو حذف مجلد .gradle في مجلد android وحذف مجلد build في مجلد المشروع ثم إعادة تنفيذ الخطوات السابقة من جديد.
  11. المشكلة في الكود تكمن في أن العناوين العربية تظهر بشكل رموز (Unicode) مثل \u0645\u0639 بدلا من ظهورها بشكل نص عربي صحيح لذا الحل بسيط جدا نحتاج فقط تعديل سطر واحد في الكود عند حفظ النتائج في ملف JSON وتحديدا في هذا الجزء: with open('results.josn' ,'w',encoding='utf8') as f: json.dump(results,f,indent=2) ونقوم بتعديله إلى التالي: with open('results.josn' ,'w',encoding='utf8') as f: json.dump(results, f, ensure_ascii=False, indent=2) بإضافة معامل ensure_ascii=False إلى دالة json.dump() وهذا سيجعل بايثون يحفظ النص العربي كما هو بدلا من تحويله إلى رموز Unicode.
  12. بالنسبة لشروط إتمام الدورة واجتياز الإمتحان فأرجو مراجعة الشروط كاملة من هنا: https://support.academy.hsoub.com/exams أما بالنسبة لأسئلتك حول ماذا سيحصل بعد اجتيازك للاختبار وحصولك على الشهادة فقد تمت الإجابة في السابق على تساؤل مماثل لذا أدعوك لمراجعة الأجوبة عليه من هنا:
  13. وعليكم السلام ورحمة الله وبركاته، في الواقع القيم 0.0 و 1.0 في بيانات مرض السكري تمثل نفس المعنى مثل 0 و 1 لكن يتم تمثيلها بالأرقام العشرية (floating point numbers) لعدة أسباب من بينها: التناسق مع المعايير العامة في علم البيانات فعادة ما يتم تمثيل المتغيرات الثنائية (binary variables) كأرقام عشرية 0.0 و 1.0 التوافق مع خوارزميات التعلم الآلي فبعض الخوارزميات تتعامل بشكل أفضل مع الأرقام العشرية التناسق مع احتمالات التنبؤ لأنه عندما يقوم النموذج بالتنبؤ سيعطي نتائج على شكل احتمالات بين 0 و 1 مثل 0.7 أو 0.3 لذا يكون من المنطقي أن تكون البيانات الأصلية بنفس النمط فعندما تقوم بتدريب نموذج تصنيف ثنائي سيقوم بإخراج احتمالات عشرية بين 0 و 1 تمثل احتمال إصابة الشخص بالمرض لذا فإن استخدام 0.0 و 1.0 في البيانات الأصلية يتناسق مع هذا المفهوم.
  14. ال span هو عنصر inline يستخدم لتجميع وتنسيق جزء من النص داخل عنصر آخر لكنه لا يضيف أي تنسيق افتراضي للمحتوى أي أنه يمكننا استخدامه مع CSS لتنسيق أجزاء محددة من النص كالتالي: <p> هذه الجملة تحتوي على <span style="color: red;">كلمات ملونة</span> باللون الأحمر. </p> لأنّ أهم استخدامات span تكمن في تطبيق تنسيقات CSS على جزء محدد من النص من خلال إضافة classes أو IDs لأجزاء معينة للتحكم بها عبر جافا سكريبت لتمييز كلمات أو عبارات معينة داخل النص أو لتغيير لون أو حجم أو نمط خط جزء من النص. ويختلف span عن div في أنه عنصر inline بينما div هو عنصر block وهذا يعني أن span لا يبدأ سطرا جديدا ويأخذ فقط المساحة الضرورية لمحتواه يمكنك الاطلاع أكثر من هنا: العنصر <span> موسوعة حسوب وأرجو في قادم المرات طرح سؤالك في أسفل الدرس في صندوق التعليقات المخصص لذلك في حال كان سؤالك متعلقا بإحدى الدروس المتعلقة بأساسيات HTML في إحدى الدورات حيث هنا نطرح فقط الأسئلة العامة وهذا لمساعدتك بالشكل المناسب.
  15. الترتيب الحالي هو الأنسب للمبتدئين لأنه مدروس ليتناسب مع ذلك في إطار التعلم بالتدريج، لذا بما أنك في بداياتك فلا أنصحك بتخطّي الدروس من الأحسن دراستها كما هي والتطبيق مع المدرب، وعادة ننصح من يمتلك خبرة أو يعرف درسا معينا بتخطّي جزئية معينة، وحتى لو كنت مبتدئا واستصعب عليك إكمال وحدة معينة من المسار يمكنك تخطّيها والعودة إليها لاحقا، لكن دوما ننصح بطلب الاستشارة مباشرة وتوضيح أي جزئية ترغب في تخطّيها وسنقول لك إن كانت ستؤثر بشكل كبير أم لا ويمكنك العودة إليها لاحقا خاصة في حال عدم ترابط الدروس والمسارات ببعضها البعض، أما في حالتك الآن فمن الأفضل دراسة الدروس كما هي لأنّ الترتيب الحالي هو الأفضل للمبتدئين في الدورة وفي حال وجدت أيّ استفسار يمكنك طرحه أسفل الدرس المعني بذلك في صندوق التعليقات المخصص له وسنجيبك بكل صدر رحب.
×
×
  • أضف...