Tworzenie aplikacji bazodanowych w języku Python

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
    • Wzorzec ‘Unit of Work’
  • 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

  • Tłumaczenie aplikacji

Tworzenie wersji wykonywalnej (.exe)

  • py2exe


Czas trwania szkolenia:

 

5 dni po 8 godzin

 

 

Wycena szkolenia zamkniętego

Szkolenie zamknięte jest prowadzone w siedzibie Klienta.
Klient zobowiązuje się zapewnić salę szkoleniową wyposażoną w odpowiednią liczbę stanowisk komputerowych oraz rzutnik multimedialny:

Liczebność grupy:    
Miasto: