- Opis
- Recenzje
- Autor
- Transkrypt
- Pytania i odpowiedzi
- QA
3 ocen
Wprowadzenie
JavaScript na frontach to 5-tygodniowy Program dla front-end developerów i developerek, chcących poznać wszystkie obszary nowoczesnego projektowania aplikacji webowych, pod okiem senior full-stack developerów, którzy wspólnie zajmują się programowaniem od najmłodszych lat.
- Tooling & Konfiguracja
- Najnowszy JavaScript i TypeScript
- Szeroka perspektywa web developmentu
- Projektowanie back-endu (Nest.js)
- Praca z bazami danych
- Produkcyjne praktyki pracy z aplikacją
Tooling & Konfiguracja
W pierwszym tygodniu Programu poznasz szereg narzędzi i sposobów ich konfiguracji. Twoim celem będzie zorganizowanie swojego środowiska pracy tak, aby służyło Ci jak najlepiej, zarówno pod kątem efektywności jak i komfortu. Poznasz opracowane przez Adama techniki pracy, oraz zobaczysz jak wykorzystuje w praktyce najnowsze aplikacje, które wykorzystuje na granicy ich możliwości (a czasem poza nią) poprzez wykorzystanie wiedzy programistycznej, nie tylko w celu rozwoju projektów.
Najnowsze wersje JavaScript i TypeScript
Cały ekosystem JavaScriptu rozwija się w bardzo dużym tempie. Z tego powodu część naszej uwagi skupi się na tym, aby zapoznać się z najnowszymi możliwościami zarówno JavaScriptu, jak i najnowszych wersji narzędzi, z których korzystasz niemal każdego dnia. Na tym etapie zakładamy że posiadasz już przynajmniej dobrą znajomość JavaScript oraz podstawy TypeScript.
Szeroka perspektywa full-stack web developmentu
Poruszanie się po różnych obszarach aplikacji w roli full-stack'a, wymaga nie tylko ich głębokiej znajomości ale też umiejętności spojrzenia na nie z szerokiej perspektywy. W wielu przypadkach świadomość możliwości jest ważniejsza niż posiadanie faktycznej wiedzy o wąskim obszarze. W tym Programie dowiesz się o wielu zagadnieniach, które pomimo tego że nie będą omówione na głębokim poziomie, pozwolą Ci swobodnie poruszać się po aplikacjach tworzonych w ekosystemie JavaScriptu.
Projektowanie back-endu
JavaScript oraz obecność Node.js sprawiają, że możesz z ich pomocą projektować również back-end. Jest to bardzo rozległe zagadnienie, które samo w sobie może stać się specjalizacją. Pomimo tego w Programie zebraliśmy najważniejsze zagadnienia oraz przeprowadzimy Cię przez proces tworzenia back-endu aplikacji na przykładzie jednego z najlepszych obecnie frameworków - Nest.js.
Praca z bazami danych
Nieodłącznym elementem praktycznie każdej aplikacji są bazy danych. Ich projektowanie oraz odpowiednia optymalizacja jest złożona ale jednocześnie uwzględnia szereg najważniejszych praktyk, które wystarczy znać aby rozpocząć z nimi pracę. Materiał uwzględniony w tym Programie pozwoli Ci na ogólne zrozumienie tego jak działają bazy danych oraz jak pracować z informacjami, które są w nich przechowywane.
Produkcyjne techniki pracy
Ostatnim etapem rozwoju aplikacji jest jej udostępnienie na serwerze produkcyjnym i właśnie na nim skupia się ostatnia część Programu. Poznasz w niej nie tylko sposoby organizacji środowiska produkcyjnego ale też najważniejszych praktyk pracy nad jej rozwojem oraz utrzymaniem, w oparciu o m.in. CI&CD czy zespołową pracę w rozbudowanym repozytorium GIT.
Dla kogo jest ten kurs?
JavaScript na Wszystkich Frontach to Program opracowany przede wszystkim z myślą o osobach znających JavaScript po stronie front-endu, chcących rozszerzyć swoje kompetencje w szeroko pojętym full-stack web developmencie.
Dlaczego wybrać właśnie ten kurs?
- 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, 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.
- 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ń.
Autor: Adam Gospodarczyk
Nazywam się Adam Gospodarczyk, jestem designerem i full-stack developerem. Przez całą swoją karierę zawodową pracuję w świecie startupów z branży edukacji, szkoleń pracowników oraz rekrutacji. Jestem współzałożycielem trzech produktów, które rozwijałem w roli CTO od samego początku. Przez ten czas miałem zdobyłem szerokie doświadczenie znacznie wykraczające poza zakres samej technologii. W maju 2017 roku założyłem kanał na YouTube „overment” (https://overment.com) w ramach side-project’u po godzinach. Dziś jest to jeden z największych w Polsce tego typu projektów dla programistów za który otrzymałem nagrodę „JavaScript Hero of Community” podczas konferencji JS Poland 2019. Łącząc moje startup’owe doświadczenie z pasją do technologii, pomogę Ci nauczyć się programowania patrząc szerzej na perspektywę całego biznesu - jest to doceniana przez pracodawców umiejętność, którą wiele osób całkowicie pomija. Przy tym wszystkim pokażę Ci jak ważna jest regularna nauka i pozostawanie na bieżąco.
Nazywam się Adam Gospodarczyk, jestem designerem i full-stack developerem. Przez całą swoją karierę zawodową pracuję w świecie startupów z branży edukacji, szkoleń pracowników oraz rekrutacji. Jestem współzałożycielem trzech produktów, które rozwijałem w roli CTO od samego początku. Przez ten czas miałem zdobyłem szerokie doświadczenie znacznie wykraczające poza zakres samej technologii. W maju 2017 roku założyłem kanał na YouTube „overment” (https://overment.com) w ramach side-project’u po godzinach. Dziś jest to jeden z największych w Polsce tego typu projektów dla programistów za który otrzymałem nagrodę „JavaScript Hero of Community” podczas konferencji JS Poland 2019. Łącząc moje startup’owe doświadczenie z pasją do technologii, pomogę Ci nauczyć się programowania patrząc szerzej na perspektywę całego biznesu - jest to doceniana przez pracodawców umiejętność, którą wiele osób całkowicie pomija. Przy tym wszystkim pokażę Ci jak ważna jest regularna nauka i pozostawanie na bieżąco.
Średnia ocen autora

Ten kurs nie posiada jeszcze transkryptu. Choć bardzo się staramy, wygenerowanie transkryptów do wszystkich kursów jest bardzo czasochłonne. W wielu przypadkach wymaga zaangażowania drogiego oprogramowania i godzin pracy przy poprawianiu transkryptu tak, aby był on możliwie jak najlepszy.
Zależy nam na tym, aby przygotować transkrypty do wszystkich naszych treści. To jedyny sposób dla osób niedosłyszących, aby mogły wygodnie uczyć się technologii. Poza tym, transkrypty ułatwiają skanowanie kursu w poszukiwaniu informacji i jego indeksowanie.
Szukamy osób, które mogłyby nam pomóc w poprawianiu transkryptów. Jeśli masz chwilę wolnego czasu i interesuje Cię dany kurs, w zamian za taką pomoc chętnie udostępnimy Ci wybrany materiał. Wyślij swoje zgłoszenie tutaj, jeśli możesz pomóc nam rozwijać platformę.
- Informacje
- Lekcje
Autor: Adam Gospodarczyk
Czas: 5 godzin 20 minut
Aktualizacja: 16.09.2022
- Certyfikat w ramach Ścieżki
- Dostęp z urządzeń przenośnych
- Licencje dla firm i szkół
Konfiguracja terminala
-
Dlaczego potrzebujesz dobrego terminala?
-
Wybór terminala
-
Konfiguracja terminala
-
Techniki pracy z terminalem
-
Przydatne polecenia
-
Praca z SSH
IDE
-
Wybór IDE
-
Lekkie edytory kodu
-
Konfiguracja edytora
-
Dodatkowe narzędzia
-
Sandboxy
-
Techniki pracy
Dodatkowe narzędzia
-
Praca koncepcyjna
-
Tooling
-
Narzędzia wspomagające
-
Narzędzia ułatwiające skupienie
-
Organizacja wiedzy
-
No-code
Package Managery
-
Przegląd package managerów
-
Manifest projektu
-
Konfiguracja
-
Własne skrypty
-
CLI
Tooling
-
Narzędzia
-
ESLint Prettier Vite
-
Tailwind i Tailwind UI
-
Build produkcyjny
Aktualności ES6-ES13
-
Standard ECMAScript
-
Szybka powtórka ES6+
-
Nowości w ES7-ES9
-
Nowości w ES10-ES13
TypeScript
-
Czy potrzebujesz TypeScriptu
-
Co daje TypeScript?
-
Aktualizacja stacku JS & TS
-
TypeScript 3.8-4.0
-
TypeScript 4.0-4.7
HTTP
-
Praktyczna praca z metodami HTTP
-
Praktyczna praca ze statusami kodów
-
Praktyczna komunikacja
-
Webhooki
Formaty wymiany danych
-
Rodzaje Payloadu
-
Client Payload
-
Server Payload
Komunikacja w aplikacji
-
Schemat komunikacji
-
Komunikacja po stronie front-endu
-
Komunikacja po stronie back-endu
-
Wymiana informacji
-
Problemy komunikacji
Komunikacja w REST
-
Standard REST
-
Endpointy
-
Wyjątki
Komunikacja w GraphQL
-
Wprowadzenie do GraphQL
-
GraphQL na froncie
-
GraphQL fetch
-
GraphQL w Nest.js
Walidacja danych
-
Walidacja po stronie front-endu
-
Walidacja po stronie back-endu
-
Checklista
Architektura baz danych
-
Wybór bazy danych
-
Zasady projektowania baz danych
-
Rodzaje relacji
-
Najczęściej popełniane błędy
-
Bazy lokalne i produkcyjne
Wprowadzenie do aplikacji full-stack
-
Wprowadzenie do projektu
Back-end z SQL builderem
-
Wariant back-end z knex.js i sqlite3
-
Struktura bazy w oparciu o migracje
-
Seed bazy danych
-
Korzystanie z Query Buildera
-
Migracje i produkcja
Back-end z rozwiązywaniem ORM
-
Objection.js
-
Relacje pomiędzy modelami w Objection.js
-
Prisma
-
Relacje pomiędzy modelami w Prisma
-
Seed bazy danych w Prisma
-
Porównanie dwóch podejść ORM
Back-end jako serwer API
-
Implementacja serwera HTTP w Node.js
-
Dodatkowe narzędzia developerskie
-
REST i obsługa błędów na serwerze
-
CRUD
-
Resource Resolvers
-
Połączenie z bazą danych
-
Express.js
-
REST w Express.js
-
Routing i Kontrolery
-
Walidacja zapytań
-
Warstwa serwisowa
-
API w Adonis.js
-
Warstwa kontrolerów
-
Walidacja danych
-
Providery
-
JWT
-
Poprawa obsługi błędów
-
Podsumowanie API - 3 podejścia
Front-end jako SPA
-
Przygotowanie do budowy SPA
-
React
-
Resources
-
Resources i Stan
-
Queries
-
Mutations
-
Mutations i Queries
-
Context i stan globalny
-
Vue
-
Resources i Stan w Vue
-
Pinia
-
Angular
-
Podział na moduły
-
Modele danych
-
Stan globalny
-
Interceptory i RxJS
-
Odczytywanie route params
-
Svelte
-
Svelte-Query
-
Stores i Observables
-
Widoki zamówień
-
Widoki restauracji
Autoryzacja i Uwierzytelnienie
-
Autoryzacja i Uwierzytelnienie
-
Dane wrażliwe
-
Rodzaje uwierzytelnienia
-
Basic Auth
-
API Key
-
Oauth 2.0 & JWT
-
Session Cookie
-
Błędy CORS
-
Zabezpieczenia CSRF
-
Najczęściej spotykane błędy Security
Szkielet, konfiguracja i pierwszy endpoint
-
Generowanie projektu w oparciu o @nestjs cli
-
Porównanie Nest.js z Express.js
-
Deklaratywny sposób pisania kontrolera
Kontrolery i walidacja danych wejściowych
-
Generowanie kontrolerów i model danych
-
Wykorzystanie DTO (Data Transfer Object) i walidacja danych
-
Obsługa i kody błędów - rzucanie wyjątków
-
Kontrolery, DTO i model danych - podsumowanie
Warstwa serwisowa i DI (Dependency Injection)
-
Serwisy - dodatkowa warstwa na logikę aplikacji
-
Współdzielenie danych dzięki Dependency Injection
-
Zależności pomiędzy serwisami
Modułowa budowa aplikacji
-
Grupowanie logiki biznesowej za pomocą Feature Modules
Twardy zapis danych w oparciu o ORM
-
TypeORM - podłączenie do bazy danych i Encje
-
ActiveRecord: Odczyt i Zapis w bazie danych
-
Implementacja relacji: OneToMany - ManyToOne
-
Wykorzystanie Repository Pattern - separacja zależności
Rozbudowa struktury bazy danych
-
Projektowanie struktury bazy
-
Rodzaje relacji danych
-
Dodanie relacji do bazy danych
-
Techniki pracy ze zmiennymi środowiskowymi
-
Własne repozytoria i wykorzystanie relacji
-
Migracje w TypeORM
-
Seedowanie bazy
Autoryzacja i Uwierzytelnienie w praktyce
-
Rejestrowanie użytkowników
-
Własny dekorator
-
Globalna obsługa błędów
-
Tokeny JWT
-
Logowanie z pomocą tokenów
-
Tworzenie Refresh Token
-
Guardy
Dodawanie i odczytywanie danych
-
Tworzenie nowych wpisów
-
Pobieranie i filtrowanie informacji o wpisach
-
Pobieranie i filtrowanie relacji
-
Strategie wyszukiwania
-
Throttling i Limity
Usuwanie danych
-
Aktualizowanie danych
-
Sposoby usuwania danych
-
Usuwanie rekordów
-
Kaskadowe usuwanie rekordów
Middleware
-
Middleware
-
Pipe
-
Guard
-
Filter
-
Interceptor
Wprowadzenie do testowania
-
Powrót do projektu
-
Testing debugger
-
Pierwszy test
-
Grupy testów
-
Naprawa wygenerowanych testów
-
Testowanie Kontrollerów
-
Testowanie Serwisu
Aplikacja na produkcji
-
Połączenie z VPS
-
Konfiguracja NGINX
-
Konfiguracja domeny
-
Awaryjne połączenie z serwerem
-
Instalacja bazy danych
-
Ręczne uruchomienie aplikacji na serwerze
-
Wprowadzenie do CI&CD
-
Github Actions i Node.js
-
Przykłady Github Actions
Newslettery i Maile Transakcyjne
-
Systemy mailowe
-
Integracja Sendgrid
-
Praktyczna praca z e-mailami
-
Upload plików
Zakończenie Programu
-
Podsumowanie