-
المساهمات
15370 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
403
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
هل اللابتوب يعمل بشكل سليم في حال قمت بنزع البطارية وتوصيله مباشرًة بالكهرباء؟ في حال ذلك إذن المشكلة من البطارية وعلى الرغم من أنها جديدة كما ذكرت فربما المشكلة من اللابتوب نفسه سواء عطل شائع في الموديل أي عيب مصنعي أو عطل في الجهاز فقط ويحتاج إلى إرساله لفني متخصص لتفقد ما المشكلة به. في حال الجهاز ما زال في فترة الضمان الأفضل صيانته في التوكيل الخاص به.
-
ذلك نقاش قديم، والبعض يتمسك برأيه بأنه لكي تتعلم البرمجة بشكل صحيح وتتأسس بشكل قوي، عليك تعلمها من خلال لغة منخفضة المستوى، ذلك صحيح لكن ليس للجميع، فشخص مبتدأ وليس لديه خلفية متعلقة بالحاسوب أو علومه سيجد صعوبة وسيصاب بالإحباط بدون داعي، فليس من الطبيعي أن يتعامل مباشرًة مع إدارة الذاكرة يدوياً باستخدام المؤشرات. لذا تستطيع تعلم البرمجة من خلال أي لغة والأسهل هي بايثون بالطبع وهي لغة قوية ومستخدمة في مجالات متقدمة، وبعد فترة من التعلم تستطيع تعلم أي لغة برمجة أخرى فالمفاهيم هي ذاتها وذلك لتعميق الفهم. ستجد هنا تفصيل بخصوص الخوارزميات وهياكل البيانات التي عليك تعلمها:
- 3 اجابة
-
- 1
-
-
ليس بشكل مباشر فلا تتوفر دالة مُضمنة في بايثون لفعل ذلك، لكن يوجد هيكل بيانات set، وهو نوع بيانات يقوم تلقائيًا بإزالة التكرارات، وبالتالي نستطيع مقارنة طوله مع طول القوائم الأصلية لمعرفة هل الأعداد فريدة أم لا. كالتالي: def are_all_unique(lst): return len(lst) == len(set(lst)) my_list1 = [1, 2, 3, 4, 5] my_list2 = [1, 2, 3, 2, 4] print(are_all_unique(my_list1)) print(are_all_unique(my_list2)) لاحظ قمت بتحويل القوائم إلى set من خلال دالة set(lst) ومقارنة الطول وإرجاع True في حال الأعداد الفريدة أو False في حال وجود أعداد غير فريدة وذلك في القائمة الثانية حيث يتكرر العدد 2
- 4 اجابة
-
- 1
-
-
استخدم سيرفر لتشغيل المشروع من خلال، وذلك من خلال تثبيت إضافة live server في محرر vscode ثم تشغيل ملف index.html من خلالها، ستجد شرح هنا: وذلك لتجنب مشكلة تشغيل ملفات HTML محلياً من خلال file:// والتي تسبب مشاكل بسبب قيود الأمان في المتصفحات الحديثةحتى بعد تفعيل Allow access to file URLs. أيضًا يجب أن تكون ملفات الترجمة صحيحة وتحتوي على أجزاء زمنية كالتالي: 1 00:00:01.000 --> 00:00:04.000 نص الترجمة الأول 2 00:00:05.000 --> 00:00:08.000 نص الترجمة الثاني. وليس به مسافات زائدة أو أخطاء في الأرقام.
- 2 اجابة
-
- 1
-
-
الوسائل المتاحة هي من خلال بطاقة إئتمانية أي من نوع Credit Card أو Debit أي بطاقة بنكية مربوطة بحساب بنكي، أو من خلال باي بال، بالطبع الدفع يكون بعملة الدولار وليس الجنيه ،لذا يجب أن تدعم البطاقة البنكية الدفع بالدولار. في حال لم تتوافر لديك طرق الدفع تلك أو يوجد مشكله بها، تستطيع الاستعانة بأحد أقرباءك أو شخص ما ليشتري لك رصيد بالأكاديمية عن طريق بطاقة الهدية ثم استخدامها لشراء الدورات.
-
محاولة جيدة وأعتقد أنك تعلمت منها بعض الأمور، عامًة في الإصدار 12 تم إتاحة Custom Community Laravel Starter Kits بمعنى Starter Kits تم تطويرها من قبل مبرمجين آخرين في مجتمع لارافل، ولم تعد الخيارات محصورة في الـ Starter Kits المقدمة من قبل لارافل فقط. مع الوقت سيتم إتاحة الكثير من الـ Starter Kits المطورة من قبل مبرمجين آخرين، وحاليًا يوجد بالفعل مجموعة بدء تدعم RTL ها هي: https://github.com/AryanpAzadeh/RTL-blade-starter-kit الشرح الموجود في المستودع بالفارسية قم بترجمته من خلال جوجل ترجمة لتفهم المميزات المتاحة
- 1 جواب
-
- 1
-
-
قم بحذف المستودع المحلي: rm -rf .git ثم أعد إنشائه وإعادة تنفيذ أوامر رفع المشروع git init
- 6 اجابة
-
- 1
-
-
من الأفضل محاولة تنفيذه لتحقيق استفادة، من خلال Visual Studio اختاري Create a new project وابحثي عن Windows Forms App (.NET Framework) أو Windows Forms App في حال تستخدمين .NET Core ثم اختاري اختر C# كلغة البرمجة، وتسمية المشروع واضغطي على Create. ستظهر لكِ نافذة تحتوي على نموذج فارغ Form، وهو الواجهة التي سنضيف إليها الزر، ثم في نافذة Solution Explorer على الجانب الأيمن، افتحي ملف Form1.cs. وفي وضع التصميم Design View، انقر يبزر الفأرة الأيمن على النموذج واختاري Properties وبها: غيّري Text إلى Resume Button Example ليظهر كعنوان النافذة ثم Size إلى 300 عرض × 200 ارتفاع ليكون حجم النافذة مناسبًا ثم StartPosition إلى CenterScreen لجعل النافذة تظهر في المنتصف وفي في شريط الأدوات Toolbox على الجانب الأيسر، ابحثي عن Button واسحبيه إلى النموذج، ثم ضعي الزر في مكان مناسب وليكن وسط النموذج تقريبًا. بعد ذلك ستكتبي الكود، انقري بزر الفأرة الأيمن على الزر في وضع التصميم واختاري View Code، أو افتحي ملف Form1.cs مباشرة، ستجدي كود يبدأ بـ public partial class Form1 : Form. قبل أي دالة قومي بكتابة المتغيرات التالية: تخزين العرض الأصلي تخزين الإرتفاع متغير لمتابعة حجم الزر بتصغيره وتكبيره متغير خاص بوقت الـ animation كالتالي: private int originalWidth; private int originalHeight; private bool isExpanding = false; private Timer animationTimer; ثم في دالة في دالة Form1()، أضيفي كود بعد InitializeComponent() لإسناد متغيري الطول والعرض إلى button1.Width وbutton1.Height بعد ذلك عليك إعداد المؤقت timer animationTimer = new Timer(); animationTimer.Interval = 30; ثم إضافة حدث النقر Click، في في وضع التصميم، انقري مرتين على الزر، وسيُنشئ Visual Studio دالة button1_Click، اكتبي بها: MessageBox.Show("تم النقر على زر الاستئناف!"); ثم حدث تمرير المؤشر على الزر MouseEnter في نافذة Properties للزر، انقري على أيقونة البرق Events وابحثي عن MouseEnter، انقري مرتين بجانبه لإنشاء دالة واكتبي بها: isExpanding = true; animationTimer.Start(); ثم حدث مغادرة المؤشر MouseLeave بنفس الكيفية حاولي كتابة الكود الخاص به. بعد ذلك تنفيذ الرسوم المتحركة، بربط المؤقت بحدث، في Form1() بعد إعداد animationTimer.Interval، أضيفي التالي لربط المؤقت بدالة: animationTimer.Tick += AnimationTimer_Tick; ثم عليكِ كتابة تلك الدالة وهي AnimationTimer_Tick لتحريك الزر بناءًا على ما سبق. في حال واجهتي صعوبة أخبريني.
- 6 اجابة
-
- 1
-
-
من المفترض أنه عند الضغط على الملف ثم الضغط على زر extract ثم بزر الفأرة الأيمن على الملف واختيار Extract: وسيظهر لك المسار الذي تريد فك ضغط الملف به ثم الضغط على extract وسيتم فك الضغط بدون مشكلة، ما هو الخطأ الذي يظهر لك؟
-
حاول حذف الكاش من خلال: php artisan optimize:clear وما هو المسار المستخدم في ملف routes/web.php هل يتم اسناد الطلب إلى الـ Controller الذي يحتوي على دالة store تقوم لحفظ البيانات؟ حيث أنك تستخدم {{ route('Department.index') }} كعنوان للـ action، ولكن مسار index يكون لعرض البيانات من خلال طلب GET، وليس لحفظ البيانات POST، من المفترض أن تستخدم مسار مخصص لعملية الحفظ Department.store.
- 3 اجابة
-
- 1
-
-
في المستند الرسمي لكل مكتبة أو إطار يتم شرح طريقة الاستخدام الأساسية بمعنى لو توجهنا لمستند مكتبة langchain ستجد في البداية قسم Introduction وبه تقديم للمكتبة وطريقة استخدامها بشكل بسيط جدًا. ثم يأتي ذكر قسم باسم Tutorials وبه شرح للاستخدامات المختلفة وللتفصيل يوجد قسم How-to guides. وفي قسم Tutorials يوجد شرح لبناء Chatbot بالتالي نقوم بتفقد الطريقة، وفي حال تسائلت عن أمر معين في المكتبة ستجد ذلك مُفصل في قسم API Reference. وغالب المستندات على هذا المنوال، تختلف المٌسميات أحيانًا، مثلاً تجد Quick Start أو Getting Started بدلاً من Tutorials، وتحتوي على الوظائف الأساسية الأكثر استخداماً وتقدم نظرة عامة على المكتبة وهيكلها وتشرح الاستخدامات الشائعة. و Modules بدلاً من قسم API Reference رغم أن الشائع هو API Reference، وهكذا. وابدأ تدريجيًا ولا تحاول فهم كل شيء مرة واحدة، بالمفاهيم الأساسية أولاً ثم تعمق تدريجيًا، واستخدم الأمثلة الموجودة في المستند وجرب تشغيلها وتعديلها، واستخدم خاصية البحث في الوثائق بكلمات مفتاحية تصف ما تريد تنفيذه. مع الوقت ستتمكن من التجول في المستندات بأريحية وسرعة، ولا غنى عنها، بالطبع تستطيع رؤية شرح مثلاً على اليوتيوب لكن لو واجهتك مشكلة أو تريد تعلم المزيد فالمستند الرسمي هو المكان الصحيح في أغلب الأحيان. وبمرور الوقت أيضًا سيترسخ لديك الخطوات التي تقوم بها والكود الذي تكتبه بشكل مُتكرر، ولو أردت تنفيذ أمر معين تبحث على جوجل مثلاً how to واكتب ما تريد وضع اسم المكتبة أو الإطار بجانبه مثلاً، في حال لم تجد شرح، سيتعين عليك التعمق في قراءة المستند الرسمي لتفقد هل يوجد ما تريد أم لا.
- 4 اجابة
-
- 1
-
-
أعتقد أنك تقصد الوصول إلى الكونسول في المتصفح وذلك من خلال خيار inspect elements ، أولاً اضغط على safari ثم اختر settings أو preferences : بعد ذلك اضغط على تبويب Advanced ثم قم بتفعيل خيار Show Features for Web Developers بعد ذلك توجه للصفحة واضغط على زر الفأرة الأيمن في أي مكان وسيظهر لك خيار inspect elements
- 3 اجابة
-
- 1
-
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. في حال السؤال غير متعلق بأحد الدروس في الدورات، فتأكد من تضمين ملف التنسيقات بشكل صحيح في ملف HTML، حيث يجب أن يكون كالتالي: <link rel="stylesheet" href="style.css"> لاحظ اسم الملف style.css يجب أن يطابق نفس الملف لديك، وأيضًا المسار الخاص به، فهنا أفترض أنك وضعته بجانب ملف HTML مباشرًة.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
- 1 جواب
-
- 1
-
-
pandas.drop() هي لإزالة صفوف أو أعمدة محددة من DataFrame حسب التسميات labels أو المواقع index وعليك أنت تحديد ذلك. import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df.drop('A', axis=1) لاحظ يجب تحديد ما تريد حذفه وهي أسماء الأعمدة أو أرقام الصفوف باستخدام المعاملات labels وaxis، بالتالي تستطيع اختيار العناصر التي تريد إزالتها، سواء كانت تحتوي على قيم مفقودة أم لا. أما pandas.dropna() هي لإزالة الصفوف أو الأعمدة التي تحتوي على قيم مفقودة NaN تلقائيًا، أي تعتمد على وجود القيم المفقودة ولا تتطلب منك تحديد ما تريد حذفه يدويًا، فهي تبحث عن NaN وتزيل الصفوف أو الأعمدة بناءًا على معايير معينة. وتسمح لك بتحديد شروط مثل حذف الصفوف التي تحتوي على أي قيمة مفقودة، أو فقط تلك التي كل قيمها مفقودة. import pandas as pd df = pd.DataFrame({'A': [1, None, 3], 'B': [4, 5, None]}) df.dropna() وسيتم حذف أي صف به قيمة واحدة على الأقل مفقودة. أما لو تريد حذف الصفوف التي كل قيمها مفقودة فقط ستكتب التالي: df.dropna(how='all')
- 5 اجابة
-
- 1
-
-
الخطأ غير واضح، تفقد سجلات الخادم الـ Error Log هل يوجد بها خطأ ظاهر؟ أيضًا ما الغرض من السكريبت؟ هل من المفترض أن يعرض بيانات معينة في الواجهة؟ أم عليك أنت كتابة ذلك؟ حاول استخدام الكود التالي وتفقد هل يتم طباعة نتيجة أم لا، وإن تم ذلك فالسكريبت يعمل بشكل سليم: $stmt = $this->prepare("SELECT * FROM _user_groups WHERE ID = ?", true); $stmt->execute([1]); while ($row = $stmt->fetch()) { echo "Host: " . htmlspecialchars($row['db_host']) . "<br>"; echo "User: " . htmlspecialchars($row['db_user']) . "<br>"; echo "Password: " . htmlspecialchars($row['db_pass']) . "<br>"; }
-
على حسب نوع المشكلة، ففي حالة التصنيف متعدد الفئات Multi-Class Classification، لو لديك عدد مختلف من الفئاتبين مجموعة التدريب ومجموعة التحقق، فيعني مشكلة في تقسيم البيانات، فيجب أن تكون الفئات متسقة بين المجموعتين، لكن لو مجموعة التحقق تحتوي على فئات إضافية مثل 123 فئة مقابل 5 فقط في التدريب، فيعني أن بيانات التحقق أكثر تنوعًا أوهناك خطأ في المعالجة المسبقة. وبالنسبة للتصنيف متعدد العلامات Multi-Label Classification، فمن الطبيعي أن يحتوي كل مثال على أكثر من علامة label، أي يتوافر عدد مختلف من الأعمدة بسبب أنّ مجموعة التحقق تحتوي على علامات إضافية لم تظهر في مجموعة التدريب، لكن ذلك سيؤدي إلى صعوبة في تقييم النموذج بشكل صحيح. أو ربما الفرق ناتجًا بسبب طريقة تحويل البيانات أي One-Hot Encoding أو Label Encoding، حيث إن تم تطبيق التحويل بشكل مختلف بين المجموعتين، فسينتج عن ذلك عدد أعمدة مختلف. بالتالي من الأفضل أن تتأكد من اتساق البيانات بين مجموعتي التدريب والتحقق، حيث عدد الأعمدة في train_labels وvalidation_labels متساويًا، ما لم يكن هناك سبب محدد كإضافة بيانات جديدة للتحقق فقط، ثم تفقد خطوات المعالجة للبيانات من المفترض أن تكون موحدة.
- 5 اجابة
-
- 1
-
-
صيغة الملف لديك غير صحيحة، فلا نكتب txt. بل الصحيح هو التالي فقط .gitignore وذلك ليتم التعرف عليه من قبل مستودع git في مشروعك. ثم تنفيذ الأمر التالي لإزالة الملفات من الـ stage دون حذف التغييرات من المجلد الفعلي git restore --staged . ثم قم بإعادة تنفيذ أوامر رفع المشروع مرة أخرى أي تنفيذ git add . والأوامر الأخرى.
- 6 اجابة
-
- 1
-
-
لا يوجد خطأ ظاهر لديك، ما رسالة الخطأ التي تظهر لك؟
-
كلا الرأيين لهما وجهة نظر صحيحة لكن تختلف حسب ظروف كل شخص، أنا أميل للخيار الأول وهو تعلم الأساسيات وتخصيص أكبر وقت لها ثم الإنتقال لتعلم التقنيات، وذلك لإمتلاك أساس قوي، قدرة على التعامل مع أي مشكلة بدون الاعتماد الكلي على Laravel أو المكتبات، فهم أعمق للمفاهيم والقدرة على تعلم أي تقنية قائمة على PHP. وفي رأي لا يوجد طريق مُختصر في البرمجة، نعم تستطيع تخطي بعض الأمور ودراستها لاحقًا، لكن الأساسيات ومنها اللغة البرمجية لا أنصحك بالتهاون بها، على كل حال ستتمكن من بناء مشاريع بسيطة إلى متوسطة بدون أساس قوي، وفي المشاريع المعقدة أو المشاكل الغير بسيطة ستواجه صعوبة في فهم بعض المفاهيم العميقة أو حل المشكلات. لكن في حال ليس لديك الوقت الكافي وتريد دخول سوق العمل، أو من الأشخاص الذي يملون بسرعة وليس لديهم صبر ولا مشكلة في ذلك، فالخيار الوسط هو الأفضل لك، بمعنى تعلم القدر الكافي من اللغة وهي الأساسيات وOOP ثم الإنتقال لتعلم Laravel وبناء مشاريع من خلاله ثم العودة فيما بعد وتعلم الجزء المتقدم من لغة PHP.
- 2 اجابة
-
- 1
-
-
استخدمه في وضع البطارية وليس الشاحن، ثم تفقد هل حُلت المشكلة أم لا.
- 15 اجابة
-
- 1
-
-
تلك المشكلة متكررة بالفعل، والعديد من المستخدمين ذكروا نفس مشكلتك، حاول إعادة ضبط إعدادات الطاقة على الويندوز من خلال الأمر التالي في منفذ الأوامر: powercfg -restoredefaultschemes في حال استمرت المشكلة قم بتحديث الـ BIOS، تفقد الإصدار المتاح على موقع الشركة الرسمي لجهازك، ثم تفقد الإصدار لديك، وستجد على اليوتيوب شروحات لذلك. وإن استمرت المشكلة قم بتحديث الـ EC. وكتحذير في حال ليس لديك خبرة بكيفية فعل ذلك من الأفضل تجنب القيام بذلك بنفسك والذهاب إلى شخص مختص. عامًة ستجد شرح هنا: BIOS, EC update and EC reset
- 15 اجابة
-
- 1
-