Blog Devsuperior

    Programação, desenvolvimento web, Java, Javascript, e muito mais

    Posts encontrados: 14
    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Spring AI em ação: assistente de RH com RAG e Claude

    Chegou task nova: criar uma funcionalidade de IA. A boa notícia? você não precisa aprender Python ou virar cientista de dados e nem chamar a API da Anthropic na unha. O Spring AI traz a IA generativa para dentro do mundo Spring com as mesmas ferramentas que você já usa todo dia, injeção de dependência, beans e auto configuração. Neste artigo a gente constrói, do zero, um assistente de RH que responde às perguntas dos colaboradores lendo as políticas reais da empresa, sem inventar nada, usando Claude, RAG e PostgreSQL.

    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Mensageria e DLQ: Retentativas e Redrive

    Um sistema event-driven em produção convive com falhas externas. Basta uma integração do consumer oscilar por alguns minutos, e ele começará a reprocessar a mesma mensagem em loop, a fila acumula silenciosamente e uma mensagem problemática pode travar o sistema inteiro. O cenário é comum e tem solução dentro do próprio SQS, sem orquestração externa e implementação artesanal de reprocessamento.

    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Distribuindo Eventos com AWS SNS + SQS

    Quando um pagamento é processado, o cliente quer confirmação em tempo real, o serviço de "entrega" quer liberar o produto, o analytics quer métrica e o antifraude quer auditar. Se o `ms-billing` virar um polvo de chamadas HTTP síncronas, perdemos o desacoplamento do SQS. Mensageria continua sendo a saída, com um padrão diferente: em vez de uma fila ligada a um consumidor, um tópico SNS distribui a mesma mensagem para várias filas independentes.

    Thumbnail do post
    Foto do autor Nelio Alves
    Nelio Alves

    OAuth2 e OIDC profissional com Java e Spring: primeiros passos

    A maioria dos projetos modernos delega autenticação para serviços externos como Auth0, Okta ou Keycloak - e não há nada de errado nisso, é o caminho mais curto para começar. O problema é que, sem entender o que está acontecendo por baixo, fica difícil tomar decisões informadas: como integrar com um SPA? Por que o ID token não deveria carregar o email do usuário? Quando preciso de Authorization Code + PKCE e quando Client Credentials basta? O Spring Authorization Server (Spring AS) é a peça que permite construir o seu próprio AS em Java/Spring, expondo os endpoints OAuth2/OIDC padrão (/oauth2/authorize, /oauth2/token, /userinfo, /.well-known/openid-configuration, etc.) com todos os ajustes que você quiser. Neste post, partindo de uma baseline mínima in-memory, vamos evoluir um AS educativo (dsbooks-as) em cinco passos incrementais até chegar a um modelo persistido em banco, com login customizado, multi-clients cadastrados, e um modelo de usuário OIDC-compliant que respeita LGPD/GDPR - tudo sem mágica de bibliotecas terceiras.

    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Desacoplando sistemas com mensageria no AWS SQS

    Imagine a seguinte situação: seu sistema de acabou de receber um pagamento via Stripe. O dinheiro entrou, a operadora confirmou, e o stripe te avisou, mas bem naquela hora o serviço interno que libera o produto caiu ou ficou sobrecarregado. O que acontece? O cliente pagou e não recebeu nada. Trabalhar com mensageria pode ser a solução.

    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Deploy de aplicações na AWS com ECS Fargate

    Conhecer orquestradores de containers se tornou requisito mínimo para Engenheiros de Software. Ferramentas como o ECS (Elastic Container Service) resolvem os desafios de ambiente e deploy que máquinas virtuais tradicionais não conseguem entregar sozinhas.

    Thumbnail do post
    Foto do autor Rafael Sotero
    Rafael Sotero

    Use REDIS para reduzir a Latência de APIs REST

    Muitos desenvolvedores chegam ao mesmo gargalo: a API lenta. Adicionar um índice no banco alivia, mas não cura. Isso ocorre porque bancos relacionais, mesmo perfeitamente indexados, carregam uma burocracia inerente: parsing de SQL, planos de execução e leituras em disco. O Redis é o extremo oposto: elimina a burocracia operando exclusivamente em memória, com acesso direto à chave em O(1)*.

    Thumbnail do post
    Foto do autor Nelio Alves
    Nelio Alves

    Spring Boot OAuth2 OIDC - um Authorization Server mínimo in-memory

    Este post faz parte de uma série sobre a construção de um sistema de referência para autenticação e autorização com OAuth2 e OpenID Connect (OIDC) usando Spring Boot e Next.js. O objetivo da série é cobrir as principais funcionalidades de uma aplicação web típica: recursos públicos, recursos protegidos por login, controle de acesso por perfil, e login social via Google (SSO). Neste post vamos abordar o ponto de partida: a construção de um Authorization Server mínimo, com recursos in-memory.