Cena Netto:
3 200.00 PLN
Brutto: 3 936.00 PLN
Nadchodzące szkolenia:
Katowice
17.12.2018-19.12.2018

Gdańsk
17.12.2018-19.12.2018

Generuj PDF

Zapisz się

Opis

Umiejętności zdobywane podczas kursu: 

  • Umiejętność implementowania zaawansowanej obsługi wielowątkowości 
  • Umiejętność przetwarzania i transformowania danych XML i JSON
  • Umiejętność integracji z bazami danych oraz optymalizacji wydajności i profilowania programu  oraz testowania aplikacji

Cel

  • Zapoznanie się z zaawansowaną konstrukcją języka Python
  • Opanowanie umiejętności implementowania zaawansowanej wielowątkowości w kontekście obsługi wywołań sieciowych
  • Znajomość zagadnień związanych z integracją z bazami danych oraz optymalizacją wydajności i profilowaniem programu
  • Wprowadzenie do popularnych bibliotek [IPython, Requests, Scrapy, BeautifulSoup, PIL / Pillow, NumPy, SciPy, matplotlib]

Grupa docelowa:

Kurs jest przeznaczony dla średnio zaawansowanych programistów programujących w języku Python. W istotnym stopniu poszerza on ich wiedzę dotyczącą programowania wielowątkowego oraz mechanizmów wewnętrznych języka. Wiedza i wykształcone w trakcie zajęć umiejętności, pozwalają na wydajniejsze i pozbawione typowych błędów programowanie w tym języku. Zajęcia poruszają także zagadnienia bezpośrednio związane ze współczesnymi metodykami wytwórczymi oprogramowania.

Uwagi:

Szkolenie trwa: 3 dni.
Oferujemy szkolenia w naszych ośrodkach w Warszawie, Wrocławiu, Krakowie, jak i w lokalizacjach wskazanych przez klienta. 
W celu ustalenia szczegółów prosimy o kontakt na osec@osec.pl

Wymagania:

  • Znajomość programowania w języku Python na poziomie średnio zaawansowanym
  • Umiejętność pracy w środowisku systemu operacyjnego Microsoft Windows lub GNU/Linux
  • Znajomość podstaw zagadnień dotyczących programowania obiektowego i diagramów UML
  • Umiejętność programowania okazjonalnego i prostej obróbki i weryfikacji danych

Konspekt

  1. Zaawansowane konstrukcje języka
    • Dekoratory
    • Metaklasy
    • Desksryptory
    • Rozszerzanie typów wbudowanych 
  2. Izolowanie środowiska pracy
    • Virtualenv
    • Virtualenvwrapper 
  3. Internacjonalizacja i standard Unicode
    • Obsługa Unicode w języku Python
    • Wielojęzyczność aplikacji i jej implementacja 
  4. Programowanie wielowątkowe
    • Zaawansowane możliwości szeregowania zadań w interpreterze Python
    • Implementacja wielowątkowości
    • Tworzenie i obsługa wątków
    • Blokady, semafory, zmienne decyzyjne
    • Praca z pulą wątków
    • Diagnostyka i usuwanie błędów w aplikacjach wielowątkowych Python 
  5. XML i JSON
    • DOM i jego obsługa w języku Python
    • Wprowadzenie do ElementTree
    • Poruszanie się po dokumencie XML
    • Tworzenie nowego dokumentu XML
    • JSON
    • Obsługa JSONa w Pythonie
    • Konwertowanie Pythona do JSONa 
  6. Integracja z bazami danych
    • MySQL
    • PostgreSQL
    • Oracel
    • MongoDB
    • Mapowanie obiektowo­relacyjne (ORM) 
  7. Testowanie aplikacji
    • testy jednostkowe
    • moduł unittest
    • py.test i inne popularne biblioteki testujące
    • test­driven development.
  8. Optymalizacja wydajności i profilowanie programu
    • Profilowanie przykładowego projektu aplikacji
    • Identyfikacja „wąskich gardeł” 
  9. Kierunki rozwoju języka i Python 3.x
    • Nowości dostępne w wersji 3.x
    • Zmiany składni wywołań
    • Konwersja istniejących aplikacji do nowej wersji interpretera 
  10. Wprowadzenie do popularnych bibliotek
    • IPython
    • Requests
    • Scrapy
    • BeautifulSoup
    • PIL / Pillow
    • NumPy
    • SciPy
    • matplotlib 
  11. Framework Django i jego zastosowanie (moduł opcjonalny)
    • Tworzenie i konfiguracja projektu i aplikacji
    • Modele – interakcja z bazą danych
    • Operowanie na danych – ORM
    • Automatyczny interfejs administracyjny – omówienie
    • Widoki
    • Szablony
    • Mapowanie odnośników 
  12. Tworzenie interfejsu użytkownika z zastosowaniem PyQt/PySide  (moduł opcjonalny)
    • Podstawowe widgety Qt
    • Obsługa zdarzeń: slots & signals
    • Tworzenie okien dialogowych
    • Okno główne aplikacji
    • Używanie QtDesigner
    • Zasoby
    • Widgety wykorzystujące Model/View/Controller
    • Współpraca z bazami danych