Cel szkolenia
Celem szkolenia jest wyjaśnienie zasad tworzenia oprogramowania w języku Python w zakresie programowania funkcyjnego i obiektowego.
Po ukończeniu szkolenia uczestnik będzie potrafił:
- Programować kod w składni obiektowej
- Programować korzystanie z magazynów danych
- Programować kod wykonywany równolegle
Wymagania wstępne
Przed szkoleniem uczestnik powinien posiadać minimum wiedzy z zakresu:
- sprawna obsługa komputera,
- korzystanie z głównych elementów systemu operacyjnego i funkcji pulpitu oraz skutecznie poruszanie się w środowisku graficznym
- podstawowe pojęcia z dziedziny baz danych
Program szkolenia
Bazy danych
- Bazy sql - MySQL lub MS SQL lub Sqlite - tworzenie połączenia
- Bazy NoSql – MongoDB
- Wykonywanie zapytań do bazy dnaych
- Aktualizacja danych w bazie danych
- Usuwanie danych w bazie danych
- Budowa i modyfikacja struktury bazy danych
Funkcje zaawansowane
- Iterator oraz generator - zagadnienia zaawansowane
- Zastosowanie funkcji eval(), exec(), compile()
- Użycie dekoratora funkcji
- Użycie cache z funkcjami
- Użycie wyrażeń lambda
Programowanie obiektowe
- Praca z podstawowymi implementacjami klas
- Deklaracje i użycie metod w klasach
- Publiczne i prywatne atrybuty klasy
- Projektowanie właściwości klas
- Metody statyczne klas - deklaracja i użycie
- Zastosowanie dekoratorów w metodach klas
- Dynamiczne tworzenie metod
- Własne operatory
- Implementacja dziedziczenia z jednej lub wielu klas
Graficzny interfejs użytkownika
- Instalacja bibliotek PyQt
- Instalacja narzędzia Designer
- Projekt interfejsu
- Programowanie widgetów
- Programowanie zdarzeń
Modelowanie ORM
- ·Wybór frameworka orm: peewee, sqlalchemy
- Programowanie operacji CRUD
- Użycie struktury bazy danych w kodzie
Podstawy programowania testów
- Testowanie funkcji
- Testowanie klasy
Programowanie z użyciem technik równolegle wykonywanego kodu
- Wprowadzenie do programowania z użyciem Thread
- Wprowadzenie do programowanie z użyciem multiprocessing
- Wprowadzenie do programowania z użyciem AsyncIO
Analiza danych (jeśli czas pozwoli)
- Biblioteka numpy i pandas
- Biblioteka matplotlib