Masz już konto? Zaloguj się

Kurs NodeJS

Ten Kurs to 10 godzin przygody z najgorętszą technologią ostatnich lat - platformą Node.js. Jeśli określasz się już mianem Front-end Developera, tworząc strony i aplikacje webowe z użyciem HTML, CSS i JavaScript lub nawet potrafisz pracować z back- endem w innych językach programowania, to jesteś na najlepszej drodze do zmiany pozycji na Full Stack Web Developer. Brzmi nieźle, prawda? Tytułem tym określa się osobę, która zna zarówno technologie klienckie (front-end) jak i serwerowe (back-end). Jeśli zatem czujesz się swobodnie po stronie klienta, to czas pójść dalej. Kurs ten będzie pierwszym, choć dużym krokiem w tym kierunku. Node.js to bowiem technologia serwerowa, lecz wykorzystująca znany Front-end Developerom język JavaScript!

57 lekcji

10h 44min

5 (5 oceny)

NodeJS - w Praktyce

Ten Kurs to 10 godzin przygody z najgorętszą technologią ostatnich lat - platformą Node.js. Jeśli określasz się już mianem Front-end Developera, tworząc strony i aplikacje webowe z użyciem HTML, CSS i JavaScript lub nawet potrafisz pracować z back- endem w innych językach programowania, to jesteś na najlepszej drodze do zmiany pozycji na Full Stack Web Developer. Brzmi nieźle, prawda? Tytułem tym określa się osobę, która zna zarówno technologie klienckie (front-end) jak i serwerowe (back-end). Jeśli zatem czujesz się swobodnie po stronie klienta, to czas pójść dalej. Kurs ten będzie pierwszym, choć dużym krokiem w tym kierunku. Node.js to bowiem technologia serwerowa, lecz wykorzystująca znany Front-end Developerom język JavaScript!

Co znajdziesz w Kursie?

W kursie tym poznasz platformę Node.js od podstaw, aż po bardziej zaawansowane koncepcje. Zaczniemy od omówienia czym jest Node, a także jakie może być zastosowanie tej technologii. Następnie przejdziemy przez proces instalacji i napisanie swojego pierwszego skryptu. Już na samym początku dokładnie omówimy tworzenie własnych modułów, gdyż jest to wiedza niezbędna, by dobrze zrozumieć funkcjonowanie Node. Następnie dowiesz się czym są zdarzenia, jak działa model “publish / subscribe”, a także czym jest “event-driven development”. Chwilę później omówimy pracę z buforami, stream’ami, a także ze standardowym wejściem i wyjściem. Ta wiedza pozwoli Ci zrozumieć jak tworzone aplikacje mogą otrzymywać od użytkownika dane oraz jak je wyświetlają.

Praca z Systemem Plików

Niezwykle ważnym rozdziałem będzie ten, poświęcony pracy z systemem plików. Szczególnie dla dewelopera, pracującego dotychczas z językiem JavaScript wyłącznie w środowisku przeglądarki internetowej. Node pozwala bowiem tworzyć nowe pliki, zapisywać w nich dane oraz odczytywać i usuwać pliki i katalogi. Przy wszystkich tych operacjach, niezwykle ważna jest jednak asynchroniczna natura Node. Dowiesz się jak działa, a także jakie są jej zalety. Na tym etapie nie zabraknie oczywiście praktycznego projektu, którym będzie aplikacja typu CLI (Command Line Interface). Pozwoli nam ona grupowo zmienić nazwy wielu plików, według podanego wzorca.

Tworzenie Serwerów Siecowych

