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

مسعود زاهي

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

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

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

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

    1

آخر يوم ربح فيه مسعود زاهي هو فبراير 2 2022

مسعود زاهي حاصل على أكثر محتوى إعجابًا!

6 متابعين

المعلومات الشخصية

آخر الزوار

1442 زيارة للملف الشخصي

إنجازات مسعود زاهي

عضو نشيط

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

382

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

96

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

  1. مرحبا عمار، يمكنك التواصل مع الدعم الفني من خلال مركز مساعدة أكاديمية حسوب وشرح طلباتك وسوف يقومون بالإجابة عليك إن شاء الله. بالتوفيق.
  2. مرحبا مازن، لا يجب عليك حفظ جميع دوال هياكل البيانات، وذلك لأن اللغة توفر مكتبة ضخمة تحتوي على العديد من الدوال المدمجة. هذه المكتبة تتيح لك استخدام هياكل البيانات الشائعة مثل القوائم (lists)، القواميس (dictionaries)،المجموعات (sets)، والصفوف (tuples) دون الحاجة إلى برمجتها من الصفر. عندما تحتاج إلى استخدام هيكل بيانات معين في مشروعك، فإن الخطوة الأولى هي البحث في المكتبة القياسية لبايثون لمعرفة ما إذا كانت توجد دالة جاهزة تقوم بالعمل الذي تريده. قد تكون هذه الدوال الجاهزة أكثر فعالية وأقل عرضة للأخطاء من كتابة دوالك الخاصة. مع ذلك، من المهم أن تكون على دراية ببعض هياكل البيانات الشائعة والدوال المتعلقة بها، لكي تستطيع استخدامها بفاعلية. قد تحتاج أحيانًا إلى تخصيص هياكل البيانات الموجودة لتلبية احتياجاتك الخاصة. في هذه الحالات، قد تضطر إلى برمجة بعض الدوال البسيطة وفقًا لمتطلبات مشروعك الخاص. بالإضافة إلى ذلك، كمبرمج، من المهم أن تكتسب فهماً عميقاً لمبادئ هذه الهياكل وكيفية عملها، حتى تتمكن من اختيار الهياكل المناسبة لمشروعك وتحسين أداء برامجك. لاحظ أنه بمرور الوقت ومع الخبرة، ستصبح أكثر تعودًا على هذه الهياكل ودوالها وتستطيع استخدامها بثقة وسهولة.
  3. عليكم السلام ورحمة الله وبركاته، يمكنك استخدام الصنف dropdown من bootstrap لعمل قائمة منسدلة ووضع أيقونة ثلاثة نقاط أفقية لفتحها على الشكل التالي: <div class="dropdown"> <button class="btn" type="button" data-bs-toggle="dropdown" aria-expanded="false"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-three-dots" viewBox="0 0 16 16"> <path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/> </svg> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="#">تعديل</a></li> <li><hr class="dropdown-divider border-top border-secondary"></li> <li><a class="dropdown-item text-danger" href="#">حذف</a></li> </ul> </div> بالتوفيق.
  4. وعليكم السلام ورحمة الله وبركاته، إذا كنت تهتم بتطوير واجهات برمجة التطبيقات (API) والتفاعل مع بيانات JSON، فمن الجيد أن تتعلم طريقة كتابة وفهم كود API JSON وعمليات GET وPOST. إليك بعض الأسباب التي تدعم هذا الاقتراح: التعامل المباشر مع البيانات: بفهمك لكيفية كتابة وقراءة البيانات في صيغة JSON، يمكنك التفاعل مباشرةً مع البيانات التي يقدمها الـ API، ومعالجتها وعرضها بالطريقة التي تناسب احتياجاتك. تطوير الأدوات والتطبيقات الخاصة: إذا كنت ترغب في بناء أدوات أو تطبيقات خاصة بك، فإن فهمك لـ API JSON سيسمح لك ببناء واجهات تفاعلية لاستعراض وتحليل البيانات وتسهيل العمليات الأخرى. فهم أفضل للوثائق الفنية: غالبًا ما تتضمن وثائق API شرحًا للـ endpoints وعمليات الـ GET وPOST المتاحة. عندما تتعلم كيفية قراءة هذه الوثائق وفهمها، ستكون قادرًا على استخدام الـ API بفعالية أكبر وفهم طرق التفاعل المتاحة لك. التعامل مع الأخطاء وإصلاحها: عندما تتعلم طرق الكتابة والقراءة الصحيحة للـ JSON وكيفية استخدام عمليات GET وPOST، فإنك ستكون أكثر قدرة على تحليل الأخطاء التي قد تحدث أثناء تفاعلك مع الـ API، وسيسهل عليك تشخيص المشكلات وإصلاحها. بصفة عامة، فإن فهم المفاهيم الأساسية للـ API وعمليات GET وPOST يعتبر ضروريًا لتطوير برامج وتطبيقات تعتمد على تبادل البيانات. قد يكون الاستفادة من التعلم العملي والتطبيقات العملية والمشاريع الصغيرة مفيدًا أيضًا لتعزيز فهمك وتحسين مهاراتك في هذا المجال. يمكنك الاستفادة من المناقشات والمقالات التالية: بالتوفيق.
  5. مرحبا مازن، في البرمجة، "continue" و"break" هما كلمتين مستخدمتين في تحكم تنفيذ الحلقات (loops)، مثل الحلقات التكرارية (for loops أو while loops). تختلف الكلمتين في طريقة تأثيرهما على تنفيذ الحلقة. كلمة "continue": عند استخدامها داخل حلقة، فإنها تقوم بتخطي بقية الأوامر في الحلقة الحالية والانتقال مباشرة إلى التكرار التالي من الحلقة، دون تنفيذ أي شيء بعدها في نفس التكرار. بمعنى آخر، تجعل "continue" الحلقة تتجاهل الأوامر التالية وتعود لبداية التكرار التالي. عادةً ما يتم استخدام "continue" عندما يتوفر شرط معين يتطلب تجاهل تنفيذ بقية الأوامر الحالية والانتقال إلى التكرار التالي. كلمة "break": عند استخدامها داخل حلقة، فإنها تقوم بإنهاء الحلقة نفسها تمامًا، بغض النظر عن أي شروط أو تكرارات محددة. بمجرد تنفيذ "break" داخل الحلقة، يتم الخروج منها تمامًا واستئناف تنفيذ الأوامر بعد الحلقة. يستخدم "break" عادةً عندما يتوفر شرط معين يستدعي إنهاء الحلقة بشكل فوري والانتقال إلى الكود الذي يليها. باختصار، "continue" يتجاهل الأوامر المتبقية في الحلقة وينتقل إلى التكرار التالي، بينما "break" ينهي الحلقة بشكل فوري ويستأنف التنفيذ خارج الحلقة. هذا مثال بسيط بدون استخدام لغات البرمجة لشرح الفرق بين "continue" و"break". لنفترض أن لدينا مجموعة من الأرقام ونحتاج إلى البحث عن عدد محدد في هذه المجموعة. سنستخدم حلقة التكرار لفحص كل عدد في المجموعة. باستخدام "continue": لنقل أننا نبحث عن العدد 7 في المجموعة ونريد معرفة ما إذا كان موجودًا أم لا. عند استخدام "continue"، إذا وجدنا العدد 7، فإننا سنتجاهل الأرقام المتبقية وننتقل إلى العدد التالي في الحلقة. وإذا لم نجد العدد 7، فسنستمر في تفحص الأرقام الأخرى حتى ننهي الحلقة. باستخدام "break": أما عند استخدام "break"، إذا وجدنا العدد 7، فسنقوم بإنهاء البحث فورًا ونعلن أننا وجدنا العدد 7. وإذا لم نجد العدد 7، فسنستمر في تفحص الأرقام الأخرى حتى ننتهي من فحص جميع الأرقام في المجموعة. باستخدام "continue"، سنستمر في التفحص حتى النهاية، حتى لو وجدنا العدد المطلوب. أما باستخدام "break"، فسنتوقف فورًا عندما نجد العدد المطلوب. هذا المثال يوضح كيف يمكن استخدام "continue" و"break" للتحكم في تنفيذ العمليات أو البحث في البيانات. بالتوفيق.
  6. مرحبا عبد الرحمن، الخطأ يكمن في الإزاحات. لاحظ أن الإزاحات قبل الشرط الأول (if) هي أكبر من الإزاحات قبل الشرط الثاني (elif). يجب أن تكون الإزاحات متساوية. إذا كان هذا السؤال تابع لدورة من دورات الأكاديمية يُرجى طرح السؤال أسفل فيديو الدرس وشكراً. بالتوفيق.
  7. إذا كنت تواجه خطأ "ModuleNotFoundError: No module named 'tkinter'" عند محاولة استخدام مكتبة Tkinter في Python، فهذا يعني أن Tkinter غير مثبتة على نظامك. لحل هذه المشكلة، يجب التأكد من أن Tkinter مثبتة بشكل صحيح على جهازك. لنظام التشغيل Windows: قم بفتح موجه الأوامر (Command Prompt). اكتب الأمر التالي واضغط على pip install tk لنظام التشغيل macOS: قم بفتح محطة الأوامر (Terminal). اكتب الأمر التالي واضغط على pip3 install tk بعد تثبيت Tkinter بنجاح، يجب أن تتمكن من استخدامها في برنامج Python الخاص بك بدون مشاكل.
  8. مرحبا مازن، elif و else و if هي جمل تحكم في لغة البرمجة، مثل Python وغيرها من اللغات الشائعة. تستخدم هذه الجمل لتنفيذ شروط مختلفة واتخاذ إجراءات مختلفة وفقًا لتلك الشروط. إليك شرح لكل منها: if: يُستخدم لاختبار شرط محدد. إذا تم تحقيق الشرط، يتم تنفيذ الكود الموجود داخل الجملة if. إذا لم يتم تحقيق الشرط، يتم تجاهل الكود داخل الجملة if ويتم متابعة تنفيذ الكود الباقي. elif: يُستخدم عندما ترغب في اختبار شروط متعددة بعد جملة if الأولى. إذا لم يتم تحقيق شرط الجملة if الأولى، يتم التحقق من الشرط الخاص بجملة elif. إذا تم تحقيق هذا الشرط، يتم تنفيذ الكود الموجود داخل الجملة elif. يمكنك استخدام عدة جمل elif إذا كان لديك شروط متعددة تحتاج إلى اختبارها. else: يستخدم بعد الجملة if الأخيرة أو بعد جملة elif الأخيرة. لا تحتاج إلى تحديد شرط في جملة else. إذا لم يتم تحقيق أي شرط سابق، فسيتم تنفيذ الكود الموجود داخل الجملة else. تعمل جملة else كبديل للجملة elif الأخيرة، وهي تعبر عن "إذا لم يتم تحقيق أي شرط سابق، افعل هذا". هنا مثال بسيط يوضح كيفية استخدام هذه الجمل: x = 5 if x > 10: print("x أكبر من 10") elif x > 5: print("x أكبر من 5 ولكن ليس أكبر من 10") else: print("x أقل من أو يساوي 5") في هذا المثال، سيتم طباعة "x أقل من أو يساوي 5" لأن قيمة x تساوي 5 ولا تتحقق أي من الشروط الأخرى. يمكنك التعرف أكثر على الجمل الشرطية من المقالة: إذا كان هذا السؤال خاص بدورة من دورات أكاديمية حسوب يرجى السؤال تحت فيديو الدرس. بالتوفيق.
  9. مرحبا سعد، ASP.NET Core هو إطار عمل (Framework) مفتوح المصدر لتطوير تطبيقات الويب، والذي تم تطويره بواسطة شركة Microsoft. يُستخدم ASP.NET Core لبناء تطبيقات الويب عبر منصات متعددة، ويدعم العمل على أنظمة التشغيل المختلفة مثل Windows وLinux و macOS. يوفر ASP.NET Core ميزات قوية ومرنة لتطوير تطبيقات الويب، مما يجعلها مناسبة لمختلف الاحتياجات والمشاريع. يستخدم لغة البرمجة C# كلغة رئيسية في تطوير تطبيقات ASP.NET Core، حيث تعتبر C# لغة برمجة قوية وشائعة تستخدم في تطوير تطبيقات Microsoft. تتميز ASP.NET Core بالعديد من الفوائد، بما في ذلك: قابلية التوسع: يسمح ASP.NET Core ببناء تطبيقات الويب ذات الأداء العالي والقابلية للتوسع، مع إمكانية التعامل مع حمولات مرتفعة وتحمل التطبيقات الكبيرة. المرونة في النشر: يتيح ASP.NET Core نشر تطبيقات الويب على العديد من الأنظمة والمنصات، بما في ذلك الخوادم العادية وخوادم السحابة (Cloud) مثل Microsoft Azure و AWS و Google Cloud Platform. أمان المعلومات: يقدم ASP.NET Core مجموعة من الأدوات والخصائص التي تساعد في تأمين التطبيقات، مثل توفير الحماية ضد هجمات Cross-Site Scripting (XSS) و Cross-Site Request Forgery (CSRF) وغيرها من التهديدات الأمنية. دعم الويب الحديث: يدعم ASP.NET Core تقنيات الويب الحديثة مثل واجهة برمجة التطبيقات (APIs) والواجهة الأمامية (Front-end)، ويتكامل بشكل سلس مع إطار العمل JavaScript الشائع مثل React و Angular و Vue.js. باختصار، يُعد ASP.NET Core إطار عمل فعال وقوي لتطوير تطبيقات الويب باستخدام لغة البرمجة C#، ويوفر العديد من المزايا التي تجعله خيارًا جيدًا للمطورين في بناء تطبيقات الويب عبر منصات مختلفة. يمكنك الإستفادة من مجموعة من المقالات حول ASP.NET موجودة في الأكاديمية تجدها عبر هذا الرابط. بالتوفيق.
  10. عليكم السلام ورحمة الله وبركاته مرحبا ماجد، يرجى وضع السؤال الذي يتعلق بدورة من دورات الأكاديمية أسفل الفيديو الخاص به وسوف يقوم المدربون بالإجابة عليه ومساعدتك في أي مشكلة تقع فيها. بالتوفيق.
  11. مرحبا أحمد، أنا أفهم تمامًا ما تشعر به. ظهور تكنولوجيا مثل ChatGPT قد أثارت بعض التساؤلات والمخاوف بشأن مستقبل مهنة البرمجة. ومع ذلك، هناك بعض النقاط التي يجب أن تأخذها في الاعتبار: البرمجة لا تقتصر على كتابة الشفرات: على الرغم من أن الذكاء الاصطناعي يتطور ويستطيع أداء بعض المهام المبرمجة، إلا أن هناك العديد من جوانب المطورين التي يجب أن يتحملوها. يشمل ذلك التفكير التحليلي، تصميم النظام، فهم الاحتياجات والتواصل مع العملاء، واكتشاف الأخطاء وإصلاحها، وتحسين الأداء، والعمل في فرق وتعاون مع الآخرين. فالبرمجة تشمل جوانب إبداعية ومنهجية تفوق قدرات الذكاء الاصطناعي. الذكاء الاصطناعي يحتاج إلى المبرمجين: على الرغم من أن الذكاء الاصطناعي يمكن أن يكون قويًا في بعض المهام، إلا أنه لا يمكنه أن يستبدل البرمجيات والتطبيقات الخاصة التي تحتاج إلى تطوير وصيانة مستمرة. المبرمجين لا يقومون فقط بكتابة الشفرات، بل هم الأشخاص الذين يفهمون المشكلة ويجدون الحلول الأمثل باستخدام تقنيات الذكاء الاصطناعي وغيرها. الابتكار والتطور الدائم: مع تقدم التكنولوجيا وظهور الذكاء الاصطناعي، تتغير متطلبات البرمجة وتتطور المجالات المتخصصة. بدلاً من الاحباط، يمكن أن تكون هذه التكنولوجيا فرصة لتعزيز مهاراتك وتوسيع قدراتك في مجالات أخرى مثل تطوير نماذج الذكاء الاصطناعي والتعلم الآلي، وتحسين الأداء وتحليل البيانات. التركيز على القيمة المضافة: بدلاً من التنازل للإحباط، حاول التركيز على القيمة المضافة التي تقدمها لعملائك أو مجتمعك. فالتقنية مجرد أداة، وإبداعك ورؤيتك كمطور لا يمكن أن يستبدلها أي شيء آخر. في النهاية، الذكاء الاصطناعي يعتبر أداة قوية تعزز إمكانات المبرمجين وتفتح أفاقًا جديدة في مجال البرمجة وتطوير البرامج. لذا، لا تدع الاحباط يؤثر في عزيمتك، واستغل هذه التقنيات لتعزيز قدراتك ومهاراتك في مجال البرمجة. يمكنك الإطلاع أيضا على المناقشات التالية: بالتوفيق.
  12. عليكم السلام ورحمة الله وبركاته، مرحبا أمل، يمكنك التواصل مع مركز مساعدة أكاديمية حسوب وشرح جميع التفاصيل ليتم إرشادك لطريقة الدفع المناسبة في حالتك. بالتوفيق
  13. عليكم السلام ورحمة الله وبركاته مرحبا علي، عليك باتباع هذه الخطوات لحل هذا التمرين: ابدأ بتعريف المتغير النصي (string) الأصلي الذي تملكه. قم بتحويل النص إلى قائمة (list) من الأحرف لتتمكن من الوصول إلى كل رقم بشكل منفصل. قم بالمرور عبر كل رقم في القائمة واستبدل الأرقام التي أقل من 5 بالرقم 0 والأرقام 5 وما فوق بالرقم 1. قم بتجميع الأحرف المحدثة في قائمة جديدة. قم بتحويل القائمة الجديدة إلى سلسلة (string) باستخدام دالة join(). أرجع السلسلة النهائية. في حالة عدم معرفتك طريقة كتابة الشيفرة عليك بمشاركة محاولتك وسوف نقوم بتوجيهك ومساعدتك. بالتوفيق.
  14. مرحبا علي، نحن لا نقوم بحل التمارين الخاصة بكم ولكن نقوم بتوجيهكم ومساعدتكم في حلها وتصحيح الأخطاء إن وجدت. إليك بعض الخطوات لحل التمرين: قبل البدء في حل التمرين، تأكد من أن الأعداد n و m هما عددين طبيعيين (أي أنهما عددين صحيحين موجبين). قم بإنشاء متغير لتخزين مجموع المضاعفات، وقم بتعيين قيمته الأولية إلى صفر. سنقوم بتحديث هذا المتغير خلال الحل. قم بإجراء حلقة (loop) تتراوح من 1 إلى (m-1)، وقم بالتحقق في كل مرة مما إذا كان العدد مضاعفًا للعدد n. في كل مرة تجد فيها عددًا مضاعفًا لـ n، قم بإضافته إلى قيمة المتغير الذي قمت بإنشائه في الخطوة السابقة. بعد الانتهاء من الحلقة، يحتوي المتغير على مجموع جميع المضاعفات. قم بإرجاع قيمة المتغير كنتيجة للتمرين. في حالة وجود أي قيمة غير صحيحة للعددين n و m (مثل قيمة سالبة لـ m)، قم بإرجاع "INVALID". أتمنى أن تكون الخطوات والشرح واضحين! في حالة وجود أي استفسار إضافي، فلا تتردد في طرحه.
  15. مرحبا Bmh Bmw، إذا كان هذا السؤال خاص بدورة من الدورات التي أنت مشترك فيها فالرجاء كتابته أسفل الفيديو الخاص بالدرس. شكرا لك.
×
×
  • أضف...