Entrar em Contato

Programa do Curso

Dia 1 — Fundamentos Robustos de Python & Ferramentas

Recursos Modernos do Python e Tipagem

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

Qualidade de Código e Ferramentas

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

Gerenciamento de Projetos e Empacotamento

  • Gerenciamento de dependências com Poetry e ambientes virtuais.
  • Estrutura de pacotes, 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 & Práticas de Arquitetura

Padrões de Design em Python

  • Padrões criacionais: Factory, Builder, Singleton (variantes Pythonic).
  • Padrões estruturais: Adapter, Facade, Decorator, Proxy.
  • Padrões comportamentais: Strategy, Observer, Command.

Princípios de Arquitetura

  • Princípios SOLID aplicados a bases de código Python.
  • Arquitetura Hexagonal/Hexagonal (Clean Architecture) e fronteiras.
  • Padrões de injeção de dependências e gerenciamento de configuração.

Modularidade e Reuso

  • Projeto de código de biblioteca vs. código de aplicação.
  • APIs, interfaces estáveis e versionamento semântico.
  • Gerenciamento de configuração, segredos e configurações específicas de ambiente.

Dia 3 — Concorrência, IO Assíncrona e Desempenho

Concorrência e Paralelismo

  • Fundamentos de threads e as implicações do GIL (Global Interpreter Lock).
  • Multiprocessing e pools de processos para tarefas limitadas por CPU.
  • Quando usar concurrent.futures vs. multiprocessing.

Programação Assíncrona com asyncio

  • Padrões Async/await, loop de eventos e cancelamento.
  • Projeto de bibliotecas assíncronas e interoperabilidade com código síncrono.
  • Padrões limitados por IO, backpressure e limitação de taxa (rate limiting).

Perfilamento e Otimização

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

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

Estratégias de Teste e Automação

  • Testes de unidade e fixtures com pytest; organização de testes.
  • Testes baseados em propriedades com Hypothesis e testes de contrato.
  • Mocking, monkeypatching e testes de código assíncrono.

CI/CD, Lançamentos e Monitoramento

  • Integração de testes e portões de qualidade no GitHub Actions/GitLab CI.
  • Construção de containers reprodutíveis com Docker e builds em múltiplos estágios (multi-stage builds).
  • Observabilidade de aplicações: log estruturado, métricas Prometheus e tracing.

Segurança, Fortalecimento e Melhores Práticas

  • Auditoria de dependências, fundamentos de SBOM e varredura de vulnerabilidades.
  • Práticas de codificação segura para validação de entrada e gerenciamento de segredos.
  • Fortalecimento em tempo de execução: limites de recursos, permissões de usuário e segurança de containers.

Projeto Final (Capstone) & Revisão

  • Lab em equipe: projeto e implementação de um pequeno serviço utilizando os padrões do curso.
  • Testes, verificação de tipos, empacotamento e pipeline de CI para o projeto.
  • Revisão final, crítica de código e plano de melhorias acionável.

Resumo e Próximos Passos

Requisitos

  • Sólida experiência em programação Python de nível intermediário.
  • Familiaridade com programação orientada a objetos e testes básicos.
  • Experiência no uso da linha de comando e do Git.

Público Alvo

  • Desenvolvedores Python Sênior.
  • Engenheiros de Software responsáveis pela qualidade e arquitetura de código Python.
  • Líderes técnicos e engenheiros de MLOps/DevOps que trabalham com bases de código Python.
 28 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas