Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner do Forge

Python 3.14 13 projetos Status concluído Dependências gerenciadas com uv

Cada projeto isola uma decisão real de arquitetura de serviços e prova a resposta com teste e evidência, não só com código que compila. Cada pasta tem ambiente, dependências, testes e evidência próprios; abrir uma não exige carregar as outras.

Projetos

Base

  • P00 · Ambiente reproduzível. Garante que o ambiente nasce igual depois de apagado, com uv, Ruff, Pyright e pytest. A instalação limpa passa; falha de import e de tipo é pega antes de rodar.

Dados, concorrência, API e processo

  • P01 · Validação tipada de JSONL. Pydantic separa registro válido de inválido sem esconder o que falhou: seis linhas de entrada viram duas válidas e quatro rejeitadas.
  • P02 · Asyncio, threads e processos. Compara as três estratégias de concorrência no mesmo problema: asyncio.gather fecha I/O em 0,25s contra 2,51s sequencial; processos fecham CPU em 0,79s contra 2,26s direto.
  • P03 · Contratos e injeção no FastAPI. Separa contrato HTTP, regra de negócio e persistência com Depends; os status 401, 404, 409, 422 e 503 aparecem na fronteira certa.
  • P04 · Lifespan e tarefas de fundo. Testa se um job sobrevive a um crash da API: o crash mata o job preso ao processo, o shutdown gracioso fecha os recursos antes de sair.

Resiliência e integrações externas

PostgreSQL: constraints, planos e isolamento

  • P09 · Constraints e migrations. Faz o banco rejeitar estado impossível: quatro escritas inválidas falham, a migration sobe e desce sem correção manual.
  • P10 · EXPLAIN ANALYZE e índices. Escolhe índice a partir do plano, não do palpite: acesso alinhado usa Index Only Scan; N+1 faz 21 consultas contra 1 do JOIN.
  • P11 · RLS e connection pool. Impede que o contexto de tenant vaze pela conexão reaproveitada: sem RLS o escopo vaza; a transação segura limpa o contexto após commit e rollback.

Mensageria

  • P12 · Kafka versus RabbitMQ. Decide se o problema pede replay ou confirmação: um novo grupo de consumidores relê os seis eventos no Kafka; o RabbitMQ redelivera até receber ack.

A ordem é sugestão, não dependência: quem já conhece o básico pode começar direto pelo problema que quer investigar.

Limites

O Forge comprova mecanismos em cenários pequenos e controlados. Não mede volume de produção, disponibilidade distribuída, custo de nuvem, operação de clusters ou comportamento multi-região.

About

Laboratório de microprojetos independentes de backend com Python, colocando cada conceito sob uma condição observável de sucesso e falha.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages