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

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

  1. Ali Ismael

    Ali Ismael

    الأعضاء


    • نقاط

      3

    • المساهمات

      96


  2. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      3

    • المساهمات

      6975


  3. خالد مرتضى

    خالد مرتضى

    الأعضاء


    • نقاط

      1

    • المساهمات

      54


  4. محمد الحربي36

    محمد الحربي36

    الأعضاء


    • نقاط

      1

    • المساهمات

      97


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

المحتوى الأعلى تقييمًا في 10/23/21 في كل الموقع

  1. أريد إجراء عملية عكس لبيانات الصورة الرمادية، فهل هناك طريقة للقيام بذلك في بايثون؟
    1 نقطة
  2. كيف يمكن رسم دوائر فارغة لتمثيل نقاط البيانات باستخدام الدالة scatter؟ حيث قمت بالفعل برسم البيانات لكن أريد أن تكون نقاط البيانات مفرغة (أي بدون لون)؟
    1 نقطة
  3. لدي صورة وأريد رسم مستطيل عليها، كيف يمكننا القيام بذلك في Matplotlib ؟
    1 نقطة
  4. ماهو الكود الذي يجب أن استخدمه لأجعل موقعي يتيح للمستخدمين إبداء آرائهم ولأبسط الفكرة أكثر (ماهو الكود (الوسم،أو الـtag) الذي يستخدمه موقع تويتر ليتيح لمستخدميه من وضع تغريداتهم + ويتيح الموقع الإعجاب بالتغريدة وإعادة تغريدها وتضمينها في هاشتاق) وأيضا ماهي الطريقة التي يمكن من خلالها تضمين تغريدات معينة في هاشتاق محدد بحيث عندما نضغط على الهاشتاق تظهر التغريدات المضمّنة فيه؟
    1 نقطة
  5. دورة علوم الحاسوب هل في امكانيه ب استرجاع الكورس واسترداد المبلغ مره اخري مع العلم الكورس اشتريته من قريب
    1 نقطة
  6. اريد ان اكون مطور مواقع ماذا يجب ان افعل مع العلم اني رلا امتلك اي معرفة عن البرمجة
    1 نقطة
  7. أولاً عليك تعلم اللغات التي تساعد على تطوير المواقع ، منها Html التي تساعد على إنشاء أقسام وهيكلية الموقع ، و CSS تعلم على تنسيق الموقع وضبط محتوى الموقع بحيث يظهر بشكل مناسب لزائرين ، وJavaScript تساعد على تفاعل الموقع مع المستخدمين وإنشاء الأنيميشن ، ولجعل المستخدم يتفاعل مع الموقع من حيث حذف وتعديل واضافة و عرض بيانات والتعامل مع قواعد البيانات عليك بتعلم لغة PHP . ثانياً يوجد بالأكاديمية دورات عديدة تساعد على تطوير المواقع يمكنك التسجيل فيها وسوف تساعدك على الدخول لسوق العمل وجميعها تشرح اللغات التي تحدث عنها و تقنيات أخرى . دورة علوم الحاسوب دورة تطوير واجهات المستخدم دورة تطوير التطبيقات باستخدام JavaScript دورة تطوير تطبيقات الويب باستخدام لغة PHP دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب دورة تطوير تطبيقات الويب باستخدام لغة Ruby يمكنك الاطلاع عليها من هنا
    1 نقطة
  8. ما الفرق بين الhttp status code 401 و 403 حيث ان كلاهما يعبرو عن مشكلة في المصادقة
    1 نقطة
  9. يمكننا عمل استعلام فرعي يعيد لنا الأفلام التي تمت مشاهدتها من قبل مستخدم ما، ثم نعمل الربط على عدم وجود هذه القائمة من معرفات الأفلام في سجل المشاهدة للمستخدم أي NOT EXISTS SELECT * FROM my_movies m -- جدول الأفلام WHERE NOT EXISTS ( -- عمل فلترة عكسة - غير موجود SELECT * FROM seen s -- جلب بيانات جدول المشاهدات WHERE s.movie_id = m.id -- عمل الربط حسب رقم الفيلم AND s.user_id = 999 -- ورقم المستخدم ); أو نستخدم الربط LEFT OUTER JOIN: جدول الأفلام هو الجدول اليساري جدول المشاهدة هو الجدول اليميني الربط حسب رقم الفيلم عمل فلترة حسب رقم المستخدم فلترة الأفلام التي لم تتم مشاهدتها SELECT * FROM my_movies m LEFT OUTER JOIN seen s ON (m.id = s.movie_id AND s.user_id = 999) WHERE s.movie_id IS NULL;
    1 نقطة
  10. للسماح لحاويتين من ملفي إعداد منفصلين بالتواصل، يجب أن يتم ضبطهم ليعملا على نفس الشبكة، مثال: نقوم بإنشاء أول شبكة وخاصة ل my_backend version: '3' services: my_backend: networks: - my-network networks: my-network: driver: bridge لاحظ إتاحة تحديد نوع الشبكة مثلا Bridge.. وفي الحاوية التالية نحدد الشبكة الأولى عن طريق اسم الخدمة ثم اسم الشكبة ونحددها كشبكة خارجية external: version: '3' services: myapi: ... networks: - api-network networks: myapi_api-network: external: true ثم إضافة السطر external_links: ... external_links: - [mongo-project]:mongodb ... مع تبديل [mongo-project] بالاسم الذي تعطيك إياه التعليمة docker-compose ps
    1 نقطة
  11. الشكل العام لتعليمة الإيقاف كالتالي: docker kill [OPTIONS] CONTAINER [CONTAINER...] يبدأ الأمر ب docker kill ثم الخيارات ثم أسماء الحاويات التي نريد إيقافهم. مثال بسيط: docker kill my_container من أحد الخيارات التي يمكن تمريرها هو signal: docker kill --signal=SIGKILL my_container حيث نرسل إشارة للعملية ومثال SIGKILL لإيقافها، يمكن تمرير أي إشارة تحكم. في حال أي مشكلة في اسم الحاوية أو رقم المعرف الخاص بها، يمكن استعمال الأوامر: # عرض معرفات العمليات docker ps #عرض أسماء العمليات docker container ls # إيقاف عملية حسب اسمها أو رقمها docker stop <container_id> docker kill container_name kill يقتل العملية مباشرة stop تأخذ العملية وقتها لتتوقف بشكل سليم كما يوجد لأمر التالي الذي يستخدم لإيقاف جميع الحاويات: docker kill $(docker ps -q) لإيقاف الحاويات حساب الاسم نستخدم: docker ps -a -q --filter="name=<containerName>" # اسم الحاوية docker ps -a -q --filter ancestor=<image-name> # اسم image docker stop $(docker ps -q --filter ancestor=<image-name> )
    1 نقطة
  12. يُمكن إستخدام منصة Heroku كما وضح شرف الدين سابقًا أو يمكن حتى إستخدام أي سيرفر إفتراضي VPS من البداية من خلال الخطوات التالية: المتطلبات في البداية نحتاج إلى إنشاء الخادم وضبطه في السحابة من خلال أحد خدمات شركات الإستضافة مثل DigitalOcean أو CloudNode، يمكنك أن تشتري أي خادم ويب للتجربة، وسيتم محاسبتك بالساعة (حسب وقت إستعمالك للخادم منذ وقت الشراء)، وقد تتبع شركات إستضافة خطط أخرى غير المحاسبة بالساعة. ضبط بيئة Virtualenv جديدة نحتاج الآن إلى إعداد بيئة وهميّة virtualenv حيث سيتم تخزين ملفات المشروع وحزم Python أيضًا. إذا كنت لا تستخدم virtualenv ، فقم ببساطة بإنشاء المجلد الذي سيتم تخزين ملفات مشروع Django فيه وانتقل إلى الخطوة التالية. يمكنك تثبيت وإعداد Vitualenv من خلال الأوامر التالية: sudo apt-get install python-virtualenv virtualenv /opt/myproject الآن بعد تثبيت وإعداد بيئة وهميّة Vitualenv للمشروع نحتاج إلى تفعيلها لكي نتمكن من تثبيت المكتبات والحزم المستخدمة في المشروع، يوجد ملف باسم activate في مجلد bin في البيئة الوهميّة التي تم إنشائها سابقًا: source /opt/myproject/bin/activate يمكن الإطلاع على المزيد حول البيئة الوهمية Vitualenv من خلال هذه المقالة: كل المتبقي في هذه الخطوة هو تثبيت Django من خلال الأمر التالي: pip install django ملاحظة: يجب تنفيذ الأمر السابق بعد تفعيل البيئة الوهميّة مباشرة وليس في أي نافذة Terminal أخرى، لكي يتم تثبيت Django في البيئة الوهمية وليس بشكل عام على النظام. إنشاء قاعدة بيانات المشروع في الغالب يتم إستخدم PostgreSQL كخادم قاعدة بيانات. لإنشاء قاعدة بيانات باستخدام PostgreSQL، قم بتنفيذ الأمر التالي: sudo su - postgres الآن يمكن تنفيذ الأمر التالي لإنشاء قاعدة بيانات جديدة (يمكن إختيار أي اسم في هذه الخطوة): createdb mydb ولضمان حماية أكبر على قاعدة البيانات سوف نقوم بإنشاء مستخدم جديد وإعطائه صلاحيات التحكم في قاعدة البيانات التي قمنا بإنشائها: createuser -P psql GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser; في الأمر الأول سوف يتم السؤال عن اسم المستخدم الجديد وكلمة السر الخاصة به وبعض المعلومات الأخرى، ثم سيتم إعطائه الصلاحيات اللازمة من خلال جملة SQL الأخيرة. إذا لم يكن المشروع يستخدم PostgreSQL كخادم قاعدة بيانات، فستحتاج إلى التحقق من الوثائق حول كيفية إنشاء قاعدة بيانات لخادم قاعدة البيانات الذي تختاره. ضبط خادم Nginx نحتاج إلى ضبط خادم Nginx لكي يتمكن من عرض موقعنا. وذلك عبر تشغيل الأمر التالي لإنشاء ملف configuration : sudo nano /etc/nginx/sites-available/myproject الأمر السابق سوف يقوم بإنشاء ملف جديد والبدء في تحريره عبر برنامج nano. الآن يجب كتابة التالي لكي يتمكن خادم Nginx من التعرف على مكان المشروع وكيفية تشغيله: server { server_name yourdomainorip.com; access_log off; location /static/ { alias /opt/myenv/static/; } location / { proxy_pass http://127.0.0.1:8001; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; } } يمكن الآن حفظ الملف عبر الضغط على Ctrl + O ثم إغلاق الملف عبر الضغط على Ctrl + X لكي يتعرف Nginx على الملف السابق الذي قمنا بإنشائه يجب تنفيذ الأوامر التالية: cd /etc/nginx/sites-enabled sudo ln -s ../sites-available/myproject sudo service nginx restart إن ظهر خطأ كالتالي: server_names_hash, you should increase server_names_hash_bucket_size: 32 لحل المشكلة يجب تعديل الملف /etc/nginx/nginx.conf وإلغاء التعليق عن السطر التالي: server_names_hash_bucket_size 64; حتى الآن تم إعداد الخادم بشكل سليم ويتبقى أن نرفع ملفات مشروع Django نفسه إلى الخادم، ويمكن إستخدام أي بروتوكول لنقل أو إدارة الإصدارات مثل FTP, SFTP, SCP, Git, SVN، ويفضل إستخدام Git نظرًا لأنه الأسرع والأسهل في التثبيت والإعداد والأسرع في نقل الملفات أيضًا، لذلك يجب رفع المشروع على مستودع في أحد المواقع مثل GitHub أو GitLab .. إلخ، والحصول على رابط المستودع حيث سنقوم بإستخدامه في الخطوة التالي: إذا لم يكن لديك Git مثبت مسبقًا، فيمكن تثبيته عبر الأمر التالي: sudo apt-get install git نحتاج الآن إلى إنشاء مجلد للمشروع في البيئة الوهمية التي قمنا بإنشائها في الخطوات الأولى وتحميل نسخة من ملفات المشروع إليه: cd /opt/myproject mkdir myproject cd myproject git clone https://github.com/path/to/repo . ملاحظة: يحتوي الأمر الأخير على نقطة . وهي تشير إلى المجلد الحالي الذي سيتم تنزيل الملفات إليه. تثبيت وإعداد خادم التطبيقات App Server نحتاج الآن إلى إستخدام اداة مثل gunicorn لكي تعمل كخادم HTTP وتدير الزيارات إلى المشروع، لذلك سجب تثبيتها وجعل هذا الخادم يستمع إلى الزيارات من المنفذ 8001 الذي قمنا بإعداده في خطوة إعداد Nginx السابقة: source /opt/myproject/bin/activate pip install gunicorn gunicorn_django --bind yourdomainorip.com:8001 يمكنك الآن الضغط على Ctrl + z ثم كتابة "bg" لكي يعمل المشروع في الخلفية. ضبط إعدادات المشروع الخطوة الأخيرة هي إعداد المشروع نفسه وتغير بعض الإعدادات الخاصة به لكي يتعمل بشكل سليم وبدون مشاكل. في البداية سوف نقوم بتعديل ملف settings.py من خلال الأمر التالي: sudo nano /opt/myproject/myproject/settings.py ويجب تعديل وضع التطوير Development Mode عبر تغير قيمة المتغير DEBUG إلى False: DEBUG = False أيضًا يجب إعداد قاعدة البيانات من خلال تعديل DATABASES: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.psycopg2', 'NAME': 'mydb', # database name. # The following settings are not used with sqlite3: 'USER': 'myuser', 'PASSWORD': 'password', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. } } كما يجب تعديل مسارات الملفات الثابتة Static Files من خلال تعديل المتغير STATIC_ROOT و STATIC_URL، كالتالي: STATIC_ROOT = '/opt/myproject/static/' STATIC_URL = '/static/' الآن يمكن حفظ المشروع والتوجه إلى المجلد الذي يحتوي الملف manage.py ثم تنفيذ الأمر التالي: python manage.py collectstatic سيجمع هذا الأمر جميع الملفات الثابتة Static Files في المجلد الذي قمنا بتعيينه في ملف settings.py أعلاه. هذا كل شيء، يمكن الآن زيارة الموقع عبر IP الخادم VPS أو ربطه بنطاق/مجال Domain معين. وفي هذه الحالة ستحتاج إلى شراء نطاق Domain لكي تتمكن من تشغيل مشروعك عبر الإنترنت، حيث أن شركات الإستضافة تمنحك الخادم فقط في أغلب الأحيان، لذلك يجب أن تقوم بشراء نطاق لموقعك بنفسك من خلال أحد شركات الإستضافة مثل namechape أو GoDaddy ..إلخ ، لذلك يجب أن يكون لديك مجال يشير إلى خادم الويب الذي تم إنشاؤه حديثًا.
    1 نقطة
  13. من الممكن القيام بمثل ذلك عبر منصة heroku , نبدأ أولاً بتثبيت heroku command line عبر الأمر التالي لمستخدمين ليونكس sudo snap install --classic heroku وعبر الرابط التالي لمستخدمي ويندوز https://cli-assets.heroku.com/heroku-x86.exe بعد ذلك نقوم بتسجيل الدخول الى حساب heroku الخاص بك عبر نافذة الأوامر بالشكل التالي heroku login Enter your Heroku credentials: Email: your_email.com Password: ********* قم بإنشاء ملف runtime.txt في مجلد المشروع وقم بتحديد اصدار البايثون فيه, على سبيل المثال python-2.7.12 نقوم بانشاء ملف الprocfile في مجلد المشروع لتحديد الأوامر المراد تنفيذها عند بدأ تشغيل المشروع على heroku touch Procfile ومن ثم نقوم بإضافة الأمر التالى في الملف والذي يحدد خادم الويب الذي سيُستخدم في تشغيل المشروع web: gunicorn djangoherokuapp.wsgi --log-file - ومن ثم نقوم بتعديل ملف الsettings.py ووضع الdependencies التالية بالشكل التالي INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'herokuapp', ] ومن ثم نقوم بتثبيت تلك الإعتماديات من أجل عمل المشروع بشكل صحيح على المنصة pip install gunicorn dj-database-url whitenoise psycopg2 ولنجعل heroku يعلم أن المشروع المُراد تثبيته هو مشروع python نقوم بإنشاء ملف requirements.txt pip freeze > requirements.txt ونقوم بتحديد الdependencies وإصداراتها في الملف dj-database-url==0.4.2 Django==1.11.7 gunicorn==19.7.1 psycopg2==2.7.3.2 pytz==2017.3 whitenoise==3.3.1 إن كان المشروع يحتوي على ملفات ثابتة(static files) مثل الhtml, css, javascript, images فإن للأسف heroku ﻻ يقوم بدعم التعامل مع تلك الملفات بشكل إفتراضي لذا سنقوم بإستخدام الwhitenoise الذي قمنا بتثبيته مسبقاً وكتابة الأوامر التالية في ملف الsettings.py PROJECT_ROOT = os.path.join(os.path.abspath(__file__)) STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles') STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(PROJECT_ROOT, 'static'), ) STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' ومن ثم نقوم بإضافة الخدمات الوسيطة(middle ware ) في ملف الsettings.py MIDDLEWARE = [ 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] نقوم بعد ذلك بإنشاء المشروع على heroku عبر الأمر التالي heroku create herokudjangoapp نقوم بعد ذلك بتهيئة مستودع git عبر الأمر التالي git init ومن ثم نحتاج لربط ذلك المشروع بالمشروع الذي لدينا على الحاسب heroku git:remote -a herokudjangoapp ومن ثم نقوم بتنفيذ الأوامر التالية من أجل رفع المشروع على heroku git add . git commit -m "first commit" git push heroku master سيستغرق ذلك بعضاً من الوقت ومن ثم ستجد المشروع قد تم رفعه بنجاح
    1 نقطة
×
×
  • أضف...