Showing 12 Result(s)

Escalando Aplicações com o YARP no .NET

À medida que aplicações web crescem em complexidade e demanda, torna-se cada vez mais importante pensar na escalabilidade. No ecossistema .NET, uma das ferramentas mais poderosas e flexíveis para ajudar nesse processo é o YARP (Yet Another Reverse Proxy). Neste artigo, vamos explorar como escalar aplicações com o YARP, com exemplos práticos e explicações detalhadas. …

Entity Framework vs Dapper – Quando usar cada um no .NET?

Ao desenvolver uma aplicação no .NET, uma das escolhas mais importantes que você fará será sobre como interagir com o banco de dados. A decisão entre usar o Entity Framework (EF) ou o Dapper pode impactar diretamente o desempenho e a manutenibilidade do seu projeto. Ambos são ORMs (Object-Relational Mappers), ferramentas que permitem a interação …

Evitando memory leak em projetos .NET

A gestão de memória é uma parte crítica do desenvolvimento de aplicações, especialmente em ambientes .NET onde a coleta de lixo (GC) nem sempre é suficiente para lidar com todos os recursos não gerenciados. Para garantir que os recursos sejam corretamente liberados, o padrão IDisposable é amplamente utilizado. No entanto, a implementação manual deste padrão …

Injeção de dependência automática com o Scrutor no .NET

Em alguns casos, pode ser trabalhoso e repetitivo registrar manualmente todos os serviços que precisamos injetar das nossas classes. Por exemplo, se temos uma interface IRepository e várias classes que a implementam, como CustomerRepository, ProductRepository, OrderRepository, etc., teríamos que registrar cada uma delas individualmente na ServiceCollection. O Scrutor é uma biblioteca que simplifica o registro …

Otimizando o desempenho com o Output Caching no .NET 7

Existem vários recursos que chamaram minha atenção no .NET 7 e decidi experimentar o Output Caching. O Output Caching é um middleware que armazena em cache toda a saída de um request, em vez de executar o request por completo sempre que solicitado. Isso torna seus endpoints muito mais performáticos. Este middleware melhora o desempenho …

Serializando objetos com o Protobuf no .NET

O Protobuf é um padrão de serialização e desserialização de dados fornecido pelo Google (e também utilizado no gRPC). O grande destaque do Protobuf é ser mais leve e performático nas operações comparado com JSON e XML. Os Protocol Buffers são um formato de armazenamento de dados estruturado portátil e eficiente. As mensagens são serializadas em …

Escalando aplicações com o Worker Service no .NET 6.0 – Parte 2

Este artigo é uma continuação da primeira parte: Nesta segunda parte, aprenderemos como configurar e utilizar o Worker Service para receber mensagens do barramento RabbitMQ, trabalhando como um módulo separado da aplicação com a finalidade de processar eventos. Pré-requisitos API O primeiro passo é configurar o docker-compose com a imagem do RabbitMQ (que é um dos message broker de …

Melhores pacotes NuGet para projetos .NET

O desenvolvimento de software é uma tarefa complexa e, como desenvolvedor, você não ganha nada em “reinventar a roda”. Acredito firmemente que devemos tornar sua vida o mais simples possível no desenvolvimento de aplicações, utilizando pacotes testados e aprovados sempre que possível, que ajudam em uma melhor experiência na codificação. Abaixo estão alguns dos pacotes …

HttpClientFactory no .NET 5.0

Reaproveitamento dos pools de conexões, reduzindo o consumo de recursos do socket, este é o resumo da utilização do HttpClientFactory no .NET. Introdução Não saber utilizar corretamente o HttpClient no .NET é um erro clássico, como criar várias instâncias no projeto, isso causa um acúmulo de utilização de sockets, aumentando o consumo de processamento e o famoso memory leak. A criação de …