Jakie tematy będą omawiane na kursie?
Wprowadzenie do Node.js
Słowo wstępne i przegląd kursu:
Słowo wstępne.
Co będzie omówione w kursie oraz wprowadzenie do Node.js.
Nacisk na pracę z repozytoriami kodu.
Tworzenie Podstawowego Serwera:
Budowanie prostego pierwszego serwera.
Wyjaśnienie czym jest serwer oraz obsługa żądań i odpowiedzi HTTP.
Zrozumienie kodów statusu i zwracanie JSON vs. HTML.
Podstawowa obsługa żądań:
Wprowadzenie do punktów końcowych serwera API.
Definiowanie wielu tras do obsługi żądań.
Zaawansowane obsługiwanie żądań serwera:
Zrozumienie struktury żądania HTTP.
Wyjaśnienie kodów statusu i zachowania serwera.
Przygotowanie do pisania Restful API:
Wprowadzenie do Restful API.
Zrozumienie QueryString i parametrów żądania.
Praca z systemem plików
Odczytywanie plików w Node.js:
Praca z modułem systemu plików (fs).
Asynchroniczne używanie funkcji readFile.
Synchroniczne używanie funkcji readFileSync.
Wprowadzenie do modułów fs i path.
Tworzenie serwera z wieloma punktami końcowymi.
Zapisywanie plików tekstowych i JSON.
Zapisywanie plików w Node.js:
Używanie funkcji writeFile asynchronicznie do zapisywania plików.
Używanie funkcji writeFileSync synchronicznie do zapisywania plików.
Obsługa błędów w serwerze.
Usuwanie plików w Node.js:
Usuwanie plików za pomocą unlinkSync.
Korzystanie z katalogów w systemie plików.
Funkcja do sprawdzania, czy plik istnieje w systemie plików.
Obsługa żądań POST:
Podstawowa architektura serwera.
Obsługa żądań post.
Użycie Postmana do tworzenia żądań get i post.
Używanie walidacji na serwerze:
Pisanie znaczącego serwera.
Używanie walidacji i obsługa błędów na serwerze.
Tworzenie serwera obsługującego wiele żądań (odczyt, zapis, usuwanie plików z systemu operacyjnego).
Pisanie serwera z wykorzystaniem Express
Wprowadzenie do korzystania z Express:
Informacje wstępne o bibliotece express.
Używanie biblioteki express do pisania serwera.
Używanie funkcji send, sendStatus i json.
Obsługa żądań get.
Obsługa Querystring i Params:
Użycie req.query z express.
Użycie req.params z express.
Pisanie serwera danych admina z użyciem systemu plików.
Obsługa żądań POST na serwerze:
Obsługa żądań post za pomocą express.
Wyjaśnienie użycia middleware.
Dodawanie walidacji numerów na serwerze.
Architektura serwera:
Architektura serwera w express.
Używanie express.Router do obsługi routingu serwera.
Dodawanie i budowanie kontrolerów w serwerze.
Dodawanie i budowanie usług w serwerze.
Używanie Middlewares w Express:
Zrozumienie middlewares w Express.
Poprawne osadzanie middlewares w kontrolerach.
Pisanie walidacji za pomocą middlewares.
MongoDB
Wprowadzenie do MongoDB:
Wprowadzenie do baz danych.
Różnice między bazami danych relacyjnymi a nierelacyjnymi.
Wprowadzenie do MongoDB i typowe przypadki użycia.
Łączenie serwera express z MongoDB.
Wprowadzenie do korzystania z GUI mongo.
Zapisywanie i Pobieranie Rekordów:
Definiowanie schematów i omawianie typowych typów.
Tworzenie rekordu w MongoDB za pomocą funkcji save.
Wyszukiwanie rekordów w MongoDB przy użyciu funkcji find.
Użycie typowych filtrów takich jak gte$, $gt, $lte, $lt i eq$.
Zaawansowane zapytania w MongoDB:
Zrozumienie identyfikatora ObjectId.
Wyjaśnienie funkcji toJSON.
Używanie zapytania findById w MongoDB.
Aktualizacja rekordów przy użyciu findByIdAndUpdate.
Używanie operatora inc$.
Używanie funkcji count w MongoDB.
Definiowanie wartości domyślnych dla schematu w MongoDB.
Zapytania o usunięcie i podstawowe operatory:
Usuwanie rekordów za pomocą findByIdAndDelete.
Użycie operatora push$.
Obsługa żądań nieudanych serwera (500).
Zaawansowane agregacje w MongoDB:
Budowanie zaawansowanego pipeline i stosowanie agregacji.
Sortowanie danych w zapytaniach MongoDB.
Używanie popularnych operatorów takich jak sum, $max, $min i avg$.
Zaawansowane relacje pomiędzy kolekcjami w MongoDB:
Wyjaśnienie łączenia kolekcji za pomocą ref.
Użycie akcji populate w MongoDB.
Szczegółowe wyjaśnienie tworzenia id w MongoDB.
Bezpieczeństwo serwera z uwierzytelnianiem
Wprowadzenie do JWT:
Informacje wstępne na temat zabezpieczeń serwera.
Wprowadzenie do pakietu jsonwebtoken.
Tworzenie pierwszego tokenu.
Użycie funkcji verify do sprawdzenia ważności tokenu.
Pisanie bezpiecznego API:
Dodawanie warstwy bezpieczeństwa do serwera.
Budowanie Middleware dla bezpieczeństwa serwera.
Implementacja bezpieczeństwa za pomocą JWT na serwerze, który piszemy.
Używanie biblioteki Crypto:
Informacje wstępne o używaniu szyfrowania na serwerze.
Wyjaśnienie funkcji skrótu do haszowania haseł.
Dodawanie soli do schematu w celu zwiększenia bezpieczeństwa.
Wyjaśnienie możliwych ataków.
Komunikacja między serwerami:
Używanie biblioteki axios do komunikacji serwerowej.
Pobieranie danych z innego serwera za pośrednictwem serwera, który piszemy.
Przechowywanie danych w MongoDB dla danych pobranych z zewnętrznego serwera.
Zakończenie:
Podsumowanie kursu.