W kolejnym rozdziale poruszymy fundamentalną dla Node kwestię, mianowicie tworzenie serwerów sieciowych. Zaczniemy od najniższego poziomu, tworząc prosty serwer bazujący na protokole TCP/IP. Wiedza w jaki sposób Node radzi sobie z takim zadaniem, pozwoli później lepiej zrozumieć wyższe warstwy, takie jak np. HTTP czy WebSockets. Chwilę później stworzymy swój pierwszy serwer HTTP, do którego będzie można wysyłać zapytania wprost z przeglądarki internetowej. Omówimy również jak w Node wykorzystać bezpieczne szyfrowanie HTTPS.Na tym etapie będziesz już miał solidną wiedzę jak pracować z Node, jednak zanim przejdziemy dalej, zatrzymamy się, by omówić jak dokładnie działa Node.js, a także jak ta platforma została zbudowana. Dwie dość obszerne lekcje, będą być może jednymi z najważniejszych w tym kursie. Dowiesz się w nich czym jest, a także jak działa jednowątkowa pętla zdarzeń, czym jest proces i wątek, a także zobaczysz kod źródłowy Node.js i wszystkie bloki budulcowe, z jakich Node się składa. To naszym zdaniem niezwykle ważny temat, często jednak pomijany w wielu materiałach. Dzięki dogłębnemu zrozumieniu jednowątkowej natury języka JavaScript i asynchroniczności Node, będziesz mógł tworzyć dużo lepsze aplikacje.

Node.js + Express.js + MongoDB

Node.js posiada kilkanaście wbudowanych modułów, z których w dowolnej chwili można skorzystać. Wszystkie jednak dają nam dużą, niskopoziomową kontrolę, ale czasami sporo kodu należy napisać, by zrealizować jakieś zadanie. Jest to jednak świadomy wybór twórców Node, gdyż całą resztę świetnych rozwiązań, dopisuje nieustannie ogólnoświatowa społeczność deweloperów. Zdecydowana większość z modułów ląduje w rejestrze npm. Jest to genialny package manager, który pozwoli nam wyszukiwać, pobierać i aktualizować niezliczoną ilość modułów. Dowiesz się zatem jak korzystać z npm, a chwilę później zaczniemy wykorzystywać zgromadzone tam moduły w dalszej pracy.Jednym z najpopularniejszych modułów jest express.js, który pozwala w bardzo prosty sposób tworzyć serwery HTTP. Grzechem byłoby zatem z niego nie skorzystać. Dowiesz się wszystkiego co niezbędne, by zacząć tworzyć własne aplikacje bazujące na protokole HTTP z użyciem express.js, a także kilku dodatków do tego systemu. Zobaczysz jak routować zapytania, jak korzystać z middleware czy serwować statyczne pliki. Następnie omówimy współpracę z bazą danych MongoDB i z jej wykorzystaniem stworzymy API typu REST. Stworzona aplikacja pozwoli odczytywać dane z bazy i przesyłać je do klienta w formacie JSON, a także dodawać nowe dane, aktualizować i usuwać je. Wszystko to zgodnie z dobrymi praktykami pracy z REST.

Praktyczny Projekt i ES6

Chwilę później czeka Cię kolejny praktyczny projekt - skracacz linków. Stworzymy wspólnie aplikację, która pozwoli skrócić dowolny adres URL do krótkiej formy. Oczywiście będzie działać również w drugą stronę! Kiedy przejdziemy pod skrócony adres, przekieruje nas do odpowiedniej witryny. Node.js to platforma wręcz stworzona do tworzenia aplikacji typu real-time, dlatego w kolejnym rodziale podejmiemy temat technologii WebSockets. Dowiesz się jakie są jej zalety, a także jak pracować z nią po stronie serwera i klienta. Tutaj czeka nas kolejny praktyczny, niezwykle ciekawy projekt. Wykonamy bowiem czat grupowy. Aplikacja ta pozwoli dowolnej ilości użytkowników podłączyć się do czatu podając swój nick, a następnie wysyłać widoczne dla wszystkich wiadomości. Zaimplementujemy nawet takie rozwiązania jak wyświetlanie statusów o dołączeniu kogoś do czatu, a także o jego opuszczeniu.W przedostatnim rodziale tego kursu podejmiemy tematykę dobrych praktyk pracy z Node.js. Na początku omówimy najważniejsze konstrukcje nowej specyfikacji EcmaScript 2015, które są znakomicie wspierane w Node. Chwilę później omówimy jak korzystanie z Promises uprości, a także ulepszy nasz kod. Wśród dobrych praktyk nie zabraknie również informacji o debugowaniu aplikacji. Zobaczysz sprawdzone sposoby, by znaleźć błędy lub lepiej, krok po kroku, zrozumieć jak działa napisany wcześniej kod. Dowiesz się również jak pracować z błędami, by Twoje aplikacje działały w sposób przewidywalny.

