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

عبد الوهاب بومعراف

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

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

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

كل منشورات العضو عبد الوهاب بومعراف

  1. يجب أن تكون الأقواس متطابقة في Python والصيغة الصحيحة هي: print("Hello") لاحظ أن الأقواس تبدأ وتنتهي حول النص والنص يجب أن يكون بين علامتي اقتباس " " وفي الأخير يجب إغلاق القوس بعد النص أرجو تجربة الكود الصحيح.
  2. يمكنك التحقق أولا من إعدادات العرض بالضغط على Windows + P وتجربة الخيارات المختلفة، ثم التأكد من تحديث تعريف كرت الشاشة من خلال مدير الأجهزة، وتحقق من توافق دقة الشاشة مع المونيتور، وإذا استمرت المشكلة جرب فصل وإعادة توصيل كابل HDMI بعد إعادة تشغيل اللابتوب، وأخيرا تأكد من سلامة الكابل نفسه بتجربة كابل آخر.
  3. يمكنك إيجاد ما تبحث عنه من خلال هذا الموقع: https://www.ascii-code.com/ في حال أردت التوسع أكثر يمكنك الاطلاع من هنا:
  4. في الكود، قمت باستخدام الدالة int(age) لتحويل القيمة المخزنة في age إلى عدد صحيح (Integer) ولكن لم يتم تحديث نوع age إلى int إلا إذا قمت بإعادة تعيين القيمة كما يلي: age = int(age) عندما تستخدم int(age) فقط، يتم إنشاء نسخة جديدة من القيمة المحولة إلى عدد صحيح، لكنها لا تخزن في المتغير age لكي يتغير نوع age فعليا، يجب إعادة تعيين القيمة الناتجة إلى المتغير نفسه: age = int(age) type(age) وعند استخدام Python Shell سيتم تشغيل الكود سطرا بسطر في وضع تفاعلي (Interactive Mode) وبمجرد تشغيل الكود لا يمكن التعديل عليه مباشرة في نفس السطر الذي تم تنفيذه إذا أردت تعديل الكود يجب إعادة كتابة السطر المعدل في Python Shell أو أو كتابة الكود داخل ملف نصي (Script) باستخدام محرر النصوص (مثل Notepad++ أو Visual Studio Code أو PyCharm) ثم تشغيل الملف بالكامل.
  5. في حال كنت مشتركا في دورة علوم الحاسوب يمكنك مراجعة التفاصيل حولها من خلال هذا المصدر: https://academy.hsoub.com/learn/computer-science/ وبنفس الطريقة يمكنك التوجه إلى تبويبة الدورات والاطلاع على محتوى كل دورة ومساراتها بالتفصيل وبالتقسيم الزمني أيضا: وبالنسبة لكيفية الحصول على الشهادة فيجب عليك أن تحقق الشروط كاملة كالتالي: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولا بأول لمشاركتها معنا توثيق الهوية
  6. يمكن للمبرمجين الاستفادة من مهاراتهم التقنية في مجالات متعددة يمكن لشخص مثلا يدرس إدارة الأعمال أن يستخدم مهارات البرمجة لتطوير تطبيقات تساعد في تحليل البيانات أو تحسين العمليات وغيرها. بالنسبة لدراسة العلوم الشرعية فهذا الأمر يختلف في حالة ما أنك تريد دراستها في الجامعة أو في معهد خارجي أو بشكل حر، ويعتمد عليك أنت وعلى التوقيت الذي تقدمه لها، وبرنامجك الزمني، أما بالنسبة للعمل كمبرمج فهو أيضا مسألة تحتاج توضيحا إن كنت تعمل عملا حرا، أو تعمل في إطار وظيفة معينة، عمومية أو خاصة، وأنت الوحيد القادر على تحديد ما يمكنك فعله وما لا تستطيعه بناء على برنامجك. كمبرمج مستقل لو كان لي خيار دراسة العلم الشرعي لفعلت ذلك ولكن ليس في الجامعة لأني تخصصت في تخصص آخر، ولكن التخصص في تخصص تقني أو أدبي غير الشريعة لا يعني أن الطالب لن يستطيع أخذ العلوم الشرعية فالعديد من العلماء والشيوخ والدعاة هم لم يكونوا يوما خريجي مدارس وجامعات.
  7. الاختبار لا يكون فقط على الجاتب التطبيقي، بل يكون على جميع ما تمّ التطرق إليه في الدورة بالإضافة إلى رفع المشاريع المنجزة وغيرها لذا يمكنك الاطلاع على شروط كيفية الحصول على الشهادة من خلال الإجابات السابقة هنا: بالنسبة لسؤالك حول مشروع لارافيل أرجو منك التواصل مع مركز المساعدة وهم سيوجهونك أحسن: مركز المساعدة يمكنك مراجعة هذه المقالة الإرشادية أيضا من هنا: https://academy.hsoub.com/pages/teach/
  8. كلاهما يحتاج إلى جهد ذهني ومهارات متعددة، لكن إدارة المنتج تركز على الصورة الكبيرة والتنسيق بين الأطراف المختلفة، بينما البرمجة تهتم بالتنفيذ الفني الدقيق فمدير المنتج يحتاج إلى مهارات تحليلية قوية لفهم احتياجات السوق والعملاء، وتحديد أولويات الميزات، وتطوير استراتيجيات المنتج بينما المبرمجون يحتاجون إلى مهارات تقنية عميقة لفهم الخوارزميات، وبناء الأنظمة، وحل المشكلات البرمجية وغيرها. وكلا المهنتين تكمل بعضهما الآخر، فمدير المنتج يجب أن يكون لديه معرفة واسعة في مجالات متعددة مثل التسويق، وتحليل البيانات، وتجربة المستخدم، وإدارة المشاريع والمبرمج يجب أن يكون لديه خبرة في لغات البرمجة، وأدوات التطوير، ومفاهيم البرمجة. ومن ناحية الجهد فكلاهما تتطلبان جهدا ذهنيا لكن طبيعة هذا الجهد مختلفة فمدير المنتج يعمل على التنسيق بين الفرق المختلفة (مثل التصميم والتطوير والتسويق)، بينما المبرمجون يركزون على كتابة التعليمات البرمجية وحل المشكلات التقنية.
  9. لا يوجد أي طريقة مضمنة مباشرة للحصول على قيمة P-value أو فترات الثقة، لكن يمكن الحصول عليها من خلال استخدام مكتبات أخرى مثل statsmodels أو عن طريق حساب هذه القيم يدويا، يمكن نقل النموذج أو البيانات إلى مكتبة مثل statsmodels للحصول على الإحصاءات المطلوبة مثل P-value، معاملات الثقة، والخطأ المعياري ثم يمكن حساب هذه القيم يدويا باستخدام مفاهيم الإحصاء (مثل الخطأ المعياري والاحتمالات التوزيعية)، أو باستخدام مكتبات مثل scipy وnumpy.
  10. المشكلة أنك تقوم بإنشاء النموذج وتمرير البيانات له ولكن لا تقوم بعرضه قبل إغلاق النموذج الحالي لذا يجب استدعاء Show() أو ShowDialog() لعرض النموذج الجديد: this.Close(); وهذا خطأ لأنه يغلق النافذة قبل عرض البيانات والحل هو إضافة Show() قبل إغلاق النموذج الحالي: BUYBILL frm = new BUYBILL(); frm.show_details(dataGridView1.CurrentRow.Cells[1].Value.ToString()); frm.Show(); this.Close(); أو: BUYBILL frm = new BUYBILL(); frm.show_details(dataGridView1.CurrentRow.Cells[1].Value.ToString()); frm.ShowDialog(); this.Close();
  11. لغة HTML هي اختصار ل HyperText Markup Language، وهي الأساس الذي تبنى عليه صفحات الويب أي أنها مثل الهيكل الذي يتم بناء أي موقع إلكتروني عليه يمكنك تخيل أن الموقع مثل البيت، وHTML هي الجدران والغرف التي تحدد شكل البيت ومكوناته لكنها ليست مسؤولة عن الألوان أو الزخارف فهي فقط تظهر الهيكل الأساسي، كما أنها لغة ترميز تعتمد على وسوم (tags) تستخدم لتنظيم المحتوى مثل النصوص، الصور، الروابط، والجداول وهي ليست بلغة برمجة لكنها ضرورية لوصف عناصر الصفحة. وبمعنى آخر، HTML تضع "ما الموجود" في الصفحة، والتصميم والألوان تتم عبر CSS، بينما التفاعل مع المستخدم يتم عبر JavaScript يمكنك دراسة مفاهيم أكثر من هنا: لغة HTML
  12. مرحبا عمر، بالنسبة لميعاد توفر المدربين فهو على مدار الساعة واليوم، لكن قد يكون هنالك ضغط يتسبب في تأخر الرد إضافة إلى الفارق الزمني بين التوقيت الصباحي بالنسبة للطالب والمدرب، ولكن في العادة يكون هنالك مدربين متوفرين حتى في ساعات الفجر وهذا حرصا منهم للتوفر والإجابة على استفسارات الطلبة، أدعوك لمراجعة مقالة كيفية التواصل مع المدربين، بحيث يمكنك ترك تعليقك وسيتم الرد عليه في أقرب وقت ممكن: https://support.academy.hsoub.com/how-to-ask-in-courses
  13. C() تستخدم لتحويل المتغيرات الفئوية إلى صيغة يفهمها النموذج وتستخدم بشكل أساسي في تحليل الانحدار الخطي واللوغاريتمي أو أي نموذج يعتمد على مكتبة statsmodels ويمكن استخدامها أيضا لتحليل التفاعلات، تخصيص الترميز، أو دمجها مع نماذج أخر. استخدم الكود مع C(dri_score) لأن العمود dri_score يحتوي على قيم فئوية (categorical)، ويجب التعامل معها كفئات مستقلة بدون ترتيب ضمني. هذا يضمن أن النموذج يعامل كل فئة بشكل صحيح دون فرض أي علاقة رياضية بين القيم: model = ols(formula='efs_time ~ C(dri_score)', data=data_train).fit()
  14. أولا عليك تنظيم HTML بشكل صحيح ليكون كالتالي: <div class="timeline"> <div class="timeline-item"> <div class="number">1</div> <div class="text">الجودة</div> </div> <div class="timeline-item"> <div class="number">2</div> <div class="text">الاتقان</div> </div> <div class="timeline-item"> <div class="number">3</div> <div class="text">الابداع</div> </div> </div> ثانيا تنظيم CSS مع إضافة Media Queries: /* التنسيق الأساسي */ .timeline { position: relative; max-width: 1200px; margin: 0 auto; padding: 20px; } /* الخط العمودي */ .timeline::before { content: ''; position: absolute; width: 2px; background: #00ffdd; top: 0; bottom: 0; left: 50%; margin-left: -1px; } .timeline-item { position: relative; margin: 40px 0; display: flex; align-items: center; justify-content: center; } .number { width: 40px; height: 40px; background: #00ffdd; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 1; } .text { position: absolute; right: 55%; margin-right: 20px; } /* التنسيق للجوال */ @media screen and (max-width: 768px) { .timeline::before { left: 31px; } .timeline-item { justify-content: flex-start; padding-left: 10px; } .text { position: relative; right: auto; left: 20px; margin: 0; } .number { margin-left: 10px; } } وهنا قمنا بتحريك الخط العمودي للجانب في الجوال بدلا من المنتصف وتغيير موضع النصوص لتكون بجانب الأرقام في الجوال ثم تنظيم العناصر بشكل أفقي في الجوال بدلا من التوزيع حول الخط وهذا يظهر بشكل منظم في الجوال ويحافظ على سهولة القراءة ويتناسب مع حجم الشاشة أرجو مراجعة المفاهيم الآتية لفهم المطلوب:
  15. عند التفكير في كيفية استخدام بوتات تيليجرام لإنشاء ملصقات مميزة وإيموجي، ينبغي عليك أولا تحديد البوت المناسب لهذه المهمة يعتبر بوت @StickerBot واحدا من الخيارات الأكثر شيوعا، حيث يمكنك من خلاله إنشاء ملصقات بسهولة قم بفتح تيليجرام، وابحث عن البوت، ثم ابدأ محادثة معه ستحتاج أولا إلى تحميل صورة أو تصميم ترغب في تحويله إلى ملصق بعد ذلك اتبع التعليمات التي يقدمها لك البوت، والتي تشمل تحديد منطقة الصورة التي تريد استخدامها كملصق. يمكنك أيضًا إضافة نصوص أو رموز تعبيرية لتعزيز جاذبية الملصق وإذا كنت تقصد إنشاءه من الصفر يمكنك مراجعة الأمر من هنا:
  16. عندما تستخدم present++ في دالة increment، تعيد الدالة القيمة الحالية ل present قبل زيادتها لذا تظهر النتيجة كما هي لذا استخدم ++present بدلا من present++ لكي تعيد القيمة بعد زيادتها كالتالي: var createCounter = function(init) { let present = init; return { increment: () => ++present, decrement: () => --present, reset: () => present = init, }; }; هنا increment تزيد present بمقدار 1 ثم تعيد القيمة الجديدة وdecrement تقلل present بمقدار 1 ثم تعيد القيمة الجديدة وأما reset تعيد present إلى القيمة الابتدائية init.
  17. لاحظ في في جملة الاستعلام الخاصة بك أنت تقوم بالربط بين جدول BUYBILL وجدول BUY_DET باستخدام العلاقة BUYCODE إذا كانت العلاقة بين الجداول تنتج سجلات مكررة مثلا إذا كان جدول BUY_DET يحتوي على أكثر من سجل مرتبط بنفس الفاتورة فإن التقرير سيعرض التكرار لذا تأكد من أن الجداول المرتبطة لا تحتوي على سجلات مكررة في قاعدة البيانات فإذا كنت تريد عرض بيانات "BUYBILL" فقط مع تجنب التكرار، يمكنك استخدام عبارة SQL مثل: SELECT DISTINCT dbo.BUYBILL.BUYCODE, dbo.BUYBILL.BUYTYPE, dbo.BUYBILL.BUYDATE, dbo.BUYBILL.IMPORTERNAME, dbo.BUYBILL.NOTES, dbo.BUYBILL.TOTAL FROM dbo.BUYBILL INNER JOIN dbo.BUY_DET ON dbo.BUYBILL.BUYCODE = dbo.BUY_DET.BUYCODE; وعندما يتم عرض بيانات مكررة في التقرير، عليك التأكد من إعداد خاصية Suppress If Duplicated لكل الحقول المكررة في التقرير من خلال التأكد من أن كل صف في DataGridView يحتوي على بيانات صحيحة قبل الإضافة إلى قاعدة البيانات، وذلك باستخدام شرط قبل الإضافة: if (dataGridView1.Rows[i].Cells[0].Value != null && dataGridView1.Rows[i].Cells[0].Value.ToString().Trim() != "") { // أضف البيانات } وقد يحدث أن يتم إدخال نفس السجل أكثر من مرة في قاعدة البيانات أثناء الحفظ لذا تأكد من أن جملة الحفظ لا تضيف بيانات مكررة يمكنك إجراء التحقق من البيانات الموجودة مسبقا في الجدول BUY_DET قبل الإضافة: DataTable dtCheck = new DataTable(); SqlDataAdapter adpCheck = new SqlDataAdapter($"SELECT * FROM BUY_DET WHERE BUYCODE='{BUYCODE.Text}' AND ITEMCODE='{dataGridView1.Rows[i].Cells[0].Value}'", Class1.con); adpCheck.Fill(dtCheck); if (dtCheck.Rows.Count == 0) { // أضف البيانات الجديدة } وتأكد من أنك تستخدم الحقول بشكل صحيح في التقرير إذا كنت تعرض تفاصيل الجدول BUY_DET، فقد يظهر كل سجل في الجدول بغض النظر عن التكرار لذا تأكد من أن الحقول الموجودة في قسم "Details" تتناسب مع المتطلبات وإذا كان التكرار لا يزال موجودا، قم بإضافة شرط للتجميع (Grouping) بناء على حقل BUYCODE.
  18. نعم، مكتبة Seaborn توفر عددا محدودا من مجموعات البيانات المدمجة، تستخدم أساسا للأغراض التعليمية واختبار الرسوم البيانية. تحتوي هذه البيانات على تنسيقات منظمة تُسهل استكشاف الإمكانات المختلفة للمكتبة، مثل العمل مع الجداول، التحليل الإحصائي، وتمثيل البيانات بشكل مرئي. يمكن للمستخدمين الوصول إلى أسماء هذه البيانات باستخدام دالة sns.get_dataset_names()، وتحميلها بسهولة باستخدام sns.load_dataset("اسم_البيانات"). هذه المجموعات مدمجة بالكامل في المكتبة، مما يلغي الحاجة لتنزيلها من مصادر خارجية. يمكنك التعرف أكثر عليها من هنا:
  19. XGBoost هو اختصار لـ Extreme Gradient Boosting، وهو خوارزمية متقدمة في تعلم الآلة تُستخدم لإنشاء نماذج قوية تعتمد على تقنية تعزيز التدرج (Gradient Boosting) والفكرة الأساسية هنا هي بناء سلسلة من الأشجار (Decision Trees) بحيث تعمل كل شجرة جديدة على تصحيح أخطاء التنبؤ التي وقعت فيها الأشجار السابقة ويتم تدريب هذه الأشجار واحدة تلو الأخرى، مع التركيز على تحسين النتائج تدريجيا. الخوارزمية تعتمد على تقليل الخطأ (Loss Function) باستخدام التدرج (Gradient)، مما يعني أنها تحاول بشكل مستمر تحسين دقة التنبؤ عن طريق تحسين المناطق التي تكون فيها النماذج السابقة ضعيفة كما أنها تضيف ميزات مثل التنظيم (Regularization) لتجنب الإفراط في التعلم (Overfitting) وتدعم العمل على البيانات الكبيرة بكفاءة وسرعة لأنها تستخدم ميزات مثل التوازي (Parallelization). يمكنك مراجعة المزيد من هنا:
  20. هذا الأمر طبيعي حتى بدون ظروف قد يشعر الإنسان بأنه قد نسى بعض المفاهيم وهذا بسبب الابتعاد عن البرمجة لمدة معينة، والحل هنا هو المراجعة الدورية لما نتعلمه، أي أنّه في حال فهمت ما تلقّيته من مفاهيم وطبّقتها يمكن من خلال مراجعة خفيفة استرجاع ما فاتك من وقت وليس إعادة كل شيء من الصفر، يمكنك مراجعة المفاهيم التي ترين نفسك قد نسيتها أو ضعيفة فيها كما يمكنك طرح تساؤلاتك وسنساعدك على الاسترجاع:
  21. المشكلة تشير إلى أن شهادة SSL للموقع لا تتطابق مع النطاق المستخدم أو أن الشهادة قد انتهت صلاحيتها لذا للتحقق وحل المشكلة أرجو التأكد أولا من أن شهادة SSL صالحة ومطابقة للنطاق المستهدف، بما في ذلك النطاقات الفرعية إذا كانت مستخدمة، من خلال لوحة التحكم الخاصة بالاستضافة. وإذا تم تغيير النطاق مؤخرا، ستحتاج إلى إصدار شهادة جديدة للنطاق الجديد يمكنك استخدام أدوات مثل SSL Labs لفحص إعدادات الشهادة والكشف عن الأخطاء. وتحقق أيضا من إعدادات الووردبريس من خلال تحديث عنوان ووردبريس (WordPress Address) وعنوان الموقع (Site Address) في الإعدادات للتأكد من تطابقها مع النطاق الحالي وإذا كنت بحاجة للوصول المؤقت أثناء حل المشكلة، يمكنك تعطيل التحقق من SSL في ملف wp-config.php (مع مراعاة أن هذا حل غير آمن ومؤقت). وإذا لم يتم حل المشكلة، قم بمراسلة الدعم الفني للاستضافة لتقديم المساعدة، حيث قد تكون المشكلة لديهم أو تحتاج إلى إعادة تثبيت الشهادة بشكل صحيح.
  22. الفرق بين الانحدار الخطي باستخدام متغير واحد والانحدار الخطي باستخدام أكثر من متغير يكمن في عدد المتغيرات المستقلة المستخدمة للتنبؤ بالمتغير التابع. في الانحدار الخطي البسيط، يتم استخدام متغير مستقل واحد فقط لتوقع المتغير التابع، ويكون النموذج بسيطًا لتحليل العلاقة بين متغيرين فقط والصيغة هي: y = b0 + b1 * x حيث x هو المتغير المستقل، وy هو المتغير التابع، وb0 هو التقاطع، وb1 هو الميل يناسب هذا النموذج العلاقات بين متغيرين فقط. أما في الانحدار الخطي المتعدد، فيشمل النموذج عدة متغيرات مستقلة، ويكون النموذج أكثر تعقيدا لتحليل البيانات متعددة الأبعاد والصيغة هي: y = b0 + b1 * x1 + b2 * x2 + ... + bn * xn حيث x1, x2, ..., xn هي المتغيرات المستقلة، وb1, b2, ..., bn هي المعاملات التي توضح تأثير كل متغير مستقل على المتغير التابع. يستخدم الانحدار الخطي البسيط للعلاقات البسيطة بين متغيرين، بينما يستخدم الانحدار المتعدد للعلاقات الأكثر تعقيدا التي تشمل عدة متغيرات.
  23. وعليكم السلام ورحمة الله وبركاته، دالة crosstab في pandas هي أداة قوية لتحليل البيانات تستخدم لإنشاء جداول تقاطعية تظهر العلاقة بين متغيرين أو أكثر في مجموعة البيانات بحيث تقوم الدالة بحساب التكرارات أو القيم المجمعة عند تقاطع المتغيرات ويمكن استخدامها مع خيارات متعددة مثل margins=True لإضافة المجاميع الكلية، وnormalize=True لعرض النسب المئوية بدلا من العدد على سبيل المثال يمكننا تحليل مبيعات المنتجات حسب المنطقة، أو تصنيف العملاء حسب الفئة العمرية والجنس والصيغة الأساسية للدالة هي: pd.crosstab(index, columns, values=None, aggfunc=None) حيث index وcolumns هما المتغيران المراد تحليل علاقتهما، وvalues هو عمود القيم المراد تجميعها وهو اختياري بينما aggfunc هي دالة التجميع المستخدمة مثل sum أو mean وهذه الدالة مفيدة بشكل خاص في التحليل الإحصائي وتحليل البيانات الاستكشافي.
  24. المشكلة هي وضع الصورة ك background-image مع عدم وضع position للنص، مما جعل النص خارج الصورة لذا يجب إما إضافة position للنص كالتالي: .content { position: relative; } .content p { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } أو استخدام img بدل background-image لوضع النص داخل نفس ال container.
  25. أرجو في قادم المرات إن كان سؤالك متعلقا بإحدى دورات الأكاديمية أن تقوم بإدراجه أسفل كلّ درس استصعب عليك فهمه أو لديك استفسار حوله، أين ستجد صندوقا للتعليقات مثل الذي هنا، يمكنك إرفاق مجلدات مشروعك أو لقطات شاشة وإرفاق الاستفسار الذي لديك وسنجيبك بكلّ صدر رحب.
×
×
  • أضف...