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

Mustafa Suleiman

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

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

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

  • عدد الأيام التي تصدر بها

    340

كل منشورات العضو Mustafa Suleiman

  1. الطريق الأسهل هو أن تصبح لديك نسبة في أسهم الشركة كإمتياز لك من ضمن إمتيازات الوظيفة، وبعض الشركات توفر ذلك، والطريقة الثانية هي شراء الأسهم ولكن الأمر بحاجة إلى مبالغ كبيرة لكي تحصل على نسبة جيدة من الشركة. لكن إذا أردت الاستثمار، فيمكنك الاستثمار في أسهم البورصة في السعودية وأمريكا خاصًة S&P 500 ، لكن تجنب الاستثمار في الأسهم الخاصة بالبنوك بسبب الربا. الأسهم، كيف يمكنني الاستثمار به؟ الاستثمار، ما هي أنواعه؟ وما هو أفضلها في وقتنا الحالي؟
  2. حاول القيام بذلك من خلال الهاتف، فربما يتم حجب الـ CAPTCHA للتحقق من أنك لست Robot بواسطة برنامج Salfeld ، أو يمكنك تعطيله وأيضًا تعطيل مانع الإعلانات إن كان لديك وتفقد هل تم حل المشكلة أم لا، ومن الممكن القيام بذلك من متصفح آخر.
  3. أرجو التعليق أسفل فيديو الدرس لمساعدتك بشكل أفضل. هناك خطأ في استعلامك، فالقيمة التي تريد استبعادها هي "four, five" ككل وليست قيمتين منفصلتين، أي يجب عليك تقسيمهما بواسطة فاصلة، وذلك باستخدام كلمة "IN" فقط لكل قيمة، كالتالي: SELECT * FROM school WHERE class NOT IN ('four', 'five'); بالطبع قم بتغيير اسم الجدول بما يتناسب لديك، وأيضًا لاحظ أنه في الجدول كتبت for وليس four لذلك عليك تصحيح الأمر.
  4. الأسماء الأخرى هي: السلامة المعلوماتية (Information Assurance) تأمين المعلومات (Information Security) الأمن الإلكتروني (Cyber Security) الأمن السيبراني (Cybersecurity) وهناك أيضًا بعض الجامعات التي تقدم تخصصات ذات صلة بأمن المعلومات، مثل: الهندسة الأمنية (Security Engineering) إدارة أمن المعلومات (Information Security Management) التحقيقات السيبرانية (Cyber Investigations) وتخصص أمن المعلومات يتطلب معرفة قوية بعلوم الحاسوب، ولذلك تقدم بعض الجامعات تخصصات في علوم الحاسوب مع مواد اختيارية في أمن المعلومات. ويمكنك تفقد الجامعات التي تقدم تلك التخصصات في بريطانيا أو تستطيع تغيير البلد من خلال المواقع التالية: https://www.bachelorsportal.com/search/bachelor/cyber-security/united-kingdom https://www.bachelorstudies.com/bachelor/cyber-security/united-kingdom
  5. الدورة توفر لك تعلم التالي: الأسس البرمجية السليمة عبر لغة Python التعامل مع مختلف صيغ الملفات مثل إكسل Excel وورد Word وخدمات المستندات السحابية استخراج البيانات من صفحات الويب Web Scraping وتحليلها أساسيات التعامل مع قواعد البيانات عبر بايثون، والتعامل مع البريد الإلكتروني لإرسال الرسائل أساسيات إطار العمل جانغو Django بناء تطبيق إدارة المهام باستخدام إطار العمل جانغو Django تطوير متجر إلكتروني متكامل باستخدام إطار العمل جانغو Django وربطه مع وسائل الدفع باي بال PayPal وسترايب Stripe أساسيات إطار العمل فلاسك Flask، وبناء مدونة بسيطة تطوير واجهة برمجية API اعتمادًا على نمط RESTful لمعالجة الصور وبالتالي أنت تستطيع العمل بالمجالات التالية: مطور Full-stack لبناء مواقع الويب والمتاجر الإلكترونية أي قادر على تطوير الواجهة الأمامية والخلفية أيضًا من خلال Django و Flask. مطور واجهة خلفية Back-End فقط. مجال تعلم الآلة ولكن هنا أنت بحاجة إلى تعلم المزيد وعدم الإكتفاء بالدورة والأمر بحاجة إلى وقت أكثر من أي مجال آخر. محلل بيانات (Data Science )، حيث ستتمكن من استخدام مهارات البرمجة الخاصة بك للتحليل واستخراج البيانات من مصادر متنوعة، ومعالجة البيانات، وإجراء التحليلات الإحصائية والتعلم الآلي باستخدام مكتبات Python مثل pandas و NumPy و scikit-learn. مطور odoo وستجد توضيح أكثر هنا:
  6. المنطق يتم من خلال الآتي: إنشاء دالة ولتكن باسم remove_duplicates لحذف التكرار. حلقة لحساب عدد التكرار. حلقة لإنشاء القائمة الجديدة وتخزينها في متغير باسم (unique_arr). إرجاع القائمة الجديدة وقاموس عدد التكرار. استدعاء الدالة وطباعة النتائج. def remove_duplicates(arr): # إنشاء قاموس لتتبع عدد التكرار لكل عنصر count_dict = {} # حلقة لحساب عدد التكرار لكل عنصر for num in arr: count_dict[num] = count_dict.get(num, 0) + 1 # حلقة لبناء قائمة جديدة بدون العناصر المكررة unique_arr = [num for num, count in count_dict.items() if count == 1] return unique_arr, count_dict # قائمة مثالية my_array = [1, 2, 3, 4, 3, 2, 5, 6, 7, 8, 7, 6] # استدعاء الدالة unique_numbers, counts = remove_duplicates(my_array) # طباعة النتائج print("New list without duplicates:", unique_numbers) print("Number of occurrences for each element:", counts) وستجد أن النتيجة هي: New list without duplicates: [1, 4, 5, 8] Number of occurrences for each element: {1: 1, 2: 2, 3: 2, 4: 1, 5: 1, 6: 2, 7: 2, 8: 1} لاحظ في القاموس ستجد العدد وبجانبه عدد التكرار.
  7. الأمر بسيط، أنت بحاجة إلى استخدام Intersection Observer API من أجل تنفيذ تعليمات معينة عند الوصول لنقطة معينة في الصفحة. وستجد توضيح للأمر هنا: وستجد شروحات كثيرة على اليوتيوب بخصوص ذلك يمكنك مشاهدتها والتعلم منها.
  8. حاليًا أنت قمت باستخدام title() على كل سطر (i.title())، ولكن دالة title() تقوم بتحويل الحرف الأول في كل كلمة في السطر بأكمله، وليس بعد الرمز (:). وما يجب فعله هو: تقسيم كل سطر إلى جزئين: key و value، بناءًا على الرمز (:). استخدام title() فقط للجزء key لتحويل الحرف الأول في كل كلمة. استخدام capitalize() على الجزء value لتحويل الحرف الأول فقط. على النحو التالي: File_storage = "" file_path = r"C:\Users\Uday Ali Al-Sufyani\Desktop\بيانات Uday Ali Al-Sufyani\exam\aa.txt" with open(file_path, 'r', encoding='utf-8') as file: File_storage = file.read() for line in File_storage.split('\n'): storage = line.split(':') if len(storage) == 2: # التأكد من وجود رمز (:) في السطر key, value = storage[0], storage[1].lstrip() # إزالة الفراغات الزائدة من القيمة print(f"{key}: {value.capitalize()}")
  9. المسألة التي تحاول حلها هي String to Integer (atoi) والمطلوب هو: تحويل سلسلة نصية تحتوي على رقم إلى عدد صحيح، والهدف هو تحويل السلسلة إلى عدد صحيح، مع التعامل مع الحالات الخاصة مثل الفراغات في بداية السلسلة، والرموز غير الرقمية، وحدود التمثيل الصحيح. أي تحتاج إلى كتابة دالة تقوم بتحويل سلسلة نصية إلى عدد صحيح، والسلسلة يمكن أن تحتوي على فراغات في بدايتها، وقد تكون متباينة إذا كانت الأرقام إيجابية أو سلبية، وقد تحتوي السلسلة على أحرف غير رقمية وبالتالي يجب تجاهلها، وإذا تجاوزت القيمة المحسوبة حدود التمثيل الصحيح، يجب أن تُرجع INT_MAX (أكبر قيمة ممكنة للعدد الصحيح) أو INT_MIN (أصغر قيمة ممكنة للعدد الصحيح) حسب الحاجة. مثال: Input: str = " -42" Output: -42 Input: str = "4193 with words" Output: 4193 Input: str = "words and 987" Output: 0 Input: str = "-91283472332" Output: -2147483648 (INT_MIN) عليك تجاهل الفراغات في بداية السلسلة، وإذا كانت السلسلة فارغة أو لا يمكن تحويلها إلى عدد صحيح صالح، يجب أن تعيد الدالة قيمة 0. ولعلك تتسائل لماذا النتيجة هنا هي 0؟ Input: str = "words and 987" Output: 0 والسبب أن السلسلة "words and 987" تبدأ بكلمات (words) وليس برقم مباشر، وفي المسألة، يُطلب منك تحويل سلسلة تحتوي على رقم، وإذا كانت السلسلة لا تبدأ برقم، يجب عليك إرجاع 0.
  10. في حال أنك تستخدمين AsyncStorage فتستطيعي حذف التوكين من خلال التالي: await AsyncStorage.removeItem('accessToken'); نفذي التعليمة السابقة عند بداية التشغيل لمرة واحدة فقط وسيتم حذف التوكين ثم تعليق السطر لمنع حذف التوكين. وأظن أنها نفس المشكلة هنا في الدورة:
  11. حاول أولاً تثبيت مكتبة Wheel كالتالي: pip install wheel ثم حاول من جديد، وإن استمرت المشكلة حاول تثبيت مكتبة gensim من جديد وأيضًا تثبيت مكتبة pillow. وإن استمرت المشكلة حاول تجربة: pip install --use-pep517
  12. من الخطأ يظهر أنك بحاجة إلى تثبيت Microsoft Visual C++ 14.0 قم بتحميل وتثبيت التالي https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false بعد ذلك قم بتشغيل الملف ثم اختر Desktop development with C++ ثم اختر منها MSVC و Windows 11 SDK أو windows 10 حسب إصدار الويندوز لديك كالتالي: ثم اضغط على insatall وسيتم تحميل قرابة 6 جيجابايت لذلك عليك الإنتظار.
  13. من المحتمل أن يكون الخطأ الذي تواجهه بسبب عدم توافق الإصدار الأقدم من Gensim (3.8.3) مع الإصدار الأحدث من NumPy المثبت على نظامك، حيث تشير رسالة الخطأ تحديدًا إلى AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'، مما يعني أن Gensim تحاول الوصول إلى سمة غير موجودة في الإصدار الأحدث من NumPy. حاول تثبيت إصدار أقدم من NumPy متوافق مع Gensim 3.8.3 كالتالي: pip install numpy==1.19.5
  14. ستتوجه إلى Device Manager من خلال البحث عن ذلك في شريط البحث بالأسفل: بعد ذلك ستجد Display adapters اضغط على ذلك وستظهر لك كروت الشاشة لديك، اضغط على الكرت الخارجي لديك بزر الفأرة الأيمن ثم اختر disable device كالتالي:
  15. الإشتراك في الأكاديمية يتم بعملة الدولار، وحاليًا في مصر هناك تقييد على الدفع بالدولار، لذلك الحد الأقصى للدفع هو 250 دولار شهريًا، من خلال بطاقات الإئتمان Credit Cards فقط لذلك أنت بحاجة إلى فتح حساب واستخراج بطاقة Credit. والطريقة الأخرى هى الدفع من خلال وسيط مقابل نسبة، بحيث ترسل له المبلغ عن طريق فودافون كاش أو انستاباي وسيقوم هو بالإشتراك لك، وإذا أردت يمكنني إرسال حساب وسيط لك يمكنك التعامل معه لكي لا تتعرض للنصب.
  16. أعتقد أن المقصود هو جدول هو "EmailSenderReceiver" ونستخدم الأمر التالي لإنشاؤه: CREATE TABLE EmailSenderReceiver ( emailID INT NOT NULL AUTO_INCREMENT, senderID INT NOT NULL, receiverID INT NOT NULL, subject VARCHAR(255) NOT NULL, body TEXT NOT NULL, sentDate DATETIME NOT NULL, PRIMARY KEY (emailID), FOREIGN KEY (senderID) REFERENCES Users (userID), FOREIGN KEY (receiverID) REFERENCES Users (userID) ); ,الأمر سينشئ جدولًا يسمى "EmailSenderReciver" بستة أعمدة: emailID: رقم تعريف البريد الإلكتروني senderID: رقم تعريف المرسل receiverID: رقم تعريف المستلم subject: موضوع البريد الإلكتروني body: نص البريد الإلكتروني sentDate: تاريخ إرسال البريد الإلكتروني يحدد المفتاح الأساسي للجدول أن كل صف يجب أن يحتوي على قيمة فريدة لـ emailID. يحدد المفتاح الخارجي لـ senderID أن senderID يجب أن يكون قيمة موجودة في جدول UsersK ,يحدد المفتاح الخارجي لـ receiverID أن receiverID يجب أن يكون قيمة موجودة في جدول Users.
  17. الكود يعمل بشكل سليم فأنت تقوم بتمرير مصفوفة واستخدام ميثود join عليها ولا مشكلة في ذلك، يمكنك تجاهل تلك الرسالة أو تجربة كتابة الكود كالتالي: const addTwoNumbers = function(l1 = [], l2 = []) { const num1 = BigInt(l1.reverse().join('')) || 0n; const num2 = BigInt(l2.reverse().join('')) || 0n; const sum = num1 + num2; return Array.from(String(sum), Number).reverse(); }; console.log(addTwoNumbers([9, 9, 9, 9, 9, 9, 9], [9, 9, 9, 9]));
  18. يتم التحقق من رمز CSRF بشكل ضمني أثناء معالجة الطلب على الخادم، والعملية تحدث تلقائيًا ولا تتطلب تدخلك إلا إذا قررت تعطيل التحقق من رمز CSRF. والتحقق يحدث عن طريق المقارنة بين القيمة المرسلة في حقل الرمز CSRF في الطلب والقيمة المتوقعة المخزنة في جلسة المستخدم، مما يضمن أن الشخص الذي يقوم بإرسال الطلب هو نفسه الشخص الذي استلم الصفحة الأولى وحصل على الرمز CSRF. وإن لم يكن هناك تطابق بين القيمتين، سيتم رفض الطلب ويتم إثارة استثناء CSRFTokenError، وهناك استثناءات في بعض الحالات، مثل عدم وجود جلسة متصلة، ولكن عمومًا، التحقق الرمز CSRF جزءًا أساسيًا من إجراءات الأمان في Django. وتستطيع أيضًا التحكم في كيفية تنفيذ التحقق من رمز CSRF في Django من خلال تكوين إعدادات CSRF_USE_SESSIONS و CSRF_COOKIE_SECURE و CSRF_COOKIE_AGE وغيرها في ملف settings.py. ومتاح لك إعطاء أوامر معينة للخادم باستخدام middleware، مثلاً لإضافة حقل جديد إلى كل طلب أو لإعادة توجيه كل طلب إلى عنوان URL مختلف، كالتالي: from django.middleware.csrf import CsrfViewMiddleware class MyAppMiddleware(CsrfViewMiddleware): def process_request(self, request): # Do something before the request is processed return super().process_request(request) def process_response(self, request, response): # Do something after the request is processed return super().process_response(request, response) و يقوم middleware بإضافة حقل CSRF token إلى كل طلب يتطلب المصادقة. يقوم الوسيط أيضًا بإجراء بعض الإجراءات الأخرى قبل وبعد معالجة الطلب.
  19. الرسالة لديك تخبرك أنه يوجد مستودع بالفعل في ذلك الموجود وتم إعادة إنشاؤه، حيث يتم إنشاء مجلد .git بشكل مخفي، عليك الضغط على التالي لإظهاره:
  20. تستطيع استخدام أداة pyenv-win للتنقل بين إصدارات بايثون كما يحلو لك، والأمر بسيط: أولاً قم بحذف إصدار بايثون الذي لديك من خلال لوحة التحكم Control panel ثم programs and features. بعد ذلك قم بتشغيل منفذ الأوامر PowerShell كمسؤول run as administrator ثم الصق الأمر التالي: Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1" الآن قم بإعادى تشغيل منفذ الأوامر ونفذ الأمر التالي للتأكد من عملية التثبيت: pyenv --version ولتثبيت نسخة معينة من بايثون نقوم بالتالي: pyenv install 3.8.0 الآن لتفعيل تلك النسخة بشكل عالمي نقوم بالتالي: pyenv global 3.8.0 والجدير بالذكر أنه يمكنك تفعيل نسخة خاصة بمشروع معين أي يمكنك تثبيت إصدار 3.8.0 وتفعيله بشكل local محلي لمشروع معين من خلال تنفيذ الأمر التالي في مسار مجلد المشروع لديك: pyenv local 3.8.0 وستجد شرح أكثر هنا: https://github.com/pyenv-win/pyenv-win#installation
  21. نستخدم slugs بالعربي بنفس الطريقة التي تستخدم بها بالإنجليزية. 1- تعريف SlugField في موديل: from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() slug = models.SlugField(unique=True) 2- توليد الـ Slug: عندما تقوم بإنشاء مقالة جديدة، نستخدم مكتبة Django slugify لتوليد الـ slug بناءً على عنوان المقالة باللغة العربية، وعليك تثبيت المكتبة إذا لم تكن مثبتة بالفعل: pip install django-utils-six ثم، في مكان ما في مشروعك، يمكنك استخدام slugify كما يلي: from django.utils.text import slugify article = Article.objects.create(title="عنوان المقالة", content="محتوى المقالة") article.slug = slugify(article.title) article.save() 3- استخدام الـ Slug في العنوان URL: استخدم قيمة الـ slug لبناء عناوين URL كالتالي: urlpatterns = [ path('articles/<slug:article_slug>/', views.article_detail, name='article_detail'), ] وعند زيارة عنوان URL /articles/عنوان-المقالة/، سيتم توجيه المستخدم إلى عرض تفاصيل المقالة.
  22. تلك الخوارزمية ليست متاحة للجميع، وهي خاصة بشركات الإتصالات، وعامًة الخوارزميات التي يمكن الإعتماد عليها ستجدها مذكورة في التعليق بالأعلى، ومن الممكن فك تشفير أرقام كروت الشحن، ولكن ليس من السهل القيام بذلك. وتعتمد صعوبة فك تشفير أرقام الشحن على الخوارزميات المستخدمة في عملية توليدها، وإن كانت الخوارزميات المستخدمة قوية، فستكون عملية فك التشفير أكثر صعوبة. لكن المشكلة أن تلك الأرقام عشوائية ولا تتبع نمط معين، والخوارزمية تمنع تكرار نفس الرقم لكن الأرقام نفسها عشوائية، لذلك قد تصيب في بعض الأحيان في الحصول على رقم ولكن أحيانًا كثيرة لن تصيب.
  23. السؤال يتمحور حول تنفيذ استعلامات باستخدام قاعدة بيانات Access لتحقيق الوظائف المطلوبة، وتستطيع تنفيذ ذلك من خلال لغة SQL (Structured Query Language). ولكن الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، ولكن يمكن إرشادك للخطوات: أ) عرض صندوق الوارد لمستخدم (أحد أعضاء المجموعة): استخدم استعلام SELECT لاسترجاع البيانات من جدول الرسائل (Emails). استخدم الشرط (WHERE) لتحديد الرسائل التي تم إرسالها إلى المستخدم المعني أو إلى مجموعاته. قم بفرز النتائج بترتيب تنازلي حسب تاريخ البريد (EmailDate). ب) عرض جميع الرسائل البريدية التي تم إرسالها بواسطة مستخدم (أحد أعضاء المجموعة) مرتبة حسب تاريخ البريد: استخدم استعلام SELECT لاسترجاع البيانات من جدول الرسائل (Emails). استخدم الشرط (WHERE) لتحديد الرسائل التي تم إرسالها من قبل المستخدم المعني. قم بفرز النتائج بترتيب تصاعدي حسب تاريخ البريد (EmailDate). ج) عرض جميع الرسائل البريدية في مجموعة مستخدم: استخدم استعلام SELECT لاسترجاع البيانات من جدول الرسائل (Emails). استخدم الشرط (WHERE) لتحديد الرسائل التي تنتمي إلى المجموعة المعنية. د) إضافة مستخدم إلى مجموعة: استخدم استعلام INSERT INTO لإدراج بيانات جديدة في جدول يرتبط بالمستخدمين والمجموعات (على سبيل المثال، جدول GroupMembers). قم بتحديد معرف المستخدم ومعرف المجموعة الذين تريد إضافة المستخدم إليهم. https://wiki.hsoub.com/SQL
  24. في البداية مجال البرمجة ليس بالسهل وإلا تعلمه الجميع، فهو بحاجة إلى بذل مجهود والصبر لفترة ليست بالقصيرة بحد أدنى 4 أشهر وتصل إلى سنة حسب ظروف كل شخص والمجال الذي يتعلمه. وعامًة كبداية أنصحك بتعلم مجال الويب وأٌقصد الواجهة الأمامية، حيث سيتعين عليك تعلم HTML, CSS, JS ثم تعلم React أو Vue.js لتصبح مطور واجهة أمامية. وإذا أردت أن تصبح مطور PHP فعليك تعلم PHP ولارافل ووردبريس، والأمر يعتمد على ما إذا كنت تريد العمل بشركة أو تريد العمل على مواقع العمل الحر، والوقت المتاح لديك أيضًا. أيضًا لديك مجال الـ DevOps حيث يوجد عليه طلب حاليًا وتعلمه ليس بالصعب ولا يتم الإشارة إلى تعلمه كثيرًا رغم أنه من أسهل المجالات للدخول في سوق العمل الخاص بالبرمجة.
  25. ما هي اللغات التي تعلمتها وتريد التطبيق عليها؟ عامًة ستجد نصائح هنا وإرشادات للتطبيق على ما تعلمته وفي حال كان لديك سؤال أخبرني:
×
×
  • أضف...