Opis kursu
- Płacisz za jeden miesiąc nauki.
- Uczysz się tak długo, jak potrzebujesz.
- Pełne wsparcie na każdym etapie nauki.
- Pytasz o wszystko, tyle razy, ile potrzebujesz i wtedy, kiedy chcesz. Szybko otrzymasz odpowiedź.
- Spotkania 1:1 online + nagranie ze spotkania.
- Plan nauki dopasowany do Ciebie.
- Dużo zadań i projektów praktycznych.
- Stały feedback na Twój kod i strukturę projektów.
- Uczysz się w swoim tempie.
- Motywuję Cię do pracy i dbam o Twoje postępy.
- Portfolio w kilka miesięcy.
- Szukasz pracy w trakcie kursu.
- Otrzymasz certyfikat ukończenia kursu.
PROMOCJA – pierwsze spotkanie GRATIS
Już teraz
zapisz się na kurs
- Python Data Science
Plan kursu
Znasz już język Python? Świetnie – możesz od razu przejść do nauki zagadnień z tego kursu. Dopiero zaczynasz? Nie ma problemu! Uczysz się języka Python razem ze mną – od podstaw – i równolegle realizujesz wybrane tematy z kursu Python Data Science. Sprawdź mój kurs Python Dzięki niemu od razu przerobisz kluczowe zagadnienia z analizy danych, a potem płynnie uzupełnisz je o pozostałe treści z tego kursu. W praktyce oznacza to, że uczysz się jednocześnie z dwóch kursów, a wszystko z moją pomocą krok po kroku. To praktyczna ścieżka, która szybciej zaprowadzi Cię do kariery w IT.
- Omówienie podstawowych zagadnień z zakresu Data Science
- Przegląd i porównanie środowisk programistycznych
- Konfiguracja środowiska Google Colab
- Konfiguracja środowiska GitHub Codespaces
- Konfiguracja środowiska Anaconda
- Praca z managerem pakietów conda.
- Implementacja skryptów w Jupyter Notebook
W tej sekcji poznasz bibliotekę NumPy, która służy do realizowania wydajnych obliczeń numerycznych i operacji na tablicach / macierzach. Jest to podstawowa biblioteka, którą programista Python wykorzystuje w Data Science. Na niej opiera się kolejna biblioteka Pandas, którą poznasz w następnej sekcji. Zacznij od NumPy, a potem ucz się się dalej Pandas. W tej sekcji napiszesz kilkadziesiąt programów i rozwiążesz kilkadziesiąt zadań teoretycznych, które wspólnie przeanalizujemy.
- Konfiguracja aplikacji w Python do pracy z NumPy
- Prezentacja właściwości obiektu tablicowego ndarray
- Pobieranie danych z zasobów zewnętrznych
- Wektoryzacja
- Indeksowanie i przechwytywanie części
- Przegląd operacji tablicowych
- Funkcje uniwersalne
- Tworzenie własnych funkcji uniwersalnych
- Metody matematyczne i statystyczne
- Tablice i operacje na plikach
- Algebra liniowa
- Rozgłaszanie
- Zarządzanie wymiarami tablic
- Łączenie i dzielenie tablic
- Przegląd innych zaawansowanych możliwości zarządzania obiektem tablicowym.
- Tablice o złożonej strukturze
- Pakiet Numba
- Wspólne rozwiązywanie oraz analiza zadań teoretycznych i praktycznych
- Wspólna realizacja krok po kroku projektów aplikacji wykorzystujących NumPy
W tej sekcji poznasz bibliotekę Pandas, która ułatwia analizę i manipulację danymi w postaci tabel. Opiera się na NumPy, dlatego w pierwszej kolejności naucz się NumPy. Jest to podstawowa biblioteka, którą programista Python wykorzystuje w Data Science. W tej sekcji napiszesz kilkadziesiąt programów i rozwiążesz kilkadziesiąt zadań teoretycznych, które wspólnie przeanalizujemy.
- Konfiguracja aplikacji w Python do pracy w Data Science
- Obiekt Series
- Obiekt DataFrame
- Obiekty index
- Pobieranie danych z zasobów zewnętrznych do obiektów pandas
- Zapisywanie danych z obiektów pandas do zasobów zewnętrznych
- Zarządzanie indeksami i osiami
- Filtrowanie
- Działania arytmetyczne
- Wyrównywanie danych
- Sortowanie
- Tworzenie rankingów
- Zarządzanie zduplikowanymi etykietami
- Zarządzanie łańcuchami napisów oraz danymi liczbowymi
- Generowanie podsumowań i statystyk opisowych
- Współczynnik korelacji
- Kowariancja
- Zarządzania wartościami unikalnymi
- Obsługa brakujących danych
- Zastępowanie wartości
- Zmiana nazw indeksów osi
- Dyskretyzacja
- Wykrywanie i eliminowanie elementów odstających
- Permutacje i próbkowanie losowe
- Wskaźniki i zmienne zastępcze
- Indeksowanie hierarchiczne
- Łączenie zbiorów danych
- Zmiana kształtu i operacje na osiach
- Grupowanie
- Agregacja danych i operacje wykonywane na grupach
- Praca z szeregami czasowymi
- Zarządzanie danymi kategorycznymi
- Pandas i biblioteki modelujące
- Wspólne rozwiązywanie oraz analiza zadań teoretycznych i praktycznych
- Wspólna realizacja krok po kroku projektów aplikacji wykorzystujących Pandas
W tej sekcji poznasz narzędzia do wizualizacji danych. Zagadnienia z tego modułu są wykorzystywane w zadaniach praktycznych i projektach, w których wykorzystujesz NumPy oraz Pandas.
- Konfiguracja aplikacji w Python do pracy z pakietem matplotlib
- Obiekt figure i wykresy składowe
- Przegląd i praktyczne przykłady wykorzystania wszystkich rodzajów wykresów
- Zarządzanie kolorami, oznaczeniami, stylami linii na wykresie
- Zarządzanie punktami, etykietami, legendami na wykresie
- Zarządzania adnotacjami i grafiką osadzoną na wykresie
- Zapisywanie wykresów do plików zewnętrznych
- Wykorzystanie pakietu pandas do generowania wykresów
- Wykorzystanie pakietu seaborn do generowania wykresów
- Animacje
- Przegląd innych możliwości w zakresie wizualizacji danych
- Przygotowanie i analiza wykresów pod kątem pozyskiwania istotnych informacji
Graficzny interfejs użytkownika oparty na bibliotece Streamlit będzie wykorzystywany wszędzie tam, gdzie potrzebne jest szybkie utworzenie webowego UI w aplikacji Python. Streamlit pozwala na błyskawiczne tworzenie interfejsów bez konieczności zagłębiania się w złożoności frameworków webowych, takich jak Flask.
- Konfiguracja aplikacji w Python do pracy z biblioteką Streamlit (również z wykorzystaniem Docker)
- Omówienie cyklu życia aplikacji Streamlit
- Zarządzanie ustawieniami aplikacji opartej o bibliotekę Streamlit
- Podstawowe elementy graficznego interfejsu użytkownika: menu, formularze, tabele, wykresy i inne
- Przykładowa aplikacja praktyczna typu single page, wykorzystująca różne elementy interfejsu użytkownika
- Przykładowa aplikacja praktyczna typu multi page, wykorzystująca różne elementy interfejsu użytkownika
- Przegląd wszystkich dostępnych elementów Streamlit do tworzenia graficznego interfejsu użytkownika
- Zarządzanie stanem aplikacji (cache danych i zasobów, stan sesji)
- Przygotowanie graficznego interfejsu użytkownika dla przykładowej warstwy repozytoryjnej ORM (SqlAlchemy)
- Testowanie warstwy graficznego interfejsu użytkownika napisanej w Streamlit
- Statyczna analiza kodu warstwy graficznego interfejsu użytkownika napisanej w Streamlit
- Osadzanie aplikacji Streamlit w chmurze
W tej sekcji poznasz sposoby pozyskiwania danych z plików w różnych formatach. Nauczysz się pisać moduły wielokrotnego użytku, które będziesz mógł wykorzystać w Twoich projektach do portfolio.
- Konfiguracja aplikacji do pracy z plikami w różnych formatach danych
- Zarządzanie katalogami oraz plikami w systemie operacyjnym
- Pozyskiwanie danych z plików w formatach takich jak txt, csv, json, xml, yml
- Zarządzanie danymi w arkuszu kalkulacyjnym (Microsoft Excel)
- Implementacja testów i statyczna analiza kodu napisanego w tej sekcji
- Wykorzystanie zaimplementowanych rozwiązań w projektach do portfolio
W tej sekcji wprowadzimy bardzo ważny element, jakim są bazy danych. Dzięki temu zyskasz nieograniczone możliwości przechowywania i zarządzania danymi. Nauczymy się zagadnień związanych z bazami danych i językiem SQL. Rozwiążesz zadania praktyczne i teoretyczne, które wspólnie przeanalizujemy.
- Teoria relacyjnych baz danych
- Konfiguracja środowiska bazodanowego bezpośrednio na OS oraz z wykorzystaniem Docker
- Język SQL
- Zarządzanie serwerem oraz użytkownikami bazy danych
- Zmienne globalne, lokalne, sesji
- Tworzenie i zarządzanie tabelami w bazie danych
- Typy danych w bazie danych
- Operacje CRUD
- Łączenie danych z tabel (join, subqueries)
- Grupowanie danych i funkcje agregujące
- Ograniczenia dla tabel (constraints)
- Relacje one-to-one, many-to-one, many-to-many
- Transakcje
- Widoki
- Indeksy
- Funkcje analizy okna
- Dane geoprzestrzenne
- Wyszukiwanie pełnotekstowe
- Funkcje definiowane przez użytkownika
- CTE (Common Table Expressions)
- Tabele tymczasowe
- Triggers
- Wizualizacja danych pobranych z bazy danych
W tej sekcji piszemy w Python warstwę do komunikacji z bazami danych. Zadbamy o jej przetestowanie i przeprowadzimy statyczną analizę typów. Dzięki temu do nowych aplikacji oraz do tych, które już masz w portfolio, możesz dodać możliwości, związane z przechowywaniem i zarządzaniem danymi za pomocą baz danych.
- Przygotowanie aplikacji w Python do realizacji komunikacji bazodanowej
- Implementacja warstwy komunikacji aplikacji w Python z kontenerem bazy danych
- Implementacja operacji CRUD i innych operacji do zarządzania danymi w bazie danych
- 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
- Implementacja generycznego repozytorium bazodanowego
- Testowanie generycznego repozytorium bazodanowego
W tej sekcji napiszemy projekty, które wykorzystają warstwę do komunikacji z bazą danych. Do projektów, które już masz w portfolio dodamy możliwości, związane z komunikacja z bazami danych. Twoje aplikacje zyskają nowe możliwości pod kątem gromadzenia i przetwarzania danych. Dla każdego projektu przejdziemy przez kolejne kroki:
- Omówienie założeń projektów, projekt realizujemy razem krok po kroku
- Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
- Przygotowanie środowiska wirtualnego do testowania aplikacji
- Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
- Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych
- Analiza i optymalizacja zapytań SQL
- Walidacja i konwersja pozyskanych danych
- Przygotowanie struktury danych do realizacji założeń logiki biznesowej
- Implementacja i testowanie warstwy serwisowej aplikacji
- Utrzymanie wysokiego procentowego pokrycia kodu testami
- Statyczna analiza kodu i zastosowanych typów
- Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
- Implementacja graficznego interfejsu użytkownika
- Umieszczenie projektu w publicznym repozytorium i przygotowanie dokumentacji
W tej sekcji poznasz kolejne podejście do zarządzania bazami danych. Nauczysz się ORM w oparciu o popularny framework komercyjny SqlAlchemy. Dodatkowo zaczniesz zarządzać w profesjonalny sposób schematem tabel w bazie danych za pomocą narzędzia Alembic. Wejdziesz na wyższy poziom pisania aplikacji bazodanowych.
- Omówienie koncepcji ORM
- Przygotowanie aplikacji w Python do komunikacji bazodanowej z wykorzystaniem ORM, SqlAlchemy, Alembic
- Dwa sposoby pracy w SqlAlchemy, Core, ORM
- Implementacja warstwy komunikacji aplikacji w Python z kontenerem bazy danych (Docker + MySQL)
- Różne sposoby tworzenia klasy reprezentującej model tabeli w bazie danych
- Zarządzanie klasą reprezentującą model tabeli w SqlAlchemy
- Implementacja operacji CRUD i innych operacji do zarządzania danymi w bazie danych
- Zarządzanie danymi otrzymanymi w wyniku zapytań
- Konfiguracja i zarządzanie relacjami bazodanowymi
- Optymalizacja zapytań SQL poprzez stosowanie mechanizmów ORM w SQLAlchemy
- Optimistic, pessimistic locking w SqlAlchemy
- Mechanizmy back populates oraz backref
- Mapowanie kontenerów obiektów innych niż encje
- Mapowanie dziedziczenia
- Bulk insert, bulk update
- Pobieranie dużych ilości rekordów
- Events
- Pooling
- Zarządzanie savepoints
- Two phase commit
- Zarządzanie isolation levels
- Implementacja cache w SqlAlchemy
- Zarządzanie migracjami z wykorzystaniem narzędzia Alembic
- Implementacja generycznego repozytorium bazodanowego z wykorzystaniem mechanizmów ORM
- Wykorzystanie asynchroniczności w SqlAlchemy
- Implementacja generycznego repozytorium bazodanowego z wykorzystaniem mechanizmów ORM w wersji asynchronicznej
- Testowanie generycznego repozytorium bazodanowego w wersji synchronicznej i asynchronicznej za pomocą Testcontainers
- Testowanie generycznego repozytorium bazodanowego w wersji synchronicznej i asynchronicznej z użyciem własnego kontenera
W tej sekcji użyjesz ORM / SqlAlchemy oraz Alembic w projektach do portfolio. Dzięki temu Twoje aplikacje zaczną wykorzystywać profesjonalny komercyjny framework. Dzięki wiedzy zdobytej w poprzedniej sekcji, wykorzystasz w projektach cały potencjał SqlAlchemy. Dla każdego projektu przejdziemy przez kolejne kroki:
- Omówienie założeń projektu, projekt realizujemy razem krok po kroku
- Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
- Przygotowanie środowiska wirtualnego do testowania aplikacji i podejścia TDD
- Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
- Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych – SqlAlchemy, ORM
- Analiza i optymalizacja zapytań SQL, korzystając z mechanizmów ORM
- Walidacja i konwersja pozyskanych danych
- Przygotowanie struktury danych do realizacji założeń logiki biznesowej
- Implementacja i testowanie warstwy serwisowej aplikacji
- Utrzymanie wysokiego procentowego pokrycia kodu testami
- Statyczna analiza kodu i zastosowanych typów
- Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
- Implementacja graficznego interfejsu użytkownika
- Umieszczenie projektu w publicznym repozytorium GitHub i przygotowanie dokumentacji
W tej sekcji nauczysz się, w jaki sposób realizować komunikację bazodanową NoSQL z wykorzystaniem MongoDB. Wykorzystasz rozwiązania, znajdujące się w standardowej bibliotece Python, jak również bibliotekę MongoEngine.
- Konfiguracja środowiska bazodanowego
- Szczegółowe omówienie zasad języka NoSQL
- Przygotowanie aplikacji w Python do realizacji komunikacji bazodanowej
- Implementacja komunikacji aplikacji w Python z kontenerem bazy danych
- 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ń
- Implementacja repozytorium bazodanowego
- Testowanie repozytorium bazodanowego
W tej sekcji użyjesz NoSQL w projektach do portfolio. Dzięki temu Twoje aplikacje zaczną wykorzystywać możliwości nierelacyjnych baz danych. Dla każdego projektu przejdziemy przez kolejne kroki:
- Omówienie założeń projektu, projekt realizujemy razem krok po kroku
- Przygotowanie środowiska wirtualnego, instalacja potrzebnych bibliotek, przygotowanie kontenera bazy danych
- Przygotowanie środowiska wirtualnego do testowania aplikacji i podejścia TDD
- Ustalenie modelu danych dla warstwy bazodanowej oraz logiki biznesowej aplikacji
- Implementacja i testowanie generycznej warstwy do komunikacji z bazą danych NoSQL
- Analiza i optymalizacja zapytań do bazy NoSQL
- Walidacja i konwersja pozyskanych danych
- Przygotowanie struktury danych do realizacji założeń logiki biznesowej
- Implementacja i testowanie warstwy serwisowej aplikacji
- Utrzymanie wysokiego procentowego pokrycia kodu testami
- Statyczna analiza kodu i zastosowanych typów
- Raportowanie i zapisywanie do bazy danych wyników przetwarzania danych
- Implementacja graficznego interfejsu użytkownika za pomocą biblioteki Streamlit
- Umieszczenie projektu w publicznym repozytorium GitHub i przygotowanie dokumentacji
- Omówienie założeń kolejnych projektów praktycznych i wspólna realizacja projektów krok po kroku
W tej sekcji nauczysz się RabbitMQ i przygotujesz asynchroniczną aplikację webową w architekturze mikroserwisowej z wykorzystaniem RabbitMQ do komunikacji pomiędzy mikroserwisami.
- Omówienie architektury RabbitMQ
- Omówienie komend CLI RabbitMQ
- Zaawansowana konfiguracja RabbitMQ
- Przygotowanie kontenera z klastrami danych wykorzystującymi RabbitMQ
- Przygotowanie aplikacji w Python do realizacji komunikacji z RabbitMQ
- Implementacja repozytorium Python do komunikacji i zarządzania danymi z RabbitMQ
W tej sekcji nauczysz się Apache Kafka i przygotujesz asynchroniczną aplikację webową w architekturze mikroserwisowej z wykorzystaniem Apache Kafka do komunikacji pomiędzy mikroserwisami.
- Omówienie architektury Apache Kafka
- Omówienie komend CLI Apache Kafka
- Zaawansowana konfiguracja Apache Kafka
- Przygotowanie kontenera z klastrami danych wykorzystującymi Apache Kafka
- Przygotowanie aplikacji w Python do realizacji komunikacji z Apache Kafka
- Implementacja repozytorium Python do komunikacji i zarządzania danymi z Apache Kafka
- Implementacja repozytorium Python do komunikacji i zarządzania danymi z Apache Kafka w formacie Avro
W tej sekcji poznasz Azure Databricks, Apache Spark oraz PySpark, z których będziesz korzystać w środowisku Microsoft Azure. Dowiesz się, jak wykorzystać możliwości tej popularnej chmury w kontekście zarządzania danymi typu big data.
- Konfiguracja i wprowadzenie do Apache Spark, PySpark, Azure Databricks
- Klastry Azure Databricks
- Praca z Azure Databricks Notebooks
- Konfiguracja, komunikacja i zarządzanie danymi z Azure Data Lake
- Konfiguracja i wprowadzenie do PySpark
- Pobieranie danych z plików przechowujących dane w różnych formatach
- Databricks workflows
- Zarządzanie danymi z wykorzystaniem PySpark
- Wykorzystanie SQL w PySpark
- Azure Data Factory
- Unity Catalog
Materiały video
-

Buduję Asystenta AI, który zna moją firmę 🤖 | FastAPI, FAISS, LLM, RAG (Część 3)
-

Buduję Asystenta AI, który zna moją firmę 🤖 | FastAPI, FAISS, LLM, RAG (Część 2)
-

Buduję Asystenta AI, który zna moją firmę 🤖 | FastAPI, FAISS, LLM, RAG (Część 1)
-

Jak stworzyć API, które ogarnia Twoje maile – FastAPI + OpenAI krok po kroku. Część 2
-

Jak stworzyć API, które ogarnia Twoje maile – FastAPI + OpenAI krok po kroku. Część 1
-

FastAPI - 5 powodów, dla których już nigdy nie wrócisz do innego frameworka. Część 2












