Διαδικτυακό μάθημα Node.js. Ανάπτυξη Professional REST API - μάθημα 32.900 RUB. από HTML Academy, εκπαίδευση 2 μηνών, Ημερομηνία 15 Οκτωβρίου 2023.
μικροαντικείμενα / / November 28, 2023
Σε αυτό το μάθημα θα μάθετε πώς να κάνετε πραγματικά έργα, του ίδιου επιπέδου πολυπλοκότητας όπως στον κλάδο. Και θα τα κάνετε σωστά, ώστε μετά την εκπαίδευση να παράγετε αποτελέσματα υψηλού επιπέδου που οι εταιρείες είναι διατεθειμένες να πληρώσουν.
Το μάθημα έχει σχεδιαστεί για όσους θέλουν να αλλάξουν επάγγελμα και να γίνουν επαγγελματίας με υψηλή αμοιβή. Είναι κατάλληλο για εργαζόμενους που έχουν λίγο χρόνο.
Ενότητα 1 Εισαγωγή στο Node.js. CLI
Ας εξετάσουμε το σχέδιο εργασίας στο μάθημα. Ας εξοικειωθούμε με την πλατφόρμα Node.js και ας μάθουμε ποιες εργασίες είναι καταλληλότερη για επίλυση. Ας συζητήσουμε πώς ο κώδικας διακομιστή στο JavaScript διαφέρει από τον κανονικό κώδικα. Ας προετοιμάσουμε τη βάση για το έργο και ας γράψουμε την πρώτη εφαρμογή με μια διεπαφή γραμμής εντολών (CLI).
Οργανωτικά θέματα.
Ανασκόπηση προσωπικών έργων.
Σχέδιο εργασίας στο μάθημα.
Αποθετήριο επίδειξης έργου.
Σύμπτυξη / Ανάπτυξη
Πρακτική
TypeScript και Node.js.
Μαθήματα στο TypeScript.
Προετοιμασία του περιβάλλοντος.
Ανάπτυξη CLI.
Μορφή δεδομένων TSV.
Ενότητα 2 Κύκλος συμβάντος. Ρεύματα
Ας μάθουμε πώς λειτουργεί ο βρόχος συμβάντων στο Node.js. Ας εξοικειωθούμε με μικρο- και μακροπρόθεσμες εργασίες. Ας δούμε τι καθορίζει τη σειρά εκτέλεσης του ασύγχρονου κώδικα. Στη συνέχεια, ας ασχοληθούμε με το σύστημα αρχείων. Θα μάθουμε πώς να διαβάζουμε και να δημιουργούμε αρχεία, τι περιορισμοί υπάρχουν και να εξοικειωθούμε με ροές. Στην πράξη, θα καταλάβουμε πώς να δημιουργήσουμε μεγάλα αρχεία δεδομένων και να αλληλεπιδράσουμε με απομακρυσμένους διακομιστές από το Node.js.
Πώς λειτουργεί το EventLoop.
Μοτίβο εκδότη-συνδρομητή (EventEmitter).
Αφαίρεση buffer.
Ρεύματα.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Εξαγωγή δεδομένων στο TSV.
Ανάγνωση μεγάλων αρχείων.
Αιτήματα HTTP από το Node.js.
Ενότητα 3 Αρχιτεκτονική Εφαρμογών
Ας αρχίσουμε να σχεδιάζουμε την αρχιτεκτονική της κύριας εφαρμογής. Ας συζητήσουμε διαφορετικές προσεγγίσεις στην αρχιτεκτονική κτιρίων. Ας μάθουμε πώς να χωρίσουμε μια εφαρμογή σε ξεχωριστά επίπεδα. Θα σχεδιάσουμε τις πρώτες υπηρεσίες εφαρμογής: διαχείριση διαμόρφωσης, καταγραφή. Ας εξοικειωθούμε με την αντιστροφή του ελέγχου (IoC) και ας συναρμολογήσουμε ένα δοχείο εξάρτησης. Ας μάθουμε πώς να χρησιμοποιούμε τη βιβλιοθήκη Inversify και να εισάγουμε εξαρτήσεις.
Μεταβλητές περιβάλλοντος.
Ξύλευση.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Αρχιτεκτονική εφαρμογών.
Υπηρεσία διαχείρισης διαμόρφωσης.
Υπηρεσία υλοτομίας (pino).
IoC
Ενεση εξάρτησης.
Ενότητα 4 Εισαγωγή στις βάσεις δεδομένων. MongoDB
Ας εξοικειωθούμε με τις βάσεις δεδομένων και ας μάθουμε τι είναι οι βάσεις δεδομένων και πώς διαφέρουν. Ας δούμε πώς να αποθηκεύουμε δεδομένα στον διακομιστή. Στην πράξη, θα εξοικειωθούμε με το MongoDB, θα μάθουμε πώς να το εκτελούμε χρησιμοποιώντας το Docker και θα εξασκηθούμε στην ανάκτηση και εγγραφή δεδομένων. Ας μάθουμε πώς να δουλεύουμε με το MongoDB από το Node.js: σύνδεση, συλλογές, μοντέλα (Mongoose, Typegoose).
Εισαγωγή στις βάσεις δεδομένων.
Παρουσίαση του Docker.
Μαγκούστα.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Εγκατάσταση MongoDB.
Πελάτης για MongoDB.
Μαγκούστα.
Typegoose.
Ενότητα 5 Βάσεις δεδομένων στην πράξη. Σχεδιασμός REST
Ας εξασκηθούμε στη συνεργασία με το MongoDB από το Node.js: θα περιγράψουμε όλα τα μοντέλα, θα εξοικειωθούμε με τους επικυρωτές και θα αναπτύξουμε υπηρεσίες για πρόσβαση σε δεδομένα. Στην πράξη, ας εξοικειωθούμε με το μοτίβο DTO (Data Transfer Object). Ας συνδέσουμε τις υπηρεσίες για εργασία με τη βάση δεδομένων στο CLI. Στη συνέχεια, θα προχωρήσουμε στον σχεδιασμό REST API και θα σχεδιάσουμε την πρώτη έκδοση του REST API. Ας εξοικειωθούμε με τη μορφή OpenAPI και ας περιγράψουμε την πρώτη έκδοση της προδιαγραφής.
Επιμερισμός ευθυνών.
Αντικείμενο μεταφοράς δεδομένων.
Σχεδιασμός REST API.
Μορφή OpenAPI, Swagger.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Υπηρεσίες πρόσβασης σε δεδομένα.
Επικύρωση δεδομένων.
Εισαγωγή δεδομένων στη βάση δεδομένων (CLI).
Προδιαγραφές OpenAPI.
Ενότητα 6 Express.js
Ας ξεκινήσουμε την εφαρμογή του REST API. Ας εξοικειωθούμε με το πλαίσιο Express.js και ας συζητήσουμε τα δυνατά και τα αδύνατα σημεία του. Ας εξοικειωθούμε με τη δρομολόγηση. Ας σχεδιάσουμε ένα στρώμα αφαίρεσης: ελεγκτές. Ας μάθουμε πώς να δημιουργείτε και να επεξεργαζόμαστε αιτήματα στο API. Ας εξοικειωθούμε με το πρόσθετο εργαλείο nodemon. Ας μάθουμε πώς να χειριζόμαστε τα λάθη.
Επεξεργασία αιτημάτων πελατών.
Express.js.
Και πάλι MVC.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Δρομολόγηση.
Επανεκκίνηση της εφαρμογής.
Σφάλμα επεξεργασίας.
Ελεγκτές.
Ενότητα 7 Ενδιάμεσο λογισμικό. Επικύρωση. Μεταφόρτωση αρχείων
Ας συνεχίσουμε να εξοικειωνόμαστε με το Express.js και να κατανοήσουμε την έννοια του ενδιάμεσου λογισμικού. Ας μάθουμε τι είναι και ποιες εργασίες είναι βολικές για επίλυση χρησιμοποιώντας ενδιάμεσο λογισμικό. Στη συνέχεια, θα σχεδιάσουμε μια πρόσθετη αφαίρεση και θα γράψουμε κάποιο από το δικό μας ενδιάμεσο λογισμικό.
Μετά από αυτό, θα προχωρήσουμε ομαλά στο θέμα της επικύρωσης δεδομένων - θα μάθουμε γιατί είναι σημαντικό να επαληθεύουμε δεδομένα από πελάτες και θα οργανώσουμε την επαλήθευση των δεδομένων εισόδου στο έργο. Στην πράξη, θα εξοικειωθούμε με τα εργαλεία επικύρωσης joi και class-validator.
Μετά από αυτό, ας προχωρήσουμε στη λήψη αρχείων. Οι πελάτες μπορούν να μεταφέρουν όχι μόνο δεδομένα κειμένου, αλλά και ολόκληρα αρχεία. Ας μάθουμε πώς να τα λαμβάνουμε από την πλευρά του διακομιστή, να τα αποθηκεύουμε και να τα επιστρέφουμε στους πελάτες. Στην πράξη, υλοποιούμε τη φόρτωση των avatar των χρηστών.
Middleware.
Γιατί και πώς να επικυρώσετε δεδομένα.
Μεταφόρτωση αρχείων.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Ενδιάμεσο λογισμικό για επικύρωση δεδομένων.
class-validator για επικύρωση.
Μεταφόρτωση αρχείων χρησιμοποιώντας multer.
Middleware στατικό.
Ενότητα 8 Περιορισμός πρόσβασης. Εξουσιοδότηση
Δεν πρέπει όλοι οι πόροι να είναι διαθέσιμοι σε ανώνυμους πελάτες, επομένως ας δούμε πώς να περιορίσουμε την πρόσβαση σε συγκεκριμένους πόρους. Ας μάθουμε πώς να περιορίσετε την πρόσβαση σε ορισμένες διαδρομές στο Express.js. Ας δούμε πώς διαφέρει η εξουσιοδότηση από τον έλεγχο ταυτότητας. Ας εξοικειωθούμε με τα JWT (JSON Web Tokens) και ας μάθουμε πώς να τα χρησιμοποιούμε στην πράξη. Ας εξασκηθούμε στη δημιουργία ιδιωτικών διαδρομών και ας εφαρμόσουμε το σενάριο «Σύνδεση σε ιδιωτικό μέρος της εφαρμογής».
Εξουσιοδότηση και έλεγχος ταυτότητας.
Συνεδρίες.
JSON Web Tokens.
Σύμπτυξη / Ανάπτυξη
Πρακτική
Ιδιωτικές διαδρομές.
JWT.
jose.
Ενότητα 9 Backend και frontend
Ας μάθουμε πώς να κάνουμε backend και frontend φίλους. Ας μάθουμε πώς να επαναχρησιμοποιούμε το DTO στο μπροστινό μέρος. Ας θυμηθούμε το μοτίβο "Adapter". Ας εξοικειωθούμε με το CORS και ας μάθουμε ποια προβλήματα λύνει. Ας επαναφέρουμε τον χειρισμό σφαλμάτων: ας δούμε πώς να μορφοποιήσουμε τα σφάλματα για ανθρώπους και μηχανές.
DTO και frontend.
ΚΟΡΣ.
Σύμπτυξη / Ανάπτυξη
Πρακτική
ΚΟΡΣ.
Refactoring: διαχωρισμός σφαλμάτων.
Ενότητα 10 Τελικό
Ας συνοψίσουμε το μάθημα. Ας συζητήσουμε το περαιτέρω σχέδιο για την εκμάθηση του Node.js.
FoxSPb2012
31.05.2022 ΣΟΛ.
Καλό μάθημα στο Node.js
Πλεονεκτήματα: παρουσίαση υλικού, εργασία με μέντορα, Μειονεκτήματα: παρακολούθηση του προγράμματος μαθημάτων, καμία ευκαιρία αλλαγής προσωπικού έργου. Μου άρεσε πολύ το μάθημα, βοήθησε να διευρύνω την κατανόησή μου για τις εφαρμογές ως τέτοιες (εξάλλου, είμαστε όλοι χρήστες ορισμένων εφαρμογών), επιτρέψτε μου να εργαστώ στο αποθετήριο επίδειξης με προσεγγίσεις/τεχνολογίες ανάπτυξης, να εξετάσω τα πάντα στο εκπαιδευτικό έργο και συνειδητοποιώ...
FoxSPb2012
31.05.2022 ΣΟΛ.
Καλό μάθημα στο Node.js
Πλεονεκτήματα: παρουσίαση υλικού, εργασία με μέντορα, Μειονεκτήματα: παρακολούθηση του προγράμματος μαθημάτων, καμία ευκαιρία αλλαγής προσωπικού έργου. Μου άρεσε πολύ το μάθημα, βοήθησε να διευρύνω την κατανόησή μου για τις εφαρμογές ως τέτοιες (εξάλλου, είμαστε όλοι χρήστες ορισμένων εφαρμογών), επιτρέψτε μου να εργαστώ στο αποθετήριο επίδειξης με προσεγγίσεις/τεχνολογίες ανάπτυξης, να εξετάσω τα πάντα στο εκπαιδευτικό έργο και συνειδητοποιώ...