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

محمد عبد العزيز3

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

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

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

كل منشورات العضو محمد عبد العزيز3

  1. طريقة تعلم البرمجه بصفه عامه هي خليط بين الفهم والحفظ وهنا أعني أنه يجب عليك مثلاً فهم الدوال التي تتعملها والوظيفه التي تؤديها هذه الداله وكيفية إستخدامها أما الحفظ فيأتي بكثرة إستخدام هذه الداله حتي يصبح إستخدامك لهذه الداله هو شئ ضمني كأنك تشرب الماء مثلاً وبالتالي حاول أن تفهم وظيفه الداله وستحفظ الإسم الخاص بها لأن أسامي أغلب الدوال تدل بطريقة أو بأخري علي الوظيفه التي تؤديها. الملخص: تفهم وظيفة الداله وطريقة إستخدامها. التطبيق العملي علي إستخدام هذه الداله. النتيجه لذالك ستجد أنك فهمت الداله بشكل كامل وحفظت الإسم الخاص بها من كثرة الإستخدام. بالتوفيق.
  2. هذا الأمر نسبي ويختلف من شخص إلي أخر لعدة عوامل كقدرة الشخص علي الإستيعاب وهل هذا الشخص يقوم بالتطبيق العملي مع المُدرب أم يكتفي فقط بمشاهدة فيديوهات الدورة مره واحده سواء فهم الدرس أم لا وأيضا بعض العوامل الخارجيه الأخري وبالتالي أنصحك ألا يكون هدفك هو فقط إنهاء الدورة والحصول علي الشهادة بل أن يكون هدفك الأساسي والأقيم هو فهم محتويات الدورة والتطبيق العملي عليها مع المدرب وأن تأخذ وقتك في تعلم مواضيع الدورة المختلفه ثم بعد ذلك ستكون جاهز لمشروع التخرج والعمل عليه بكل سهولة لأنك بالفعل بذلت مجهود في التعلم. أيضا هناك بعض الشروط الأساسيه التي يجب أن تأخذها في الحُسبان للتقديم على الإختبار والحصول علي الشهادة وهي: إتمام أربعة مسارات تعليمية كاملة على الأقل. التطبيق العملي مع المدرب والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعه. رفع المشاريع على حسابك على GitHub حتي يتم مشاركتها. ولكن كما أوضحك لك في الأعلي إجعل هدفك هو فهم الدورة بشكل كامل لا محاوله إنهاء الدورة بأسرع وقت والحصول علي الشهاده. بالتوفيق.
  3. دورة علوم الحاسوب هدفها الرئيسي هو تعليمك الأساس البرمجي السليم ومنطق وطريقة تفكير المُبرمج وبالتالي يؤهلك لبدء المسار الذي تريده, وبالتالي من المُفترض أن لديك المعرفه البرمجيه والمنطقيه لإقتحام المجال الذي تُفضله بكل سهوله وأسرع من الذي لم يدرس علوم الحاسوب ويوجد العديد من المسارات الذي يُمكنك الاختيار منها والبدء في تعملها مثل: تطوير تطبيقات الهواتف الذكية تطوير مواقع الويب تطوير الألعاب تطوير برامج سطح المكتب تطوير برامج إدارة المشاريع بالطبع هذه المجالات ليست كل ما يمكن اختياره، ولكنها تشكل بداية جيدة للاختيار من بينها. ولكن قبل البدء في تعلم أي مسار من الذي ذكرتهم يجب عليك أن تقرأ عن كل مجال علي حدي حتي تستطيع تحديد المجال الذي يتناسب ويتوافق مع أهدافك وإهتمامتك. بالتوفيق.
  4. لا يوجد أفضل لغه لتعلم الباك بل أن كل لغه تتميز بشئ عن اللغه الأخري ويوجد العديد من اللغات يُمكنك إختيار أحدهم لتعلمها كالتالي: NodeJs بإستخدام javascript ويوجد إطار العمل Express.js للتعامل مع السيرفر وإطار العمل MonogoDB للتعامل مع قواعد البيانات Python ولديها إطار العمل Django وFlask PHP ولديها إطار العمل Laravel #C ولديها إطار العمل net. ما ذكرت في الأعلي يُعتبرون أشهر اللغات وأُطر العمل الخاصه بجزء الباك ايند. ولكن قبل اختيار اي لغه تبدأ في تعلمها أنصحك بالقراءه عن كل لغه علي حدي وتحديد ما تريد تعمله بناءاً علي بعض العوامل مثل مميزات وعيوب اللغه, تحديد اللغه المطلوبه أكثر في منطقتك, منحني التعلم الخاص بكل لغه, مدي سهوله أو صعوبه تعلم اللغه حتي يكون اختيارك مبني علي تحليل سليم منك حتي لا تضيع وقتك مثلا في تعلم لغه مُعينه وتكتشف بعد مده مُعينه من بدء التعلم أن هذه اللغه لا تناسبك لذالك استثمر بعض الوقت في القراءه عن أشهر لغات الباك ايند. بالتوفيق.
  5. المسار الأول سكراتش يستهدف بصفه أساسيه من لا يوجد لديه أي أساس برمجي ولم يتعامل مع البرمجه من قبل فهو عباره عن لغة برمجة مرئية صُممت أساسًا لأغراض تعليميّة وتساعد في إنشاء قصص ورسوم متحركة ومواضيع تفاعلية تعليمية بطريقة مبتكرة ونظرًا لسهولة المبادئ التي تعمل وفقها سكراتش فهي ممتازه جداً لمن لم يكن لديه أي معرفه مسبقه بالبرمجه أما إذا كان لديك فهم لبعض المفاهيم البرمجيه الأساسيه مثل الدوال والحلقات تكرار والجمل شرطيه والمتغيرات والعوامل وغيرها من الأساسيات فيمكنك تخطي هذا المسار ولكن أنصحك بمتابعه المسار سريعاً لربما تحصل علي معلومات جديده أو يكون هذا المسار كمراجعه لك علي بعض الأساسيات حتي تكون جاهز للمسار الذي يليه. بالتوفيق.
  6. بالطبع يوجد واجبات تستطيع أن تتمرن عليها وتقوم بحلها ووضعها في التعليقات أسفل الدرس كما أنه يوجد بالدوره العديد من المشاريع الذي من دورها تحسين مستواك بصوره أكبر وأيضا أنصحك بالبحث علي تحديات أكثر بقدر المستطاع علي كل موضوع موجود بالدوره تقوم بتعلمه حتي يكون لديك فهم عميق للمواضيع الموجوده حيث أن التطبيق العملي بالمشاريع وحل الكثير من المسائل والواجبات هي أفضل طريقه يُمكنك التعلم بها والتي من دورها أيضاً تثبيت المفاهيم التي تُشرح لك بشكل أكبر. بالتوفيق.
  7. NextAuth.js عبارة عن مكتبة مصادقة آمنة ومرنة مصممة للمزامنة مع قائمة كبيرة من خدمات OAuth والتي من دورها تُقدم الدعم الكامل لتسجيل الدخول بدون كلمة مرور, كما انه ايضاً يمكن استخدام NextAuth.js مع أو بدون قاعدة بيانات، وهو يدعم افتراضيًا قواعد البيانات الشائعة مثل MySQL وMongoDB وPostgreSQL وMariaDB. ويمكن استخدامه بدون قاعدة بيانات من خلال المزامنة مع خدمات مثل OAuth وJSON Web Tokens. وبالتالي هي توفر مجهود كبير في عملية المُصادقه وبالتالي كمبتدأ يُمكنك استخدامها حيث أن إستخدامها سيجعلك تفهم الأساسيات ثم بعد ذلك يُمكنك التعمق أكثر في معرفه طريقه عمل المصادقه والتشفير والحمايه من الأساس والتطبيق أكثر علي ذلك ثم أنه سيسهل عليك فهم الموضوع لأنك بالفعل لديك بعض الأساسيات المرتبطه بالموضوع لأنك قُمت بإستخدام مكتبه NextAuth.js من قبل. بالتوفيق.
  8. على الرغم من أن الشكل الزجاجي كان موجودًا منذ بعض الوقت، إلا أن الويب لم يكن على دراية به حتى وقت قريب بسبب عدم كفاية دعم المتصفح لكن مع أحدث إضافات CSS مثل backdrop-filter، أصبح من الممكن الآن إضافة تأثيرات الشكل الزجاجي إلى صفحات الويب كالتالي: أولاً: نستخدم بعض عناصر HTML كالتالي حتي نجعل الأمور بسيطه في الشرح. <div class="card"> <p>This Is Paragraph</p> </div> ثانياً: نقوم بإضافة بعض التصاميم الأساسيه في ملف ال CSS كالتالي: :root { font-size: 20px; box-sizing: inherit; } *, *:before, *:after { box-sizing: inherit; } body { font: 1em/1.618 Inter, sans-serif; color: #224; background: url(path/to/image.format) center / cover no-repeat fixed; min-height: 100vh; } قُمنا بإضافة بعض التصاميم الأساسيه للصفحه وأيضاً قمنا بإضافة صوره كخلفيه للصفحه حتي يظهر التأثير بشكل أفضل (يمكنك إختيار أي صوره لديك). ايضا قمنا بإضافة (min-height: 100vh) حتي يشغل جسم الصفحه كل المساحه الرأسيه المتاحه وذلك للحصول على العرض الأمثل لبطاقتنا التي سنتطبق عليها التأثير. ثالثاً: نقوم بإضافة بعض التصاميم علي البطاقه الخاصه بنا كالتالي: .card { max-width: 500px; height: 300px; padding: 35px; display: flex; /* لتوسيط ما بداخل البطاقه في الاتجاهين الرأسي والأفقي */ flex-direction: column; /* لتوسيط ما بداخل البطاقه في الاتجاهين الرأسي والأفقي */ justify-content: space-between; /* لتوسيط ما بداخل البطاقه في الاتجاهين الرأسي والأفقي */ background-color: rgba(255, 255, 255, .45); /* نضيف اللون الأبيض كخلفية بنسبة تعبئة تبلغ 45 بالمائة */ border-radius: 20px; /* بعض الإستداره لزوايا البطاقه */ border: 1px solid rgba(255, 255, 255, .25); /* نضيف حدود للبطاقه مع شفافيه 25 */ box-shadow: 0 0 10px 1px rgba(0, 0, 0, .25); /* نضيف هذه الخاصيه حتي نجعل البطاقه تظهر وكأنها تطفو علي السطح */ } رابعاً: نقوم بإستخدام خاصية (backdrop-filter) وذلك لتطبيق تأثير التمويه على المنطقة خلف البطاقه بحيث تظهر مثل الزجاج المصنفر (يٌمكنك التحكم في مدي الضباضبيه كما تريد ولكن أري أن 15px جيده) كالتالي: .card { .... backdrop-filter: blur(15px); } في النهايه هذا الأساس الذي تحتاجه ومن خلال قليل من البحث يُمكنك التعمق أكثر وإضافة تحسينات أكثر كما تريد. بالتوفيق.
  9. أولاً: أنشئ ملفك الشخصي على LinkedIn بأفضل طريقه حيث أن الانطباع الأول الذي من المحتمل أن تتركه على LinkedIn هو عبر ملفك الشخصي وبالتالي العرض التقديمي الصحيح يمكن أن يجعلك تبدو أكثر احترافيه ومؤهلاً لأصحاب العمل المحتملين حيث يعرض ملفك الشخصي مستوى خبرتك ومهاراتك وبالتالي يجب عليك التأكد من ملء ملفك الشخصي من جميع الجوانب قدر المُستطاع لأن هذا يزيد من فرص ظهورك. ثانياً: اجعل مدى توفرك واضحًا ليتمكن أي صاحب عمل أو مدير توظيف أو مسئول توظيف يصادف ملفك الشخصي من معرفة أنك منفتح على عروض العمل على الفور. ثالثاً: المُلخص الخاص بك علي LinkedIn أو ال Summary بمعني أن تحاول في الموجز ومع استخدام الكثير من الكلمات الرئيسية ذات الصلة بمهاراتك أن تحاول توضيح أدوارك وإنجازاتك بالتفصيل لأن هذه هي فرصتك لمنح أصحاب العمل المحتملين لمحة عن مهاراتك وخبراتك وعما يمكنك القيام به من أجلهم. رابعاً: تواصل مع الناس(connects): يُعد بناء شبكة من الاتصالات مع الأشخاص في مجال عملك يزيد من احتمالية ظهورك في عمليات البحث وهي ايضا حجر الأساس لتطبيقات وسائل التواصل الاجتماعي وواحدة من أقوى الأدوات للعثور على فرص العمل. ابحث عن الأشخاص الذين يعملون في الشركات التي تهتم بها، وأقرانهم في نفس مجال العمل، والقائمين بالتوظيف الذين يتطلعون إلى إعدادك لوظيفتك التالية - أي شخص يمكنه تعزيز بحثك عن وظيفة. خامساً: حافظ علي تحديث ملفك الشخصي دائماً وحاول أن تكون مُستخدماً نشطاً حيث يُعد إعداد ملفك الشخصي مجرد خطوة أولى ولكن إبقائه محدثًا أمر ضروري تمامًا حيث أنه قد تشير الملفات الشخصية القديمة ذات النشاط القليل إلى عدم نشاط صاحب الملف الشخصي وبالتالي تُرسل رساله خاطئه لأصحاب العمل المحتملين. في النهايه مع التطوير المستمر لمهاراتك التقنيه والإهتمام بملفك الشخصي علي LinkedIn ستزداد فُرصك بالتأكيد في تحقيق هدفك والحصول علي الوظيفه التي تُريدها. بالتوفيق.
  10. الموقع يظهر عندي عند زيادة ال URL الخاص به ولا يوجد به أي مشكله, أما إذا كنت تقصد عند البحث علي الموقع علي جوجل فهو لا يظهر فهذا طبيعي لأنك قُمت برفعه علي إستضافه مجانيه للمُعاينه وليس ليكون موجود عند البحث عليه علي Google, وفي نهاية الأمر هو مشروع تخرج أنت تقوم برفعه علي إستضافه مجانيه ك vercel أو netlify ليكون دليل علي مهاراتك وتضعه في معرض الأعمال الخاص بك للعرض علي العملاء المحتملين. أما إذا كنت تقصد تحسين محركات البحث SEO ,على الرغم من أنّ هذا المصطلح اختصار لـ "تحسين محركات البحث" إلاّ أنّ هذا المفهوم يتعلّق بالأشخاص أكثر من تعلّقه بمحركات البحث. فهو يدور حول: فهم ما يبحث عنه المستخدمون على شبكة الإنترنت. الإجابات التي يسعون للعثور عليها. الكلمات التي يستخدمونها في بحثهم. نوع المحتوى الذي يستهلكونه. عندما تتمكّن من تحديد هذه الأمور سيصبح في وسعك ربط المستخدمين الذين يقومون بعمليات البحث على الإنترنت مع الحلول المناسبة التي يقدّمها موقع الويب الخاصّ بك. من الجدير بالذكر أنّ الـ SEO أو السيو هو عملة ذات وجهين، حيث يتمثّل الوجه الأوّل في معرفة ما يبحث عنه المستخدمون على الإنترنت، بينما يتمثّل الوجه الثاني في تقديم هذه المعلومات بطريقة يمكن لمحركات البحث العثور عليها وفهمها حتى تستطيع إيصالها للمستخدم. وأنصحك بالبحث علي تحسين محركات البحث (SEO) للتعمق ومعرفة أفضل التقنيات وبعض الممارسات لتحسين ظهور موقعك علي محركات البحث. بالتوفيق.
  11. التعبير البرمجي throw يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم، وسيؤدي ذلك إلى توقف تنفيذ الدالة الحالية (أي أنَّ التعابير البرمجية بعد throw لن تُنفَّذ) وسينتقل التنفيذ إلى أوّل catch، وإذا لم تكن موجودةً فسينتهي تنفيذ البرنامج. والبنية العامة هي: throw expression; الاستثناء (exception) يُمكن أن يكون قيمة نصيه (string) أو قيمه رقميه (number) أو قيمه منطقيه (boolean) أو كائن (object) كما هو موضح في الامثله التاليه: throw "string"; // قيمة نصيه throw 500; // قيمة رقميه throw false; // قيمة منطقيه throw person; // كائن إليك أمثله: // هذا مثال بإستخدام try/catch try { dadalert("Hello, World!"); } catch (err) { throw new Error(err); } // في المثال سيقوم برمي خطأ في الكونسول لأن هناك خطأ بناء الجمله في البلوك الأول غير صحيح // مثال اخر أنه في حال عدم تحقق شرط مُعين نرمي إستثناء وهو عبارة عن خطأ مثلا أو أياً يكن let strValue = 100 if (typeof strValue === 'string') { console.log('Good, The Type of The Value Is String') } else { throw new Error('The Type Of The Value Must be String!') } // في المثال السابق نتحقق من نوع قيمة معينه هل هي نصيه أم لا, لو كانت القيمه نصيه نطبع في الكونسول رساله أما لو كانت القيمه أي نوع بيانات أخر نرمي خطأ يمكنك الإطلاع علي هذا المقالات لزيادة معلوماتك https://wiki.hsoub.com/JavaScript/throw https://wiki.hsoub.com/JavaScript/try...catch بالتوفيق.
  12. # العامل ( Operator ) عبارة عن رمز له معنى محدد في البرمجة، فقد يكون موضوع بهدف إعطاء قيمة لمتغير، مقارنة قيمة مع قيمة، أو لإجراء عملية حسابية ما. # إليك بعض العوامل المهمة في البرمجة و التي يمكنك استخدامها في محرر الكود. أولاً: العوامل التي تستخدم في العمليات الحسابية (Arithmetic Operators) التساوي (=): عندما نقول a = b فنحن نقول أعطي a قيمة b الجمع (+): عندما نقول a + b فنحن نقول أضف قيمة b علي قيمة a الطرح(-): عندما نقول a - b فنحن نقول اطرح قيمة b من قيمة a الضرب (*): عندما نقول a * b فنحن نقول اضرب قيمة a في قيمة b القسمه(/): عندما نقول a / b فنحن نقول اقسم قيمة a علي قيمة b Modulo او قابليه القسمه(%): فمثلا a % b تُعني الحصول على آخر رقم يبقى عندما نقسم قيمة a علي قيمة b يوجد أيضاً العامل (++) فمثلا (++a) تُعني إضافه 1 علي قيمة a وبالطبع العامل (--) عكسها. ثانياً: العوامل التي تستخدم في المقارنات (Comparison Operators) : Equal to أو يساوي لي (==) : فمثلاً a == b تُعني هل قيمة a تساوي قيمة b؟ إذا كان الجواب نعم فإنها ترجع True Not equal to أو لا تساوي لي (=!) : فمثلا a != b تُعني هل قيمة a لا تساوي قيمة b ؟ إذا كان الجواب نعم فإنها ترجع True Greater than أو أكبر من (<) : فمثلا a > b تُعني هل قيمة a أكبر من قيمة b ؟ إذا كان الجواب نعم فإنها ترجع True Less than أو أصغر من (>) : فمثلا a < b تُعني هل قيمة a أصغر من قيمة b ؟ إذا كان الجواب نعم فإنها ترجع True Greater than or Equal to أو أكبر من أو يساوي (=<) : فمثلا a >= b تُعني هل قيمة a أكبر أو تساوي قيمة b ؟ إذا كان الجواب نعم فإنها ترجع True Less than or Equal to أو أصغر من أو يساوي (=>) : فمثلا a <= b تُعني هل قيمة a أصغر أو تساوي قيمة b ؟ إذا كان الجواب نعم فإنها ترجع True ثالثاً: العوامل التي تستخدم في وضع شروط منطقية (Logical Operators) : And (&&): فمثلا a && b تُعني هل قيمة aو قيمة b تساويان true؟ هنا يجب أن يتحقق كلا الشرطين ليرجع True Or ( || ): فمثلا a || b تُعني هل قيمة a أو قيمة b أو كلاهما تساويان true؟ هنا يكفي أن يتحقق شرط واحد من الشرطين ليرجع True Not (!): فمثلا a! تُعني هل قيمة a ليست true؟ إن كانت كذلك فإنه يرجع True بالتوفيق.
  13. # تقوم بإنشاء مستودع محلي للمشروع بإستخدام git كالتالي: أولاً: إنشاء مستودع git جديد بإستخدام هذا الأمر. git init ثانياً: تقوم بإضافة الملفات التي تريدها في المستودع بإستخدام هذا الأمر. git add اسم الملف او اسم المجلد example => git add src (هذا الأمر سيقوم بإضافه مجلد الsrc الموجود في المشروع للمستودع) ثالثاً: تقوم بعمل commit للملفات الذي قمت بإضافتها بإستخدام هذا الأمر. git commit -m "اي رساله تريدها" الأن أصبح git يُتابع أي تغيرات تحدث للملفات الذي قُمت بإضافتها, ثم ننتقل للمرحله التاليه وهي رفع المشروع علي github وهي أنك تقوم بإنشاء حساب علي github كما هو موضح في(repo.PNG). ثم تقوم بالضغط علي (New) لإنشاء مستودع جديد. تقوم بكتابه إسم المستودع ووصف بسيط له ثم تقوم بالضغط علي (Create repository) ثم تقوم بنسخ الأوامر الموجوده تحت (…or push an existing repository from the command line) كما موضح في الصوره التاليه في الterminal الخاص بمشروعك الذي أنشأت به المستودع المحلي مُسبقاً, عنده الإنتهاء من التحميل تسطيع عمل reload لصفحة المستودع علي github وسيظهر المشروع. بالتوفيق.
  14. إليك بعض النقاط التي يجب أن تكون علي علم بها أثناء تعاملك مع العميل: أهم شئ أن تتحدث بثقه مع العميل وهذه الثقه تنبع من مدي قدرتك علي إستعمال المهارات الخاصه بك في حل مُشكلة العميل وأن يكون إرضاء العميل عن طريق جودة العمل الذي تقدمه له لأن هذا سيبني ثقه مع العميل ويجعله يعطي لك أعلي تقييم بدون أن تطلب منه ذلك فقط من جودة عملك. حاول قدر الإمكان التعامل معه بإحترافيه وفي صُلب المشروع ولا تتطرق لأشياء أخري خارج هذا النطاق. أن تختار الوقت المُناسب للتواصل مع العميل بشأن اخر المستجدات في المشروع الذي تقوم بتنفيذه بمعني أن تحاول جدولة مواعيد التواصل بينك وبين العميل في الاوقات المتاحه لكلا منكم حتي يكون التواصل سلس وسريع. لا تتردد أبداً بطرح الأسئله علي العميل وتقديم إقتراحات علي المشروع لأن بعض العملاء لا يعرفوا ما يريدون بشكل كامل وبالتالي من شأن هذه الإقتراحات أن توضح لهم الصورة بشكل أكبر عن متطلبات المشروع. إذا قام العميل بإنتقاد أي جزء من المشروع أثناء تواصلك معه لا تأخذ هذا النقد بشكل شخصي ولكن حاول أن تُطور هذا الجزء من المشروع بالجوده التي تُرضي العميل وتعامل مع أي نقد كمرجع لك لتطوير نفسك أكثر و أكثر. في النهاية التعامل الجيد مع العميل يتمحور حول كلمة واحده وهي "الثقه" والثقه هنا لا تنعي الثقه بالنفس في الحياة عامةً, بل الثقه في مهاراتك الخاصه التي تجعلك تُقنع العميل وتوضح له ما تستطيع القيام به. بالتوفيق.
  15. يمكنك التقدم إلى امتحان الدورة، من خلال التواصل مع مركز مساعدة أكاديمية حسوب، مع مراعاة الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا. عند تحقيق الشروط السابقه تنتقل إلي خطوات الإمتحان وهي كالتالي: تواصل معنا: أخبرنا برغبتك باجراء الامتحان مع تزويدنا بروابط مشاريعك التي طبقتها أثناء الدورة. يجب أن تكون قد طبقت المشاريع مع المدرب أثناء الدورة، ولا يمكن اجراء امتحان بمشاهدة المحتوى فقط. محادثة صوتية: سنحدد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. مشروع التخرج: سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. مراجعة المشروع والتخرج: سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. شهادة معتمدة من أكاديمية حسوب: جميع الشهادات التي تصدرها أكاديميّة حسوب تصدر فقط بعد اجتياز الامتحان بنجاح. هذه ليست "شهادات إكمال" أو "شهادات حضور"، ولا يمكن الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليًا أثناء الدورة، إجراء المقابلة وإثبات قدراته. جميع شهادات أكاديمية حسوب متاحة برابط مباشر على موقع الأكاديمية مما يتيح التحقق من صحتها بأي وقت. بالتوفيق.
  16. الخطأ بسيط جداً لذا دعني أشرح لك حلقه الfor حتي يتسني لك فهما وتفادي أي أخطاء بها في المستقبل: # الsyntax الصحيح لحلقه الfor هو كالتالي: for (initialization; condition;iteration) { /* code will execute */ } initialization متغير يتم تهيئتة بقيمة محددة قبل أن يتم التكرار. condition هو الشرط إذا تحقق سوف يتم تنفيذ الأوامر البرمجية المحجوزة بداخل for loop. iteration هو اضافة عملية النقصان أو الزيادة علي المتغير الذي قمنا بتهيئته عند بداية for. # في الكود الذي كتبته يظهر أنك لم تقم بإتباع الsyntax الصحيح كما يبنغي حتي أنك ستلاحظ أن الvs code يُظهر خطأ في أخر القوس وبالتالي دعني أشرح لك الكود الخاص بك ومقارنته بالsyntax الصحيح. for (let current = 20; current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } أولا: قمت بوضع الinitialization وهو (let current = 22) وبالتالي الخطوة الأولي صحيحه. ثانيا: خطوة ال condition وأنت لا تريد أن تضع الcondition في هذه الحاله وبالتالي ستقوم بترك مكانه فارغاً ووضع ال(;) حتي لا تخالف الsyntax الصحيح, عدم وجود الcondition سيؤدي ال حلقه تكرار لانهائيه وبالتالي نستخدم break للخروج من الحلقه عند تحقيق الشرط كما فعلت. ثالثا: قمت بوضع الiteration وهو (current = current + 1) وبالتالي الخطوة الثالثه صحيحه. وبالتالي الكود الصحيح سيكون كالتالي: for (let current = 20; ;current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } يمكنك أيضاً الإطلاع علي الحلقات التكراريه في موسوعه حسوب لفهم هذا الموضوع بصورة عميقه:https://wiki.hsoub.com/JavaScript#.D8.AD.D9.84.D9.82.D8.A7.D8.AA_.D8.A7.D9.84.D8.AA.D9.83.D8.B1.D8.A7.D8.B1 بالتوفيق.
  17. قبل كتابة كود يجب أن تعرف النقاط التاليه: فهم أساسيات لغة الكمبيوتر: يجب تعلم التعامل مع لغه برمجه سهله مثل البايثون مثلا حيث أنها بسيطه وممتعه كما أن بايثون تشبه اللغة الإنجليزية وبالتالي فهي سهلة الفهم بالنسبة للمبتدئين. العمل في مشاريع طويلة المدى، والتركيز على الممارسة والتطبيق و أن تكون صبوراً: البدء في تعلم برمجة الكمبيوتر هو اختبار للقدرة على التحمل. يمكن أن تكون البرمجة محبطة في بعض الأحيان، كما أن قلة الصبر في الاضطرار إلى تعلم تعلم البرمجه يمكن أن يؤدي إلى الإحباط، وانخفاض مستوى التحفيز وبالتالي احتمالية الاستسلام. حيث أن الصبر يلعب دوراً أساسياً في الاستمرار في التعلم. استخدم الأهداف القصيره لمساعدتك في تحقيق أهدافك طويلة المدى وأن يكون لديك سبب ورغبه في تعلم كيفية كتابة التعليمات البرمجية. تدرب على البرمجه بشكل منتظم علي جهاز الكمبيوتر الخاص بك حيث أن فهم كيفية كتابة التعليمات البرمجية على جهاز الكمبيوتر سيساعدك على أن تصبح مبرمجًا أفضل حيث أن الدماغ يحتفظ بالمعلومات بشكل أكثر كفاءة عندما تكون مكتوبة بالفعل على جهاز الكمبيوتر. أن يكون لديك مهارة حل المشكلات: ربما يكون حل المشكلات هو المهارة الأكثر أهمية التي ستفهمها أثناء البرمجة. إذا ظهرت لك مشكلة ولم تتمكن من حلها، قاوم دافعك لطلب المساعدة. ثم اشرح لنفسك ما يحدث للتعليمات البرمجية التي قمت بكتابتها وحاول إيجاد حل لها. حاول أن تُمارس لغة البرمجه التي تتعلمها يومياً لأن هذا يجعلك مبرمجاً أفضل وحاول أن تتعلم وتفهم التعليمات البرمجيه وإن لم تستطع فهمها يمكنك طلب المساعده من أحد الخبراء أو البحث عنها ولكن لا تحفظها أبداً لأن هذا سيجعلك تنساها سريعاً. حاول أن تنضم لمجتمعات المبرمجين وأن تشارك ما تتعلمه وتناقش الأشخاص الاخرين مثلك الذين يتعلمون والخبراء أيضاً لأن هذا يبني عندك مهارة العمل الجماعي والتواصل حيث أن البرمجه جهداً تعاونيًا. ليس هناك أي نتيجة على الإطلاق للتقدم كمبرمج، والشعور المستمر بالعجز هو في الواقع مجرد جزء من العملية. كما أن البرمجه يتم تحديثها كل يوم وبالتالي باعتبارك وافدًا جديدًا، يجب أن تكون دائمًا منفتحًا لتعلم أشياء جديدة. إبدأ في تعلم الخوارزميات: عندما تكون قد تمكنت بالفعل من اكتساب العديد من الخبرات في هذا المجال، فقد حان الوقت بالفعل للانتقال إلى الخوارزميات. يمكنك تطوير قدراتك من خلال أن تصبح أكثر كفاءة في الخوارزميات. نظرًا لأن معظم طلبات العمل تعتمد على الخوارزميات بالإضافة إلى حل المشكلات وبالتالي إهدف إلى حل مشكلة خوارزمية واحدة على الأقل يوميًا للحفاظ على قدراتك علي حل المشكلات. تحياتي.
  18. لقد إتبعت نفس الخطوات وعمل لدي دون أدني مشكله علي : http://127.0.0.1:5500/ كما هو موضح في الصوره. قم بتشغيل السيرفر والدخول علي هذا اللينك وإن لم يعمل أرجو إرفاق صوره من ال vs code مع ال live server حتي أتمكن من إيجاد سبب المشكله
  19. الخطأ الذي يظهر عندك "Request failed with status code 401" والذي يعني أن عنوان الURL غير موجود أو قديم أو به خطأ إملائي وبالتالي عليك التأكد أن عنوان ال URL صحيح وتجربة هذا التعديل والمحاوله مره أخري. const {eventId} = useParams() // عمل desctructuring لقيم ال useParams //.... const onSubmit = async () => { try { await axios .put(`${CREATE_EVENT_URL}/${eventId}`, { // إستخدام ال Template literals headers: { Authorization: jwt, }, }) بالتوفيق
  20. أولا تأكد من أي لديك ملف index.html لأن هذا الذي سيقرأه الlive server, ثم عليك بالتأكد من أنك قُمت بتحميل إضافه ال live server وتفعيلها كما هو موضح بالصوره ومن المفترض أن تقوم بالعمل معك وإن لم تعمل يمكنك إرفاق صوره لي بالاضافه من ال vs code حتي يمكنني إكتشاف سبب المشكله.
  21. هذا الكود غير كاف لجعل الموقع متجاوب ولكن يُمكنك إتباع الطُرق التاليه لجعل الموقع متجاوب مع جميع أحجام الشاشات: أولاً: إستخدام قياسات أحجام الشاشه المُختلفه (Media Query) فمثلاً أحجام الشاشات الصغيره (Small) التي تقل عن 600px وهو الحجم الذي يتناسب مع جميع الهواتف الذكيه, وأيضاً أحجام الشاشات المتوسطه (Medium) والتي تتراوح بين 600px إلي 900px وهو الحجم الذي يتناسب مع الأجهزة اللوحية (التابلت) وشاشات الكمبيوتر الصغيرة, وأخيراُ أحجام الشاشات الكبيره (Large) والتي يكون حجمها من 900px فيما فوق لكي يناسب الشاشات الكبيرة جميعها ويمكنك إستخدام الMedia Query كالتالي: @media only screen and (max-width: 600px) {...} // (كل ما هو أقل من هذا القياس طبق عليه الخصاص التاليه)الشاشات الصغيره @media only screen and (max-width: 900px) {...} // (كل ما هو أقل من هذا القياس طبق عليه الخصائص التاليه)الشاشاث المتوسطه @media only screen and (min-width: 900px) {...} // (كل ما هو أكبر من هذا القياس طبق عليه الخصائص التاليه)الشاشات الكبيره ثانياً: إستخدام ال Flexbox و ال Grid System في تنسيقاتك والذي من دورة تسهيل عملية التجاوبيه للموقع والتقليل من إستخدام ال Media Query مما يوفر الجهد والوقت. ثالثاً: إستخدام مكتبات جاهزه كالBootstrap و Tailwind.css والتي توفر كلاسات جاهزه تسهل من عملية جعل الموقع متجاوب وأيضاً توفر الوقت والجهد بصورة أكبر مما يجعل تركيزك علي أجزاء أهم في موقعك. في النهاية الطُرق كثيره ومتعدده لتنفيذ ما تريد و أنت من تقرر أي طريقه تستخدم بناءاً علي متطلبات المشروع وهدفك. - يمكنك الإطلاع علي هذه المقالات التي تتحدث أكثر عن الMedia Query و ال Flexbox, Grid System و وتخطيط الصفحه والتصميم المتجاوب في Bootstrap: https://wiki.hsoub.com/CSS/@media https://wiki.hsoub.com/Bootstrap#.D8.AA.D8.AE.D8.B7.D9.8A.D8.B7_.D8.A7.D9.84.D8.B5.D9.81.D8.AD.D8.A7.D8.AA https://wiki.hsoub.com/CSS#.D8.AA.D8.AE.D8.B7.D9.8A.D8.B7_Flex_Box بالتوفيق.
  22. - بالطبع تخصص الذكاء الاصطناعي له مستقبل كبير في العالم العربي هذا أمر لا شك فيه. - اذا كان مجال الذكاء الإصطناعي يعجبك وتري نفسك فيه فبدون تردد إبدأ في التعلم ولكن يجب أن تقرأ عن المجال أولاً وعن محتوياته حتي يكون لديك فكرة عن ما انت مُقبل عليه والأهم أن يكون دخولك عالم الذكاء الإصطناعي ليس لأنه سريع النمو ومطلوب كثيراً وفقط بل أن يكون هناك شغف منك تجاهه. - بالطبع فرص العمل كثيره جداً سواء قررت أن تأسس شركه أو تعمل كمستقل هذا الأمر يرجع لقرارات الشخصي وتفضيلاتك ولكن بصفه عامه فرص الذكاء الإصطناعي كثيره ومتنوعه. بالتوفيق.
  23. الهدف الرئيسي من الذكاء الإصطناعي هو المساعده وتسهيل الأمور علي المُطور وليس إستبداله لأن الأمر ببساطه هو كيفيه إستخدام الذكاء الإصطناعي في تسهيل الأمور عليك ومساعدك, ,وبالتالي احتضن مجال الويب بصفه عامه الذكاء الإصطناعي كما أنه مجال يتكيف باستمرار مع التقدم التكنولوجي, وبالتالي وجود الذكاء الإصطناعي لا يعني إستبدال المطورين بل تعزيز قدراتهم وتبسيط العمليات. - ليس كل المطورين يستطيعون التعامل مع الذكاء الإصطناعي لأن مطور الويب الناجح هو الذي يعرف كيف يتعامل مع هذه الميزه ويستخرج منها ما يساعده في عمله ويجعله أسرع وذو جوده عاليه. بالتوفيق.
  24. بالعكس أنت لا تحتاج أن تحترف اللغه حتي تكون قادر علي تعلم إطار العمل الخاص بها, وذلك لأن الهدف الرئيسي من إطار العمل هو توفير مكونات تستطيع إستخدامها مما يوفر عليك الوقت والجهد فمثلاً لو أردت تعلم إطار العمل Reactjs كل ما عليك فعله هو تعلم أساسيات الجافاسكريبت ويمكنك معرفه المواضيع التي يجب أن تتعلمها قبل الدخول في أي إطار عمل ببحث بسيط وهذا الأمر ينطبق علي جميع اللغات وأُطر العمل الخاص بهم. - وأيضاً إتقانك للغه مُعينه يأتي بعد التطبيقات الكثيره علي اللغه ودراسه المفاهيم المتقدمه بها وإستخدامها في مشاريع متعدده. - كما أن أيضاً بالفعل عند إستخدامك لإطار العمل ستسخدم اللغه الخاصه بهذا الإطار كثيراً وهذا سيزيد من مستواك في اللغه نفسها وفي إطار العمل أيضاً. وبالتالي يكون مسار التعلم كالتالي: تتعلم أساسيات اللغه سواء Javascript, PHP, الخ. تتعلم إطار العمل الخاص باللغه. مع التطبيق العملي يزداد مستواك في اللغه الأساسيه وفي إطار العمل سوياً. بالتوفيق.
  25. مستقبل البرمجه موجود وعليه طلب مستمر وفي تزايد ولا يُمكن الإستغناء عنه وبالتالي لا تقلق علي مستقبل البرمجه. من الواضح من سؤالك عن أي لغة يجب أن تتعلم هو أنك لازلت في البدابة وتريد أن تعرف أكثر عن مجال البرمجه, وبالتالي أي لغة يجب أن تتعلم لا يححدها لك أي شخص بل أنت بنفسك يجب أن تحدد هذا الأمر بعد الإطلاع علي المسارات المُختلفه في البرمجه والقراءه عنها وستجد مسار ستجذب إليه وتُريد أن تتعلمه ولكن أعطي لنفسك الوقت للقراءه عن كل مجال وإستخداماته وليس تعلمه حتي تكون راضي تماما عن المسار الذي ستتخذه وبتدأ في تعمله والتعمق به وبالتالي إليك الأمر: أولاً: تقرأ عن البرمجه بصفه عامه ومساراتها المُختلفه كتطوير الويب و تطبيقات الموبايل والكثير من المسارات الأخري وتحدد المجال الذي تريد تعلمه. ثانياً: ثم يجب أن تتعلم أساسيات علوم الحاسوب الذي يبدأ معك من الصفر حتي يكون لديك منطق برمجي سليم وأساس قوي يؤلك لتعلم المسار الذي تفضله بطريقه أسهل وسريعه لأن الأساس البرمجي موجود بالفعل ويوجود دورة علوم الحاسوب المُقدمه من أكاديميه حسوب تسطيع الإطلاع عليها من هنا: https://academy.hsoub.com/learn/computer-science/ . ثالثاً: تبدأ في تعلم التقنيات المطلوبه في المسار الذي حددته وستكون بالفعل علي علم بالتقنيات المطلوب منك تعلمها وترتيبها الصحيح لأنك بالفعل ستكون قرأت عنها في أول خطوه. بالتوفيق. هذه الثلاث خطوات
×
×
  • أضف...