Programowanie sieciowe w języku Python
LICZBA DNI: 4 (32h)
KOD KURSU: PYTHON/NET
O szkoleniu
DLA KOGO?
Programiści
Architekci rozwiązań aplikacyjnych
WYMAGANIA
Umiejętność programowania w języku Python oraz znajomości podstawowych struktur danych
Znajomość koncepcji programowania obiektowego
Umiejętność posługiwania się wybranym środowiskiem IDE, dedykowanym dla języka Python
Ogólna znajomość biblioteki standardowej dla języka Python
ZALETY
Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują prezentowane techniki i narzędzia
Na zajęciach stosowane są otwarte rozwiązania
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
Cele szkolenia
Zapoznanie się z mechanizmami programowania aplikacji sieciowych, dostarczanymi w ramach biblioteki standardowej języka Python
Pokazanie silnych i słabych stron popularnych rozwiązań
Wstępne zapoznanie się z frameworkami ułatwiającymi tworzenie rozwiązań w aplikacjach sieciowych
Program
System Operacyjny
- Argumenty linii poleceń
- Uruchamianie poleceń powłoki
- Praca ze ścieżkami
- Interfejsy sieciowe
- Trasowanie (ang. routing)
Sieć
- Komunikacja TCP/IP
- Transport danych TCP/UDP
- Protokoły IPv4 i IPv6
- Komunikacja klient-serwer
- Komunikacja synchroniczna i asynchroniczna
- Gniazdo sieciowe (ang. socket)
- Socketserver w bibliotece standardowej
- SMTP, SMTPS - Wysyłanie wiadomości email
- POP3 - Odbieranie wiadomości email
- IMAP - Odbieranie wiadomości email
- Mimetype
- Szyfrowanie
Protokoły sieciowe
- DNS, DNSSec - System rozwiązywania nazw sieciowych
- SSH - zdalne wykonywanie poleceń
- FTP, FTPS - operacje na danych i metadanych
- LDAP, LDAPS- Obsługa zapytań protokołu
- ICMP - ping
Bezpieczeństwo
- Pycap i biblioteka libpcap
- Dpkt
- Scapy
- SSL i TLS
Serializacja
- JSON
- XML
- Pickle
- CSV
Testowanie aplikacji sieciowych
- 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
