Excelente o vídeo. Algumas sugestões para os próximos poderia ser a utilização de ValueTask vs Task e a utilização de Span para otimizar a utilização de strings.
Achei bem bacana o video, um ponto que curti bastante também foi a sugestão de usar record em dto, vou ver se consigo fazer um benchmark para comparar performance e uso de recursos para dto class vs dto record
Parabéns pelo conteúdo, o vídeo está muito bacana, contudo encontrei um pequeno erro de tradução no minuto 13:48 vc diz q uma struct não pode implementar interfaces e o que está escrito em inglês é : "however, a structure type can implement interfaces" ou seja "no entando o tipo struct pode implementar interfaces". Obrigado por continuar compartilhando conhecimento
Cara, Legal, seria bom se você fizesse um próximo exemplo usando uma API e mostrar a diferença no consumo de memoria com esse mesmo exemplos, seguindo o que você falou do DTO.
Muito bom cara. Você foi a fundo e mostrou por tŕas dos panos, só esperava que você falasse das diferenças básicas de implementação e de uso. Já ganhou um inscrito!
Oi Eduardo, parabéns pela meta atingida, fico feliz. é um trabalho primoroso e de vital importância. totalmente merecido. Abraço para você e sua equipe.
Pergunta professor: Tenho uma classe X. Uma de suas propriedades é um readonly record struct Y. Logo abaixo o objeto X recebe uma deserialização de um Json. Neste caso o código não quebra, apesar de que, dentro do X contem o Y que é readonly. A pergunta é: Este código está sendo performático como deveria ser uma record struct? Ou no momento em que o X recebe essa deserialização, ele perde a performance? Nesse caso acontece o boxing?
Na verdade eu tinha lido nesse post resultado de um benchmarking: nietras.com/2021/06/14/csharp-10-record-struct/ Benchmarks showing record struct can be 20x faster with 100% less allocations than a plain struct
Opa Edu, tudo certinho? Eu vou fazer uma perguntinha, um pouco vaga, mas acho que você vai captar a ideia. no caso de DTOs imutáveis, qual seria a maneira recomendado quando o DTO tem um array, por exemplo, dentre suas propriedades?
Eu já venho priorizando structs à classes há alguns meses, mas tenho dúvidas de como organizá-los. Eu tenho criado uma classe abstrata chamada MyStructs e declarando todos os structs nela. É uma boa prática?
Adoro seus vídeos! Vou deixar só um feedback, talvez em vídeos assim mais teóricos, fosse ainda melhor sem uma música de fundo, sempre meu tdah ataca e eu fico trocando o foco entre o ritmo da música e você, daí acaba que perco algumas coisas que você fala. kkkk xP
Excelente vídeo!
Correção 13:44, structs podem implementar interfaces.
Deve cansativo pra vc, ensinar para nós leigos e curiosos... mas faz toda a diferença viu 💙
É hoje que vou reescrever todas as classes no trabalho kkkkk
Vlw, jovem
Vídeo excelente!
Cara, vídeo muito massa. Já vou me inscrever
Cara sua didática é surreal! Muito bom o video!
Show
Excelente o vídeo. Algumas sugestões para os próximos poderia ser a utilização de ValueTask vs Task e a utilização de Span para otimizar a utilização de strings.
Show!
Achei bem bacana o video, um ponto que curti bastante também foi a sugestão de usar record em dto, vou ver se consigo fazer um benchmark para comparar performance e uso de recursos para dto class vs dto record
Parabéns pelo conteúdo, o vídeo está muito bacana, contudo encontrei um pequeno erro de tradução no minuto 13:48 vc diz q uma struct não pode implementar interfaces e o que está escrito em inglês é : "however, a structure type can implement interfaces" ou seja "no entando o tipo struct pode implementar interfaces". Obrigado por continuar compartilhando conhecimento
Cara, Legal, seria bom se você fizesse um próximo exemplo usando uma API e mostrar a diferença no consumo de memoria com esse mesmo exemplos, seguindo o que você falou do DTO.
Com uma API não dá para demonstrar resultado só benchmarking mesmo.
Sensacional. Um assunto que estou interessado é como mensurar consumo de memória de uma aplicação e aplicar melhorias se possível
Muito bom cara. Você foi a fundo e mostrou por tŕas dos panos, só esperava que você falasse das diferenças básicas de implementação e de uso. Já ganhou um inscrito!
Excelente video Eduardo. Muito obrigado!!
Melhor que aulas de mestrado! Obrigado pelo empenho pela comunidade!
Obrigado por compartilhar seu conhecimento
Que conteúdo fantástico!
Muito bom!
Estou viciado nos videos de vocês.....
Parabéns!
Perfeito, meu querido Dudu
Oi Eduardo, parabéns pela meta atingida, fico feliz. é um trabalho primoroso e de vital importância. totalmente merecido. Abraço para você e sua equipe.
show de bola
Pergunta professor: Tenho uma classe X. Uma de suas propriedades é um readonly record struct Y. Logo abaixo o objeto X recebe uma deserialização de um Json. Neste caso o código não quebra, apesar de que, dentro do X contem o Y que é readonly. A pergunta é: Este código está sendo performático como deveria ser uma record struct? Ou no momento em que o X recebe essa deserialização, ele perde a performance? Nesse caso acontece o boxing?
massa demais .. parabéns pelo vídeo e obrigado pela contribuição !
Muito bom!!!!
Muito obrigado pela aula, foi sensacional!
Sou inscrito desde os primeiros 200 ou 400 inscritos do canal. De nada, Edu! Nós que somos gratos pelo conhecimento compartilhado!
Show! Muito obrigada!
Show demais! Valeu!
Muito bom hein!! baseado nisto, vc podia montar um video falando algoritmos de alta performance para busca de dados em DB
Esses ai dão um trabalho para montar rs
Já fiz alguns cursos de Eduardo e são tops. Muita experiência 👏🏻👏🏻👏🏻
Muito bom!! 👏🏻
Excelente conteúdo!
Legal Eduardo, Poderia passar o link onde você disse que seria melhor "record struct" ao invez de "struct" buscando maior performance?
Na verdade eu tinha lido nesse post resultado de um benchmarking:
nietras.com/2021/06/14/csharp-10-record-struct/
Benchmarks showing record struct can be 20x faster with 100% less allocations than a plain struct
Muito bom para peformance!
Muito bom!
Show, muito bom.
Opa Edu, tudo certinho?
Eu vou fazer uma perguntinha, um pouco vaga, mas acho que você vai captar a ideia.
no caso de DTOs imutáveis, qual seria a maneira recomendado quando o DTO tem um array, por exemplo, dentre suas propriedades?
Mestre, então se eu tenho uma Api, ela retorna pequenas informações no DTO, eu posso usar Record com struct nessas dto?
Muito bom Eduardo. Então no caso de uma view model, em que vou usar apenas tipos primitivos, vale a pena usar Struct né?
Depende do que você fizer com ela, nas docs das structs tem dados sobre cenários que promovem struct para Heap
Eu já venho priorizando structs à classes há alguns meses, mas tenho dúvidas de como organizá-los. Eu tenho criado uma classe abstrata chamada MyStructs e declarando todos os structs nela. É uma boa prática?
Gostei muito, mais surgiu uma duvida. Se eu criar um array de struct aonde ele vai locar?
Heap
Eduardo, vc só confundiu ali qdo diz que struct n pode implementar interfaces.
Verdade 😯
Existe algum cenário onde faça mais sentido usar uma classe no lugar de record?
Sempre, na verdade você usará record quando for trabalhar com DTOs e comparação de instâncias.
Adoro seus vídeos!
Vou deixar só um feedback, talvez em vídeos assim mais teóricos, fosse ainda melhor sem uma música de fundo, sempre meu tdah ataca e eu fico trocando o foco entre o ritmo da música e você, daí acaba que perco algumas coisas que você fala. kkkk xP
Boa... Uma dúvida: é possível adicionar atributos às propriedades de um record?
Pode sim!
aqui vai um comentário técnico: ao invés de falar "devs e devas" fala "devs e divas" :D
Uma dúvida surgiu... Então atualmente não existe mais sentido em utilizar class ao invés de record?
Tem sim, você precisa das parafernalhas extras que o Record oferece? Se não precisa vá de classe!
Conteúdo de primeiríssima classe!! 👏👏 ou record!? 🤔 kkkkkkkk
🥁
Muito bom!