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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. المشكلة لديك في تعريفك لمسار ملفات الـ Static، حيث قمت بتوفر مسارين في السطر 30 و 41 وهما: app.use(express.static(path.join(__dirname, "images"))) app.use(express.static(path.join(__dirname, "public"))); لذا المسار الثاني لن يتم تطبيقه وسيتم تطبيق المسار الأول، لذا عليك إبقاء واحد فقط وهو الثاني الخاص بمجلد Public حيث به نضع الملفات الثابتة لذا عليك وضع مجلد images به. الآن تستطيع الوصول مباشرًة للصور من مجلد public حيث يتم البحث عن الملفات الثابتة مباشرًة به لأننا حددنا ذلك، لذا العنوان يجب أن يكون نسبي بالنسبة له، لذا نكتب images كالتالي: https://api.wesamelnagah.com/images/1715322534151.jpg
  3. اليوم
  4. يمكنك حذف سطر رقم 30 من ملف app.js وهذا هو السطر . app.use(express.static(path.join(__dirname, "images"))) والآن فى سطر رقم 41 ستجد أنك قمت بتعريف الملفات الثابتة وقد قمت بتوفير مسار public لذلك . ولذلك فان خادم node سيقوم بقراءة الملفات الثابتة بداخل هذا المسار دون الحاجة لكتابته فى العنوان . لذلك العنوان الجديد هو https://api.wesamelnagah.com/images/1715322534151.jpg وذلك بعد حذف api و public من المسار
  5. يظهر هذا الخطا عند طلب الصور من المشروع upstream image response failed for https://api.wesamelnagah.com/api/public/images/1715322534151.jpg app.js
  6. بطء المواقع تتحكم فيها العديد من العوامل، لذلك يجب أولًا استخدام إحدى أدوات التحليل التي تقوم بتحليل الموقع واستخراج المشاكل التي به. من أهم هذه الأدوات الرسمية والتي تشرف عليها شركة جوجل https://pagespeed.web.dev/ من خلال هذه الصفحة تستطيع إدخال رابط موقعك وتطلب تحليله لكل من الهاتف المحمول Mobile أو اللاب توب Desktop ومن خلال تحليل موقعك عل هذه الأداة يتضح أن الموقع يعمل بشكل مقبول بالنسبة لللاب توب والأجهزة الكبيرة، أما بالنسبة للهاتف المحمول فتوجد عدة ملاحظات يجب معالجتها. بالتأكيد الموضوع يحتاج خبرة وسيحتاج منك بعض البحث عن كل نقطة أو الاستعانة بأحد المبرمجين الخبرة. ولكن أعطيك بعض الإرشادات بخصوص الملاحظات التي ظهرت: من ضمن الملاحظات أن الصور يمكن تحسين حجمها حتى تظهر بشكل أسرع وتوفر على المستخدم الذي يتصفح موقعك عن طريق باقة الإنترنت وليس الواي فاي. أرفقت لك صورة توضح الحجم الحالي والحجم المقترح لتحسين الأداء وبهذا الأسلوب تستطيع المرور على كل نقطة والبحث عن كيفية إصلاحها.
  7. عليك معرفة ما تريد تعديله لكي تتمكن البحث عنه في برنامج Hex editor، مثل تعديل ID الرسيفر أو الـ Master password. لكن إذا أردت تخصيصه بشكل أكبر، إذن عليك دراسة الـ Binary فالأصفار والأحاد التي ستجدها عند فتح محرر Hex editor هي عبارة عن تلك اللغة وهي لغة الآلة. أما على الجهة اليسرى من المحرر ستجد ASCII في حال وجد ذلك في بيانات الـ Binary، لتمثيل النصوص والأحرف والأرقام والرموز المختلفة. عامًة ابحث على اليوتيوب عن تعديل "سوفت وير للرسيفر" وستجد شروحات توضح الأمر لكنها ليست معمقة.
  8. Series عبارة عن نوع بيانات خاص في pandas مخصص لتمثيل البيانات ذات المحاور (مثل السلاسل الزمنية) لكن القواميس نوع بيانات عام في Python لتمثيل مجموعات البيانات ذات المفاتيح والقيم. وتُنظم البيانات في Series بمحورين هما المحور الرئيسي (index) والقيم بينما في القواميس باستخدام المفاتيح والقيم فقط. يوجد في Series مجموعة واسعة من الوظائف المخصصة لتحليل البيانات ومعالجتها، مثل التصفية والفرز والتجميع، وتم تصميمها للتعامل مع مجموعات البيانات الكبيرة بكفاءة عالية، باستخدام خوارزميات محسّنة لتحليل البيانات. في حين تفتقر القواميس إلى مثل تلك الوظائف المخصصة، وتتطلب استخدام مكتبات خارجية أو كتابة أكواد مخصصة للتعامل مع البيانات بشكل متقدم، وهي أقل كفاءة عند التعامل مع مجموعات البيانات الكبيرة، خاصةً عند إجراء عمليات تحليلية معقدة.
  9. دالة Series في مكتبة Pandas تشبه القاموس في بايثون لكنها تحتوي على بعض المميزات الخاصة بها، وتتميز بأنها تتيح فهرسة كل عنصر بفهرس يمكن أن يكون رقميا أو نصيا، وجميع العناصر فيها تكون من نفس النوع. يمكن إجراء العمليات الرياضية والإحصائية بسهولة كما تتكامل بشكل ممتاز مع مكتبات تحليل البيانات الأخرى مثل Numpy. Pandas عامة و Series خاصة مصممة للتعامل مع مجموعات بيانات كبيرة وعمليات تحليل معقدة بشكل فعال. الفروقات بين Series والقاموس تكمن في أن Series تتيح إجراء العمليات الرياضية والإحصائية بسهولة ويمكن فهرستها بأي نوع من القيم، في حين أن القاموس يمكن أن يحتوي على أنواع بيانات مختلفة ولكنه لا يدعم العمليات الرياضية بشكل مباشر.فلإنشاء Series من قائمة بيانات: import pandas as pd data = [1, 2, 3, 4, 5] s = pd.Series(data) print(s) كما يمكنك إجراء عملية جمع على جميع العناصر هكذا: print(s + 10) يمكن الوصول إلى عنصر معين: print(s[2]) يمكنك التوسع في الموضوع من هنا:
  10. السلام عليكم ان دارست عن ال Series بس برد يعني مش فاهم اي هي مميزاتها ؟ وكمان هل هي عبار عن قاموس ؟ وهل ممكن اطبق علها عملي من خلال بيانات كبير شوي وكده؟
  11. شكرااا جد جدا لحضرتك جزاك الله كل خير باذن الله
  12. يمكنك التحقق من توثيق المكتبة أو محاولة استخدام الكود مباشرة ومعرفة ما إذا كان يظهر خطأ. import pandas as pd print(pd.__version__) أو من خلال زيارة الموقع الرسمي للتوثيق `pandas` [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/) والبحث عن توثيق `pd.Index` ومراجعة العمليات المدعومة عليه.لكن يوجد بديل آخر، بحيث يمكنك استخدام دالة `union` كطريقة مؤكدة: import pandas as pd arr0 = pd.Index([0, 1, 2, 3, 4]) arr1 = pd.Index([0, 1, 2]) print(arr0.union(arr1)) فدالة `union` تعتبر الخيار الأكثر أمانا للعمل مع إصدارات مختلفة من `pandas`.
  13. بشكل بسيط MySQL تعتمد على جداول وعلاقات، بالتالي مناسبة لتمثيل البيانات المنظمة بوضوح، لكنها تواجه تحديات في التوسع مع تزايد عدد المستخدمين و حجم البيانات، أي تواجه تحديات في الأداء عند التعامل مع كميات كبيرة جدًا من البيانات أو عند الحاجة إلى التوسع الأفقي. وغير مناسبة لتخزين البيانات الغير منظمة أي التي تتغير، بمعنى أنها تتطلب هيكل بيانات صارم، وذلك عائقًا في حال الحاجة إلى تغيير بنية البيانات بشكل متكرر. بمعنى أنها ستكون خيارًا جيدًا في حال كان تطبيقك صغيرًا أو متوسط الحجم، مع تخزين بيانات منظمة مثل: معلومات عن الصالات: الموقع، السعة، السعر، الميزات. معلومات عن العملاء: الاسم، البريد الإلكتروني، رقم الهاتف. بيانات الحجوزات: تاريخ الحجز، وقت الحجز، نوع المناسبة. بينما MongoDB (NoSQL) مصممة للتوسع الأفقي و التعامل مع كميات هائلة من البيانات، وتتيح لكِ تخزين مجموعة متنوعة من البيانات، بما في ذلك البيانات الغير منظمة مثل الصور والفيديوهات، وتتميز بالسرعة العالية في معالجة البيانات، خاصةً مع الاستعلامات التي تتطلب قراءة بيانات متعددة. حيث تُخزن البيانات في MongoDB على شكل مستندات JSON، وهي مرنة و يمكن أن تحتوي على مجموعة متنوعة من البيانات، بما في ذلك النصوص، الأرقام، المصفوفات، و حتى المستندات المضمنة. وللعلم MongoDB مجانية لكن ستحتاجين إلى استضافة VPS لتثبيتها، أما إذا أردتي خدمة سحابية فيوجد MongoDB Atlas. و MongoDB ستكون خيارًا أفضل في حال تتوقعين نموًا سريعًا لتطبيقك وتحتاجين إلى تخزين بيانات غير منظمة. إذًا في مشروعك MySQL هي الخيار الأنسب.
  14. تمام بس برد بيظهر خطاء فا ممكن يكون ده كمان مش مدعوم دلوقتي فا ازي اعارف ان ده مدعوم او مش مدعوم
  15. العفو، بالنسبة للعامل `|` يمكن استخدامه لعمل اتحاد بين كائنات `pd.Index` في مكتبة `pandas`. ففي حالة ما إذا كانت تواجهنا مشاكل مع استخدام العامل `&` للتقاطع، يمكن استخدام `|` للاتحاد بهذه الطريقة: import pandas as pd arr0 = pd.Index([0,1,2,3,4]) arr1 = pd.Index([0,1,2]) print(arr0 | arr1) فهذه الطريقة ستعطينا اتحاد المؤشرين، مما يعني دمج جميع العناصر مع إزالة التكرارات كما أن كلتا الطريقتين ستعطيك نفس النتيجة، وهي اتحاد العناصر في المؤشرين.
  16. وكمان ازي استخدم دي | شكرااا لحضرتك جدا بس في العامل ده (|) ازي استخدم
  17. صحيح، التقاطع (`&`) بين كائنات `pd.Index` كان مدعوما في إصدارات أقدم من مكتبة `pandas`. ومع التحديثات الجديدة، قد تكون هذه العملية لم تعد مدعومة بنفس الطريقة. ولضمان التوافق مع الإصدارات الأحدث من المكتبة، يفضل استخدام الدوال المخصصة مثل `intersection`.
  18. تمام بس هي كانت بتدعم اصل في فيديو علي الينيوب مستخدمها عادي يتيوب
  19. إرسال رسائل البريد الإلكتروني عبر Gmail في Django اتبع الخطوات التالية : 1. التحقق على خطوتين أول شيء نحتاجه هو إعداد التحقق من عامل 2. انتقل إلى https://myaccount.google.com/security واسمح له بالتسجيل بحسابك . 2. إنشاء تطبيق كخطوة ثانية ، نحتاج إلى إنشاء تطبيق. انتقل إلى https://myaccount.google.com/apppasswords سيعطيك كلمة مرور ، والتي سنستخدمها في Django. بعد إنشاء تطبيق ، ستتلقى كلمة مرور. احفظه ، حيث ستحتاج إليه لاحقا. 3. إعدادات جانغو: لتجنب تخزين بيانات الاعتماد مباشرة سنستخدم ملفا(.env) حيث للتعامل معه نستخدم الامر التالي pip install decouple ثم نقوم بانشاء ملف باسم .env بعدها نضع داخله EMAIL_HOST_USER=your_account@gmail.com EMAIL_HOST_PASSWORD="doep naxs afue tlzv" DEFAULT_FROM_EMAIL=Your app <your_account@gmail.com> وبعدها انتقل إلى الملف(settings.py) وأضف إعدادات خادم البريد الإلكتروني. from decouple import config EMAIL_HOST = "smtp.gmail.com" EMAIL_HOST_USER = config("EMAIL_USER") EMAIL_HOST_PASSWORD = config("EMAIL_PASSWORD") EMAIL_PORT = 587 EMAIL_USE_TLS = True DEFAULT_FROM_EMAIL = config("DEFAULT_EMAIL") بالنسبة لمستخدمي Windows ، فأنت جاهز لكن قد يواجه مستخدمو Mac خطأ أثناء الاختبار. في هذه الحالة ، ستحتاج إلى تثبيت حزمة تسمى .certifi للتاكد من المستخدم عبر التعليمة التالية pip install --upgrade certifi ثم قم بتشغيل هذا الأمر من الجهاز. قم بتحديث المسار إذا كنت تستخدم إصدارا مختلفا من Python. /Applications/Python\ 3.12/Install\ Certificates.command والان الارسال عبر الدالة send_mail كالطريقة التالية from django.core.mail import send_mail from django.shortcuts import render def index(request): subject = ( "Ali ibrahim" ) message = "This email is from Django." send_mail( subject=subject, message=message, from_email=None, recipient_list=["alicodeacm@gmail.com",'mohamad123@gmail.com'] ) return render(request, "index.html") والنتيجة النهائية
  20. الخطأ الذي يظهر عند تشغيل هذا الكود يرجع إلى أن عملية التقاطع (`&`) غير مدعومة مباشرة بين كائنات `pd.Index` في مكتبة `pandas`. لاستخدام عملية التقاطع بين مجموعتين من المؤشرات، يجب استخدام الدالة `intersection` بدلا من ذلك. إليك الكود المعدل: import pandas as pd arr0 = pd.Index([0,1,2,3,4]) arr1 = pd.Index([0,1,2]) print(arr0.intersection(arr1)) فهذا الكود سيعطيك التقاطع الصحيح بين المؤشرين `arr0` و `arr1`.
  21. أول خطوة هي من خلال إعدادات البريد الإلكتروني في ملف `settings.py` في مشروع جانغو الذي تعمل عليه فنقوم بإضافة إعدادات البريد الإلكتروني إلى الملف مع ضبط إعدادات SMTP الخاصة بـ Gmail. عادة يكون الملف هكذا: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = 'your_email@gmail.com' # عنوان بريدك الإلكتروني EMAIL_HOST_PASSWORD = 'your_email_password' # كلمة مرور بريدك الإلكتروني بعدها يجب أن تقوم بتمكين الوصول الأقل أمانا لحساب Gmailمن خلال الذهاب إلى [رابط إعدادات الأمان لحسابك في Google](https://myaccount.google.com/security) والتأكد من تمكين الوصول الأقل أمانا. قم تقوم بإنشاء وظيفة في ملف views.py لإرسال البريد الإلكتروني وهذا هو الملف: from django.core.mail import send_mail from django.http import HttpResponse def send_test_email(request): subject = 'Test Email' message = 'This is a test email sent from Django.' email_from = 'your_email@gmail.com' recipient_list = ['recipient_email@example.com'] # البريد الإلكتروني للمستلم send_mail(subject, message, email_from, recipient_list) return HttpResponse('Email sent successfully') ثم أضف مسارا إلى ملف `urls.py` لاستدعاء دالة إرسال البريد الإلكتروني. from django.urls import path from .views import send_test_email urlpatterns = [ path('send-email/', send_test_email, name='send_email'), ]
  22. السلام عليكم ليه بيظهر خطاء في الكود ده import pandas as pd arr0 = pd.Index([0,1,2,3,4]) arr1 = pd.Index([0,1,2]) print(arr0 & arr1)
  23. السلام عليكم عاوز اسألكم يا اخوان شلون اسوي ارسال ايميل باستخدام Gmail بالجانغو ابغى تساعدوني بشرح او خطوات اسويها للي مارق عليه هذا الشي
  24. كان يتم الإعتماد على C++ فيما مضى بشكل كبير، لكن حاليًا أصبح التوجه نحو C# بسبب إطار .NET (مثل .NET Core و .NET 5/6) الذي تطور بسرعة كبيرة ومن خلاله تستطيع تطوير تطبيق لمختلف المنصات Cross-platform. وتُعتبر الخيار الرئيسي لتطوير تطبيقات Windows الحديثة باستخدام إطار العمل Windows Presentation Foundation (WPF) و Universal Windows Platform (UWP). أما C++ تُستخدم لتطوير تطبيقات ذات أداء عالي وتلك التي تحتاج إلى التفاعل المباشر مع نظام التشغيل، مثل مكتبات Windows API و DirectX لتطوير تطبيقات الألعاب وتطبيقات الرسوميات المكثفة. يوجد أيضًا إطار Eelectrone.js الخاص بلغة جافاسكريبت، لكن ذلك للتطبيقات والبرامج البسيطة التي لا تحتاج إلى أداء عالي واستقرار. أيضًا للتطبيقات البسيطة يوجد مكتبات مثل PyQt أو Tkinter الخاصة بلغة بايثون لتطوير تطبيقات سطح المكتب، لكنها غير مناسبة لتطبيقات Windows الكبيرة والمتقدمة.
  25. تعمل كل قاعدة بيانات بصورة مختلفة عن الأخرى للاختلاف في نوع قواعد البيانات التي يتعاملان معها ولكن يمكنك تحديد قاعدة البيانات المناسبة لك من خلال معرفة الفرق بينهما وبشكل مختصر إذا كانت البيانات لديك منظمة وتحتاج إلى استعلامات معقدة وعلاقات بين الجداول، فإن MySQL يكون الخيار الأفضل. أما إذا كانت البيانات غير منظمة وتحتاج إلى مرونة في تخزينها وتعديلها كما أن ، فإن MongoDB يكون الخيار الأنسب حيث تعتبر MongoDB أو قواعد البيانات الغير علائقية مناسبه للتطبيقات التي تتطلب مرونة وقابلية للتوسع و تستخدم بنية بيانات تعتمد على المستندات وتوفر سرعة عالية وسهولة الاستخدام.
  26. لا توجد لغة بعينها لبرمجة تطبيقات الوينداوز، لكن هنالك عدة لغات برمجة شائعة لتطوير تطبيقات Windows، كلغة سي شارب التي تستخدم مع .NET Framework أو .NET Core وهي تعتبر مثالية لتطوير تطبيقات بواجهة مستخدم رسومية باستخدام Windows Forms أو WPF. لغة C++ هي الأخرى تستخدم لتطوير تطبيقات ذات أداء عالي والمميز فيها أنها تعمل بشكل مباشر مع Windows API وتستخدم مكتبات مثل MFC. أما VB.NET فهي لغة برمجة مع .NET، سهلة التعلم وتستخدم في التطبيقات البسيطة والمتوسطة وحتى لغة بايثون يمكن استخدامها لتطوير تطبيقات Windows باستخدام مكتبات مثل PyQt أو Tkinter. حتى JavaScript/TypeScript تستخدمان مع تقنيات مثل Electron لتطوير تطبيقات سطح المكتب باستخدام تقنيات الويب. فكل لغة برمجة لها مميزاتها وتناسب أنواعا مختلفة من التطبيقات، والاختيار يعتمد على متطلبات المشروع وخبرة المطور أيضا. يمكنك التوسع أكثر من هنا:
  1. عرض المزيد
×
×
  • أضف...