-
المساهمات
14889 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
393
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
الكود لديك حاليًا لايقوم بمعالجة الأخطاء الناتجة عن الإدخال، فما تريده هو لون أي نص فقط، لذا الصحيح هو التالي: colors = [] # دالة للتحقق من صحة الإدخال def is_valid_color(color): return color.strip().isalpha() while True: try: colors_0 = input("add the first color you like (letters only): \n") if not is_valid_color(colors_0): raise ValueError("Invalid input. Please enter letters only (no numbers or special characters).") colors.append(colors_0.strip()) break except ValueError as e: print(f"Error: {e}") while True: colors_1 = input("Do you want to add more colors? yes or no? \n").lower() if colors_1 == 'yes': while True: try: far_color = input("add another color to the list (letters only):\n") if not is_valid_color(far_color): raise ValueError("Invalid input. Please enter letters only (no numbers or special characters).") colors.append(far_color.strip()) print(f"the colors you like are: {colors}") break except ValueError as e: print(f"Error: {e}") elif colors_1 == 'no': print(f"the colors you like are: {colors}") break else: print("Please answer with 'yes' or 'no'.") دالة is_valid_color هي للتحقق من أن الإدخال ليس فارغًا وليس به أرقام مثل 5 أو blue2، ما نريده هو blue فقط. فبها نقوم بإزالة المسافات البيضاء من بداية ونهاية السلسلة النصية بواسطة ميثود strip، فلو أدخل المستخدم " blue ", فإن color.strip() سيعيد "blue"، مما يعني أنه سيتم تجاهل أي مسافات غير ضرورية. isalpha() دالة مضمنة في بايثون تتحقق هل السلسلة تحتوي فقط على أحرف أبجدية (من الحروف A-Z و a-z)، وفي حال السلسلة تحتوي على أحرف فقط، ستعيد True، ولو تحتوي على أي نوع آخر من الأحرف مثل الأرقام أو الرموز أو حتى المسافات، ستعيد False. وفي باقي الكود و try و except لالتقاط الأخطاء عند إدخال الألوان. وحلقة while للسماح للمستخدم بالإجابة على السؤال حول إضافة المزيد من الألوان عدة مرات حتى يختار "لا"، في حال كان الإدخال غير "نعم" أو "لا"، يتم توجيه المستخدم لإعادة الإدخال.
- 6 اجابة
-
- 1
-
-
الأمر يتكرر مع المطورين الآخرين لذا لا داعي للقلق، الأمر يستغرق أسبوعين تقريبًا. تستطيع التحدث إليهم عبر الهاتف المخصص للمطورين ستجد تفاصيل هنا: https://developer.apple.com/support/worldwide-telephone-hours/
-
لا مشكلة، فتلك البيانات متاحة للجميع وليست بيانات خاصة أو حساسة، فالمشاريع يتم عرضها في جوجل وأرشفتها، وأيضًا الجميع يرى تلك البيانات. لكن الفائدة الحقيقية تكمن في استخراج معلومات وإحصائيات مفيدة منها ورسومات بيانية.
- 1 جواب
-
- 1
-
-
بالطبع لا مشكلة وحتى الأعمال التي قمتي بها طالما لا يوجد ما يمنع ذلك. فالتصميمات التي تم رفضها تستطيعي حتى نشر الملفات المصدرية إن أردتي.
- 3 اجابة
-
- 1
-
-
في حال كان العقد بينك وبين العميل ينص على ألا يتم نشر تلك الأعمال في معرض أعمالك فلا يجب ذلك بالطبع، وتقومين بذلك مقابل سعر إضافي بطبيعة الحال. لكن أغلب المشاريع ليست كذلك، ويحق لك وضع الصور في معرض أعمالك كما تشائين ولكن بدون أية روابط من شأنها نشر الملفات المصدرية فتلك من حق العميل فقط.
- 3 اجابة
-
- 1
-
-
المواد المتاحة هي مدفوعة أو بالإنجليزية، في حال تريدين الأسئلة بالعربية سأسرد لك بعضها، لكن قبل ذلك عليك التركيز على النقاط التالية: 1. مفاهيم التسويق الأساسية: ما هو الفرق بين البيع والتسويق؟ اشرح مفهوم دورة حياة المنتج، مع ذكر أمثلة. ما هي عناصر مزيج التسويق (4Ps) وكيف تتفاعل مع بعضها البعض؟ ما هي إستراتيجيات التسعير المختلفة ومتى يتم استخدام كل منها؟ 2. التسويق الرقمي: ما هي مزايا وعيوب التسويق عبر وسائل التواصل الاجتماعي؟ اشرح مفهوم تحسين محركات البحث (SEO) وكيفية تحسين موقع ويب لمحركات البحث. ما هي بعض المقاييس الرئيسية لقياس نجاح حملة تسويق عبر البريد الإلكتروني؟ ما هي بعض الأدوات المستخدمة في تحليلات الويب؟ 3. إدارة العلامة التجارية: ما هي أهمية هوية العلامة التجارية القوية؟ كيف يمكن للشركات بناء ولاء العملاء؟ ما هي العوامل التي تساهم في قيمة العلامة التجارية؟ 4. سلوك المستهلك: اشرح عملية اتخاذ قرارات الشراء من قبل المستهلك. ما هي العوامل النفسية التي تؤثر على سلوك المستهلك؟ كيف يمكن للشركات استخدام فهم سلوك المستهلك لتطوير إستراتيجيات تسويق فعالة؟ 5. بحوث التسويق: ما هو الفرق بين البحث الكمي والبحث النوعي؟ ما هي بعض طرق جمع البيانات في بحوث التسويق؟ كيف يمكن للشركات استخدام نتائج بحوث التسويق لاتخاذ قرارات تسويقية أفضل؟ والآن الأسئلة: السؤال الأول: ما هي العناصر الأربعة الأساسية في مزيج التسويق (4Ps)؟ أ) المنتج، السعر، المكان، الترويج ب) المنتج، الحصة، السوق، التوزيع ج) السعر، الترويج، الجودة، الخدمة د) التصميم، الجودة، السعر، المستهلك السؤال الثاني: أي من العوامل التالية تعتبر جزءًا من تحليل SWOT؟ أ) القوة ب) الضعف ج) الفرص د) جميع ما سبق السؤال الثالث: ما هو الهدف الرئيسي من دراسة السوق؟ أ) تحديد الأسعار ب) فهم احتياجات العملاء ج) تحسين جودة المنتج د) زيادة الأرباح السؤال الرابع: ما هي الاستراتيجية التي تركز على تقديم منتجات فريدة ومتنوعة لجذب شريحة معينة من السوق؟ أ) التمايز ب) التركيز ج) التوسع د) التغلغل السؤال الخامس: أي من العبارات التالية تصف التسويق الرقمي بشكل أفضل؟ أ) استخدام الوسائط التقليدية للإعلان ب) استهداف العملاء عبر الإنترنت من خلال الإعلانات والمحتوى ج) التركيز على التوزيع الفعلي للمنتجات د) جميع ما سبق السؤال السادس: ما هو تعريف "السوق المستهدف"؟ أ) مجموعة واسعة من العملاء المحتملين ب) مجموعة محددة من العملاء الذين يتشاركون في ميزات معينة ج) جميع المستهلكين في السوق د) العملاء الذين يشترون منتجات المنافسين السؤال السابع: أي من الاستراتيجيات التالية تستخدم لزيادة حصة السوق؟ أ) تخفيض الأسعار ب) تحسين جودة المنتج ج) تطوير منتجات جديدة د) جميع ما سبق السؤال الثامن: ما هو الغرض من "تحليل المنافسة"؟ أ) تحديد الأسعار الخاصة بك ب) فهم نقاط القوة والضعف لدى المنافسين ج) تطوير استراتيجية تسويقية فعالة د) جميع ما سبق السؤال التاسع: ما هو "التسويق بالمحتوى"؟ أ) استخدام وسائل الإعلام التقليدية للإعلان ب) إنشاء وتوزيع محتوى قيم لجذب العملاء ج) استخدام الإعلانات المدفوعة فقط د) التركيز على بيع المنتجات مباشرة السؤال العاشر: ما هي الاستراتيجية التي تعتمد على تقديم منتج بسعر منخفض لجذب أكبر عدد من العملاء؟ أ) استراتيجية التمايز ب) استراتيجية القيادة في التكلفة ج) استراتيجية التركيز د) استراتيجية التوسع السؤال الحادي عشر: ما هي الفائدة الرئيسية من استخدام وسائل التواصل الاجتماعي في التسويق؟ أ) الوصول إلى جمهور أوسع ب) تقليل تكاليف الإعلان ج) تحسين خدمة العملاء د) جميع ما سبق السؤال الثاني عشر: ما هو "التسويق الشخصي"؟ أ) تسويق المنتجات بشكل موحد لجميع العملاء ب) تقديم عروض مخصصة لكل عميل بناءً على سلوكهم واحتياجاتهم ج) تسويق المنتجات بناءً على الاتجاهات العامة د) جميع ما سبق السؤال الثالث عشر: أي من العبارات التالية تصف مفهوم "الولاء للعلامة التجارية"؟ أ) تفضيل المستهلك لمنتج معين على الآخر ب) شراء المنتجات بشكل عشوائي ج) عدم الاهتمام بجودة المنتج د) جميع ما سبق السؤال الرابع عشر: ما هو الغرض من دراسة سلوك المستهلك؟ أ) فهم كيفية اتخاذ المستهلكين للقرارات الشرائية ب) معرفة الأسعار المناسبة للمنتجات ج) تحديد مواقع البيع الأمثل د) جميع ما سبق السؤال الخامس عشر: ما هو أسلوب البيع الاستشاري؟ أ) التركيز على إقناع العملاء بالشراء ب) تقديم المشورة والمساعدة للعملاء لاتخاذ قرارات شراء مستنيرة ج) بيع المنتجات بأقل سعر ممكن د) جميع ما سبق
-
يتوفر برنامج TIPP10 ورابط التحميل الخاص به هو: https://www.tipp10.com/en/download/ اختر النسخة المناسبة للنظام لديك. وتتوفر مواقع أيضًا منها https://www.typing.com/
- 3 اجابة
-
- 1
-
-
أتفهم ما تقصده بخصوص التشفير، لكن تلك البيانات متاحة للعموم وليست ملكية خاصة أي ليس عليها حقوق ملكية. ما لا يتم نشره ويصبح متاح للعموم هي البيانات الحساسة مثل بيانات المستخدمين وغيرها والتي لا يجب الإطلاع عليها من قبل الجميع، بينما تمتلكها الشركات فقط. الأمر الذي يجعل الشركات الكبيرة قادرة على توظيف تعلم الآلة للتدرب على تلك البيانات الحساسة. ويمكن الاستعاضة عن ذلك بتدريب النماذج على بيانات تم توليدها والتي تعرف باسم Synthetic Data، وذلك هو الإتجاه السائد مستقبلاً بحلول 2030:
- 4 اجابة
-
- 1
-
-
أرجو توضيح الدورة المقصودة، فإن كان المقصود دورة تطوير واجهات المستخدم فلا يتم بها شرح React، وستجد توضيح بخصوص ذلك هنا: في حال تريد تعلم مكتبة للواجهة الأمامية مثل React، فذلك متاح بدورة جافاسكريبت وليس دورة تطوير واجهات المستخدم. فالأخيرة يتم بها شرح أساسيات لغات الويب وهي HTML, CSS, JS، ومشاريع عملية للتطبيق، مع شرح مكتبتي jQuery وبوتستراب أيضًا. وفي دورة جافاسكريبت يتم شرح إطارات ومكتبات وبيئات تشغيل أخرى: Node.js express.js react.js next.js react native ionic
-
بالضبط صحيح.
-
المشكلة في الكود حيث أنك لم تكتب الأقواس الخاصة بدالة print الصحيح هو التالي: print('Saber') الدوال أو الميثودز في البرمجة لها أقواس بعدها نكتب بداخلها الوسائط التي نريد تمريرها إليها لتنفيذ أمر معين.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
حاول معالجة الحالة عندما لا يتم العثور على المستخدم أي عندما تفشل محاولة تسجيل الدخول واستخدام try-catch لالتقاط الاستثناءات. ودالة Log::error لتسجيل رسالة الخطأ في ملف السجلات. public function login(Request $request) { try { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('Access Token')->accessToken; return response()->json(['token' => $token], 200); } return response()->json(['error' => 'Unauthorized'], 401); } catch (\Exception $e) { \Log::error('Login error: ' . $e->getMessage()); return response()->json(['error' => 'Something went wrong. Please try again.'], 500); } } إن استمرت المشكلة حاول الإعتماد على أدوات تصحيح الأخطاء مثل Laravel Debugbar، لتتبع الأخطاء بشكل أفضل.
-
في البداية Reinforcement Learning أحد فروع تعلم الآلة التي تركز على كيفية اتخاذ أفضل القرارات في بيئة معينة لتحقيق مكافأة قصوى على المدى الطويل، أي تخيل أنك تعلم روبوتًا كيفية اللعب في لعبة فيديو، الهدف هو تعليم الروبوت اختيار الأفعال التي تقربه من الفوز (أي تحقيق أعلى درجة). وبشكل مختصر يعمل بالآلية التالية: البيئة Environment هي المكان الذي يتفاعل فيه العامل (Agent). يمكن أن تكون لعبة فيديو، روبوت في مصنع، أو حتى سوق الأسهم. العامل Agent هو الذي يتخذ القرارات. يمكن أن يكون روبوتًا، برنامجًا، أو حتى شخصًا. الحالة State هي وصف للبيئة في لحظة معينة، مثلاً، في لعبة الشطرنج، الحالة هي ترتيب القطع على لوحة الشطرنج. Actions هي الخيارات المتاحة للعامل في حالة معينة، ففي لعبة الشطرنج، الأفعال هي تحريك قطع الشطرنج. المكافأة هي قيمة عددية تعكس مدى جودة القرار الذي اتخذه العامل، والمكافآت الإيجابية تشجع العامل على تكرار ذلك الفعل، بينما المكافآت السلبية تثبطه. والكورس جيد ويوفر مقدمة شاملة في مجال Reinforcement Learning، ويغطي مجموعة واسعة من المواضيع، بدءًا من المفاهيم الأساسية وحتى خوارزميات متقدمة مثل Q-learning و DQN كما أنه يتضمن مشروعًا عمليًا لبناء بيئة تعلم تعزيز خاصة بك. ستتعلم كيفية تطبيق خوارزميات Reinforcement Learning باستخدام لغات البرمجة Python و PyTorch و TensorFlow من خلال المشاريع العملية. وهو موجه إلى الأشخاص الذين يرغبون في تعلم أساسيات تعلم التعزيز، سواء كانوا طلابًا أو مهندسين أو مبرمجين أو أي شخص مهتم بالذكاء الاصطناعي كما أنه مناسب للأشخاص الذين لديهم خلفية أساسية في البرمجة بلغة Python.
-
لا عليك، طالما حاولت يجب السؤال لكي تصل لحل للمشكلة، قم بتجربة تحزيم المشروع على حاسوبك وليس على الاستضافة، أي تجهيزه للنشر كما أخبرتك، ثم رفع النسخة الجاهزة للنشر على الاستضافة مباشرًة كما أوضحت لك ووضع المجلدات والملفات مباشرًة في public_html
- 7 اجابة
-
- 1
-
-
بالطبع القديمة، أهم نقطة في التصميم هو تجربة المستخدمة UX، فالجمالية لا تعني شيء في حال لم تعمل على خدمة المستخدم. في التصميم الجديد من الصعب قراءة النصوص وأيضًا لا يوجد مساحات بيضاء لتوزيع التصميم بشكل جيد في الصفحة، على عكس التصميم القديم المتموضع في المنتصف وأيضًا التباين به جيد أي بين الخلفية والنص ليسهل قراءته، لكن من الأفضل تعديل اللون للون حديث وهاديء أكثر. فمثلاً اللون في التصميم الجديد لا بأس، لكن من الأفضل استخدام التالي للخلفية #f7f7f8 وللنص استخدم #000
- 1 جواب
-
- 1
-
-
بخصوص أفضل الممارسات، فتلك ليست الطريقة المناسبة، الإعتماد على حجم الشاشة لتعيين الخط أمر يسبب مشاكل غير متوقعة بطبيعة الحال حيث لا تستطيع التحكم في ذلك بشكل كامل، فلا يوجد حد أدنى أو حد أعلى لمدى حجم الخط والأمر يظهر بشكل جلي في الشاشات الصغيرة و الشاشات الكبيرة، أيضًا لو قمت بعمل تقريب للصفحة فلن يزداد حجم الخط في حال كان مساوي لـ 80vw مثلاً وستزداد النصوص التي أقل من ذلك. بالتالي الطريقة الحديثة هي استخدام دالة clamp والصيغة الخاصة بها كالتالي: font-size: clamp(MIN, VALUE, MAX); MIN: الحد الأدنى لحجم الخط. VALUE: القيمة المفضلة لحجم الخط والتي ستتغير حسب حجم الشاشة، أي القيمة التي نريدها للخط. MAX: الحد الأقصى لحجم الخط. وهناك أداة توفر لك القيم للنصوص المختلفة في موقعك، أي تقوم بتوليد القيم لك بناءًا على مساحة العرض وحجم الخط الذي تريده، وهي: utopia.fyi https://modern-fluid-typography.vercel.app/ وهناك حل آخر أُفضله، وهو إنشاء TYPOGRAPHY SYSTEM، بحيث يكون هناك نظام للخطوط متبع في كامل التصميم. أولاً عليك تحديد حجم الخط الأساسي للموقع ليصبح 10px، ونفعل ذلك بوضع القيمة التالية: html { font-size: 62.5%; } 62.5% من حجم الخط الأساسي أو الإفتراضي وهو 16px تصبح القيمة 10px. وذلك لتسهيل استخدام rem فحاليًا 1.8rem تعني 18px وبالتالي الاستخدام أصبح أسهل من أجل التجاوبية. بعد ذلك عليك تحديد مقاسات الخطوط في الـ TYPOGRAPHY SYSTEM وأحجامها font weight وأيضًا الـ line height وفي النهاية ستجد أنّ لديك نظام يشبه التالي: *** 01 TYPOGRAPHY SYSTEM - Font sizes (px) 10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98 - font weight default: 400 medium: 500 semi-bold:600 bold: 700 - line height default: 1.5 medium: default paragraph: 1.5 الآن قم بإنشاء متغيرات مخصصة تستطيع استخدامها في كامل التصميم كالتالي: :root { --font-family: 'Noto Kufi Arabic', sans-serif; --font-color--white: #ebedf8; --font-color: #322143; --font-size: 1.8rem; --font-size-small: 1.4rem; --font-size-medium: 1.6rem; --font-weight--medium: 500; --font-weight--semi: 600; --line-height: 1.5; }
- 3 اجابة
-
- 1
-
-
لا علاقة للأمر بذلك، كل مستودع به مشروع منفصل خاص به، وعند التقدم للإختبار تقوم بتوفير روابط المشاريع العملية الكاملة الخاصة بالدورة، لكل مشروع مستودع منفصل ورابط خاص به. وعامًة باستطاعتك جعل خصوصية المستودع عام (يراه الجميع ويصل لمحتواه) أو خاص لك أنت فقط وللمستخدمين المسموح لهم بالوصول. وبجانب رفع المشاريع العملية الكاملة من الأفضل إنشاء مجلد للدورة وتقسيمه إلى مجلدات لكل مسار مجلد، بعد ذلك نضع التطبيقات العملية البسيطة في تلك المجلدات بشكل منظم ثم نقوم برفع المجلد بالكامل إلى مستودع على GitHub. ثم بعد الإنتهاء من الدورة تقوم بمراسلة مركز المساعدة وتوفير روابط المشاريع على GitHub أي التطبيقات العملية ليتم مراجعتها، ثم تحديد موعد للإختبار.
- 2 اجابة
-
- 1
-
-
في حال تريد تعلم مكتبة للواجهة الأمامية مثل React، فذلك متاح بدورة جافاسكريبت وليس دورة تطوير واجهات المستخدم. فالأخيرة يتم بها شرح أساسيات لغات الويب وهي HTML, CSS, JS، ومشاريع عملية للتطبيق، مع شرح مكتبتي jQuery وبوتستراب أيضًا. وفي دورة جافاسكريبت يتم شرح إطارات ومكتبات وبيئات تشغيل أخرى: Node.js express.js react.js next.js react native ionic
- 3 اجابة
-
- 1
-
-
تحتاج إلى إنشاء ملف vercel.json في مجلد المشروع الرئيسي Api، وكتابة التالي به: { "version": 2, "rewrites": [{ "source": "/(.*)", "destination": "/api" }] } وهو ملف إعدادات، والغرض منه هو إخبار vercel كيف يتم توجيه الطلبات وفي الكود قمت بتوجيه ذلك إلى مجلد api ستجد تفصيل هنا: https://vercel.com/guides/using-express-with-vercel
-
يتم إنشاء نسخة تجريبية staging من الموقع وهي بيئة اختبار منفصلة تحاكي بيئة الإنتاج (الموقع الفعلي) بشكل كبير، ويتم نشر التحديثات على بيئة staging أولاً قبل إطلاقها على بيئة الإنتاج. بعد التأكد من عمل التحديثات بشكل صحيح على بيئة staging، يتم نشرها على بيئة الإنتاج لكن يتعطل الموقع بضع دقائق لحين الإنتهاء من التحديث ويتم عرض صفحة جاري التحديث مثلاً أو وضع الصيانة وهكذا، مع اختيار وقت ليس به زوار بعدد كبير حسب إحصائيات الموقع. أما المواقع الكبيرة فتقوم مثلاً بتوجيه المستخدمين لسيرفر آخر أثناء التحديث ثم إعادة التوجيه للسيرفر الذي تم به التحديث، أي تحديث كل مجموعة من السيرفرات على حدة وأثناء تحديث مجموعة، تبقى المجموعات الأخرى تعمل بشكل طبيعي، وذلك يعرف باسم Blue-Green Deployment
- 2 اجابة
-
- 1
-