Performance Driven Python:
Basis Kurs

Performance Driven Python:
Basis Kurs

Maximieren Sie die Effizienz Ihrer Python-Anwendung und beherrschen Sie Techniken zur Hochleistungsoptimierung.

Mit unserem von Experten geleiteten DBT-Schulungsprogramm
vermitteln wir Ihnen die neuesten Kenntnisse über moderne Anwendungsbereitstellung und -verwaltung.
Profitieren Sie von unserem reichen Erfahrungsschatz aus unzähligen Kundenprojekten:

Erleben Sie eine ausgewogene Mischung aus Theorie, Live-Demonstrationen und praktischen Übungen.

Lernen Sie, Profile von Python-Anwendungen zu erstellen, Leistungsengpässe zu erkennen und diese effektiv zu beheben.

Verstehen Sie, wie Sie Gleichzeitigkeit und asynchrone Programmierung in Python für mehr Effizienz nutzen können.

Entwickeln Sie skalierbare Systeme mit horizontaler Skalierung und optimierten Datenverarbeitungstechniken.

Performance Driven Python Training – nächste Termine

14.11. – 15.11.2024

Performance Driven Python in 2 Tagen

20.01. – 21.01.2025

Performance Driven Python in 2 Tagen

06.03. – 07.03.2025

Performance Driven Python in 2 Tagen

Dieser Kurs richtet sich an erfahrene Python-Entwickler, die fortgeschrittene Techniken zur Optimierung der Leistung ihrer Anwendungen erlernen möchten. Er ist ideal für Softwareingenieure, die die Effizienz ihrer Python-Projekte steigern wollen, insbesondere in datenintensiven oder hochverfügbaren Umgebungen. Entwickler, die sich für Nebenläufigkeit, Cython, die Integration von Rust und die Optimierung von Python für Produktionsumgebungen interessieren, werden in diesem Kurs wertvolle Werkzeuge und Erkenntnisse gewinnen.

Praktische Anwendungen, die wir in der Schulung behandeln werden:

  • 1
    Praktische Erfahrung mit Profiling-Tools und fortgeschrittenen Techniken zur Leistungsoptimierung.
  • 2
    Verständnis für die Entwicklung von Hochleistungsanwendungen, die den Anforderungen umfangreicher, datenintensiver Umgebungen entsprechen.
  • 3
    Kenntnisse über praktische Strategien zur Überwachung und Optimierung der Leistung in Produktionsumgebungen.

Nach diesem Kurs werden Sie in der Lage sein:

  • 1
    Profile zu erstellen und Python-Anwendungen zu analysieren, um Engpässe zu erkennen und zu beheben.
  • 2
    fortgeschrittene Techniken zur Leistungsoptimierung in realen Projekten zu implementieren.
  • 3
    moderne Multi-Core-Prozessoren zu nutzen, um Python für hohe Effizienz und Skalierbarkeit zu optimieren.
  • 4
    skalierbare Systeme mit Python mit asynchroner Programmierung und horizontaler Skalierung zu erstellen.
  • 5
    leistungsstarke Tools wie Numba, Cython und Rust nahtlos in Python-Projekte zu integrieren.

Das Performance Driven Python Training ist perfekt für Sie, wenn…

  • Sie Kenntnisse über Techniken für Parallelität, Parallelität, horizontale Skalierung, JIT-Kompilierung, Cython, Rust, Caching, datenintensive Optimierung mit Tools wie Pandas, NumPy und Dask sowie kontinuierliche Überwachung und Optimierung erwerben möchten.

  • Sie Grundkenntnisse in Phython besitzen.

  • Sie daran interessiert sind zu lernen, wie Sie Python mit Datenbanken und Webdiensten integrieren können.

Der Kurs Performance Driven Python ist nicht für Sie geeignet, wenn…

  • Sie kein Python-Entwickler sind oder keine Erfahrung mit der Python-Programmierung haben.
  • Sie nicht daran interessiert sind, fortgeschrittene Techniken zur Leistungsoptimierung zu erlernen
  • Sie eine Einführung in Python für Anfänger anstelle eines Optimierungskurses für Fortgeschrittene bevorzugen

Agenda

Training

