iMaster Developers

Renato Groffe

Renato Groffe

Atua como consultor em atividades voltadas ao desenvolvimento de sistemas há mais de 15 anos. Microsoft MVP (Most Valuable Professional) e participante do programa MTAC (Multi-Plataform Technical Audience Contributor). Bacharel em Sistemas de Informação, com Especialização em Engenharia de Software e MBA em Business Intelligence. Também é palestrante e autor técnico em portais e revistas especializadas, com foco em tecnologias Microsoft e boas práticas na área de software.
  • Publicou
    110
    Artigo(s)
    book
  • Visualizados
    1210000
    Vezes
    eye
  • Desde
    2016
    clock
awardArtigos Publicados
Renato Groffe
.NET
Novidades do .NET 8: coleções imutáveis com FrozenSet

.NET 8 Novidades: coleções imutáveis com FrozenSet. Em um artigo anterior abordei o uso de instâncias baseadas no tipo FrozenDictionary, uma nova…

Renato Groffe
.NET
Automatizando testes de integração: um exemplo com Azure DevOps, SQL Server, Postman e .NET 7

Na imagem abaixo temos um exemplo de execução de um pipeline do Azure DevOps automatizando testes (com Postman + Newman) de uma API REST criada com .NET 7 + ASPNET Core e que faz uso do SQL Server (em um container Docker) + Migrations do Entity Framework Core. Incluí aqui também a geração de um…

Renato Groffe
C#
Novidades do C# 12: Inline Arrays

O C# 12 e o .NET 8 também trazem agora uma alternativa que busca oferecer uma maior performance na manipulação de arrays baseados em tipos primitivos: trata-se do atributo InlineArray. Implementado a partir do tipo InlineArrayAttribute (namespace System.Runtime.CompilerServices), esta nova opção pode ser utilizada em arrays que contem com um tamanho previamente definido. Essa e…

Renato Groffe
.NET
.NET 7 + Minimal APIs: versionando APIs REST de forma descomplicada

Versionar os endpoints de uma API REST tem se tornado um tipo de demanda cada vez mais frequente, sobretudo em cenários nos quais aplicações deste tipo são consumidas por diferentes sistemas. Uma simples alteração para atender a um projeto específico pode gerar a necessidade de manter múltiplos endpoints para uma mesma funcionalidade, garantindo assim sua…

Renato Groffe
.NET
Novidades do .NET 8: alterando randomicamente a ordem de itens em Arrays e Spans

O trabalho com arrays e spans pode levar à necessidade de embaralhar os diferentes itens que compõem estruturas desse tipo, com uma reorganização que aconteça de forma randômica. Existe inclusive um algoritmo para isto, conhecido como Fisher-Yates shuffle ou Knuth shuffle. Funcionalidades para sorteio e testes aleatórios constituem bons exemplos desta implementação. Com o .NET…

Renato Groffe
C#
Novidades do C# 12: utilizando Primary Constructors em classes e structs

Capacidade antes restrita ao uso de Records, com o C# 12 podemos agora também empregar Primary Constructors na implementação de classes e structs. Parâmetros podem ser definidos na declaração de uma classe ou struct, viabilizando com isto a utilização dos mesmos no corpo dessas estruturas. Na próxima listagem temos um exemplo deste tipo de implementação…

Renato Groffe
.NET
Novidades do C# 11: alertas para nomes de classes em minúsculo

As palavras-chave/keywords do C# são identificadores especiais do ponto de vista do compilador dessa linguagem, estando normalmente associadas a implementações básicas como declarações de estruturas, desvios condicionais e manipulação de valores. Uma característica comum a todas as keywords está no fato de que a escrita das mesmas sempre se dá em letras minúsculas, devendo-se ressaltar…

Renato Groffe
.NET
Mocking Test em .NET 7: exemplo utilizando Moq, xUnit e Fluent Assertions

Neste artigo apresento um exemplo de uso de Mock Objects em .NET 7, tomando como base um projeto criado originalmente em versões anteriores do .NET e detalhado em um artigo publicado há algum tempo no meu blog: Testes de Software com .NET 5: exemplos de utilização A implementação em questão utilizou o Moq como alternativa…

Renato Groffe
.NET
Novidades do .NET 8: definindo valores não permitidos com DeniedValuesAttribute

Em um artigo anterior sobre novidades do .NET 8 abordei a utilização do tipo AllowedValuesAttribute, uma Data Annotation que integra o namespace System.ComponentModel.DataAnnotations e que permite definir os valores permitidos para uma propriedade: Novidades do .NET 8: definindo valores possíveis com AllowedValuesAttribute Neste novo post dou continuidade à série que cobre novos recursos recursos do…

Renato Groffe
.NET
Orquestrando processos de negócio com .NET + Azure Durable Functions

Nem toda automação de processos de negócio se resume a um simples envio de requisição HTTP a um endpoint previamente existente ou, até mesmo, a uma fila/tópico de uma solução de mensageria. E obviamente teremos todo um fluxo a seguir, com uma coreografia envolvendo o sequenciamento das tarefas dentro daquele contexto. Diante disso, há um caminho para implementarmos soluções deste tipo…

visualizando 10 de 110
Publicidade