Praktyczny projekt z Git i Heroku

Ostatni rozdział w całości został poświęcony temu, co zwykle jest pomijane w innych materiałach, mianowicie wdrażaniu aplikacji do produkcji. Przez cały ten kurs pracować będziemy lokalnie, lecz kiedy aplikacje są już gotowe, wypadałoby udostępnić je światu. Wdrażanie aplikacji napisanych z użyciem Node.js nie jest jednak tak oczywiste, jak np. wgrywanie WordPress’a u wybranego hostingodawcy. Ty będziesz miał jednak możliwość zobaczyć, jak wdrożyć napisany przez nas grupowy czat na platformie Heroku. Jest to bardzo popularny serwis działający jako PaaS (Platform as a Service). Za darmo będziesz mógł w ciągu kilku chwil uruchomić swoją aplikację.Zobaczysz o co należy zadbać, by wszystko poszło gładko. Serwisy typu PaaS dbają o bardzo wiele aspektów wdrażania i serwowania naszych aplikacji, takich jak bezpieczeństwo oraz nieustanną dostępność. Mają jednak pewne ograniczenia. Z tego powodu, dowiesz się również jak wdrożyć swoją aplikację na serwerze wirtualnym VPS z systemem Ubuntu Server. Takie rozwiązanie daje nam całkowitą kontrolę, ale także obarczone jest większą odpowiedzialnością. Zaczniemy od instalacji na serwerze platformy Node.js, systemu kontroli wersji GIT, a także innych niezbędnych modułów

Konfiguracja środowiska i porady

Następnie zobaczysz jak skonfigurować swoje lokalne środowisko tak, by za pomocą GIT’a wysyłać kod do zdalnego serwera, a potem jednym poleceniem wdrażać go do produkcji. Dowiesz się również jak jednocześnie serwować wersję produkcyjną oraz developmencką. W rodziale tym poruszymy również inne kwestie, takie jak procesy potomne czy tworzenie klastrów. Dzięki tej wiedzy, będziesz mógł maksymalnie wykorzystać dostępne zasoby serwera. Na sam koniec tego kursu rzucimy okiem również na inne, nie przedstawione wcześniej zastosowania Node, a także nakreślimy dalszą drogę nauki w tym zakresie.

Dla kogo jest ten kurs?

Kurs ten jest dla wszystkich osób, które dobrze czują się w technologiach frontendowych, tj. HTML, CSS i JavaScript, a teraz chcą rozpocząć swoją przygodę z back-endem. Im zatem lepiej znasz język JavaScript, tym więcej wyciśniesz z Node, natomiast nie jest wymagana bardzo zaawansowana wiedza z zakresu tego języka.

Czego się nauczysz?

  • Omówienie platformy Node.js od podstaw

  • Techniki tworzenia aplikacji typu CLI

  • Rózne metody tworzenia serwerów sieciowych

  • Omówienie wewnetrznej budowy platformy Node.js

  • Prace z zewnetrznymi modulami i npm

  • Framework express.js i wspólprace z baza danych MongoDB

  • Przyklady praktycznych aplikacji

  • Mase cennych porad i wskazówek

Zawartość

NodeJS

