Node.js online cursus. Professionele REST API-ontwikkeling - cursus RUB 32.900. van HTML Academy, opleiding 2 maanden, Datum 15 oktober 2023.
Gemengde Berichten / / November 28, 2023
In deze cursus leer je hoe je echte projecten kunt maken, van hetzelfde complexiteitsniveau als in de industrie. En je voert ze correct uit, zodat je na de training resultaten op hoog niveau behaalt waar bedrijven voor willen betalen.
De cursus is bedoeld voor diegenen die van beroep willen veranderen en een goedbetaalde professional willen worden. Het is geschikt voor werkende mensen die weinig tijd hebben.
Sectie 1 Inleiding tot Node.js. CLI
Laten we het werkschema van de cursus eens bekijken. Laten we kennis maken met het Node.js-platform en ontdekken welke taken het het meest geschikt zijn om op te lossen. Laten we bespreken hoe servercode in JavaScript verschilt van gewone code. Laten we de basis voor het project voorbereiden en de eerste applicatie schrijven met een opdrachtregelinterface (CLI).
Organisatorische zaken.
Beoordeling van persoonlijke projecten.
Werkschema van de cursus.
Demoprojectrepository.
Instorten vergroten
Oefening
TypeScript en Node.js.
Klassen in TypeScript.
Het voorbereiden van de omgeving.
CLI-ontwikkeling.
TSV-gegevensformaat.
Sectie 2 Gebeurteniscyclus. Stromen
Laten we leren hoe de gebeurtenislus werkt in Node.js. Laten we kennis maken met micro- en macrotaken. Laten we eens kijken wat de volgorde van uitvoering van asynchrone code bepaalt. Laten we vervolgens eens kijken naar het werken met het bestandssysteem. We leren hoe we bestanden kunnen lezen en maken, welke beperkingen er zijn en maken kennis met streams. In de praktijk zullen we uitzoeken hoe we grote gegevensbestanden kunnen genereren en kunnen communiceren met externe servers vanuit Node.js.
Hoe de EventLoop werkt.
Uitgever-abonneepatroon (EventEmitter).
Bufferabstractie.
Stromen.
Instorten vergroten
Oefening
Gegevens exporteren naar TSV.
Grote bestanden lezen.
HTTP-verzoeken van Node.js.
Sectie 3 Applicatiearchitectuur
Laten we beginnen met het ontwerpen van de architectuur van de hoofdapplicatie. Laten we verschillende benaderingen van het bouwen van architectuur bespreken. Laten we leren hoe u een applicatie in afzonderlijke lagen kunt splitsen. We zullen de eerste applicatiediensten ontwerpen: configuratiebeheer, logging. Laten we kennis maken met Inversion of Control (IoC) en een afhankelijkheidscontainer samenstellen. Laten we leren hoe we de Inversify-bibliotheek kunnen gebruiken en afhankelijkheden kunnen injecteren.
Omgevingsvariabelen.
Loggen.
Instorten vergroten
Oefening
Applicatie architectuur.
Configuratiebeheerservice.
Logboekservice (pino).
IoC
Afhankelijkheidsinjectie.
Sectie 4 Inleiding tot databases. MongoDB
Laten we kennis maken met databases en ontdekken wat databases zijn en hoe ze verschillen. Laten we eens kijken hoe we gegevens op de server kunnen opslaan. In de praktijk maken we kennis met MongoDB, leren we hoe we het kunnen gebruiken met Docker en oefenen we met het ophalen en schrijven van gegevens. Laten we leren werken met MongoDB vanuit Node.js: verbinding, verzamelingen, modellen (Mongoose, Typegoose).
Inleiding tot databases.
Maak kennis met Docker.
Mangoest.
Instorten vergroten
Oefening
MongoDB installeren.
Client voor MongoDB.
Mangoest.
Type gans.
Hoofdstuk 5 Databases in de praktijk. REST-ontwerp
Laten we oefenen met het werken met MongoDB van Node.js: we beschrijven alle modellen, maken kennis met validators en ontwikkelen services voor toegang tot gegevens. Laten we in de praktijk kennis maken met het DTO-patroon (Data Transfer Object). Laten we services voor het werken met de database verbinden met de CLI. Daarna gaan we verder met het REST API-ontwerp en ontwerpen we de eerste versie van de REST API. Laten we kennis maken met het OpenAPI-formaat en de eerste versie van de specificatie beschrijven.
Het delen van verantwoordelijkheden.
Object voor gegevensoverdracht.
REST API-ontwerp.
OpenAPI-formaat, Swagger.
Instorten vergroten
Oefening
Diensten voor toegang tot gegevens.
Gegevensvalidatie.
Gegevens importeren in de database (CLI).
OpenAPI-specificatie.
Sectie 6 Express.js
Laten we beginnen met het implementeren van de REST API. Laten we kennis maken met het Express.js-framework en de sterke en zwakke punten ervan bespreken. Laten we kennis maken met routing. Laten we een abstractielaag ontwerpen: controllers. Laten we leren hoe u verzoeken aan de API kunt genereren en verwerken. Laten we kennis maken met het extra toolknooppunt. Laten we leren hoe we met fouten kunnen omgaan.
Het verwerken van klantaanvragen.
Express.js.
En nogmaals MVC.
Instorten vergroten
Oefening
Routering.
De applicatie opnieuw starten.
Foutverwerking.
Controleurs.
Sectie 7 Middleware. Geldigmaking. Bestanden uploaden
Laten we verder kennis maken met Express.js en het concept van middleware begrijpen. Laten we eens kijken wat het is en welke taken handig zijn om op te lossen met behulp van middleware. Vervolgens ontwerpen we een aanvullende abstractie en schrijven we een deel van onze eigen middleware.
Hierna gaan we soepel verder met de kwestie van gegevensvalidatie - we zullen ontdekken waarom het belangrijk is om gegevens van klanten te verifiëren, en we zullen de verificatie van invoergegevens in het project organiseren. In de praktijk maken we kennis met de validatietools joi en class-validator.
Laten we daarna verder gaan met het downloaden van bestanden. Klanten kunnen niet alleen tekstgegevens overbrengen, maar ook hele bestanden. Laten we leren hoe we ze op de server kunnen ontvangen, opslaan en terugsturen naar clients. In de praktijk implementeren we het laden van gebruikersavatars.
Middelware.
Waarom en hoe gegevens valideren.
Bestanden uploaden.
Instorten vergroten
Oefening
Middleware voor gegevensvalidatie.
class-validator voor validatie.
Bestanden uploaden met behulp van Multer.
Middleware statisch.
Sectie 8 Toegangsbeperking. Autorisatie
Niet alle bronnen zouden beschikbaar moeten zijn voor anonieme klanten, dus laten we eens kijken hoe we de toegang tot bepaalde bronnen kunnen beperken. Laten we leren hoe u de toegang tot bepaalde routes in Express.js kunt beperken. Laten we eens kijken hoe autorisatie verschilt van authenticatie. Laten we kennis maken met JWT (JSON Web Tokens) en leren hoe u deze in de praktijk kunt gebruiken. Laten we oefenen met het maken van privéroutes en het scenario 'Inloggen op een privégedeelte van de applicatie' implementeren.
Autorisatie en authenticatie.
Sessies.
JSON-webtokens.
Instorten vergroten
Oefening
Privéroutes.
JWT.
jos.
Sectie 9 Backend en frontend
Laten we eens kijken hoe u backend- en frontend-vrienden kunt maken. Laten we leren hoe we DTO aan de frontend-kant kunnen hergebruiken. Laten we het patroon "Adapter" onthouden. Laten we kennis maken met CORS en ontdekken welke problemen het oplost. Laten we de foutafhandeling opnieuw vormgeven: laten we kijken hoe we fouten kunnen formatteren voor mensen en machines.
DTO en front-end.
CORS.
Instorten vergroten
Oefening
CORS.
Refactoring: fouten scheiden.
Sectie 10 Finale
Laten we de cursus samenvatten. Laten we het verdere plan voor het leren van Node.js bespreken.
FoxSPb2012
31.05.2022 G.
Coole cursus over Node.js
Voordelen: presentatie van materiaal, werken met een mentor. Nadelen: volgen van het cursusprogramma, geen mogelijkheid om een persoonlijk project te wijzigen. Ik vond de cursus erg leuk, het hielp mijn begrip van applicaties als zodanig te vergroten (we zijn tenslotte allemaal gebruikers van bepaalde applicaties), laat me aan de demo-repository werken met ontwikkelingsbenaderingen/technologieën, alles over het trainingsproject bekijken en besef...
FoxSPb2012
31.05.2022 G.
Coole cursus over Node.js
Voordelen: presentatie van materiaal, werken met een mentor. Nadelen: volgen van het cursusprogramma, geen mogelijkheid om een persoonlijk project te wijzigen. Ik vond de cursus erg leuk, het hielp mijn begrip van applicaties als zodanig te vergroten (we zijn tenslotte allemaal gebruikers van bepaalde applicaties), laat me aan de demo-repository werken met ontwikkelingsbenaderingen/technologieën, alles over het trainingsproject bekijken en besef...