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

Chihab Hedidi

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

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

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

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

    13

كل منشورات العضو Chihab Hedidi

  1. لا مشكلة في تثبيت كل من npm وpip على نفس الجهاز، حيث أن كل منهما مدير حزم للغات برمجة مختلفة، و إذا لم يكن لديك Python مثبتا على جهازك، قم بتنزيله من الموقع الرسمي، توجه إلى صفحة تنزيل Python، و اختر الإصدار المناسب لنظام التشغيل الخاص بك، و عادة ما يأتي pip مثبتا بشكل افتراضي مع Python. للتحقق مما إذا كان pip مثبتا بالفعل، افتح موجه الأوامر و أكتب: pip --version إذا كانت pip مثبتة، سترى إصدارها يظهر على الشاشة، و إذا لم تكن مثبتة افتح موجه الأوامر اكتب الأمر التالي لتحميل ملف get-pip.py: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py ثم قم بتشغيل الملف لتثبيت pip: python get-pip.py
  2. يمكنك إضافة الكود إلى القالب الخاص بالمدونة في الجزء الذي يدعم تشغيل الأكواد البرمجية مثل JavaScript، من داخل إعدادات بلوجر قم بالذهاب إلى قسم "التخطيط" أو "المظهر"، و اضغط على "المظهر" في القائمة الجانبية، ثم اختر "تحرير HTML" و ابحث عن الوسم </body> الذي يشير إلى نهاية جسم الصفحة، و أضف الكود الخاص بك مباشرة قبل وسم </body>. و أيضا تأكد من أن نموذج التعليقات في مدونتك لديه المعرف (id) comment-form كما في الكود، إذا كان له معرف مختلف، قم بتغيير #comment-form في الكود إلى المعرف الصحيح.
  3. لا تستطيع ذلك فعلى الأغلب تم تسجيل الرقم في قاعدة البيانات و أغلب المواقع حاليا محمية بشكل كبير و لا تستطيع تغيير أي مدخل عن طريق ال console ، يمكن أن تجرب تغيير الرقم بطريقة أخرى من داخل الموقع إذا كنت موجودة، في حالة لم تجد من الأفضل أن تتواصل مع الدعم الخاص بالموقع و سيقوم بتوجيهك و مساعدتك.
  4. بالنسبة لويندوز يمكنك مشاركة المجلدات عبر الشبكة، فقط قم بالنقر بزر الماوس الأيمن على المجلد الذي تريد مشاركته، ثم اختر "خصائص" ثم "مشاركة" بعدها اختر "مشاركة متقدمة" وأدخل الأذونات المناسبة. أما إذا تريد مشاركتها على أجهزة ليست في نفس الشبكة يمكنك إعداد خادم FTP على جهاز الكمبيوتر الخاص بك باستخدام برامج مثل FileZilla Server، و هذا سيتيح للأشخاص الآخرين الاتصال بجهازك وتنزيل الملفات، أو يمكنك إعداد خادم ويب محلي باستخدام برامج مثل XAMPP أو WAMP، و يمكنك وضع الملفات في مجلد الجذر لخادم الويب وتوفير الوصول إلى هذه الملفات عبر متصفح الويب. و أيضا استخدام خدمات التخزين السحابية يعتبر حل في هذا الحالة و هذا برفع الملفات إلى هذه الخدمات مشثل جوجل درايف ومشاركة الروابط مع الأشخاص الذين تريدهم، يعني أن هناك العديد من الطرق أنت فقط إختر الطريقة التي تناسبك.
  5. عند تعلم كل مكون بشكل منفصل، يمكنك التركيز على فهم كل جزء بمفرده دون تشتيت الانتباه بأمور أخرى، و هذا يساعدك على بناء معرفة قوية بالأساسيات التي ستحتاج إليها لاحقا عند العمل على مشاريع أكبر وأكثر تعقيدا، كما أن التعلم المنفصل يساعدك على استكشاف كل تقنية أو أداة بشكل أعمق، وفهم مزاياها وعيوبها ومتى تكون مناسبة للاستخدام، فإذا بدأت مباشرة بمشروع كبير، فقد لا تمتلك الوقت أو الفرصة لفهم تفاصيل كل أداة بشكل كاف، و هذا ما نحاول تجنبه في الدورات فالبدأ بالمشروع بشكل مباشر لن يغطي كل المفاهيم البرمجية و بالتالي عند معرفتك للأساسيات ستستطيع مع مرور الوقت تطبيقها كلها على حسب المشروع. و لا يخفى عليك أن التعلم بهذه الطريقة يمنع الشعور بالإرباك الذي قد ينشأ عند محاولة التعامل مع عدة تقنيات أو أدوات جديدة في آن واحد ضمن مشروع واحد، فعندما تتعلم كل مكون على حدة، تكون جاهزا بشكل أفضل لدمجها معا في وقت لاحق، و يمكنك تجربة ذلك بحيث تبدأ بالجزء الخاص ببناء المشروع و ستجد أن الأمر صعب و المفاهيم غامضة لأنه لن يكون لديك أي فكرة عليها.
  6. ستساعدك الأكاديمية بفريق محترف من أجل توجيهك للحصول على عمل في هذا المجال، فبعد اتمامك لأي من الدورات الموجودة في الأكاديمية وبعد اجتيازك الامتحان بنجاح ثم تطبيق إرشادات المختصين لتحسين سيرتك الذاتية وملفاتك الشخصية على مواقع العمل الحر، سيساعدك هذا الأمر في إيجاد عمل بشكل أسرع، كما يمكنك أن تبحث عن عمل من خلال مواقع العمل الحر كذلك مثل مستقل وخمسات. يمكنك أن تطلع أكثر على هذا المقال لتأخذ فكرة بشكل أفضل:
  7. يمكنك ذلك باستخدام بعض التعديلات على الكود وإضافة بعض التعليمات البرمجية، لكن بلوجر لا يدعم بشكل مباشر هذه الميزة من خلال إعداداته، لذا ستحتاج إلى استخدام JavaScript أو بعض الحلول البرمجية المخصصة، حيث يمكنك إضافة كود JavaScript إلى قالب مدونتك للتحقق مما إذا كان المستخدم قد قام بالتعليق خلال الـ24 ساعة الماضية، سيقوم هذا الكود بتخزين توقيت آخر تعليق للمستخدم في متغيرات الجلسة أو محليا وتحديثها وفقا لذلك، و يكون الكود بهذا الشكل: document.addEventListener('DOMContentLoaded', (event) => { const lastCommentTimeKey = 'lastCommentTime'; const commentInterval = 24 * 60 * 60 * 1000; // 24 hours in milliseconds function canComment() { const lastCommentTime = localStorage.getItem(lastCommentTimeKey); if (!lastCommentTime) { return true; } const currentTime = new Date().getTime(); return (currentTime - lastCommentTime) > commentInterval; } function updateCommentTime() { localStorage.setItem(lastCommentTimeKey, new Date().getTime()); } if (document.querySelector('#comment-form')) { const form = document.querySelector('#comment-form'); if (!canComment()) { form.addEventListener('submit', (event) => { event.preventDefault(); alert('تستطيع التعليق مرة واحدة فقط كل 24 ساعة'); }); } else { form.addEventListener('submit', () => { updateCommentTime(); }); } } }); و تأكد من أنك قمت بإدراج هذا الكود بشكل صحيح ضمن القالب الخاص بك، وأنك قد اختبرت الكود جيدا للتأكد من عمله كما هو متوقع.
  8. الخطأ الذي تواجهه يشير إلى أنك تحاول الوصول إلى خادم Apache عبر بروتوكول HTTP العادي على منفذ مخصص لـ HTTPS ، حيث أن المنفذ 443 هو المنفذ الافتراضي للاتصال الآمن باستخدام بروتوكول HTTPS، لذا يجب عليك استخدام "https://" بدلاً من "http://" في عنوان الـ URL. حاول استخدام الرابط التالي: https://localhost:443/phpmyadmin
  9. المشكلة في الكود هي أنك تستخدم علامة ال backslash \ في مسار الملف، و في بايثون هذه العلامة تستخدم للهروب من الأحرف الخاصة مثل \n للسطر الجديد، لذلك يمكن أن يسبب ذلك خطأً عند قراءة مسار الملف، قم بتغيير المسار ليستخدم علامتين مائلتين للخلف \\: heart = pd.read_sql("Data-Heart-Disease\\heart.db") print(heart.head()) يمكنك أيضا استخدام العلامة المائلة للأمام / والتي تعمل على كل الأنظمة: heart = pd.read_sql("Data-Heart-Disease/heart.db") print(heart.head())
  10. بالنسبة لهيكلة المشروع التي ذكرتها تحتاج إلى بعض التحسينات لتكون مناسبة وفعالة، خاصة مع استخدام نمط mvc، يمكنك تحسينها لتصبح بهذا الشكل: project-root/ │ ├── backend/ │ ├── app/ │ │ ├── Controllers/ │ │ ├── Models/ │ │ └── Views/ │ ├── public/ │ │ ├── index.php │ │ ├── assets/ │ │ │ ├── css/ │ │ │ ├── js/ │ │ │ └── images/ │ │ └── api/ │ └── vendor/ │ ├── frontend/ │ ├── index.html │ ├── main.js │ └── style.css │ ├── .env ├── composer.json └── README.md حيث تفاصيل الهيكل تكون بهذا الشكل: backend/app: يحتوي على ملفات المشروع الأساسية بناء على نموذج MVC. Controllers: تحتوي على ملفات PHP التي تدير المنطق والطلبات بين المستخدم وبيانات التطبيق. Models: تحتوي على ملفات PHP التي تدير التعامل مع قواعد البيانات. Views: تحتوي على ملفات العرض التي تعرض على المستخدم أي تحتوي على صفحات PHP. backend/public: يحتوي على الملفات التي يمكن الوصول إليها مباشرة من المتصفح مثل index.php وملفات الأصول الخاصة ب CSS، JavaScript، والصور. backend/vendor: يحتوي على المكتبات التي يتم تثبيتها باستخدام Composer. frontend: يحتوي على ملفات الواجهة الأمامية مثل index.html، وملفات CSS وJavaScript الخاصة بك. .env: يحتوي على إعدادات البيئة مثل إعدادات قاعدة البيانات. composer.json: يستخدم لإدارة الاعتماديات باستخدام Composer. و لضمان تشغيل المشروع بشكل صحيح على حاسوبك، يجب توحيد تشغيل كلا الجانبين الـ backend و الـ frontend باستخدام سيرفر واحد، في حالتك، يمكن القيام بذلك باستخدام XAMPP فقط لتشغيل كلا الجزئين.
  11. الشهادة التي تمنحها الأكاديمية تصدر فقط بعد اجتياز الامتحان بنجاح، و هذه ليست شهادات إكمال أو شهادات حضور، ولا يمكن الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليا أثناء الدورة، إجراء المقابلة وإثبات قدراته، كما أن جميع شهادات أكاديمية حسوب متاحة برابط مباشر على موقع الأكاديمية مما يتيح التحقق من صحتها بأي وقت حيث تعتبر من أقوى الشهادات البرمجية في الوطن العربي. يمكنك الإطلاع على الإجابات التالية لمزيد من التفاصيل:
  12. لما تطلب من chatgpt كتابة أحد الأكواد خصوصا في المكتبات الحديثة سيكتب لك كود و لكن بالتحديثات القديمة لهذه المكتبة و بالتالي لن يشتغل معك الكود و سيتعين عليك تحديثه و هذا لأن chatgpt ليس لديه الوصول للتحديثات الجديدة.
  13. نعم يمكن أن يكون أداة مفيدة جدا للتعلم وبناء المشاريع، حيث يمكنك الاعتماد عليه للحصول على معلومات متنوعة، أو حتى تقديم نصائح تقنية، ولكن من المهم أن تتذكر أنه نموذج ذكاء اصطناعي وليس بديلا كاملا عن المصادر الموثوقة أو الخبراء في هذا المجال، كما يجب أن تأخذ بعين الإعتبار أنه لا يحتوي على التحديثات الجديدة و بالتالي سيتعين عليك البحث على التغييرات التي قاموا بها في المكاتب بشكل يدوي.
  14. ابدئي بإنشاء ملف شخصي يعرض مهاراتك ومشاريعك السابقة حتى لو كانت مشاريع دراسية أو تجريبية و هذا أمر مهم حاليا، لأن المنافسة عاليا حاليا، كما أن المساهمة في المشاريع المفتوحة المصدر تعد طريقة رائعة لاكتساب خبرة عملية، يمكنك البحث عن مشاريع مكتوبة بلغة Python أو C++ والعمل على حل المشاكل الموجودة أو إضافة ميزات جديدة، و ابحثي عن فرص تدريب في شركات التقنية أو الأقسام التقنية في المؤسسات المختلفة، حيث يمكن أن تكون هناك فرص تدريب عن بعد، خاصة مع تزايد الشركات التي تعتمد على العمل عن بعد. كما يمكنك إنشاء حساب على موقع مستقل و إضافة هذه المشاريع في معرض الأعمال الخاص بك و متابعة المشاريع المفتوحة هناك و التعليق على المشاريع التي يمكنك إنجازها مع مرور الوقت ستبدئين بالعمل.
  15. الحواسيب عبارة عن أجهزة إلكترونية تعمل بالاعتماد على الدوائر الكهربائية التي تعبر عن المعلومات باستخدام نظام العد الثنائي 0 و1 هنا، تكون "0" تعني انقطاع التيار الكهربائي، و"1" تعني وجود التيار، و تستخدم المعالجات هذه الإشارات لتخزين ونقل ومعالجة المعلومات، و لفهم كيف تعرف الآلة أن هذا "مدخل" وذاك "مخرج"، نحتاج إلى التفكير في الطبقات المختلفة في النظام الحاسوبي، حيث يوجد طبقة الأجهزة و في هذه الطبقة توجد دوائر كهربائية وأجهزة تحكم تتعامل مع إشارات كهربائية، حيث يتم توجيه هذه الإشارات عبر مسارات محددة تعتمد على تصميم الأجهزة نفسها. توجد أيضا طبقة النظام الأساسي حيث تحتوي هذه الطبقة على تعليمات أولية مخزنة في ذاكرة ثابتة تدعى الفيرموير و تساعد في تشغيل الأجهزة بمجرد تشغيلها، وتحدد كيفية التواصل بين الجهاز والمكونات الأخرى. أما الطبقتين الأخيرتين فهما طبقة نظام التشغيل و طبقة البرمجة، في الطبقة الأولى يوفر نظام التشغيل بيئة لبرامج التطبيقات للتفاعل مع الأجهزة، و يقوم بتنظيم المدخلات والمخرجات عبر تعريف واجهات معينة للأجهزة، مثل لوحة المفاتيح والشاشة. عندما يتم تعريف "حقل إدخال الاسم"، يتم تحديد نوع المدخل المطلوب وكيفية معالجته، وذلك بناء على تعليمات مبرمجة مسبقا في النظام، أما طبقة البرمجة هنا يقوم المبرمجون بكتابة الأكواد التي تعرف كيفية التعامل مع المدخلات والمخرجات، فمثلا عند برمجة حقل إدخال للاسم، يقوم المبرمج باستخدام لغة برمجة لتحديد هذا الحقل كمدخل ويتوقع منه الحصول على قيمة نصية. بالنسبة لسرعة المعالجة المعالج الحديث يحتوي على عدة أنوية أو Cores تعمل بشكل متزامن لمعالجة المهام بشكل أسرع، كما يستخدم خطوط المعالجة لتجزئة المهام إلى أجزاء أصغر وتنفيذها بالتوازي.
  16. بايثون ليست سريعة بشكل عام مقارنة ببعض اللغات الأخرى لأنها لغة مفسرة interpreted language وليست مجمعة compiled language أي تنفذ التعليمات البرمجية سطرا بسطر، مما يؤدي إلى بطء الأداء مقارنة باللغات التي تجمع بالكامل إلى كود آلة مثل C، و المفسر يجب أن يترجم ويقوم بتنفيذ التعليمات البرمجية في الوقت الحقيقي، مما يضيف وقتا إضافيا في التنفيذ، كما أنها تستخدم أنظمة إدارة ذاكرة ديناميكية، مثل "جمع القمامة" لتنظيف الذاكرة بشكل تلقائي، و هذه العملية تضيف عبئا إضافيا على المعالج وقد تؤدي إلى تأخير الأداء، بخلاف لغات مثل C أو C++، التي تسمح للمطورين بإدارة الذاكرة يدويًا لتحقيق أداء أفضل. و مع ذلك لا يمكننا مقارنة اللغات البرمجية بهذه الطريقة لأن كل لغة مختصة في مجال معين أو تكون أسرع من اللغات الأخرى في بعض المجالات، كما أن لغات البرمجة التي تستخدم المفسر مثل Python أو JavaScript توفر مرونة عالية وتسمح للمبرمجين بإجراء تغييرات وتحديثات في الوقت الفعلي بدون الحاجة إلى إعادة التجميع الكامل للكود، وهو أمر مهم جدا في تطوير الويب أو التطبيقات التي تتطلب ديناميكية عالية.
  17. يمكنك استخدام مكتبة os لتنفيذ أوامر نظام التشغيل، ومكتبة time لإضافة فاصل زمني الكود ليس بالصعب يمكن أن يكون بهذه الطريقة: import os import time # الانتظار لمدة 5 ثوانٍ time.sleep(5) # مسح الشاشة على ويندوز os.system('cls') يمكنك دائما إستخدام المكتبة time من أجل تأخير تنفيذ أي أمر تريد.
  18. يمكنك استخدام ملف .gitignore.، و إذا لم يكن لديك ملف .gitignore بالفعل في المشروع، يمكنك إنشاء واحد في الجذر الخاص بالمشروع، بعدها أضف المسار الخاص بالملف الذي تريد تجاهله. على سبيل المثال، إذا كان لديك مجلد يسمى myfolder وفي داخله ملفين file1.txt وfile2.txt وتريد تجاهل file1.txt فقط، سيكون ملف gitignore. يحتوي على المسار بهذا الشكل: myfolder/file1.txt
  19. هذا الأمر يعود على حسب ظروفك بصفة عامة، فينبغي أن تقضي بعض الوقت للاسترخاء والراحة والنوم الكافي لتجنب الإجهاد الزائد والتعب، و من المهم أن تنتبه إلى صحتك العقلية والجسدية ، بما في ذلك الاهتمام بنظام غذائي صحي وممارسة التمارين الرياضية، و من المستحسن أن تحاول تحقيق التوازن بين تعلم البرمجة والنشاطات الاجتماعية والراحة الشخصية، يمكنك تخصيص بعض الوقت لتعلم البرمجة والتطور فيها وفي نفس الوقت مخصص بعض الوقت للقيام بأنشطتك الاجتماعية والاسترخاء والترفيه عن نفسك. و في كل دورة ستجد الحجم الساعي التقريبي لمشاهدة كل الفيديوهات، حاول تقسيم ذلك العدد على الأيام التي تريد الدراسة فيها و بالتالي ستحصل على عدد الساعات اليومية المناسبة للدراسة، و لا تنسى أنه عندما ترى فيديو بمدة 30 دقيقة، فإن الوقت الفعلي الذي ستحتاجه لاستيعاب محتواه وتطبيقه يكون أكثر بكثير من ذلك، وليس كل النصائح والمعلومات تقدم بشكل سهل وقابل للفهم فورا، فقد تحتاج إلى وقت إضافي لفهم المفاهيم وتطبيقها في البرمجة، يُنصح باحتساب وقت إضافي للمراجعة والتطبيق العملي، وحتى البحث عن توضيحات إضافية إن لزم الأمر. يمكنك أن تطلع أكثر على هذه المقالات لتستفيد :
  20. يمكنك القيام بهذا الأمر بإستخدام الدالة split حيث تقوم بقراءة السطر بأكمله ثم تقسيم السلسلة النصية الناتجة إلى الأجزاء المطلوبة و تكون بهذا الشكل: # أدخل القيم بالشكل 5 + 10 input_string = input("Enter the operation (e.g., 5 + 10): ") # تقسيم السلسلة النصية إلى ثلاثة أجزاء: الرقم الأول، العملية، والرقم الثاني num1, operation, num2 = input_string.split() # تحويل الأرقام إلى نوع int num1 = int(num1) num2 = int(num2) # الآن يمكن استخدام num1 و num2 و operation في العمليات print(f"Number 1: {num1}") print(f"Operation: {operation}") print(f"Number 2: {num2}") بهذه الطريقة سيتم تقسيم الإدخال إلى الأجزاء المطلوبة بحيث يكون num1 هو 5، و operation هو +، و num2 هو 10.
  21. أعتقد أنك تتحدث عن الدورات، و من الرائع أنك مهتم بالذكاء الاصطناعي في هذا العمر، نصيحتي لك هي الاستمرار في تعلم Python لأنها واحدة من أهم وأشهر لغات البرمجة المستخدمة في الذكاء الاصطناعي، فإذا واصلت تعلمها، فهذا سيمنحك قاعدة قوية جدا للتقدم في الذكاء الاصطناعي، حيث أن العديد من الأدوات والمكتبات الخاصة بالذكاء الاصطناعي مثل TensorFlow و PyTorch تعتمد على Python. بعد الإنتهاء من دورة البايثون يمكنك الإنتقال إلى دورة الذكاء الإصطناعي حيث ستتعلم فيها معالجة البيانات بمختلف أنواعها، وستتعامل مع مختلف LLMs مثل GPT من OpenAI و LLaMA 2 من Meta وكيفية دمجها مع تطبيقاتك العملية، و كل هذا الأمر سيكون بواسطة بايثون لذا أن تكون لديك قاعدة معرفية بايثون سيمنحك سهولة أكبر في التعلم.
  22. بالنسبة ل VS Code، هذه الميزة ليست متاحة بشكل افتراضي، لكن يمكنك تثبيت ملحق SonarLint، وهو أداة تحليل ثابتة للكود تساعد في اكتشاف المشكلات المتعلقة بالجودة والأمان، ولكنها لا تعرض مباشرة مؤشر Maintainability Index، إلا أنه يوفر تحليلا شاملا لجودة الكود والذي يمكن أن يشمل قابلية الصيانة.
  23. يعتبر مقياس طورته مايكروسوفت نستخدمه لتقييم قابلية صيانة الكود البرمجي،و يتم حساب هذا المؤشر بناء على مجموعة من العوامل مثل عدد الأسطر في الكود، تعقيد الكود، استخدام التعليقات، وغيرها من العوامل التي تؤثر على مدى سهولة فهم الكود وتعديله بمرور الوقت، و المؤشر يعطي درجة تتراوح من 0 إلى 100، حيث تشير الدرجة الأعلى إلى أن الكود أكثر سهولة في الصيانة والتطوير، و يتم استخدامه كأداة لمطوري البرمجيات لقياس وتحسين جودة الكود، فإذا كان المؤشر 20 أو أقل، فإنه يشير إلى أن الكود صعب الصيانة، و إذا كان المؤشر بين 20 و40، فهذا يشير إلى أن الكود متوسط الصعوبة، أما إذا كان المؤشر أعلى من 40، فيعتبر الكود سهل الصيانة. ويمكنك إستخدام Visual Studio لحساب هذا المؤشر تلقائيا للمشاريع البرمجية، مما يساعد المطورين في التعرف على الأماكن التي تحتاج إلى تحسين.
  24. ستتعلم في هذه الدورة تطوير تطبيقات الويب باستخدام إطار عمل جانغو Django و فلاسك Flask. بالإضافة إلى استخراج البيانات من صفحات الويب وتحليلها،والعديد من المهارات كما وضحها محمد في التعليق السابق ، و نعم القسم الأكبر من الدورة يركز على إطار العمل django و الذي يستعمل لبناء ال backend الخاص بالموقع، بالطبع يمكنك بواسطته أيضا بناء واجهة بسيطة و هذا ما ستتعلمه أيضا في الدورة و لكن بشكل بسيط.
  25. يمكنك استخدام الدالة ToLower() المدمجة في اللغة، حيث تقوم بتحويل النصوص إلى نفس النص ولكن بحروف صغيرة بهذا الشكل: using System; class Program { static void Main() { string text = "HSOUB ACADEMY!"; string lowerCaseText = text.ToLower(); Console.WriteLine("النص الأصلي: " + text); Console.WriteLine("النص بعد التحويل: " + lowerCaseText); } } بالتوفيق إن شاء الله.
×
×
  • أضف...