Szkolenie Node.js
Zbudujesz w Node.js serwer z bazą danych, uwierzytelnianiem i testami, gotowy do wdrożenia.
Zapytaj o termin Pobierz program (PDF)Jeśli piszesz frontend w JavaScript, tym samym językiem i tymi samymi
narzędziami zbudujesz serwer. Kłopot w tym, że wiele poradników o Node.js
opisuje stan sprzed kilku lat: nodemon, dotenv, ts-node i axios
tam, gdzie dziś wystarcza sam Node.js.
Na szkoleniu budujesz jedną aplikację od pustego katalogu: serwer HTTP z bazą danych, logowaniem użytkowników, obsługą błędów i testami, na aktualnym Node.js LTS. Poznasz mechanizmy, które decydują o tym, czy serwer wytrzyma produkcję: event loop, strumienie, logi i łagodne zamykanie.
Program
3 dni
- Nowoczesny Node.js i projekt w npm
- Wersje LTS i roczny cykl wydań: którą wersję wybrać do projektu
- TypeScript bez kompilacji (type stripping): tylko składnia usuwalna,
bez
enumi parametrów konstruktora jako pól --env-file,--watch,node --runifetchzamiast paczek- Lockfile,
npm cii aktualizacje zależności
- Jak działa Node.js
- Moduły ES i CommonJS
- Event loop: co blokuje serwer i jak to wykryć
- Promise,
async/awaitiEventEmitter
- Strumienie i praca z plikami
- Stream i Buffer: duże pliki bez zapełniania pamięci
pipelinei obsługa błędów w strumieniach- Ciężkie obliczenia w
worker_threads
- Serwer HTTP
node:httpbez frameworka- Express 5, Fastify i Hono: czym się różnią
- Routing, middleware i obsługa błędów
- Walidacja danych wejściowych z Zod
- Baza danych
- PostgreSQL przez ORM (Drizzle), zapytania SQL tam, gdzie ORM przeszkadza
- Migracje schematu i dane testowe
- Transakcje i pula połączeń
- Uwierzytelnianie i autoryzacja
- Sesje w ciasteczkach a tokeny JWT
- Hasła: wbudowany
crypto.argon2, zapis parametrów i soli, porównanie przeztimingSafeEqual - Role i uprawnienia do zasobów
- OAuth 2 i OpenID Connect w skrócie
- Bezpieczeństwo
npm auditi ryzyko w zależnościach- Limity zapytań i nagłówki bezpieczeństwa
- Model uprawnień Node.js (
--permission): ograniczenie dostępu do plików i procesów
- Błędy, logi i zamykanie serwera
unhandledRejectioniuncaughtException: jak na nie reagować- Logi strukturalne (pino)
- Łagodne zamykanie serwera na
SIGTERM - Debugowanie przez
--inspectw edytorze i Chrome DevTools
- Testowanie
- Wbudowany runner
node:test, mocki i pokrycie kodu - Testy jednostkowe i integracyjne
- Testy API na prawdziwej bazie w kontenerze
- Wbudowany runner
Projektowanie API (REST, GraphQL, OpenAPI, webhooki) i OAuth 2 omawiam szerzej na szkoleniu API: REST i GraphQL. Jeśli kupujesz to szkolenie razem z nim i ze szkoleniem Bezpieczeństwo WWW, moduły o uwierzytelnianiu i bezpieczeństwie skracam do przeglądu, a czas oddaję na rozwój projektu.
Dla kogo?
- Dla programistów frontendu, którzy chcą pisać backend w JavaScript.
- Dla programistów innych języków, którzy przechodzą na Node.js.
- Dla zespołów, które utrzymują starszą aplikację w Node.js i chcą ją unowocześnić.
Co musisz umieć?
- Programować w JavaScript: moduły, klasy,
async/await. - Pracować z terminalem i Gitem.
- Znać podstawy SQL (
SELECT,INSERT,JOIN). - Znać podstawy TypeScriptu (nie są konieczne, ale ułatwią pracę).
- Uruchamiać kontenery w Dockerze, bo testy korzystają z bazy w kontenerze. Na komputerze potrzebujesz działającego Dockera.
Czego się nauczysz?
- Uruchomisz projekt w TypeScript i z plikiem
.envbez dodatkowych narzędzi. - Zrozumiesz event loop i znajdziesz kod, który blokuje serwer.
- Przetworzysz duży plik strumieniem bez zapełniania pamięci.
- Wybierzesz framework HTTP i zbudujesz na nim serwer z walidacją danych.
- Połączysz aplikację z PostgreSQL i napiszesz migracje schematu.
- Zabezpieczysz aplikację logowaniem, rolami i limitami zapytań.
- Skonfigurujesz logi i łagodne zamykanie serwera przed wdrożeniem.
- Przetestujesz aplikację testami jednostkowymi i integracyjnymi
w
node:test.
Trener
Piotr Kowalski
W branży IT od 2008 roku. Od 2014 jest mentorem dla wielu developerów. Jako trener spędził na sali szkoleniowej kilka tysięcy godzin, a na LinkedIn ma 52 rekomendacje. Każde jego szkolenie to dawka solidnej wiedzy oraz humoru.
Zorganizujmy to szkolenie w Twoim zespole
Napisz, z czym pracujecie i na jakim poziomie jest grupa. Odpowiem z propozycją programu dopasowanego do Waszego projektu.
Zapytaj o szkolenie Pobierz program (PDF) Zobacz wszystkie szkolenia