-
المساهمات
1949 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
3
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو ياسر مسكين
-
AI Mathematical Olympiad (AIMO) هي مسابقة دولية في الرياضيات مصممة خصيصا لنماذج الذكاء الاصطناعي وتعرف أيضا باسم أولمبياد الرياضيات الذكي (AIMO) يهدف إلى تعزيز المهارات الرياضية لدى الطلاب، سواء على مستوى المدارس الثانوية أو المراحل الأخرى بحيث يركز الحدث على تحدي المشاركين من خلال مسائل رياضية معقدة تتطلب التفكير النقدي والإبداع وعادة ما يستهدف طلاب المدارس الثانوية، ولكن يمكن أن يشمل فئات عمرية مختلفة كما تتضمن المسابقة مجموعة من المسائل الرياضية المتنوعة، تشمل مجالات مثل الجبر والهندسة ونظرية الأعداد والتركيبات وبالنسبة للصعوبة تتراوح المسائل من السهلة إلى الصعبة، مما يسمح لجميع المشاركين بالاستفادة والتعلم والمميز فيها أنه يمكن أن تعقد المسابقة بشكل فردي أو كفريق، مما يعزز التعاون بين المشاركين كما يمكن أن تكون الأسئلة متعددة الخيارات أو مفتوحة.
- 4 اجابة
-
- 1
-
-
إذا كانت الاستضافة والدومين خاصين بك يمكنك طلب بيانات استضافة العميل أي أن تطلب من العميل توفير بيانات استضافته (مثل بيانات FTP أو cPanel) ثم قم بتصدير الموقع كاملا (الملفات وقاعدة البيانات) من استضافتك باستخدام أدوات مثل phpMyAdmin لقاعدة البيانات، وبرنامج FTP للملفات ولرفع الملفات والقاعدة يمكنك استخدام بيانات استضافة العميل لرفع الملفات واستيراد قاعدة البيانات إلى استضافته باستخدام phpMyAdmin أيضا، أما تحديث إعدادات الموقع هو ممكن من خلال لوحة تحكم ووردبرس فيمكنك أن تعدل إعدادات ك WordPress URL و Site URL في قاعدة البيانات لتشير إلى دومين العميل. وإذا كان الدومين مرتبطًا باستضافة أخرى، قم بتحديث إعدادات DNS ك (A Record، CNAME) ليشير إلى استضافة العميل الجديدة.
- 4 اجابة
-
- 1
-
-
لتغيير اسم البيئة الافتراضية التي أنشأتها باستخدام venv، يمكنك ببساطة إعادة تسمية المجلد. من خلال الأمر التالي: mv project new_project أما إذا كنت تستخدم conda، استخدم الأمر التالي لتغيير الاسم: conda rename -n project new_project واستبدل new_project بالاسم الذي تريده.
- 3 اجابة
-
- 1
-
-
أرجو طرح سؤالك أسفل الدرس في صندوق التعليقات لكي نجيبك بالشكل المناسب هناك.
-
اللاب توب الذي ذكرت مواصفاته يبدو جيدا جدا للبرمجة، خاصة إذا كنت تعملين على مشاريع متوسطة الحجم أو تتطلب موارد متوسطة لنحلّل معا مواصفات هذا اللابتوب كي نتعلم مستقبلا تفحص وتقييم الحواسيب بأنفسنا: بالنسبة للمعالج فهو وحدة المعالجة المركزية CPU (Central Processing Unit) وهو المسؤول عن تنفيذ التعليمات ومعالجة البيانات والرمز i7 i5، i3، AMD Ryzen تلك الأرقام تشير إلى الجيل والأداء (مثل i7 أفضل من i5) وهكذا. الذاكرة العشوائية RAM (Random Access Memory) الرموز 8GB، 16GB، 32GB وتشير إلى السعة (مثلا 16 جيجابايت) تشير إلى كمية البيانات التي يمكن معالجتها في وقت واحد. بطاقة الرسوميات GPU (Graphics Processing Unit) و الرموز Integrated، Dedicated، NVIDIA، AMD فإذا وجدت "Integrated" تعني مدمجة (مثل Intel Iris) بينما "Dedicated" تعني منفصلة (مثل NVIDIA GTX). التخزين Storage ستجدين غالبا الرمزين إما SSD أو HDD أو كليهما منفصلين، ف HDD (Hard Disk Drive) هو تخزين تقليدي، بينما SSD (Solid State Drive) أسرع وأداءه أفضل في تحميل البيانات. حجم الشاشة Screen Size الرمز: 14" (بوصة) وهو قياس الشاشة وببساطة الحجم الأكبر يعني مساحة عمل أكبر. الدقة Resolution الرمز 1920x1080 (Full HD) ويمثل عدد البيكسلات في الشاشة فكلما زادت الدقة، كانت الصورة أوضح. نظام التشغيل OS (Operating System) والرمز Windows 11، macOS أو لينيكس يمثلون نظام التشغيل الذي يدير الجهاز. عمر البطارية Battery Life فإن كانت 6-8 hours أي أنه يشير إلى مدة تشغيل الجهاز قبل الحاجة لإعادة الشحن. هذه هي الخصائص والميزات الأساسية التي ينبغي الحرص على فهمها عند اقتناء أي حاسوب، كما توجد خصائص ثانوية حسب الحاجة.
- 5 اجابة
-
- 1
-
-
عند استخدام ChatGPT للمساعدة من المفترض أن تكون لديك الأسئلة المبدئية والأساسية بناء على ما تريد تحقيقه بعدها يمكنك الاستفادة من ChatGPT لتحسين صياغة الأسئلة، واقتراح أسئلة إضافية قد تفتح لك أفكارا جديدة في التحليل لكن أن تعوّل عليك كلية فهذا خطأ كبير وسيُرهقك فيما بعد حينما تجد أنّ النتائج ليست كما ترجوها، وهذا ليس عيبا في الذكاء الاصطناعي بقدر ماهو مشكل في طريقة صياغتنا لل Prompts له، كما لا أنصح بالاعتماد عليه 100% خاصة في البرمجة والتطوير لأنك لن تجد ما تصبو إليه سواء كنت مبتدئا أو محترفا فهو يبقى عاملا مساعدا لا غير لا يمكنه إنجاز أو استبدال المبرمج الحقيقي، لذا حاول أن لا يكون اعتمادك عليه مطلقا، وركز على تنمية مكتسباتك ومهاراتك وتطويرها.
- 3 اجابة
-
- 1
-
-
Big Interview هي منصة تدريب على الإنترنت للمقابلات الوظيفية تقوم بتقديم محاكاة للمقابلات، دروس الفيديو، ونصائح للسير الذاتية أي أنها تستهدف الباحثين عن عمل لتحسين مهاراتهم في المقابلات بينما Byteboard هي منصة تقييم للمبرمجين والمهندسين تقوم بتقديم اختبارات عملية تحاكي مهام العمل الحقيقية وتركز على تقييم المهارات التقنية والعملية للمرشحين كما تهدف لتحسين وتقليل التحيز في عملية التوظيف التقني.
- 4 اجابة
-
- 1
-
-
الخطأ يحدث في ملف ttk.py في السطر 1220 عند محاولة استدعاء get_children() والسبب الرئيسي هو أن عمليات Tkinter تحتاج إلى تشغيلها في الـ main thread وداخل main loop لذا يجب التأكد من أن كل عمليات Tkinter (مثل إنشاء النوافذ وتحديث TreeView) تتم داخل الـ main thread وبعد تشغيل mainloop() أولا في كلاس TreeviewApp في الملف الرئيسي main.py (حيث يتم تشغيل التطبيق)، تأكد من إضافة mainloop() كالتالي: if __name__ == "__main__": app = TreeviewApp() app.root.mainloop() أو بدلا من ذلك، يمكنك إضافته في نهاية الكلاس الرئيسي مباشرة: class TreeviewApp: def __init__(self): self.root = tk.Tk() # باقي الكود الحالي كما هو self.root.mainloop()
-
بايبال (PayPal) هو خدمة للدفع عبر الإنترنت تتيح للمستخدمين إجراء المدفوعات واستلامها بسهولة وأمان يمكنك استخدام بايبال لشراء المنتجات، ودفع الرسوم، وتحويل الأموال إلى الأصدقاء أو العائلة. إذا كنت ترغب في استخدام بايبال للدفع على موقع Coursera، فلن تحتاج بالضرورة إلى بطاقة فيزا تدعم الدفع بالدولار يمكنك ربط حساب بايبال الخاص بك بحساب بنكي محلي أو بطاقة ائتمان أو خصم أخرى وعند الدفع عبر بايبال، ستقوم باختيار طريقة الدفع التي تفضلها من خلال حسابك. لكن يجب التأكد من أن مصدر الأموال المرتبط بحساب بايبالك (مثل البطاقة أو الحساب البنكي) يدعم التعاملات بالدولار الأمريكي إذا كان ذلك مطلوبا في حال كان هناك أي رسوم إضافية. في حال كان غير ذلك يجب أن تربط حسابك على بايبال ببطاقة فيزا تدعم الدولار الأمريكي.
- 6 اجابة
-
- 1
-
-
الفرق الرئيسي بين بايثون و R في علم البيانات هو أن لغة بايثون هي لغة برمجة عامة الغرض تتميز بمرونتها وسهولة تعلمها، بينما R مصممة خصيصا للتحليل الإحصائي وتتفوق في الرسوم البيانية المتقدمة. أما سبب استخدام Google للغة R في دورة تحليل البيانات، فيرجع إلى قوة R في التحليل الإحصائي وشيوعها في أوساط الباحثين والمحللين، بالإضافة إلى رغبة غوغل نفسها في تزويد المتعلمين بمهارات متنوعة تلبي احتياجات سوق العمل المختلفة.
- 7 اجابة
-
- 1
-
-
المشكلة التي تواجهها تظهر لأن Windows Media Player لا يدعم صيغة أو ترميز الملف الذي تحاول تشغيله لذا وللتحقق من نوع الملف، يمكنك النقر بزر الماوس الأيمن عليه واختيار "خصائص" لرؤية الامتداد فإذا كان الملف بالفعل فيديو، فالأرجح أن المشكلة تتعلق بعدم دعم البرنامج لصيغ حديثة أو ترميزات معينة والحل الأقرب هنا هو تحميل VLC Media Player، لأنه يدعم مجموعة واسعة من الصيغ والترميزات، ويمكنه تشغيل معظم الملفات دون الحاجة إلى تثبيت كوديكات إضافية يمكنك تحميله من هنا: تحميل VLC Player.
-
الاحتمال الأقرب أنّه حدث تلف في ملفات النظام الأساسية أو مشكلة في تعريفات الأجهزة، خاصة كرت الشاشة لذا الحل الأمثل يبدأ بمحاولة الدخول إلى الوضع الآمن بالضغط على F8 أثناء الإقلاع فإذا نجح ذلك، يمكنك استخدام أدوات النظام مثل مكافحة الفيروسات وإلغاء تثبيت البرامج المشبوهة لكن إذا فشل ذلك، استخدم قرص تثبيت Windows لتشغيل أداة Startup Repair وفي حال استمرار المشكلة، قد تحتاج إلى إعادة تثبيت نظام التشغيل كحل أخير، مع الحرص على نسخ البيانات المهمة أولا إذا أمكن لتجنب فقدانها، وإن استصعب عليك الأمر والحلول من الأفضل أخذ جهازك لأقرب مهندس وتقني حواسيب كي تتفادى مشكلة فقدان البيانات الخاصة بك.
-
كلا المصطلحين في الغالب ما يتم استخدامهما بشكل متبادل، لكن هناك بعض الفروق الدقيقة بينهما فال Data Analysis يشير بشكل عام إلى عملية فحص البيانات ومعالجتها لفهم المعلومات المستخرجة منها. يتضمن ذلك استخدام تقنيات إحصائية لتحليل البيانات واستخلاص النتائج أما ال Data Analytics فهو مصطلح أوسع يشمل Data Analysis ولكنه أيضا يتضمن استخدام أدوات وتقنيات متقدمة لتحليل البيانات، مثل التحليل التنبئي، تحليل البيانات الكبيرة، والتعلم الآلي. أما العلاقة مع تعلم الآلة والتعلم العميق فنجد أنه في مجال تعلم الآلة (Machine Learning) والتعلم العميق (Deep Learning) نجد أنّ Data Analytics تستخدم لتحليل البيانات الكبيرة واستنتاج الأنماط منها، مما يساعد في بناء نماذج تعلم الآلة بينما ال Data Analysis يمكن أن يكون الخطوة الأولى في مشروع تعلم الآلة، حيث يتم تحليل البيانات لفهم خصائصها وتحديد كيفية استخدامها في النماذج. يمكن استنتاج إذا أنّ مصطلح Data Analytics يشمل أدوات وتقنيات أكثر تعقيدا وأهمية في معالجة البيانات الكبيرة.
- 4 اجابة
-
- 1
-
-
بدون <form> صحيح يمكنك إنشاء حقول إدخال للمستخدم مثل <input>، ولكن لن تتمكن من إرسال هذه البيانات إلى الخادم بشكل تلقائي عند الضغط على زر الإرسال <button type="submit"> لأن وظيفة <form> هي تحديد منطقة تستخدم لجمع بيانات المستخدم وإرسالها إلى خادم الويب لمعالجتها ودور form يبرز عندما يتعلق الأمر بجمع البيانات وإرسالها. يمكنك الاطلاع أكثر من هنا: وظيفة Form.
-
دالة round في مكتبة NumPy تستخدم لتقريب الأرقام إلى عدد محدد من المنازل العشرية بحيث يمكنك استخدامها لتقريب الأرقام في مصفوفة إلى أقرب عدد صحيح أو إلى عدد معين من الأرقام بعد الفاصلة العشرية بشكل افتراضي تقرب الأرقام إلى أقرب عدد صحيح، ويمكنك التحكم في عدد المنازل العشرية بإضافة وسيط إضافي مثلا إذا أردت تقريب عدد إلى منزلتين عشريتين، تكتب np.round(a, 2) حيث a هو الرقم أو المصفوفة المراد تقريبها.
- 5 اجابة
-
- 1
-
-
predict تستخدم بعد اكتمال تدريب النموذج لتوليد توقعات على بيانات جديدة غير مرئية للنموذج. تعتمد فقط على المدخلات التي تقدمها (features) وتعيد النتائج التي يتوقعها النموذج، مثل احتمالات التصنيف في حالة التصنيف أو القيم المتوقعة في حالة الانحدار والهدف منها هو تقديم مخرجات النموذج استنادا إلى المعرفة التي اكتسبها من التدريب فهي لا تتطلب نتائج حقيقية للمقارنة، فهي فقط تعطي التوقعات بناء على البيانات التي توفرها على سبيل المثال إذا كنت تستخدم شبكة عصبية للتنبؤ بالأسعار، فإن predict ستعطيك الأسعار المتوقعة بناء على المدخلات التي قدمتها أما evaluate فهي تستخدم لتقييم أداء النموذج بعد تدريبه على بيانات الاختبار أو التحقق (validation) أي أنها تقوم بأخذ المدخلات (features) بالإضافة إلى النتائج الحقيقية (labels)، ثم تحسب دالة الخسارة (مثل loss) ومقاييس الأداء الأخرى (مثل accuracy) لمعرفة مدى جودة النموذج في التنبؤ بالنتائج الصحيحة ويتم استخدامها لمعرفة مدى دقة النموذج ومدى تقليله للخسارة عند العمل على بيانات لم يتم التدريب عليها وهذا ما يساعد في تحديد إذا ما كان النموذج يُعمم بشكل جيد على بيانات جديدة. و باختصار فإن: predict: لتوليد التوقعات على بيانات جديدة، دون الحاجة إلى النتائج الحقيقية. evaluate: لتقييم النموذج على بيانات تحتوي على النتائج الحقيقية لقياس أدائه ومعرفة دقة تنبؤاته.
- 4 اجابة
-
- 1
-
-
هذا غريب، فالمشكلة ليست في الشيفرة حسب ما أرى، وهذه ليست طبيعة عمل بايثون فعادة ما تبقى الجمل المطبوعة على الشاشة إلى أن يتم إدخال قيمة معينة فعلى الأرجح المشكلة في البيئة التي تعمل فيها لذا جرب تشغيل الكود في بيئة أخرى مثل الطرفية Terminal أو بيئة IDE أخرى مستقرة مثل VS Code، وأخبرني إذا استمرت المشكلة. فالمشكلة تحدث عادة عند استخدام بعض بيئات التطوير المتكاملة IDEs أو واجهات المستخدم التي تتعامل مع المدخلات والمخرجات بطريقة خاصة، لذا لدينا عدة حلول يمكن أن تعالج هذه المشكلة: يمكننا استخدام وحدة sys للتحكم في المخرجات ولضمان طباعة النصوص قبل طلب الإدخال كالتالي: import sys print("Hello world") print("نكتب اي شيء") sys.stdout.flush() n = input("how old are you? \n") كما يمكننا أيضا استخدام: end='' في نهاية print الأخير لمنع إضافة سطر جديد كالتالي: print("Hello world") print("نكتب اي شيء", end='') n = input("\nhow old are you? \n") أو يمكن دمج الطباعة مع الإدخال كالتالي: print("Hello world") print("نكتب اي شيء") n = input("how old are you? \n") print(f"السطور السابقة:\nHello world\nنكتب اي شيء") print(f"عمرك هو: {n}") أو كما قلنا في البداية فقط غيّر البيئة التي تعمل فيها، فكلّ الحلول السابقة هي حلول للمشكلة.
-
إن كان سؤالك متعلقا بأحد الدروس في إحدى الدورات فأرجو في المرة القادمة طرحه في صندوق التعليقات أسفل الدرس وإن لم يكن كذلك فالخأ في الاستعلام بسيط لاحظ أنك كتبت UPDAT بدلا من UPDATE` وأيضا يوجد فاصلة منقوطة ; زائدة قبل ON UPDATE CASCADE لهذا عدّل الاستعلام بالشكل التالي: ALTER TABLE items ADD CONSTRAINT member_1 FOREIGN KEY(member_ID) REFERENCES users(userID) ON DELETE CASCADE ON UPDATE CASCADE;
-
بالنسبة لرياكت يمكنك إيجاد قالب مباشر للبدء منه من خلال هذا الرابط: رياكت كروم starter على موقع غيتهاب. فمن خلال رياكت يمكنك بناء واجهة الإضافة واستخدامها لتطوير إضافة كروم فستحتاج إلى إعداد رياكت ليعمل داخل بيئة إضافة كروم لذا هناك بعض الخطوات التي يجب اتباعها مثل إعداد manifest.json ودمج تطبيق رياكت مع الإضافة أولا تقوم بإنشاء تطبيق رياكت كالمعتاد باستخدام create-react-app كالتالي: npx create-react-app chrome-extension يمكنك تسمية المشروع كما تشاء مثلا هنا أنا اخترت اسم chrome-extension. بعدها نقوم بالتعديل على ملف manifest.json قبل ذلك يجب أن ننشئ مجلد باسم public داخل مجلد المشروع في حالة لم يكن موجودا ونضيف داخله ملف json وهو الذي يحتوي على إعدادات الإضافة التالية: { "manifest_version": 3, "name": "My Chrome Extension", "version": "1.0", "description": "A Chrome extension using React", "action": { "default_popup": "index.html" }, "permissions": [] } لكن ريكات يستخدم Webpack للتجميع، لذلك ستحتاج إلى تعديل إعدادات Webpack لتوافق مع بيئة الإضافة ثم بناء المشروع من خلال استخدام الأمر التالي: npm run build وأما بالنسبة ل NodeJs فلا يمكن تشغيله مباشرة داخل إضافة كروم، لأن إضافات كروم تعمل فقط ضمن بيئة جافا سكريبت للمتصفح لكن يمكنك استخدام Node.js إذا كنت بحاجة إلى تشغيل خادم خارجي يتواصل مع الإضافة كال API أو لمعالجة البيانات بحيث يمكنك بناء خادم ودمجه مع إضافة كروم عبر الـ HTTP Requests باستخدام fetch أو axios.
-
حسب ما فهمته فبما أنك تعتمد على NextJS فيمكنك استخدام حل بسيط يعتمد على تحويل النص المدخل في textarea إلى JSX بحيث تستخدم onChange لتتبع التغيرات في textarea وعندما يقوم المستخدم بكتابة المقالة، يتم التحقق من النص المدخل فيتحقق من وجود كلمة "phoenix" مثلا فإذا كانت الكلمة موجودة، يقوم بتحويلها إلى رابط محدد داخل النص بعدها يعرض النص المعدل في عنصر منفصل وهذا مثال على الجزئية التي تعالج الإشكالية: import Link from 'next/link'; const processText = (inputText) => { const blogName = 'phoenix'; const blogUrl = '/'; const parts = inputText.split(new RegExp(`(${blogName})`, 'gi`)); return parts.map((part, index) => { if (part.toLowerCase() === blogName.toLowerCase()) { return ( <Link key={index} href={blogUrl}> <a style={{ fontWeight: 'bold', color: 'blue' }}>{blogName}</a> </Link> ); } return part; }); }; لاحظ أنّ الدالة processText استعملتها هنا بحيث تأخذ النص كمدخل (inputText)، وتبحث عن كلمة "phoenix" داخل النص فإذا وجدتها، تقوم باستبدالها برابط موجه للصفحة الرئيسية مع تنسيق خاص استخدمت هنا اللون الأزرق وخطا عريضا وأما Link فهومستورد من مكتبة next/link ويستخدم لإنشاء الرابط الذي يؤدي إلى الصفحة الرئيسية.
- 5 اجابة
-
- 1
-
-
هذا يعتمد على كيفية استخدام تلك المشاريع، فواجهات المستخدم ليست ضرورية بشكل مطلق لمشاريع تعلم الآلة، لكنها مفيدة في حالات كثيرة فمثلا هي غير ضرورية لأبحاث الأكاديمية البحتة أو للنماذج المستخدمة في الخلفية فقط (مثل أنظمة التوصية) أو للمشاريع التي يستخدمها المطورون فقط لكنها قد تكون ضرورية في التطبيقات التجارية الموجهة للمستخدم النهائي أو المشاريع التي تتطلب تفاعلا مستمرا مع العملاء وفي حالات العرض التوضيحي للنموذج لذا فالأهمية تعتمد على: الجمهور المستهدف طبيعة المشروع متطلبات العمل
- 2 اجابة
-
- 1
-
-
لكلّ أداة مميزاتها وتتباين من خلال الإيجابيات والسلبيات بناء على تجربة الاستخدام ويرجع القرار النهائي إليك وإلى احتياجاتك الخاصة، فمثلا لو نبدأ ب D365 (Dynamics 365) فمن ناحية التكامل فهو يبدو لي متكاملا لكونه يشمل إدارة المحاسبة، الموارد البشرية، وإدارة العملاء وله واجهة مستخدم متطورة مع دعم قوي لمختلف العمليات التجارية لكن في نفس الوقت يشتكي الكثيرون منه بحجة التكلفة المرتفعة وغالبا ما يتطلب اشتراكا شهريا. لكن لو تتخذ من Power BI بديلا فصحيح أنه قوي في تحليل البيانات والتقارير ويمكنه الاتصال بمصادر بيانات متعددة لكنه يحتاج إلى نظام إدارة بيانات جيد للربط معه ولا أعتبره بديلا كاملا للأنظمة المدمجة مثل D365. فقد يقول البعض أنه إذا كانت لديك ميزانية محدودة وترغب في نظام مرن وقابل للتخصيص ف Power BI مع نظام ERP مفتوح المصدر يعتبر جيدا أما إذا كنت تبحث عن نظام متكامل ف D365 هو الخيار الأفضل على الرغم من التكاليف التي ذكرناها.
-
لكلّ شخص أسلوبه الخاص به في التعلم فيمكنك الاستمرار في أسلوبك إن كنت ترى فيه فائدة ونتائج جيدة من ناحية الفهم والتطبيق، أما بالنسبة أنّك لا تطبّق بمفردك، فلا أحد بدأ بالتطبيق بمفرده من البداية، فالتعلّم مع المدرب ماهو إلا خطوة أولى فقط، ثم يمكنك فقط المحاولة فقط ابدأ بالتطبيق بمفردك ولا بأس إن أخطأت أو تعثرت فهذا هو الأصل، أن تخطئ وتتعلّم من أخطائك فكلّ المحترفين قبلك أخطأوا في أولى محاولاتهم ومن لا يخطئ لا يتعلّم. بالنسبة لمسار الأساسيات فهو يركّز أكثر على المفاهيم الأساسية في الدورة وفهمها ضروري لإتمام المشاريع لذا أنصح بالتركيز أكثر فيها. يمكنك الاستفادة من النقاش حول الطرق المثلى لدراسة الدورات للاستفادة منها من هنا:
-
بما أن مساحة الخادم التي تستهلكها أكبر بكثير من حجم ملفات موقعك، وهناك زيادة ملحوظة في الاستهلاك، فهذا يشير إلى أن هناك عوامل أخرى تؤدي إلى استهلاك المساحة فقد تكون ملفات النسخ الاحتياطي أو ملفات السجلات تتزايد دون أن تلاحظ، مما يستهلك مساحة إضافية أو قد تكون هناك ملفات أو مجلدات مخفية غير ضرورية تستهلك المساحة والحل برأيي هو التحقق من ملفات النسخ الاحتياطي والسجلات عبر حذف النسخ الاحتياطية القديمة وملفات السجلات الكبيرة ثم فحص الملفات والمجلدات المخفية يمكنك استخدام أداة FTP أو لوحة التحكم لعرض وحذف الملفات غير الضرورية وإذا كنت تستخدم قاعدة بيانات، قم بتنظيفها وتحسينها وكآخر حلّ ممكن يمكنك الاتصال بدعم خدمة الاستضافة في حال كانت المشكلة تقنية من المصدر.
-
الخطأ الموجود في الشيفرة يكمن في أنك كتبت الشرط الأخير بشكل خاطئ، فقد قمت بإضافة مسافة إضافية زائدة هكذا: if __name__ == ' __main__': وفي هذه الحالة بايثون لن يستطيع التعرف على أن البرنامج يتم تشغيله بشكل مباشر لذا نقوم بكتابتها بهذا الشكل الصحيح: if __name__ == '__main__': كذلك الدالة add_quotes تعمل بشكل صحيح في حال كان الإدخال نصا فقط ولكن يمكن تحسين الشرط ليشمل الحالات التي يتم فيها إضافة شيء غير نصي، فتقوم بإرجاع رسالة خطأ مناسبة بحيث يمكنك إضافة حالة للتعامل مع القيم الفارغة (Empty string) والتحقق من أن النص المضاف ليس فارغا كالتالي: def add_quotes(quotes): if isinstance(quotes, str) and quotes.strip(): quotes_list.append(quotes) else: return 'مدخل غير نصي'
- 2 اجابة
-
- 1
-