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

Mustafa Suleiman

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

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

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

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

    384

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

  1. بل من الأفضل القيام بذلك، لكن ستحتاج إلى مكتبة مثل React أو إطار مثل Vue.js لفعل ذلك، مواقع الويب العادية ليست جيدة من حيث تجربة المستخدم واستخدام تلك التقنيات يحسنها بالتالي تحسين ترتيب موقعك في محرك البحث، لكن بالطبع يجب الإهتمام بجانب الـ SEO من خلال الإعتماد على SSR أي التصيير من جانب الخادم وليس العميل بالتالي سرعة أفضل وعدم استهلاك لموارد الجهاز الخاص بالزائر وتحسين الـ SEO لأن صفحة الويب تصبح جاهزة فور طلبها من الخادم وليس أكواد جافاسكريبت. بالطبع هناك مكونات ستحتاج إلى تصييرها rendering من جانب العميل وهي المكونات التفاعلية.
  2. عليك إذن تحديد المطلوب في سوق العمل لديك أي الوظائف المعروض تفقدها بالنسبة لمطور واجهة أمامية مثلاً front-end هل المطلوب react و next.js أم Angualr أو vue.js مثلاً؟ وهكذا بالنسبة للواجهة الخلفية back-end. في بداية حياتك العملية، سيتم إسناد مهام لك لتنفيذها، أي المشروع مٌقسم إلى أجزاء وكل شخص في الفريق مسؤول عن جزء معين وليس المشروع بأكمله وذلك في الشركات التي بها هيكلية لفريق العمل، أو حتى التطوير على مشروع قائمة بالفعل بإضافة ميزات أو حل مشكلات.
  3. بخصوص الإختبارات والأمور المالية أو مشكلة في حسابك، ستحتاج إلى التواصل مع مركز المساعدة وليس طرح السؤال في قسم أسئلة البرمجة.
  4. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. في حال كان السؤال عام، أرجو توضيحه هل تقصد تنفيذ إختصار emmet الذي يقوم بكتابة كود html جاهز مباشرًة؟ عامًة تقوم بكتابة علامة ! بالضغط على Shift وليس CTRL ثم زر رقم 1 بالكيبورد أثناء الضغط على shift ثم اضغط على Enter وستجد أن كود HTML الأساسي تم كتابته تلقائيًا.
  5. الفكرة من الإنحدار هو أنه يبحث عن علاقة خطية أو غير خطية بين المتغيرات المستقلة (مثل العمر، مؤشر كتلة الجسم، التاريخ العائلي، إلخ) والمتغير التابع (الإصابة بمرض السكري من عدمه). وتلك الخوارزمية سهلة الفهم والتفسير، تعمل بشكل جيد مع البيانات الخطية وأسرع في التدريب من الشبكات العصبية. لكن غير دقيقة مع البيانات المعقدة أو غير الخطية وتتطلب اختيار ميزات مناسبة بعناية. بينما الشبكات العصبية Neural Networks فتحاكي طريقة عمل الدماغ البشري، حيث تعالج المعلومات من خلال طبقات من العقد المترابطة. وقادرة على نمذجة العلاقات المعقدة وغير الخطية، لا تتطلب اختيار ميزات محددة مسبقًا، وتحقق دقة عالية في التنبؤ. لكن صعبة الفهم والتفسير، تتطلب بيانات تدريب كبيرة وتستغرق وقتًا أطول في التدريب من الانحدار. بالتالي تستطيع التقرير بناءًا على البيانات التالي لديك وعلى الميزات والعيوب التي ذكرتها، ومن الأفضل تجربة كلا النهجين ومقارنة أدائهما على بياناتك وقبل ذلك قم بتنظيف اليبانات ومعالجتها بشكل صحيح قبل استخدام أي من الطريقتين.
  6. اخترت المجال على أي أساس؟ أقصد تعلم جافاسكريبت والتقنيات الخاصة بها. فالغالبية تتسرع في اختيار ما تريد تعلمه بدون تفقد المهارات المطلوبة في سوق العمل الذي ينوي العمل به، مثلاً بعض التخصصات تتطلب أن يكون لديك سنة أو سنتان خبرة لكي يتم قبولك في الشركة وذلك تتحصله من العمل الحر مثلاً أو التدرب وإنشاء مشاريع قريبة من الواقع بحيث يصبح لديك الخبرة المطلوبة. وإن لم يكن متاح لك ذلك الوقت وتريد العمل في أقرب وقت، إذن عليك تفقد التخصصات التي تقبل مستوى Junior وذلك تتحصله بدراسة مسار برمجي وبناء مشاريع قريبة من الواقع العملي أي تصبح قادر على تنفيذ المشاريع. إذن تحتاج إلى تفقد مواقع التوظيف مثل LinkedIn و Indeed وتفقد ما المطلوب وما هي الخبرات المطلوبة وسنوات الخبرة، أو تفقد ما هي الوظائف المعروضة لمستوى Junior أو Entry Level. ولو تريد العمل على مواقع العمل الحر، تفقد ما نوعية المشاريع التي تُعرض على المنصة التي تنوي العمل بها وتعلم تلك المهارات.
  7. تحتاجين إلى إنهاء 4 مسارات على الأقل لدخول الإختبار، وسيتم إختبارك في تلك المسارات فقط، لكن أنصحك بإنهاء الدورة بالكامل فالشهادة بحد ذاتها ليست العامل الأهم بل مهاراتك. بالنسبة للمشاريع، نقوم بإنشاء مجلد للدورة وتقسيمه إلى مجلدات لكل مسار مجلد، بعد ذلك نضع التطبيقات العملية البسيطة في تلك المجلدات بشكل منظم ثم نقوم برفع المجلد بالكامل إلى مستودع على GitHub. أما بخصوص المشاريع العملية الكاملة أي تطبيق ويب كامل مثلاً فنقوم بإنشاء مجلد منفصل له ثم رفع الكود المصدري الخاص به بعد الإنتهاء على منصة GitHub في مستودع منفصل أي مستودع لكل مشروع. ثم بعد الإنتهاء من الدورة تقومين بمراسلة مركز المساعدة وتوفير روابط المشاريع على GitHub أي التطبيقات العملية ليتم مراجعتها، ثم تحديد موعد للإختبار.
  8. شعور طبيعي في البداية، خاصًة في حال عدم دراسة كورسات من قبل، في المجالات العملية التي تتطلب ممارسة، وبإختصار، لا يصح المشاهدة فقط والإكتفاء بالاستيعاب، بل يجب الاستيعاب ثم الحفظ ثم التطبيق العملي وبخصوص ذلك لا تكتفي بالتطبيق وراء المدرب، بل يجب التطبيق مرة أخرى بمفردك أو التوقف ثم التطبيق بمفردك اختاري الطريقة المناسبك لك. ستجدي تفصيل هنا بخصوص طريقة المذاكرة:
  9. ما ذكرته يدعم PHP استخدم InfinityFree
  10. أولاً 000webhost من الاستضافات السيئة جدًا، لا أنصحك باستخدامها، ما أنصحك به هو استخدام الاستضافة التالية: InfinityFree https://fly.io googiehost Byet.Host و لديك Vercel أيضًا لكن للمشاريع الصغيرة فقط فهي غير مهيئة لمشاريع PHP بشكل خاص.
  11. أرجو إرفاق مجلد المشروع بعد ضغطه، إن لم يتوافر لديك ستحتاج إلى دراسة أساسيات HTML و CSS
  12. ستحتاج إلى إلغاء تنسيق display بقيمة none من تنسيقات CSS الخاصة بعنصر الـ form لديك، فعند الضغط على الزر يتم تعيير تلك القيمة إلى block وإظهار النموذج form. ثم حذف عنصر الزر الخاص بإظهار النموذج من كود HTML. لكن التصميم لديك مُعد لذلك، لذا بعد إظهار النموذج ربما يصبح التصميم غير مناسب. لفعل ذلك، ستحتاج إلى دراية بأكواد HTML و CSS على الأقل، ستجد بالأكاديمية مقالات تشرح الأساسيات.
  13. ذلك نفس الجدول تستطيع وضع مكان النقاط ما تريد، أرجو قراءة التالي:
  14. الفكرة ليست الفيديو التعريفي، بل المحتوى الذي تقدمه، فالمتابعين لن يقوموا بمتابعتك طالما أنه لا يوجد محتوى مهتمين به تقدمه أنت، يتم متابعة الشخصيات العامة لشخصهم لكونهم شخصيات مشهورة مثل لاعبي كرة القدم. لذا عليك تحديد الفئة التي تنوي استهدافها من المستخدمين، ثم توفير محتوى قيم لهم ثم عمل إعلان على محتوى حاز على إعجاب بنسبة جيدة من المتابعين، أو محتوى تظن أنه سينال إعجابهم والفيديو محتوى جيد لذلك، قم بالتجربة على أكثر من فيديو وتفقد النتائج.
  15. أرجو عدم التركيز على طلبة حاسبات والتركيز على تطوير نفسك فذلك أفضل لك، مجال البرمجة لا يعتمد على الشهادة بل المهارات والخبرة، بالطبع الشهادة مهمة في بعض الشركات وفي تخصصات معينة، لكن الغالب ليس كذلك. نصيحة ستضيف إليك الكثير، إذا أردت تعلم مجال البرمجة، أغلق عقلك على التعلم فقط وتجاهل كافة المشتتات والأحاديث، ركز على إنهاء مسارك التعليمي والتعمق في عملية التعلم وليس الإسراع بها، ولا تقم بالحياد عن المسار الذي وضعته التزم به للنهاية.
  16. صحيح، بعد البدء فيما تم تفصيله ستتمكن من معرفة ما عليك فعله لا تقلق، الأمر يبدوا مبهمًا في البداية.
  17. إذن لديك الوقت الكافي لتعلم كل ما تريد، ستحتاج إذن لدراسة علوم الحاسوب أولاً وذلك يشمل ما تم توضيحه هنا: هناك مصادر جيدة لذلك على اليوتيوب، وإن أردت يوجد بالأكاديمية دورة مخصصة لذلك وهي دورة علوم الحاسوب ويتم بها شرح ما يلي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب
  18. قمت بإخفاء البيانات الخاصة بك أرجو عدم وضع أية بيانات خاصة بك على العام هنا، ذلك يتم إرساله لمركز المساعدة في المحادثة بينك وبينهم فقط، أرجو إعادة إرسالها لهم
  19. لتحصل على إجابة مفيدة لك، ما هو عمرك وهل تعلم ما الذي تنوي التخصص به في مجال البرمجة؟ ما الوقت المتاح لك للتعلم أي سنة أم أكثر ؟
  20. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  21. اولاً يجب الإلمام بالمجال الخاص بك لتستطيع مناقشته وشرح الأمر له وإقناعه بأسلوب جيد، سوء الفهم يحدث بسبب عدم وضوح الأمر بالنسبة للعميل، إن تم إيضاح الأمر له وترك حرية الإختيار له وعرض ما يناسبك أنت بشكل مقبول، فستجد موافقة بنسبة كبيرة، المشكلة هي الثقة في حال اهتزت انخفضت تلك النسبة. قبل التحدث تستطيع البحث وترتيب كلامك، وعرض سعر مناسب يتناسب مع نوعية العميل ومع جودة ما تقوم به أو الجودة التي يطلبها هو إن كانت أقل. لا تتحدث وكأنك تستجدي، بل تكلم بثقة وإحترافية، فذلك أمر أراه مشكلة لدى الغالبية. ولا تفرض على نفسك أمور زيادة عن المطلوب، بل التزم بالمطلوب ثم قم ببذل مجهود إضافي وستجد شكر وثناء على ذلك. وضع المشاعر جانبًا، لا تأخذ كل ما يقال بشكل شخصي، بل افصل الجانب العملي عن شخصك، جودة عملك سيئة لا تعني أنك شخص سيء، تقبل الأمر وقم بالتعديلات وتحسين الجودة قدر الإمكان. تولى زمام الأمور أنت، من البداية وضح نظام عملك وما تقوم به والفائدة التي ستعود على العميل.
  22. exp في بايثون دالة رياضية موجودة في مكتبة math، وهي اختصار لـ exponential function، أي الدالة الأسية. تقوم دالة exp(x) بحساب قيمة e (قاعدة اللوغاريتم الطبيعي، تقريباً تساوي 2.71828) مرفوعة للقوة x. للتوضيح: import math result = math.exp(2) print(result) بخصوص استخدام exp في حساب tanh يدويًا، فصيغة tanh هي: tanh(x) = (e^x - e^-x) / (e^x + e^-x) بالتالي سنكتب: import math def tanh(x): return (math.exp(x) - math.exp(-x)) / (math.exp(x) + math.exp(-x)) result = tanh(1) print(result) الدالة تحسب قيمة tanh لرقم معين، وx الرقم المراد حساب tanh له. وكما تم التوضيح، يفضل استخدام دوال tanh الجاهزة من مكتبات مثل numpy أو PyTorch أو TensorFlow، لأنها مُحسّنة من ناحية السرعة والدقة وتم إختبارها.
  23. تقصد بعد زيادة المساحة؟ ربما هناك مساحة لم تقوم بإضافتها، وستجدها unlocated أي غير مخصص. لكن من الصورة ما أراه هو أنّ مساحة قرص الـ C هي 117.59 ولو أضفنا إليها المساحة الأخرى وهي 120.12 تصبح المساحة 237.71 أي 238 كما أشرت. أظن ما تقصده هو أنّ الهارديسك لديه مساحته هي 256 ككل، وذلك طبيعي فلن تحصل على المساحة المكتوبة على وحدة التخزين، بل مساحة أقل كما هو الحال في جميع وحدات التخزين. بسبب أنّ أنظمة التشغيل تقوم بحساب السعة التخزينية باستخدام النظام العشري (الأساس 10)، حيث يمثل 1 جيجابايت 1,000,000,000 بايت. بينما تستخدم الشركات المصنعة للنظام الثنائي (الأساس 2)، حيث يمثل 1 جيجابايت 1,073,741,824 بايت، وذلك الاختلاف في الحساب يؤدي إلى فرق في السعة المعروضة. أيضًأ عند تهيئة وحدة التخزين، يتم استخدام جزء من المساحة لإنشاء نظام الملفات (مثل NTFS أو FAT32) وجدول تخصيص الملفات، وتلك العملية تستهلك جزءًا من المساحة الإجمالية.
  24. طالما أنك مشترك في أحد الدورات بالأكاديمية متاح لك الوصول للمسارات الأولى من باقي الدورات بشكل مجاني، فهل الروابط التالية لا تعمل معك؟ https://academy.hsoub.com/courses/python-application-development/python-intro/ https://academy.hsoub.com/courses/artificial-intelligence/python-basics/ في حال كان لديك مشكلة في ذلك، أرجو التواصل مع مركز المساعدة وسيتم حل المشكلة إن شاء الله.
  25. أولاً قبل حل المسألة نتفهم ما هي الفكرة منها، حيث FizzBuzz هي لعبة بسيطة تعتمد على العد، والهدف هو طباعة الأرقام من 1 إلى 100، ولكن مع استبدال بعض الأرقام بكلمات معينة حسب قواعد محددة: لو كان الرقم يقبل القسمة على 3، نطبع "Fizz" بدلاً منه. في حال الرقم يقبل القسمة على 5، نطبع "Buzz" بدلاً منه. في حال الرقم يقبل القسمة على 3 و 5 معاً، نطبع "FizzBuzz" بدلاً منه. بعد ذلك نقوم بتقسيم المشكلة إلى أجزاء والعمل على جزء جزء بما لدينا من أدوات ثم الربط بينهم، ولا تقم بكتابة الكود مباشرًة بل اكتب كيف ستقوم بالحل والخطوات ثم اكتب الكود. أولاً نحتاج إلى طريقة لتكرار العملية على الأرقام من 1 إلى 100. يمكن استخدام حلقة تكرارية (loop) لهذا الغرض. داخل الحلقة التكرارية، نتحقق من كل رقم: هل يقبل القسمة على 3؟ هل يقبل القسمة على 5؟ هل يقبل القسمة على 3 و 5 معاً؟ حسب نتيجة التحقق من الشروط، نطبع: "Fizz" في حال كان الرقم يقبل القسمة على 3 فقط. "Buzz" لو كان الرقم يقبل القسمة على 5 فقط. "FizzBuzz" في حال الرقم يقبل القسمة على 3 و 5 معاً. الرقم نفسه إذا لم ينطبق عليه أي شرط من الشروط السابقة. هنا console.log(output || n استخدام جيد للمعاملات المنطقية، وذلك يسمى Short circuiting أي دائرة قصيرة، بحيث نستخدم المعامل المنطقي || ويعني أو وهو يقوم بالتفقد هل القيمة الأولى هي True أي هناك قيمة؟ في حال ذلك يتم طباعتها وإن كان لا يوجد قيمة مثل سلسلة نصية فارغة " " وتعني Flase، إذن يتم طباعة n بمعنى let output = "" في بداية كل دورة، نقوم بإنشاء متغير جديد اسمه output ونعطيه قيمة نصية فارغة ""، وفائدة المتغير هي تجميع النص الذي سيتم طباعته في النهاية لكل رقم. if (n % 3 == 0) output += "Fizz" نتحقق هل الرقم n يقبل القسمة على 3 بدون باقي، إن كان يقبل القسمة، نقوم بإضافة النص "Fizz" إلى قيمة المتغير output، وهكذا
×
×
  • أضف...