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

Mustafa Suleiman

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

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

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

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

    445

كل منشورات العضو Mustafa Suleiman

  1. نعتذر عن إمكانية توافر ذلك حاليًا بالأكاديمية، حيث أنه في حالة السماح بتحميل الفيديو سيتم إتاحة الدورات للجميع، وقد تم بذل مجهود كبير من قبل فريق من المدربين في إعداد وتوفير تلك الدورات لك، وأيضًا يتم تحديث الدورات كل فترة بالإضافة إلى الدعم من قبل أكثر من مدرب للإجابة على أسئلتك ومساعدتك في أي وقت. وأيضًا الشهادة والإختبارات والدورات الأخرى التي يتم توفيرها لك لاستكمال مسارك البرمجي الذي إخترته. والسبب الرئيسي لعدم السماح بتحميل الكورسات لمشاهدتها offline هو أن معظم منصات التعليم الإلكتروني تعتمد على نموذج البث المباشر لتوفير المحتوى التعليمي، ويتم تخزين محتوى الفيديو والمواد التعليمية على خوادم الشركة المزودة للخدمة التعليمية والتي يتم الوصول إليها من خلال الإنترنت فقط. وأيضًا هناك سبب آخر، إتاحة المواد التعليمية بشكل مجاني يضر أكثر مما يفيد، فمن طلب الإجتهاد وعلو الشأن عليه ببذل بعض الجهد ودفع جزء من ماله ليثبت صدق عزيمته ويحصل على مواد تعليمية قيمة تؤهله لمراده، بينما من ليس لديه عزيمة وصدق في طلبه فلن يقوم بذلك على عكسك أنت.
  2. السؤال غير واضح، ما الغرض من السكريبت؟ هل تقصد سكريبت لتسجيل الدخول على حسابك وتنفيذ أمر ما كتشغيل قائمة من الأغاني؟ ستحتاج إذن إلى حساب مطور، لتتمكن من الوصول إلى Apple Music API، في حال لا تريد ذلك، فستحتاج إلى استخدام مكتبة Selenium أو Playwright لفتح منصة الويب الخاصة بـ Apple Music وتنفيذ محاكاة لما تريده كالنقر أو البحث وخلافه، والمكتبة الأخيرة أفضل.
  3. ستجد بجانب دروس الدورة علامة دائرة زرقاء بجانب الدروس التي لم تشاهدها بعد داخل كل مسار مثل التالي: وستختفي تلك الدائرة في حال شاهدت الدرس. لكن أرجو عدم الضغط على زر "حدد الموقع كمقروء" فذلك من شأنه جعل كامل الموقع كأنك قرأت المقالات وشاهدت الدروس لذا ارجو عدم الضغط عليه.
  4. لنحاول التأكد من أن Nginx يستخدم location /static/ بشكل صحيح لجميع الطلبات التي تبدأ بـ /static/، وأن الـ location يتمتع بالأولوية على أي كتلة أخرى ربما تتعارض معه. أولاً بتعديل ملف الإعدادات لاستخدام ^~ مع location /static/ لإعطائه الأولوية: server { root /opt/Fikra-Project; location ^~ /static/ { alias /opt/Fikra-Project/staticfiles/; } location /media/ { alias /opt/Fikra-Project/media/; } # إعدادات Gunicorn location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } حيث ^~ يخبر Nginx أنه إن تم العثور على تطابق مع /static/، فلا يتم التحقق من أي كتل location أخرى، واستخدام ذلك الـ location مباشرًة، ويجب أن يكون location ^~ /static/ يأتي قبل location / في ملف الإعدادات. ثم تنفيذ أمر: python manage.py collectstatic --noinput بعد التعديل، تفقد صحة الإعدادات وأعد تحميل Nginx: sudo nginx -t sudo systemctl reload nginx
  5. ليس كل شيء بطبيعة الحال، لكن سيتم قياس مدى استيعابك لما قمت بدراسته في الدورة، أي توجيه أسئلة في صميم محتوى الدورة لرؤية هل استوعبت بالفعل الجانب النظري والعملي أم هناك نقاط ضعف بحاجة للمراجعة؟ آلية الإختبار هي كالتالي: بعد إنهاء 4 مسارات من الدورة على الأقل (سيتم إختبارك في تلك المسارات فقط)، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
  6. في ملف src\components\common\form.jsx في الواجهة الأمامية كتبت onSubmit بشكل غير صحيح، في المكون، يجب كتابته onSubmit عند عمل props destructuring هنا: function CommonForm({ formControls, formData, setFormData, onSubmit, buttonText, isBtnDisabled }) وعند تمريره هنا: <form onSubmit={onSubmit}> بعد ذلك سيظهر لك خطأ آخر بسبب أنك في الواجهة الخلفية في ملف controller\userController.js تتحقق من من حقل configPassword وهو غير موجود في الواجهة الأمامية: if (findEmail === null && password === configPassword) { لذا عليك تعديل دالة register في ذلك الملف إلى التالي: exports.register = async (req, res) => { const { name, email, password } = req.body; try { const hashPassword = await bcrypt.hash(password, 10); const findEmail = await User.findOne({ where: { email } }); if (!findEmail) { const user = await User.create({ name, email, password: hashPassword, configPassword: hashPassword, role: 'user', }); res.status(200).json({ message: 'تم انشاء الحساب بنجاح' }); } else { res.status(401).json({ message: 'الحساب موجود بالفعل ' }); } } catch (e) { res.status(500).json(e.message); } };
  7. كلاهما في مجال تعلم الآلة، وهما تقنيتان مختلفتان لهما أهداف متباينة رغم وجود بعض التشابه في الفكرة العامة لاستخدام المعرفة المكتسبة. Multi-task Learning (MTL) أو التعلم متعدد المهام، تهدف إلى تدريب نموذج واحد على عدة مهام ذات صلة في نفس الوقت، بحيث يتم تعلم تمثيلات مشتركة shared representations تفيد جميع المهام، وذلك لتحسين الأداء العام للنموذج عبر الاستفادة من المعلومات المشتركة بين المهام كتعلم ميزات عامة تُفيد في الكشف عن حواف الصور للتعرف على الوجوه والكائنات معًا. بالتالي تقليل خطر overfitting بسبب تعلم ميزات عامة، وتوفير في الموارد الحاسوبية بدلًا من تدريب نماذج منفصلة لكل مهمة، وستجد أنها شائعة في تطبيقات مثل السيارات ذاتية القيادة للتعرف على إشارات المرور والمشاة معًا، أو في الرعاية الصحية لتشخيص أمراض متعددة من صور الأشعة. أما Transfer Learning (TL) أو نقل التعلم، فتعتمد على استخدام المعرفة المكتسبة من مهمة مصدر source task، وتكون ذات بيانات كبيرة لتحسين الأداء في مهمة هدف target task ذات بيانات محدودة، للاستفادة من المعرفة السابقة كالأوزان في شبكة عصبية لتسريع التدريب أو تحسين الأداء في المهمة الجديدة. وهي فعالة في حالات البيانات المحدودة للمهمة الهدف، وتوفر الوقت والموارد، خاصةً في الشبكات العصبية العميقة، وتقنية أساسية في النماذج الحديثة مثل BERT أو GPT، حيث تُدرَّب النماذج على بيانات عامة ثم تُضبط من خلال عمل fine-tune لمهام محددة.
  8. ما هو الخطأ الظاهر لك؟ وعامًة يوجد إضافة جاهزة للربط مع باي بال: https://wordpress.org/plugins/wp-paypal/ https://wordpress.org/plugins/quick-paypal-payments/ قم بتجربة أيًا منهم واختر المناسبة لك.
  9. ذلك مجال علمي متعدد التخصصات يجمع بين علم الأحياء و علم الحاسوب، أي ببساطة، استخدام التقنيات الحسابية لتحليل البيانات البيولوجية وفهم الأنظمة البيولوجية. بالتالي هو تطبيق أدوات وتقنيات من علوم الحاسوب، كالخوارزميات لتطوير طرق لحل المشكلات البيولوجية، هياكل البيانات لتنظيم وتخزين البيانات البيولوجية الضخمة بكفاءة، قواعد البيانات لإنشاء وإدارة قواعد بيانات بيولوجية واسعة النطاق، الإحصاء لتحليل البيانات البيولوجية واستخلاص استنتاجات ذات مغزى، تعلم الآلة والذكاء الاصطناعي لنمذجة العمليات البيولوجية والتنبؤ بها، والنمذجة الرياضية والمحاكاة لفهم سلوك الأنظمة البيولوجية المعقدة. حاليًا يستخدم علماء الأحياء الحاسوبية تلك الأدوات والتقنيات للإجابة على أسئلة بيولوجية مهمة، منها تحليل الجينوم لفهم تركيب ووظيفة الجينات والجينوم الكامل للكائنات الحية، دراسة البروتينات (البروتيوميات) لتحليل تركيب ووظيفة البروتينات وتفاعلاتها، اكتشاف الأدوية لتطوير أدوية جديدة عن طريق تحليل البيانات البيولوجية وتصميم الجزيئات الدوائية، علم الأحياء النظمية لفهم الأنظمة البيولوجية المعقدة كوحدات متكاملة، بدلاً من دراسة أجزاء منفصلة، والمعلوماتية الحيوية Bioinformatics والتي تستخدم كمصطلح مرادف لعلم الأحياء الحاسوبي، ولكنها تركز بشكل خاص على إدارة وتحليل البيانات البيولوجية. وعلم الأحياء الحاسوبي ضروري في العصر الحديث بسبب كميات البيانات البيولوجية الهائلة والتي أدت التطورات في التقنيات البيولوجية كالتسلسل عالي الإنتاجية إلى توليد كميات ضخمة من البيانات التي تحتاج إلى تحليل حاسوبي، والأنظمة البيولوجية معقدة للغاية وتتطلب أدوات حسابية متطورة لفهمها، وتسريع وتيرة الاكتشافات البيولوجية وتطبيقاتها في مجالات مثل الطب والزراعة والتكنولوجيا الحيوية.
  10. صحيح، قديمة وليست مستخدمة بشكل كبير حاليًا، حيث توقف تطويرها منذ فترة طويلة جدًا، فأخر إصدار رسمي كان في عام 2000 تقريبًا كما هو ظاهر في المستودع الرسمي: https://github.com/khinsen/ScientificPython تم استبدالها بمكتبات أحدث وهم: NumPy: للعمليات العددية والمصفوفات بكفاءة عالية. هي أساس معظم المكتبات العلمية الأخرى. SciPy: مجموعة واسعة من الخوارزميات والأدوات العلمية والهندسية مثل التكامل، التحسين، الإحصاء ومعالجة الإشارات. Matplotlib: لإنشاء رسوم بيانية وتصور البيانات. Pandas: لتحليل ومعالجة البيانات المنظمة كالجداول وسلاسل الزمن.
  11. قم بتشغيل cmd كمسؤول administrator عند تنفيذ الأوامر، وبعد الإنتهاء نفذ الأوامر التالية: DISM.exe /Online /Cleanup-image /Restorehealth ثم: sfc /scannow
  12. ما هو الخطأ الذي يظهر، هل يوجد خطأ في الكونسول في المتصفح؟ أو في منفذ الأوامر في الخادم؟ وما هي التقنيات المستخدمة في تطوير الموقع.
  13. لم تذكر ما هي اللغة أو التقنيات المستخدمة للتطوير، فلكل لغة أداة اختبار خاصة بها، غالب الحال أنت تستخدم MERN للويب و React Native أو flutter للهاتف. عامًة الحد الأدني من الإختبارات هي كالتالي: 1- اختبار الوحدات Unit Testing حيث تختبر كل مكوّن أو وظيفة بشكل منفصل مثل APIs، دوال التسجيل، وغيرهم، وتتوفر أدوات أشهرها Jest لجافاسكريبت لكن الأفضل في رأي حاليًا هي vitest. 2- اختبار التكامل Integration Testing، من خلال التحقق من تفاعل المكوّنات مع بعضها بشكل صحيح كتفاعل الواجهة الأمامية مع الخلفية، وذلك للكشف عن المشاكل التي قد تظهر عند دمج الوحدات، مثل مشاكل نقل البيانات بين الوحدات، أو عدم توافق الواجهات. وتستطيع استخدام vitest لذلك أيضًا، ويتوفر WireMock و MockServer لمحاكاة الخدمات الخارجية APIs أثناء الاختبار. ولديك أيضًا Testcontainers لتشغيل خدمات مثل قواعد البيانات أو وسيط الرسائل في بيئة اختبار معزولة. 3- اختبار الوظائف Functional Testing أو System Testing للتحقق من أن كل ميزة تعمل كما هو متوقع وفقاً لمتطلبات العميل، كعملية الدفع وإدارة الحساب. أي اختبار التطبيق بأكمله كنظام واحد متكامل للتأكد من أنه يحقق الوظائف المطلوبة كما هو محدد في المتطلبات، والتحقق من أن التطبيق يعمل كما هو متوقع من وجهة نظر المستخدم. والأدوات المتاحة لذلك هي Selenium, Cypress, Playwright لأتمتة اختبارات واجهة المستخدم UI، حيث تلك الأدوات تسمح لك بالتفاعل مع التطبيق في المتصفح كما يفعل المستخدم الحقيقي. الأفضل في رأي هي Playwright. و Postman لـ APIs لاختبار واجهات برمجة التطبيقات بشكل مباشر.
  14. الموقع يعمل على هاتف آخر صحيح؟ هل هي نفس الشبكة المستخدم في الهاتف الأول؟ في حال كانت لا إذن المشكلة في إتصال الإنترنت، حاول تشغيل برنامج VPN غير البرنامج الذي ذكرته لك. في حال استمرت المشكلة قم بتجربة متصفح آخر على الهاتف، إن استمرت المشكلة لم يتبقى لك سوى خيار إعادة ضبط مصنع للهاتف.
  15. إما أن collectstatic لم ينقل ملفات Jazzmin إلى staticfiles، أو أن Nginx يبحث في المسار الخاطئ بسبب خطأ في alias، غالبًا لم تقم بتشغيل الأمر python manage.py collectstatic بشكل صحيح بعد نشر مشروعك، وذلك لتجميع جميع الملفات الثابتة من تطبيقاتك المختلفة ومجلدات STATICFILES_DIRS في مجلد واحد محدد بواسطة STATIC_ROOT. python manage.py collectstatic --noinput ثم تحديث كتلة location /static/ في ملف الإعدادات كالتالي: location /static/ { alias /opt/Fikra-Project/staticfiles/; autoindex off; expires max; access_log off; add_header Cache-Control "public"; } بعد تشغيل الأمر تفقد هل يوجد مجلد jazzmin: ls /opt/Fikra-Project/staticfiles/jazzmin/ إن لم تجده عليك إعادة تثبيت حزمة jazzmin وإضافة jazzmin إلى INSTALLED_APPS في settings.py. ثم إعادة تحميل nginx: sudo systemctl reload nginx
  16. التدرب يكون من خلال استخدام مجموعات البيانات datasets المتاحة على موقع Kaggle ثم إعادة توظيف ما تعلمته على مجموعات البيانات تلك. حيث Kaggle منصة شهيرة لمسابقات علوم البيانات والذكاء الاصطناعي، وتستطيع المشاركة في المسابقات لحل مشاكل حقيقية باستخدام البيانات، والحصول على تقييم لأدائك، والتعلم من حلول الآخرين. وهناك العديد من مجموعات البيانات المتاحة مجانًا، ابحث عن مجموعات بيانات مناسبة للموضوع الذي تتعلمه على منصات أخرى مثل UCI Machine Learning Repository, Google Dataset Search. أيضًا لديك منصة https://www.hackerrank.com/domains/ai و تقدم تحديات برمجية في مجالات الذكاء الاصطناعي المختلفة، مثل Machine Learning, Natural Language Processing, Computer Vision. كذلك منصةhttps://leetcode.com/explore/featured/card/machine-learning-101 فعلى الرغم من أنها منصة مشهورة للتجهيز للـ interview في مجال البرمجة بشكل عام بتوفير مسائل برمجية، إلا أنها بدأت في إضافة أقسام تركز على Machine Learning. وهناك AIcrowd منصة أخرى للمسابقات والتحديات في الذكاء الاصطناعي، وتركز على مجالات متنوعة مثل التعلم المعزز، و Machine Learning for Social Good، و غيرها. كنصيحة ابدأ بمشاريع بسيطة بعد تعلم كل جزء، حاول تطبيق ما تعلمته في مشروع صغير وملموس، فمثلاً: بعد تعلم التصنيف قم ببناء مصنف بسيط للبريد العشوائي أو مصنف للصور مثل تصنيف صور الحيوانات. بعد تعلم الانحدار قم ببناء نموذج للتنبؤ بأسعار المنازل بناءًا على بيانات بسيطة. بعد تعلم التجميع قم بتجميع العملاء بناءً على بيانات الشراء. بعد تعلم NLP قم ببناء محلل بسيط للمشاعر من النصوص أو روبوت دردشة أساسي.
  17. الطريقة الصحيحة لتثبيت SQL Server هي من خلال تحميل SQL Server 2022 وتثبيه: https://go.microsoft.com/fwlink/p/?linkid=2215158&clcid=0x409&culture=en-us&country=us ثم تشغيل الملف واختيار basic للإعدادات لتثبيته بشكل سهل، ثم الضغط على install والإنتظار لإنتهاء التحميل، وسيتم فتح نافذة SQL Server installation center اضغطي منها على installation ثم اختاري new sql server standalone ثم الضغط على next next عند الوصول إلى feature selection قومي بإلغاء تفعيل azure extension. بعد ذلك في instance features اختاري full-text فقط واضغطي على next next وعند الوصول إلى server configuration اضغطي على collation ثم customize ثم اختاري arabic لدعم اللغة العربية. وعند الوصول إلى database engine configuration اختاري mixed mode وحددي كلمة مرور للإتصال، ثم اضغطي على add current user، واضغطي على next ثم install. الطريقة الصحيحة لتثبيت SQL Server Management Studio أو SSMS من خلال تحميل SQL Server Management Studio 21 Preview من الرابط التالي: https://aka.ms/ssms/21/preview/vs_SSMS.exe ثم فتح الملف والضغط على continue ثم الضغط على install وبعد الإنتهاء من التثبيت اضغطي على launch لتشغيله. أو البحث في شريط البحث بالويندوز عن SQL Server Management Studio
  18. كلمة المرور لن تظهر ذلك طبيعي، عند تنفيذ أمر من خلال sudo سيطلب منك كلمة المرور قم بكتابتها ولن تظهر لك، ثم اضغط على Enter، وسيتم تنفيذ الأمر. وذلك لأسباب أمنية، فلو كلمة المرور تظهر أثناء كتابتها، فسيكون من السهل على أي شخص ينظر إلى شاشتك حتى عن بعد رؤية كلمة مرورك وسرقتها. أيضًا تجنب إظهار *** أثناء الكتابة لمنع أي شخص من معرفة طول كلمة المرور ويقوم بتخمينها.
  19. لا تشغل بالك به ستحتاج إلى تعديل كود في الـ registry لحذفه، وجوده غير مؤثر ولا يشغل مساحة سوى 100 ميجابايت.
  20. في حال قمت بإضافة flutter إلى متغيرات البيئة كما تم التوضيح لك، ما تحتاجه هو تنفيذ الأوامر: sdkmanager --install "cmdline-tools;latest" flutter doctor --android-licenses
  21. ذلك تحذير بأنّك تحاول حذف ملفات دعم إعداد Microsoft SQL Server 2022 بينما لا تزال هناك مكونات أخرى من SQL Server 2022 مثبتة تعتمد على تلك الملفات. اضغط على ok واستمر في عملية الحذف لا مشكلة، وسيتم حذف تلك المكونات. في حال استمرت المشكلة فربما لا تقوم بعملية الحذف بشكل صحيح، قم باختيار التالي Microsoft SQL Server من الإعدادات ثم اضغط على uninstall:
  22. نتيجة تنفيذ أمر flutter doctor قم بنسخها ولصقها هنا
  23. عليك تنفيذ الأوامر التالية لتفقد هل تم تثبيت Flutter SDK بشكل صحيح والتحقق من إضافة Flutter للـ Path في متغيرات النظام: flutter doctor flutter clean flutter pub get ويجب تثبيت إضافة Flutter في VS Code وأعد تشغيل VS Code بعد التثبيت. بالنسبة لـ Android Studio ومشكلة CMD-line tools، فتوجه إلى SDK Manager ثم SDK Tools وقم بإلغاء تحديد Android SDK Command-line Tools ثم أعد تحديده، واضغط Apply وانتظر اكتمال التحميل. أيضًا يجب تثبيت التالي: Android SDK Platform-Tools Android SDK Build-Tools Android SDK Command-line Tools في حال استمرت المشكلة احذف مجلد .android في مجلد المستخدم ثم أعد تثبيت Android Studio.
  24. تلك البرامج لا تستهلك الكثير من موارد الحاسوب، وأيضًا مساحة التخزين لا تستهلكها، وفي مجال البرمجة كلاهما مهمان فالأولى تمثل قاعدة بيانات علائقية والأخيرة غير علائقية. وبخصوص المكتبات التي ستحتاجها بالنسبة لمجال تحليل البيانات وتعلم الآلة، فقم بتثبيت Anaconda لو كان لديك المساحة المناسبة على قرص الـ C، بينما لو تريد توفير مساحة تستطيع تثبيت Miniconda حيث تستطيع اختيار المكتبات التي تريدها أثناء التثبيت وليس تثبيت جميع المكتبات في Anaconda وعددها 1500 مكتبة.
×
×
  • أضف...