<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on jjeanjacques10 - Software Engineering Blog</title><link>https://jjeanjacques10.github.io/posts/</link><description>Recent content in Posts on jjeanjacques10 - Software Engineering Blog</description><generator>Hugo</generator><language>pt-br</language><lastBuildDate>Thu, 09 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jjeanjacques10.github.io/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Boas práticas na escrita de testes unitários com IA</title><link>https://jjeanjacques10.github.io/posts/2026-04-09-boas-praticas-na-escrita-de-testes-com-ia/</link><pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2026-04-09-boas-praticas-na-escrita-de-testes-com-ia/</guid><description>&lt;p>A forma como trabalhamos com desenvolvimento de software vem mudando com o tempo, a cada dia novas ferramentas aparecem e melhoraram e muito como entregamos código, mas isso também gera algumas preocupações, como a qualidade desse código gerado. Trouxe aqui algumas boas práticas para escrever testes unitários utilizando LLMs, garantindo que o código gerado seja de qualidade e siga as melhores práticas do mercado.&lt;/p>
&lt;h2 id="unit-tests-testes-unitários">Unit Tests (Testes unitários)&lt;/h2>
&lt;p>Antes de tudo é importante entender o que são testes unitários, para então passar a como escrever bons testes.&lt;/p></description></item><item><title>Resolvendo problemas de Rate Limiter com Token Bucket e Semáforos</title><link>https://jjeanjacques10.github.io/posts/2026-01-17-resolvendo-problemas-de-rate-limiter-com-token-bucket-e-semaforos/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2026-01-17-resolvendo-problemas-de-rate-limiter-com-token-bucket-e-semaforos/</guid><description>&lt;h2 id="resolvendo-problemas-de-rate-limiter-com-token-bucket-e-semáforos">Resolvendo problemas de Rate Limiter com Token Bucket e Semáforos&lt;/h2>
&lt;p>Como utilizar estratégias de rate limit para controlar o consumo de mensagens em arquiteturas distribuídas.&lt;/p>
&lt;p>Para quem trabalha com arquiteturas distribuídas e comunicações assíncronas, esse cenário é bem comum:&lt;/p>
&lt;blockquote>
&lt;p>Preciso controlar quantas mensagens devem ser processadas ao mesmo tempo pelos consumidores, para evitar o uso excessivo de recursos ou para seguir alguma regra de negócio específica.&lt;/p>&lt;/blockquote>
&lt;p>Para resolver esse tipo de problema, temos algumas estratégias interessantes que podemos utilizar. É exatamente isso que quero trazer neste artigo, além da aplicação de exemplo que criei para validar cada um dos cenários:&lt;/p></description></item><item><title>Envie Artigos do Medium para o Kindle com Facilidade</title><link>https://jjeanjacques10.github.io/posts/2024-05-05-envie-artigos-do-medium-para-o-kindle-com-facilidade/</link><pubDate>Sun, 05 May 2024 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2024-05-05-envie-artigos-do-medium-para-o-kindle-com-facilidade/</guid><description>&lt;h2 id="envie-artigos-do-medium-para-o-kindle-com-facilidade">Envie Artigos do Medium para o Kindle com Facilidade&lt;/h2>
&lt;p>Você é um leitor ávido que adora consumir conteúdo do Medium? Já imaginou poder ler seus artigos favoritos no Kindle, com a tela maior e mais confortável?&lt;/p>
&lt;p>Com o Article Kindle Converter, você pode fazer isso com apenas alguns cliques! Essa ferramenta gratuita converte artigos do Medium para o formato epub, permitindo que você os envie diretamente para o seu Kindle.&lt;/p></description></item><item><title>Descomplicando a Configuração de Producers e Consumers com Kafka</title><link>https://jjeanjacques10.github.io/posts/2024-04-13-descomplicando-a-configuracao-de-producers-e-consumers-com-kafka/</link><pubDate>Sat, 13 Apr 2024 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2024-04-13-descomplicando-a-configuracao-de-producers-e-consumers-com-kafka/</guid><description>&lt;h2 id="descomplicando-a-configuração-de-producers-e-consumers-com-kafka">Descomplicando a Configuração de Producers e Consumers com Kafka&lt;/h2>
&lt;p>Entendendo como configurar Producers e Consumers com Kafka de forma simples e descomplicada visando o que faz sentido para os seus projetos&lt;/p>
&lt;p>Em algum momento pode ser que apareça uma tarefa em seu trabalho onde precise criar uma integração com o Kafka, quando você começa a desenvolver sua aplicação, criar sua lógica de negócio e então se de para com o arquivo cheio de parâmetros surgindo a pergunta: “Quais configurações devo fazer aqui que fazem sentido para o meu cenário?”.&lt;/p></description></item><item><title>A habilidade mais importante para um desenvolvedor é a comunicação</title><link>https://jjeanjacques10.github.io/posts/2023-06-09-a-habilidade-mais-importante-para-um-desenvolvedor-e-a-comunicacao/</link><pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2023-06-09-a-habilidade-mais-importante-para-um-desenvolvedor-e-a-comunicacao/</guid><description>&lt;h2 id="a-habilidade-mais-importante-para-um-desenvolvedor-é-a-comunicação">A habilidade mais importante para um desenvolvedor é a comunicação&lt;/h2>
&lt;p>Nem sempre escrever código vai resolver os maiores desafios na carreira de um desenvolvedor&lt;/p>
&lt;p>Podemos dizer que 90% dos problemas de uma empresa são causados pela falta de comunicação. Isso em nível de colegas de equipe e até entre áreas inteiras. Então, como podemos melhorar a forma como nos comunicamos e evitar dores de cabeça com problemas simples que acabam crescendo com o tempo? Neste artigo, proponho-me a trazer algumas dicas de como se expressar melhor, transmitir ideias de forma escrita e verbal.&lt;/p></description></item><item><title>Perspectivas futuras: A visão de um desenvolvedor sobre o avanço da Inteligência Artificial</title><link>https://jjeanjacques10.github.io/posts/2023-05-19-perspectivas-futuras-a-visao-de-um-desenvolvedor-sobre-o-avanco-da-inteligencia-artificial/</link><pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2023-05-19-perspectivas-futuras-a-visao-de-um-desenvolvedor-sobre-o-avanco-da-inteligencia-artificial/</guid><description>&lt;h2 id="perspectivas-futuras-a-visão-de-um-desenvolvedor-sobre-o-avanço-da-inteligência-artificial">Perspectivas futuras: A visão de um desenvolvedor sobre o avanço da Inteligência Artificial&lt;/h2>
&lt;h3 id="trago-uma-perspectiva-do-que-imagino-para-o-futuro-com-base-nos-meus-estudos-como-entusiasta-de-ia">Trago uma perspectiva do que imagino para o futuro com base nos meus estudos como entusiasta de IA&lt;/h3>
&lt;p>Desde pequeno, ouço falar sobre Inteligência Artificial. Meu primeiro contato foi por meio dos filmes de ficção científica: “Eu, Robô” (2004) e “A.I. — Inteligência Artificial” (2001). Depois de vários anos, quando comecei a programar, o tema voltou à tona junto com Data Science e a “febre dos dados”, todos precisavam gerar dados para se manter no mercado e aproveitar os benefícios das IAs. Por volta de 2016, comecei a estudar mais a fundo e até considerei me tornar pesquisador nessa área. Hoje, sou apenas um entusiasta de IA e trabalho como desenvolvedor back-end Java.&lt;/p></description></item><item><title>Como usar e criar Annotations em Kotlin — Spring Framework</title><link>https://jjeanjacques10.github.io/posts/2023-03-02-como-usar-e-criar-annotations-em-kotlin-spring-framework/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2023-03-02-como-usar-e-criar-annotations-em-kotlin-spring-framework/</guid><description>&lt;h2 id="como-usar-e-criar-annotations-em-kotlin--spring-framework">Como usar e criar Annotations em Kotlin — Spring Framework&lt;/h2>
&lt;h3 id="este-é-um-guia-que-crie-para-auxiliar-na-criação-de-annotations-customizadas-no-spring-framework-utilizando-kotlin">Este é um guia que crie para auxiliar na criação de annotations customizadas no Spring Framework utilizando Kotlin&lt;/h3>
&lt;p>Trabalhando com Spring, uma das primeiras coisas que se nota é a quantidade de annotations que precisamos utilizar. Sendo que elas têm a finalidade de fornecer informações adicionais tanto para o compilador quanto para o Spring Framework, indicando como lidar com determinadas classes, métodos ou propriedades.&lt;/p></description></item><item><title>Estratégias utilizando Application Auto Scaling com ECS</title><link>https://jjeanjacques10.github.io/posts/2022-12-02-estrategias-utilizando-application-auto-scaling-com-ecs/</link><pubDate>Fri, 02 Dec 2022 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2022-12-02-estrategias-utilizando-application-auto-scaling-com-ecs/</guid><description>&lt;h2 id="estratégias-utilizando-application-auto-scaling-com-ecs">Estratégias utilizando Application Auto Scaling com ECS&lt;/h2>
&lt;h3 id="como-criar-regras-personalizadas-com-o-application-auto-scaling-em-aplicações-aws-ecs-utilizando-cloudformation">Como criar regras personalizadas com o Application Auto Scaling em aplicações AWS ECS utilizando CloudFormation&lt;/h3>
&lt;p>Uma das grandes vantagens de utilizarmos a AWS ou qualquer outro provedor de Cloud é a possibilidade de pagar apenas pelos recursos que utilizamos. Uma ferramenta extremamente útil para gerenciar estes recursos de forma eficiente, evitando gastos desnecessários, é o Auto Scaling ou dimensionamento automático. Esta funcionalidade permite aumentar ou diminuir de forma dinâmica a quantidade desejada de tasks (máquinas rodando) em serviços como o Amazon Elastic Computer Service (ECS). Dessa forma, garantimos que a quantidade de tasks esteja adequada às necessidades da aplicação, optimizando custos e também mantendo nosso serviço disponível mesmo com o aumento de demanda.&lt;/p></description></item><item><title>Atualizando dados no DynamoDB utilizando AWS Glue</title><link>https://jjeanjacques10.github.io/posts/2022-11-13-atualizando-dados-no-dynamodb-utilizando-aws-glue/</link><pubDate>Sun, 13 Nov 2022 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2022-11-13-atualizando-dados-no-dynamodb-utilizando-aws-glue/</guid><description>&lt;h2 id="atualizando-dados-no-dynamodb-utilizando-aws-glue">Atualizando dados no DynamoDB utilizando AWS Glue&lt;/h2>
&lt;h3 id="uma-forma-simples-de-atualizar-um-grande-número-de-registros-no-banco-de-dados-não-relacional-utilizam-a-ferramenta-aws-glue">Uma forma simples de atualizar um grande número de registros no banco de dados não relacional utilizam a ferramenta AWS Glue&lt;/h3>
&lt;p>Quando trabalhamos com grandes massas de dados diversas abordagens surgem na mente para realizar atualizações em lotes. Contudo, nem sempre essas soluções são práticas e dependem de configuração de uma infraestrutura e da criação de aplicações completas para um job que deveria ser simples de se fazer, como popular um campo ou removê-lo.&lt;/p></description></item><item><title>DynamoDB Single-Table Design com Spring Boot</title><link>https://jjeanjacques10.github.io/posts/2022-08-31-dynamodb-single-table-design-com-spring-boot/</link><pubDate>Wed, 31 Aug 2022 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2022-08-31-dynamodb-single-table-design-com-spring-boot/</guid><description>&lt;h2 id="dynamodb-single-table-design-com-spring-boot">DynamoDB Single-Table Design com Spring Boot&lt;/h2>
&lt;h3 id="um-exemplo-prático-de-como-utilizar-single-table-design-em-uma-aplicação-java-spring-boot">Um exemplo prático de como utilizar Single-table Design em uma aplicação Java Spring Boot&lt;/h3>
&lt;p>Desde que conheci o conceito de Sigle-Table Design quis entender melhor como isso poderia ser aplicado em um cenário real, criei essa prova de conceito e gostaria de apresentar para vocês!&lt;/p>
&lt;p>DynamoDB é um banco de dados No-SQL de chave-valor (key-value) criado pela AWS, ele tem como foco trabalhar com grandes volumes de dados oferecendo performance. Diversas empresas atualmente utilizam esse banco de dados, como por exemplo Itaú, Amazon, Mercado Livre e a própria AWS. Neste artigo irei abordar algumas diferenças que você teria ao utilizar a estratégia de Single-table.&lt;/p></description></item><item><title>[PT-BR] Spring Data JPA — Overview</title><link>https://jjeanjacques10.github.io/posts/2022-07-07-pt-br-spring-data-jpa-overview/</link><pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2022-07-07-pt-br-spring-data-jpa-overview/</guid><description>&lt;h2 id="pt-br-spring-data-jpa--overview">[PT-BR] Spring Data JPA — Overview&lt;/h2>
&lt;p>Entendendo de verdade o Framework mais utilizado em aplicações Spring para manipulação de dados&lt;/p>
&lt;p>Quem já precisou trabalhar com bancos de dados relacionais utilizando o Spring Framework muito provavelmente já se deparou com o Spring Data JPA.&lt;/p>
&lt;p>O Spring Data JPA é um Framework que faz parte da família Spring Data, que é composta também pelo Spring MongoDB e Spring Data Redis. Tem como objetivo tornar mais fácil a construção de aplicações Java que necessitam de um mapeamento de banco de dados, servindo como um ORM (Object Relational Mapper).&lt;/p></description></item><item><title>Tornando seu código mais SOLID!</title><link>https://jjeanjacques10.github.io/posts/2022-02-23-tornando-seu-codigo-mais-solid/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2022-02-23-tornando-seu-codigo-mais-solid/</guid><description>&lt;h2 id="tornando-seu-código-mais-solid">Tornando seu código mais SOLID&lt;/h2>
&lt;h3 id="explicando-os-conceitos-solid-de-orientação-a-objetos-de-uma-forma-simples-e-com-um-projeto-prático">Explicando os conceitos SOLID de orientação a objetos de uma forma simples e com um projeto prático&lt;/h3>
&lt;p>Respondendo a primeira e mais importante pergunta, o que é SOLID? O SOLID são os 5 princípios de design de código voltados para orientação a objetos que auxiliam os desenvolvedores a escreverem um código para “serem humanos” não apenas para máquinas. O que significa que tornam o sistema criado mais fácil de se manter e também mais adaptável, facilitando alterações de escopo que podem surgir durante a evolução do projeto.&lt;/p></description></item><item><title>Alexa Skill — Newsletter Reader (Filipe Deschamps)</title><link>https://jjeanjacques10.github.io/posts/2021-04-21-alexa-skill-newsletter-reader-filipe-deschamps/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate><guid>https://jjeanjacques10.github.io/posts/2021-04-21-alexa-skill-newsletter-reader-filipe-deschamps/</guid><description>&lt;h2 id="alexa-skill--newsletter-reader-filipe-deschamps">Alexa Skill — Newsletter Reader (Filipe Deschamps)&lt;/h2>
&lt;p>Uma maneira simples de ler newsletters que você recebe por e-mail&lt;/p>
&lt;p>Depois que comprei um Echo Dot, que utiliza a assistente virtual por voz Alexa, fiquei um pouco preguiçoso. Para mim, é complicado ler todas as newsletters que recebo por email, por isso decidi incumbir a minha nova amiga robô esse processo de leitura ❤.&lt;/p>
&lt;p>Logo de cara, tive algumas dificuldades para descobrir uma forma de receber as notícias e enviar para a Alexa, depois procurei no Google algumas alternativas e encontrei vários softwares e aplicações web, infelizmente era tudo pago 😥 (e as opções gratuitas eram limitadas). Porém, descobri o Portal de Desenvolvimento das Skills da Alexa, diferentemente das outras opções, nesta eu conseguia resolver o meu problema de forma TOTALMENTE GRATUITA!&lt;/p></description></item></channel></rss>