Programa do Curso
Dia 1 — Fundamentos Robustos de Python e Ferramentas
Recursos Modernos do Python e Tipagem
- Noções básicas de tipagem, genéricos, Protocolos e TypeGuard
- Dataclasses, dataclasses congeladas e visão geral do attrs
- Correspondência de padrões (PEP 634+) e uso idiomático
Qualidade do Código e Ferramentas
- Formatadores de código e linters: 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 Projeto e Embalagem
- Gerenciamento de dependências com Poetry e ambientes virtuais
- Layout de pacotes, pontos de entrada e práticas recomendadas para versionamento
- Criação e publicação de pacotes no PyPI e em 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 Pythonicas)
- 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 Python
- Arquitetura Hexagonal/Clean e limites
- Padrões de injeção de dependência e gerenciamento de configuração
Modularidade e Reutilização
- Projeto de código de biblioteca vs aplicação
- APIs, interfaces estáveis e versionamento semântico
- Tratamento de configuração, segredos e definições específicas do ambiente
Dia 3 — Concorrência, Async IO e Desempenho
Concorrência e Paralelismo
- Fundamentos de threading e implicações do GIL
- Multiprocessing e pools de processos para tarefas CPU-bound
- Quando usar concurrent.futures vs multiprocessing
Programação Assíncrona com asyncio
- Padrões async/await, loop de eventos e cancelamento
- Design de bibliotecas assíncronas e interoperabilidade com código síncrono
- Padrões IO-bound, backpressure e rate limiting
Análise de Desempenho e Otimização
- Ferramentas de análise: cProfile, pyinstrument, perf, memory_profiler
- Otimizando hot paths e usando C-extensions/Numba quando apropriado
- Medindo 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 unitários e fixtures com pytest; organização dos testes
- Testes baseados em propriedades com Hypothesis e testes de contrato
- Fingimento, monkeypatching e teste de código assíncrono
CI/CD, Liberação e Monitoramento
- Integração de testes e portões de qualidade no GitHub Actions/GitLab CI
- Criação de contêineres reproduzíveis com Docker e builds multietapa
- Observabilidade da aplicação: logging estruturado, métricas Prometheus e rastreamento
Segurança, Fortificação e Melhores Práticas
- Auditoria de dependências, fundamentos do SBOM e varredura de vulnerabilidades
- Práticas de codificação seguras para validação de entrada e gerenciamento de segredos
- Fortificação em tempo de execução: limites de recursos, direitos de usuário e segurança de contêineres
Projeto Final e Revisão
- Laboratório em equipe: design e implementação de um pequeno serviço usando padrões do curso
- Teste, verificação de tipos, embalagem e pipeline CI para o projeto
- Revisão final, análise crítica do código e plano de ação para melhorias
Resumo e Próximos Passos
Requisitos
- Sólida experiência de programação em 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 Git
Público-Alvo
- Desenvolvedores Python sênior
- Engenheiros de software responsáveis pela qualidade e arquitetura do código Python
- Líderes técnicos e engenheiros MLOps/DevOps que trabalham com bases de código Python
Declaração de Clientes (5)
O facto de ter mais exercícios práticos utilizando dados mais semelhantes aos que utilizamos nos nossos projectos (imagens de satélite em formato raster)
Matthieu - CS Group
Curso - Scaling Data Analysis with Python and Dask
Máquina Traduzida
Pensei que o instrutor era muito conhecedor e respondeu às perguntas com confiança para esclarecer a compreensão.
Jenna - TCMT
Curso - Machine Learning with Python – 2 Days
Máquina Traduzida
Preparação e expertise excelente do treinador, comunicação perfeita em inglês. O curso foi prático (exercícios + compartilhamento de exemplos de casos de uso)
Monika - Procter & Gamble Polska Sp. z o.o.
Curso - Developing APIs with Python and FastAPI
Máquina Traduzida
A explicação
Wei Yang Teo - Ministry of Defence, Singapore
Curso - Machine Learning with Python – 4 Days
Máquina Traduzida
Instrutor desenvolve treinamento com base no ritmo do participante
Farris Chua
Curso - Data Analysis in Python using Pandas and Numpy
Máquina Traduzida