Slide 1

Slide 1 text

NET Conf 2024 NET-Baires Lautaro Carro

Slide 2

Slide 2 text

Agenda Hybrid Cache Chau Swagger GUID v7 Nuevos Métodos de Linq .NET Aspire

Slide 3

Slide 3 text

01 Hybrid Cache

Slide 4

Slide 4 text

Sincronización Cache L1 y L2 Características Principales Protección Contra Estampidas Eliminación por Etiquetas

Slide 5

Slide 5 text

Protección Contra Estampidas Es un problema común en sistemas de caché cuando múltiples solicitudes concurrentes intentan acceder a un dato que ha expirado o no está presente en la caché.

Slide 6

Slide 6 text

Eliminación por Etiquetas

Slide 7

Slide 7 text

Sincronización de Caches Busca el registro en memoria sino se busca en Redis 5 Segundos 10 Segundos Memoria Se busca el registro en Redis y se guarda en memoria Redis

Slide 8

Slide 8 text

02 Chau Swagger

Slide 9

Slide 9 text

Los nuevos proyectos de WebApi no incluyen SwaggerUI

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

WebApi Csproj NET 8

Slide 12

Slide 12 text

WebApi Csproj NET 9

Slide 13

Slide 13 text

WebApi Program.cs NET 8

Slide 14

Slide 14 text

WebApi Program.cs NET 9

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Alternativas a SwaggerUI: Scalar

Slide 17

Slide 17 text

03 GUID v7

Slide 18

Slide 18 text

v4 v7 Versiones de Guid

Slide 19

Slide 19 text

v4 v7 Versiones de Guid UUID aleatorio generado basado en valores pseudoaleatorios. Definición UUID basado en una marca de tiempo (ordenado cronológicamente). Aleatorio, sin relación temporal entre valores. Formato Contiene una parte basada en el tiempo, haciendo los valores parcialmente ordenados. Bajo rendimiento: inserciones y consultas menos eficientes debido a la falta de ordenación. Rendimiento en DB Alto rendimiento: inserciones y consultas más rápidas gracias a la ordenación cronológica.

Slide 20

Slide 20 text

v4 v7 Versiones de Guid bcbe4e6d-a2f3-4dd0-9413-f867b58e2b6d b6161cf4-ee16-4e7c-a9d8-490afb204052 bcdad452-6353-4393-a4ae-8dc54c691037 ccd664ff-55f0-43ee-8490-70bc8017413a 01fb0220-32bb-40a8-aaa4-03d19721391c beadbace-0dbf-4e4e-a9a2-b4eb513bf57d 66a9ae45-0b7b-4865-85ce-db693e148d7b 0dea550a-cb8d-4067-b9c1-8239c9c3503b 9649b01c-b1f3-4500-870f-01699b7c11dc 233b17c8-0be3-46e2-a8d0-dae801afca52 01936193-62c5-7926-a7f1-51d8ca011c69 01936193-62cf-7c1b-831c-5b281c834ce2 01936193-62cf-7a97-8972-eca103b31a6c 01936193-62cf-7a8d-9091-cd3124f0d4cd 01936193-62cf-78ca-bd59-c27f80d07127 01936193-62cf-75c0-8178-20312faa2b62 01936193-62cf-791f-b60d-3d8c951f5e40 01936193-62cf-75a3-a104-f00de50d71f1 01936193-62cf-735a-9525-7202edad9d6e 01936193-62cf-7531-a211-004d71b57001

Slide 21

Slide 21 text

04 Nuevos Métodos de Linq

Slide 22

Slide 22 text

Index() Características Principales CountBy() AggregateBy() 0

Slide 23

Slide 23 text

Linq CountBy()

Slide 24

Slide 24 text

Linq CountBy()

Slide 25

Slide 25 text

Linq AggregateBy()

Slide 26

Slide 26 text

Linq AggregateBy()

Slide 27

Slide 27 text

Linq Index()

Slide 28

Slide 28 text

Linq Index()

Slide 29

Slide 29 text

Hasta 10x Más Rápido Al remplazar 3 métodos de Linq por uno solo se optimiza bastante el rendimiento y la memoria. Mejor Legibilidad Son métodos que tienen una única responsabilidad.

Slide 30

Slide 30 text

05 .NET Aspire

Slide 31

Slide 31 text

¿Qué es NET Aspire? NET Aspire es un conjunto de herramientas, plantillas y paquetes para crear aplicaciones observables y listas para la producción. .NET Aspire está diseñado para mejorar la experiencia de creación de aplicaciones .NET nativas de la nube. Proporciona un conjunto coherente y contrastado de herramientas y patrones que le ayudan a crear y ejecutar aplicaciones distribuidas.

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Muchas Gracias