Entrar em Contato

Programa do Curso

Dia 1 — Fundamentos Robustos do Python e Ferramentas

Recursos Modernos do Python e Tipagem

  • Fundamentos de tipagem, genéricos, Protocols e TypeGuard
  • Dataclasses, dataclasses congeladas (frozen) e visão geral sobre attrs
  • Correspondência de padrões (PEP 634+) e uso idiomático

Qualidade do Código e Ferramentas

  • Formatadores e linters de código: black, isort, flake8, ruff
  • Verificação estática de tipos com MyPy e pyright
  • Hooks pre-commit e fluxos de trabalho do desenvolvedor

Gestão de Projetos e Empacotamento

  • Gestão de dependências com Poetry e ambientes virtuais (virtual environments)
  • Estruturação do pacote, pontos de entrada (entry points) e melhores práticas de versionamento
  • Construção e publicação de pacotes no PyPI e registros privados

Dia 2 — Padrões de Design e Práticas Arquiteturais

Padrões de Design em Python

  • Padrões criacionais: Factory, Builder, Singleton (variantes idiomáticas do Python)
  • Padrões estruturais: Adapter, Facade, Decorator, Proxy
  • Padrões comportamentais: Strategy, Observer, Command

Princípios Arquiteturais

  • Princípios SOLID aplicados a bases de código em Python
  • Arquitetura Hexagonal/Limpa (Clean Architecture) e delimitadores (boundaries)
  • Injeção de dependência e gestão de configuração

Modularidade e Reutilização

  • Diferença entre design de bibliotecas e código de aplicação
  • APIs, interfaces estáveis e versionamento semântico
  • Gestão de configurações, segredos e configurações específicas do ambiente

Dia 3 — Concorrência, AsyncIO e Performance

Concorrência e Paralelismo

  • Fundamentos de multithreading e implicações do GIL (Global Interpreter Lock)
  • Multiprocessamento e pools de processos para tarefas intensivas de CPU
  • Quando usar concurrent.futures versus multiprocessing

Programação Assíncrona com asyncio

  • Padrões async/await, loop de eventos e cancelamento
  • Criação de bibliotecas assíncronas e interoperabilidade com código síncrono
  • Padrões para I/O intenso, backpressure (retrocesso) e limitação de taxa (rate limiting)

Profiling e Otimização

  • Ferramentas de profiling: cProfile, pyinstrument, perf, memory_profiler
  • Otimização de caminhos críticos (hot paths) e uso de extensões em C/Numba quando apropriado
  • Medição de latência, throughput (vazão) e utilização de recursos

Dia 4 — Testes, CI/CD, Observabilidade e Implantação

Estratégias de Teste e Automação

  • Testes unitários e fixtures com pytest; organização dos testes
  • Testes baseados em propriedades com Hypothesis e testes de contrato (contract testing)
  • Mocking, monkeypatching e teste de código assíncrono

CI/CD, Lançamento e Monitoramento

  • Integração de testes e gates de qualidade no GitHub Actions/GitLab CI
  • Criação de contêineres reproduzíveis com Docker e builds de múltiplas etapas (multi-stage)
  • Observabilidade da aplicação: logging estruturado, métricas do Prometheus e tracing (rastreamento)

Segurança, Endurecimento e Melhores Práticas

  • Auditoria de dependências, conceitos básicos de SBOM (Software Bill of Materials) e varredura de vulnerabilidades
  • Práticas de codificação segura para validação de entrada e gestão de segredos
  • Endurecimento em tempo de execução: limites de recursos, direitos do usuário e segurança do contêiner

Projeto Integrador e Revisão

  • Laboratório em equipe: design e implementação de um pequeno serviço usando padrões apresentados no curso
  • Testes, verificação de tipos, empacotamento e pipeline de CI para o projeto
  • Revisão final, crítica do código e plano de melhorias acionáveis

Resumo e Próximos Passos

Requisitos

  • Forte experiência em programação Python de nível intermediário
  • Conhecimento em programação orientada a objetos e testes básicos
  • Experiência usando linha de comando e Git

Público-Alvo

  • Desenvolvedores Python seniores
  • Engenheiros de software responsáveis pela qualidade do código Python e pela arquitetura
  • Líderes técnicos e engenheiros de MLOps/DevOps que trabalham com bases de código em Python
 28 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas