كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
GoCD هو نظام تسليم وأتمتة مستمر مفتوح المصدر. يسمح لك بنمذجة سير العمل المعقد باستخدام التنفيذ المتوازي والمتسلسل. تسمح لك خريطة تدفق القيمة الخاصة بها بسهولة تصور سير عمل معقد بسهولة. يتيح لك GoCD مقارنة بنيتين بسهولة ونشر أي إصدار من التطبيق الذي تريده. يتكون النظام البيئي GoCD من خادم GoCD وعامل GoCD. GoCD مسؤولة عن التحكم في كل شيء مثل تشغيل واجهة المستخدم المستندة إلى الويب وإدارة وتوفير الوظائف للوكيل. وكلاء Go مسؤولون عن إدارة الوظائف وعمليات النشر.
في هذا البرنامج التعليمي ، سوف نستخدم 192.168.1.1
كعنوان IP عام gocd.example.com
ولكونه اسم النطاق الموجه نحو مثيل Vultr. يرجى التأكد من استبدال كل تكرارات مثال اسم المجال وعنوان IP بالحدث الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث CentOS 7 . بمجرد تحديث نظامك ، تابع تثبيت Java.
يتطلب GoCD Java الإصدار 8 ويدعم كل من Oracle Java و OpenJDK. في هذا البرنامج التعليمي ، سنقوم بتثبيت Java 8 من OpenJDK.
يمكن تثبيت OpenJDK بسهولة ، حيث تتوفر الحزمة في YUM
المستودع الافتراضي .
sudo yum -y install java-1.8.0-openjdk-devel
إذا تم تثبيت Java بشكل صحيح ، فستتمكن من التحقق من إصداره.
java -version
ستحصل على إخراج مماثل للنص التالي.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
قبل أن يتسنى لنا مواصلة المضي قدما، فإننا سوف تحتاج إلى إعداد JAVA_HOME
و JRE_HOME
متغيرات البيئة. ابحث عن المسار المطلق لجافا القابل للتنفيذ في نظامك.
readlink -f $(which java)
سيتم إخراج النص التالي إلى المحطة الطرفية الخاصة بك.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
الآن، تعيين JAVA_HOME
و JRE_HOME
متغيرات البيئة وفقا لمسار دليل جافا.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
ملاحظة: تأكد من استخدام مسار Java الذي تم الحصول عليه على نظامك. قد يتغير المسار المستخدم في هذا البرنامج التعليمي عند إصدار نسخة جديدة من Java 8.
تنفيذ bash_profile
الملف.
source ~/.bash_profile
يمكنك الآن تشغيل echo $JAVA_HOME
الأمر للتأكد من تعيين متغير البيئة.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD مكتوب بلغة Java ، وبالتالي فإن Java هي التبعية الوحيدة لتشغيل GoCD. يمكن تثبيت GoCD بمساعدة YUM
. قم بتثبيت المستودع الرسمي في النظام.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
قم بتثبيت خادم GoCD في نظامك.
sudo yum install -y go-server
قم بتشغيل GoCD وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start go-server
sudo systemctl enable go-server
قبل أن نصل إلى لوحة تحكم GoCD ، لنقم بإنشاء دليل جديد لتخزين العناصر. يمكن تخزين العناصر على نفس القرص الذي تم فيه تثبيت نظام التشغيل والتطبيقات. بدلاً من ذلك ، يمكنك استخدام قرص مخصص أو محرك أقراص تخزين كتلة لتخزين القطع الأثرية.
إذا كنت ترغب في استخدام نفس القرص لتخزين الآثار ، فما عليك سوى إنشاء دليل جديد وتوفير الملكية لمستخدم GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
يوصي برنامج GoCD باستخدام قسم أو محرك إضافي لتخزين القطع الأثرية. في النظام الأساسي للتكامل والتسليم المستمر ، يتم إنشاء القطع الأثرية في كثير من الأحيان. تقل مساحة القرص بمرور الوقت عندما يتم إنشاء عناصر جديدة باستمرار. في مرحلة ما ، ستنفد مساحة القرص على نظامك وستفشل الخدمات التي تعمل على نظامك. للتغلب على هذه المشكلة ، يمكنك إرفاق محرك تخزين كتلة Vultr جديد لتخزين القطع الأثرية. إذا كنت لا تزال ترغب في تخزين العناصر الأثرية على نفس محرك الأقراص ، فانتقل إلى قسم "إعداد جدار الحماية".
انشر محرك تخزين كتلة جديد وأرفقه بمثيل خادم GoCD. الآن قم بإنشاء قسم جديد على جهاز تخزين الكتلة.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
قم بإنشاء نظام الملفات على القرص الجديد.
sudo mkfs.ext4 /dev/vdb1
قم بتركيب محرك أقراص التخزين.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
الآن ، قم بالتشغيل df
، وسترى محرك تخزين كتلة جديد مركب على /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
قم بتوفير ملكية الدليل لمستخدم GoCD.
sudo chown -R go:go /mnt/artifacts
تغيير تكوين جدار الحماية للسماح الموانئ 8153
و 8154
من خلال جدار الحماية. 8153
يستمع المنفذ للاتصالات غير الآمنة ومنفذ 8154
الاتصالات الآمنة.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
الآن يمكنك الوصول إلى لوحة تحكم GoCD على http://192.168.1.1:8153
. للوصول إلى لوحة تحكم GoCD على اتصال آمن ، قم بالوصول https://192.168.1.1:8154
. سيظهر لك بعض الأخطاء توضح أن الشهادات غير صالحة. يمكنك تجاهل الخطأ بأمان لأن الشهادات موقعة ذاتيًا. لأغراض أمنية ، يجب عليك دائمًا استخدام لوحة التحكم عبر اتصال آمن.
قبل إعداد خط أنابيب جديد ، انتقل إلى " Admin >> Server Configuration
" من شريط التنقل العلوي.
أدخل عنوان URL لموقعك غير الآمن في Site URL
الحقل " " والموقع الآمن في الحقل " Secure Site URL
".
بعد ذلك ، قدم تفاصيل خادم SMTP لإرسال إشعارات البريد الإلكتروني من GoCD.
أخيرًا ، قدم المسار إلى المكان الذي ترغب في تخزين العناصر فيه. إذا اخترت تخزين العناصر على نفس القرص مثل نظام التشغيل ، فأدخل /opt/artifacts
؛ إذا اخترت إرفاق محرك تخزين كتلة ، فيمكنك الدخول /mnt/artifacts
.
أيضا ، يمكنك تكوين GoCD لحذف التحف القديمة. قم بتكوين الخيار التالي وفقًا لحجم القرص. ومع ذلك ، لا يأخذ خيار الحذف التلقائي نسخة احتياطية من القطع الأثرية القديمة. لأخذ نسخة احتياطية يدويًا ثم حذف العناصر القديمة ، قم بتعطيل الحذف التلقائي باختيار Never
خيار " Auto delete old artifacts
" للخيار "".
ستحتاج إلى إعادة تشغيل خادم GoCD حتى يتم تطبيق التغييرات الجديدة.
sudo systemctl restart go-server
بشكل افتراضي ، لم يتم تكوين لوحة تحكم GoCD لاستخدام أي نوع من المصادقة ، ولكنها تدعم المصادقة باستخدام ملف كلمة المرور و LDAP. في هذا البرنامج التعليمي ، سنقوم بإعداد المصادقة المستندة إلى كلمة المرور.
ملاحظة : يعد إعداد المصادقة خطوة اختيارية ، ولكن يوصى بشدة بالخوادم التي تواجه الجمهور ، مثل Vultr.
قم بتثبيت أدوات Apache حتى نتمكن من استخدام htpasswd
الأمر لإنشاء ملف كلمة مرور مشفر.
sudo yum -y install httpd-tools
قم بإنشاء ملف كلمة مرور htpasswd
باستخدام الأمر باستخدام تشفير Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
أدخل كلمة المرور للمستخدم مرتين. سترى الناتج التالي.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
يمكنك إضافة أي عدد تريده من المستخدمين باستخدام نفس الأمر أعلاه ، ولكن إزالة -c
الخيار. و -c
سوف خيار استبدال الملف الموجود، لتحل محل المستخدمين القديمة مع المستخدم الجديد.
sudo htpasswd -B /etc/go/passwd_auth gouser1
منذ ذلك الحين ، قمنا بإنشاء ملف كلمة المرور ، والوصول إلى لوحة تحكم GoCD مرة أخرى. انتقل إلى " Admin >> Security >> Authorization Configurations
" من شريط التنقل العلوي. انقر فوق Add
الزر وقم بتوفير معرف. اختر " Password File Authentication Plugin for GoCD
" لمعرف البرنامج المساعد وقم بتوجيه المسار إلى ملف كلمة المرور. انقر الآن على Check Connection
زر " " للتحقق من أن GoCD يمكنه استخدام ملف كلمة المرور للمصادقة.
أخيرًا ، احفظ طريقة المصادقة. أعد تحميل لوحة التحكم وستخرجك تلقائيًا. سترى شاشة تسجيل الدخول الآن. قم بتسجيل الدخول باستخدام بيانات الاعتماد التي تم إنشاؤها سابقًا.
ستحتاج إلى ترقية المستخدم المسؤول يدويًا ، وإلا ، فسيحصل جميع المستخدمين على امتيازات المسؤول. انتقل إلى " Admin >> User Summary
" من شريط التنقل العلوي.
الآن حدد المستخدم الإداري الذي قمت بإنشائه وانقر على القائمة Roles
المنسدلة " ". قم بترقية المستخدم إلى المسؤول الوحيد بتحديد Go System Administrator
خانة الاختيار "".
لإضافة المستخدمين في GoCD الذي تم إنشاؤه في ملف كلمة المرور ، انقر فوق ADD
الزر " " وابحث عن المستخدم لإضافتهم. تتم إضافة المستخدمين تلقائيًا إلى لوحة تحكم GoCD عند تسجيل دخولهم الأول. من الواضح أنه لكي يقوم المستخدمون بتسجيل الدخول ، يجب إضافتهم إلى ملف كلمة المرور الذي أنشأناه سابقًا.
بشكل افتراضي ، يستمع GoCD إلى المنافذ 8153
وعلى 8154
اتصالات آمنة. على الرغم من أن المنفذ 8154
يوفر اتصالاً آمنًا بالتطبيق ، فإنه يعرض أيضًا أخطاء المستعرض لأنه يستخدم شهادة موقعة ذاتيًا. في هذا القسم من البرنامج التعليمي ، سنقوم بتثبيت وتأمين Nginx باستخدام شهادة Let's Encrypt المجانية SSL. سيعمل خادم الويب Nginx كوكيل عكسي لإعادة توجيه الطلبات الواردة إلى HTTP
نقطة نهاية GoCD .
قم بتثبيت Nginx.
sudo yum -y install nginx
قم بتشغيل Nginx وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start nginx
sudo systemctl enable nginx
قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.
sudo yum -y install certbot
قبل أن تتمكن من الحصول على شهادات، وسوف تحتاج للسماح الموانئ 80
و 443
، أو معيار HTTP
و HTTPS
الخدمات، من خلال جدار الحماية. أيضًا ، قم بإزالة المنفذ 8153
الذي يستمع إلى الاتصالات غير الآمنة.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload
ملاحظة : للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.
إنشاء شهادات SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها /etc/letsencrypt/live/gocd.example.com/
. سيتم تخزين شهادة SSL كـ وسيتم تخزين fullchain.pem
المفتاح الخاص كـ privkey.pem
.
تنتهي صلاحية شهادات التشفير خلال 90 يومًا ، لذا يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف cron.
افتح ملف مهمة كرون.
sudo crontab -e
أضف السطر التالي إلى نهاية الملف.
30 5 * * * /usr/bin/certbot renew --quiet
سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم الساعة 5:30 صباحًا. إذا كانت الشهادة مستحقة للانتهاء ، فسيتم تجديدها تلقائيًا.
الآن ، قم بتغيير ملف التكوين الافتراضي لـ Nginx لإزالة default_server
الخط.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
قم بإنشاء ملف تكوين جديد لواجهة الويب GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
تعبئة الملف.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
تحقق من وجود أخطاء في ملف التكوين الجديد.
sudo nginx -t
إذا رأيت الإخراج التالي ، فإن التكوين خالي من الأخطاء.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
إذا تلقيت خطأ ما ، فتأكد من التحقق من المسار إلى شهادات SSL. أعد تشغيل خادم الويب Nginx لتنفيذ التغيير في التكوين.
sudo systemctl restart nginx
يمكنك الآن الوصول إلى لوحة تحكم GoCD على https://gocd.example.com
. سجّل الدخول إلى لوحة التحكم باستخدام بيانات اعتماد المسؤول وانتقل إلى " Admin >> Server Configuration
" من شريط التنقل العلوي.
اضبط " Site URL
" و " Secure Site URL
" على https://gocd.example.com
. 8154
لا يزال يتعين الوصول إلى المنفذ من خلال جدار الحماية بحيث يمكن للوكلاء البعيدين الاتصال بالخادم من خلال المنفذ 8154
، في حالة عدم قدرتهم على الاتصال من خلال HTTP
المنفذ القياسي .
في بيئة التكامل المستمر GoCD ، وكلاء GoCD هم العمال المسؤولون عن تنفيذ جميع المهام. عندما يتم الكشف عن تغيير في المصدر ، يتم تشغيل خط الأنابيب ويتم تعيين الوظائف للعمال المتاحين للتنفيذ. ثم ينفذ الوكيل المهمة ويبلغ عن الحالة النهائية بعد التنفيذ.
لتشغيل خط الأنابيب ، يجب تكوين وكيل واحد على الأقل. تابع تثبيت وكيل GoCD على خادم GoCD.
نظرًا لأننا استوردنا بالفعل مستودع GoCD في الخادم ، يمكننا تثبيت Go Agent مباشرة.
sudo yum install -y go-agent
الآن ، قم بتشغيل خادم GoCD وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start go-agent
sudo systemctl enable go-agent
يتم تمكين وكيل GoCD الذي يعمل على المضيف المحلي تلقائيًا عند اكتشافه.
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي
استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك
Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب
Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد
مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها
Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،
استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي
استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver
استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد