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

Mustafa Suleiman

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

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

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

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

    475

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

  1. لم تذكر ما الداعي لفعل ذلك، حيث أنّ IIS يعمل على نظام ويندوز فقط لكونه من تطوير مايكروسوفت. عامًة، لا مشكلة في استخدام IIS بدلاً من XAMPP لتشغيل تطبيقات PHP، فكل من IIS و XAMPP خادمان ويب يمكنهما تشغيل تطبيقات PHP. لكن XAMPP هو حزمة خادم ويب مجانية ومفتوحة المصدر تحتوي على Apache و MySQL و PHP و Perl و متاحة لأنظمة Windows و macOS و Linux. والعمل على IIS ليس بالسهل وستحتاج إلى خبرة ودراية به على عكس XAMPP. وربما تحتاج إلى إجراء بعض التعديلات على كود PHP لديك في حال كنت تستخدم ميزات أو امتدادات خاصة بالخادم والتي قد لا تكون متوفرة على كلا الخادمين، بمعنى لو تستخدم وحدات أو دوال خاصة بـ Apache، فستحتاج إلى تعديل كودك لاستخدام بدائل متوافقة مع IIS. أيضًا ملفات .htaccess في Apache، ستحتاج إلى تحويلها إلى قواعد URL Rewrite في IIS.
  2. الحل صحيح، تستطيع تحسينه بتجنب طباعة فاصلة زائدة في النهاية، الفكرة هي التأكد من أن الفاصلة تُطبع فقط بين الأرقام وليس بعد آخر رقم في السلسلة. for (int i = 1; i <= 100; i++) { if (i % 5 != 0) { if (i > 1 && (i - 1) % 5 != 0) { Console.Write(","); } Console.Write(i); } } استخدمت شرطًا إضافيًا داخل الحلقة للتحقق في حال كان الرقم الحالي ليس الأول في السلسلة (i > 1) وأن الرقم السابق لم يكن مضاعفًا للـ 5 ((i - 1) % 5 != 0). بالتالي طباعة الفاصلة فقط بين الأرقام التي ليست مضاعفات للـ 5، وتجنب الفاصلة الزائدة في النهاية. وللعلم يوجد حل آخر باستخدام قائمة لتخزين النتائج، فبدلاً من التحقق داخل الحلقة، باستطاعتك استخدام قائمة لتخزين الأرقام ومن ثم طباعة الأرقام مرة واحدة بفاصلة بين كل رقم: using System; using System.Collections.Generic; class Program { static void Main() { List<int> numbers = new List<int>(); for (int i = 1; i <= 100; i++) { if (i % 5 != 0) { numbers.Add(i); } } Console.WriteLine(string.Join(",", numbers)); } }
  3. السؤال غير واضح، ما المقصود؟ هل تقصد إلغاء خاصية منع نسخ النص من موقع معين؟ هناك إضافات للمتصفح تسمح لك بذلك. عامًة لو تقصد إزالة حماية النسخ (مثل تعطيل النقر بزر الماوس الأيمن ومنع سحب الصور) وتريد فعل ذلك بنفسك، فستحتاج إلى كود JavaScript لتعطيل بعض وظائف المتصفح التي تقوم بحماية المحتوى، ولكن يرجى ملاحظة أن تلك الممارسات غير قانونية أو غير أخلاقية إن كنت تحاول تجاوز حقوق الطبع والنشر أو الحماية التي وضعها مالك الموقع.
  4. في الأكاديمية لا يتوفر ذلك،. وعامًة MQL5 (MetaQuotes Language 5) عبارة عن لغة برمجة مخصصة لتطوير الأدوات والبرامج المستخدمة في منصة التداول MetaTrader 5 (MT5) كما ذكرت. والتي تُستخدم بشكل واسع في أسواق المال لتداول العملات الأجنبية (فوركس)، الأسهم، العقود الآجلة، وعقود الفروقات (CFDs). ستجد على اليوتيوب شرح للنسخة Mql4 بالعربية، لكن MQL5 ستجد شرح بالإنجليزية.
  5. جيد جدًا، نقوم أيضًا استخدام TryParse بدلاً من Parse لتجنب حدوث استثناءات في حالة إدخال قيم غير صحيحة. using System; class Program { static void Main() { Console.WriteLine("Please enter a positive integer:"); if (!int.TryParse(Console.ReadLine(), out int n) || n <= 0) { Console.WriteLine("Invalid input. Please enter a positive integer greater than 0."); return; } CalculateAndPrintFactorial(n); } static void CalculateAndPrintFactorial(int n) { int sum = 1; for (int i = 1; i <= n; i++) { sum *= i; Console.WriteLine(sum); } } } إن أدخل المستخدم قيمة أقل من أو تساوي 0، يتم عرض رسالة "n must be > 0" ويتم إنهاء التطبيق باستخدام return. و int.TryParse يحاول تحويل الإدخال إلى عدد صحيح، وفي حال فشل التحويل، يعود false ويتجنب حدوث استثناء. إن كانت القيمة المدخلة أكبر من 0، يتم تنفيذ الحلقة التكرارية لحساب وعرض القيم المتتابعة للمتغير sum.
  6. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس لمساعدتك بشكل أفضل. مع إرفاق مجلد المشروع بعد ضغطه لتفقده.
  7. تقصد الصورة في معرض الأعمال أم الصورة الشخصية؟ عامًة الصورة الشخصية تستطيع تعديلها من خلال الرابط التالي: https://accounts.hsoub.com/settings?service=11
  8. مايكروسوفت إكسل أحد البرامج التي لا غنى عنها لأي شخص يتعامل مع الحاسوب، فمهما كانت اهتمامتك ستحتاج إليه في وقت من الأوقات. لكن في حالك أنت كونك مهندس برمجيات، فلن تحقق استفادة منه إلا إن كنت تتعامل مع البيانات في مشروع معين مثلاً. لكن للاستخدام الشخصي فهو جيد جدًا كما ذكرت، تستطيع تنظيم أمور حياتك من خلال ملف معين وتخصيصه حسب الأمور التي تريد متابعتها وتنظيمها، وحتى في عملك ستحتاج أحيانًا إلى التعامل مع ملفات Excel. تفقد الموقع التالي وستجد الكثير من القوالب المفيدة: https://www.vertex42.com
  9. هناك وجهات نظر مختلفة، لكن في رأي الاستيعاب والحفظ مهمان في بداية التعلم، فالاستيعاب وحده لا يكفي، والتطبيق العملي يقوم بتثبيت ذلك الاستيعاب والحفظ بنسبة أكبر، وبعد ذلك لو نسيت بعض الأمور لا مشكلة وليس جميعها بالطبع، ومع التكرار ستترسخ لديك الأمور التي أنت بحاجة بشكل متكرر في المشاريع. وباقي الأمور تستطيع البحث عنها واسترجاعها لكونك قد استوعبتها من قبل وتستطيع استخدامها بدون مشكلة، والجميع كذلك. النقطة المحورية هي التطبيق العملي بمفردك، فلا يكفي التطبيق وراء الشرح فقط، وذلك أمر يتكاسل عنه الغالبية رغم أن الفائدة تكمن به. ستجد هنا تفصيل أرجو قراءته:
  10. صحيح، من أشهر الخوارزميات المستخدمة في التجميع Clustering نظرًا لبساطتها وسرعتها في التنفيذ، ولا يعني هذا بالضرورة أنها الأفضل في جميع الحالات، فهناك العديد من الخوارزميات الأخرى التي تكون أكثر فعالية حسب طبيعة البيانات والمشكلة التي تحاول حلها. مثلاً DBSCAN (Density-Based Spatial Clustering of Applications with Noise) تعتمد الخوارزمية على الكثافة ولا تتطلب تحديد عدد المجموعات مسبقًا، كما أنها قادرة على التعامل مع الضوضاء والعثور على المجموعات ذات الأشكال غير المنتظمة. ولديك أيضًا Hierarchical Clustering التجميع الهرمي، مفيد في الحالات التي ترغب فيها ببناء شجرة تراتبية من المجموعات، وتوجد أشكال مختلفة من التجميع الهرمي مثل التجميع المتراكم Agglomerative والتجميع التقسيمي Divisive. بجانب Gaussian Mixture Models (GMM) وتلك الخوارزمية تعتمد على النماذج الإحصائية وتستخدم لتقدير التوزيعات المختلفة في البيانات، وهي أكثر مرونة من K-Means في التعامل مع مجموعات البيانات التي تمتلك أشكالًا وتوزيعات مختلفة. بالإضافة إلى Spectral Clustering التي تستخدم لتحليل القيم الذاتية لمصفوفة التشابه لإنشاء مجموعات، وفعالة في اكتشاف المجموعات المعقدة في البيانات. أخيرًا خوارزمية Mean Shift التي تعتمد على تقدير الكثافة لتحديد مراكز المجموعات، ولا تتطلب تحديد عدد المجموعات مقدما.
  11. لن يتم السؤال في كل الأمور النظرية، مع التركيز بشكل أكبر على الجانب العملي والأمور النظرية الهامة بالنسبة للجانب العملي. أيضًا السؤال حول التطبيقات العملية التي قمت بها ومدى استيعابك، بعد ذلك سيتم تحديد مشروع عملي لك لتنفيذه كمشروع تخرج.
  12. هل تم إخبارك بسبب للرفض؟ أيضًا هل المحتوى أصلي وبجودة جيدة؟ يمكنك طرح المدونة هنا لتفقدها.
  13. أتفهم الظروف في دولة اليمن، لكن مجال البرمجة له طابع خاص، وهو أن الشهادة ليس لها وزن بشكل كبير، نعم هي دلالة على أنه الشخص اجتاز محتوى تعليمي معين ولديه مهارات معينة، لكن ليس بالضرورة أن ذلك صحيح. لذا يتم الإهتمام بالمهارات الفعلية وليس الشهادة، أي ما أنت قادر على تقديمه وتنفيذه في الواقع العملي وإثباته من خلال معرض أعمالك. في الأكاديمية لا يوجد ماجستير فقط شهادة إعتماد على إتمام الدورة وليس حضورها أي يتم منحها لن اجتاز الدورة بالفعل واستوعبها وأتم التطبيقات العملية.
  14. بخصوص ذلك، أرجو التحدث لمركز المساعدة، فالأمور المالية أو تبديل الدورات يتم من خلاله. وفي حال هناك أمر تودي الاستفسار عنه أرجو طرحه.
  15. السن مناسب لا مشكلة، فالحد الأدنى هو ما بين 8 إلى 11 سنة، لكن دورة جافاسكريبت دورة متقدمة بعض الشيء، ستحتاج أولاً إلى دراسة دورة علوم الحاسوب. وكحل وسط، تستطيع تعلم أساسيات البرمجة من خلال سكراتش من أي مصدر، ثم الإشتراك بدورة جافاسكريبت هنا بالأكاديمية. ستجد تفصيل هنا:
  16. بالطبع، لكن هناك أمر يجب توضيحه، علوم الحاسوب ليس الهدف منها تعلم مجال معين، بل التأسيس لمجال البرمجة بشكل عام بيحث تقف على أرض صلبة وتتفهم المفاهيم البرمجية وأساسيتها، والمجالات المختلفة للبرمجة وآلية عمل التقنيات وما الفائدة منها وتاريخها وهكذا. بحيث يتكون لديك مهارة التفكير المنطقي والقدرة على إتخاذ القرارات البرمجية على وعي. حيث ستتعلم التالي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب ما سبق سيفيدك بلا شك في أي مجال برمجي تختاره بعد ذلك، وبدونه ستواجه صعوبة في تفهم ما يحدث ويزداد الأمر صعوبة كلما ازدادت صعوبة المجال، فمجال الألعاب من المجالات الصعبة والتي بحاجة إلى مجهود أكبر وتأسيس جيد بالبرمجة. المقال التالي سيفيدك:
  17. للتوضيح، ملف web.php هو لتعريف مسارات الويب العادية التي تتعامل مع الطلبات التي تأتي من المتصفحات، وتلك المسارات في العادة نستخدمها لتقديم صفحات HTML، وتعتمد على الجلسات sessions وحماية CSRF. بينما ملف api.php الغرض منه تعريف مسارات واجهات برمجة التطبيقات APIs التي تتعامل مع الطلبات التي تأتي من تطبيقات العملاء أو الخدمات الأخرى وليس من المتصفحات بشكل مباشر، وذلك لإرجاع البيانات بصيغة JSON ولا تعتمد على الجلسات وحماية CSRF. ومسارات الـ API تلك عديمة الحالة stateless، بمعنى أن كل طلب يتم معالجته بشكل مستقل عن الطلبات الأخرى، ولا يتم الاحتفاظ بأي معلومات عن المستخدم أو الطلب بين الطلبات المختلفة، فكل طلب يحتوي على جميع المعلومات اللازمة لمعالجته. ومن ضمن وظائف الـ API توفير وظائف أو بيانات معينة لتطبيقات أو خدمات خارجية، مثلاً يستطيع تطبيق التجارة الإلكترونية أن يوفر واجهة API للسماح لتطبيقات الجوال بالوصول إلى قائمة المنتجات، معالجة الطلبات، وما إلى ذلك.
  18. بالضبط، به تستطيع تعريف مسارات الويب التي تتعامل مع مختلف أنواع الطلبات HTTP مثل GET, POST, PUT, DELETE، وغيرها، فكل مسار يشير إلى وحدة تحكم Controller لمعالجة الطلب أو إلى دالة مغلقة Closure. للتوضيح: <?php use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('welcome'); }); Route::post('/submit', 'FormController@submit'); أيضًا المسارات المحددة في web.php تُطبق عليها وسيط (Middleware) web بشكل افتراضي، والذي يتعامل مع الجلسات sessions وملفات تعريف الارتباط cookies، بالتالي هي مناسبة للصفحات التي تحتاج إلى تتبع حالة المستخدم، مثل صفحات تسجيل الدخول، سلال التسوق، إلخ.
  19. بنفس الكيفية، نقوم بتحديد العمود amount ثم نقوم بخصم النسبة ووضع المعادلة في عمود total كالتالي: =A:A * 1.01 ضع ما سبق في عمود total وانسخ المعادلة لبقية الخلايا، لكن قم بتغيير A:A إلى اسم العمود الخاص بـ Amount مثلاً D:D
  20. ما تريده هو تحديد النسبة المئوية في عمود commission تلقائيًا عند إدخال قيمة في عمود amount، في عمود commission، اكتب التالي: =B:B*0.01 هنا افترضت أن عمود amount في عمود B ضع ما سبق في عمود commission وانسخ المعادلة في جميع الحقول الخاصة بالعمود وسيتم حساب نسبة مئوية 1% نفس الأمر يتم من خلال المعادلة السابقة. ستحتاج إلى استخدام معادلة مثل التالي: =A1-B1 عليك بالطبع تعديل أسماء الخلية في المعادلة ليتم الخصم بشكل صحيح، حيث A1 تعني الخلية الأولى في عمود A وهكذا. ضع المعادلة السابقة في الخانة رقم 3 التي تود أن تظهر بها نتيجة الخصم.
  21. صحيح ستجدها بشكل واسع في معادلات الانحدار Regression في مجال الإحصاء وتحليل البيانات، خاصة في الانحدار الخطي المتعدد Multiple Linear Regression. في نموذج الانحدار الخطي البسيط، العلاقة بين المتغيرات تُكتب على شكل معادلة: [ y = \beta_0 + \beta_1 x + \epsilon ] للتوضيح: ( y ) هو المتغير التابع. ( x ) هو المتغير المستقل. ( \beta_0 ) هو التقاطع (الجزء الثابت). ( \beta_1 ) هو معامل الانحدار (الوزن). ( \epsilon ) هو الخطأ العشوائي. في حالة الانحدار الخطي المتعدد، تستطيع كتابة النموذج بشكل مصفوفة كالتالي: [ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \mathbf{\epsilon} ] حيث (\mathbf{Y}) هي متجه القيم التابعة و (\mathbf{X}) هي مصفوفة القيم المستقلة (كل صف يمثل متغير مستقل وكل عمود يمثل عينة). (\boldsymbol{\beta}) هي متجه المعاملات و (\mathbf{\epsilon}) هي متجه الأخطاء العشوائية. من خلال تلك الصيغة المصفوفية، باستطاعتك استخدام العديد من التقنيات الجبرية مثل الجبر الخطي للحصول على حلول فعّالة وسريعة للمعادلات، مثل طريقة المربعات الصغرى العادية Ordinary Least Squares التي تُستخدم لتقدير المعاملات (\boldsymbol{\beta}) كالتالي: [ \boldsymbol{\beta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y} ] تلك الطريقة تعتمد على عمليات مصفوفية مثل الضرب، النقل، والعكس.
  22. هل يتم غلق الشاشة ثم تعمل مرة أخرى؟ أم لا تعمل نهائيًا؟ ففي حال كان اللابتوب لديك حديث وبه شاشة ذات معدل تحديث مرتفع مثل 120 فيتم خفض ذلك المعدل عند العمل على البطارية ثم تفعيله عند وضع الشاحن من أجل خفض معدل الاستهلاك للطاقة. في حال لا تعمل بشكل نهائي، فعليك تعطيل تلك الخاصية أي خاصية التنقل بين معدل التحديث. قم بقراءة التالي:
  23. الإعداد الخاص بها ليس سهل. ما هو الخطأ الذي يظهر لك؟
  24. نعتذر لك عن أية مشكلة واجهتك في الدورة، في حال كنت تريد مساعدة بأي شيء أو شرح شيء غير واضح لك فأرجو طرح سؤالك وسيتم مساعدتك من قبل الجميع. والأمر بحاجة إلى وقت وصبر من أجل تعلم المفاهيم البرمجية والأمر يختلف من شخص لآخر حسب خبراته وخلفيته السابقة، لذا من الأفضل أن تعطي نفسك بعض الوقت فالغالبية يتوقف عند تلك النقطة عند تعلم البرمجة. في حال تريد استرجاع قيمة الدورة عليك التحدث لمركز المساعدة الخاص بأكاديمية حسوب ثم إخبارهم بذلك وسيتم الرد عليك، لكن أرجو الإنتظار لبعض الوقت. وبخصوص الدورة يمكنك الاستفسار عن أي شيء تريده أسفل دروس الدورة في التعليقات وسيتم شرحها لك بالتفصيل، أو يمكنك استبدال الدورة بدورة أخرى إذا أردت ذلك أيضًا.
  25. في حال كان لديك إضافة adblock فغالبًا ذلك سبب المشكلة، استخدم uBlock Origin فتلك الإضافة لا تسبب مشكلة. ثم إعادة تحديث الصفحة بالضغط على CTRL + F5 من أجل حذف الملفات المؤقتة. إن استمرت أرجو تجربة تحميل وتثبيت Cloudflare WARP فهو بمثابة طبقة وسيطة مثل الـ VPN من خلال شبكة Cloudflare وبعد التثبيت قم بتشغيل التطبيق بالضغط على زر الإتصال مباشرًة وتفقد الدروس مرة أخرى. https://install.appcenter.ms/orgs/cloudflare/apps/1.1.1.1-windows-1/distribution_groups/release وذلك لتفقد هل يوجد مشكلة بالإنترنت أم لا.
×
×
  • أضف...