Menu Zamknij

Kurs Python

Cena kursu

  • Cena spotkania grupowego wynosi 90 zł netto za 60 minut (110,7 zł brutto za 60 minut).
  • Cena spotkania indywidualnego wynosi 140 zł netto za 60 minut (172,2 zł brutto za 60 minut).
  • Płacisz zawsze za 25 kolejnych spotkań grupowych.
  • Płacisz zawsze za jedno kolejne spotkanie indywidualne.
  • Pierwsze spotkanie grupowe gratis.
  • Istnieje możliwość wystawienia faktury VAT.

Opis kursu

  • Profesjonalne przygotowanie do pracy na stanowisku programisty w wybranym języku programowania oraz powiązanymi z nim bibliotekami oraz frameworkami.
  • Nauka od podstaw po zaawansowane rozwiązania komercyjne.
  • Zoptymalizowany kod napisany zgodnie z dobrymi praktykami programistycznymi.
  • Szkolenie według planu dopasowanego do najnowszych standardów IT.
  • Nagrania ze spotkań grupowych, które możesz oglądać kiedy tylko chcesz.
  • Ogromna ilość zadań teoretycznych i praktycznych o różnym poziomie trudności.
  • Wsparcie mentora przy rozwiązywaniu problemów związanych z pytaniami teoretycznymi, zadaniami praktycznymi i projektami komercyjnymi.
  • Elastyczny kontakt z mentorem.
  • Profesjonalne przygotowanie do rozmowy kwalifikacyjnej.
  • Profesjonalnie przygotowane portfolio z rozbudowanymi projektami komercyjnymi.
  • Skuteczne techniki nauki programowania.

