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

Mustafa Suleiman

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

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

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

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

    365

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

  1. أرفق صورة لمنفذ الأوامر لديك بعد تفعيل البيئة الإفتراضية لتفقد ما يحدث، وربما قمت بتثبيت المكتبة من قبل على العام فستظل موجودة، تحتاج إلى حذفها
  2. تلك مشكلة قائمة بمكتبة pytube بالفعل، ستحتاج إلى استخدام مكتبة pytubefix بدلاً منها، ستجد شرح لاستخدامها هنا: https://pypi.org/project/pytubefix/
  3. عذرًا على ذلك، أحيانًا يوجد ضغط على مركز المساعدة، لذا أرجو الإنتظار لبعض الوقت طالما أنك قمت بتوضيح ما تريده في الرسالة، ولا تقلق بخصوص الرد، وشكرًا لتفهمك. في حال هناك أمر تريد المساعدة به في الدورات أرجو توضيحه وسيتم شرحه لك ومساعدتك به.
  4. من خلال إنشاء بيئة وتفعيلها، ثم تثبيت الحزم في نفس منفذ الأوامر المفعل به البيئة، ولو أغلقت منفذ الأوامر عليك إعادة تفعيل البيئة مرة أخرى.
  5. عليك الخروج من البيئة الإفتراضية ثم تنفيذ أوامر حذف المكتبات، فأثناء تفعيل البيئة الإفتراضية يتم البحث عن المكتبات بداخلها وليس النطاق العام للمكتبات. البيئة الإفتراضية Venv يتم تعطيلها من خلال: deactivate
  6. هل يمكنك توفير الرابط الذي تحدث به تلك المشكلة، هل قمت أن بتطوير ذلك المشروع؟ عامًة ذلك ميكانيزم دفاعي للحماية في متصفح جوجل كروم للحماية من المواقع التي يظن أن بها سكريبت سيضر بالمستخدم.
  7. عليك إعادة تعيين كلمة مرور المستخدم يدويًا في phpMyAdmin، في جدول المستخدمين حدد المستخدم الذي تريد إعادة تعيين كلمة المرور الخاصة به. انسخ كلمة مرور مشفرة جديدة تم إنشاؤها باستخدام Bcrypt (بواسطة أداة عبر الإنترنت أو دالة PHP مثل password_hash()). والصق كلمة المرور المشفرة الجديدة في عمود كلمة المرور للمستخدم المحدد ثم احفظ التغييرات.
  8. أتفهم ذلك، لكن ما تقوم به لشخص لديه الوقت الكافي للتعلم، في حال كنت صغير السن ولست بحاجة إلى عمل فلا مشكلة إذن.
  9. الأمر ليس ثابت، فما تقوم به هو الصحيح في حال لديك الوقت والسماحية لفعل ذلك، وبالنسبة لوضعك فأنت بحاجة إلى التركيز على التقنيات واكتساب خبرة بها من خلال بناء المشاريع ثم تكوين معرض أعمال لإثبات مهاراتك في المجال الذي اخترت التخصص به. التركيز على الأساسيات بالنسبة لك، يعني التركيز على اللغة البرمجية الأولى لك وحتى تلك في حال لم يكن لديك الوقت الكافي، فقم بتسريع العملية بتعلم الأساسيات ثم الإنتقال سريعًا لتعلم التقنيات، ولا أُفضل القيام بذلك، لكن لكل شخص ظروفه والأمر ليس ثابت. تفقد الوظائف التي ترغب في العمل بها ثم اكتب قائمة بالمهارات المطلوبة واعمل على تعلمها. بعد تحقيق ما تريده تستطيع العودة وتعميق استيعابك للأساسيات.
  10. تحدي تحويل الأرقام إلى نصوص Number to Words من التحديات الكلاسيكية التي تساعد على فهم الخوارزميات والتفكير البرمجي، وفي البداية يقع الغالبية في خطأ وهو التفكير في المشكلة ككل بدلاً من تقسيمها إلى أجزاء أبسط والعمل على حلها، كالتالي: الأرقام من 1 إلى 9 هنا الحالة مباشرة، حيث تستطيع استخدام if/else أو switch لتعيين نص لكل رقم. الأرقام من 10 إلى 19 تلك الأرقام لها أسماء خاصة (ten, eleven, twelve... nineteen). الأرقام من 20 إلى 99 هنا نبدأ باستخدام مضاعفات العشرة (twenty, thirty, ... ninety) ونضيف إليها الأرقام من 1 إلى 9 إذا لزم الأمر. الأرقام من 100 إلى 999: نستخدم اسم المئة (one hundred, two hundred, ...) ونضيف إليه تحويل الجزء المتبقي من الرقم (من 1 إلى 99). لتنظيم الكود وجعله قابل لإعادة الاستخدام، من الأفضل إنشاء دالة لكل حالة من الحالات السابقة. في البداية دعك من جودة الكود، الهم هو تنفيذ المطلوب، ومع الوقت ستتحسن جودة الكود لديك.
  11. يمكن ذلك بالطبع ستجد ٌقالب للمشروع كمثال هنا لبدء التطوير مباشرًة من خلال Next.js. next-chrome-starter والفكرة تتمحور حول ملف ملف البيان manifest.json الخاص بإضافات جوجل كروم، حيث يحدد بيانات تعريف الإضافة، مثل الاسم، الإصدار، الوصف، و أيضًا الأذونات التي تحتاجها الإضافة للعمل، مثل الوصول إلى علامات التبويب أو تخزين البيانات. { "manifest_version": 3, "name": "MyChromeExtension", "version": "1.0", "description": "A Chrome extension built with Next.js", "background": { "service_worker": "background.js" }, "action": { "default_popup": "index.html" } } وملفات JavaScript التي سيتم تشغيلها في الخلفية أو في صفحات الويب، وللعلم يجب إنشاء ذلك الملف في مجلد public في مشروع Next.js. والملفات التالية أيضًا: Background Scripts ملفات JavaScript تعمل في الخلفية بشكل مستمر لمعالجة المهام طويلة الأمد وإدارة حالة الإضافة وتتواصل مع أجزاء أخرى من الإضافة باستخدام واجهات برمجة تطبيقات كروم (Chrome APIs). Content Scripts ملفات JavaScript يتم حقنها في صفحات الويب التي يزورها المستخدم للتفاعل مع صفحات الويب، مثل تعديل محتوى الصفحة (DOM) أو تنفيذ إجراءات أخرى. Popup and Options Pages توفر واجهة المستخدم للتفاعل مع الإضافة، وهنا نستخدم Next.js لتبسيط تطوير الواجهات من خلال ميزات مثل العرض من جانب الخادم (SSR) وواجهات برمجة التطبيقات (API routes).
  12. حاول تحديث الحزم التالية لديك لأحدث إصدار: pip install numpy tensorflow keras --upgrade ومن الأفضل لو قمت بإنشاء بيئة إفتراضية خاصة بذلك المشروع وتثبيت الحزم الخاصة به لكي لا يحدث تعارض بين إصدارات المشاريع المختلفة.
  13. بسبب وجود مساحة فارغة في نص __main__ فلو أضفت مساحة فارغة في النص سيصبح مختلف ولن يتم التعرف عليه كالتالي: if __name__ == ' __main__': في البداية لاحظ، فالقيمة هي __main__ ولكن بدون مساحة زائدة فارغة. from random import choice quotes_list = [ "for jnkjs smdlkm psdlkasmd jknalnd klasldks kja;wkkm sdklks kmlkgfgh", "every knjksd kjsdkj kjhdskhs kjhas kjaskas jk iojoijs jkkhslfgfd ", "its khsdn sjkdkjlsd kdsnkn skjd kjsda kahsw nashdkj kjashd " ] def get_quotes(): return "\n".join(quotes_list) def add_quotes(quotes): if isinstance(quotes, str): # isinstance(quotes , str) دالة بيلد ان بايثون للتحقق من ان المدخل نص quotes_list.append(quotes) else: return 'the quotes must be a string' def get_random_quote(): return choice(quotes_list) if __name__ == ' __main__': print(get_random_quote()) add_quotes('you only love me') print(get_quotes())
  14. تلك المنصات مبنية بالأساس على PHP يجب تعلم اللغة أولا ثم تعلم التقنيات القائمة عليها وليس العكس. وفي دورة PHP يوجد شرح لووردبريس يمكن الإنتقال إليه بعد تعلم اللغة أي يمكن تخطي لارافل وتعلم ووردبريس في الوقت الحالي ثم تعلم لارافل فيما بعد. https://academy.hsoub.com/apps/web/wordpress/woocommerce/تعرف-على-woocommerce-منصة-التجارة-الإلكترونية-على-نظام-ووردبريس-r95/
  15. الفكرة أنّ age هو متغير تم حجز مكان له بالذاكرة، وعندما تستخدمه يتم الإشارة إليه في الذاكرة، وقد خزنت به قيمة integer. بالتالي عليك إعادة تعيينه إلى قيمة نصية كالتالي: age = str(age)
  16. هناك دالة astype لتحويل نوع البيانات لعمود معين إلى int heart['column_name'] = heart['column_name'].astype(int) column_name هو اسم العمود الذي تريد تحويله في إطار البيانات. أو إنشاء قاعدة بيانات جديدة وتحديد نوع البيانات لكل جدول، مثلاً لإنشاء جدول باسم بنوع Float في Sqlite نكتب: cursor.execute(""" CREATE TABLE heart ( cholesterol REAL, ); """) REAL يساوي Float في Sqlite.
  17. الأمر لا يتم بتلك الطريقة، هناك خيارات كثيرة، نقوم بتضييق تلك الخيارات من خلال سوق العمل والمناسب لك من حيث الوقت المتاح للتعلم وعمرك، فبعض اللغات والتقنيات تتطلب خبرة سنة أو اثنان ليتم قبولك في الوظيفة، بالتالي لو لديك الوقت والإلتزام الكافي للتعلم فلا مشكلة هنا. عليك تحديد هل تريد العمل بشركة أم مواقع العمل الحر، أم كلاهما؟ ثم تفقد الوظائف والمشاريع التي تختص بالواجهة الخلفية، مع العلم في مواقع العمل الحر ستحتاج إلى أن تكون Full-stack. ثم الموازنة والإختيار بناءًا على ظروفك وقدراتك، فلا يوجد نصيحة عامة.
  18. كما تم النقاش في سؤال سابق، ذلك أمر متفاوت من شخص لآخر وحسب طبيعة سوق العمل، فالمتوسط يختلف من 1000 إلى 3000 شهريًا. ومن الممكن أن تجد أشخاص يقبلون بأقل من ذلك، في حال العمل عن بُعد في البلاد التي بها العملة منخفضة أمام الدولار مثل الهند، بالتالي عليك تحديد حد أدنى لا تتنازل عنه إلا في أضيق الحدود. الأكاديمية لا توفر وظيفة بمبلغ معين، بل تساعدك في العثور على وظيفة بعد الإنتهاء من الدورة والحصول على الشهادة، وذلك خلال فترة 6 أشهر من حصولك على الشهادة، وخلالها يتم توجيهك لتحسين مهاراتك وإنشاء سيرة ذاتية لك.
  19. الدورات تم إعداداها بشكل ممنهج، حيث يتم البدء بالأساسيات ثم الإنتقال للمرحلة التالية بشكل متدرج ومعتمد على ما قبله، في دورة علوم الحاسوب أرجو دراسة المسارات بترتيبها، فلو قمت بالإنتقال مثلاً إلى مسار قواعد البيانات دونّ دراسة مسار أساسيات البرمجة فستواجه صعوبة في فهم الأمر. نفس الحال لو قمت بدارسة مسار الخوارزميات وبنى المعطيات أولاً، وعلى ذكر ذلك المسار، ستواجه صعوبة في فهمه في بدايات تعلمك لمجال البرمجة على أي حال لكونه من المفاهيم البرمجية الصعبة، حاول قدر الإمكان الاستيعاب بنسبة 50 إلى 70% وسيتضح لك الأمر فيما بعد عند التخصص في مجال برمجي والعمل على مشاريع، وتستطيع العودة إليه والمراجعة وزيادة نسبة استيعابك له. يمكنك مثلاً دروس لينكس في مسار أنظمة التشغيل ونظام لينكس في حال لا تريد دراسة ذلك النظام، لكن الأفضل لو قمت بمشاهدة الدروس بشكل سريع للمعرفة أفضل من عدم وجودها. المطلوب منك لدخول الإختبار هو 4 مسارات على الأقل، لكن الفكرة من دراسة الدورة هي الاستفادة والتعلم وليس الشهادة.
  20. من خلال مكتبة shutil حيث يتم حذف المجلد ثم كتابة بيانات عشوائية في مكانه لمنع استرجاعه: import os import shutil def secure_delete(folder_path): for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) with open(file_path, 'rb+') as f: # Overwrite the file content with random data f.write(os.urandom(os.path.getsize(file_path))) if __name__ == "__main__": folder_path = "/path/to/your/data" # اكتب هنا مسار المجلد الذي تريده secure_delete(folder_path) print("Data securely deleted.") أيضًا يوجد مكتبة باسم wiper لو أردت.
  21. في حال تقصد مُلخصات أو نص الدروس، فلا يتوفر ذلك حاليًا وذلك للحفاظ على محتوى الدورة من النشر. ستجد مقالات ودروس ستفيدك في أكاديمية حسوب بخصوص الذكاء الاصطناعي: الذكاء الاصطناعي ويوجد مرجع للغة بايثون على موسوعة حسوب: لغة بايثون Python أيضًا يوجد الكتب التالية:
  22. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  23. بالطبع فما تحتاج هو لغة بايثون، والدورة توفر لك ذلك، أنصحك أيضًا بتعلم الأساسيات من المسار الأول في دورة أساسيات بايثون لكونه مفصل أكثر طالما أنك تريد تنفيذ مشاريع من خلال بايثون. لكن ستحتاج إلى تعلم مكتبات بايثون المهمة للتحكم في أجهزة الإدخال والإخراج (GPIO) في Raspberry Pi، مثل مكتبة RPi.GPIO ومكتبة gpiozero، فذلك خارج نطاق الدورة، يمكنك التعلم من المستند الرسمي أو مشاهدة شرح على اليوتيوب.
  24. لو أردنا التشبيه فتخيل أنك في مطعم، سيصبح (النادل Facade) أي الواجهة هي مثل النادل في المطعم، أنت تطلب منه الطعام (تستخدم الواجهة) دون الحاجة للذهاب إلى المطبخ بنفسك ومعرفة كيفية تحضيره، أي النادل يوفر لك واجهة بسيطة وسهلة للطلب. في حين المطبخ (Service Container حاوية الخدمات) هي مثل المطبخ في المطعم، حيث تحتوي على جميع الطهاة (الخدمات) والمكونات اللازمة لتحضير الوجبات (وظائف تطبيقك)، بالتالي لا تحتاج للدخول إلى المطبخ ومعرفة تفاصيل تحضير الطعام، بل تكتفي بالطلب من النادل. إذن هي بمثابة صندوق أدوات يحتوي على جميع الأدوات (الخدمات) التي يحتاجها تطبيق لارافل للعمل بشكل صحيح، وتلك الأدوات تشمل قواعد البيانات، نظام التخزين المؤقت، نظام إرسال البريد الإلكتروني، وغيرها الكثير. فلارافل تأتي مع مجموعة من الخدمات الجاهزة التي تُسَهّل تطوير التطبيقات وتلك الخدمات مُعرّفة مُسبقًا في لارافل وتُضاف تلقائيًا إلى حاوية الخدمات.، مثل: نظام قواعد البيانات Eloquent. نظام التخزين المؤقت Cache. نظام إرسال البريد الإلكتروني Mail. نظام المصادقة Authentication. وعند استخدام حزم لارافل الخارجية، تُسجّل تلك الحزم خدماتها الخاصة في حاوية الخدمات، وبتلك الطريقة، باستطاعتك استخدام خدمات الحزمة بسهولة في تطبيقك. وبإمكانك أنت إضافة خدمات إلى الحاوية لتنظيم منطق عمل تطبيقك وتطبيق مبدأ فصل الاهتمامات Separation of Concerns، ستجد تفصيل هنا: حاوي الخدمات (Service Container) في Laravel الأمر يسير كما يلي: تطلب من النادل (تستخدم الواجهة) عندما تريد خدمة معينة في تطبيقك، فأنت تستخدم الواجهة المخصصة لها. النادل يخبر المطبخ (الواجهة تصل لحاوية الخدمات) تقوم الواجهة بالتواصل مع حاوية الخدمات للحصول على الخدمة التي طلبتها. المطبخ يُحضر الطعام (حاوية الخدمات تُجهّز الخدمة) تعمل حاوية الخدمات على تجهيز الخدمة التي طلبتها مع جميع التبعيات اللازمة. النادل يُقدم لك الطعام (الواجهة تعود بالنتيجة) تقوم الواجهة بإرجاع نتيجة الخدمة التي طلبتها بطريقة مبسطة وسهلة التعامل معها. مثلاً لو تريد إرسال بريد إلكتروني من تطبيقك، فبدلاً من كتابة كود معقد للاتصال بخادم البريد الإلكتروني وإرسال الرسالة، فببساطة تعتمد على خدمة البريد الإلكتروني المتوفرة في حاوية الخدمات: use Illuminate\Support\Facades\Mail; Mail::to('user@example.com')->send(new WelcomeEmail());
  25. من خلال مركز المساعدة وذلك بخصوص الإختبار أو الأمور المالية أو مشكلة في الدورات. أما بخصوص الأسئلة حول الدروس فيتم طرحها أسفل فيديو الدرس في نهاية الصفحة ستجد صندوق تعليقات كما هنا.
×
×
  • أضف...