Destino Dev

Cursos

Python Avançado: Async, Decorators e Performance

Código do curso: github.com/johnpires/python-avancado-async-decorators-e-performance

Domine os recursos mais poderosos do Python moderno e eleve sua programação a um nível profissional. Neste curso avançado, você aprenderá a construir aplicações altamente performáticas utilizando programação assíncrona com asyncio, compreenderá profundamente o modelo de execução concorrente do Python e saberá quando usar threads, processos ou corrotinas para máxima eficiência.

Explore o universo dos decorators e metaclasses para criar abstrações elegantes e reutilizáveis, aplicando padrões de design sofisticados que tornam seu código mais expressivo e manutenível. Você aprenderá a construir frameworks e bibliotecas robustas, utilizando recursos avançados como descritores, context managers personalizados e o protocolo de dados do Python.

Ao final do curso, você terá um domínio sólido sobre profiling e otimização de código Python, saberá identificar e corrigir gargalos de performance, e será capaz de aplicar técnicas avançadas de memória e CPU para construir sistemas de alta escala. Um projeto prático consolidará todo o aprendizado em uma aplicação real de alta performance.

Conteúdo do curso

Módulo 1: Programação Assíncrona com asyncio

  1. Introducao ao asyncio e o Event Loop do Python (2 min)
  2. Corrotinas, async/await e Awaitables (2 min)
  3. Tasks e Futures: Criando Concorrencia Real (2 min)
  4. gather, wait e as Ferramentas de Concorrencia do asyncio (3 min)
  5. Streams Assincronos: I/O de Rede com asyncio (3 min)
  6. Semaforos, Locks e Primitivos de Sincronizacao Assincronos (3 min)

Módulo 2: Concorrência: Threads, Processos e Corrotinas

  1. O GIL do Python e Seus Efeitos na Concorrencia (3 min)
  2. Threading em Python: Quando e Como Usar (2 min)
  3. Multiprocessing: Paralelismo Real em Python (3 min)
  4. concurrent.futures: API Unificada de Alto Nivel (2 min)
  5. asyncio vs Threads vs Processos: Guia Definitivo (3 min)
  6. Integrando Codigo Sincrono com asyncio: Estrategias Avancadas (3 min)

Módulo 3: Decorators e Metaprogramação

  1. Funcoes de Primeira Classe e Closures Avancadas (2 min)
  2. Decorators Simples: Principios e Implementacao (8 min)
  3. Decorators com Parametros e Decorators de Classe (2 min)
  4. Metaclasses: Controlando a Criacao de Classes (3 min)
  5. Descritores: O Protocolo Mais Poderoso do Python (3 min)
  6. Context Managers Avancados e o Protocolo de Iteracao (2 min)
  7. Protocolos e ABCs: Interfaces Pythonic (3 min)

Módulo 4: Descritores, Context Managers e Protocolo de Dados

  1. Descriptors: O Mecanismo por Tras das Properties (3 min)
  2. __slots__, __init_subclass__ e Customizacao de Classes (3 min)
  3. Protocolos e Tipagem Estrutural com Protocol e ABC (3 min)
  4. Metaclasses: Controlando a Criacao de Classes (3 min)
  5. Geradores Avancados, itertools e Programacao Funcional (3 min)
  6. Context Managers e o Protocolo with (2 min)

Módulo 5: Performance, Profiling e Otimização

  1. Profiling: Encontrando Gargalos de Performance (3 min)
  2. Otimizacao de Memoria: slots, arrays e memoryview (3 min)
  3. Caching Avancado: lru_cache, Redis e Estrategias (3 min)
  4. Compilacao JIT e Extensoes C: Performance Extrema (2 min)
  5. NumPy e Vetorizacao: De Loops a Operacoes de Array (3 min)
  6. Python Moderno: Novidades das Versoes Recentes (3 min)

Módulo 6: Projeto Final: Sistema Assíncrono de Alta Performance

  1. Arquitetura do Projeto: Worker Pool com Monitoramento (3 min)
  2. Implementando o Nucleo Assincrono do Worker Pool (4 min)
  3. Decorators de Retry, Timeout e Circuit Breaker (3 min)
  4. Sistema de Plugins com Metaclasse e Registry Pattern (3 min)
  5. Monitoramento, Metricas e Observabilidade (3 min)
  6. Testes Avancados: pytest, mocks e Coverage (3 min)
  7. Recapitulacao Final e Proximos Passos (4 min)