تثبيت Mastodon على CentOS 7

Mastodon هو خادم مفتوح المصدر مدعوم ذاتيًا وخادم للتواصل الاجتماعي. يوفر ميزات مثل تويتر ؛ ولكن بدلاً من السيطرة عليها من قبل شركة واحدة ، فهي عبارة عن اتحاد من الخوادم اللامركزية التي تعمل معًا لإنشاء نظام كامل من الشبكات الاجتماعية. يمكن لفريق صغير بدء مثيل خادم Mastodon للتواصل فيما بينهم وكذلك مع المستخدمين الآخرين للمجتمع المتحد. كما يتيح لك اختيار سياسات الخصوصية والمراقبة الخاصة بك وتحديد كيفية التواصل مع المستخدمين الآخرين للخوادم المختلفة. يتم استضافة المحتوى الذي ينشئه المستخدم ويشترك فيه على الخادم حيث يتم إنشاء حسابه. يمكن للمستخدمين متابعة بعضهم البعض حتى لو لم يتم استضافتهم على نفس الخادم. لكل مستخدم في شبكة Mastodon اسمه أو معرفه الفريد الموجود في@username@domain-name.comشكل. تتوفر تطبيقات العملاء لـ Mastodon لجميع الأنظمة الأساسية تقريبًا.

المتطلبات الأساسية

ملاحظة: سنستخدم social.example.comكاسم المجال المستخدم لمثيل Mastodon. استبدل كل تكرارات social.example.comاسم المجال الفعلي الذي تريد استخدامه لتطبيق Mastodon الخاص بك .

قم بتحديث النظام الأساسي الخاص بك باستخدام الدليل كيفية تحديث CentOS 7 ، إذا لزم الأمر. بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات المطلوبة.

تثبيت التبعيات

يتطلب Mastodon عدة تبعيات للعمل. قم بتثبيت أحدث إصدار من Node.js، والذي سيتم استخدامه لتجميع ملفات JavaScript.

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

تثبيت Yarn، وهو تطبيق إدارة تبعية سريع وموثوق وآمن. سنستخدم الغزل لتثبيت تبعيات Node.js.

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn

التثبيت Redis. Redis هو مخزن بنية بيانات داخل الذاكرة وتطبيق ذاكرة التخزين المؤقت.

sudo yum -y install redis

قم بتشغيل Redis وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start redis
sudo systemctl enable redis

قم بتثبيت عدد قليل من التبعيات المطلوبة لبناء Rubyالتثبيت والتبعيات الأخرى.

sudo yum -y install ImageMagick git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel

ستحتاج أيضًا إلى تثبيت أدوات التطوير.

sudo yum -y groupinstall 'Development Tools'

تثبيت وتكوين PostgreSQL

PostgreSQL هو نظام قاعدة بيانات علائقية للكائنات. ستحتاج إلى إضافة مستودع PostgreSQL إلى نظامك حيث yumيحتوي المستودع الافتراضي على إصدار أقدم من التطبيق.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

قم بتثبيت خادم قاعدة بيانات PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel

تهيئة قاعدة البيانات.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

قم بتحرير pg_hba.confالملف لتمكين MD5المصادقة المستندة إلى.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

العثور على الأسطر التالية وتغيير peerل trustو identل md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

بمجرد التحديث ، يجب أن يبدو التكوين على هذا النحو.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

قم بتشغيل خادم PostgreSQL وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.

sudo passwd postgres

تسجيل الدخول إلى shell PostgreSQLكمستخدم.

sudo su - postgres

إنشاء PostgreSQLمستخدم جديد ل Mastodon.

createuser mastodon

يوفر PostgreSQL psqlالصدفة لتشغيل الاستعلامات في قاعدة البيانات. قم بالتبديل إلى غلاف PostgreSQL عن طريق التشغيل.

psql

تعيين كلمة مرور للمستخدم الذي تم إنشاؤه حديثًا لقاعدة بيانات Mastodon وتقديم الإذن بإضافة قواعد بيانات جديدة.

ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;

استبدلها DBPasswordبكلمة مرور قوية. الخروج من psqlالقشرة:

\q

قم بالتبديل إلى sudoالمستخدم.

