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

Mustafa Suleiman

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

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

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

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

    264

كل منشورات العضو Mustafa Suleiman

  1. صحيح، فالدورة متاحة لك مدى الحياة، ويتم تطوير الدورات بالأكاديمية كل فترة لمواكبة التطورات المستمرة في مجال البرمجة، وعامًة يمكنك الرجوع للمحتوى القديم للدورة في مسار الأرشيف بالدورة إذا أردت تفقده، لكن أنصحك بمتابعة المحتوى الجديد من البداية.
  2. الفكرة هي أن البرمجة الديناميكية تعتمد على مبدأ تكسير المشكلة إلى مشكلات فرعية أصغر، وحلّ تلك المشكلات بشكل متكرر، وتخزين الحلول للاستفادة منها في حلّ المشكلة الأصلية. بالتالي تُحسّن البرمجة الديناميكية من كفاءة الخوارزميات من خلال تقليل الوقت والمساحة اللازمين لحلّ المشكلة، والحصول على الحل الأمثل للمشكلة، وبإمكانك تطبيق البرمجة الديناميكية على مجموعة واسعة من المشكلات ذات البنية المتكررة. إذا لو المشكلة بسيطة ويمكن حلّها بسهولة باستخدام خوارزميات أخرى أكثر كفاءة، فلا داعي لاستخدام البرمجة الديناميكية، أيضًا لا تُعدّ البرمجة الديناميكية فعالة لحلّ المشكلات التي لا تتبع بنية مثالية أو متكررة، لأنه يصعب تطبيق البرمجة الديناميكية على مشكلات تتضمن قيودًا معقدة أو تعتمد على عوامل عشوائية. بجانب أنها غير مناسبة في حال كانت الموارد (مثل الذاكرة أو وقت المعالجة) محدودة.
  3. ما تريده هو العمل الحر كمدخل بيانات Data entry، لكن يجب إمتلاك مهارات في ذلك المجال وهي القدرة على التعامل الجيد مع برامج مايكروسوفت وتعديل الملفات وتخصيصها، وبالأخص برامج Excel, Word, PowerPoint. بعد ذلك تتجه لمواقع العمل الحر مثل مستقل وخمسات وطرح نماذج من أعمالك على تلك البرامج وما هي الخدمات التي تستطيع تقديمها، وتقديم العروض على المشاريع المعروضة.
  4. بالفعل الأمر غير متوفر بالـ API، سيتعين عليك القيام بذلك بنفسك من خلال تحويل الوقت، ولحسن الحظ يوجد دالة مضمنة في اللغة توفر لك ما تريد وهي toLocaleTimeString. وإليك مثال: function convertTime(timeString) { const time = new Date('1970-01-01T' + timeString + 'Z'); const options = { timeZone: 'UTC', hour12: true, hour: 'numeric', minute: 'numeric' }; return time.toLocaleTimeString('en-US', options); } let convertedTime = convertTime("16:28:00") document.getElementById('myTime').innerText = convertedTime html: <h1 id='myTime'></h1> قم باستخدام الدالة وتمرير الوقت إليها وسيتم تحويله، وتستطيع تحويل جميع الأوقات دفعة واحدة قبل استخدامها من خلال تمرير كائن أوقات الصلاة timings ومعالجته في الدالة.
  5. كل ما يتعلق بالإختبار والشهادة يتم من خلال مركز المساعدة، ولا تقلق بخصوص الرد أحيانًا يوجد ضغط، سيتم الرد عليك ونعم ستتلقى رسالة على البريد تفيد بالرد على رسالتك، أو يمكنك تفقد المحادثة الخاصة بك وستجد الرد. وإن احتجت إلى أي شيء تستطيع الاستفسار عنه بطرح الأسئلة في قسم أسئلة البرمجة إن كان عام، أو أسفل فيديو الدورة إن كان متعلق بالدورة.
  6. ما هو الـ API الذي تستخدمه؟ بالتأكيد يوجد إعداد من أجل عرض الوقت بنظام 12 وليس 24.
  7. بغض النظر عن أنّ الأمر غير مسموح به والدورة من حقك أنت فقط، لكن أنت على خير عظيم ما دمت تتحرى الحلال من الحرام وفقك الله لما فيه الخير إن شاء الله.
  8. المطلوب غير واضح، لكن إحدى الطرق هي بالإعتماد على حلقة foreach مع متغير مساعد لتتبع البيانات التي تم تكرارها مسبقًا، كالتالي: $data = array("أحمد", "علي", "محمد", "أحمد", "فاطمة"); $seen = array(); foreach ($data as $item) { if (!in_array($item, $seen)) { echo $item . "<br>"; $seen[] = $item; } } أو استخدام دالة array_unique() لإنشاء مصفوفة جديدة تحتوي فقط على العناصر الفريدة في المصفوفة الأصلية: $data = array("أحمد", "علي", "محمد", "أحمد", "فاطمة"); $uniqueData = array_unique($data); foreach ($uniqueData as $item) { echo $item . "<br>"; }
  9. تلك مجموعة من أدوات JavaScript خفيفة الوزن مصممة لتحسين تجربة المستخدم في تطبيقات Ruby on Rails، ويوفر Hotwire مجموعة من الميزات التي تجعل من السهل إنشاء تطبيقات سريعة الاستجابة وديناميكية باستخدام أداة Turbo، بالتالي تحميل صفحات الويب الجديدة دون إعادة تحميل الصفحة بأكملها، مما يوفر تجربة مستخدم أكثر سلاسة وسريعة. وتطوير تطبيقات WebSockets باستخدام أداة Stimulus تستطيع أكواد JavaScript تفاعلية دون الحاجة إلى استخدام مكتبات إضافية. وإنشاء واجهات مستخدم سهلة الاستخدام من خلال أداة Turbolinks، وذلك بتحسين تحميل الصفحات وتقديم تجربة مستخدم أكثر سلاسة. المصادر هي المستند الذي تم تطويره بواسطة مجتمع المستخدمين Community-driven documentation: https://hotwire.io/documentation أو ابحث على اليوتيوب عن hotwired guide
  10. غير متوفر مُلخصات أو ترجمة أو ملفات نصية لمحتوى الدروس بالدورات، يمكنك الإعتماد على موسوعة حسوب كمرجع لك، أو الدروس والمقالات في أكاديمية حسوب. وإذا أردت ملخص للغة أو إطار معين أو مكتبة تستطيع البحث عن cheat sheet ثم اسم اللغة مثلاُ وليكن js إذا ستبحث عن cheat sheet for js وستجد ملخصات.
  11. مساحة (عرض) العنصر الأب صغيرة إذن، أو عرض المنتجات كبيرة على المساحة، لذا عليك تحديد مساحة الثلث لكل منتج من خلال التنسيق التالي للكلاس الخاص بالمنتجات: flex-basis: 33.3333% وهو إختصار للخواص التالية: flex-grow: 0 flex-shrink: 0 flex-basis: 33.3333%
  12. أرجو الإنتظار وسيتم الرد عليك من قبل مركز المساعدة في أقرب وقت، فقد تم إرسال مشكلتك إليهم، وسأعود إليك إن كان هناك أمر عليك فعله.
  13. بالنسبةللإلتزامات قصيرة الأجل، فيجب على الشركة سدادها خلال سنة واحدة أو دورة التشغيل العادية، وتشمل أمثلة ذلك الحسابات الدائنة، وأوراق الدفع، والقروض قصيرة الأجل، والمصروفات المستحقة. والالتزامات طويلة الأجل هي الالتزامات التي تستحق الدفع بعد سنة واحدة من تاريخ الميزانية العمومية، مثل القروض طويلة الأجل، والسندات، والالتزامات الاستئجارية. تُدرج الالتزامات قصيرة الأجل وطويلة الأجل في قسم الخصوم في الميزانية العمومية. وللحصول على القيمة الدفترية للالتزامات قصيرة الأجل، عليك جمع جميع المبالغ المدرجة في قسم الخصوم المتداولة، أما القيمة الدفترية للالتزامات طويلة الأجل قم جمع جميع المبالغ المدرجة في قسم الخصوم طويلة الأجل.
  14. عليكي استخدام flex box، ثم تعيين flex-wrap لكي يتم عرض المنتجات الباقية أسفل المنتجات الأخرى عندما لا توجد مساحة في العنصر الأب، أي يتم إزاحتها على سطر جديد. أي تعيين التالي للعنصر الأب الذي يحتوي المنتجات: .wrapper{ display: flex; flex-wrap: wrap; gap: 10px; } ثم وضع المنتجات بداخله، وكل منتج يجب أن يكون بداخل div منفصل.
  15. من خلال معامل or أو and حسب طبيعة الشروط، فمعامل or يتم تنفيذ الجملة الشرطية إن تحقق أحد الشروط الثلاث، بينما and يجب تحقق جميع الشروط. ففي جافاسكريبت سيكون الأمر كالتالي: function checkAdmission(mathGrade, scienceGrade, historyGrade) { const mathRequirement = 80; const scienceRequirement = 75; const historyRequirement = 70; if (mathGrade >= mathRequirement && scienceGrade >= scienceRequirement && historyGrade >= historyRequirement) { return "مؤهل للقبول في البرنامج"; } else { return "غير مؤهل للقبول في البرنامج"; } } console.log(checkAdmission(85, 80, 75)); console.log(checkAdmission(70, 80, 60)); أما إن كان بخصوص SQL سيفيدك التالي: المعاملات المنطقية في SQL
  16. هناك مشكلة بالخادم الخاص بـ flask بسبب خطأ 500، هل يظهر خطأ معين في التيرمنال (منفذ الأوامر) الخاص بالخادم؟ وهل الخادم يعمل بشكل صحيح؟ أي قبل إرسال البيانات هل يظهر خطأ معين أم يعمل بشكل سليم؟ أيضًا تأكدي من استيراد مكتبات Flask الصحيحة: from flask import Flask, request, jsonify وتعريف نقطة النهاية POST: @app.route("/save_data", methods=["POST"]) def save_data(): # ... ثم تحليل بيانات JSON من طلب POST: data = request.get_json() ثم التفاعل مع قاعدة البيانات لحفظ البيانات وإرجاع استجابة مناسبة: return jsonify({"message": "Data saved successfully"}) وتأكدي من أنكِ ترسلين طلب POST بدلاً من طلب GET.
  17. لديك برنامج WinRAR بالفعل وهو البرنامج المسؤول عن التعامل مع الملفات المضغوطة، لفك الضغط عن ملف نضغط عليك بزر الفأرة الأيمن ثم نختر extract here أو فك الضغط هنا ليتم فك ضغط الملف في نفس المكان. ما المشكلة التي تظهر لك؟
  18. بالطبع الطريقة الثانية، فمن الوهلة الأولى تستطيع معرفة وظيفة الكود وآلية عمله. هناك مقولة جيدة، وهي "من الصعب قراءة الكود ومن السهل كتابته". ففي الكود البسيط، الطريقة الأولى أفضل، لكن في المشاريع الحقيقية لكن يكون هناك كود بسيط وصغير، لذا المحافظة على كود قابل للقراءة وليس مختصر أفضل.
  19. المشكلة إذن في المنطق البرمجي، فلحساب النسبة المئوية عليك ضرب القيمة بالنسبة المئوية وقسمها على 100. double retailPrice = wholesalePrice * (wholesalePrice / 100));
  20. في البداية عليك تحديد هل تريد تشغيل المكتبة على معالج أم كرت الشاشة، وكرت الشاشة يجب أن يكون من نوع nvidia. لأنها تعتمد على CUDA، وهي منصة حوسبة متوازية تم تطويرها بواسطة NVIDIA ومصممة خصيصًا لمعالجات الرسومات (GPUs) من NVIDIA، لذلك لا يمكن تشغيل PyTorch بشكل فعال على كروت شاشة من شركات أخرى مثل AMD أو Intel. وكحل بديل، تتوفر بعض محاكيات CUDA مثل Google Colab و Kaggle Notebooks التي تسمح لك بتشغيل PyTorch على كروت شاشة غير NVIDIA، ولكن أداء تلك المحاكيات أبطأ بكثير من كروت شاشة NVIDIA. وبينما لا ينصح باستخدام CPU لتشغيل PyTorch، إلا أنه ممكن، وسيكون الأداء أبطأ بكثير مقارنة بكروت شاشة NVIDIA. لذا لتثبيت المكتبة على نظام ويندوز لتعمل على المعالج استخدم الأمر: pip3 install torch torchvision torchaudio ولتعمل على CUDA 11.8 استخدم: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 ولتعمل على CUDA 12.1 استخدم: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 وتستطيع استيراد المكتبة كالتالي: import torch بالطبع يجب أن تكون CUDA مثبتة على جهازك: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local وللعلم، PyTorch هي واجهة برمجة تطبيقات Python لمكتبة Torch أي مبنية عليها، وتم إنشاؤها بواسطة Facebook Research، وتم إصدار PyTorch لأول مرة في عام 2016، أي هي نسخة محسنة وبها مزايا أفضل وأسهل في التطوير.
  21. يجب فهم أمر هام وهو أنه عند كتابة المسارات في بايثون عليك استخدام forward slash وهو / بدلاً من back slash وهو \ وذلك لأنّ back slash \ يستخدم في البرمجة كحرف أو رمز هروب أو تخطي escape character أي يخبر لغة البرمجة أن تعامل ذلك الحرف كحرف عادي بدلاً من معناه الخاص. فمثلاً ستحصل على خطأ لو قمت باستخدام علامتين اقتباس مزدوجة في نفس النفس لكن من خلال عامل الهروب تستطيع ذلك كالتالي: txt = "We are the so-called \"Vikings\" from the north." وفي المثال لديك أنت لم تقم باستخدام حرف أو رمز الهروب، بل أردت استخدام \n وهو رمز يُستخدم لتمثيل السطر الجديد أو التنقل إلى سطر جديد في النص. print("Line 1\nLine 2") والناتج: Line 1 Line 2
  22. بالطبع لا، فتصميم البرمجيات Software Design عبارة عن عملية حل المشكلات والتخطيط لبرنامج حاسوبي بعد تحديد الغاية لبناء برنامج متماسك وفعّال. أي بشكل بسيط، عملية تحويل المتطلبات الخاصة بالعميل إلى خطوات عملية ومناسبة للمبرمجين ليعملوا على تطوير البرنامج. والغرض من التصميم البرمجي هو تحديد التالي: مكونات البرمجيات، بتقسيم البرنامج إلى وحدات قابلة لإعادة الاستخدام. الخوارزميات وتحديد الخطوات المنطقية لحل المشكلات. المعمارية وهيكل البرنامج العام، بما في ذلك كيفية تفاعل المكونات. واجهات المستخدم وتصميم كيفية تفاعل المستخدم مع البرنامج. قواعد البيانات وتصميم كيفية تخزين واسترجاع البيانات. ومع خبرة قليلة، تستطيع البدء بتصميم وتطوير مشاريع صغيرة أو التعاون مع مبرمج أكثر خبرة، ومع بضع سنوات من الخبرة، بإمكانك التعامل مع مشاريع أكثر تعقيدًا بشكل مستقل. مع خبرة واسعة، ستصبح قادر على إدارة مشاريع كبيرة وتولي مسؤوليات معمارية البرمجيات، ولكن التصميم البرمجي هو مسؤولية الفريق ككل وليس فرد واحد فقط. لكن عليك تعلم الأمر بشكل صحيح، فمثلاً الـ flow chart يعتبر جزء من الـ Software Design، ويوجد مباديء خاصة بالتصميم البرمجي يجب تعلمها، ابحث عن "تصميم البرمجيات" على اليوتيوب. وللعلم يوجد فرق بين الـ Architecture وSoftware Design.
  23. أولاً لا أنصحك بالعمل على Xampp فهي بيئة قديمة وبيئة تطوير لاراجون أفضل منها وأحدث، ويوجد أيضًا بيئة Laravel herd وهي أحدث من لاراجون. https://laragon.org/download/index.html https://herd.laravel.com/windows وإذا أردتي استخدام xampp، فكبداية لنقم بتجربة تثبيت الـ service الخاصة بـ mysql أولاً عليك تشغيل البرنامج كمسؤول: ثم ستجدي بجانب mysql علامة x اضغطي عليها ثم وافقي على التثبيت وستتحول العلامة إلى علامة صح كالتالي: حاول تشغيل mysql مرة أخرى، إن استمرت المشكلة، أرجو قراءة التالي:
  24. بالطبع يوجد مسابقة الأولمبياد العربي للذكاء الاصطناعي ، ويُنظم الأولمبياد من قبل الجمعية العربية للروبوت ومركز STEAM، ويهدف إلى اختبار مهارات الطلاب في مجالات مثل الرياضيات والخوارزميات والبرمجة وتحليل البيانات والنظام المضمن والأمن السيبراني. أيضًا البطولة الوطنية لمسابقات الذكاء الاصطناعي والروبوت في الإمارات، وتُقام برعاية منصور بن زايد، وتوفر منصة للشباب العربي للمنافسة في مختلف مجالات الذكاء الاصطناعي والروبوتات. ويوجد مسابقة تحدي الذكاء الاصطناعي التي تنظمها جامعة الملك سعود بن عبدالعزيز، وتهدف إلى تحفيز المطورين على ابتكار حلول ذكية للتحديات الواقعية. وهناك المسابقة العالمية للذكاء الاصطناعي للشباب (waicy)
  25. لاحظ صندوق أضف تعليق اضغط عليه وتسطيع كتابة التعليق أسفل الفيديو. أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس.
×
×
  • أضف...