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

محمد عاطف17

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

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

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

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

    61

آخر يوم ربح فيه محمد عاطف17 هو فبراير 18

محمد عاطف17 حاصل على أكثر محتوى إعجابًا!

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات محمد عاطف17

عضو نشيط

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

2.4k

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

53

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

  1. لا يجب ذلك بل يجب فتحها مرة واحدة في بداية الملف . اي يجب فتحها قبل استخدام _SESSION$ والا ستكون فارغة ولن يعمل الكود
  2. هل يمكنك توضيح الكود الذي قمت بكتابته ؟ لقد قمت بتجربة الكود الذي أرفقته لك وهو يقوم مرة واحدة بإعادة التحميل فقط.
  3. لم أفهم ما الفائدة من إعادة تحميل الصفحة لجلب البيانات من قاعدة البيانات يمكنك مباشرة جلبها دون إعادة تحميل الصفحة. أم تقصد أنك تريد جلب بيانات ووضعها في قاعدة بيانات أخرى ؟ عموما يمكنك ذلك من خلال وضع قيمة في ال session توضح هل تم تحميل الصفحة سابقا أم لا : <?php session_start(); // التحقق إذا كانت الصفحة قد تم تحميلها من قبل if (!isset($_SESSION['page_loaded'])) { // إذا كانت المرة الأولى، قم بتخزين الحالة في الجلسة $_SESSION['page_loaded'] = true; // يمكنك تنفيذ ما تريده هنا قبل إعادة التحميل header("Refresh:0"); } else { unset($_SESSION['page_loaded']); } هنا قمنا ببدا ال session من خلال session_start بعد ذلك نتحقق من وجود page_loaded في ال _SESSION إذا لم توجد إذا لم يتم تحميل الصفحة من قبل ويمكنك بداخل الشرط وضع أن الصفحة قد تم تحميلها و إعادة التحميل من خلال header("Refresh:0"); وهكذا يمكنك وضع ما تريد تنفيذه قبل إعادة التحميل قبل سطر header("Refresh:0");
  4. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  5. هل تم حفظ الملف بشكل صحيح لديك قبل إغلاقه ؟ او هل حدثت مشكلة لديك في الملف أثناء فتحه ؟ حيث لاحظ أنه يتم فتح الملف كأنه ملف json . حيث أن التمثيل الداخلي لتنسيق .ipynb هو ملف json ولهذا فهو يتم حفظه كهيكل بيانات JSON ولذلك إذا حدثت مشكلة أثناء الحفظ فإن الملف سيكون تالف ولهذا لن يعرف Notebook كيف يقوم بعرضه . أو من الممكن أنك تقوم بفتحه بطريقة خاطئة حيث يجب فتحه من خلال عنوان الخادم وليس كأنه ملف نصي . حيث يجب عليك في موجه الأوامر الخاص ب anaconda أن تقوم بتشغيله من خلال الأمر : jupyter notebook بعد ذلك يمكنك تصفح الملفات من خلال الرابط التالي : http://localhost:8888/tree
  6. وعليكم السلام ورحمة الله وبركاته. لا يمكنك ربط ملفين HTML ببعضهم البعض حيث HTML لا توفر تلك الميزة حاليا حيث لا يمكنك إستخدام include كما تفعل اللغات الأخرى والتي تقوم بتضمين ملفات اخري في الملف الحالي . ولكن يمكنك توفير ذلك من خلال كود جافاسكريبت : <html> <head> <script src="jquery.js"></script> <script> $(function(){ $("#includedContent").load("mobile.html"); }); </script> </head> <body> <div id="includedContent"></div> </body> </html> لاحظ أننا هنا إستعملنا مكتبة JQuery لتنفيذ ذلك . حيث لاحظ أننا أنشأنا عنصر div وله id معين وبهذا ال id نستطيع تحميل الملف ووضع محتويات الملف به . ولكن لاحظ أن تلك الطريقة ليست جيدة أبدا حيث هكذا الموقع الخاص بك لن يكون متوافق مع قواعد التصميم المتجاوب Responsive design حيث يجب أن تقوم بتحقيق ذلك من خلال التنسيقات CSS حيث يمكنك CSS من التلاعب بالعنصر في الشاشات المختلفة حيث يمكنك جعل العنصر صغيرا مثلا في الشاشات الصغيرة وفي الشاشات الكبيرة تستطيع تكبير حجمه كما تريد ويمكنك تحقيق ذلك من خلال العديد من الطرق وأهمها طرق Media Query . ويمكنك قراءة الدروس والمقالات التالية لتستطيع تحقيق ذلك وتعرف كيف تقوم بتطبيقها لديك في الكود :
  7. االمشكلة ليست في الأكواد لديك . غالبا المشكلة لديك في قاعدة البيانات يبدوا أنك قد قمت بتنفيذ أمر البزر seed مرة أخرى ولذلك قام بوضع البيانات مرتين في قاعدة البيانات . تأكد أولا من أن قاعدة البيانات لديك المنتجات ليست مكررة لديك وإذا أردت يمكنك حذف قاعدة البيانات وإعادة إنشاءها مرة أخرى من خلال الأمر : php artisan migrate:fresh --seed ولكن هذا الأمر سيحذف جميع البيانات الحالية في قاعدة البيانات لذلك تأكد من أنك لا تحتاجها قبل تنفيذ الأمر السابق. وقد لاحظت أنك تستعمل distinct لمحاولة عدم تكرار المنتجات . ولكن لاحظ أن المنتجات ال id الخاص بها لا يتكرر بل الذي يتكرر هو الوصف وأسماء المنتجات ولكن ال ids مختلفة لهذا يتم إعتبارها منتجات مختلفة عن بعضها البعض.
  8. وعليكم السلام ورحمة الله وبركاته. يجب عليكي أولا معرفة الفرق بين مطور الواجهة الأمامية Front-End ومطور الواجهة الخلفية Back-end . حيث الواجهة الأمامية هو الجزء من موقع الويب أو التطبيق الذي يراه المستخدم، ويتضمن HTML وCSS وJavaScript، والتي يتم استخدامها لإنشاء الواجهة الرسومية للموقع أو التطبيق. أى شكل التطبيق الخارجي . أما الواجهة الخلفية أو Back-End تعني الجزء من موقع الويب أو التطبيق الذي لا يراه المستخدم، ويشمل ذلك الخوادم والبيانات والبرامج التي تعالج الطلبات وترسل ردودًا للمستخدمين. وإليكي الإجابات التالية لتتعرفي أكثر على الفرق بينهما : وبما أنكي تريدين دمج نماذج الذكاء الإصطناعي مع المواقع فهنا أنتي يجب عليكي أن تتخصي أكثر في الواجهات الخلفية والخوادم وليس الأمامية . وحيث أن دورة "تطوير واجهات المستخدم" هي مخصصة للأشخاص الذين يريدون أن يصبحوا مطورين واجهات أمامية لمواقع ثابته . فهنا لن تفيدكِ كثيرا لأنكِ فقط ستتعلمين كيفية إنشاء مواقع ثابته أى فقط هيكل الموقع وتنسيقاته ولن تستطيعين دمج تقنيات الذكاء الإصطناعي فيها. والأفضل لكي هو "دورة تطوير التطبيقات باستخدام لغة Python" حيث ستتعلمين بايثون والذي يتم إستخدامها في الذكاء الإصطناعي وهي دورة تعتبر back-end ويوجد بها مسار لكيفية دمج تقنيات الذكاء الإصطناعي مع تطبيقات ومواقع بايثون التي أنشاتيها . وستتعلمين كيفية إنشاء Chat bot وغيرها . لهذا أنصحكي بالبحث عن دورة back end وليس front end . وإذا لم تريدي تعلم بايثون لتطوير الواجهات الخلفية توجد عدة دورات أخرى هنا في الأكاديمية تؤهلكِ لذلك بعدة لغات ويمكنكِ قراءة الإجابة التالية لشرح تفاصيل الدورات هنا في الأكاديمية :
  9. وعليكم السلام ورحمة الله وبركاته. إن ال MinMaxScaler يستخدم لتغيير نطاق البيانات بحيث تكون ضمن نطاق محدد غالبا ما يكون بين 0 و 1. حيث يقوم بتحويل البيانات بحيث تكون القيمة الدنيا 0 والقيمة العليا 1. يتم ذلك باستخدام القانون التالي: Xscaled = (X − Xmin) / (Xmax − Xmin) وهو جيد عندما تكون البيانات في نطاقات مختلفة وتحتاج إلى تطبيع البيانات وتريد أن تكون جميع الميزات (features) على نفس النطاق خصوصا في خوارزميات التعلم الآلي و التي تعتمد على المسافات مثل K-Nearest Neighbors (KNN) أو الشبكات العصبية. أما ال StandardScaler فهو يستخدم لتوحيد البيانات بحيث يكون لها متوسط (mean) يساوي 0 وانحراف معياري (standard deviation) يساوي 1. ويتم ذلك باستخدام القانون التالي: Xscaled = (X − μ) / σ حيث μ هو المتوسط وσ هو الانحراف المعياري. وهو جيد عندما عندما تكون البيانات لا تتبع توزيع معين (مثل توزيع Gaussian) و تريد أن تكون البيانات موزعة بشكل طبيعي بمتوسط 0 وانحراف معياري 1 وهو مناسبة لمعظم خوارزميات التعلم الآلي مثل الانحدار الخطي (Linear Regression) و (SVM). أما ال RandomOverSampler فهو يستخدم لمعالجة مشكلة عدم التوازن في الفئات (Imbalanced Classes) في بيانات التصنيف حيث يقوم بإنشاء نسخ عشوائية من العينات في الفئة الأقل تمثيلا في البيانات و يزيد حجمها حتى تصبح متوازنة مع الفئات الأخرى. وهو جيد عندما تكون إحدى الفئات لديك في مجموعة البيانات قليلة مقارنة بالفئات الأخرى مما قد يسبب في تحيز النموذج نحو الفئة الأكثر. تلخيصا لما سبق فإن MinMaxScaler و StandardScaler نستخدمهما لتغيير نطاق أو توزيع البيانات لكنها تختلف في الطريقة التي تقوم بذلك بها وRandomOverSampler يستخدم لمعالجة مشكلة عدم التوازن في الفئات وليس لتغيير نطاق البيانات.
  10. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  11. وعليكم السلام ورحمة الله وبركاته. كل عام وأنت بخير وتقبل الله منا ومنكم صالح الأعمال. إن هي Python scripts ملفات نصية تحتوي على كود بايثون يتم تنفيذها بشكل مرتب من البداية إلى النهاية وتكون بإمتداد py. و يتم تشغيلها عن طريق مترجم بايثون (Python Interpreter) وهي تستخدم لكتابة وتطوير تطبيقات كاملة أو تنفيذ مهام أو أتمتة المهام . وهي ليست تفاعلية حيث يتم تنفيذ الكود ككل ولا يمكنك تعديله أثناء التشغيل. و يمكنك كتابة أو تعديل تلك الملفات باستخدام أي محرر نصوص أو IDE . أما Python notebooks فهي ملف أو وثيقة تفاعلية تحتوي على أجزاء من أكواد بايثون أو نصوص توضيحية (Markdown) وهي تكون بإمتداد ipynb. ويتم تشغيلها في بيئة تفاعلية مثل Jupyter Notebook أو Google Colab. يمكن تنفيذ الخلايا بشكل منفصل.و يتم إستخدمها غالبا وبكثيرة في تحليل البيانات أو الوثائق أو إذا أردت عرض كل جزء من الكود بشكل منفصل. وهي بيئة تفاعلية تمكنك بسهولة من تعديل وتنفيذ الخلايا بشكل منفصل وعدم الإلتزام بترتيب معين للكود حيث يمكنك تنفيذ خلايا وخلايا أخرى لا تقوم بتنفيذها مما يسهل عليك تنفيذ الأمور أو إنشاء وثيقة (docs) مع عرض نتائج تنفيذ الأكواد بشكل منفصل. إذا إذا أردت كتابة script ما أو تنفيذ تطبيق كبير يعمل ككل فيمكنك إستخدا Python scripts . أما إذا كنت تعمل على مهام مثل تحليل البيانات آو أردت بناء ملف عرض توضيحي أو وثيقة والكود لا يعتمد على تشغيله مرة واحد ككل فيمكنك إستخدام Python notebooks
  12. يرجى إتباع الخطوات في الصورة السابقة وحذف symlink من ال disabled functions ومن ثم حفظ التعديلات . وبعد ذلك قم بالمحاولة مرة أخرى. وأيضا يرجى محاولة الطريقة السابقة التي وضحتها لك من خلال الكود الموضوع بداخل ملف web.php أو يمكنك محاولة تنفيذ الأمر يدويا بعد تعديل التالي : ln -s /home/u778939481/domains/slategray-magpie-936259.hostingersite.com/public_html/storage/app/public /home/u778939481/domains/slategray-magpie-936259.hostingersite.com/public_html/public
  13. لاحظ في سطر رقم 3 لم تضع الفاصلة في نهاية السطر ولهذا يحدث هذا الخطأ لأن الملف أصبح لا يمثل كود JSON صحيح. لذلك يجب وضع علامة , في نهاية سطر 3 كما في جميع الأسطر الأخرى.
  14. المشكلة غير واضحة . هل قمت بتنفيذ أمر php artisan storage:link من خلال ال SSH وتم بنجاح أم لا ؟ وأيضا حينما قمت بتنفيذ الأمر يدويا هل تقصد بأن مجلد public ظهر بداخل storage أم العكس وهو storage ظهر بداخل public ؟ إذا كان مجلد public هو ما ظهر بداخل storage فيبدوا أنك قد قمت بعكس الأمر فيمكنك محاولة تبديل المسارين ومن المفترض أن يعمل معك. ولكن الافضل لك هو إستعمال SSH وتنفيذ أمر php artisan storage:link مباشرة من خلاله. ولكن إذا لم يكن لديك وصول إليه يمكنك إنشاء مسار يقوم بتنفيذ الأمر في ملف web ومن ثم حذف هذا المسار : use Illuminate\Support\Facades\Artisan; Route::get('/storage-link',function(){ Artisan::call('storage:link'); }); الآن يمكنك الذهاب إلى عنوان /storage-link بعد الدومين الخاص بك وسيتم تنفيذ الأمر تلقائيا وعمل link لل storage لديك . بعد ذلك يرجى حذف الكود السابق حتى لا تحدث مشاكل مستقبلا ولأنك لم تعد بحاجة له.
  15. هذا الأمر يعتمد على عدة أمور بما فيها احتياجاتك التي تريدها في التطبيق و خبرتك البرمجية واللغة التي تعمل عليها . أولا Electron: يتم إستخدام لغات مثل JavaScript و HTML و CSS. حيث يُستخدم لبناء تطبيقات سطح المكتب باستخدام تقنيات الويب. مميزاته : إذا كنت على علم بالفعل ب JavaScript و HTML وCSS فإن Electron سيكون سهل بالنسبة لك في تعلمه سريعا. يمكنك إستخدام الكثير من المكتبات المتاحة حيث يعمل على بيئة تطوير node مما يعطيك الكثير من الخيارات للمكاتب التي تساعدك. يمكنك بناء تطبيقات تعمل على Windows و macOS و Linux بنفس الكود. عيوبه : Electron معروف باستهلاك الذاكرة والموارد بشكل كبير لأنه يعمل بشكل رئيسي على محرك Chromium ومكتبات Node.js والعديد من الأسباب الأخرى التطبيقات يكون حجمها كبير إلى حد ما. ثانيا PyQt5: يعمل على لغة بايثون Python حيث هي مكتبة تستخدم لبناء تطبيقات سطح المكتب باستخدام واجهات المستخدم الرسومية GUI. مميزاته : إذا كنت تعرف Python فإنه يمكنك التعامل مع PyQt5 بسهولة. التطبيقات تكون أخف وزنا وحجما وأسرع في الأداء مقارنة بـ Electron. يوفر لك تحكم كبير في واجهة المستخدم والعناصر والتطبيق بشكل عام. يمكنك بناء تطبيقات تعمل على Windows و macOS و Linux أيضا. عيوبه : من الممكن أن تجدصعوبة إذا لم تكن لديك معرفة أو تعاملت مع واجهات المستخدم الرسومية قبل ذلك. لا يحتوي على الموارد والمكتبات بكثيرة كما في Electron. ولهذا الخيار يعتمد على اللغة التي لديك حاليا أو التي تفضل العمل بها . فإذا كان لديك خبرة جيدة في JavaScript و HTML و CSS و تريد بناء تطبيق يعتمد على تقنيات الويب ويشبهها وأيضا تحتاج إلى إستخدام مكتبات لمساعدتك ولا توجد لديك مشكلة في استهلاك الموارد وحجم التطبيق فحينها Electron أفضل لك بكثير. أما إذا كان لديك خبرة في Python و تريد بناء تطبيق خفيف و سريع و أيضا تحتاج إلى تحكم أكبر في واجهة المستخدم دون الحاجة لمعرفة مسبقة بالتصميم أو التنسيق و تفضل استخدام لغة برمجة واحدة وهي بايثون Python في التطبيق كاملا فحينها الأفضل لك هو PyQt5 . ويمكنك قراءة الإجابات التالية أيضا :
×
×
  • أضف...