exit

قم بتثبيت عدد قليل من تبعيات PostgreSQL المطلوبة.

sudo yum -y install libpqxx-devel protobuf-devel

تثبيت روبي

قم بإنشاء مستخدم جديد لـ Mastodon وقم بالتبديل إلى المستخدم الذي تم إنشاؤه حديثًا.

sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon

سنقوم بتثبيت أحدث إصدار من Ruby باستخدام Ruby Version Manager أو RVM. يتم استخدامه لتثبيت وإدارة إصدارات متعددة من روبي.

أضف GPGمفتاح RVM إلى الخادم الخاص بك.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

قم بتثبيت RVM.

curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm

الآن إحضار قائمة الإصدارات المتوفرة من Ruby.

rvm list known

سترى الناتج التالي.

[mastodon@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head

...

الآن قم بتثبيت أحدث إصدار من Ruby من القائمة.

rvm install 2.4

استخدم الإصدار المثبت من روبي.

rvm use 2.4

يجب أن تكون قادرًا على التحقق من إصداره.

ruby -v

يجب أن تشاهد نتيجة مماثلة.

[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

التثبيت bundler، وهو مدير التبعية لتطبيق روبي.

gem install bundler

انتقل الآن إلى الدليل الرئيسي لمستخدم Mastodon واستنساخ ملفات مستودع التطبيق من Github.

cd ~
git clone https://github.com/tootsuite/mastodon.git app

انقل دليل التطبيق وقم بالخروج من أحدث إصدارات التطبيق.

cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

هيئ bundleلاستخدام مسار مخصص لتهيئة PostgreSQL. أيضا ، قم بتثبيت تبعيات روبي.

bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test

تثبيت تبعيات Node.js باستخدام الغزل.

yarn install --pure-lockfile

ستحتاج إلى إنشاء ملف تكوين لتطبيق Mastodon. انسخ ملف تكوين العينة.

cd ~/app
cp .env.production.sample .env.production

قبل تحرير الملف ، قم بإنشاء ثلاثة مختلفة secretsعن طريق تشغيل الأمر التالي ثلاث مرات. ستحتاج إلى تعيين هذه الأسرار في ملف التكوين.

RAILS_ENV=production bundle exec rake secret

يجب أن تحصل على ناتج مماثل.

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967

قم بتحرير ملف التكوين باستخدام nanoالمحرر.

nano .env.production

ابحث عن الأسطر التالية وقم بتغيير القيم وفقًا لذلك.

REDIS_HOST=127.0.0.1
REDIS_PORT=6379

قم بتوفير بيانات اعتماد قاعدة البيانات ، وفقًا لمستخدم قاعدة البيانات الذي قمت بإنشائه أثناء تثبيت PostgreSQL. قم بتوفير أي اسم لاسم قاعدة البيانات حيث سيقوم Mastodon تلقائيًا بإنشاء قاعدة البيانات بالاسم الذي تقدمه.

DB_HOST=127.0.0.1
DB_USER=mastodon
DB_NAME=mastodon
DB_PASS=DBPassword
DB_PORT=5432

قم بتعيين اسم المجال للتطبيق.

LOCAL_DOMAIN=social.example.com

ابحث عن السطور التالية واضبط قيمتها على الأسرار التي أنشأتها.

PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=

احفظ الملف واخرج من المحرر.

الآن ، قم بتشغيل الأمر التالي لتوليد Web Push VAPIDالمفاتيح. ستحصل على خطأ أثناء إنشاء مفاتيح Web Push VAPID إذا لم تقم بتعيين الأسرار في ملف التكوين المذكور أعلاه.

RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key

يجب أن تشاهد الإخراج التالي.

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
VAPID_PRIVATE_KEY=DCMQdSPkdm-mepsNh4F3suc-UIvsABCvwFd03jSVemM=
VAPID_PUBLIC_KEY=BMMVcVXmqnV0C8S_ybZ7eQH-MXBEX2exqfdPSYQiMMUF2rRxfhoEtVF931i26ebMgmslHB_nvVadOdcBPhaFEjw=

افتح ملف التهيئة مرة أخرى وقم بتعيين المفاتيح التي تم إنشاؤها في الأسطر الخاصة بها.

VAPID_PRIVATE_KEY=
VAPID_PUBLIC_KEY=

أخيرًا ، قم بتوفير معلومات خادم بريد SMTP الخاص بك حتى يتمكن التطبيق من إرسال رسائل بريد إلكتروني إلى المستخدمين. من المهم أن تستخدم خادم SMTP يعمل ، لأنه عند التسجيل الجديد ، سيتم إرسال بريد إلكتروني إلى المستخدمين مع رابط تنشيط. سيتعين على المستخدمين الجدد النقر على رابط التفعيل لتفعيل حساباتهم.

SMTP_SERVER=mail.example.com
SMTP_PORT=456
SMTP_LOGIN=mail@example.com
SMTP_PASSWORD=MailPassword
SMTP_FROM_ADDRESS=notifications@example.com
SMTP_TLS=true

بمجرد الانتهاء ، احفظ الملف واخرج من المحرر. لقد فعلت التكوين الأساسي لمثيل Mastodon.

قم بإعداد قاعدة بيانات PostgreSQL لأول مرة.

RAILS_ENV=production bundle exec rails db:setup

أولاً ، سيقوم الأمر أعلاه بإنشاء قاعدة بيانات جديدة بالاسم المذكور في التكوين. بعد ذلك ، ستكتب قاعدة البيانات وفقًا للتكوين.

Precompile كل CSSو JavaScriptملفات لخلق ذاكرة التخزين المؤقت.

RAILS_ENV=production bundle exec rails assets:precompile

تم تثبيت Mastodon الآن على الخادم الخاص بك. ستحتاج الآن إلى إعداد Nginxخادم ويب لخدمة التطبيق وإعداد Systemdالخدمات لتشغيل خدمات Mastodon.

من الآن فصاعدًا ، سنحتاج إلى تنفيذ الأوامر باستخدام sudoالمستخدم.

قم بتثبيت Nginx باستخدام Let's Encrypt SSL

سنستخدم خادم الويب Nginx كوكيل عكسي لخدمة التطبيق للمستخدمين. سنحصل أيضًا على شهادات SSL ونثبتها من Let's Encrypt.

قم بتثبيت Nginx و Certbot. Certbot هو العميل الرسمي لإصدار الشهادات لـ Let's Encrypt CA.

sudo yum -y install nginx certbot

ضبط إعدادات جدار الحماية للسماح معيار HTTPو HTTPSالموانئ من خلال جدار الحماية من الاحتياجات Certbot لإجراء اتصال HTTP للتحقق من المرجع المجال.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

ملاحظة: للحصول على شهادات من Let's Encrypt CA ، يجب عليك التأكد من أن النطاق الذي ترغب في ��نشاء الشهادات له موجه نحو الخادم. إذا لم يكن الأمر كذلك ، فقم بإجراء التغييرات اللازمة على سجلات DNS الخاصة بنطاقك وانتظر حتى يتم نشر DNS قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات .

استخدم الآن خادم الويب المدمج في Certbot لإنشاء الشهادات لنطاقك.

sudo certbot certonly --standalone -d social.example.com

من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها في /etc/letsencrypt/live/social.example.com/الدليل. سيتم الاحتفاظ بشهادة SSL كـ fullchain.pemوسيتم حفظ المفتاح الخاص باسم privkey.pem.

تنتهي صلاحية شهادات التشفير خلال 90 يومًا ، لذا يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف Cron. Cron هي خدمة نظام تُستخدم لتشغيل المهام الدورية.

افتح ملف مهمة كرون.

sudo crontab -e

أضف السطر التالي.

0 0 * * * /usr/bin/certbot renew --quiet

سيتم تشغيل وظيفة cron المذكورة أعلاه يوميًا في منتصف الليل. إذا كانت الشهادة مستحقة الصلاحية ، فسوف تقوم بتجديدها تلقائيًا.

الآن قم بإنشاء كتلة خادم Nginx جديدة لموقع Mastodon.

sudo nano /etc/nginx/conf.d/mastodon.conf

تعبئة الملف بهذا.

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80;
  listen [::]:80;
  server_name social.example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name social.example.com;

  ssl_protocols TLSv1.2;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate     /etc/letsencrypt/live/social.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/social.example.com/privkey.pem;

  keepalive_timeout    70;
  sendfile             on;
  client_max_body_size 0;

  root /opt/mastodon/app/public;

  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

  add_header Strict-Transport-Security "max-age=31536000";

  location / {
    try_files $uri @proxy;
  }

  location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
    add_header Cache-Control "public, max-age=31536000, immutable";
    try_files $uri @proxy;
  }

  location @proxy {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";
    proxy_pass_header Server;

    proxy_pass http://127.0.0.1:3000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  location /api/v1/streaming {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";

    proxy_pass http://127.0.0.1:4000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  error_page 500 501 502 503 504 /500.html;
}

تأكد من تغيير اسم المجال والمسار لشهادات SSL.

يمكنك الآن بدء تشغيل خادم الويب Nginx وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start nginx
sudo systemctl enable nginx

سيُطلب منك أيضًا السماح بالمنفذ من 4000خلال جدار الحماية حيث سيوفر المنفذ خدمة واجهة برمجة التطبيقات المتدفقة.

sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload

توفير أذونات التنفيذ لدليل Mastodon.

sudo chmod +x /opt/mastodon

إعداد خدمة Systemd

ستحتاج إلى بدء ثلاث عمليات مختلفة لبدء تشغيل خادم Mastodon بنجاح. سيضمن استخدام خدمة Systemd بدء تشغيل خادم Mastodon تلقائيًا عند التمهيد ومعالجة الفشل.

إنشاء خدمة systemd جديدة لتشغيل خدمة الويب Mastodon. ستقوم هذه الخدمة بتشغيل خادم الويب المدمج على المنفذ 3000.

sudo nano /etc/systemd/system/mastodon-web.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Web Service
After=network.target

[Service]
Type=simple
User=mastodon
Group=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="PORT=3000"
ExecStart=/bin/bash -lc 'bundle exec puma -C config/puma.rb'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

إنشاء خدمة Systemd الثانية لتشغيل خدمة قائمة انتظار الخلفية Mastodon. تتولى خدمة قائمة انتظار Mastodon جميع مهام الخلفية.

sudo nano /etc/systemd/system/mastodon-queue.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Queue Service
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="DB_POOL=5"
ExecStart=/bin/bash -lc 'bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

أخيرًا ، أنشئ ملف الخدمة الأخير لخدمة واجهة برمجة تطبيقات تدفق Mastodon.

sudo nano /etc/systemd/system/mastodon-api.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Streaming
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="NODE_ENV=production"
Environment="PORT=4000"
ExecStart=/bin/npm run start
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

قم بتمكين خدمات Mastodon للبدء في وقت التمهيد تلقائيًا.

sudo systemctl enable mastodon-web mastodon-queue mastodon-api 

لبدء تشغيل خدمات Mastodon ، يمكنك تشغيل هذا.

sudo systemctl start mastodon-web mastodon-queue mastodon-api 

للتحقق من حالة الخدمات ، يمكنك تشغيل هذا.

sudo systemctl status mastodon-web mastodon-queue mastodon-api 

استنتاج

يمكنك الآن الوصول إلى تطبيق Mastodon من خلال الانتقال إلى https://social.example.com. قم بإنشاء حساب مستخدم جديد على الخادم الخاص بك وتحقق من حساب المستخدم من خلال فتح الرابط المرسل في البريد الإلكتروني. لتوفير امتيازات المسؤول للحساب الذي أنشأته للتو ، قم بتشغيل هذا.

sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>

استبدل <user_name>باسم المستخدم الفعلي الذي استخدمته لإنشاء الحساب في واجهة Mastodon.

تم تثبيت مثيل Mastodon الخاص بك وتهيئته للتشغيل. ابدأ بدعوة أصدقائك للانضمام إلى مثلك واستكشف الميزات التي يوفرها Mastodon. يمكنك استخدام موقع الشبكات الاجتماعية الخاص بك في الهاتف المحمول عن طريق تنزيل أي من التطبيقات المتاحة لمختلف المنصات.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد