Renato Groffe é um especialista em tecnologia .NET com mais de 15 anos de experiência. Ele fornece dicas e exemplos práticos sobre desenvolvimento ASP.NET Core, bancos de dados, APIs, segurança e escalabilidade. Suas publicações ensinam como simplificar códigos e implementar padrões de mercado.
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Renato Groffe - Dicas de ASP.NET Core e Tecnologias
1.
2. • Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience
Contributor (MTAC)
• Mais de 15 anos de experiência na área de
Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET e do
.NET São Paulo
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
3. Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
5. ASP.NET Core – Visão Geral
• Atualmente na versão 3.0
• Aplicações Web mais leves e rápidas
• Multiplataforma (execução em Windows, Linux e
Mac)
• Suporte a Docker
6. Qual o objetivo das dicas a seguir
• Simplificar o desenvolvimento
• Escrever menos código
• Implementar soluções mais elegantes
• Empregar padrões de mercado
7. Removendo valores nulos no retorno de APIs
• Diminuição do tamanho das respostas geradas
por APIs
github.com/renatogroffe/ASPNETCore2.2_RemovendoNullAPIs
github.com/renatogroffe/ASPNETCore3.0_JsonSerializerOptions
8. ApiController + FluentValidation
• Validações com menor trabalho
github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
github.com/renatogroffe/ASPNETCore3.0_DapperContrib_FluentValidation
9. Redis: cache em aplicações Web
github.com/renatogroffe/ASPNETCore2.2_Sql_CacheRedis_API
github.com/renatogroffe/ASPNETCore3.0_Sql-CacheRedis-API
10. Suporte a JSON no SQL Server
• Evitar a escrita de várias classes para retorno de
informações e operações de transformação de
dados
github.com/renatogroffe/ASPNETCore2.2_Sql_CacheRedis_API
github.com/renatogroffe/ASPNETCore3.0_SQLServer-JSON_Dapper
11. Health Checks
• Novo recurso do ASP.NET Core 2.2 que permite
monitorar a saúde de uma aplicação Web
github.com/renatogroffe/ASP.NET-Core-2.2_AppInsights_HealthChecks
github.com/renatogroffe/ASPNETCore3.0_WebApp_Monitoramento
12. Monitoramento
• O Application Insights é um serviço que integra o Microsoft
Azure, estando voltado ao monitoramento de aplicações Web
(sites e serviços)
github.com/renatogroffe/ASP.NET-Core-2.2_AppInsights_HealthChecks_Predicates
github.com/renatogroffe/ASPNETCore3.0_AppInsights
13. Documentação/Testes com Swagger
• Geração de um site documentando APIs com
pouquíssimo código, além de contar com
funcionalidades para testes
github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
github.com/renatogroffe/ASPNETCore3.0_Swagger-Dapper
14. API Conventions
• Novo recurso do ASP.NET Core 2.2 disponibilizado
com o objetivo de simplificar a documentação de
APIs REST com Swagger
github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
github.com/renatogroffe/ASPNETCore3.0_Swagger-Dapper
15. ActionResult<T>
• Simplifica a codificação de instruções de retorno
em APIs REST
github.com/renatogroffe/MongoDB-DotNetCore2.2
github.com/renatogroffe/ASPNETCore3.0_MongoDB
16. Generics + Bancos NoSQL orientados a documentos
• Solução que simplifica a manipulação de
diferentes tipos de documentos vinculados a uma
mesma coleção
github.com/renatogroffe/MongoDB-DotNetCore2.2
github.com/renatogroffe/ASPNETCore3.0_MongoDB
17. IHttpClientFactory + Typed Client
• Alternativa para simplificar o consumo de APIs REST em
projetos ASP.NET Core e que utiliza a classe HttpClient
github.com/renatogroffe/ASP.NET-Core-2.2_NASA-API
github.com/renatogroffe/ASPNETCore3.0_WebApp_Polly/
18. JWT (JSON Web Tokens)
• Uso de tokens criptografados
• Bearer Authentication
• Emprega HMAC ou RSA
• Tecnologia multiplataforma
• Tokens formados por 3 partes (Header, Payload e Signature)
github.com/renatogroffe/ASPNETCore2.2_JWT-Identity
github.com/renatogroffe/ASPNETCore3.0_JWT-Identity
21. Código Resiliente com Polly
• Biblioteca para a implementação de tratamentos
de falha de maneira descomplicada
github.com/renatogroffe/DotNetCore2.2_HttpClient-JWT-Polly
github.com/renatogroffe/DotNetCore3.0_HttpClient-JWT-Polly
22. Nuvem + Docker + Escalabilidade + Segurança
• Escalabilidade horizontal facilitada
• Rapidez no deployment, isolamento
• Soluções do tipo PaaS normalmente
contam com suporte a HTTPS
• Azure Web App for Containers, Azure
Kubernetes Service