Course Code:
pyt5
Duration:
35 hours
Prerequisites:
- An understanding of ___.
- Experience with ___.
- ___ programming experience.
Audience
- ___
- ___
- ___
Overview:
Odbiorcami szkolenia są osoby chcące od podstaw nauczyć się programować w jednym z najpopularniejszych języków programowania na świecie. Szkolenie od podstaw ale również wprowadza programowanie zaawansowanych narzędzi analizy danych oraz tworzenia interfejsów internetowych. Tematy opcjonalne są realizowane do wyboru w zależności od ilości dostępnego czasu oraz decyzji uczestników szkolenia.
Course Outline:
Wprowadzenie
- Wybór środowiska programowania (Jupyter, Visual Studio, pyCharm, IDLE, Anaconda z
- Spyder, Atom)
- Zakładanie własnego środowiska virtualnego (pracy)
- Interfejs środowiska programowania oraz dodatki wspomagające programowanie (Kite)
- Instalacja modułów poprzez pip oraz conda
- Podstawowe polecenia print, input
- Typy danych
- Operatory arytmetyczne, logiczne
- Operacje arytmetyczne
- Rola wcięć w kodzie
- Struktura aplikacji
- Instrukcje warunkowe
- Pętla iteracyjna for
- Pętla warunkowa while
- Test czy plik istnieje
- Alternatywna skłania if – operator tenarny
- Sekwencje
- Łańcuchy znaków – String
- Listy
- Krotki
- Słowniki
- Zbiory
- Typy binarne (bytes, bytearray, memoryview)
Funkcje – podstawowe zagadnienia
- Deklaracja funkcji
- Przekazywanie argumentów do funkcji
- Argumenty opcjonalne
- Dowolna liczba argumentów
- Funkcja w funkcji
- Iterator oraz generator
- Zastosowanie funkcji eval(), exec(), compile()
- Użycie dekoratora funkcji
- Użycie wrappera dla funkcji
- Funkcje partialne
- Użycie cache z funkcjami
- Użycie wyrażeń lambda
Praca z modułami
- Import modułów
- Tworzenie własnych modułów
- Zastosowanie modułów: os, sys, re, numpy
- Operacje na danych typu data i czas: time, datetime
- Rysowanie wykresów: pylab (matplotlib)
- Praca z witrynami WWW (pobieranie, analiza, wypełnianie formularzy)
- Praca z modułem openpyxl (Excel)
- Pliki
- Tryby otwierania
- Odczyt, zapis
- Tworzenie archiwum: zip, tar
- Zastosowanie modułów pickle, shelve
- Otwieranie z użyciem: numpy.genfromtxt
- Praca z formatami json i xml
- Import danych z usług Web API (format JSON) i zapis do plików oraz użycie pobranych
- danych w analizie
- Obsługa wyjątków
- Instrukcja try..except..finally
- Rodzaje wyjątków
Bazy danych
- MySQL – tworzenie połączenia (wybór)
- PostgreSQL – tworzenie połączenia (wybór)
- MS SQL Server – tworzenie połączenia (wybór)
- Wykonywanie zapytań do bazy danych
- Aktualizacja danych w bazie danych
- Wstawianie danych do baz danych
- Usuwanie danych w bazie danych
Programowanie obiektowe
- Deklaracja klas
- 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
- Implementacja dziedziczenia z jednej lub wielu klas
Podstawy programowania testów
- Testowanie funkcji
- Testowanie klasy
Programowanie aplikacji WWW z frameworkiem Django. Projekt pierwszej aplikacji (demoTemplate)
- Utworzenie aplikacji
- Omówienie wzorca MVT (Model View Template)
- Utworzenie template dla aplikacji wraz z strukturą stron html
- Utworzenie widoków (views) dla aplikacji
- Omówienie zasad działania routingu wraz z konfiguracją ustawień
- Konfiguracja ustawień plików statycznych aplikacji (skrypty, style, media, …)
- Modyfikacja zawartości stron z wykorzystaniem ogólnodostępnych szablonów
Projekt drugiej aplikacji (demoCRUD)
- Utworzenie aplikacji
- Konfiguracja ustawień pod kątem użycia systemu bazodanowego
- Wyjaśnienie i użycie mechanizmu migracji
- Praca z witryną administracyjną Django
- Projekt modelu relacyjnego (one to one, many to one, many to many)
- Konfiguracja witryny administracyjnej na potrzeby testowania modelu
- Ustawienia filtrowania danych z bazy danych w witrynie administracyjnej
- Utworzenie managera modelu
Projekt trzeciej aplikacji (demoForms)
- Utworzenie aplikacji
- Zaprojektowanie struktury bazodanowej modelu
- Przygotowanie widoków opartych na funkcjach i klasach wraz z strukturą routingu
- Wyjaśnienie zasad działania messages
- Przygotowanie logiki formularzy
- Rola csrf_token
- Utworzenie template z stronami html
- Praca z obiektami QuerySet
- Implementacja formularzy realizujących operacje CRUD (create, read, update, delete)
- Filtrowanie i modyfikacja sposobu wyświetlania danych
- Implementacja uwierzytelniania z użyciem wbudowanych szablonów Django
- Użycie dekoratorów w celu określenia uprawnień do wykonywania działań na formularzach
- Implementacja stronicowania w widoku listy
Programowanie z użyciem technik równolegle wykonywanego kodu (opcjonalnie)
- Wprowadzenie do programowania z użyciem wątków
- Wprowadzenie do programowanie z użyciem procesów
- Wprowadzenie do programowania kodu wykonywanego asynchronicznie