Programowanie sieciowe w języku Python

LICZBA DNI: 4 (32h)

KOD KURSU: PYTHON/NET

Powiadom
o kolejnych terminach

# networking

O szkoleniu

DLA KOGO?

Średnio zaawansowani i zaawansowani programiści posługujący się językiem Python

Architekci rozwiązań aplikacyjnych w języku Python, którzy chcą zapoznać się z mechanizmami komunikacji sieciowej udostępnianymi przez technologię

WYMAGANIA

Umiejętność posługiwania się wybranym środowiskiem IDE dedykowanym dla języka Python w stopniu średnio zaawansowanym

Ogólna znajomośś biblioteki standardowej języka Python

Znajomość zagadnień programowania obiektowego

ZALETY

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

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

Cele szkolenia

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

Program

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

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.