GIL em Python: o que é e como afeta o desempenho
Entenda o Global Interpreter Lock do CPython, por que threads não aceleram código CPU-bound, quando usar threading, multiprocessing e a build free-threaded.
Entenda o Global Interpreter Lock do CPython, por que threads não aceleram código CPU-bound, quando usar threading, multiprocessing e a build free-threaded.
Guia para empacotar uma biblioteca Python com pyproject.toml, build wheel, testar no TestPyPI e publicar no PyPI usando token ou Trusted Publishing.
Por que threading não acelera código CPU-intensivo e como usar multiprocessing, Pool, ProcessPoolExecutor para aproveitar todos os núcleos da CPU.
Configuração de logging Python para produção: logger por módulo, dictConfig, log em JSON, request_id com contextvars, QueueHandler e testes com caplog.
Use pathlib.Path em vez de os.path e os para juntar, separar, ler, escrever e percorrer arquivos. Inclui tabela de comparação, testes pytest e erros comuns.
Como usar try/except/else/finally, exceções customizadas, raise from, logging, ExceptionGroup e testar exceções com pytest.
Como usar Pydantic v2 para validar dados de entrada: BaseModel, Field, field_validator, model_validator, modo strict, TypeAdapter e como testar com pytest.
Construa uma REST API com FastAPI e Pydantic v2 para bloquear dados inválidos na porta de entrada, incluindo como personalizar erros 422 e escrever testes com pytest.
Guia para escrever testes com pytest, usar fixtures para preparar dados, limpar recursos, compartilhar via conftest.py e parametrizar testes.
Como usar list, dict, set comprehension e generator expression em Python para escrever código conciso e legível, incluindo erros comuns e quando voltar para for.
Entenda como a declaração with funciona, escreva seus próprios context managers com class ou contextlib, trate exceções corretamente e evite erros comuns.
Como criar um virtual environment, gerenciar pacotes com pip e declarar um projeto Python com pyproject.toml, com exemplos funcionais e erros comuns.
Conheça decorator em Python desde a sintaxe @, closure, functools.wraps até decorator com parâmetros e decorator baseado em classe.
Entenda generators, yield e como eles ajudam a processar arquivos enormes ou fluxos de dados sem carregar tudo na memória.
Diferencie asyncio e threading em Python através de 3 perguntas práticas, ajudando você a escolher o modelo de concorrência certo para cada tipo de problema.
Aprenda sobre o módulo dataclasses do Python para escrever classes de dados concisas, gerando automaticamente __init__, __repr__, __eq__ sem boilerplate.
Aprenda a usar type hints para deixar seu código Python mais claro, e use mypy para detectar erros de tipo antes de executar.