Εγκαταστήστε το Plesk στο CentOS 7
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Σε αυτό το σεμινάριο, θα μάθετε πώς να ρυθμίζετε ένα πλήρες RESTful API, το οποίο θα εξυπηρετεί αιτήματα HTTP χρησιμοποιώντας το Node.js και το Express ενώ θα το αντιστρέφει με το NGINX, στο Ubuntu 16.04 LTS. Θα χρησιμοποιήσουμε μια εφαρμογή που ονομάζεται Postman, ένα πολύ γνωστό εργαλείο ανάπτυξης API, για να δοκιμάσετε το API μας και να βεβαιωθείτε ότι είναι πλήρως λειτουργικό και λειτουργεί σωστά. Το Node.js είναι ένα γρήγορο, cross-platform πλαίσιο JavaScript που βασίζεται στη μηχανή V8 του Chrome. Χρησιμοποιείται τόσο σε επιτραπέζιους υπολογιστές όσο και σε εφαρμογές διακομιστή και είναι διάσημο για τον χειρισμό βρόχου συμβάντων ενός νήματος. Θα χρησιμοποιήσουμε το Node.js ως backend για το RESTful API μας, το οποίο συνοδεύεται από το Express.js, το πλαίσιο εφαρμογής ιστού μας που έχει δημιουργηθεί για το Node.js. Το Express.js κυκλοφορεί ως ελεύθερο και ανοιχτό λογισμικό. Το Express είναι από την πλευρά του διακομιστή, γραμμένο σε JavaScript και έχει σχεδιαστεί για τη δημιουργία API, γεγονός που το καθιστά ιδανικό για το έργο μας. Από την άλλη πλευρά, ο Postman είναι ένας πολύ ισχυρός πελάτης HTTP, έχοντας κατά νου την ανάπτυξη API. Διαθέτει όλα τα εργαλεία που θα μπορούσατε ενδεχομένως να θέλετε για την ανάπτυξη API.
Αρχικά, θέλετε να μεταβείτε στον ιστότοπο του Postman και να πραγματοποιήσετε λήψη και εγκατάσταση του Postman για τον κύριο υπολογιστή σας (όχι τον διακομιστή σας). Όλες οι οδηγίες εγκατάστασης θα υπάρχουν στον ιστότοπό τους.
Για να ξεκινήσουμε, θα χρειαστεί πρώτα να εγκαταστήσουμε το Node.js για να μπορέσουμε να ξεκινήσουμε την ανάπτυξη του API μας. Θα κάνουμε λήψη και εγκατάσταση του Node.js από τον επίσημο ιστότοπο.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Επιπλέον, θα θέλετε επίσης να πάρετε τα απαραίτητα εργαλεία κατασκευής, τα οποία θα σας βοηθήσουν στη μεταγλώττιση ενοτήτων.
sudo apt-get install build-essential
Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε την έκδοση LTS του Node.js, η οποία είναι η έκδοση 8.9.3.
Θα χρειαστεί να αρχικοποιήσουμε ένα νέο έργο Node.js, το οποίο θα περιέχει μια εφαρμογή. Για να το κάνετε αυτό, δημιουργήστε έναν νέο κατάλογο.
mkdir expressapi
Αλλαγή στον νέο κατάλογο. Μόλις μπείτε, εκτελέστε npm init
και ολοκληρώστε όλες τις απαιτούμενες προτροπές. Σημειώστε το "σημείο εισόδου" της αίτησής σας: θα δημιουργήσετε αυτό το αρχείο αργότερα. Μόλις τελειώσετε, θα δείτε ένα package.json
αρχείο στον τρέχοντα κατάλογο σας. Λειτουργεί ως περιγραφή του έργου μας και παραθέτει όλες τις εξαρτήσεις που χρειάζονται για να λειτουργήσει.
Τώρα θα διαμορφώσουμε το Express.js και τις εξαρτήσεις του.
npm install express
Θα ξεκινήσει η διαδικασία εγκατάστασης. Θα χρειαστούν μερικά λεπτά για να ολοκληρωθεί η λήψη όλων.
Στη συνέχεια, θα δημιουργήσουμε το κύριο αρχικό μας αρχείο για το API μας. Εδώ θα χρησιμοποιήσετε το "σημείο εισόδου" που είδατε στο package.json
αρχείο. Για χάρη αυτού του σεμιναρίου, θα χρησιμοποιήσω τον προεπιλεγμένο συνδυασμό ονομάτων, index.js
.
touch index.js
Στη συνέχεια, ανοίξτε το στο nano πρόγραμμα επεξεργασίας κειμένου.
nano index.js
Στο κύριο αρχείο μας, θέλουμε πρώτα να καλέσουμε όλα τα κύρια πακέτα μας και να καταχωρήσουμε τις διαδρομές μας.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
const router = express.Router();
router.get('/', function(req, res) {
res.json({ message: 'API is Online!' });
});
app.use('/api', router);
app.listen(port);
console.log('Listening on port ' + port);
Βασικά αυτό που κάνουμε εδώ είναι η προετοιμασία της εφαρμογής μας και η ρύθμιση ενός βασικού δρομολογητή για το API μας. Σημειώστε ότι ορίσαμε τη θύρα της εφαρμογής μας σε 8080
. Θα χρειαστούμε αυτόν τον αριθμό όταν διαμορφώνουμε το RESTful API. Τώρα είμαστε έτοιμοι να προχωρήσουμε και να δοκιμάσουμε το API μας.
Στον κατάλογο του έργου, εκτελέστε τα εξής.
node <filename>.js
Αυτό θα ξεκινήσει το API, όπου <filename>
βρίσκεται το αρχείο έναρξης που καθορίσατε στο package.json
αρχείο. Στη συνέχεια, ανοίξτε το Postman στον υπολογιστή/Mac σας και κάντε κλικ στο κουμπί " New
" στην επάνω δεξιά γωνία και μετά κάντε κλικ στο " Request
". Όταν εκεί, θα πρέπει να δείτε μια γραμμή που λέει " GET
" δίπλα της. Εδώ θα εισαγάγουμε τη διεύθυνση URL του αιτήματός μας. Απλώς πληκτρολογήστε τα παρακάτω στην ενότητα URL αιτήματος και κάντε κλικ στο " Send
".
`http://your-server-ip:3000/api`
Θα δείτε " 'API is online'
".
Για να χειριστούμε διαδρομές, θα χρησιμοποιήσουμε το δρομολογητή Express. Εάν δεν ξέρετε τι είναι ένας δρομολογητής, είναι ουσιαστικά ο τρόπος με τον οποίο τα τελικά σημεία της εφαρμογής ανταποκρίνονται στα αιτήματα των πελατών. Ακολουθούν οι διαδρομές που θα ορίσουμε ως παράδειγμα:
/api/numbers
- Εμφανίζει όλους τους αριθμούς από 1-10.
/api/letters
- Εμφανίζει όλα τα γράμματα από το AZ.
Τώρα θα δημιουργήσουμε την πρώτη μας δομή ενδιάμεσου λογισμικού διαδρομής, όπως κι έτσι.
router.use(function(req, res, next) {
console.log('We've got something.');
next() //calls next middleware in the application.
});
router.route('/numbers/:number').get((req, res) => {
res.json({result: req.params.number + 1})
});
Σε αυτό το παράδειγμα, ρυθμίσαμε μια κατάσταση όπου ένας χρήστης μπορεί να ζητήσει το άθροισμα ενός αριθμού + 1 παρέχοντας τη μορφή λέξης του, χρησιμοποιώντας τη μέθοδο GET. Χρησιμοποιούμε τη router.route()
συνάρτηση για να δείξουμε τον αριθμό που θέλουμε να στείλουμε πίσω ως αποτέλεσμα. Οι παράμετροι ονομάζονται με ένα " :
" μπροστά τους. Έχουμε πρόσβαση σε αυτές τις παραμέτρους μέσω req.params
.
Εδώ είναι ένα παράδειγμα με γράμματα.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Χρησιμοποιούμε την ίδια μέθοδο όπως παραπάνω, αλλά στέλνουμε πίσω το γράμμα με κεφαλαία.
Το NGINX είναι ένα πολύ γνωστό λογισμικό ανοιχτού κώδικα που χρησιμοποιείται για web service, reverse proxies, streaming και πολλά άλλα. Θα χρησιμοποιήσουμε το NGINX για την αντιστροφή του διακομιστή μεσολάβησης του API μας, για να μας επιτρέψει να το εκτελέσουμε στη θύρα 80
, επειδή το Node.js δεν επιτρέπει συνδέσεις σε θύρες μικρότερες από 1024 χωρίς πρόσβαση root. Αυτό μπορεί να είναι χρήσιμο όταν συνδέετε τον τομέα σας με τον διακομιστή σας.
Για να ξεκινήσετε την εγκατάσταση του NGINX, θα χρειαστεί να εκτελέσετε τα ακόλουθα στο τερματικό σας και να περιμένετε να ολοκληρωθεί η εγκατάσταση.
sudo apt-get install nginx
Στη συνέχεια, θα θελήσουμε να δημιουργήσουμε το αρχείο του ιστότοπού μας που θα χρησιμοποιήσει το NGINX για να αντιστρέψει τον διακομιστή μεσολάβησης της εφαρμογής μας.
sudo nano /etc/nginx/sites-available-api.js
Συμπληρώστε το αρχείο με το παρακάτω και μετά CTRL+ Oγια να το αποθηκεύσετε.
server {
listen 80;
location / {
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_pass
http://127.0.0.1:8080/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
Χρησιμοποιώντας την ίδια θύρα στην οποία εκτελέσαμε την εφαρμογή μας νωρίτερα, λέμε στο Nginx να ανακατευθύνει όλα τα αιτήματα από τη διεύθυνση IP στη θύρα 80
στο API που εκτελείται στη θύρα 8080
.
Στη συνέχεια, ενεργοποιήστε τον αντίστροφο διακομιστή μεσολάβησης συνδέοντας το νέο αρχείο μας στον sites-available
φάκελο:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Αυτό θα διασφαλίσει ότι το NGINX θα αντιστρέψει το API του διακομιστή μεσολάβησης.
Μόλις ολοκληρώσουμε τη διαμόρφωση του NGINX, θα ξεκινήσουμε το NGINX και μετά θα ξεκινήσουμε το API μας. Αρχικά, επανεκκινήστε το NGINX.
sudo systemctl restart nginx
Στη συνέχεια, επιστρέψτε στον κατάλογο API και ξεκινήστε τον.
node <filename>.js
Η εφαρμογή θα εκτελεστεί, στη θύρα 80
. Απλώς εκτελέστε τη δοκιμή από πάνω με τον Postman, για να βεβαιωθείτε ότι όλα λειτουργούν σωστά.
Σε ένα περιβάλλον παραγωγής, θέλετε να βεβαιωθείτε ότι έχετε έναν διαχειριστή διεργασιών για τις εφαρμογές σας Node, ώστε να διασφαλίσετε ότι θα εκτελούνται για πάντα στο παρασκήνιο. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε έναν διαχειριστή διεργασιών που ονομάζεται PM2 (Process Manager 2), ο οποίος είναι ένας διαχειριστής διεργασιών για εφαρμογές Node.js που θα τις κρατήσει ζωντανές για πάντα με ελάχιστο χρόνο διακοπής λειτουργίας. Το PM2 συνοδεύεται από πολλά χρήσιμα εργαλεία διαχείρισης, όπως διακοπή, επαναφόρτωση, παύση και άλλα. Για να εγκαταστήσετε το PM2, πληκτρολογήστε τα παρακάτω και περιμένετε να εγκατασταθεί.
sudo npm install pm2 -g
Μόλις εγκατασταθεί, το μόνο που έχετε να κάνετε είναι να βεβαιωθείτε ότι βρίσκεστε στον κατάλογο του έργου, πληκτρολογήστε τα παρακάτω και η εφαρμογή θα ξεκινήσει.
pm2 start <filename>.js
Όπως αναφέρθηκε προηγουμένως, το PM2 έχει μερικά χρήσιμα εργαλεία που μπορείτε να χρησιμοποιήσετε για την καλύτερη διαχείριση της εφαρμογής σας.
pm2 stop
- Όπως υποδηλώνει το όνομα, αυτό σας επιτρέπει να σταματήσετε την τρέχουσα εφαρμογή και να τερματίσετε τη διαδικασία της. Εάν η εφαρμογή σας παράγει ένα απροσδόκητο αποτέλεσμα, τότε η διακοπή της θα είναι χρήσιμη.
pm2 list
- Η λειτουργία λίστας σάς επιτρέπει να βλέπετε όλες τις τρέχουσες εφαρμογές που εκτελούνται μέσω PM2, αντιστοιχισμένες με τα ονόματά τους. Εάν πρέπει να ελέγξετε γρήγορα το χρόνο λειτουργίας της εφαρμογής σας, θα πρέπει να χρησιμοποιήσετε αυτό το εργαλείο.
pm2 restart
- Εάν η εφαρμογή σας παγώσει για κάποιο λόγο και θέλετε να τη φορτώσετε ξανά, η επανεκκίνηση του pm2 κάνει ακριβώς αυτό. Θα σκοτώσει τη διαδικασία αίτησης και θα την ξεκινήσει ξανά, σε διαφορετική διαδικασία.
pm2 monit
- Το ενσωματωμένο εργαλείο παρακολούθησης του PM2 σάς επιτρέπει να προβάλλετε ένα γράφημα των συγκεκριμένων λεπτομερειών της εφαρμογής σας, όπως η χρήση CPU/RAM, σε ένα φιλικό προς το χρήστη γράφημα τύπου ncurses. Αυτό είναι χρήσιμο εάν θέλετε μια οπτική εικόνα του φορτίου της εφαρμογής σας.
Ολοκληρώσαμε τώρα την εργασία μας για τη δημιουργία ενός RESTful API, χρησιμοποιώντας το Node.js, το Express και την αντιστροφή του διακομιστή μεσολάβησης με το NGINX. Μη διστάσετε να επεκταθείτε σε αυτό το σεμινάριο. Μπορείτε να κάνετε πολλά σπουδαία πράγματα με το νέο σας API, όπως να προσθέσετε μεθόδους ελέγχου ταυτότητας, μια βάση δεδομένων, καλύτερο χειρισμό διαδρομής και σφαλμάτων και πολλά, πολλά άλλα. Εάν έχετε έναν τομέα, με μια εγγραφή "A" που έχει ήδη ρυθμιστεί στη διεύθυνση IP σας, τότε θα μπορείτε να αποκτήσετε πρόσβαση στο API σας από τον τομέα σας. Εάν θέλετε να μάθετε περισσότερα για το Express.js, επισκεφτείτε τον ιστότοπό του στη διεύθυνση http://expressjs.com . Για να μάθετε περισσότερα σχετικά με το NGINX και τον αντίστροφο διακομιστή μεσολάβησης, επισκεφθείτε τη διεύθυνση http://nginx.com . Για να διαβάσετε περισσότερα για το PM2, επισκεφτείτε τη σελίδα τους στη διεύθυνση http://pm2.keymetrics.io .
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Εισαγωγή Το Lets Encrypt είναι μια υπηρεσία αρχής έκδοσης πιστοποιητικών που προσφέρει δωρεάν πιστοποιητικά TLS/SSL. Η διαδικασία εγκατάστασης απλοποιείται από το Certbot,
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Τι είναι το Tekkit Classic; Το Tekkit Classic είναι ένα modpack για το παιχνίδι που όλοι γνωρίζουν και αγαπούν. Minecraft. Περιέχει μερικά από τα εδ
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Jekyll είναι μια εξαιρετική εναλλακτική λύση στο WordPress για blogging ή κοινή χρήση περιεχομένου. Δεν απαιτεί βάσεις δεδομένων και είναι πολύ εύκολο
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εάν αγοράσετε έναν διακομιστή Debian, τότε θα πρέπει να έχετε πάντα τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις, είτε κοιμάστε είτε όχι
Η PHP και τα σχετικά πακέτα είναι τα πιο συχνά χρησιμοποιούμενα στοιχεία κατά την ανάπτυξη ενός διακομιστή web. Σε αυτό το άρθρο, θα μάθουμε πώς να ρυθμίζετε την PHP 7.0 ή την PHP 7.1 o
Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει
Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση
1. Virtualmin/Webmin Το Virtualmin είναι ένας ισχυρός και ευέλικτος πίνακας ελέγχου φιλοξενίας ιστοσελίδων για συστήματα Linux και UNIX που βασίζεται στη γνωστή διαδικτυακή βάση ανοιχτού κώδικα
Το Yii είναι ένα πλαίσιο PHP που σας επιτρέπει να αναπτύσσετε εφαρμογές πιο γρήγορα και εύκολα. Η εγκατάσταση του Yii στο Ubuntu είναι απλή, όπως θα μάθετε ακριβώς
Το Screen είναι μια εφαρμογή που επιτρέπει πολλαπλή χρήση περιόδων σύνδεσης τερματικού σε ένα παράθυρο. Αυτό σας επιτρέπει να προσομοιώνετε πολλά παράθυρα τερματικού όπου είναι ma
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή DNS χρησιμοποιώντας Bind9 σε Debian ή Ubuntu. Σε όλο το άρθρο, αντικαταστήστε το your-domain-name.com ανάλογα. Στο ου
Εισαγωγή Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται τη βάση καταγραφής
Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Red5 είναι ένας διακομιστής πολυμέσων ανοιχτού κώδικα που υλοποιείται σε Java που σας επιτρέπει να εκτελείτε εφαρμογές Flash πολλών χρηστών, όπως η ζωντανή ροή
Σε αυτό το άρθρο, θα δούμε πώς να μεταγλωττίσετε και να εγκαταστήσετε το Nginx mainline από τις επίσημες πηγές του Nginx με τη μονάδα PageSpeed, η οποία σας επιτρέπει να
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το Kanboard είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα λογισμικού διαχείρισης έργων που έχει σχεδιαστεί για να διευκολύνει και να οπτικοποιήσει
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα