Skip to content

Instantly share code, notes, and snippets.

View alexandreprates's full-sized avatar
🏠
Working from home

Alexandre Prates alexandreprates

🏠
Working from home
View GitHub Profile
@alexandreprates
alexandreprates / TUTORIAL_MICROSERVICOS_P3.md
Last active June 9, 2026 09:33
Tutorial Microservices Part III

Documentação: Telemetria Distribuída com OpenTelemetry e Jaeger

1. Visão Geral

Esta documentação descreve a implementação de telemetria distribuída no sistema de microserviços do projeto.

O objetivo é permitir visualizar o fluxo completo de um pedido passando pelos serviços, incluindo:

  • Requisições HTTP recebidas pelos serviços FastAPI
  • Publicação de eventos no RabbitMQ
@alexandreprates
alexandreprates / TUTORIAL_MICROSERVICOS_P2.md
Last active June 9, 2026 09:33
Tutorial Micro Services Part II

Proposta de Evolução: Comunicação entre Microserviços com RabbitMQ

1. Visão Geral

O sistema atual já possui microserviços independentes para produtos, clientes, pedidos e pagamentos, com comunicação direta via HTTP entre eles.

A proposta desta evolução é substituir gradualmente as chamadas HTTP internas entre microserviços por comunicação assíncrona baseada em filas usando RabbitMQ.

O objetivo é aproximar a arquitetura de um modelo mais realista de microserviços, reduzindo acoplamento entre serviços e permitindo maior resiliência, rastreabilidade e escalabilidade.

@alexandreprates
alexandreprates / TUTORIAL_MICROSERVICOS_P1.md
Last active June 9, 2026 09:32
Tutorial Microservicos - Parte I

Proposta de Sistema: Gerenciador de Pedidos com Microserviços em Python

1. Visão Geral

Este projeto propõe o desenvolvimento de um sistema web simples para gerenciamento de produtos, clientes, pedidos e pagamentos simulados.

A arquitetura será baseada em microserviços, com backend em Python + FastAPI, frontend estático em HTML + CSS + JavaScript e Nginx atuando como servidor do frontend e API Gateway.

O objetivo principal é criar um projeto realista, mas acessível para um desenvolvedor júnior, permitindo aprendizado prático de APIs REST, Docker, bancos de dados, comunicação entre serviços e organização de código.

@alexandreprates
alexandreprates / instructions.md
Created May 31, 2026 13:58
Quest 8 alternativa: A Oficina dos Autômatos

Quest 8 alternativa: A Oficina dos Autômatos

O cenário

Na cidade mecânica de Ferrúria, pequenos autômatos ajudam alquimistas, ferreiros e exploradores. Porém, cada autômato precisa ser configurado antes de sair em missão.

Seu objetivo é criar um pequeno sistema em Python para registrar um autômato, verificar sua energia e calcular a força de uma ferramenta especial.

A ideia continua sendo praticar funções, mas sem repetir exatamente o exercício anterior.

@alexandreprates
alexandreprates / CLAUDE.md
Created May 28, 2026 12:09
Claude's JSM Idiomatic Instructions

Instruções globais

Como me chamar

O usuário vai se referir a mim (Claude) como "claudinho" — diminutivo afetivo em Português Brasileiro. Reconhecer normalmente e seguir com a tarefa, sem comentar sobre o apelido.

Tom de conversa

Usar tom informal e leve nas conversas em Português Brasileiro.

#!/bin/bash
OUTPUTFILE=.response.json.tmp
function fetch_data() {
echo "$1"
curl -s -H "Authorization: Bearer $(cat .civitai_token)" $1 -o $OUTPUTFILE || rm $OUTPUTFILE
}
function parse() {
cat $OUTPUTFILE | jq -r '.items[] | [ .type, (.modelVersions[0].files[].name | gsub(" "; "-")), .modelVersions[0].files[].downloadUrl] | @csv'
@alexandreprates
alexandreprates / trocadilhos.json
Created December 2, 2022 16:46 — forked from henrycunh/trocadilhos.json
Dataset com trocadilhos/charadas, extraídos do site https://osvigaristas.com.br
[
{
"pergunta" : "Quais heróis se preocupam mais com as poses para fotos do que com salvar o seu planeta?",
"resposta" : "Os TumblrCats"
},{
"pergunta" : "Qual é a profissão do Homem Aranha?",
"resposta" : "Desenvolvedor Web"
},{
"pergunta" : "Qual é o estado dos EUA que te eletrifica?",
"resposta" : "Ohio."
@alexandreprates
alexandreprates / Checklist pré apresentação.md
Last active October 28, 2021 21:42
Checklist pré apresentação

Checklist pré apresentação

  • Ir ao banheiro
  • Garrafa com água para tomar na apresentação
  • Testar audio
  • Testar compartilhamento de tela
  • Testar slides (repassar todos, verificar animações e vídeos)
  • Fechar qualquer outra coisa que não for usar na apresentação
@alexandreprates
alexandreprates / end g-code
Created June 3, 2020 16:11
Cura Tevo Tarantula Pro Settings
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G90 ;absolute positioning
G1 X0 Y0 F3600 ;move extruder out of the way by moving the baseplate to the front for easier access to printed object
M84 ;steppers off
M300 S300 P1000 ;alert beep
M82 ;absolute extrusion mode
@alexandreprates
alexandreprates / euclidean_distance.rb
Last active January 9, 2020 19:00
Euclidean distance between two arrays
# Calculate the euclidean distance between two arrays
# Example:
# euclidean_distance([1,2], [3,4]) #=> 2.8284271247461903
# euclidean_distance([1,2,3], [4,5,6]) #=> 5.196152422706632
def euclidean_distance(vector1, vector2)
Math.sqrt(vector1.zip(vector2).collect { |a,b| (a - b)**2 }.sum)
end