12 rozdziały 57 lekcji 10h 44min

  • Wstęp

    45min

    Wprowadzenie

    Podgląd lekcji

    8min

    Czym jest Node.js?

    Podgląd lekcji

    11min

    Instalacja Windows

    4min

    Instalacja Linux

    3min

    Instalacja macOS

    6min

    Interfejs REPL

    10min

    Pierwszy skrypt

    3min

  • Moduły

    32min

    Podstawy tworzenia modułów

    7min

    Importowanie katalogów

    7min

    Co jeszcze warto wiedzieć?

    14min

    Wbudowane moduły Node.js

    4min

  • Najważniejsze koncepcje Node

    59min

    Zdarzenia

    18min

    Buffer

    5min

    Stream

    17min

    Proces

    12min

    Readline

    7min

  • Praca z systemami plików

    1h 40min

    Odczytywanie informacji o plikach

    14min

    Odczytywanie plików

    6min

    Tworzenie plików i katalogów

    13min

    Przenoszenie i zmiana nazw plików

    14min

    Usuwanie plików i katalogów

    13min

    Obserwowanie zmian w plikach

    5min

    Praktyczny projekt Grupowa zmiana nazw plików cz. 1

    12min

    Praktyczny projekt Grupowa zmiana nazw plików cz. 2

    23min

  • Tworzenie serwerów

    45min

    Prosty serwer i klient TCP

    15min

    Serwer HTTP

    16min

    Serwowanie statycznych plików

    8min

    Serwer HTTPS

    5min

  • Jak działa Node.JS

    39min

    Jednowątkowa pętla zdarzeń

    22min

    Bloki budulcowe Node.js

    16min

  • Zewnętrzne moduły z NPM

    24min

    Instalacja modułów

    11min

    Instalacja globalna modułów

    Podgląd lekcji

    5min

    Aktualizacja modułów

    7min

  • ExpressJS

    1h 55min

    Instalacja i prosty serwer

    7min

    Serwowanie statycznych plików

    4min

    Routing zapytań

    6min

    Korzystanie z szablonów

    11min

    Użycie middleware

    11min

    Tworzenie API typu REST

    27min

    Praca z bazą danych MongoDB

    27min

    Praktyczny projekt Skracacz linków

    22min

  • Websockets

    41min

    Instalacja i użycie

    8min

    Biblioteka socket.io

    Podgląd lekcji

    7min

    Praktyczny projekt Czat grupowy

    26min

  • Dobre praktyki pracy z Node

    58min

    Node.js i EcmaScript 2015

    13min

    Wykorzystanie Promises

    8min

    Callback Hell i biblioteka Q

    14min

    Debugowanie aplikacji

    12min

    Obsługa błędów

    12min

  • Wdrażanie do produkcji

    1h 10min

    Procesy potomne

    9min

    Tworzenie klastrów

    12min

    Wdrażanie aplikacji na Heroku

    15min

    Wdrażanie aplikacji na VPS

    28min

    Opcje CLI i zmienne środowiskowe

    6min

  • Podsumowanie

    18min

    Inne zastosowania Node

    6min

    Co dalej?

    9min

    Dziękuję za uwagę

    2min

Autor kursu

Piotr Palarz

Web Developer

Średnia ocen autora: 5

Bio
Web Developer. Na co dzień tworzy strony i aplikacje internetowe. Pasjonat technologii webowych, miłośnik JavaScriptu oraz grafik hobbysta. W wolnych chwilach stale poszerza swoją wiedzę, czyta, publikuje w Internecie, a także stara się aktywnie spędzać czas z dala od ekranu monitora.
Inne kursy tego autora
JavaScript Narzędzia Deweloperskie w Przeglądarce Visual Studio Code Laravel Vue.js

Dołącz do ponad 10 tys. zadowolonych z naszych kursów

Łukasz Sadłowski

18 października 2021

Paweł Baranowski

31 stycznia 2022

Denys Kryzhanivskyi

19 grudnia 2021

Bardzo dobry kurs. Nie zgadzam się z opiniami, że jest przestarzały bo nie stosuje Ecamscript 6. Bardzo nowoczesny framework VUEJS, jest na bazie Ecmascript5 i nikt nie mówi, że jest przestarzały. Ja też tworząc aplikacje webowe piszę Var zamiast const czy let, bo lubię.

Konrad Gruca

6 lutego 2022

Mimo tego, że kurs ma w sobie trochę cennej wiedzy to w ogólnym rozrachunku większość prezentowanych przykładów i zagadnień jest zdeprecjonowana, przez co w niektórych momentach kurs jest męczący.

