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

محمد عاطف25

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

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

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

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

    154

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

  1. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  2. هذا بسبب أنك لم تضع العناصر بداخل عنصر cards كما تفعل في دالة burger . لذلك يجب إضافة العنصر : <div class="cards"> بعد سطر 45 و 82 و 118 في ملف script.js . script.js
  3. هل أنت مشترك في دورة تطوير الألعاب هنا ؟ إذا كان كذلك فإنه يتم شرح بالفعل كيفية إضافة الصور إلى مشروع godot وإستخدامها وإذا كانت تواجهك مشكلة في هذا الأمر فيرجى أسفل الدرس الخاص الذي به مشكلتك أن تقوم بوضع سؤالك هنا أسفل صندوق التعليقات. ولكن إليك الطريقة بالتفصيل . تأكد أولا أن الصورة لديك بصيغة تدعمها Godot مثل .png أو .jpg. وببساطة يمكنك سحب الصورة من المكان الموجودة فيه وتوجيها إلى برنامج godot وأن تفلتها داخل نافذة Godot في القسم الخاص ب FileSystem في الأسفل : ولإظهار الصورة داخل المشهد فممن شجرة العقد (Scene Tree) على اليسار قم بالضغط على + لإضافة عقدة جديدة وقم بإختيار Sprite2D أو TextureRect حسب نوع الاستخدام : ومن خصائص العقدة على اليمين (Inspector) سترى خاصية اسمها Texture قم بالضغط عليها ثم اختر الصورة التي أضفتها من الملفات : الآن سترى الصورة ظهرت داخل نافذة اللعبة.
  4. وعليكم السلام ورحمة الله وبركاته. يجب عليك ألا تشعر بالملل سريعا فإن مجال البرمجة كبير ولا يمكن إختصاره وإلا لن يكون مستواك بالمستوى المطلوب والذي يؤهلك للوصول إلى الوظائف بسهولة وبسرعه. أنصحك إذا مللت ولا تريد إكمال دورة علوم الحاسوب ولكن من إكمالها . أن تقوم على الأقل بدراسة المسارات التالية : قواعد البيانات إلى عالم الويب البرمجة كائنية التوجه ويمكنك حينها الإنتقال إلى دورة تطوير واجهات المستخدم . ونعم بالفعل دورة تطوير واجهات المستخدم تؤهلك لأن تصبح مطور مواقع ثابته وأن تقوم بتصميم صفحات الهبوط وغيرها من الوظائف التي تتطلب تصميم واجهات المستخدم .
  5. لقد فهمت المشكلة التي تقصدها . هذا بسبب مشاكل كثيرة لديك في التنسيقات . أولا في ملف style.css سطر 405 لاحظ أنك وضعت العرض بقيمة 100vh وهذا خاطئ حيث vh هي للأطوال أم vw للعرض ولكن تلك القيمة كبيرة وهي سبب تلك المشكلة لذلك يجب حذف هذا السطر . ثانيا المشكلة في الصور في قسم article لاحظ أنك وضعت لها عرض ثابت 600px ولهذا في الشاشات الأقل من 600px الصورة تأخذ عرض أكبر بكثير من الشاشة . وأيضا في قسم services قد وضعت padding كبير لهذا يجب تقليله في الشاشات الصغيرة . وإليك الملف بعد تعديل الأخطاء لك . style.css
  6. الخطأ الذي يظهر هو ValueError: X has 13 features, but StandardScaler is expecting 15 features as input. وهو بسبب السطر Xs = scaler.transform(df). وهذا الأمر يعني أن scaler.joblib الذي قمت بتحميله في تطبيق Flask يتوقع 15 ميزة كمدخل لديك بالرغم أن df الذي تنشأه من args يحتوي على 13 ميزة فقط. وفي الملف notebook.ipynb الذي أرفقته يظهر أنه تم تدريب StandardScaler على 5 ميزات رقمية فقط وهي age و trestbps و chol و thalch و oldpeak. فالكود الحالي في api.py يقوم بتمرير جميع ال 13 ميزة إلى scaler.transform. ولحل المشكلة يجب علينا التأكد من أن df الذي يتم إدخاله إلى scaler.transform يحتوي على 15 ميزة قبل تمريره إلى ال scaler. وهذا يعني أن ال 5 ميزات الرقمية الأصلية age و trestbps و chol و thalch و oldpeak يجب ألا يتم تمريرها إلى هذا ال scaler. وإليك الملف api.py بعد تعديله وإصلاح الأخطاء. api.py
  7. هل يمكنك توضيح المشكلة التي تقصدها ؟ فالموقع والصورة المرفقة لا توجد بها أى مشكلة.
  8. أولا في ملف api.py يجب تغير get إلى post في Predict في السطر 22 هكذا : class Predict(Resource): @login_required def post(self): args = parser.parse_args() print(args) df = pd.DataFrame([args]); Xs = scaler.transform(df) Xdl = extractor.predict(Xs); X = np.hstack([Xs, Xdl]) y = int(rf.predict(X)[0]); probs = rf.predict_proba(X)[0].tolist() rec = (["مراجعة طبيب قلب","رسم قلب","متابعة مستمرة"] if y>=2 else ["نظام غذائي","رياضة","متابعة سنوية"]) pr = Prediction(result=y, proba=probs, user=current_user._get_current_object()) db.session.add(pr); db.session.commit() print(y,probs,rec) return jsonify(prediction=y, probabilities=probs, recommendations=rec) بعد ذلك يجب إنشاء ملف templates\predict.html ولقد قمت بإرفاقه لك يمكنك وضعه مباشرة في مجلد templates وهذا هو الذي سيحوي النموذج والمدخلات إلى الخادم. والآن في ملف auth.py يجب وضع المسار الجديد الذي يعرض النموذج هكذا : @bp.route('/predict', methods=['GET']) @login_required def predict(): return render_template('predict.html') يجب إيقاف الخادم الآن وإعادة تشغيله والذهاب إلى العنوان http://127.0.0.1:5000/predict وسيظهر لك النموذج . predict.html
  9. هل تقصد إرسال البيانات إلى العنوان predict ؟ إذا كان كذلك فيمكنك إرساله في ال body هكذا من خلال برنامج postman ولكن يجب عليك أن تكون قد قمت بتسجيل الدخول أولا : وهذه هي البيانات التي يمكنك إدخالها : { "age":10, "sex":1.0, "cp":1, "trestbps":1, "chol":1, "fbs":1, "restecg":1, "thalch":2, "oldpeak":1, "slope":1, "thal":1, "ca":1, "exang":1 } ولكن يفضل تغير نوع الطلب إلى post وليس get للتعامل معه بشكل أفضل.
  10. المشكلة غالبا بسبب إضافة في المتصفح لديك . إذا كان لديك أى مانع إعلانات يرجى تعطيلها للموقع حتي يعمل الفيديو بشكل صحيح . يمكنك مشاهدة أيضا الحلول التالية : إذا لم ينفع أى حل يرجى محاولة تجربة متصفح أخر غير الذي تستعمله الآن.
  11. هذا يعتمد على حجم المشروع وحجم التلاعب بالعناصر DOM . وأيضا هل تريد أن يكون المشروع هو مشروع صفحة واحدة أم لا . أولا إن التلاعب بال DOM هو أمر صعب ومكلف أى إذا لم يتم إستخدامه بشكل صحيح فإنه يستهلك موارد الجهاز ويجعل الموقع بطيئا مما يعطي تجربة مستخدم سيئة . بعكس React والذي يتعامل مع ال DOM بشكل أفضل بكثير بفضل ال Virtual Dom . إذا لو مثلا كان مشروعك عبارة عن صفحة واحدة أو بعض الصفحات البسيطة والتي لا تتطلب أن يكون المشروع عبارة عن صفحة واحدة أى يمكن تحديث الصفحة دون مشكلة . فهنا بالطبع الأفضل ال DOM لأنه سيوفر وقت ومجهود في إنشاء مشروع React وتخصيصه . أما إذا كان المشروع يتطلب إرسال طلبات إلى الخادم API وإحضار بيانات وعرضها وتحديثها في الصفحة فالأفضل هنا بالطبع React لتوفير الوقت والمجهود عليك وأيضا لجعل الموقع سريع .
  12. إذا يجب عليك إستخدام React Route لتحقيق ذلك فأنت في ملف src\App.jsx تقوم بإتخدام مكون Home و About معا حيث تستدعي About أسفل Home . ولكن يجب عليك إستدعائه المكون عند الذهاب إلى العنوان نفسه . فأولا يجب تثبيت الحزمة من خلال الأمر : npm install react-router-dom بعد ذلك نقوم بتعديل ملف App ليكون كالتالي : import React from "react" import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import Navbar from "./Components/Navbar/Navbar" import Home from "./Components/Navbar/Home/Home" import About from "./Components/About/About" function App() { return ( <> <Router> <Navbar /> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </Router> </> ) } export default App والآن في ملف src\Components\Navbar\Navbar.jsx نقوم بتغيره إلى التالي : import React from 'react'; import { Link } from 'react-router-dom'; import './Navbar.css'; import logo from '../../assets/logo.webp' const Navbar = () => { return ( <nav className='navbar'> <div className="logo"> <img src={logo} alt="img" /> </div> <div className="nav_link"> <ul> <li> <Link to="/">Home</Link> </li> <li> <Link to="/about">About</Link></li> <li> <Link to="/menu">Menu</Link></li> <li> <Link to="/service">Services</Link></li> <li> <Link to="/review">Review</Link></li> <li> <Link to="/contact">Contact</Link></li> </ul> </div> </nav> ) } export default Navbar والآن سيتم إستدعاء كل مكون عند الذهاب إلى العنوان الصحيح.
  13. السؤال غير واضح هل تقصد جعل قسم ال about يظهر فقط عند الذهاب إلى عنوان about وال home يظهر فقط في ال home أم ماذا ؟
  14. هل سؤال بخصوص إحدى دروس الدورات ؟ إذا كان كذلك فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل. أما بخصوص إصدار بايثون فيمكنك فعليا تنزيل أى إصدار لديك على ويندوز . ولكن ويندوز 7 أو xp ليس كل الإصدارات متاحة لهم.
  15. وعليكم السلام ورحمة الله وبركاته. هل تعمل على إطار عمل لارافيل ؟ إذا كان كذلك فنعم يجب تثبيب حزمة doctrine/dbal لتغير طول الأعمدة . حيث هي مطلوبة للسماح ل Laravel بإجراء تغييرات معقدة على الأعمدة مثل تغيير الطول عند إستدعاء الدالة change . لذلك يجب تثبيت الحزمة من خلال الأمر التالي : composer require doctrine/dbal الآن بداخل ملفات التهجير لتغير طول العمود يكون من خلال كود كالتالي : $table->string(‘name’, 80)->change(); حيث نقوم بكتابة إسم العمود الذي نريد تغير الطول الخاص به ومن ثم الطول الجديد وفي النهاية إستدعاء الدالة change .
  16. في مسار "تحليل البيانات Data Analysis" يتم شرح مكتبات مهمة في تحليل البيانات والتي سيتم إستخدامها في المسارات التالية في تعلم الآلة وغيرها من التطبيقات العملية . مثل مكتبة Pandas لتمثيل البيانات . ومكتبات مثل Matplotlib و Seaborn وأيضا يتم شرح كيفية تنظيف البيانات والتي سيتم إستخدامها بكثرة في المسارات التالية لمسار تحليل البيانات . أما مسار التعامل مع البيانات فهو منفصل عن مسار تحليل البيانات . حيث في مسار التعامل مع البيانات يتم شرح قواعد البيانات وكيفية التعامل معها ومع البيانات الموجودة بها وأيضا كيفية التعامل معل ملفات ال Excel و ال CSV وكيفية إحضار البيانات منها وقرائتها والتي سيتم إستخدامها بكثرة في مسار تعلم الآلة والمسارات التي تليه مثل مسار "تطوير نماذج ذكاء اصطناعي لمتجر إلكتروني" والذي يتعامل مع قواعد البيانات وال API لإحضار البيانات . لهذا تم وضع مسار تحليل البيانات قبل المسارات التي تعتمد عليه و مسار التعامل مع البيانات قبل المسارات التي تعتمد عليه وهكذا يصبح لديك المعرفة المسبقة وتستطيع فهم ما يستخدمه المدرب لأنه تم شرح أساسياته في المسارات السابقة.
  17. لاحظ المشكلة لديك في ملف login.html في هذا السطر : وكما يظهر من الخطأ فهو يخبرك أنه لا يوجد عنوان بإسم register لديك لهذا لا يستطيع إنشاء url له. ويخبرك أنه غالبا أنك تريد إستخدام "auth.register" وهذا هو إسم العنوان لديك. لذلك يجب إستبدال register المشار إليها في السطر السابق في رسالة الخطأ ب : auth.register
  18. وعليكم السلام ورحمة الله وبركاته. نعم بالفعل تم تغير ترتيب المسارات مؤخرا حيث يتم تعديل ترتيب مسارات الدورات في الأكاديمية أحيانا وذلك لتحسين التسلسل التعليمي وتسهيل الفهم ومساعدة الطلاب في التدرج في التعلم بشكل سهل ومناسب لهم . ولهذا أنصحك باتباع الترتيب الجديد لأنه الأحدث والأفضل وهذا إذا لم تقم بإتمام مسارات كثرة في الدورة . وإذا كنت قد أكملت أى مسار سابقا يمكنك تخطيه لا حاجة لإعادته بالكامل في الترتيب الجديد حيث الدروس كما هي فقط الترتيب الذي إختلف.
  19. ما هي رسالة الخطأ الذي تظهر في سطر الأوامر ؟
  20. هذا لأنك لم تقم بكتابة كلمة المرور في سلسلة الإتصال . يجب هنا بعد علامة ال : أن تقوم بكتابة كلمة مرور قاعدة البيانات.
  21. لا توجد أى مشكلة لقد تم الإنشاء والإتصال بنجاح لاحظ علامة الصح بجوار كلمة localhost . كلمة password is encrypted بسبب أن البرنامج يقوم بتشفير كلمة المرور لعدم عرضها وسرقتها . فإذا قام أى شخص بفتح البرنامج لا يستطيع الحصول على كلمة المرور . أى يمكنك الإكمال دون أى مشكلة. أما إذا حدث خطأ أثناء تشغيل الكود يرجى إرفاقه هنا.
  22. هذه مشكلة شائعة وأغلب الطلاب يعانون منها . حيث نسيان الأكواد والأوامر أمر طبيعي للغاية خصوصا عندما تدرس لغة برمجة جديدة أو تقنية جديدة . و أي شخص بدأ في تعلم البرمجة بشكل عام مر بهذا لذلك لا تقلق كل ما عليك هو عدم الإستسلام لهذا الشعور ومع التكرار والمراجعة و حل التمارين ستجد أن الأمور أصبحت جيدة وأن مشكلة النسيان لم تعد تتكرر لديك. وأيضا من الممكن أنك لم تقم بفهم الدروس والأساسيات بشكل كامل لهذا تحدث تلك المشكلة فإذا لم تقم بفهم الدروس ووظيفة وطريقة إستخدام كل شئ فبالطبع ستجد صعوبة في حل التمارين بنفسك ولن تتذكر الدروس . لهذا يجب عليك التأكد من عدم تخطي أى درس دون فهمه بشكل كامل. وإليك النصائح التالية التي ستساعدك :
  23. نعم إن Apidog يوفر لكِ حل شامل لإدارة ال API بشكل كامل فهو يجمع مميزات كثيرة مثل تصميم ال API وتوثيقها واختبارها وإنشاء Mock Servers وكل ذلك في برنامج واحد.
  24. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  25. نعم توجد العديد من البدائل لأداة Swagger والتي تمكنكِ من توثيق ال API بشكل أسهل وهذا يعتمد على احتياجات المشروع لديكِ. أولا يوجد Postman فهو ليس مجرد أداة لاختبار API بل أصبح الآن منصة شاملة لتطوير API وإدارتها فيمكنكِ تصميم واجهات ال API وتوثيقها وإنشاء طلبات HTTP واختبارها وهذا الأمر يسهل أمور العمل مع الفرق لتوثيق واختبار API. وهو يوفر واجهه سهلة الاستخدام وإمكانيات كبيرة ويمكنه أيضا إستيراد مواصفات OpenAPI -تنسيق Swagger- مما يجعله متوافق مع المشاريع الحالية لديكِ إذا كنتي تريدن التبديل من Swagger. يوجد أيضا Apidog وهو يوفر حل شامل لإدارة ال API بشكل كامل فهو يوفر لكِ تصميم ال API وتوثيقها واختبارها وإنشاء Mock Servers وكل ذلك في برنامج واحد ويتميز أيضا بواجهة مستخدم سهلة الإستخدام وقدرة على إنشاء وثائق تفاعلية تلقائيا لل API. يوجد أيضا Redoc فإذا كان هدفك الأساسي هو إنشاء وثائق API جيدة ومنسقة ويتم عرضها بشكل احترافي فإن الخيار المناسب لكِ فيمكنه تحويل ملفات OpenAPI JSON/YAML إلى صفحات ويب تفاعلية. يوجد Stoplight فهو يحوي مجموعة أدوات متكاملة لتصميم وتطوير وتوثيق ال API وأيضا يتميز بواجهة بصرية لتصميم ال API والتحقق من صحة المواصفات وإنشاء وثائق تفاعلية جيدة. أيضا هناك Slate فهو إطار عمل بسيط ومفتوح المصدر لإنشاء وثائق ال API الثابتة ويعتمد على ال Markdown ويوفر تخطيط لصفحة واحدة مع جدول تلقائي به أمثلة للكود.
×
×
  • أضف...