Powrót do katalogu
Terminy szkolenia otwartego:
  • Potwierdzone
  • Planowane
  • Sugerowane
2017-10-02 3 500 / 5 dni Zgłoś chęć udziału
2017-10-23 3 500 / 5 dni Zgłoś chęć udziału
Pobierz kartę szkolenia
Nie znalazłeś pasującego terminu?
Zaproponuj własny termin. Postaramy się uruchomić nowy specjalnie dla Ciebie.
Szukasz programu "skrojonego na miarę"?
Zapytaj o szkolenie dedykowane lub napisz nam o swoich preferencjach.
Chcesz się uczyć w trybie weekendowym?

Czekamy na kontakt od Ciebie.

Inżynieria oprogramowania > Języki programowania > Java

Szkolenie: Programowanie wysokojakościowe w Pythonie
[PYTHON03]

Wprowadzenie

Python to nowoczesny język, który od lat wpisuje się na stałe do kanonu najważniejszych języków programowania. Jest to język z rodziny wysokopoziomowych. Cechuje się dynamicznością z silnym wsparciem paradygmatów obiektowości i funkcyjności języka. Python jest językiem o szerokim spektrum zastosowań. Powstają w nim poważne systemy informatyczne, jak i proste skrypty systemowe.

Szkolenie z programowania wysokojakościowego skupia się na zrozumieniu wzorców projektowych, które występują w naturze tego języka. Jako nowoczesny język, większość wzorców projektowych została zaimplementowana bezpośrednio w samym Pythonie. Dzięki temu wiele popularnych technik znanych z innych języków nie ma bezpośredniej implementacji ponieważ leżą w naturze samego języka.

Szkolenie rozpoczyna się od usystematyzowania podstawowej wiedzy z języka Python z naciskiem na gramatykę języka, decyzje projektowe na poziomie frontendu interpretera itp. Uczestnik otrzymuje obraz szeregu decyzji, które wykształciły obecny charakter języka. Dzięki czemu rozwiązania bardziej skomplikowanych problemów stają się naturalne, a przez to oparte na logice i dedukcji.

W kolejnej części przedstawiony jest szereg zaawansowanych mechanizmów języka Python, które mają wpływ na rozwiązywanie typowych problemów. Omówienie wzorców związanych z programowaniem współbieżnym, ukazuje jak wiele istnieje rozwiązań typowego problemu, z czego decyzja wyboru większości podejmowana jest zazwyczaj niesłusznie.

Omówienie klasycznego podejścia do tematu wzorców projektowych, znanych z potocznych języków programowania, jest swoistym podsumowaniem omówionych do tej pory części szkolenia. Ukazuje naturalne rozwiązania, cechujące się wysoką jakością, ściśle związanych z naturą języka Python.

Szkolenie kończy wykład praktyczny w kwestii wytwarzania bardziej wydajnego oprogramowania w języku Python.

Cel szkolenia

Szkolenie koncentruje się na podniesieniu jakości wytwarzanego oprogramowania w języku Python. Opisuje podstawowe, jak i zaawansowane mechanizmy języka wpływające na decyzje o sposobie rozwiązania typowych problemów projektowych.

Po zakończeniu szkolenia aktywny uczestnik potrafi:

  • Posiadać wiedzę o zaawansowanych mechanizmach dostępnych w języku, które przysłużą się do lepszej jakości kodu
  • Posiadać wiedzę o wzorcach projektowych oraz ich wykorzystaniu w języku Python
  • Posiadać aktywną wiedzę o front-endzie języka
  • Zrozumieć możliwości i efektywnie wykorzystać współbieżność oferowaną przez język
  • Optymalizować i tworzyć bardziej wydajny kod
     

Adresaci szkolenia

Adresatami szkolenia są programiści, administratorzy, testerzy, administratorzy baz danych, naukowcy i wszyscy chętnie zautomatyzować pewne procesy.

Minimalne wymagania wstępne:

Dodatkowa wiedza i umiejętności, które pozwolą sprawniej pracować na szkoleniu i spojrzeć na zagadnienia szkolenia w szerszej perspektywie:

Czas i forma szkolenia

35 godzin (5 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.

Plan szkolenia

  1. Wprowadzenie
    1. Filozofia języka
    2. Usystematyzowanie wiedzy z podstaw języka
    3. Gramatyka języka
    4. Paradygmaty
    5. Częste pułapki i wyjątki
  2. Protokół iteracyjny
    1. Definicja protokołu
    2. Definiowanie iteratorów
    3. Generatory
  3. Zaawansowane mechanizmy w Pythonie
    1. Closures
    2. Deskryptory
    3. Dekoratory
    4. Metaklasy
  4. Interfejsy i przetwarzanie współbieżne
    1. Programowanie wielowątkowe
    2. Global Interpreter Lock
    3. Filtry i potoki
    4. Coroutines
    5. Multimethods
  5. Wzorce projektowe
    1. Wstęp
    2. Wzorce konstrukcyjne
    3. Wzorce strukturalne
    4. Wzorce behawioralne
    5. Antywzorce
  6. Optymalizacja
    1. Optymalizacja kontenerów
    2. Profilowanie i bottlenecks
    3. Wprowadzenie do PyPy

Opinie uczestników