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.