Wiktor Bandura

31 maja 2022

Kurs NodeJS

  • 57 lekcji wideo

  • 10h 44min materiału

  • Certyfikat w ramach ścieżek

  • Dostęp z urządzeń mobilnych

Dlaczego wybrać właśnie ten kurs?

Efektywna nauka

Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!

Wiedza ekspertów

Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.

Praktyczne przykłady

Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.

Pytania i odpowiedzi

Przeczytaj najczęściej zadawane pytania

Masz więcej pytań?

Porozmawiaj z nami na na czacie

Wyślij nam e-mail

Zadzwoń +48 880880606

Czy każdy kurs ma pliki źródłowe?

Nie każdy. Jeśli pliki są dostępne dla danego kursu, znajdziesz je w zakładce źródła. Niektóre kursy nie posiadają źródeł ponieważ nie są potrzebne, inne nie mogły być zamieszczone np. ze względu na prawa autorskie do wykorzystania komercyjnych prac naszych autorów. Staramy się aby kursy były maksymalnie praktyczne i chętnie pokazujemy zaplecze zawodowe naszych autorów, ale niekiedy nie możemy dołączyć go w postaci źródeł.

Jak jest skonstruowany kurs?

Kurs składa się z rozdziałów oraz lekcji. Staramy się, aby optymalnie kursy miały 5-7 rozdziałów po około 5-10 lekcji w każdym. W ten sposób nauka jest optymalna a podtrzymanie uwagi staje się łatwiejsze. Rekomendujemy przerabianie nie więcej niż jednego rozdziału naraz a po jego przerobieniu powtórzenie materiału we własnym zakresie.

Jak najlepiej wykorzystać kurs?

Potraktuj kurs jako inspirację do własnej pracy. Tam, gdzie się da staraj się powtarzać czynności, które wykonuje autor. Nie powtarzaj ich jednak bezmyślnie - spróbuj zmodyfikować przykłady i dostosować je do swoich potrzeb. W ten sposób przyswoisz materiał jeszcze lepiej!

Jak mogę uzyskać dostęp do kursu?

Możesz albo wykupić ten konkretny kurs przez koszyk, uzyskując do niego (i jego rewizji) bezterminowy dostęp, albo wykupić wariant abonamentu, który obejmuje dany kurs i w ten sposób oglądać go oraz inne materiały na platformie tak długo, jak Twój abonament jest aktywny.

Czy kurs jest aktualny?

Staramy się aby wszystkie materiały na stronie były aktualne. Nie znaczy to, że kurs powstał bardzo niedawno. Często na stronie znajdziesz trochę starsze kursy, jednak regularnie wykonujemy ich rewizję i zmieniamy lekcje - czy to przez dodanie stosownych komentarzy z aktualizacją, czy poprzez nagranie danej lekcji jeszcze raz. Datę ostatniej rewizji znajdziesz w informacjach o kursie.

Czym się różni kurs od warsztatu i ścieżki?

Kursy to kilku godzinne, kompleksowe opracowanie danego zagadnienia, podzielone na lekcje i rozdziały. Często uzupełniają je Warsztaty, które mają formę jednej dłuższej, praktycznej lekcji (30min-1h), natomiast ścieżki stanowią zbiór jednych i drugich materiałów - ułożoną z kursów i warsztatów playlistę, która pozwala Ci kompleksowo opanować dane zagadnienie.

We frontendzie nie można stać w miejscu, niezależnie od tego, czy jest się początkującym, czy zaawansowanym. Narzędzia i techniki się zmieniają, więc trzeba cały czas trzymać rękę na pulsie. Jako twórca kursów i programista mogę spokojnie polecić eduweb.pl jako aktualne i dobre źródło wiedzy.

Adam Romański

helloroman.com

Zacznij naukę w NodeJS

  • 57 lekcji wideo

  • 10h 44min materiału

  • Certyfikat w ramach ścieżek

  • Dostęp z urządzeń mobilnych