Plan kursu

  • Przegląd dostępnych wersji Python
  • Instalacja Python na dowolnym systemie operacyjnym
  • Instalacja managera pakietów pip
  • Omówienie zasady działania virtual environments
  • Instalacja narzędzia virtualenv
  • Instalacja narzędzia pipenv
  • Omówienie struktury projektu Python
  • Omówienie roli plików Pipfile oraz Pipfile.lock
  • Przegląd komend pipenv shell
  • Praca z interpreterem Python
  • Instalacja managera pakietów conda
  • Zarządzanie wirtualnymi środowiskami z wykorzystaniem conda
  • Instalacja managera pakietów poetry
  • Zarządzanie wirtualnymi środowiskami z wykorzystaniem poetry
  • Zagadnienia uzupełniające
  • Cechy języka dynamicznie typowanego
  • Dwa rodzaje obiektów: immutable oraz mutable
  • Funkcja globalna id
  • Typy liczbowe (całkowite i zmiennoprzecinkowe)
  • Typy logiczne
  • Liczby zespolone
  • Ułamki
  • Precyzyjne przechowywanie danych zmiennoprzecinkowych
  • Namespaces
  • Zasięg zmiennych
  • Zasada LEGB
  • Rzutowanie
  • Sposoby pobierania i prezentacji danych
  • Losowanie danych
  • Operatory
  • Walrus operator
  • Priorytet operatorów
  • Zagadnienia uzupełniające
  • Różne postaci instrukcji warunkowej if
  • Ternary operator
  • Wprowadzenie do list, tuple oraz dict
  • Bloki warunkowe z wykorzystaniem list, tuple oraz dict
  • Blok match case
  • Pętla for
  • Pętla while
  • Petle for else oraz while else
  • Sposoby implementowania pętli do while
  • Instrukcje break oraz continue
  • Słowo kluczowe pass
  • Debuggowanie
  • Analiza mechanizmu podpowiadania błędów
  • Zagadnienia uzupełniające
  • Organizacja kodu z wykorzystaniem funkcji
  • Sposoby definiowania i wywoływania funkcji
  • Parametry i argumenty funkcji
  • Zwracanie wyniku działania funkcji
  • Argumenty domyślne funkcji
  • Positional arguments
  • Keyword arguments
  • Arbitrary argument list
  • Zasady kolejności przekazywania argumentów do funkcji
  • Podpowiadanie typów
  • Wyrażenia lambda
  • Funkcje zagnieżdżone
  • Closures
  • Dekoratory
  • Dokumentowanie funkcji
  • Zagadnienia uzupełniające
  • Napis jako obiekt niemutowalny
  • Sposoby tworzenia i prezentacji napisów
  • Napisy wielowierszowe
  • Raw strings
  • Formatowanie napisów
  • Przegląd i praktyczne przykłady metod zarządzających napisami
  • Optymalne przetwarzanie napisów
  • Wyrażenia regularne
  • Flagi do pracy z wyrażeniami regularnymi
  • Konwersja i parsowanie napisów
  • Zagadnienia uzupełniające
  • Iteratory oraz struktury iterable
  • Wzorzec lazy evaluation
  • Sekwencje jako szczególny przypadek iterable
  • List
  • Tuple
  • Namedtuple
  • Range
  • Bytes oraz bytearray
  • Set
  • Frozenset
  • Dict
  • Counter
  • Deque
  • Defaultdict
  • OrderedDict
  • ChainedMap
  • Przegląd innych struktur z modułu collections
  • Operacje i metody do zarządzania strukturami iterable
  • Zasady porównywania elementów struktur iterable
  • Zasady sortowania elementów struktur iterable
  • List comprehension
  • Przegląd funkcji realizujących programowanie funkcyjne
  • Higher Order Functions
  • Generatory
  • Generator expressions
  • Moduł itertools
  • Struktury wielowymiarowe
  • Tworzenie kodu o strukturze jednowierszowej
  • Praktyczne przykłady wykorzystania bytów iterable
  • Zagadnienia uzupełniające
  • Przechowywanie daty i czasu za pomocą obiektów naive
  • Przechowywanie daty i czasu za pomocą obiektów aware
  • Omówienie struktury modułu datetime
  • Reprezentowanie różnicy czasu za pomocą datetime.timedelta 
  • Reprezentowanie daty za pomocą datetime.date
  • Reprezentowanie czasu za pomocą time.time oraz datetime.time
  • Przechowywanie daty i czasu za pomocą obiektu datetime.datetime
  • Strefy czasowe – moduł pytz
  • Konwersja daty i czasu pomiędzy różnymi strefami czasowymi
  • Porównywanie daty i czasu
  • Dobre praktyki programistyczne przetwarzania daty i czasu
  • Zagadnienia uzupełniające
  • Klasyfikacja błędów
  • Syntax errors
  • Wyjątki
  • Zachowanie aplikacji podczas wystąpienia wyjątku
  • Rzucanie wyjątków
  • Przechwytywanie wyjątków za pomocą bloku try except
  • Sekcja else w bloku try except
  • Sekcja finally w bloku try except
  • Przechwycenie rodzaju wyjątku w sekcji except
  • Przegląd wbudowanych klas wyjątków
  • Definiowanie własnych klas wyjątków
  • Bezpieczna obsługa zasobów
  • Zagadnienia uzupełniające
  • Definicja modułu oraz paczki
  • Sposoby tworzenia modułu
  • Importowanie modułów
  • Pozyskiwanie informacji na temat modułu
  • Skrypt szczególnym przypadkiem modułu
  • Zasady wyszukiwania modułów
  • Kompilowanie modułów
  • Moduł sys
  • Przegląd innych standardowych modułów Python
  • Funkcja dir
  • Definiowanie paczek
  • Plik __init__.py
  • Różne sposoby importowania elementów paczki
  • Dobre praktyki tworzenia struktury projektu
  • Tworzenie przykładowego projektu z podziałem na paczki i moduły
  • Umieszczenie paczek w zdalnym repozytorium PyPI
  • Importowanie utworzonej paczki z repozytorium PyPI
  • Zagadnienia uzupełniające
  • Omówienie zasad programowania obiektowego
  • Tworzenie klas i obiektów
  • Klasyfikacja składników klasy
  • Słowo kluczowe self
  • Metoda __init__
  • Inne ważne dunder methods
  • Atrybuty klasy oraz atrybuty obiektu klasy
  • Różne sposoby odwoływania się do składników instancji klasy
  • Pozyskiwanie informacji na temat obiektu
  • Przygotowanie obiektów klasy do pracy ze strukturami iterable
  • Metody instancji klasy
  • Dekoratory @classmethod oraz @staticmethod
  • Dekorator @property
  • Klasy jako obiekty callable
  • Składniki prywatne w klasie
  • Klasy POJO
  • Dynamiczne tworzenie klas
  • Podstawy metaprogramowania
  • Dziedziczenie
  • Polimorfizm
  • Dekoratory @classmethod oraz @staticmethod w dziedziczeniu
  • Rozszerzanie typów wbudowanych
  • Abstrakcyjność
  • Dziedziczenie wielokrotne
  • Duck typing
  • Implementacja własnego iteratora
  • Moduł pythonlangutil
  • Dekorator dataclass
  • Przegląd innych dekoratorów rozszerzających możliwości klasy
  • Metoda __init_subclass__
  • Dokumentowanie kodu klasy
  • Zagadnienia uzupełniające
  • Algorytmy badające właściwości geometryczne
  • Algorytm badające właściwości matematyczne
  • Konwersje pomiędzy systemami liczbowymi
  • Badanie ciągów danych pod kątem wybranych właściwości
  • Sortowanie ciągów danych
  • Zastosowanie metody dziel i zwyciężaj
  • Wybrane metody numeryczne
  • Programowanie zachłanne
  • Algorytmy na tekstach
  • Wybrane algorytmy kryptograficzne
  • Rekurencja
  • Przegląd wybranych struktur danych
  • Zagadnienia uzupełniające
  • Klasyfikacja wzorców projektowych
  • Implementacja wzorców kreacyjnych
  • Implementacja wzorców strukturalnych
  • Implementacja wzorców czynnościowych
  • Zagadnienia uzupełniające
  • Porównanie funkcji str() oraz repr()
  • Implementacja różnych sposobów formatowania danych
  • Operacje odczytu i zapisu do plików
  • Praca z plikami w trybie tekstowym oraz binarnym
  • Zarządzanie danymi w formacie JSON
  • Operacje odczytu i zapisu do plików w formacie JSON
  • Bezpieczny sposób zarządzania komunikacją z plikiem
  • Zagadnienia uzupełniające
  • Konfiguracja wybranego środowiska bazodanowego
  • Omówienie zasad języka SQL
  • Nawiązanie połączenia z bazą danych
  • Konfiguracja connection pool
  • Implementacja kursora do zarządzania połączeniem
  • Implementacja operacji CRUD
  • Zapytania parametryzowane
  • Zarządzanie wynikami zapytań SQL
  • Konfiguracja i zarządzanie relacjami
  • Transakcyjność
  • Pozyskiwanie informacji o właściwościach bazy danych i tabel
  • Wykonywanie kopii zapasowej bazy danych
  • Praktyczny przykład uogólnionego repozytorium bazodanowego
  • Zagadnienia uzupełniające
  • Omówienie zagadnień ORM
  • Instalacja i konfiguracja aplikacji do pracy z SQLAlchemy
  • Różne sposoby tworzenia modelu tabeli
  • Zarządzanie modelem tabeli bazy danych z poziomu SQLAlchemy
  • Pozyskiwanie informacji na temat modelu tabeli z bazy danych
  • Zarządzanie migracjami z wykorzystaniem narzędzia Alembic
  • Różne sposoby tworzenia i zarządzania sesją
  • Transakcyjność
  • Implementacja operacji CRUD
  • Omówienie sposobów pozyskiwania danych z tabel
  • Zarządzanie wynikami otrzymanymi w ramach zapytań
  • Konfiguracja i zarządzanie relacjami bazodanowymi
  • Sposoby implementowania mechanizmu eager loading
  • Implementowanie mechanizmów optimistic / pessimistic locking
  • Implementacja cache
  • Praktyczny przykład uogólnionego repozytorium bazodanowego
  • Zagadnienia uzupełniające
  • Konfiguracja wybranego środowiska bazodanowego NoSQL
  • Omówienie zasad języka NoSQL
  • Nawiązanie połączenia z bazą danych
  • Tworzenie kolekcji oraz dokumentów
  • Zarządzanie właściwościami pól dokumentów
  • Implementacja relacji
  • Indeksowanie oraz ustalanie porządku danych
  • Dziedziczenie dokumentów
  • Tworzenie i zarządzanie instancjami dokumentów
  • Wstawianie, modyfikowanie i usuwanie dokumentów
  • Pobieranie i zarządzanie danymi
  • Sposoby optymalizacji zapytań
  • Zagadnienia uzupełniające
  • Zarządzanie archiwami ZIP
  • Zarządzanie plikami CSV
  • Zarządzanie plikami oraz katalogami
  • Wysyłanie wiadomości email
  • Lazy Streams
  • Generowanie tokenów JWT
  • Komunikacja ze zdalnym REST API
  • Geolokalizacja
  • Zagadnienia uzupełniające
  • Omówienie zagadnień związanych z architekturą testowania
  • Klasyfikacja testów
  • Podejście TDD (Test-Driven Development)
  • Implementacja podstawowej struktury testującej
  • Uruchamianie testów
  • Omówienie zasady działania asercji
  • Praktyczne przykłady wykorzystania różnych rodzajów asercji
  • Generowanie testów opartych na istniejących metodach
  • Sposoby pomijania testów
  • Wykonywanie testów zagnieżdżonych i parametryzowanych
  • Grupowanie testów
  • Wykonywanie operacji przed testami i po testach
  • Implementacja test loaderów
  • Omówienie zagadnień związanych z mockowaniem
  • Patch oraz dekorator @patch
  • Prezentacja różnych przykładów mockowania
  • Analiza struktury i kolejności wywołania bytów mockowanych
  • Rzucanie wyjątków z mockowanych obiektów
  • Side effect functions
  • Generowanie mocków na podstawie istniejących obiektów
  • Partial mocking
  • Zagadnienia uzupełniające
  • Wprowadzenie pojęć związanych z programowaniem wielowątkowym
  • Moduł threading
  • Tworzenie wątku za pomocą funkcji
  • Tworzenie wątku za pomocą klasy
  • Zarządzanie pracą wielu wątków – ThreadPoolExecutor
  • Problemy związane z wielowątkowością
  • Lock
  • RLock
  • Kolejki
  • Implementacja wzorca producent-konsument
  • Semafor
  • Timer
  • Barrier
  • Wprowadzenie pojęć związanych z programowaniem asynchronicznym
  • Porównanie wielowątkowości i asynchroniczności
  • Moduł asyncio
  • Słowa kluczowe async oraz await
  • Omówienie zasady działania coroutine
  • Omówienie zasady działania event loop
  • Wykorzystanie funkcji asyncio.gather
  • Wykorzystanie funkcji asyncio.create_task
  • Chaining coroutines
  • Kolejki asynchroniczne asyncio.Queue
  • Iterator asynchroniczny
  • Moduł aiohttp jako przykład wykorzystania asynchroniczności
  • Asynchroniczna komunikacja z REST API
  • Implementowanie asynchronicznego web servera
  • Zagadnienia uzupełniające
  • Omówienie architektury aplikacji webowej
  • Omówienie standardów HTTP, REST, JSON oraz innych powiązanych
  • Klasyfikacja pojęć związanych z frameworkiem Django
  • Różnica pomiędzy projektem oraz aplikacją
  • Wzorzec projektowy Active Record
  • Wprowadzenie do frameworka Django REST
  • Przygotowanie środowiska do pracy z Django REST
  • Dokeryzacja aplikacji webowej (patrz punkt 23)
  • Praca ze zmiennymi środowiskowymi
  • Implementacja REST API w oparciu o klasę APIView
  • Implementacja REST API w oparciu o dekorator @api_view
  • Routing
  • Przekazywanie request params oraz query strings
  • Praca z nagłówkami
  • Przechwytywanie i walidacja ciała żądania
  • Zarządzanie sesją oraz cookies
  • Przygotowanie odpowiedzi dla żądania
  • Analiza kodów HTTP
  • Globalne przechwytywanie wyjątków
  • Serializacja i deserializacja JSON
  • Dobre praktyki serializacji danych
  • Przygotowanie prawidłowego formatu zwracanych danych
  • Implementacja serializerów i deserializerów
  • Django ORM jako mechanizm do zarządzania warstwą bazodanową
  • Migracje
  • Tworzenie modelu bazy danych
  • Zarządzanie zmianami w modelu bazy danych
  • Implementacja relacji bazodanowych
  • Zarządzanie zapytaniami do bazy danych
  • Pobieranie i przetwarzanie danych z warstwy bazodanowej
  • Optymalizacja komunikacji z bazą danych
  • Konfiguracja panelu administratora
  • Warstwa serwisowa aplikacji webowej
  • Wykorzystanie modułu django.test do testowania aplikacji
  • Testowanie modelu aplikacji
  • Mockowanie obiektów i testowanie warstwy serwisowej
  • Testowanie REST API z wykorzystaniem zewnętrznych klientów REST
  • Konfiguracja CORS
  • Pobieranie zasobów statycznych z aplikacji frontend
  • Zarządzanie zasobami statycznymi z wykorzystaniem AWS S3
  • Autentykacja oraz autoryzacja
  • Omówienie standardu JWT
  • JWT Debugger
  • Zarządzanie danymi przesyłanymi w tokenie JWT
  • Omówienie zasady działania i przygotowanie access token
  • Omówienie zasady działania i przygotowanie refresh token
  • Dobre praktyki szyfrowania danych w tokenach JWT
  • Biblioteka Simple JWT
  • Przygotowanie modułu rejestracji użytkowników
  • Przygotowanie modułu aktywacji konta użytkownika
  • Szyfrowanie hasła użytkownika
  • Implementacja modułu autentykacji użytkownika
  • Implementacja modułu autoryzacji użytkownika
  • Omówienie zastosowania serwera nginx
  • Przygotowanie wersji produkcyjnej aplikacji (WSGI oraz ASGI)
  • Osadzenie aplikacji webowej w chmurze (patrz punkt 24)
  • Generowanie dokumentacji aplikacji webowej
  • Internacjonalizacja
  • Zagadnienia uzupełniające
  • Omówienie architektury aplikacji webowej
  • Omówienie standardów HTTP, REST, JSON oraz innych powiązanych
  • Klasyfikacja pojęć związanych z frameworkiem Flask
  • Wprowadzenie do frameworka Flask-RESTful
  • Przygotowanie środowiska do pracy z Flask-RESTful
  • Dokeryzacja aplikacji webowej (patrz punkt 23)
  • Praca ze zmiennymi środowiskowymi
  • Implementacja REST API w oparciu o klasę Resource
  • Implementacja REST API w oparciu o dedykowane dekoratory
  • Routing
  • Przekazywanie request params oraz query strings
  • Praca z nagłówkami
  • Przechwytywanie i walidacja ciała żądania
  • Zarządzanie sesją oraz cookies
  • Przygotowanie odpowiedzi dla żądania
  • Analiza kodów HTTP
  • Globalne przechwytywanie wyjątków
  • Serializacja i deserializacja JSON
  • Dobre praktyki serializacji danych
  • Przygotowanie prawidłowego formatu zwracanych danych
  • Flask-SQLAlchemy jako mechanizm do zarządzania warstwą bazodanową
  • Migracje
  • Tworzenie modelu bazy danych
  • Zarządzanie zmianami w modelu bazy danych
  • Implementacja relacji bazodanowych
  • Zarządzanie zapytaniami do bazy danych
  • Pobieranie i przetwarzanie danych z warstwy bazodanowej
  • Optymalizacja komunikacji z bazą danych
  • Warstwa serwisowa aplikacji webowej
  • Testowanie modelu aplikacji
  • Mockowanie obiektów i testowanie warstwy serwisowej
  • Testowanie REST API z wykorzystaniem zewnętrznych klientów REST
  • Konfiguracja CORS
  • Pobieranie zasobów statycznych z aplikacji frontend
  • Zarządzanie zasobami statycznymi z wykorzystaniem AWS S3
  • Autentykacja oraz autoryzacja
  • Omówienie standardu JWT
  • JWT Debugger
  • Zarządzanie danymi przesyłanymi w tokenie JWT
  • Omówienie zasady działania i przygotowanie access token
  • Omówienie zasady działania i przygotowanie refresh token
  • Dobre praktyki szyfrowania danych w tokenach JWT
  • Biblioteka Flask-PyJWT
  • Przygotowanie modułu rejestracji użytkowników
  • Przygotowanie modułu aktywacji konta użytkownika
  • Szyfrowanie hasła użytkownika
  • Implementacja modułu autentykacji użytkownika
  • Implementacja modułu autoryzacji użytkownika
  • Omówienie zastosowania serwera nginx
  • Przygotowanie wersji produkcyjnej aplikacji (WSGI oraz ASGI)
  • Osadzenie aplikacji webowej w chmurze (patrz punkt 24)
  • Generowanie dokumentacji aplikacji webowej
  • Internacjonalizacja
  • Zagadnienia uzupełniające
  • Omówienie architektury aplikacji webowej
  • Omówienie standardów HTTP, REST, JSON oraz innych powiązanych
  • Klasyfikacja pojęć związanych z frameworkiem FastAPI
  • Prezentacja i wykorzystanie mechanizmu dependency injection
  • Prezentacja i wykorzystanie mechanizmu middleware
  • Wykorzystanie mechanizmów asynchroniczności do implementowania aplikacji webowej 
  • Przygotowanie środowiska do pracy z FastAPI
  • Dokeryzacja aplikacji webowej (patrz punkt 23)
  • Praca ze zmiennymi środowiskowymi
  • Implementacja REST API
  • Routing
  • Przekazywanie request params oraz query strings
  • Praca z nagłówkami
  • Przechwytywanie i walidacja ciała żądania
  • Zarządzanie sesją oraz cookies
  • Przygotowanie odpowiedzi dla żądania
  • Analiza kodów HTTP
  • Globalne przechwytywanie wyjątków
  • Serializacja i deserializacja JSON
  • Dobre praktyki serializacji danych
  • Przygotowanie prawidłowego formatu zwracanych danych
  • SQLAlchemy jako mechanizm do zarządzania warstwą bazodanową
  • Migracje
  • Tworzenie modelu bazy danych
  • Zarządzanie zmianami w modelu bazy danych
  • Implementacja relacji bazodanowych
  • Zarządzanie zapytaniami do bazy danych
  • Pobieranie i przetwarzanie danych z warstwy bazodanowej
  • Optymalizacja komunikacji z bazą danych
  • Warstwa serwisowa aplikacji webowej
  • Testowanie modelu aplikacji
  • Mockowanie obiektów i testowanie warstwy serwisowej
  • Testowanie REST API z wykorzystaniem zewnętrznych klientów REST
  • Konfiguracja CORS
  • Pobieranie zasobów statycznych z aplikacji frontend
  • Zarządzanie zasobami statycznymi z wykorzystaniem AWS S3
  • Autentykacja oraz autoryzacja
  • Omówienie standardu JWT
  • JWT Debugger
  • Zarządzanie danymi przesyłanymi w tokenie JWT
  • Omówienie zasady działania i przygotowanie access token
  • Omówienie zasady działania i przygotowanie refresh token
  • Dobre praktyki szyfrowania danych w tokenach JWT
  • Biblioteka Jose do generowania tokenów JWT
  • Przygotowanie modułu rejestracji użytkowników
  • Przygotowanie modułu aktywacji konta użytkownika
  • Szyfrowanie hasła użytkownika
  • Implementacja modułu autentykacji użytkownika
  • Implementacja modułu autoryzacji użytkownika
  • Omówienie zastosowania serwera nginx
  • Przygotowanie wersji produkcyjnej aplikacji
  • Osadzenie aplikacji webowej w chmurze (patrz punkt 24)
  • Generowanie dokumentacji aplikacji webowej
  • Internacjonalizacja
  • Zagadnienia uzupełniające
  • Omówienie architektury platformy Docker
  • Zasada działania obrazu oraz kontenera
  • Różnica pomiędzy kontenerem Docker oraz maszyną wirtualną
  • Instalacja platformy Docker
  • Praca z Docker CLI
  • Tworzenie i zarządzanie obrazami platformy Docker
  • Image Layers
  • Wprowadzenie do pracy z Docker Hub
  • Osadzenie przygotowanego obrazu w repozytorium Docker Hub
  • Tworzenie i zarządzanie kontenerami w platformie Docker
  • Omówienie cyklu życia kontenera
  • Kopiowanie plików z maszyny lokalnej do kontenera
  • Kopiowanie plików z kontenera do maszyny lokalnej
  • Klasyfikacja rodzajów danych przechowywanych w kontenerach
  • Tworzenie i zarządzanie volumes w platformie Docker
  • Różnica pomiędzy anonymous volumes oraz named volumes
  • Tworzenie i zarządzanie bind mounts w platformie Docker
  • Omówienie różnic pomiędzy volumes oraz bind mounts
  • Tworzenie volumes tylko do odczytu
  • Instalacja i uruchamianie przykładowych narzędzi z wykorzystaniem platformy Docker
  • Omówienie struktury pliku konfiguracyjnego Dockerfile
  • Praca z argumentami oraz zmiennymi środowiskowymi
  • Konteneryzacja aplikacji webowej z wykorzystaniem Docker
  • Komunikacja kontenera z zewnętrznym REST API
  • Komunikacja kontenera z narzędziami osadzonymi w localhost
  • Komunikacja container to container z użyciem networks w platformie Docker
  • Przegląd sterowników do konfiguracji zachowania networks
  • Omówienie zasady działania narzędzia Docker Compose
  • Instalacja narzędzia Docker Compose
  • Struktura pliku konfiguracyjnego narzędzia Docker Compose
  • Przygotowanie kontenera bazy danych 
  • Konfiguracja kontenerów do pracy z wieloma bazami danych
  • Konteneryzacja aplikacji webowej
  • Przykład tworzenia utility containers
  • Zagadnienia uzupełniające
  • Omówienie architektury Amazon Web Services
  • Omówienie pojęcia regionu
  • Omówienie pojęcia availability zone (AZ)
  • Praca z Identity and Access Management (IAM)
  • Wprowadzenie pojęć users, roles, groups oraz policies
  • Konfiguracja konta użytkownika
  • Zarządzanie budżetem
  • Omówienie Amazon Machine Images (AMI)
  • Wprowadzenie do serwisu Elastic Compute Cloud (EC2)
  • Przygotowanie i uruchomienie instancji EC2
  • Przegląd parametrów instancji EC2
  • Konfiguracja Security Groups do ustawienia możliwości komunikacyjnych instancji EC2
  • Komunikacja z instancją EC2 z wykorzystaniem SSH
  • Komunikacja z instancją EC2 z wykorzystaniem AWS Console
  • Konfiguracja Elastic IP
  • Konfiguracja User Data do uruchamia operacji początkowych dla instancji EC2
  • Przygotowanie instancji EC2 do pracy z kontenerami Docker
  • Osadzenie skonteneryzowanej aplikacji webowej w instancji EC2
  • Klasyfikacja sposobów uruchamiania instancji EC2
  • EC2 Elastic Network Instances (ENI)
  • Omówienie pojęć scalability oraz high availability
  • Skalowanie wertykalne oraz horyzontalne
  • Omówienie pojęcia load balancing
  • Klasyfikacja load balancerów
  • Uruchomienie serwisu Elastic Load Balancer (ELB)
  • Load Balancer Stickiness
  • Cross-Zone Load Balancing
  • Omówienie pojęć związanych z auto scaling
  • Konfiguracja Auto Scaling Group (ASG)
  • Sposoby skalowania – Target Tracking Scaling
  • Sposoby skalowania – Simple / Step Scaling
  • Konfiguracja Elastic Block Store (EBS)
  • Klasyfikacja EBS Volumes
  • Konfiguracja EC2 Instance Store
  • Konfiguracja Elastic File System (EFS)
  • Porównanie EBS oraz EFS
  • Wprowadzenie do serwisu Relational Database Service (RDS)
  • Zalety i wady stosowania RDS
  • Omówienie mechanizmu RDS Read Replicas
  • Omówienie mechanizmu Single AZ oraz Multi AZ
  • Konfiguracja usługi RDS
  • RDS Encryption
  • Wady i zalety pracy z bazą danych Amazon Aurora
  • Konfiguracja RDS do pracy z Amazon Aurora
  • Omówienie usługi Amazon ElastiCache
  • Wprowadzenie do serwisu Elastic Beanstalk (EB)
  • Przygotowanie środowiska Elastic Beanstalk Environment
  • Klasyfikacja sposobów osadzania aplikacji w EB Environment
  • Praca z Elastic Beanstalk Extensions
  • Klonowanie środowiska Elastic Beanstalk
  • Docker w pracy z Elastic Beanstalk
  • Osadzanie aplikacji webowej w środowisku EB
  • Osadzanie aplikacji webowej w środowisku EB z komunikacją bazodanową z wykorzystaniem RDS
  • Load balancing oraz autoscaling aplikacji osadzonej w środowisku EB
  • Przygotowanie API Gateway dla środowiska EB
  • Wprowadzenie do serwisu Elastic Container Service (ECS)
  • Omówienie pojęcia orkiestryzacji kontenerów
  • Konfiguracja ECS
  • Wprowadzenie do serwisu AWS Fargate
  • Omówienie jednostki uruchomieniowej Task
  • Konfiguracja Task Definition
  • Omówienie i konfiguracja Service
  • Przeznaczenie elementu Cluster
  • Konfiguracja Cluster
  • Osadzenie aplikacji webowej jako service w klastrze AWS Fargate
  • Komunikacja kontenera AWS Fargate z bazą danych osadzoną w RDS
  • Zarządzanie parametrami aplikacji poprzez Systems Manager
  • Komunikacja kontenerów osadzonych w ramach serwisów AWS Fargate (wdrażanie architektury mikroserwisowej)
  • Konfiguracja distributed tracing dla kontenerów AWS Fargate z wykorzystaniem usługi AWS X-Ray
  • Konfiguracja load balancera do pracy z kontenerami AWS Fargate
  • Konfiguracja auto scaling do pracy z kontenerami AWS Fargate
  • Wprowadzenie do serwisu App Mesh
  • Charakterystyka pojęcia proxy
  • Envoy Proxy jako przykład proxy używanego w App Mesh
  • Tworzenie namespace w ramach usługi App Mesh
  • Tworzenie service dla skonfigurowanego namespace
  • Konfiguracja URI utworzonych w usłudze Route53 do pracy ze skonfigurowanymi serwisami
  • Konfiguracja Virtual Node
  • Konfiguracja Virtual Service dla utworzonych serwisów
  • Konfiguracja AWS Fargate do wdrożenia konfiguracji przygotowanej w ramach AWS Mesh
  • Wprowadzenie do serwisu AWS CodePipeline
  • Wyjaśnienie pojęcia continuous integration (CI)
  • Wyjaśnienie pojęcia continuous delivery (CD)
  • Przygotowanie aplikacji webowej do pracy z CI/CD
  • Przygotowanie repozytorium GitHub aplikacji webowej do pracy z AWS CodePipeline
  • Przygotowanie serwisu ECS do pracy z AWS CodePipeline
  • Omówienie kolejnych etapów budowania i uruchamiania projektu w ramach usługi AWS CodePipeline
  • Uruchomienie serwisu z aplikacją webową w ramach CI/CD
  • Testowanie mechanizmu CI/CD w ramach AWS CodePipeline
  • Sprawdzanie logów aplikacji z wykorzystaniem usługi CloudWatch
  • Serwowanie zasobów statycznych z wykorzystaniem usługi AWS S3
  • Zagadnienia uzupełniające
  • Teoretyczne wprowadzenie do zagadnień z obszaru Data Science
  • Przygotowanie projektu do pracy z narzędziami Data Science
  • Wprowadzenie do biblioteki NumPy
  • Sposoby tworzenia struktury NumPy Array
  • Indeksowanie struktury Array
  • Przegląd operacji na strukturze Array
  • Zarządzanie wymiarami struktury Array
  • Wektoryzacja Array
  • Tablice wielowymiarowe w NumPy
  • Wprowadzenie do biblioteki Pandas
  • Różne sposoby pozyskiwania danych ze źródeł zewnętrznych
  • Sposoby tworzenia struktury DataFrame
  • Omówienie funkcji do zarządzania strukturą DataFrame
  • Sposoby zarządzania wartościami liczbowymi oraz napisami
  • Zarządzanie danymi reprezentującymi datę oraz czas
  • Zarządzanie kolumnami struktury DataFrame
  • Indeksowanie struktury DataFrame
  • Filtrowanie danych struktury DataFrame
  • Sortowanie danych struktury DataFrame
  • Generowanie statystyk i podsumowań
  • Zarządzanie wartościami NA
  • Implementacja operacji merge, join oraz concat
  • Grupowanie danych
  • Sposoby tworzenia struktury Series
  • Omówienie funkcji do zarządzania strukturą Series
  • Indeksowanie struktury Series
  • Sposoby tworzenia struktury Index
  • Omówienie funkcji do zarządzania strukturą Index
  • Mechanizm chained indexing
  • Wprowadzenie do biblioteki Matplotlib
  • Line plot
  • Bar chart
  • Pie chart
  • Histogram
  • Scatter plot
  • Subplot
  • Inne przykłady wykresów
  • Animacje
  • Zarządzanie opisem, wyglądem oraz danymi wykresów
  • Przegląd innych możliwości biblioteki Matplotlib
  • Tworzenie zaawansowanych wykresów z użyciem biblioteki Seaborn
  • Przetwarzanie danych pozyskiwanych w dziedzinie finansów
  • Końcowe przygotowanie danych na potrzeby przyszłego przetwarzania
  • Wykorzystanie przetworzonych danych na potrzeby Machine Learning
  • Zagadnienia uzupełniające
  • Omówienie architektury GIT
  • Konfiguracja i personalizacja ustawień GIT
  • Klasyfikacja repozytoriów
  • Tworzenie repozytorium lokalnego
  • Zarządzanie plikami w ramach obszarów repozytorium
  • Rozgałęzianie i scalanie
  • Przegląd wszystkich operacji GIT
  • Aplikacje i wtyczki do pracy z GIT
  • Praca ze zdalnym repozytorium
  • Dobre praktyki tworzenia repozytoriów GIT
  • GitHub Pages
  • Zagadnienia uzupełniające

Materiały video

Wstecz 1 z 9 Dalej
Wstecz 1 z 9 Dalej

Newsletter

Zapisz się na KURS i zyskaj - licencja JetBrains na 6 miesięcy za darmo!