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

عبدالباسط ابراهيم

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

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

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

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

    12

كل منشورات العضو عبدالباسط ابراهيم

  1. يوجد العديد من الخيارات مثل Firebase Authentication والتي توفر واجهة برمجة تطبيقات (API) بسيطة ومباشرة لتنفيذ المصادقة عبر رقم الهاتف، مما يوفر عليك الوقت والجهد في الإعداد والتكامل كم اتدعم بشكل كامل NestJS و Next.js و React Native، وتوفر Firebase خطة مجانية تكفي للمشاريع الصغيرة. على الرغم من وجود خيارات أخرى مثل Twilio فإنها تتطلب مجهودًا إضافيًا للإعداد مقارنة بـ Firebase، خاصة مع التكامل السلس الذي يوفره Firebase مع تقنيات مشروعك. وخدمات مثل Auth0 أو Okta قد تكون أكثر تعقيدًا ومناسبة لمشاريع أكبر تحتاج إلى حلول متقدمة.
  2. أهم ما توضحه الدورات تطوير واجهات المستخدم و تطوير تطبيقات جافاسكريبت أن المجال frontend ليس بالمجال السهل والذي يمكن تعلمه في عدة أشهر بسيطة ولذلك يجب العلم أن هذا المجال يحتاج لبذل جهد كبير واستثمار الكثير من الوقت . بدون أساس قوي في HTML/CSS والعديد من القنيات وأطر العمل الأخرى ، ستواجه صعوبة في ترجمة التصاميم الحقيقية إلى واجهات متوافقة مع مختلف الشاشات والمتصفحات. وبالنسبة للتقنيات الحديثة (JavaScript + React/Next.js) فهي ضرورة اليوم في معظم الشركات الناشئة والمؤسسات. وفي الدورة تطوير تطبيقات جافاسكريبت تفترض غالبًا إلمامًا مسبقًا بأساسيات التصميم وبناء الواجهات. وبدون العرض الموجود حالياً من قبل الأكاديمية فيمكنك إختيار دورة جافاسكريبت حيث تعتبر دورة شاملة وكبيرة بالفعل وبالتزامن يمكنك تعلم تطوير الواجهات من خلال مصادر متعددة. ولكن حالياً فرصة جيدة بالنسبة لك حيث يمكنك الإشتراك في الدورتين بسعر دورة واحدة
  3. وعليكم السلام ورحمة الله وبركاته. لا يوجد دورة في الأكاديمية خاصة بإطار العمل reactjs فقط ولكن كما تلعم فيوجد دورة تطوير التطبيقات بواسطة جافاسكريبت والتي يمكنك بها دراسة إطار العمل مع التطبيقات عليه بدون التطرق للتقنيات الأخرى. كما يوجد قسم من المقالات خاص بإطار العمل react ويمكنك الوصول له من خلال هذا الرابط https://academy.hsoub.com/programming/javascript/react/
  4. وعليكم السلام ورحمة الله وبركاته. تهانينا على إتمام الدورة وإن شاء الله المزيد من التوفيق والنجاح. بالنسبة لنسيان بعض المفاهيم فنحن لا نحتاج لحفظ كل شئ بالتفصيل بل نعتمد على الفهم ولكن إذا كنت تقصد نسيان مفاهيم في البرمجة أو تقنية ما فيفضل الرجوع لها بالطبع . والتطبيق على مشاريع كاملة هو أفضل طريقة لتثبيت المعلومات وتجنب النسيان. كما بناء المشاريع يساعدك على ربط المفاهيم النظرية بالتطبيق العملي، كما تكتشف أي المواضيع اللي تحتاج تراجعها ولاحظ أن إكمال مشروع يعطيك إحساس بالإنجاز ومحاكاة الواقع . ولذلك إذا كنت تقدر على التطبيق حالياً على مشاريع كاملة أو بسيطة فلا تتردد أو تتغافل عن التطبيق وإذا كنت تدون بعض المفاهيم أثناء الدراسة فسيكون من الجيد مراجعة هذه التدوينات. وأيضاً يمكنك البحث عن cheat sheet بجانب اسم التقنية أو لغة البرمجة وهو ملخص لما تريده . وبالنسبة للإختبار فيمكنك الإطلاع على التفاصيل التالية
  5. يوجد تمارين بسيطة على كل درس بالإضافة إلى المشاريع التي تكون على كل مسار ويوجد أيضاً مشاريع كاملة على مجموعة تقنيات ولغات برمجة ولكن ليست كل الدروس لها تمارين فهناك دروس نظرية ويكفي الفهم لهذه المفاهيم التي يتم شرحها فقط وليس هناك حاجة لتمارين على كل درس. بالطبع يمكنك استرجاع المبلغ الذي دفعته في حالة لم تحصل على عمل بعد الإنتهاء من الدورة أو إذا كانت هناك مشكلة مثل أن الشرح لم يعجبك في هذه الحالة يمكنك التحدث مع مركز المساعدة للتأكد . وعندما تشترك في أي دورة فستدفع التكلفة مرة واحدة فقط ولديك وصول لها مدى الحياة يعتمد ذلك على أهدافك وما المجالات التي تريد العمل بها بجانب الذكاء الإصطناعي فمثلاً يمكنك الإشتراك في دورة مثل تطوير واجهات المستخدم للعمل في الويب ك frontend أو أي دورة من دورات ال backend . والأفضل أيضاً دورة علوم الحاسوب إذا لم يكن لديك خبرة سابقة بالمجال فهي تقدم لك أساسيات مهمة وضرورية في أي مجال من مجالات علوم الحاسوب وبالنسبة للأسئلة الأخرى فتمت الإجابة عليها بالتفصيل في الروابط التالية
  6. لتوضيح أهمية ال min-height افترض أن لديك مجموعة من البطاقات (cards) في صفحة، كل بطاقة تحتوي على عنوان، صورة، ووصف. بعض الأوصاف قد تكون قصيرة جدًا، والبعض الآخر قد يكون طويلًا. فإذا استخدمت height ثابتًا، فإن البطاقات ذات الأوصاف القصيرة ستبدو فارغة من الأسفل، والبطاقات ذات الأوصاف الطويلة ستتعرض لتجاوز المحتوى. باستخدام min-height على البطاقة أو على قسم الوصف بداخلها، تضمن أن جميع البطاقات لها حد أدنى من الارتفاع (مما يجعلها تبدو متناسقة)، ولكنها تتمدد تلقائيًا لاستيعاب الأوصاف الطويلة، مما يمنع التجاوز.
  7. بالفعل مع التطور المتسارع للذكاء الاصطناعي (AI) يجب علينا بدلاً من التركيز بشكل أساسي على كتابة الكود من الصفر، قد تصبح قراءة الكود وفهمه وحل المشكلات المهارات المحورية للمبرمجين في المستقبل. ولكن ذلك يكون بالنسبة للمطور ذو خبرة فعلية ي البرمجة وليس لمن يبدأ مسيرته التعليمية في البرمجة . وبالنسبة لتعلم البرمجة حالياً يجب أن يعزز تعليم البرمجة فهمًا عميقًا لمبادئ علوم الكمبيوتر، وهياكل البيانات، والخوارزميات، والتفكير المنطقي ولكن لا يتم إهمال الكود في بداية التعلم بل يفضل لو يتم الإبتعاد عن أدوات الذكاء الإصطناعي في البداية ( في حالة كتابة الكود بدلاً منك) يفضل الإطلاع على التعليقات التالية
  8. لا تقلق أبدًا إذا لم تنجح في اختبار الدورة من المرة الأولى! يمكنك خوض الاختبار أكثر من مرة حتى تجتازه وتحصل على الشهادة وسيُرشدك المدرب المسؤول على الأخطاء لديك لتخطيها و التواصل مجددًا لإجراء الإمتحان مرة أخرى. ولكن يجب عليك إتمام الشروط الخاصة بالتقدم للإختبار والحصول على الشهادة والاستعداد بشكل جيد للإختبار
  9. في المكون Prayer لم تقم بتعريف الكائن props حتى تستطيع تمرير المعاملات name وtime ولذلك يرجى تعديل المكون Prayers كالتالي export default function Prayer(props) { return ( <div> <p className="name-prayer">{props.name}</p> <p className="time-prayer">{props.time}</p> </div> ) } يمكنك أيضاً استخدام الطريقة destructuring كما أعتقد أنك أردت ذلك ولكن يجب إضافة المعاملات name وtime بداخل { } لتصبح كالتالي export default function Prayer({ name, time }) { return ( <div> <p className="name-prayer">{name}</p> <p className="time-prayer">{time}</p> </div> ) }
  10. أولاً إتقان جميع المجالات بشكل كامل غير عملي إطلاقاً، لأن كل مجال يحتاج إلى تعلم مستمر وتخصص عميق. لذلك، معظم مهندسي البرمجيات يميلون إما إلى التخصص أو اكتساب مهارات واسعة مع التركيز على بعض المجالات الأساسية. ولكن عليك ملاحظة أن المبرمج يملك خبرة فنية في كتابة الشيفرة وحل المشاكل البرمجية المباشرة. بينما مهندس البرمجيات يضيف إلى ذلك خلفية في تصميم الأنظمة وإدارة دورة حياة المشروع من البداية وحتى الصيانة بمعنى أنه يصمم النظام كاملًا (البنية، الطبقات، التكامل)، ويخطط للقابلية للتوسع والصيانة.، مع التواصل المستمر مع باقي الفرق وأصحاب الأعمال لضمان توافق الحل التقني مع الأهداف العامة.
  11. وعليكم السلام ورحمة الله وبركاته. بما أنك في المسار الثاني من دورة "تطوير التطبيقات باستخدام بايثون" فمن الأفضل أن تبدأ بتعلم أساسيات الواجهات الأمامية (HTML، CSS، JavaScript) قبل الانتقال إلى مسار Django حيث يعتمد Django على HTML وCSS حتى وإن كنت تركز على الجانب الخلفي (Back-End)، فإن Django يستخدم قوالب HTML لعرض الصفحات، لذا فهم هذه الأساسيات سيساعدك في بناء تطبيقات متكاملة ولاحظ أن معرفة كيفية تفاعل الواجهة الأمامية مع الخلفية يعزز من قدرتك على بناء تطبيقات أكثر تفاعلية وكفاءة. لذا تعلم أساسيات HTML وCSS مفيد بالطبع ولكن إذا كنت تقصد تعلم ال frontend بتعمق فيمكنك تعلمه بعد الإنتهاء من الدورة وأخذ خبرة كبيرة في ال backend وبالنسبة لدورات Crash Courses على يوتيوب تعتبر بداية جيدة حيث تكون فكرة عامة وليس بعمق ولكن لديك وصول للمسار الأول من دورة تطوير واجهات المستخدم
  12. لا تقوم الأكاديمية بتوظيفك مباشرة لديها إنما تساعدك بمعنى أن الدورات الخاصة بالأكاديمية تساعد في تطوير المهارات والخبرات اللازمة للنجاح في مجال معين. وعندما تكمل دورة تدريبية، فأنت تحصل على شهادة تثبت أن لديك هذه المهارات والخبرات. يمكن أن تساعدك هذه الشهادة في جذب انتباه أصحاب العمل وإثبات أنك مرشح مناسب للوظيفة. وتلقى أيضاً دعم توجيهي من فريق الأكاديمية لمساعدتك في إعداد سيرة ذاتية (CV) جذابة وصفحة شخصية احترافية على منصات العمل الحر (مستقل، خمسات، بعيد). وبالرغم من أن الشهادة والدعم المقدم يزيدان فرصك بشكل كبير، فإن العثور على وظيفة يعتمد أيضًا على عوامل أخرى مثل مستوى مهاراتك العملية، وقدرتك على التواصل مع أصحاب المشاريع. لذا يُنصح بالاستمرار في بناء مشاريع تطبيقية ونشرها على GitHub، والمشاركة في المجتمعات التقنية، وتنمية شبكة علاقاتك المهنية لتعزيز فرصك في الحصول على وظيفة.
  13. وعليكم السلام ورحمة الله وبركاته. اختيار الطريقة المثلى لتدوين المعلومات المهمة يعتمد على أسلوبك الشخصي واحتياجاتك، خاصة إذا كنت ترغب في تسهيل الرجوع إليها ومراجعتها بسرعة ولكن يمكنك الإطلاع على أداة Obsidian حيث توفر لك بساطة وسرعة في التدوين وسهولة التنظيم في مجلدات كما أنها مناسبة لتدوين الأكواد مع ملاحظات مختصرة. ولاحظ أنه هناك ما يسمى Cheat sheetحيث تحتوي على معلومات موجزة وسريعة الرجوع إليها ، مما يجعلها مفيدة في المواقف التي تريد استرجاع مفهوم ما سريعاً ولكن تفتقر إلى شروحات مفصلة أو أمثلة عملية تساعد على فهم المفاهيم بعمق.
  14. يمكن ملاحظة أن الشاشة مجملاً تم تصغيرها ولذلك يرجى تكبير الشاشة كاملة عن طريق الضغط على CTRL و + أو يمكنك الضغط على CTRL + 0 فيتم التقريب للمستوى الطبيعي. وبعدها يمكنك تصغير حجم الخط الخاص بال editor أي الأكواد فيرجى التوجه للإعدادات وستجد خيار text/editor يرجى الضغط عليه ثم التأكد من حجم الخط وهو غالباً سيكون 14 فيمكنك تعديله كما تريد
  15. لا أعتقد أن تعلم jQuery ضروري في الوقت الحالي إذا كنت تتقن React. فتعتبر React هي مكتبة حديثة وقوية تقدم حلولاً أفضل للمشاكل التي كانت jQuery تحلها في السابق وأحد أكثر أطر العمل استخداماً في تطوير واجهات المستخدم. ولكن بالنسبة لسوق العمل ستجد بعض الشركات التي تطلب خبرة في ال jquery لوجود العديد من المشاريع القديمة وهذه الشركات أو المشاريع قليلة بالطبع وهناك بعض الحالات التي تتجه فيها إلى استخدام jquery . ولذلك إذا كان هناك وقت لتعلمها فهي مهارة ستفيدك في حالات معينة ويمكنك الإطلاع على العديد من النصائح في التعليقات التالية
  16. يبدو من الصورة أن الملف اسمه index.htmi وليس index.html لذلك أعد تسمية الملف من index.htmi إلى index.html. وتأكد أنك قد فتحت المجلد الذي يحوي index.html (وليس فتح ملف وحيد)، ثم اضغط بزر الفأرة الأيمن على index.html واختر “Open with Live Server”.
  17. يوجد الكثير من الدورات التي تشرح Tailwind وتطبيقات عليه بالإصدار الرابع أيضاً عليك فقط البحث عن tailwind 4 وستظهرلك العديد من الفيديوهات باللغة الإنجليزية . ربما لا يظهر لك الكثير من الدورات أوالفيديوهات باللغة العربية تستخدم الإصدار الرابع ولكن إذا كنت تريد تعلمه باللغة العربية يمكنك تعلمه بالإصدار المتاح الأن والإطلاع على التحديثات من التوثيق لاحقاً
  18. الفرق بين Dedication وAcknowledgements بشكل مبسط يكمن في أن ال Dedication يوجه لأفراد العائلة، الأصدقاء المقربين، أو أي شخص له تأثير شخصي عميق في حياتك مثال على ذلك "أهدي هذا العمل لوالدي الذي لم يتوقف عن دعمي وتشجيعي طوال مسيرتي الدراسية" بينما ال Acknowledgements قائمة بالأشخاص الذين قدموا المساعدة الأكاديمية أو المهنية في إنجاز المشروع يوجه مثلاً للمشرفين، الأساتذة، الزملاء، المؤسسات الداعمة أوالخبراء الذين قدموا استشارات مثال على ذلك "أتقدم بالشكر للدكتور أحمد على إرشاداته القيمة وملاحظاته التي ساهمت في تحسين جودة هذا البحث" أما بالنسبة لل System Architecture فهو مكون أساسي في أي تقرير مشروع تقني، وهي تصف بنية النظام وتفاعل مكوناته. وإليك مثال يوضحذلك بشكل مبسط نظام موقع إلكتروني يتكون من ثلاثة أجزاء رئيسية واجهة المستخدم: الجزء الذي يراه المستخدم ويتفاعل معه (تم بناؤه باستخدام HTML و CSS). الخادم: يتم معالجة طلبات المستخدمين وتنفذ العمليات المطلوبة (تم بناؤها باستخدام PHP). قاعدة البيانات تخزن معلومات المستخدمين والمنتجات (تم استخدام MySQL). عندما يطلب المستخدم شيئاً، الطلب ينتقل من واجهة المستخدم إلى برمجيات الخادم، ثم إلى قاعدة البيانات للحصول على المعلومات المطلوبة، وتعود النتائج بنفس المسار.
  19. يوجد العديد من الطرق ولكل منهم مميزات فلذلك يمكنك الإختيار بناء على خبرتك وأهدافك فمثلاً يمكنك إنشاء API منفصل في Laravel ثم إعادة كتابة الواجهة باستخدام Swift / Kotlin أو React Native / Flutter وتضمن هذه الطريقة أداءً مثالياً وتكاملاً عميقاً مع نظام التشغيل، لكنها مكلفة زمنياً وتقنياً . أو تغليف الواجهة الحالية ضمن WebView عن طريق Capacitor حيث يمكنك من إضافة Android وiOS لمشروع ويب في دقائق، مستفيداً من WebView لعرض تطبيقك كما هو . هناك أيضاً خدمة مدفوعة تحول موقعك Laravel إلى تطبيق موبايل عبر WebView تسمى MobiLoud وبالإضافة أيضاً إلى NativePHP
  20. يمكنك الضغط على Ctrl + 0 في أجهزة Windows/Linux أو Command + 0 في أجهزة Mac لإعادة ضبط مستوى التكبير إلى 100%. أو من القائمة الخاصة بالإعدادات ستجد الخيار zoom فيمكنك ضبطه كماتريد
  21. اعتقد أنك تقصد ال Overlays أي إضافة طبقة شفافة أو نصف شفافة فوق المحتوى الأساسي لتحسين قراءة النص فوق الصورة وإليك مثال على ذلك <div class="image-container"> <img src="your-image.jpg" alt="وصف الصورة" class="image"> <div class="overlay"></div> <div class="overlay-text">نص فوق الصورة</div> </div> ثم ال css .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); } وبالتأكيد هناك العديد من الطرق الأخرى فيمكنك استخدام الطريقة التي تناسبك
  22. في بيئة Python التفاعلية التي تستخدمها، لا يوجد زر "Run" ولا نحتاجه حيث أنها تنفذ الأوامر فوراً بعد كتابتها والضغط على Enter. وستجد أنه في محررات النصوص المتقدمة مثل VS Code أو PyCharm يوجد بها ذلك الزر وإذا كان هذا السؤال خاص بدورة من دورات أكاديمية حسوب فسيتم شرح ذلك . ويفضل وضع سؤالك إذا كان يتعلق بدرس ما أسفل الدرس في قسم التعليقات .
  23. ربما يكون مستوى اللغة الإنجليزية لديك كاف تماماً لمواصلة التعلم والصول لمستوى احترافي في البرمجة والحصول على وظيفة فإذا كنت قادر على قراءة التوثيقات للمكتبات وأطر العمل والمنصات التقنية أيضاً التدوينات والمقالات التقنية حيث تنشر أولاً بالإنجليزي ثم تُترجم لاحقاً فستجد معظم التحديثات أولاً باللغة الإنجليزية . فهم المراجع وحل المشكلات بسرعة أكبر عن طريق البحث . فلن يكون هناك صعوبة في التواصل مع العملاء والشركات التي تتطلب لغة إنجليزية حيث لا يجب أن تكون متقن للغة. وبالتأكيد مع تقدمك في مسيرتك المهنية والترقي في الأدوار التقنية، ستحتاج إلى تحسين مهاراتك بشكل تدريجي،
  24. يعتمد ذلك على الأهداف الخاصة بك وما التخصص الذي تحب العمل به . ولكن بما أنك الأن تتعلم تطوير الويب باستخدام laravel فيمكنك التوسع في الويب والإختيار بين دورة دورة تطوير واجهات المستخدم أو دورة تطوير التطبيقات باستخدام JavaScript مع أن دورة javscript شاملة للويب كاملاً وتطبيقات المحمول أـيضاً . عدا ذلك إذا كنت تفضل الدخول لتخصص آخر فلديك العديد من الدورات التي تتخص في مجالات أخرى بعيداً عن الويب مثل دورة تطوير الألعاب. ولكن إذا كنت ترغب بتحسين أداء التطبيقات وفهم الخوارزميات على مستوى أعمق، وتكون جاهزاً لحل مشاكل معقدة في المشاريع الكبيرة فيمكنك إختيار دورة علوم الحاسوب فهي توفر لك أساس قوي يفيدك بلا شك في مجالك
  25. كما تم التوضيح فإنه لا يفضل تخطي أي درس أو مفهوم بدون تعلمه بشكل صحيح ولاحظ أنه لديك فريق كامل من المدربين للإجابة على استفساراتك واسئلتك ومساعدتك في حل المشكلات التي تواجهك. وبالنسبة للكلمة return يمكن تعلمها من خلال الأمثلة التالية def add(a, b): return a + b sum_result = add(3, 4) # 7 في المثال السابق تعيد الدالة add قيمة الجمع مباشرةً ليتمّ تخزينها في sum_result . وإليك مثال آخر def is_even(n): if n % 2 == 0: return True return False عند استيفاء الشرط يُرجع True، وإلا ينتهي بلوغ نهاية الدالة فتُرجع None (أو يمكنك استخدام return False) .
×
×
  • أضف...