Für kleine Unternehmen und Teams, die neu in das Thema einsteigen.

  • Überblick über Leistungsüberlegungen in Python
  • Das Gleichgewicht zwischen Entwicklungsgeschwindigkeit und Laufzeiteffizienz
  • Erfolgsgeschichten von optimierten Python-Anwendungen
  • Einführung in Profiling-Tools und Techniken für Python
  • Praktische Anleitung für die Profilerstellung einer Python-Beispielanwendung
  • Analyse der Profilergebnisse zur Ermittlung von CPU- und Speicherengpässen
  • Häufige Fallstricke in der Python-Programmierung, die zu Leistungsproblemen führen
  • Bewährte Verfahren für die effiziente Nutzung von Datenstrukturen und Algorithmen
  • Fallstudien: Refactoring für Leistung
  • Das Global Interpreter Lock (GIL) und seine Auswirkungen auf Multithreading-Python-Programme verstehen
  • Verwendung des Multiprocessing-Moduls zur Erzielung echter Parallelität
  • Wann und wie kann ich Asyncio für asynchrone Programmierung verwenden?
  • Grundlagen der horizontalen Skalierung und wann sie notwendig ist
  • Einführung in Celery und RabbitMQ für die Aufgabenverteilung und asynchrone Verarbeitung
  • Architektur und Bereitstellung eines einfachen, horizontal skalierbaren Dienstes
  • line_profiler für die zeilenweise Analyse verwenden
  • Speicherprofilierung mit Tools wie memory_profiler und PySpy
  • Visualisierung von Profildaten mit interaktiven Tools zur intuitiveren Identifizierung von Engpässen
  • Effiziente Datenverarbeitung mit Pandas und NumPy
  • Techniken für die Arbeit mit großen Datensätzen, die nicht in den Speicher passen
  • Nutzung von Dask für parallele Berechnungen und die Verarbeitung großer Datenmengen
  • Ereignisgesteuerte Architektur für die Skalierung von Datenverarbeitungspipelines
  • Grundlagen des Caching
  • Wann Sie es verwenden sollten und welche Optionen verfügbar sind
  • Implementierung von Caching in Python mit Beispielen für einfache Caching-Mechanismen und komplexere Tools wie Memcache
  • Strategien und bewährte Praktiken zur Cache-Invalidierung

Costumized

Für große Unternehmen und Teams, die besondere Herausforderungen meistern wollen.

  • Ihr Ökosystem
  • Ihre Best Practices
  • Ihre Probleme und Themen
  • JIT-Kompilierung mit Numba:
    • Grundlagen der Just-In-Time-Kompilierung und wie Numba diese für Python erleichtert
    • Praktische Beispiele für die Verwendung von Numba zur Beschleunigung numerischer Berechnungen
  • Cython zur Optimierung von Python nutzen:
    • Einführung in Cython als Tool zum Kompilieren von Python nach C zur Leistungssteigerung
    • Fallstudien zur inkrementellen Optimierung von Python-Code mit Cython
  • Integration von Rust in Python:
    • Warum und wann sollte Python aus Leistungsgründen um Rust erweitert werden?
    • Grundlagen von Rust und Erstellen von Python-Erweiterungen mit Rust
  • Einführung in Tools und Dienste zur Leistungsüberwachung
  • Techniken für kontinuierliche Leistungstests und Benchmarking
  • Strategien zur Leistungsoptimierung als Reaktion auf reale Nutzungsmuster
  • Überblick über Leistungsüberlegungen in Python
  • Das Gleichgewicht zwischen Entwicklungsgeschwindigkeit und Laufzeiteffizienz
  • Erfolgsgeschichten von optimierten Python-Anwendungen
  • Einführung in Profiling-Tools und Techniken für Python
  • Praktische Anleitung für die Profilerstellung einer Python-Beispielanwendung
  • Analyse der Profilergebnisse zur Ermittlung von CPU- und Speicherengpässen
  • Häufige Fallstricke in der Python-Programmierung, die zu Leistungsproblemen führen
  • Bewährte Verfahren für die effiziente Nutzung von Datenstrukturen und Algorithmen
  • Fallstudien: Refactoring für Leistung
  • Das Global Interpreter Lock (GIL) und seine Auswirkungen auf Multithreading-Python-Programme verstehen
  • Verwendung des Multiprocessing-Moduls zur Erzielung echter Parallelität
  • Wann und wie kann ich Asyncio für asynchrone Programmierung verwenden?
  • Grundlagen der horizontalen Skalierung und wann sie notwendig ist
  • Einführung in Celery und RabbitMQ für die Aufgabenverteilung und asynchrone Verarbeitung
  • Architektur und Bereitstellung eines einfachen, horizontal skalierbaren Dienstes
  • line_profiler für die zeilenweise Analyse verwenden
  • Speicherprofilierung mit Tools wie memory_profiler und PySpy
  • Visualisierung von Profildaten mit interaktiven Tools zur intuitiveren Identifizierung von Engpässen
  • Effiziente Datenverarbeitung mit Pandas und NumPy
  • Techniken für die Arbeit mit großen Datensätzen, die nicht in den Speicher passen
  • Nutzung von Dask für parallele Berechnungen und die Verarbeitung großer Datenmengen
  • Ereignisgesteuerte Architektur für die Skalierung von Datenverarbeitungspipelines
  • Grundlagen des Caching
  • Wann Sie es verwenden sollten und welche Optionen verfügbar sind
  • Implementierung von Caching in Python mit Beispielen für einfache Caching-Mechanismen und komplexere Tools wie Memcache
  • Strategien und bewährte Praktiken zur Cache-Invalidierung

