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

Mustafa Suleiman

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

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

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

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

    403

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

  1. LabelEncoder يقوم بتحويل القيم الفئوية (مثل أحمر، أخضر، أزرق) إلى قيم رقمية صحيحة (مثل 0، 1، 2)، أي يعين رقمًا فريدًا لكل فئة حسب ترتيب ظهورها في البيانات أو ترتيب أبجدي. ونستخدمه مع البيانات Ordinal Categorical Data، أي البيانات التي تحمل ترتيبًا أو تسلسلًا منطقيًا (مثل منخفض، متوسط، مرتفع). أيضًا مع البيانات الفئوية الاسمية Nominal Categorical Data مثل الألوان، ولكن بحذر شديد، لأن ذلك أحيانًأ يؤدي إلى مشاكل في بعض الخوارزميات مثل إدخال ترتيب غير مرغوب حيث الأرقام التي يعينها قد تفهمها الخوارزمية على أنها ترتيب أو علاقة، وهذا غير صحيح، بمعنى قد تفهم الخوارزمية أن أزرق (2) أكبر من أحمر (0)، وذلك غير منطقي. وأحيانًا يؤثر على أداء بعض الخوارزميات (مثل الانحدار الخطي) تتأثر سلبًا بالترتيب غير المنطقي الذي قد يضيفه LabelEncoder للبيانات الاسمية. بينما OneHotEncoder يقوم بتحويل القيم الفئوية إلى أعمدة ثنائية (0 أو 1) لكل فئة، أي ينشئ عمودًا جديدًا وفي حال القيمة في الصف تنتمي إلى تلك الفئة، يضع 1 في العمود المقابل، وإلا يضع 0. ويستخدم بشكل أساسي مع Nominal Categorical Data، حيث لا يوجد ترتيب منطقي بين الفئات، وأيضًا مع البيانات الترتيبية، ولكن ربما يؤدي إلى زيادة كبيرة في عدد الأعمدة (الأبعاد) في حال كان عدد الفئات كبيرًا. ميزته تجنب إدخال ترتيب غير مرغوب حيث لا يفرض أي ترتيب أو علاقة بين الفئات، بالتالي هو مناسب للبيانات الاسمية، بجانب أنه يساعد الخوارزميات على فهم البيانات الفئوية بشكل أفضل، خاصةً الخوارزميات التي تعتمد على المسافات أو العلاقات الخطية. ومن عيوبه أحيانًا زيادة كبيرة في عدد الأعمدة (الأبعاد) في حال عدد الفئات كبيرًا، بالتالي يؤثر على أداء بعض الخوارزميات أو يزيد من استهلاك الذاكرة. أيضًأ مشكلة التعدد الخطي Multicollinearity لو هناك علاقة خطية بين بعض الأعمدة الناتجة عن OneHotEncoder، الأمر الذي يؤثر على بعض الخوارزميات (مثل الانحدار الخطي)، وتستطيع حل المشكلة باستخدام تقنيات مثل حذف أحد الأعمدة أو استخدام Regularization.
  2. نستخدمها مثلاً لتقدير قيمة معينة على أساس عينة عشوائية، وتعطي فكرة عن مدى الثقة في تقدير تلك القيمة، وتساعد في تحديد مدى دقة التقدير. وبالتفصيل تظهر أهميتها في تقدير النطاق المحتمل للقيمة الحقيقية للمَعْلَمة حيث في الإحصاء، المعلمة Parameter هي قيمة عددية تصف خاصية لمجتمع إحصائي بأكمله (مثل متوسط الدخل لجميع سكان بلد ما). والعينات Samples ففي الواقع، غالبًا ما يكون من المستحيل أو المكلف قياس المعلمة مباشرة، بالتالي نأخذ عينة من المجتمع ونحسب إحصائية من تلك العينة (مثل متوسط الدخل في عينة من السكان). ومجال الثقة يوفر نطاقًا من القيم المحتملة التي قد تقع فيها المعلمة الحقيقية للمجتمع، حسب الإحصائية المحسوبة من العينة، وذلك النطاق يعطينا فكرة عن مدى دقة تقديرنا للمعلمة. أيضًا مفيدة في قياس عدم اليقين في التقديرات، فبسبب طبيعة العينات العشوائية الإحصائية المحسوبة من عينة واحدة قد تختلف قليلاً عن الإحصائية المحسوبة من عينة أخرى. ويعكس مجال الثقة ذلك التباين وعدم اليقين، فكلما كان مجال الثقة أوسع، زاد عدم اليقين في تقديرنا للمعلمة، ويرتبط عرض مجال الثقة بمستوى الثقة (مثل 95% أو 99%)، ومستوى الثقة يمثل نسبة العينات التي ستنتج فترات ثقة تحتوي على المعلمة الحقيقية للمجتمع. للتوضيح، لو كانت القيمة المتوقعة لارتفاع طالب في المدرسة الثانوية هي 175 سم، مع انحراف معياري قدره 5 سم، فإن مجال الثقة بنسبة 95% هي (165 سم، 185 سم)، وذلك يعني أن هناك 95% من الثقة في أن القيمة الحقيقية لارتفاع طالب في المدرسة الثانوية تقع بين 165 سم و185 سم. أو لو هناك دراسة طبية تقارن بين دواء جديد ودواء وهمي، فإن مجال الثقة سيوضح النطاق المحتمل للفرق في الفعالية بين الدوائين.
  3. ما الهدف من العمود؟ في كثير من الأحيان سيكون ذلك لتجميع فئات أقل شيوعًا أو ذات أهمية ثانوية، أي قبل أي شيء، حاول فهم ما الذي يمثله Other، هل هو تجميع لفئات محددة؟ هل هو فئة افتراضية؟ أيضًا تفقد هل ذلك لا يمثل بيانات مفقودة أو غير صحيحة، فربما تحتاج إلى تنظيف البيانات إن كان الأمر كذلك. بالتالي في حال كانت تمثل فئة ذات معنى في التحليل، أو تريد الحفاظ على جميع الفئات الأصلية فلا تحتاج إلى فعل أي شيء، من الممكن إعادة التسمية في تلك الحالة. وفي حال كانت تمثل فئات صغيرة فيمكن دمجها مع فئة أخرى ذات صلة. أما في حال تمثل فئات غير محددة فقم بتوزيعها بناءًا على نسبة معينة، لكن تلك الطريقة أكثر تعقيدًا وتتطلب فهمًا أعمق للبيانات لديك. وفي حال تمثل نسبة صغيرة جدًا من البيانات ولا تؤثر بشكل كبير على التحليل، قم بحذفها، وهناك طريقة أخرى وهي التعامل معها كبيانات مفقودة NaN في التحليل.
  4. الطريقة الأبسط هي تشغيل سيرفر المشروع كما تفعل أثناء التطوير وستتمكن من الوصول للمشروع من خلال الـ IP الخاص بجهازك ثم رقم المنفذ وهو 8000 إفتراضيًا لمشاريع جانغو. أي لو كان عنوان جهازك هو 192.168.12.1 فتستطيع الوصول للمشروع من خلال أي جهاز بكتابة التالي في المتصفح: 192.168.12.1:8000 وقم بإضافة التالي للإعدادادت للسماح بالإتصال من العناوين المختلفة: ALLOWED_HOSTS = ['*'] بالنسبة للمواصفات فالمعالج يعتمد على نوع المشروع لكن معالج رباعي النواة أو أفضل حديث سيوفي الغرض، بالإضافة إلى 16 جيجابايت على الأقل (يفضل 32 جيجابايت أو أكثر)، وللتخزين 256-512 جيجابايت من نوع SSD. وبطاقة شبكة تدعم سرعة 1 جيجابت في الثانية. هناك طريقة أخرى إحترافية أكثر وهي من خلال nginx + gunicorn
  5. وعليكم السلام أنور، هل اشتركت بدورة علوم الحاسوب؟ لحل المسائل من خلال Pseudocode فالأمر بحاجة إلى تفكير منطقي ودراية بالتدفق الخاص بالكود بالبرمجي بمعنى المتغيرات وأنواع البيانات والتحكم بالتدفق من خلال الجمل الشرطية والحلقات التكرارية والدوال. بالتالي يجب دراسة أساسيات البرمجة سواء من خلال سكراتش (ستتعلم المفاهيم والمنطق الخاص بالبرمجة) وستتمكن من كتابة Pseudocode أو خوارزمية، لكن لتحسين جودة الخوازرمية التي ستقوم بكتابتها يجب تعلم أساسيات لغة برمجية أيضًا مثل جافاسكريبت أو بايثون وسيتم شرح ذلك بالدورة. عامًة السودوكود؟ هو لغة وصفية تشبه لغة البرمجة ولكنها ليست صارمة القواعد، نستخدم بها الكلمات الإنجليزية البسيطة والمنطق الرياضي للتعبير عن خطوات الحل دون الحاجة إلى كتابة الكود الفعلي بلغة برمجة معينة. وذلك لأنه يساعد على التركيز على منطق الحل وتدفق العمليات دون الانشغال بتفاصيل اللغة البرمجية، بالتالي يجعله مثالياً للامتحانات التي تركز على فهمك للمفاهيم الأساسية. المكونات الأساسية هي التالي: العمليات الأساسية: مثل الإسناد (assign)، الجمع (+)، الطرح (-)، الضرب (*)، القسمة (/). التحكم في التدفق: مثل الشروط (if-then-else)، الحلقات (for, while). المتغيرات: لتخزين القيم. الدوال والإجراءات: لتنظيم الكود. التعليقات: لتوضيح الخطوات. عليك أولاً فهم التأكد من أنك فهمت تماماً ما تطلبه المسألة، أي ما هي المدخلات؟ ما هي المخرجات المتوقعة؟ ما هي الشروط أو القيود؟ ثم ما هو الهدف النهائي الذي يجب أن يحققه الحل؟ بعد ذلك ابحث عن الكلمات التي تشير إلى عمليات معينة (مثل أوجد، احسب، قارن، كرر). ثم تقسيم المشكلة الكبيرة إلى مشاكل صغيرة، بمعنى لو كانت المسألة معقدة، حاول تقسيمها إلى أجزاء أصغر وأسهل للتعامل معها. ثم التفكير في ما هي الخطوات الرئيسية التي يجب اتباعها لحل المسألة؟ وما هي المتغيرات التي ستحتاجها لتخزين البيانات؟ ما هي أنواعها؟ الآن ابدأ بكتابة الخطوات الرئيسية التي حددتها في التحليل واستخدم كلمات بسيطة وواضحة للتعبير عن العمليات، مع استخدام المسافات البادئة indentation لتوضيح هيكل الكود (خاصة داخل الشروط والحلقات). ولا تكتب تفاصيل دقيقة جداً كما في لغة البرمجة، ركز على المنطق العام، وأضف تعليقات لتوضيح الخطوات المعقدة أو لتذكير نفسك بالهدف من كل جزء من الكود. الآن عليك إختبار ما قمت به، بتتبع الكود خطوة بخطوة باستخدام أمثلة بسيطة من المدخلات وتأكد من أن الكود يعمل بشكل صحيح في الحالات الخاصة (مثل المدخلات الفارغة، القيم الحدية، إلخ). وابحث عن الأخطاء المنطقية، أي هل هناك أي أخطاء في منطق الحل؟ هل هناك أي خطوات مفقودة؟ بعد الإنتهاء حاول تبسيط الكود بالتفكير في هل هناك أي طريقة لتبسيط الكود أو جعله أكثر وضوحاً؟ وهل هناك أي طريقة لتحسين كفاءة الحل (على الرغم من أن ذلك ليس التركيز الرئيسي في السودوكود). وإليك مثال إيجاد أكبر عدد في قائمة: // المدخلات: قائمة من الأعداد numbers // المخرجات: أكبر عدد max_number max_number = numbers[0] // نفترض أن أول عدد هو الأكبر مبدئياً for each number in numbers: if number > max_number: max_number = number return max_number
  6. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  7. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  8. عند تنفيذ مشروع على مستقل يتم خصم قيمة المشروع مقدمًا من قبل العميل واحتجازها على منصة مستقل ثم تسليمها إليكِ بعد تسليم المشروع للعميل ووافق هو على الاستلام. في حال تغيب لأسباب مختلفة وتم الإنتهاء من المشروع وتوفير الملفات اللازمة في محادثة المشروع، تتواصلين مع مركز المساعدة للمنصة وسيتم مراسلته أكثر من مرة لذا الأمر قد يطول قليلاً شهر ربما أو أقل، لكن لا داعي للقلق بخصوص حقوقك المالية.
  9. ببساطة HTML مثل الهيكل العظمي لجسم الإنسان، بينما CSS هي المظهر الخارجي بينما JS هي العقل، بدون العقل لن يصبح للجسد فائدة، أي سيكون لديك موقع ثابت لا حياة به مثلاً عن الضغط على زر ما لن يقوم بأي شيء بدون لغة البرمجة جافاسكريبت. لاحظ التالي: بالتالي يجب تعلم لغة برمجة لتقوم بتنفيذ المنطق الذي تريده في الموقع وليس تصميم شكل فقط، في حال لا تريد أن تصبح مبرمج وتهتم بالواجهة إذن مجال UI/UX هو ما تبحث عنه وتستطيع به الإكتفاء بتعلم HTML, CSS فقط.
  10. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  11. في البيانات الطبية، يكون له أهمية كبيرة في تحليل البيانات ودراسة تأثير العرق على الصحة والنتائج الصحية. فذلك من شأنه المساعدة في تحديد الاختلافات العرقية في الصحة والمرض، فقد يُظهر تحليل البيانات أن بعض الأمراض أكثر شيوعًا في فئات معينة من السكان، مثل السكري في الأمريكيين الأفارقة أو أمراض القلب في الأمريكيين البيض. وفي تحديد العوامل الصحية المحددة للعرق، مثل الاختلافات في استجابة الجسم للعلاجات أو الاختلافات في خطر الإصابة بأمراض معينة، أو تطوير علاجات محددة للعرق، حيث يمكن أن تختلف فعالية العلاجات بناءً على العرق. أيضًا تحسين جودة الرعاية الصحية عن طريق تحديد الفروق العرقية في الرعاية الصحية ووضع استراتيجيات لتحسين الرعاية الصحية للفئات المحددة، وتحليل تأثير العوامل الاجتماعية والاقتصادية على الصحة، مثل تأثير الفقر أو التعليم على الصحة. لكن العرق ليس دائمًا مصدرًا موثوقًا للبيانات، حيث تختلف التعريفات والتصنيفات العرقية بين البلدان والثقافات.
  12. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  13. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  14. قم بتسجيل الخروج من الأكاديمية ثم تسجيل الدخول مرة أخرى.
  15. نعم فالتخفيضات تتم على الدورات وليس على شيئًا آخر، جميع العروض هي على الدورات المقدمة من أكاديمية حسوب.
  16. كل فترة يتم توفير عروض على الدورات من قبل الأكاديمية، وذلك في أوقات مثل العطلة الصيفية أو رمضان وأحيانًا في فترة التخفيضات السنوية الخاصة بالجمعة البيضاء أو في بداية العام، وفي بعض الأحيان يتم توفير كوبونات. في الوقت الحالي لا يوجد عروض تستطيع سؤال مركز المساعدة عن توفر كوبون خصم حاليًا أم لا؟ أو الإنتظار لحين توفر عروض في الأوقات التي تم ذكرها.
  17. أرجو توضيح الكود لديك وما الذي قمت به، حاول استخدام inline CSS ولديك مكتبة laravel-mail-css-inliner للقيام بذلك.
  18. بالبحث على مواقع التوظيف مثل LinkedIn و Indeed عن وظائف تحت عنوان internship. لكن ما ذكرته غير صحيح، يجب أن تتخصص في مجال واحد فقط لكي على تحصل على فرصة في القبول بالـ internship، حيث ستحصل على فترة تدريب لمدة 3 حتى 6 أشهر مدفوع الأجر أو شبه مدفوع وبعد ذلك قد تحصل على فرصة توظيف دائمة. ويجب أن يكون لديك معرض أعمال لإثبات مهاراتك وليس حبر على ورق فقط، حيث يتم التقدم من قبل الكثير من الأشخاص للحصول على فرصة التدريب. وأيضًا إعداد سيرة ذاتية إحترافية. ستجد تفصيل هنا:
  19. يتم تحديث الدورات كل فترة سواء بتحديث مسارات لاستخدام أحدث التقنيات أو بإضافة محتوى جديد، وإطار FastAPI من الإطارات المهمة بخصوص لغة بايثون. فهو يقدر لك طريقة سهلة وسريعة كما هو واضح من اسمه، ففكرته تقوم على كتابة أقل قدر ممكن من الكود لإنشاء API كامل ومتعدد المزايا، حيث يوفر الكثير من المزايا بالمجان بدون الحاجة إلى برمجتها، مثل التحقق من أنواع البيانات التي يتم إرسالها، إعادة الأخطاء بشكل مناسب ومفهوم، توليد التوثيق بشكل تلقائي، والكثير غير ذلك. أي لا حاجة لدراسة أُطر العمل الأكثر تعقيدا مثل Flask و Django. يمكنك متابعة آخر التحديثات بخصوص الدورات من هنا: https://academy.hsoub.com/release-notes/
  20. ذلك في البداية وليس في النهاية، من الأفضل دراسة أساسيات المحاسبة لو تنوي القيام بالمشروع ويجب وجود محاسب ذو خبرة معك أيضًا ويجب توضيح ذلك للعميل.
  21. لا عليك، في حال لديك الوقت الكافي قم بدراسة كامل الدورة ثم قرر أي مجال تريد، لكن المجال يتم تقريره تبعًا لسوق العمل وليس تبعًا لما تفضله أنت، أي عليك البحث في سوق العمل لديك عن الوظائف الخاصة بمستوى Junior أو خبرة سنة أو سنتين وتفقد التقنيات المطلوبة وما هو المجال أو التقنيات المطلوبة بكثرة، لديك مواقع مثل LinkedIn و Indeed، وذلك لكي تحافظ على وقتك وتدرس في الإتجاه الصحيح. بعد ذلك قم بدراسة المسارات الخاصة بالمجال الذي حددته، مثلاً مجال الويب يوجد لديك الواجهة الأمامية والواجهة الخلفية وفي حال دراستهم معًا تصبح Full-stack وذلك مسمى وظيفي مطلوبة خاصًة في بداية مسيرتك. المسارات الأساسية: أساسيات لغة JavaScript أساسيات TypeScript مسارات الواجهة الأمامية: أساسيات React.js تطبيق دردشة يشبه WhatsApp (الجزء الخاص بالواجهة الأمامية react). مسارات الواجهة الخلفية: أساسيات Node.js تطبيق دردشة يشبه WhatsApp (الجزء الخاص بالخادم) تطبيق حجز مناسبات باستخدام GraphQL Full-stack: إنشاء تطبيق أسئلة وأجوبة باستخدام Next.js تطبيق تعلم اللغات باستخدام Next.js وتقنيات الذكاء الاصطناعي
  22. ليس كذلك، ما ستقوم به أنت هو عملية التطوير لكن هل المطلوب هو نظام ERP أم نظام محاسبي accounting فقط مثل Quickbooks عامًة ما يريده العميل هو إنشاء منصة SaaS لتقديم خدمة بإشتراك. ستحتاج إلى شخص لديه خبرة في المحاسبة وليس خبرة بسيطة، من أجل مساعدتك في تخطيط هيكل المشروع، أي تحديد المطلوب ثم التفكير حول كيفية ترجمة ذلك داخل المنصة، ولن تستطيع القيام بذلك بمفردك، فنعم بإمكانك تعلم أساسيات المحاسبة لكن لن تمتلك الخبرة اللازمة من الواقع العملي والمشاكل المتعلقة بالعمليات المحاسبية وما يبحث عنه العملاء، فالغرض من المنصة هو تقديم حل للـ pain points الخاصة بالعملاء. عامًة يوجد دورة عربية كبيرة على اليوتيوب خاصة بلارافل ابحث عن "erp system project laravel" وتفقد الأمر.
  23. يوجد عنصر RichTextBox في وينفورم لإنشاء ورقة نصية يمكنك فيها كتابة النصوص بطرق مختلفة، لكن لو تريد إنشاء ورقة نصية بتصميم معين، فاستخدم عنصر Panel ووضع عناصر Label و TextBox . using System; using System.Windows.Forms; public class MyForm : Form { public MyForm() { Panel panel = new Panel(); panel.Location = new System.Drawing.Point(0, 0); panel.Size = new System.Drawing.Size(320, 210); this.Controls.Add(panel); Label label1 = new Label(); label1.Location = new System.Drawing.Point(10, 10); label1.Size = new System.Drawing.Size(100, 20); label1.Text = "اسم الطالب :"; panel.Controls.Add(label1); TextBox textBox1 = new TextBox(); textBox1.Location = new System.Drawing.Point(120, 10); textBox1.Size = new System.Drawing.Size(150, 20); panel.Controls.Add(textBox1); Label label2 = new Label(); label2.Location = new System.Drawing.Point(10, 40); label2.Size = new System.Drawing.Size(100, 20); label2.Text = "عنوانه :"; panel.Controls.Add(label2); TextBox textBox2 = new TextBox(); textBox2.Location = new System.Drawing.Point(120, 40); textBox2.Size = new System.Drawing.Size(150, 20); panel.Controls.Add(textBox2); Label label3 = new Label(); label3.Location = new System.Drawing.Point(10, 70); label3.Size = new System.Drawing.Size(100, 20); label3.Text = "رقم الهاتف :"; panel.Controls.Add(label3); TextBox textBox3 = new TextBox(); textBox3.Location = new System.Drawing.Point(120, 70); textBox3.Size = new System.Drawing.Size(150, 20); panel.Controls.Add(textBox3); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MyForm()); } } وفي حال تريد استخدام كريستال ريبورت لإنشاء تقرير، فاستخدم عنصر CrystalReportViewer في وينفورم: using System; using System.Windows.Forms; using CrystalDecisions.Windows.Forms; public class MyForm : Form { public MyForm() { CrystalReportViewer crystalReportViewer = new CrystalReportViewer(); crystalReportViewer.Location = new System.Drawing.Point(0, 0); crystalReportViewer.Size = new System.Drawing.Size(320, 210); this.Controls.Add(crystalReportViewer); MyReport myReport = new MyReport(); crystalReportViewer.ReportSource = myReport; } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MyForm()); } } ولإنشاء تقرير كريستال، استخدم أداة كريستال ريبورت في فيجوال ستوديو من خلال: فتح المشروع في فيجوال ستوديو. انقر على Projec ثم Add New Item. اختر Crystal Reports من قائمة النماذج. اختر Crystal Report ثم انقر على Add. في نافذة Crystal Report Gallery، اختر Blank Report ثم انقر على OK. في نافذة Crystal Report Designer، يمكنك إنشاء تقريرك بتصميم معين.
  24. يجب توضيح ما المشكلة التي تواجهها وفي أي جزء من التصميم بتوفير صورة على الأقل لما يحدث لديك، ومن الأفضل توفير الكود.
  25. لا يوجد مشكلة عند الضغط على زر تسجيل الدخول أو زر إنشاء الحساب، قمت بكتابة إيميل وباسورد وتم تسجيل الدخول والتحويل للصفحة الرئيسية. عامًة قم بتغيير الكود للتالي: registerBtn?.addEventListener('click', () => { container.classList.add("active"); }); loginBtn?.addEventListener('click', () => { container.classList.remove("active"); }); لاحظ ? وهو Optional chaining operator فائدته التحقق من وجود قيمة أي يعمل على التحقق من وجود قيمة registerBtn و loginBtn قبل محاولة الوصول إلى خاصية addEventListener. وفي حال registerBtn أو loginBtn تساوي null أو undefined، فإن الكود لن يُنفذ addEventListener وسيتم تجنب حدوث خطأ.
×
×
  • أضف...