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

Chihab Hedidi

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

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

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

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

    13

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

  1. في السابق، كان من المهم تحديد نوع الملف لأن HTML كان يدعم أنواع مختلفة من المحتوى مثل النص العادي (text) والصور والوسائط الأخرى. ومع تقدم التطورات، أصبح من غير الضروري تحديد النوع بشكل صريح في معظم الحالات، لأن معظم المتصفحات الحديثة يمكنها التعرف على نوع الملف تلقائيا. لذا، يمكن ترك "type = text/css" بسبب التوافق مع المتصفحات القديمة التي قد تحتاج إلى هذا التحديد. عموما، في HTML5، يمكن حذف "type = text/css" بسبب السياق الافتراضي للعنصر <link> والذي يفترض أن يكون نوع الملف هو "text/css" تلقائيا، و لكن قد ترغب في الاحتفاظ بها لأسباب التوافق مع المتصفحات القديمة أو لأغراض التوثيق والوضوح في الشفرة.
  2. إذا كنت قد بنيت برامج متنوعة باستخدام بايثون ولديك خبرة مسبقة في العمل معها، فمن المحتمل أن تكون قادرا على تخطي مرحلة الأساسيات بدون مشاكل كبيرة، ولكن يجب عليك التأكد من فهم مفاهيم اللغة واستخدامها بشكل جيد قبل المضي قدما، و ما أقصده هنا هو المفاهيم الأساسية لهذه اللغة أهمها الهيكل التسلسلي الذي يعنى بتنفيذ الأوامر بتسلسل محدد، الشروط والحلقات التي تستخدم للتحكم في تدفق البرنامج، الدوال والمعالجة التجريبية لتقسيم البرنامج وتصحيح الأخطاء، الهيكل البياني للبيانات مثل القوائم والقواميس والتراكيب البيانية الأخرى واستخدامها بشكل فعال، ومفاهيم البرمجة كائنية التوجه التي قد تكون ضرورية في مشاريع أكبر وتتعلق بالفئات والكائنات. إذا كنت قادرا على فهم وتطبيق هذه المفاهيم بثقة، فيمكنك المضي قدما دون الحاجة إلى إعادة دراسة الأساسيات بالكامل، و حتى نقتل الشك باليقين، أقترح عليك إعادة فيديوهات الأساسية، و لكن مع تسريع الفيديو X1.5 أو X2 و ستتذكر كل شيء. بالتوفيق في مسارك إن شاء الله.
  3. أعتقد أن هذا بسبب التحديثات التي غيرت من المكتبة يمكنك الإطلاع على الطريقة من خلال مستندات المكتبة من هذا الرابط: pytube docs
  4. نعم يمكنك ذلك عن طريق استخدام مكتبة Python المعروفة باسم pytube لهذا الغرض، و إليك خطوات بسيطة لطريقة استخدامها: from pytube import YouTube # رابط الفيديو من YouTube video_url = 'رابط_الفيديو' # تحميل الفيديو yt = YouTube(video_url) stream = yt.streams.get_highest_resolution() # اختيار أعلى دقة stream.download() # تنزيل الفيديو يرجى استبدال 'رابط_الفيديو' برابط الفيديو الذي ترغب في تنزيله من YouTube، و في الأحيان قد تواجه بعض المشكلات في التنزيل في بعض الأحيان بسبب القيود التي يفرضها YouTube على بعض محتوى الفيديو. و يمكن أن يكون هناك مكتبات أخرى توفر نفس الخدمة لأنه مثل ما نعرف أن بيثون مفتوح المصدر و المكتبات فيه كثيرة جدا، فيمكنك البحث عن الموضوع أكثر و بالتأكيد ستجد ما يناسب إحتياجاتك.
  5. لا يعتبر تعلم لغة الجافا ضروريا بالضرورة لكي تصبحي مبرمجة، ولكن يمكن أن تكون لغة الجافا إحدى الخيارات المهمة والمفيدة في مسارك المهني كمبرمجة، الجافا هي إحدى اللغات البرمجية الشهيرة والتي تستخدم على نطاق واسع في تطوير البرمجيات، وتوفر فرصا واسعة في مختلف المجالات مثل تطوير تطبيقات الويب، وتطوير تطبيقات الجوال، وتطوير البرمجيات الخاصة بأنظمة التشغيل، وغيرها. إذا كانت هناك لغة برمجة أخرى تثير اهتمامك أكثر من الجافا، فبالطبع يمكنك أن تبدأ بتعلم تلك اللغة. الأمر المهم هو فهم المبادئ الأساسية للبرمجة وتطوير المهارات البرمجية العامة التي يمكنك استخدامها في تعلم لغات برمجة متعددة. يمكنك قراءة هذه المقالات لتأخذي فكرة على البرمجة و كيف تتعلمينها:
  6. في الواقع تطوير تطبيقات بايثون يسمح لك إستخدام العديد من قواعد البيانات المختلفة و التي يمكن استخدامها في تطبيقات الويب وتطبيقات الهاتف المحمول والمشاريع الأخرى، أما بخصوص الدورة فستستخدم قواعد البيانات العلائقية و بصفة أخص ستستعمل PostgreSQL، و لا تقلق بخصوص تعلمها، لأنه قبل الشروع في تعلم flask أو django تغطي الدورة كيفية التعامل مع قواعد البيانات، و بالتالي سيمكنك تعلمها داخل الدورة. و يمكنك رؤية ذلك من خلال الإطلاع على محتوى الدورة من الرابط التالي: أو من خلال الصفحة التي تعطيك تفاصيل أكثر عن الدورة حيث ستجد الجزء المطلوب داخل قسم أساسيات إطار العمل جانغو Django بإسم التعامل مع قواعد البيانات Databases: دورة تطوير التطبيقات باستخدام لغة Python
  7. المشكلة في الcompiler الذي تستخدمه، فبعضه يكون يحتوي عليها مباشرة و البعض الأخر لا، جربت الكود و إشتغل عندي بدون مشاكل، من أجل حل المشكلة المكتبة iterator تحتوي على الدالة نفسها، يمكنك تغيير الكود بالشكل التالي ليشتغل معك بدون مشاكل: #include <iostream> #include <iterator> using namespace std; int main() { int numbers[] = { 10, 20, 3, 30, 5, 7, 40 }; int numssize = std::size(numbers); cout << numssize; return 0; }
  8. مرحبا محمود، أرجوا نشر السؤال الخاص بك أسفل الفيديو الذي تواجه فيه المشكلة في الدورة.
  9. المشكلة هي أن الدالة في تعريفها تقوم بإرجاع عدد، بينما داخلها لا توجد أي قيمة مرجعة، كما أنك تقوم بطباعة النتيجة داخلها لذا لا تحتاج على إعادة الطباعة في ال main، و الأفضل أن تقوم بتعديل الدالة لتصبح void بالشكل التالي: #include <iostream> using namespace std; void calcspecial(int num1, int num2){ if(num1 == num2){ cout << "First = Second -> "; cout << num1 << " + " << num2 << " = " << num1 + num2 << endl; } else { if(num1 > num2){ cout << "First > Second -> "; cout << num1 << " - " << num2 << " = " << num1 - num2 << endl; } if(num1 < num2){ cout << "First < Second -> "; cout << num2 << " - " << num1 << " = " << num2 - num1 << endl; } } } int main() { calcspecial(40, 40); // First = Second -> 40 + 40 = 80 calcspecial(200, 50); // First > Second -> 200 - 50 = 150 calcspecial(100, 300); // First < Second -> 300 - 100 = 200 return 0; }
  10. حلك صحيح و يمكن أن يكون بشكل أبسط باستخدام نجمة واحدة، يمكن استخدام حلقة for للتحكم في عدد النجوم التي يجب طباعتها في كل سطر. إليك طريقة أخرى باستخدام نجمة واحدة: for (let i = 4; i > 0; i--) { console.log('*'.repeat(i)); } هذا الكود يستخدم حلقة for لإنشاء أربعة أسطر، حيث يبدأ بأربعة نجوم في السطر الأول ويقلل العدد تدريجيا في كل سطر، الدالة repeat تستخدم لتكرار النجمة بناء على قيمة المتغير i. و يمكنك الإطلاع أكثر على الحلقات في جافاسكريبت من خلال المقال التالي:
  11. في Vue.js، تتوفر عدة مكتبات لترجمة النصوص المتعددة اللغات، من بينها Vue I18n و Vuetify و Vue Translate، و يعتبر Vue I18n من أشهر هذه المكتبات، حيث توفر إمكانيات فعالة لترجمة النصوص بسهولة وإدارة اللغات المتعددة. Vuetify توفر دعما مدمجا لترجمة النصوص عبر خدمة i18n، مما يجعلها خيارا مناسبا لمن يستخدم هذه المكتبة لتصميم واجهة المستخدم، أما بالنسبة لمكتبة Vue Translate، فهي مكتبة مستقلة توفر وظائف ترجمة النصوص المبنية على Vue.js. لتضمين أي من هذه المكتبات في مشروعك في Vue.js، يتطلب الأمر عادة تثبيت المكتبة المناسبة باستخدام npm أو yarn، ثم استيرادها في ملفات مشروعك، وتكوينها وفقا لاحتياجات مشروعك. ها هو مثال على كيفية استخدام مكتبة Vue I18n في تطبيق Vue.js:في الملف main.js (أو أي ملف رئيسي آخر)، يمكنك استيراد Vue و VueI18n وتكوين المكتبة كما يلي: import Vue from 'vue'; import VueI18n from 'vue-i18n'; import App from './App.vue'; Vue.use(VueI18n); const i18n = new VueI18n({ locale: 'en', // اللغة الافتراضية messages: { en: { greeting: 'Hello!' }, fr: { greeting: 'Bonjour!' }, ar: { greeting: 'مرحباً!' } } }); new Vue({ el: '#app', i18n, render: h => h(App) }); ثم، في ملف مكون Vue (مثل App.vue)، يمكنك استخدام المكونات التي تحتوي على نصوص يجب ترجمتها. على سبيل المثال: <template> <div> <h1>{{ $t('greeting') }}</h1> </div> </template> <script> export default { name: 'App', mounted() { // يمكنك تغيير اللغة في وقت التشغيل this.$i18n.locale = 'fr'; // تغيير اللغة إلى الفرنسية } } </script> هنا يتم تحديد مكتبة Vue I18n وتكوينها في الملف main.js. ثم يتم استخدام النص المترجم في مكون Vue (App.vue) باستخدام $t('greeting') حيث يتم ترجمة النص وفقا للغة المحددة في المكتبة.
  12. البرمجة بإستخدام الأودو موجود داخل دورة تطوير التطبيقات باستخدام لغة Python، بعد الدخول من خلال زر دوراتي يمكنك أن تذهب لمسار تعلم الأودو من هنا:
  13. من خلال الايرور يظهر عندك مشكلين الأول بخصوص تراخيص android و لقبولها قم بالقيام بهذا الأمر: flutter doctor --android-licenses المشكلة الثانية بخصوص Visual studio حيث يجب عليك تثبيت حزمة "Desktop development with C++" workload وتثبيت جميع المكونات الافتراضية. بعد تنفيذ هذه الخطوات، قم بإعادة تشغيل الأمر مرة أخرى: flutter doctor
  14. لكي تظهر النصوص العربية بشكل صحيح في لغة البرمجة C++، يجب عليك التأكد من أن المحرر الذي تستخدمه يدعم ترميز النصوص العربية (مثل UTF-8). فيما يلي مثال بسيط على كيفية استخدام الأحرف العربية في برنامج C++: #include <iostream> int main() { // تحديد ترميز UTF-8 للإخراج setlocale(LC_ALL, "en_US.utf8"); // استخدام الأحرف العربية في الإخراج std::wcout << L"مرحبًا بك في برنامج C++ باللغة العربية!" << std::endl; return 0; } هنا قمنا باستخدام setlocale(LC_ALL, "en_US.utf8"); لتحديد ترميز UTF-8 للإخراج، بهذه الطريقة يمكنك استخدام الأحرف العربية في الشيفرة البرمجية بشكل طبيعي. و يمكنك الإطلاع على هذه المقالة ستساعدك أكثر: كتابه بالعربي داخل الكونسل c++
  15. أعتقد أنه يمكنك استخدام تنبيها بسيطا عن طريق استخدام MessageBox في C# إذا كنت تستخدم Windows Forms: DateTime currentDate = DateTime.Now; DateTime nextPaymentDate = txtdatetime.Value; // تحديد تاريخ الدفع القادم // حساب الفارق بين التاريخ الحالي وتاريخ الدفع القادم TimeSpan difference = nextPaymentDate - currentDate; // إذا كان الفارق يقل عن يومين، قم بعرض تنبيه للمستخدم if (difference.Days < 2) { string message = $"يرجى التنبيه: موعد الدفع القادم في {difference.Days} أيام."; MessageBox.Show(message, "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning); } هذا مثال بسيط و يمكنك راجعة وتعديل الشرط والرسالة بما يتناسب مع احتياجات تطبيقك.
  16. يمكنك الإطلاع على المقالات و الكتب الموجودة في الأكاديمية و ستفيدك كثيرا، سأترك لك البعض ليسهل الوصول إليها: https://academy.hsoub.com/programming/javascript/ https://wiki.hsoub.com/JavaScript
  17. قرار مغادرة الجامعة والاستثمار في تعلم البرمجة ذاتيا هو قرار شخصي يعتمد على عدة عوامل، حيث إذا كنت قادرا على التحمل الذاتي وتنظيم وقتك بشكل فعال، قد يكون التعلم الذاتي خيارا جيدا لك، و لا يخفى عليك أنه مؤخرا فرص العمل في هذا المجال بالضبط أصبح لا يتطلب أي شهادة بقدر ما يتطلب خبرتك و مهاراتك. العديد من الشركات الكبيرة أيضا في مقابلات العمل لا تتطلب أي شهادة و لا تسألك عليها أصلا، بل كل ما يريدونه هو التفكير الصحيح و الطريقة المبتكرة في حل المشاكل. حتى في مجال العمل الحر لن يسألك أحد عن شهاداتك بقدر ما سيسألونك عن معرض إعمالك و المهارات التي تتقنها، يمكن أن يكون التعلم الذاتي وتطوير المشاريع العملية أكثر فائدة في بناء ملفك الشخصي والحصول على وظائف في مجال البرمجة. صحيح قد يكون هناك تحديات في كل من الخيارين، لكن الفهم الجيد لأهدافك الشخصية والمهنية سيساعدك في اتخاذ القرار الأمثل. يمكنك أن تطلع على هذا النقاش الذي يساعدك على تحديد رأيك: ما هو التعلم الذاتي؟ وهل استفدت منه؟
  18. صحيح، اللغات المفسرة تقوم بتحويل الشيفرة المصدرية مباشرة إلى تنفيذ، في حين تستخدم اللغات المترجمة مرحلة إضافية تقوم بترجمة الشيفرة إلى رمز آلة قبل التنفيذ. بالنسبة لسؤالك حول تحويل الشيفرة من لغات مفسرة أو مترجمة إلى لغة الآلة، يمكن أن يكون هذا ممكنا من خلال استخدام برامج تعرف باسم المترجمات (Translators) أو Decompilers، إلا أنه ينبغي الإشارة إلى أن هذه الأدوات قد تكون معقدة وغير دقيقة في بعض الأحيان، خاصة عند التعامل مع تفاصيل داخل البرنامج التي قد تفقد أثناء عملية الترجمة، و كما نعرف أن لغة الآلة حساسة جدا، بتغيير رقم واحد فقط من صفر إلى واحد يتغير المعنى بأكمله، و في هذه الحالة يصعب ايجاد مكان الخطأ. فيما يخص إمكانية التعديل أو التطوير، يمكن تحويل الشيفرة المصدرية بين لغات البرمجة باستخدام أدوات تحويل اللغات (Language Converters)، ولكن يجب أن يتم ذلك بحذر، حيث قد يتسبب التحويل في فقدان بعض المعلومات أو التغييرات في البنية البرمجية.
  19. الرسالة التي تظهر تشير إلى أنك تقوم بتعديل قيمة في DataFrame على نسخة من البيانات، وهو ما يمكن أن يؤدي إلى مشكلات في بعض الحالات، يمكنك محاولة تجنب هذا الخطأ عن طريق استخدام loc لتحديد الصفوف والأعمدة المحددة. في السطور الأخيرة من الكود، قم بتغيير هذا السطر: self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') إلى: self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), "التقدير"] = self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), 'نتيجة المادة'].apply(lambda x: 'A' if x >= 85 else 'Other') هذا التعديل يستخدم loc لتحديد الصفوف التي تلبي شرط "إسم الطالب" ويعدل القيمة في عمود "التقدير" بناءا على الشرط المحدد.
  20. من الواضح أن الخطأ الذي تحدث هنا هو في الجزء الذي يحتوي على الفحص المشروط if self.nT >= 85، المشكلة تكمن في محاولة مقارنة العمود بالقيمة 85، وهذا يؤدي إلى خطأ. بدلا من ذلك، يجب عليك استخدام apply لتطبيق الفحص المشروط على كل عنصر في العمود، فيما يلي كيف يمكنك تحسين الكود: self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') يتم استخدام apply هنا لتطبيق الشرط على كل عنصر في العمود، ويتم إنشاء عمود جديد تحت إسم التقدير يحتوي على التقدير المناسب لكل قيمة. يمكنك ضبط الشرط حسب احتياجاتك.
  21. تركز دورة تطوير واجهات المستخدم من أكاديمية حسوب بشكل رئيسي على الواجهة الأمامية والتقنيات المرتبطة بها، مع اهتمام بالجانب التطبيقي أيضا، ومن المهم أن نلاحظ أنها لا تتناول جوانب خادم الويب (backend)، لكن هناك دورات أخرى مخصصة لهذا الجانب. تتضمن هذه الدورات: دورة تطوير تطبيقات الويب باستخدام لغة PHP. دورة تطوير تطبيقات الويب باستخدام لغة Ruby. إذا كنت مشتركا في أحد هذه الدورات، سيكون لديك الوصول إلى المسارات الأولى منها، وكذلك الفرصة لاستكشاف باقي دورات الأكاديمية. ولكن إذا كنت ترغب في الاطلاع على محتوى الدورة قبل الالتحاق بها، يمكنك مشاهدة المسار الأول كمقدمة. بناء على ذلك، يمكنك اتخاذ القرار المناسب بشكل أفضل بالنسبة لك. بالتوفيق في رحلتك التعليمية.
  22. أنصحك بالبدء بتعلم الرياضيات الأساسية مثل الجبر والإحصاء، ثم اكتساب مهارات البرمجة باستخدام Python على الأقل يكون لديك الأساسيات فيها، و قبل بداية الكورس تأكد من محتواه إذا كان يغطي هذه المفاهيم أو لا، خصوصا المكتبات التي ذكرتها، و لمعرفة ما يجب تعلمه أكثر يمكنك الإطلاع على هذه المقالات التي ستفيدك كثيرا في هذا المجال:
  23. اختبار SAT هو اختبار تقييمي يستخدم على نطاق واسع في الولايات المتحدة لتقييم مهارات الطلاب في مجالات متعددة، مثل الرياضيات و غيرها، حيث يطلب من الطلاب أداء مهام متنوعة في هذه المجالات، ويهدف إلى قياس إلمامهم بالمواضيع الأكاديمية ومهارات التفكير التحليلي. فيما يتعلق بالعلاقة بين اختبار SAT والذكاء الاصطناعي، يمكن استخدام التكنولوجيا والذكاء الاصطناعي في مجالات عديدة لتحسين عمليات الاختبار وتحليل النتائج. على سبيل المثال، يمكن استخدام الذكاء الاصطناعي لتطوير أسئلة اختبار ذكية ومحسّنة، وكذلك لتقديم تحليلات دقيقة لأداء الطلاب.
  24. الخطأ الذي تواجهه يشير إلى أنه يجب تحديث pip باستخدام Python 3.12 المثبت، يمكنك تنفيذ الأمر المقترح بالدخول إلى موجه الأوامر أو تيرمينال النظام وتشغيل الأمر التالي: python -m pip install pip -U بعد تنفيذ هذا الأمر، يجب أن يتم تحديث pip إلى أحدث إصدار. يمكنك التحقق من ذلك عن طريق تشغيل: python -m pip --version
  25. اسم خادم قاعدة البيانات الخاص بك، يعتمد على نوع قاعدة البيانات التي تستخدمها ونوع النظام الذي يستضيفها. يمكنك معرفة اسم خادم قاعدة البيانات الخاصة بك بعدة طرق، على حسب نوع قاعدة البيانات والنظام الذي يستضيفها. في حال استخدام قاعدة بيانات SQL مثل MySQL أو PostgreSQL أو Microsoft SQL Server، يمكنك استخدام أمر SQL مثل SELECT @@SERVERNAME; أو ابحث في ملفات إعدادات قاعدة البيانات لديك، في MySQL، على سبيل المثال، يمكنك العثور على ملف my.cnf أو my.ini الذي يحتوي على معلومات حول الخادم.
×
×
  • أضف...