Uczestnicy szkolenia zapoznają się z metodami tworzenia aplikacji sieciowych w języku Python. Szkolenie porusza zagadnienia związane z tworzeniem i rozwijaniem aplikacji z użyciem biblioteki standardowej oraz szkieletów aplikacyjnych (ang. framework) związanych z komunikacją sieciową.
W trakcie ćwiczeń wykorzystywane są przykłady zbliżone do rzeczywistych zastosowań i promowane są praktyki tworzenia łatwego w utrzymaniu kodu. Część warsztatowa, skłania do wyciągania refleksji ze skutków własnych decyzji. Bardzo istotne jest silne osadzenie w rzeczywistych praktykach tworzenia oprogramowania (użycie testów do walidacji prawidłowości rozwiązań, osadzenie w praktykach wytwarzania oprogramowania).
Zakres zajęć uwzględnia potrzeby branży tworzącej oprogramowanie automatyzujące działanie istniejących aplikacji oraz tworzenie serwisów Web.

Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują prezentowane techniki i narzędzia zawiązane z tematem zajęć. Na zajęciach stosowane są narzędzia o otwartym kodzie.

Zakres szkolenia

Szkolenie obejmuje:

  • teoria i praktyka tworzenia oprogramowania funkcjonującego w sieci z użyciem języka Python,
  • skalowalność aplikacji sieciowej,
  • silne i słabe strony rozwiązań architektury aplikacji sieciowej.

Wymagania

Od uczestników szkolenia wymaga się:

  • umiejętności posługiwania się wybranym środowiskiem IDE dedykowanym dla języka Python w stopniu średnio zaawansowanym,
  • ogólnej znajomości biblioteki standardowej języka Python,
  • znajomości zagadnień programowania obiektowego.

Adresaci szkolenia

Szkolenie adresowane jest do:

  • średnio zaawansowanych i zaawansowanych programistów posługujących się językiem Python,
  • architektów rozwiązań aplikacyjnych w języku Python, którzy chcą zapoznać się z mechanizmami komunikacji sieciowej udostępnianymi przez technologię.

Cel szkolenia

Głównymi celami w procesie szkoleniowym są:

  • zapoznanie się z mechanizmami programowania aplikacji sieciowych dostarczanymi w ramach biblioteki standardowej języka Python,
  • określenie silnych i słabych stron rozwiązań,
  • wstępne zapoznanie się z frameworkami ułatwiającymi tworzenie rozwiązań w aplikacjach sieciowych.

Umiejętności zdobywane podczas zajęć

Uczestnicy szkolenia po jego zakończeniu zdobędą następujące umiejętności:

  • programowania z użyciem protokołów sieciowych w języku Python,
  • podstawowego programowania zorientowanego na zdarzenia w domenie komunikacji sieciowej,
  • tworzenia testowalnego kodu w języku Python wykorzystującego komunikację sieciową.

Parametry szkolenia

Szkolenie trwa 4 dni. Szkolenie obejmuje 60% wykładu i 40% ćwiczeń.

Program szkolenia

  1. Komunikacja TCP/IP przypomnienie zagadnień
    1. Transport danych TCP/UDP
    2. Komunikacja klient-serwer
    3. Trasowanie (ang. routing)
    4. Implementacja komunikacji sieciowej w języku Python
  2. Klient i serwer w języku Python
    1. Gniazdo sieciowe (ang. socket)
    2. Komunikacja niskopoziomowa z użyciem gniazd
    3. Protokoły TCP oraz UDP w komunikacji z użyciem gniazd sieciowych
  3. System rozwiązywania nazw
    1. System rozwiązywania nazw sieciowych
    2. Bazy danych translacji nazw
    3. Zapytania i przeszukiwanie serwerów DNS
  4. Zaawansowane operacje sieciowe
    1. Połowiczne otwieranie gniazd sieciowych
    2. Czasy wygasania komunikacji
    3. Transmisja danych i kolejność bajtów
    4. Protokoły rozgłoszeniowe
    5. Obsługa IPv6
    6. Obsługa zdarzeniowa komunikacji sieciowej
  5. Serwisy Web
    1. Pobieranie danych WWW wraz z uwierzytelnianiem
    2. Przesyłanie danych na stronę serwera
    3. Obsługa błędów
    4. Obsługa rozszerzeń protokołu HTTP
  6. Parsowanie dokumentów XML i (X)HTML
    1. Mechanizmy parsowania danych DOM i SAX
    2. Transformacja danych XML
    3. XML i XML-RPC
    4. Mechanizmy zaawansowane
  7. Komunikacja email
    1. Komunikat pocztowy
    2. Protokół SMTP i POP
    3. MIME – załączniki i zagnieżdżanie
    4. Zabezpieczona komunikacja email
    5. Uwierzytelnianie w protokołach przesyłania wiadomości email
    6. Pobieranie i usuwanie danych POP
  8. Protokół IMAP
    1. IMAP – wiadomości podstawowe
    2. Obsługa IMAP z poziomu biblioteki standardowej
    3. Obsługa IMAP we frameworkach Python
  9. Obsługa serwisów usług
    1. SSH oraz usługi interaktywne
    2. SSL – obsługa infrastruktury certyfikatów
    3. FTP – operacje na danych i metadanych
    4. SQL – interfejs dostępu do danych
    5. Inne
  10. Frameworki sieciowe i usługi
    1. SocketServer
    2. SimpleXMLRPCServer
    3. Frameworki Web
    4. Python w środowisku produkcyjnym – przegląd przydatnych narzędzi i frameworków
  11. Narzędzia i bibliteki
    1. Pycap i biblioteka libpcap
    2. Dpkt
    3. Scanpy
  12. Asynchroniczna komunikacja sieciowa
    1. Wielowątkowość i wieloprocesowość
    2. Komunikacja asynchroniczna – mechanizmy biblioteki standardowej
    3. Skalowalność aplikacji funkcjonującej w sieci
    4. Wyszukiwanie „wąskich gardeł” komunikacji i ich eliminowanie
  13. Framework Twisted
    1. Przegląd biblioteki
    2. Proste operacje
    3. Aspekty zaawansowane – przegląd
  14. Tworzenie aplikacji rozproszonych
    1. Pakiet Pyro – obiekty w sieci
    2. Kolejki zadań – Celery i RabbitMQ
  15. Protokół RESTful i SOAP
    1. Protokół REST i jego obsługa w języku Python
    2. Usługi Web (WSDL i WADL)
    3. Komponenty architektury w języku Python
  16. Testowanie aplikacji sieciowych
    1. Praktyczna implementacja testów aplikacji sieciowej w języku Python
    2. Testy obciążeniowe i przeciążeniowe
    3. Testowanie aplikacji sieciowych we współczesnych metodykach wytwarzania oprogramowania

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email