Das sagen unsere zufriedenen Schulungsteilnehmer

A1 Telekom Austria AG

Reinhard Burgmann
Head of Data Ecosystem

„UTA hat mein Team bei der Entwicklung des Migrationsplans für die Umstellung unseres Data Lake auf die Public Cloud unterstützt.

Das herausragende Maß an Fachwissen sowohl auf technischer als auch auf organisatorischer Ebene gewährleistete einen gut strukturierten und realistischen Migrationsplan, einschließlich Zeitplan, Meilensteine und Aufwände.

Die Befähigung meines Teams stand im Mittelpunkt einer sehr reibungslosen Zusammenarbeit. Durch UTA haben wir unser Ziel schneller erreicht und die Risiken des Migrationsprojekts erheblich reduziert.

Ich kann die Dienste von UTA nur empfehlen!“

Vattenfall

Bernard Benning
BA Heat

„Ich habe kürzlich an dem von Ultra Tendency veranstalteten Online-Kafka-Schulungstag von Vattenfall IT teilgenommen und es war eine bereichernde Erfahrung.

Der Trainer, Ahmed, hat die Theorie hinter Kafka fantastisch erklärt, und der Schwerpunkt auf der praktischen Anwendung war großartig. Die praktischen Programmierübungen waren besonders hilfreich, und ich habe noch nie ein Training mit so vielen interaktiven Beispielen erlebt!

Insgesamt kann ich diese Schulung jedem empfehlen, der seine Kafka-Kenntnisse interaktiv verbessern und wertvolle Fähigkeiten erwerben möchte.“

VP Bank

Eisele Peer
Lead Architect Head of IT Integration Development

„Die MLOps-Schulung hat unsere Erwartungen übertroffen!

Sie bot eine perfekte Mischung aus einem Überblick, praktischen Kodierungsbeispielen und realen Anwendungsfällen. Der Trainer beantwortete alle Fragen kompetent und passte die Inhalte an die Infrastruktur unseres Unternehmens an.

Diese Schulung vermittelte uns nicht nur Wissen, sondern auch praktische Fähigkeiten, die wir sofort anwenden können.

Ihre Investition

1949 €zzgl MwSt.
  • Profiling und Analyse-Tools: Lernen Sie, wie Sie Leistungsprobleme in Python-Anwendungen erkennen und effektiv beheben können. Wir werden Profiling-Tools wie line_profiler und PySpy verwenden, um Engpässe zu identifizieren.
  • Gleichzeitigkeit & Parallelität: Verstehen Sie die Grundlagen der Gleichzeitigkeit, das Global Interpreter Lock (GIL), nutzen Sie das Multiprocessing-Modul für echte Parallelität und lernen Sie Asyncio für asynchrone Programmierung kennen.
  • Horizontale Skalierung & Caching: Entwerfen Sie skalierbare Dienste mit Celery und RabbitMQ und implementieren Sie effektive Caching-Strategien, um die Antwortzeiten zu verbessern und die Last zu reduzieren.

Lernen Sie Ihre Trainer kennen

Marvin Taschenberger

Professional Software Architect, Ultra Tendency

Hudhaifa Ahmed

Senior Lead Big Data Developer Berlin Territory Manager, Ultra Tendency

Matthias Baumann

Chief Technology Officer Principal Big Data Solutions Architect Lead, Ultra Tendency

Erforderliche Hardware und Infrastruktur für Ihr Docker-Training

  • Sie benötigen einen PC oder Mac mit einem Webbrowser und MS Teams.
  • Während der Schulung stellen wir Ihnen eine virtuelle Maschine mit den erforderlichen lokalen Abhängigkeiten, Diensten und Root-Zugriffen zur Verfügung.
  • Auf dieser VM läuft ein Kubernetes-Cluster, auf dem Sie die Trainingsanweisungen testen und ausführen können.
  • Sie können über einen Browser oder SSH auf die Maschine zugreifen, wenn Sie möchten und die Netzwerkbeschränkungen dies zulassen.