-
المساهمات
3051 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
البرمجة بإستخدام الأودو موجود داخل دورة تطوير التطبيقات باستخدام لغة Python، بعد الدخول من خلال زر دوراتي يمكنك أن تذهب لمسار تعلم الأودو من هنا:
-
من خلال الايرور يظهر عندك مشكلين الأول بخصوص تراخيص android و لقبولها قم بالقيام بهذا الأمر: flutter doctor --android-licenses المشكلة الثانية بخصوص Visual studio حيث يجب عليك تثبيت حزمة "Desktop development with C++" workload وتثبيت جميع المكونات الافتراضية. بعد تنفيذ هذه الخطوات، قم بإعادة تشغيل الأمر مرة أخرى: flutter doctor
-
لكي تظهر النصوص العربية بشكل صحيح في لغة البرمجة C++، يجب عليك التأكد من أن المحرر الذي تستخدمه يدعم ترميز النصوص العربية (مثل UTF-8). فيما يلي مثال بسيط على كيفية استخدام الأحرف العربية في برنامج C++: #include <iostream> int main() { // تحديد ترميز UTF-8 للإخراج setlocale(LC_ALL, "en_US.utf8"); // استخدام الأحرف العربية في الإخراج std::wcout << L"مرحبًا بك في برنامج C++ باللغة العربية!" << std::endl; return 0; } هنا قمنا باستخدام setlocale(LC_ALL, "en_US.utf8"); لتحديد ترميز UTF-8 للإخراج، بهذه الطريقة يمكنك استخدام الأحرف العربية في الشيفرة البرمجية بشكل طبيعي. و يمكنك الإطلاع على هذه المقالة ستساعدك أكثر: كتابه بالعربي داخل الكونسل c++
-
أعتقد أنه يمكنك استخدام تنبيها بسيطا عن طريق استخدام MessageBox في C# إذا كنت تستخدم Windows Forms: DateTime currentDate = DateTime.Now; DateTime nextPaymentDate = txtdatetime.Value; // تحديد تاريخ الدفع القادم // حساب الفارق بين التاريخ الحالي وتاريخ الدفع القادم TimeSpan difference = nextPaymentDate - currentDate; // إذا كان الفارق يقل عن يومين، قم بعرض تنبيه للمستخدم if (difference.Days < 2) { string message = $"يرجى التنبيه: موعد الدفع القادم في {difference.Days} أيام."; MessageBox.Show(message, "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning); } هذا مثال بسيط و يمكنك راجعة وتعديل الشرط والرسالة بما يتناسب مع احتياجات تطبيقك.
- 3 اجابة
-
- 1
-
-
يمكنك الإطلاع على المقالات و الكتب الموجودة في الأكاديمية و ستفيدك كثيرا، سأترك لك البعض ليسهل الوصول إليها: https://academy.hsoub.com/programming/javascript/ https://wiki.hsoub.com/JavaScript
- 3 اجابة
-
- 1
-
-
قرار مغادرة الجامعة والاستثمار في تعلم البرمجة ذاتيا هو قرار شخصي يعتمد على عدة عوامل، حيث إذا كنت قادرا على التحمل الذاتي وتنظيم وقتك بشكل فعال، قد يكون التعلم الذاتي خيارا جيدا لك، و لا يخفى عليك أنه مؤخرا فرص العمل في هذا المجال بالضبط أصبح لا يتطلب أي شهادة بقدر ما يتطلب خبرتك و مهاراتك. العديد من الشركات الكبيرة أيضا في مقابلات العمل لا تتطلب أي شهادة و لا تسألك عليها أصلا، بل كل ما يريدونه هو التفكير الصحيح و الطريقة المبتكرة في حل المشاكل. حتى في مجال العمل الحر لن يسألك أحد عن شهاداتك بقدر ما سيسألونك عن معرض إعمالك و المهارات التي تتقنها، يمكن أن يكون التعلم الذاتي وتطوير المشاريع العملية أكثر فائدة في بناء ملفك الشخصي والحصول على وظائف في مجال البرمجة. صحيح قد يكون هناك تحديات في كل من الخيارين، لكن الفهم الجيد لأهدافك الشخصية والمهنية سيساعدك في اتخاذ القرار الأمثل. يمكنك أن تطلع على هذا النقاش الذي يساعدك على تحديد رأيك: ما هو التعلم الذاتي؟ وهل استفدت منه؟
- 2 اجابة
-
- 1
-
-
صحيح، اللغات المفسرة تقوم بتحويل الشيفرة المصدرية مباشرة إلى تنفيذ، في حين تستخدم اللغات المترجمة مرحلة إضافية تقوم بترجمة الشيفرة إلى رمز آلة قبل التنفيذ. بالنسبة لسؤالك حول تحويل الشيفرة من لغات مفسرة أو مترجمة إلى لغة الآلة، يمكن أن يكون هذا ممكنا من خلال استخدام برامج تعرف باسم المترجمات (Translators) أو Decompilers، إلا أنه ينبغي الإشارة إلى أن هذه الأدوات قد تكون معقدة وغير دقيقة في بعض الأحيان، خاصة عند التعامل مع تفاصيل داخل البرنامج التي قد تفقد أثناء عملية الترجمة، و كما نعرف أن لغة الآلة حساسة جدا، بتغيير رقم واحد فقط من صفر إلى واحد يتغير المعنى بأكمله، و في هذه الحالة يصعب ايجاد مكان الخطأ. فيما يخص إمكانية التعديل أو التطوير، يمكن تحويل الشيفرة المصدرية بين لغات البرمجة باستخدام أدوات تحويل اللغات (Language Converters)، ولكن يجب أن يتم ذلك بحذر، حيث قد يتسبب التحويل في فقدان بعض المعلومات أو التغييرات في البنية البرمجية.
- 4 اجابة
-
- 1
-
-
الرسالة التي تظهر تشير إلى أنك تقوم بتعديل قيمة في DataFrame على نسخة من البيانات، وهو ما يمكن أن يؤدي إلى مشكلات في بعض الحالات، يمكنك محاولة تجنب هذا الخطأ عن طريق استخدام loc لتحديد الصفوف والأعمدة المحددة. في السطور الأخيرة من الكود، قم بتغيير هذا السطر: self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') إلى: self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), "التقدير"] = self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), 'نتيجة المادة'].apply(lambda x: 'A' if x >= 85 else 'Other') هذا التعديل يستخدم loc لتحديد الصفوف التي تلبي شرط "إسم الطالب" ويعدل القيمة في عمود "التقدير" بناءا على الشرط المحدد.
-
من الواضح أن الخطأ الذي تحدث هنا هو في الجزء الذي يحتوي على الفحص المشروط if self.nT >= 85، المشكلة تكمن في محاولة مقارنة العمود بالقيمة 85، وهذا يؤدي إلى خطأ. بدلا من ذلك، يجب عليك استخدام apply لتطبيق الفحص المشروط على كل عنصر في العمود، فيما يلي كيف يمكنك تحسين الكود: self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') يتم استخدام apply هنا لتطبيق الشرط على كل عنصر في العمود، ويتم إنشاء عمود جديد تحت إسم التقدير يحتوي على التقدير المناسب لكل قيمة. يمكنك ضبط الشرط حسب احتياجاتك.
-
تركز دورة تطوير واجهات المستخدم من أكاديمية حسوب بشكل رئيسي على الواجهة الأمامية والتقنيات المرتبطة بها، مع اهتمام بالجانب التطبيقي أيضا، ومن المهم أن نلاحظ أنها لا تتناول جوانب خادم الويب (backend)، لكن هناك دورات أخرى مخصصة لهذا الجانب. تتضمن هذه الدورات: دورة تطوير تطبيقات الويب باستخدام لغة PHP. دورة تطوير تطبيقات الويب باستخدام لغة Ruby. إذا كنت مشتركا في أحد هذه الدورات، سيكون لديك الوصول إلى المسارات الأولى منها، وكذلك الفرصة لاستكشاف باقي دورات الأكاديمية. ولكن إذا كنت ترغب في الاطلاع على محتوى الدورة قبل الالتحاق بها، يمكنك مشاهدة المسار الأول كمقدمة. بناء على ذلك، يمكنك اتخاذ القرار المناسب بشكل أفضل بالنسبة لك. بالتوفيق في رحلتك التعليمية.
-
أنصحك بالبدء بتعلم الرياضيات الأساسية مثل الجبر والإحصاء، ثم اكتساب مهارات البرمجة باستخدام Python على الأقل يكون لديك الأساسيات فيها، و قبل بداية الكورس تأكد من محتواه إذا كان يغطي هذه المفاهيم أو لا، خصوصا المكتبات التي ذكرتها، و لمعرفة ما يجب تعلمه أكثر يمكنك الإطلاع على هذه المقالات التي ستفيدك كثيرا في هذا المجال:
- 3 اجابة
-
- 1
-
-
اختبار SAT هو اختبار تقييمي يستخدم على نطاق واسع في الولايات المتحدة لتقييم مهارات الطلاب في مجالات متعددة، مثل الرياضيات و غيرها، حيث يطلب من الطلاب أداء مهام متنوعة في هذه المجالات، ويهدف إلى قياس إلمامهم بالمواضيع الأكاديمية ومهارات التفكير التحليلي. فيما يتعلق بالعلاقة بين اختبار SAT والذكاء الاصطناعي، يمكن استخدام التكنولوجيا والذكاء الاصطناعي في مجالات عديدة لتحسين عمليات الاختبار وتحليل النتائج. على سبيل المثال، يمكن استخدام الذكاء الاصطناعي لتطوير أسئلة اختبار ذكية ومحسّنة، وكذلك لتقديم تحليلات دقيقة لأداء الطلاب.
- 3 اجابة
-
- 1
-
-
الخطأ الذي تواجهه يشير إلى أنه يجب تحديث pip باستخدام Python 3.12 المثبت، يمكنك تنفيذ الأمر المقترح بالدخول إلى موجه الأوامر أو تيرمينال النظام وتشغيل الأمر التالي: python -m pip install pip -U بعد تنفيذ هذا الأمر، يجب أن يتم تحديث pip إلى أحدث إصدار. يمكنك التحقق من ذلك عن طريق تشغيل: python -m pip --version
- 3 اجابة
-
- 1
-
-
اسم خادم قاعدة البيانات الخاص بك، يعتمد على نوع قاعدة البيانات التي تستخدمها ونوع النظام الذي يستضيفها. يمكنك معرفة اسم خادم قاعدة البيانات الخاصة بك بعدة طرق، على حسب نوع قاعدة البيانات والنظام الذي يستضيفها. في حال استخدام قاعدة بيانات SQL مثل MySQL أو PostgreSQL أو Microsoft SQL Server، يمكنك استخدام أمر SQL مثل SELECT @@SERVERNAME; أو ابحث في ملفات إعدادات قاعدة البيانات لديك، في MySQL، على سبيل المثال، يمكنك العثور على ملف my.cnf أو my.ini الذي يحتوي على معلومات حول الخادم.
- 1 جواب
-
- 1
-
-
بالنسبة لأساسيات البرمجة فهذه الأساسيات تعتبر هامة جدا، إذا كنت تخطط لتطوير مهاراتك في مجال البرمجة، فإن فهم البنية البيانية والتفكير المنطقي والخوارزميات يمكن أن يساعدك بشكل كبير، لا يجب أن تكون هناك ضرورة للانغماس في C++ من البداية، يمكنك البدء مع لغة أخرى أكثر توجيها للويب مثل JavaScript أو Python. بخصوص دورة ال front-end تعتبر ممتازة للبداية في تطوير الواجهة الأمامية، و لكن لا تتوقف عند هذا الحد، بعد الإنتهاء من الدورة حاول القيام بمشاريع أخرى لتتعلم أكثر و تكتسب خبرة في هذا المجال. بخصوص السؤال الثالث يمكنك البدء باستخدام jQuery و Bootstrap، ولكن فهم أساسيات JavaScript و CSS يظل مهما، عندما تكون جاهزاً للتحديات الأكبر، يمكنك استكمال تعلمك لمكتبات أخرى أو حتى الانتقال إلى إطارات عمل (Frameworks) مثل React أو Angular. ثلاث ساعات يومياً هي مدة جيدة جداً. مع الالتزام والتحفيز، يمكنك تحقيق تقدم كبير. احتفظ بتوازن جيد بين تعلم النظريات والتطبيق العملي. و يمكنك أيضا الإطلاع على هذه المقالات التي ستساعدك في مسارك: أتمنى لك التوفيق في رحلتك التعليمية والمهنية، وإذا كنت بحاجة إلى أي مساعدة أو استفسار، فلا تتردد في طرح المزيد من الأسئلة.
-
في مكتبة NumPy، تقوم argmin و argmax بإرجاع الفهرس لأدنى قيمة أو أعلى قيمة في مصفوفة، سأشرح لك بمثال لتفهم أكثر: import numpy as np arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3]) # العثور على الفهرس لأدنى قيمة باستخدام argmin index_of_min = np.argmin(arr) min_value = arr[index_of_min] # العثور على الفهرس لأعلى قيمة باستخدام argmax index_of_max = np.argmax(arr) max_value = arr[index_of_max] print("الفهرس لأدنى قيمة:", index_of_min) print("أدنى قيمة:", min_value) print("الفهرس لأعلى قيمة:", index_of_max) print("أعلى قيمة:", max_value) و ستكون النتائج بالشكل التالي: الفهرس لأدنى قيمة: 1 أدنى قيمة: 1 الفهرس لأعلى قيمة: 5 أعلى قيمة: 9 argmin: أعطتنا الفهرس لأدنى قيمة: 1 (القيمة 1 في المصفوفة هي الأدنى) argmax: أعطتنا الفهرس لأعلى قيمة: 5 (القيمة 9 في المصفوفة هي الأعلى)
- 2 اجابة
-
- 1
-
-
المشكلة تكمن في عدم القدرة على استيراد Django، و هذا بسبب عدم تثبيته إتبع الخطوات التالية من أجل تثبيته بطريقة صحيحة: قبل تشغيل الأمر python manage.py runserver، قمت بتثبيته بهذا الأمر: pip install django في حالة كان مثبت من قبل ،قم بتحديث Django إلى أحدث إصدار باستخدام الأمر: pip install --upgrade django بعد اتخاذ هذه الخطوات، قم بتشغيل الأمر python manage.py runserve مرة أخرى وتأكد من أن المشكلة قد حلت.
-
يمكنك القيام بذلك عن طريقة وضع treeview تحتوي على كل الأسماء التي تقرأها من ال dataset الخاصة بك و من ثم تقوم بتعريف دالة للبحث عن الأسماء المحددة التي تريدها، يمكنك الإستعانة بهذا الكود و التعديل عليه حسب إحتياجاتك: import pandas as pd import tkinter as tk from tkinter import ttk # إنشاء DataFrame تجريبي data = {'Name': ['أحمد محمد علي', 'محمد أحمد علي', 'علي أحمد محمد', 'يوسف أحمد', 'أحمد علي']} df = pd.DataFrame(data) # إنشاء نافذة Tkinter root = tk.Tk() root.title("بحث في DataFrame") # إضافة Treeview لعرض النتائج columns = ['Name'] tree = ttk.Treeview(root, columns=columns, show='headings') # تحديد عناوين الأعمدة for col in columns: tree.heading(col, text=col) # تحديد عرض الأعمدة tree.column('Name', width=200) # إضافة البيانات إلى Treeview for index, row in df.iterrows(): tree.insert('', 'end', values=(row['Name'],)) # إضافة حقل لإدخال اسم البحث search_var = tk.StringVar() search_entry = tk.Entry(root, textvariable=search_var, width=20) search_entry.grid(row=0, column=1, padx=10, pady=10) tree.grid(row=0, column=0, sticky='nsew') # دالة للبحث عن الاسم وعرض النتائج في Treeview def search_name(): query = search_var.get().strip() # حذف النتائج الحالية for row in tree.get_children(): tree.delete(row) # إيجاد النتائج المطابقة وإضافتها إلى Treeview for index, row in df[df['Name'].str.contains(query)].iterrows(): tree.insert('', 'end', values=(row['Name'],)) # إضافة زر لتشغيل البحث search_button = tk.Button(root, text="ابحث", command=search_name) search_button.grid(row=0, column=2, padx=10, pady=10) # تشغيل النافذة root.mainloop() حاول بين الحين و الآخر كتابة الكود لوحدك و واجه المشكلات التي تكون فيه، هذا سيحفز فيك حل المشكلات البرمجية و يصبح لديك خبرة مع مرور الوقت. يمكنك أيضا قراءة المقالات الخاصة بالبيثون و واجهات المستخدم من خلال الرابط التالي:
- 4 اجابة
-
- 1
-
-
من فضلك ارفق ملف الاكسل الذي تعمل عليه حتى يمكنني فهم المشكل بشكل أفضل.
- 10 اجابة
-
- 1
-
-
تظهر الرسالة "See the caveats in the documentation" عندما تقوم بتعديل قيم في DataFrame بطريقة يمكن أن تؤثر على النسخة الأصلية، يعني هذا أن هناك احتمالا لحدوث تأثير جانبي على البيانات الأصلية. قد ظهرت هذه الرسالة إذا كانت هناك قيم غير صحيحة في العمود 'وحدة دراسية' وتم تحويلها إلى NaN، لذا تأكد أن كل سطر في العمود يحتوي على قيم و تكون عبارة عن أرقام.
-
بالنسبة للخطأ الذي قد واجهته، يفضل دائما التحقق من أن أنواع البيانات في الأعمدة تسمح بالعمليات الحسابية، يمكنك استخدام dtype للتحقق من أن الأعمدة التي تشارك في العمليات الحسابية لديها نفس الأنواع. # التحقق من أنواع الأعمدة print(df3.dtypes) # تحويل الأعمدة إلى أنواع البيانات المناسبة إذا كانت لا تزال هناك مشكلة df3['النهائي'] = pd.to_numeric(df3['النهائي'], errors='coerce') df3['وحدة دراسية'] = pd.to_numeric(df3['وحدة دراسية'], errors='coerce') # القيام بالعمليات الحسابية بعد التأكد من صحة أنواع البيانات df3['cc'] = df3['النهائي'] * df3['وحدة دراسية'] # حساب المجموع الإجمالي Total = df3['cc'].sum() # طباعة النتيجة print(Total)
- 10 اجابة
-
- 1
-
-
تأكد من أن العمود لا يحتوي على أي كلمات، اذا تستطيع أرفق الكود مع الملف لأطلع عليه أكثر.
- 10 اجابة
-
- 1
-
-
يمكنك ذلك باستخدام مكتبة pandas في Python لتنفيذ هذه العملية، سأكتب لك كود كمثال لتفهم أكثر: import pandas as pd # قم بتعريف DataFrame الخاص بك data = {'Column1': [1, 2, 3, 4], 'Column2': [5, 6, 7, 8], 'Column3': [9, 10, 11, 12]} df = pd.DataFrame(data) إذا أردت جمع قيم Column1 وتقسيمها على قيم Column2، يمكنك استخدام الكود التالي: # جمع قيم Column1 sum_column1 = df['Column1'].sum() # جمع قيم Column2 sum_column2 = df['Column2'].sum() # تقسيم النتيجة result = sum_column1 / sum_column2 print(result) هذا سيعطيك النتيجة المطلوبة. يمكنك تعديل الأعمدة والبيانات وفقا لاحتياجات DataFrame الخاص بك.
-
الحل صحيح و يعطيك نتيجة x power y، في المثال الخاص بك سيتم طباعة نتيجة 2 مرفوعة الى قوة 5 و النتيجة هي 32. و يوجد طرق أخرى للحل بالشكل التالي: الطريقة الأولى: def num(x, y): result = pow(x, y) print(f"result: {result}") num(2, 5) الطريقة الثانية: def num(x, y): result = x ** y print(f"result: {result}") num(2, 5) جميع هذه الطرق تؤدي إلى نفس النتيجة، وتحسب 2 مرفوعة إلى قوة 5 وتطبع النتيجة 32.
