Trwają zapisy do grupy

Python optymalizacja, refactoring i tuning wydajności

Uczestnicy szkolenia zapoznają się z tematyką optymalizacji, refactoringu kodu, a także tuningu wydajnościowego. Zostaną omówione tematy związane z manualną i automatyczną identyfikacją wąskich gardeł w kodzie, a także o możliwości zastosowania współbieżności w celu przyspieszenia wykonywania algorytmów.

1150 PLN+23% VAT (1414 PLN brutto / 1 os.)

Czas trwania szkolenia:1 dni (8h)

Poziom zaawansowania:

Kod kursu:PYTHON/OPT

pythonperformanceoptymalizacja

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

19 lipca
Termin gwarantowanyTrwają zapisy na szkolenie

Trener:

Matt Harasymczuk

Cena:

1150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

6 grudnia
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

1150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

10 stycznia
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

1150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Dostępne terminy

Interesują Cię inne terminy?

Python optymalizacja, refactoring i tuning wydajności

Cele szkolenia

  • Poznanie procesu optymalizacji kodu
  • Identyfikacja wąskich gardeł w kodzie
  • Poznanie procesu i technik refaktoringu
  • Poznanie procesu i technik tuningu wydajnościowego
  • Wprowadzenie do tematyki współbieżności

Dla kogo?

  • Inżynierów oporgramowania i programistów
  • Inżynierów jakości i testerów
  • Inżynierów wydajności

Zalety

  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

Wymagania

  • Umiejętność wytwarzania oprogramowania w języku Python
  • Znajomość obiektowego paradygmatu wytwarzania oprogrogramowania
  • Umiejętność biegłego posługiwania się komputerem
  • Umiejętność korzystania z konsoli systemu operacyjnego
  • Znajomość podstawowych koncepcji związanych z infrastrukturą
  • Wiedza o procesach obejmujących wytwarzanie oprogramowania
  • Uczestnictwo w co najmniej jednym projekcie związanym z wytwarzaniem oprogramowania

W cenie otrzymasz:

  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia
  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program

Pobierz program w PDF

Wprowadzenie

  • Python 3.11, Python 3.12 i projekt Faster CPython
  • Alternatywne wersje kompilatora/interpretera
  • Type Annotation
  • Kompilacja kodu Python do C shared objects (mypyc, cython, cmodules)

Rodzaje testów na przykładach

  • Analiza statyczna
  • Obciążeniowe

Refaktoring

  • Środowisko IDE (PyCharm) i jego możliwości
  • Podstawowe opcje refactoringowe
  • Zaawansowane opcje refactoringowe
  • Refactoring w środowiku bez testów
  • Praca z legacy code
  • Refactoring cudzego kodu
  • Dobre praktyki
  • Proces Code Review

Optymalizacja

  • Pojęcia złożoności kodu (pamięciowa, obliczeniowa, cyklomatyczna, kognitywna)
  • Definicja długu technicznego
  • Ręczna identyfikacja złożonego kodu
  • Automatyczna identyfikacja złożonego kodu
  • Silosy kompetencyjne vs. Collective code ownership
  • Pojęcie emerging architecture

Tuning wydajnościowy

  • Techniki pomiaru wydajności kodu
  • Microbenchmarking i jego pułapki
  • Profiling kodu i wizualizacja wyników
  • Identyfikacja wąskich gardeł
  • Testy obciążeniowe
  • Automatyzacja testów wydajnościowych w procesie CI/CD

Wprowadzenie do współbieżności

  • GIL - Global Interpreter Lock
  • Programowanie wieloprocesowe
  • Programowanie wielowątkowe
  • Programowanie asynchroniczne

Autorem szkolenia jest Matt Harasymczuk

Programuję od końca lat 90 ubiegłego wieku, a od 2005 roku zawodowo związany jestem z branżą inżynierii oprogramowania. Pracowałem w Allegro, Centralnym Ośrodku Informatyki, Polskiej Agencji Żeglugi Powietrznej oraz w Europejskiej Agencji Kosmicznej. Prowadzę dwie firmy z branży kosmicznej oraz IT: Astro Tech and Bioastronautics i Analog Astronaut Training Center. Ukończyłem studia z zakresu informatyki a także lotnictwa i kosmonautyki. Otrzymałem Medal Kopernikański za stworzenie podstaw dla załogowych…

Podobne szkolenia