Opis szkolenia:
Kurs przeznaczony jest dla programistów pragnących tworzyć aplikacje bazodanowe wykorzystując siłę i elastyczność nowoczesnych bibliotek oraz języków programowania. Na szkoleniu omawiane są biblioteki SQLAlchemy będąca narzędziem ORM (Object/Relational Mapping) oraz biblioteka PyQt umożliwiająca tworzenie aplikacji GUI. Od uczestnika wymagana jest znajomość podstaw programowania w języku Python oraz zagadnień związanych z bazami danych.
Plan szkolenia:
Wprowadzenie do SQLAlchemy
- Object/Relational Mapping (ORM) - omówienie
- Zalety systemów ORM
- Niezgodności pomiędzy podejściami: obiektowym i relacyjnym
- Filozofia i architektura SQLAlchemy
- Instalacja wymaganych narzędzi: Python, SQLAlchemy/Elixir, Eclipse/PyDev
SQLAlchemy - wyrażenia SQL
- Definiowanie i tworzenie tabel
- Modyfikowanie zawartości bazy danych (dodawanie/modyfikacja/usuwanie)
- Budowanie zapytań pobierających dane
- Operatory is null, and, or, between... and...
- Używanie aliasów, złączeń join i operacji union
- Stosowanie funkcji agregujących
- Używanie podzapytań
- Mapowanie Obiektowo-Relacyjne
- Mapowanie kolumn
- Opóźnione ładowanie
- Prosta walidacja
- Mapowanie hierarchii dziedziczeń
- Użycie wielu tablic
- Użycie pojedynczej tablicy
- Użycie dedykowanych tablic
- Mapowanie relacji
- Podstawowe wzorce
- One To Many
- Many To One
- One To One
- Many To Many (także z atrybutami)
- Mapowanie hierarchicznych danych
- Strategie ładowania: Lazy vs Eager
Obiekt sesji
- Pojęcie sesji
- Tworzenie, używanie obiektu sesji
- Zarządzanie transakcjami
- Kontekstowe sesje
- Wzorzec ‘Thread-Local’
Database engines
- Wspierane bazy danych
- Opcje obiektu Database Engine
- Konfiguracja logowania
Metadane
- Opis struktury bazy danych przy użyciu Metadanych
- Tworzenie i usuwanie tablic bazodanowych
- Domyślne wartości dla kolumn
- Definiowanie więzów integralności oraz indexów
Deklaratywne opisywanie modelu - Elixir
- Definiowanie atrybutów
- Definiowanie relacji
- Mapowanie hierarchii dziedziczeń
- Budowanie zapytań
Wprowadzenie do pyQt
- Instalacja pyQt SDK
- Qt Creator - omówienie
- Podstawowe typy danych w Qt
- Mechanizm sygnałów i slotów
- Meta obiekty
Tworzenie aplikacji GUI
- Tworzenie okien dialogowych z wykorzystaniem Designer-a
- Widgety
- Zarządzanie layoutami
- Główne okno aplikacji
- Menu, paski narzędzi i paski statusu
- Aplikacje SDI i MDI
- Obsługa zdarzeń
- Widgety oparte o wzorzec Model-View-Controller
- Integracja z SQLAlchemy
- Mechanizm Drag & Drop
Programowanie współbieżne - wątki
- Tworzenie wątków
- Synchronizacja wątków
- Komunikacja z wątkiem głównym
- Wątki a elemeny interfejsu użytkowanika w pyQt
Programowanie sieciowe
- Tworzenie klientów FTP
- Tworzenie aplikacji TCP typu Klient - Serwer
- Wysyłanie i otrzymywanie datagramów UDP
Internacjonalizacja aplikacji
Tworzenie wersji wykonywalnej (.exe)
Czas trwania szkolenia:
5 dni po 8 godzin