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

لوحة المتصدرين

  1. Zen Eddin Allaham

    Zen Eddin Allaham

    الأعضاء


    • نقاط

      6

    • المساهمات

      820


  2. Youcef Kias

    Youcef Kias

    الأعضاء


    • نقاط

      3

    • المساهمات

      390


  3. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      3

    • المساهمات

      18935


  4. Salwa Saram

    Salwa Saram

    الأعضاء


    • نقاط

      2

    • المساهمات

      12


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 07/07/25 في كل الموقع

  1. السلام عليكم لدي سؤال عن الامتحان ومتى بإمكاني ان اجري ذلك الامتحان هل بعد اتمام الكورس بكل تفاصيله ام ان هناك مسارات رئيسية بعد اتمامها بامكاني اجراء الامتحان وليس كل الكورس ؟؟ علماً اني ادرس JavaScript
    2 نقاط
  2. هل فيه حد عنده رأي بأفضل أدوات تصميم الـ API؟ Postman ممتازة بس بحسها مش كافية أحياناً.
    1 نقطة
  3. ماهو خطاف useLocation وايضا ماهو location و pathname
    1 نقطة
  4. هل في أدوات عربية أو بتدعم اللغة العربية لتسهيل تطوير الـ APIs؟
    1 نقطة
  5. توجد مشكلة في مشروع عند اضافة انميشن للموقع اصبح غير متجاوب مع شاشات الهاتف هل مشكلة من مكتبة انميشن ام يوجد خطأ في كود css doctor-product.zip
    1 نقطة
  6. توجد لدي مشكلة محبطة صراحة والتي هي عندما اشاهد مشروع متقدم وكبير واحترافي اشعر بالضعف في مجال واحس نفسي اني ضعيف وابدا اقارن نفسي به ما الحل برايكم
    1 نقطة
  7. ماهو basename في react router ايضاً ماهو ملف client.js
    1 نقطة
  8. يكون الامتحان هو بعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها الدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم ستنتظر الى ان يعطوك رد. الاجرائات هي: إجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب عليك أسئلة متعلقة بالدورة والأمور التي نفذتها خلالها. يحدد لك المدرب مشروعا مرتبطا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة. إجراء محادثة صوتية أخرى لمدة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن كانت الخطوات السابقة صحيحة، تحصل على الشهادة أو يصحح لك المدرب اخطائك ويطلب منك تعديلات. بالنسبة للدورة فمن الأفضل اكمالها كامل لان سوق العمل تنافسي جدا.
    1 نقطة
  9. آلية الإختبار هي كالتالي: بعد إنهاء 4 مسارات من الدورة على الأقل حيث سيتم إختبارك في المسارات التي أنهيتها فقط، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. وبالطبع الأفضل دراسة الدورة بشكل كامل أو المسارات التي تريدها في مسارك البرمجي وليس الإكتفاء بـ 4 مسارات فقط، ففي النهاية أنت تريد تحقيق استفادة وتعلم المهارات اللازمة لدخول سوق العمل.
    1 نقطة
  10. السلام عليكم التنسيقات لا تعمل عندي فقمت بالسآل فقام احد المدربين مشكورا بالرد وبدل لي الملفات الموجودة داخل (static) ولكن المشكلة لم تحل ارجو المساعد شكراdjango_store.zip
    1 نقطة
  11. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
    1 نقطة
  12. كيف يمكن رفع مشاريع على جيت هب
    1 نقطة
  13. السلام عليكم , لدي هذه المشكلة في Flask، وأعطتني خطأ 404، وهذا هو ملفي flask_app.py
    1 نقطة
  14. لا مشكلة في تدريس الأساسيات النظرية أولاً أي التعلم العميق والشبكات العصبية، ثم الانتقال إلى البنى المتقدمة المبنية عليها كالـ Transformers. لكن الفكرة من إعادة الترتيب هو إتباع منهجية حديثة وهي من الأعلى إلى الأسفل أو التطبيق أولاً، وذلك بدلاً من المنهجية التقليدية من الأسفل إلى الأعلى أو النظرية أولاً. وذلك لتعلم كيفية قيادة السيارة وتحقيق بها نتائج ملموسة تطبيقات المحولات، ثم بعد أن يدرك الطلبة أهميتها وقوتها، سيتعلمون كيف يعمل محركها الداخلي أي التعلم العميق. بمعنى المحولات هي نوع من الشبكات العصبية، لكن استخدامها كأداة لا يتطلب بالضرورة فهم كل تفاصيلها النظرية المعقدة مسبقًا، تمامًا كما أنك تستخدم هاتفك الذكي كل يوم دون الحاجة لمعرفة تصميم أشباه الموصلات في معالجه. لذا الترتيب الجديد غرضه، تعليمك المهارات التطبيقية الأكثر طلبًا أولاً، وإبقائك متحفزة عبر بناء مشاريع حقيقية مبكرًا، وتأهيلك بشكل عملي لفهم النظرية لاحقًا بشكل أسهل وأكثر جدوى.
    1 نقطة
  15. تم انهاء المشروع مارأيكم به هل يحتاج بعض الاضافات التي ممكن تجعله قوي اكثر https://bbqhause-resturant.netlify.app/
    1 نقطة
  16. وعليكم السلام ورحمة الله وبركاته. لاحظ أنك أولا قمت باستخدام plt.subplot(2,2,2) مرتين بدون رسم في المرة الأولى وهذا سيؤدي إلى مشكلة بسبب التعارض. يمكنك إذا أردت وضع الكود بأكمله في دالة وذلك منعا للتكرار لو تقوم بتنفيذ الكود أكثر من مرة : import matplotlib.pyplot as plt import seaborn as sns def plot_demographics(data_train, data_train_demographics): plt.figure(figsize=(12, 8)) # الرسم البياني الأول: KDE Plot plt.subplot(2, 2, 1) sns.kdeplot(data_train_demographics['adult_child'], fill=True, color='skyblue', bw_adjust=0.5) plt.title("KDE Plot of Age") plt.xlabel("Age") # الرسم البياني الثاني: Histogram plt.subplot(2, 2, 2) sns.histplot(data_train_demographics['hla_match_dqb1_high'], kde=False, color='skyblue') plt.title('Distribution of HLA Match DQB1 High') plt.xlabel("HLA Match DQB1 High") plt.ylabel("Count") # الرسم البياني الثالث: Count Plot ل TCE IMM Match plt.subplot(2, 2, 3) sns.countplot(data=data_train, x='tce_imm_match', color='blue') plt.title('Distribution of TCE IMM Match') plt.xlabel("TCE IMM Match") plt.ylabel("Count") # الرسم البياني الرابع: Count Plot ل HLA NMDP 6 plt.subplot(2, 2, 4) sns.countplot(data=data_train, x='hla_nmdp_6', color='blue') plt.title('Distribution of HLA NMDP 6') plt.xlabel("HLA NMDP 6") plt.ylabel("Count") plt.tight_layout() plt.show() # استدعاء الدالة و تمرير البيانات لها plot_demographics(data_train, data_train_demographics) أما لو أردت إستعمال OOP حيث تجعل لكل رسم دالة خاصة به وذلك لرسمه دون تكرار للأكواد يمكنك إستخدام التالي : import matplotlib.pyplot as plt import seaborn as sns class DemographicVisualizer: def __init__(self, data_train, data_train_demographics, figsize=(12, 8)): self.data_train = data_train self.data_train_demographics = data_train_demographics self.figsize = figsize self.colors = {'kde': 'skyblue', 'count': 'blue'} def plot_kde(self, ax, column, title, xlabel): sns.kdeplot(self.data_train_demographics[column], fill=True, color=self.colors['kde'], bw_adjust=0.5, ax=ax) ax.set_title(title) ax.set_xlabel(xlabel) def plot_histogram(self, ax, column, title, xlabel, ylabel): sns.histplot(self.data_train_demographics[column], kde=False, color=self.colors['kde'], ax=ax) ax.set_title(title) ax.set_xlabel(xlabel) ax.set_ylabel(ylabel) def plot_count(self, ax, column, title, xlabel, ylabel, data_source='data_train'): data = self.data_train if data_source == 'data_train' else self.data_train_demographics sns.countplot(data=data, x=column, color=self.colors['count'], ax=ax) ax.set_title(title) ax.set_xlabel(xlabel) ax.set_ylabel(ylabel) def plot_all(self): fig, axes = plt.subplots(2, 2, figsize=self.figsize) # الرسم البياني الأول: KDE Plot self.plot_kde(axes[0, 0], 'adult_child', 'KDE Plot of Age', 'Age') # الرسم البياني الثاني: Histogram self.plot_histogram(axes[0, 1], 'hla_match_dqb1_high', 'Distribution of HLA Match DQB1 High', 'HLA Match DQB1 High', 'Count') # الرسم البياني الثالث: Count Plot ل TCE IMM Match self.plot_count(axes[1, 0], 'tce_imm_match', 'Distribution of TCE IMM Match', 'TCE IMM Match', 'Count', data_source='data_train') # الرسم البياني الرابع: Count Plot ل HLA NMDP 6 self.plot_count(axes[1, 1], 'hla_nmdp_6', 'Distribution of HLA NMDP 6', 'HLA NMDP 6', 'Count', data_source='data_train') plt.tight_layout() plt.show() # استخدام الكائن visualizer = DemographicVisualizer(data_train, data_train_demographics) visualizer.plot_all() وهكذا وضعنا كل رسم في دالة داخل الصنف حيث يمكنك إستخدامها وطباعتها بشكل منفصل . وأيضا قمنا بتجميع طباعة جميع الرسومات في الدالة plot_all وبمجرد إستدعائها يصبح الكود كما الكود الذي أرفقته أنت.
    1 نقطة
  17. مرحباً، لماذا تم نقل مسار تطبيقات عملية باستخدام المحولات (Transformers) لبعد مسار تحليل البيانات Data Analysis وأصبحت قبل مسار Deep Learning ؟ أليست المحولات نوع معين من الشبكات العصبية و بالتالي من المنطقي أن تبقى كما كانت في الأول أي بعد مسار Deep Learning ليتعرف الطالب أولاً على الشبكات العصبية ثم ينتقل لدراسة المحولات؟
    1 نقطة
  18. good, but how to make login and register sent you to prediction site instead of dashboard,, and also make the information go to dbgate
    1 نقطة
  19. فلنقل إنك تسير في شارع مكتظ وسط المدينة، تتأهب للمرور في مفترق طرق وفي هذه الأثناء انتقلت الإشارة الضوئية الخاصّة بالراجلين إلى اللون الأحمر. مالذي ستفعله؟ تتوقف… أليس كذلك؟ ماذا لو تبدّل اللون إلى الأخضر بعد ذلك؟ تعود إلى المشي. يمكننا اعتماد نفس المبدأ في الشفرات البرمجية. يبدو الأمر كما لو أنك تقول “إن أصبح لون الإشارة أحمر فيجب عليك التوقف وإلا استمرّ في المشي”. هذا بالضبط هو عمل الجملة if/else (إنْ… وإلا) في جافاسكريبت. الجملة if/else تساعد الجملة if/else بالتحكّم في ما يفعله برنامجك في حالات محدّدة. تأخذ الصيغة التالية: if (condition) { // افعل شيئا هنا } else { // افعل شيئا مغايرا هنا } يخبر الشرط Condition الجملة if/else مالذي يجب عليها التحقّق منه قبل الاستمرار. إذا كانت قيمة الشرط صحيحة (تساوي true) فإن جافاسكريبت سينفّذ الشفرة الموجودة داخل كتلة if. أما إذا كانت قيمة الشرط غير صحيحة (أي false) فإن الشفرة الموجودة في الكتلة else هي ما سيُنفّذ. بالعودة إلى مثال الإشارة الضوئية أعلاه فإن الأمر سيأخذ الصيغة التالية: if (الإشارة حمراء) { // توقّف عن المشي } else { // استمرّ في المشي } إن احتجت للتحقّق من شروط عدّة فيمكنك إضافة else if بين كتلتيْ if وelse. متى ستحتاج لشرط ثان؟ فلنقل إنك تمرّ عبر طريق صغيرة. إن لم تكن هناك سيارات فهل ستستمر في الانتظار إلى أن يتغيّر لون الإشارة الضوئية؟ على الأرجح ستواصل طريقك. بترجمة الحالة أعلاه إلى شفرة برمجية نجد التالي: if (الإشارة حمراء) { // توقّف عن المشي } else if (توجد سيارات) { // توقّف عن المشي } else if (شرط آخر) { // افعل أمرا آخر } else { // أمر أخير } إذا كان الشرط الأول في الشفرة أعلاه متحقّقا فإن مفسّر جافاسكريبت ينفّذ الشفرة الموجودة ضمن كتلة if، أما إذا كان هذا الشرط غير متحقّق فإن المفسّر ينظُر في الشرط الموجود في جملة else if الموالية لمعرفة ما إذا كان متحقّقا… وهكذا إلى إن يمرّ عبر جميع جمل else if. يعتمد مفسّر جافاسكريبت على أساسيْن لمعرفة تحقّق الشرط من عدمه: عوامل المقارنة Comparison operators. القيم الصحيحة و القيم الخاطئة. عوامل المقارنة توجد أربعة عوامل أساسية للمقارنة: “أكبر من” < أو “أكبر من أو يساوي”=< “أصغر من” > أو “أصغر من أو يساوي”=> “يساوي تماما” === أو “يساوي” == “يختلف تماما” ==! أو “يختلف” =! النوعان الأولان من عوامل المقارنة واضحان ويستخدمان لمقارنة الأعداد: 24 > 23 // صحيح 24 > 24 // خاطئ 24 >= 24 // صحيح 24 < 25 // صحيح 24 < 24 // خاطئ 24 <= 24 // صحيح النوعان التاليّان يُستخدمان لمقارنة تساوي شيئين: 24 === 24 // صحيح 24 !== 24 // خاطئ إلا أنه يوجد فرق بين “يساوي تماما” === و “يساوي” ==، وبين “يختلف تماما” == ! و “يختلف” =! '24' === 24 // خاطئ '24' == 24 // صحيح '24' !== 24 // صحيح '24' != 24 // خاطئ يتّضح من المثال أعلاه أن مقارنة العدد 24 بسلسلة المحارف 24 تعطي نتيجة خاطئة عند استخدام العامل “يساوي تماما” (===) بينما تعطي نتيجة صحيحة عند استخدام العامل “يساوي” (==). لماذا هذا الاختلاف؟ فلنر الفرق بين “يساوي تماما” و “يساوي”. الفرق بين === و == (و بين ==! و =!) أنواع البيانات Data types في جافاسكريبت ليست صرامة بل متساهلة، عكس لغات أخرى. يعني هذا أننا لا نهتم عندما نعرّف متغيّرا بنوع البيانات الذي ستأخذه قيمة هذا المتغيّر. يمكنك تعريف أي متغيّر وسيتكفّل مفسّر جافاسكريبت بالتعامل مع نوع البيانات الخاصّ بقيمة المتغيّر: const aString = 'Some string' const aNumber = 123 const aBoolean = true عند استخدام العامل “يساوي تماما” (===) أو “يختلف تماما” (==!) فإن مفسّر جافاسكريبت يأخذ أنواع بيانات قيم المتغيّرات بالحسبان؛ لهذا السبب فإن سلسلة المحارف 24 تختلف عن العدد 24. '24' === 24 // خطأ '24' !== 24 // صحيح أما عند استخدام العامل “يساوي” (==) أو “يختلف” (=!) فإن مفسّر جافاسكريبت يحوّل نوع البيانات بحيث يتساوى نوع طرفيْ المقارنة قبل أن ينظُر في القيمة. عمومًا، يحاول مفسّر جافاسكريبت تحويل جميع أنواع البيانات إلى أعداد عند استخدام عوامل المقارنة (ما عدا ===و==!). تُحوَّل سلسلة المحارف 24 في المثال أدناه إلى العدد 24 قبل المقارنة. هذا هو السبب الذي يجعل سلسلة المحارف 24 تساوي العدد 24 عند استخدام العامل ==: '24' == 24 // صحيح '24' != 24 // خاطئ يمكن كذلك تحويل القيم المنطقية (true وfalse) إلى أعداد، وعندها تصبح قيمة true تساوي 1 وfalse تساوي 0: 0 == false // صحيح 1 == true // صحيح 2 == true // خاطئ يعدّ التحويل التلقائي الذي يقوم به مفسّر جافاسكريبت أثناء استخدام عوامل المقارنة أحد أكثر الأسباب شيوعا لصعوبة التعرف على العلل Bugs أثناء تطوير البرامج؛ لذا استخدم دوما عوال المقارنة التامّة (=== أو==!). دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن مقارنة الكائنات والمصفوفات حاول أن تقارن بين الكائنات أو بين المصفوفات بالعامل === أو == وستجد نتيجة مفاجئة: const a = { isHavingFun: true } const b = { isHavingFun: true } console.log(a === b) // خطأ: الكائن a مختلف تماما عن الكائن b console.log(a == b) // خطأ: الكائن a مختلف عن الكائن b الكائنان a وb في المثال أعلاه يبدوان متشابهين تماما: كلاهما كائن ويحويان نفس القيم. الأمر الغريب هو أن المقارنة a === b ترجع دائما قيمة خاطئة false؛ لماذا؟ فلنفترض أنكَ وأخاك (أو أنكِ وأختك) توأم. تبدو مشابهًا تمامًا لأخيك: نفس لون الشعر، نفس شكل الوجه، نفس الثياب؛ كيف يمكن التفريق بينك وأخيك؟ سيكون الأمر صعبًا. لدى كل كائن في جافاسكريبت بطاقة تعريف (هوية) تُسمّى مرجع الكائن Object’s reference. عند استخدام عوامل المقارنة للتحقّق من تساوي كائنين في جافاسكريبت فإنك تطلُب من المفسر التحقّق ممّا إذا كان للكائنيْن نفسُ المرجع (بطاقة التعريف). ليس غريبًا الآن أن تكون قيمة الشرط a === b في المثال أعلاه مساوية لـfalse. فلنعدّل قليلاً على المثال ونسند a إلى b: const a = { isHavingFun: true } const b = a تصبح نتيجة المقارنة a === b الآن مساوية لـ true (أي أن الكائنين متساويان). السبب في ذلك هو أن الكائنين a وb لديهما الآن نفس المرجع. console.log(a === b) // true القيم الصحيحة و القيم الخاطئة إن وضعت اسم متغيّر (hasApples - بمعنى لديه تفاح - في المثال أدناه) مكان الشرط في جملة if/else فإن مفسّر جافاسكريبت سيبحث عن قيمة صحيحة أو قيمة خاطئة. const hasApples = 'true' if (hasApples) { // تناول تفاحة } else { // اشتر تفاحا } القيم الخاطئة هي قيم تأخذ القيمة false عند تحويلها إلى نوع البيانات المنطقية Boolean. توجد ست قيم خاطئة في جافاسكريبت: false undefined null 0 (العدد صفر) "" (سلسلة محارف فارغة) NaN على الجانب الآخر، القيم الصحيحة هي تلك التي تأخذ القيمة true بعد تحويلها إلى بيانات منطقية. في حالة الأعداد فإن أية قيمة مغايرة للصفر تُحوَّل إلى قيمة صحيحة. تُشجّع جافاسكريبت على استخدام التحويل التلقائي إلى قيم صحيحة وقيم خاطئة لكونها تجعل من الشفرة البرمجية أقصر وأسهل فهما. إن أردت على سبيل المثال التحقّق من أن سلسلة محارف فارغة فيمكنك استخدام هذه السلسلة مباشرة في شرط الجملة if/else: const str = '' if (str) { // سلسلة المحارف غير فارغة } else { // سلسلة المحارف فارغة } خاتمة تُستخدم الجمل الشرطية if/else للتحكّم في عمل البرامج في حالات محدّدة؛ فتسمح لك بتحديد ما إذا كان يتوجب عليك الاستمرار في المشي أو الانتظار لتجاوز مفترق طرق. توجد طريقتان للتحقّق من الشروط في جافاسكريبت: عوامل المقارنة القيم الصحيحة والقيم الخاطئة ترجمة - تصرّف - للمقال Understanding if/else statements لصاحبه Zell Liew.
    1 نقطة
×
×
  • أضف...