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

لوحة المتصدرين

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      4

    • المساهمات

      18969


  2. عمر حسام أحمد عبدالغفار سلو

    • نقاط

      4

    • المساهمات

      29


  3. عبدالباسط ابراهيم

    • نقاط

      3

    • المساهمات

      6689


  4. Khaled Osama3

    Khaled Osama3

    الأعضاء


    • نقاط

      1

    • المساهمات

      1892


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 03/09/25 in أجوبة

  1. هل هناك زر لتعليم اخر فيديو شاهدته في الدورة لكي اعود له مرة اخرى في وقت لاحق؟
    4 نقاط
  2. هل استطيع تحميل فيديوهات الدروس على حاسوبي الشخصي
    1 نقطة
  3. يا جماعه السلام عليكم وكل سنه وانتم طيبين حد يفيدني أنا عايز اعمل اسكربت دا عايز اديله الجميلات بتاعتي والباسورد ورمز الامان والتاريخ وهو يعمل تلقائيا من برنامج apple music حد يفيدني
    1 نقطة
  4. وعليكم السلام ورحمة الله وبركاته. إليك أيضاً بعض الفروقات الأخرى كالتالي أولاً Command Prompt (cmd.exe) يعتمد على البرمجة الإجرائية، حيث يتم تنفيذ الأوامر بشكل تسلسلي وبسيط. يتعامل فقط مع النصوص ولا يدعم البيانات المنظمة مثل XML أو JSON. قدراته محدودة مقارنة بـ PowerShell، وهو مناسب للمستخدمين الذين يحتاجون إلى أوامر سريعة وأساسية. بينما Windows PowerShell يدعم البرمجة الكائنية، مما يعني أنه يمكنه التعامل مع الكائنات والبيانات المنظمة مثل XML وJSON. يتيح وصولاً أعمق إلى مكونات النظام (مثل السجل "Registry" والخدمات) وإدارة المهام المعقدة، بما في ذلك الأنظمة البعيدة. يستخدم cmdlets (أوامر PowerShell خاصة) التي توفر إمكانيات واسعة مثل إدارة العمليات، الشبكات، والتكوينات.
    1 نقطة
  5. لنحاول التأكد من أن Nginx يستخدم location /static/ بشكل صحيح لجميع الطلبات التي تبدأ بـ /static/، وأن الـ location يتمتع بالأولوية على أي كتلة أخرى ربما تتعارض معه. أولاً بتعديل ملف الإعدادات لاستخدام ^~ مع location /static/ لإعطائه الأولوية: server { root /opt/Fikra-Project; location ^~ /static/ { alias /opt/Fikra-Project/staticfiles/; } location /media/ { alias /opt/Fikra-Project/media/; } # إعدادات Gunicorn location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } حيث ^~ يخبر Nginx أنه إن تم العثور على تطابق مع /static/، فلا يتم التحقق من أي كتل location أخرى، واستخدام ذلك الـ location مباشرًة، ويجب أن يكون location ^~ /static/ يأتي قبل location / في ملف الإعدادات. ثم تنفيذ أمر: python manage.py collectstatic --noinput بعد التعديل، تفقد صحة الإعدادات وأعد تحميل Nginx: sudo nginx -t sudo systemctl reload nginx
    1 نقطة
  6. DDoS هي اختصار لـ Distributed Denial of Service، وهي يعني الهجوم الموزع لقطع الخدمة او بمعني اخر ان يقوم بارسال عدد ضخم(غير طبيعي او غير متوقع) من الطلبات الي الموقع (Request) وبالتالي الموقع غير مهيئ انه يتعامل مع هذا العدد من الطلبات وهذا يوثر علي الموقع ويجعله بطئ جدا او يتوقف عن العمل تماما وفيها يستخدم المهاجم شبكة من الأجهزة المصابة بفيروس (تسمى Botnet)، والتي تعمل كـ جيش من الأجهزة المخترقة لإرسال الطلبات إلى الهدف. يمكن أن تستهدف مواقع ويب، سيرفرات ألعاب، تطبيقات، أو أي خدمة متصلة بالإنترنت. ولكن ملحوظه مهمه ان هجمات الDDOS لا تقوم بسرقه البيانات ولكنها توثر علي سرعه الموقع
    1 نقطة
  7. في بايثون القوائم هي هياكل بيانات ديناميكية وليست مصفوفات ثابتة، و هذا يعني أنه يمكنك تعديل حجم القائمة بإضافة عناصر جديدة أو حذف عناصر دون الحاجة إلى تخصيص حجم معين مسبقا، أما إذا كنت بحاجة إلى مصفوفة ثابتة مثل C أو C++، يمكنك استخدام المكتبة array أو NumPy
    1 نقطة
  8. وعليكم السلام ورحمة الله وبركاته. في بايثون المصفوفة مختلفة تماما عن اللغات الأخرى مثل c# و c++ و c . حيث في بايثون كائن list هو مصفوفة ديناميكية (Dynamic Array) وليست مصفوفة ثابتة (Static Array).و هذا يعني أن حجمها يمكن أن يتغير أثناء التشغيل ولا يتم تحديد حجم معين لها وحيث يمكن إضافة عناصر جديدة أو إزالة عناصر دون الحاجة إلى إنشاء مصفوفة جديدة. وأيضا العناصر بداخلها متغيره وليست ثابته حيث يمكنك وضع أرقام وسلاسل نصية وكائنات وليس نوع معين فقط.
    1 نقطة
  9. وعليكم السلام ورحمة الله وبركاته. في Python، الـ List هي مصفوفة ديناميكية (dynamic array) وليست ثابتة. فيمكن تغيير حجمها بعد إنشائها و إضافة عناصر جديدة أو حذف عناصر موجودة ولذلك قوائم Python مرنة جدًا وتتسع تلقائيًا لاستيعاب البيانات الجديدة دون الحاجة لتحديد حجم ثابت مسبقًا.
    1 نقطة
  10. وعليكم السلام ورحمة الله وبركاته. نعم، كلا المفهومين جزء أساسي من تقنيات التعلم الآلي الحديثة. فأولاً بالنسبة ل التعلم متعدد المهام (Multi-task Learning) فيتم تدريب نموذج واحد على عدة مهام في نفس الوقت. الهدف هو أن يستفيد النموذج من المعلومات المشتركة بين هذه المهام، مما يؤدي إلى تحسين الأداء على كل مهمة بالمقارنة مع تدريب نماذج منفصلة لكل مهمة. مثال على ذلك عند تصنيف الصور مع التعرف على الكائنات (حيث يُمكن للنموذج أن يتعلم كلاً من تصنيف الصورة واكتشاف مواقع الكائنات في وقت واحد). وتطبيقات معالجة اللغة الطبيعية التي تتضمن مهام مثل الترجمة والتلخيص والتحليل العاطفي في آنٍ واحد. ثانياً بالنسبة للتعلم التحويلي (Transfer Learning) يتم فيه نقل المعرفة المكتسبة من مهمة أو مجال (عادةً مع مجموعة بيانات ضخمة) إلى مهمة أو مجال آخر قد يكون لديه بيانات أقل. الهدف هو الاستفادة من النماذج المدربة مسبقًا لتقليل الحاجة للتدريب من الصفر، وبالتالي تحسين الأداء وتسريع عملية التعلم للمهمة الجديدة. باختصار، الفرق الرئيسي يكمن في أن Multi-task Learning يركز على تدريب نموذج واحد لحل عدة مهام معاً، بينما Transfer Learning يعتمد على نقل المعرفة من مهمة أو مجال إلى آخر لتحقيق أداء أفضل أو تقليل زمن التدريب.
    1 نقطة
  11. كلاهما في مجال تعلم الآلة، وهما تقنيتان مختلفتان لهما أهداف متباينة رغم وجود بعض التشابه في الفكرة العامة لاستخدام المعرفة المكتسبة. Multi-task Learning (MTL) أو التعلم متعدد المهام، تهدف إلى تدريب نموذج واحد على عدة مهام ذات صلة في نفس الوقت، بحيث يتم تعلم تمثيلات مشتركة shared representations تفيد جميع المهام، وذلك لتحسين الأداء العام للنموذج عبر الاستفادة من المعلومات المشتركة بين المهام كتعلم ميزات عامة تُفيد في الكشف عن حواف الصور للتعرف على الوجوه والكائنات معًا. بالتالي تقليل خطر overfitting بسبب تعلم ميزات عامة، وتوفير في الموارد الحاسوبية بدلًا من تدريب نماذج منفصلة لكل مهمة، وستجد أنها شائعة في تطبيقات مثل السيارات ذاتية القيادة للتعرف على إشارات المرور والمشاة معًا، أو في الرعاية الصحية لتشخيص أمراض متعددة من صور الأشعة. أما Transfer Learning (TL) أو نقل التعلم، فتعتمد على استخدام المعرفة المكتسبة من مهمة مصدر source task، وتكون ذات بيانات كبيرة لتحسين الأداء في مهمة هدف target task ذات بيانات محدودة، للاستفادة من المعرفة السابقة كالأوزان في شبكة عصبية لتسريع التدريب أو تحسين الأداء في المهمة الجديدة. وهي فعالة في حالات البيانات المحدودة للمهمة الهدف، وتوفر الوقت والموارد، خاصةً في الشبكات العصبية العميقة، وتقنية أساسية في النماذج الحديثة مثل BERT أو GPT، حيث تُدرَّب النماذج على بيانات عامة ثم تُضبط من خلال عمل fine-tune لمهام محددة.
    1 نقطة
  12. لم تذكر ما هي اللغة أو التقنيات المستخدمة للتطوير، فلكل لغة أداة اختبار خاصة بها، غالب الحال أنت تستخدم MERN للويب و React Native أو flutter للهاتف. عامًة الحد الأدني من الإختبارات هي كالتالي: 1- اختبار الوحدات Unit Testing حيث تختبر كل مكوّن أو وظيفة بشكل منفصل مثل APIs، دوال التسجيل، وغيرهم، وتتوفر أدوات أشهرها Jest لجافاسكريبت لكن الأفضل في رأي حاليًا هي vitest. 2- اختبار التكامل Integration Testing، من خلال التحقق من تفاعل المكوّنات مع بعضها بشكل صحيح كتفاعل الواجهة الأمامية مع الخلفية، وذلك للكشف عن المشاكل التي قد تظهر عند دمج الوحدات، مثل مشاكل نقل البيانات بين الوحدات، أو عدم توافق الواجهات. وتستطيع استخدام vitest لذلك أيضًا، ويتوفر WireMock و MockServer لمحاكاة الخدمات الخارجية APIs أثناء الاختبار. ولديك أيضًا Testcontainers لتشغيل خدمات مثل قواعد البيانات أو وسيط الرسائل في بيئة اختبار معزولة. 3- اختبار الوظائف Functional Testing أو System Testing للتحقق من أن كل ميزة تعمل كما هو متوقع وفقاً لمتطلبات العميل، كعملية الدفع وإدارة الحساب. أي اختبار التطبيق بأكمله كنظام واحد متكامل للتأكد من أنه يحقق الوظائف المطلوبة كما هو محدد في المتطلبات، والتحقق من أن التطبيق يعمل كما هو متوقع من وجهة نظر المستخدم. والأدوات المتاحة لذلك هي Selenium, Cypress, Playwright لأتمتة اختبارات واجهة المستخدم UI، حيث تلك الأدوات تسمح لك بالتفاعل مع التطبيق في المتصفح كما يفعل المستخدم الحقيقي. الأفضل في رأي هي Playwright. و Postman لـ APIs لاختبار واجهات برمجة التطبيقات بشكل مباشر.
    1 نقطة
  13. يمكنك البحث عن مفهوم اختبار البرمجيات أو الاختبارات البرمجية (Software Testing) وهو مصطلح يطلق على العمليات التي تستهدف تقييم أي تطبيق برمجي تم تطويره من حيث الأداء والوظائف التي يؤديها وصمم من أجلها والغرض هنا هو التأكد من ومعرفة ما إذا كانت هذه البرمجيات تفي بالأغراض والمتطلبات المستهدفة منها أم لا. وبناء عليه يمكننا تقسيم الأهداف من إجراء الاختبارات البرمجية إلى جزأين رئيسيين وهما: Validation: هل التطبيق الذي قمنا بتطويره هو المنتج المستهدف والصحيح؟ Verification: هل يؤدي العنصر x ما وُضع من أجله؟ وقد يكون x جزء من ال code أو واحد من المتطلبات أو نموذج وهكذا. كما يمكنك الاطلاع أكثر عليها من هنا:
    1 نقطة
  14. إما أن collectstatic لم ينقل ملفات Jazzmin إلى staticfiles، أو أن Nginx يبحث في المسار الخاطئ بسبب خطأ في alias، غالبًا لم تقم بتشغيل الأمر python manage.py collectstatic بشكل صحيح بعد نشر مشروعك، وذلك لتجميع جميع الملفات الثابتة من تطبيقاتك المختلفة ومجلدات STATICFILES_DIRS في مجلد واحد محدد بواسطة STATIC_ROOT. python manage.py collectstatic --noinput ثم تحديث كتلة location /static/ في ملف الإعدادات كالتالي: location /static/ { alias /opt/Fikra-Project/staticfiles/; autoindex off; expires max; access_log off; add_header Cache-Control "public"; } بعد تشغيل الأمر تفقد هل يوجد مجلد jazzmin: ls /opt/Fikra-Project/staticfiles/jazzmin/ إن لم تجده عليك إعادة تثبيت حزمة jazzmin وإضافة jazzmin إلى INSTALLED_APPS في settings.py. ثم إعادة تحميل nginx: sudo systemctl reload nginx
    1 نقطة
×
×
  • أضف...