Как ускорять динамический код при помощи Expression Trees?

  Рет қаралды 5,743

Dev Jungles - Andrii Podkolzin

Dev Jungles - Andrii Podkolzin

Күн бұрын

Пікірлер: 29
@Mnogoznaal_
@Mnogoznaal_ Жыл бұрын
Привет из Алматы! Смотрим тебя внутри нашей компании)
@ILICH1980
@ILICH1980 Жыл бұрын
Я недавно начал изучать шарп, нравится ваш контент.
@native-nature-video
@native-nature-video Жыл бұрын
ОГРОМНАЯ ПРОСЬБА!!! Мне, как подписчику канала, было бы намного удобнее понимать контент если бы размер шрифта был раза в 2 больше или разрешение экрана было в пределах 1024-1980. На ноутбуке и на планшете вообще ничего не видно. С огромным уважением, подписчик.
@DevJungles
@DevJungles Жыл бұрын
Шрифт стараюсь делать больше. Это фрагмент из довольно старого стрима, надеюсь в новых видео получше. (Не х2, но может хотя бы х1.3) Сильно больше тогда сложно снимать и писать этот код становится (( Про разрешение экрана не очень понял ... У меня все видео отсняты с экрана 1920х1080
@pashauk-01
@pashauk-01 Жыл бұрын
Дякую за контект! Декілька років з .NET, проте завжди є куди рости. А завдяки таким людям як ти це робити набагато легше :)
@EugeneS88-RU
@EugeneS88-RU Жыл бұрын
18:53 Можно использовать движок Unity, там есть функционал для этого - compute shaders.Все пишется на C#
@Димасвидинский-ю2е
@Димасвидинский-ю2е Жыл бұрын
Спасибо за новые знания, а то я метанит по C# уже выучил и встал в изучении.
@DevJungles
@DevJungles Жыл бұрын
Ще багато попереду)) Починай фігачити проекти!
@skulidropek607
@skulidropek607 Жыл бұрын
Лайк
@vladislavzainullin
@vladislavzainullin Жыл бұрын
Хороший контент
@native-nature-video
@native-nature-video Жыл бұрын
Спасибо за видос! Насколько полезно/оправдано использование AutoMapper? Сколько раз не пробовал на разных проектах, так и не понял в чем его преимщество на ручным маппингом\projection-ом. Единственный плюс, который ениходит на ум - маппинг одних и тех же объектов в разных методах. Но это довольно редко бываает. Зпчастую больше време5ни уходит на конфигурации маппингов Automapper- чем напискать сам маппинг вручную.
@DevJungles
@DevJungles Жыл бұрын
Мне самому не очень нравится необходимость маппинга, не большой я фанат и ДТОх. Но на всех проектах где я работал последнее время он использовался. Конфиг писать обычно толком и не приходится и на одно место меньше помнить, когда добавляешь новое свойство.
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
На C# для программирования на GPU есть Cudafy
@DevJungles
@DevJungles Жыл бұрын
Эх... Как-то уже лет 10 не видел видеокарт вживую)
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
@@DevJungles мне на одной из предыдущих работ нужно было делать генерацию и обработку большого числа данных. Если бы тогда знал про cudafy можно было бы делать все на c#. А так пришлось часть делать на c++/cuda
@AnthonyUnical
@AnthonyUnical Жыл бұрын
Лучше использовать c++/cuda/dllimport. Для простейших операций cudafy может подойти, но что-то сложное на нем делать очень трудно. Особенно если речь идет об использовании constant или shared memory и конфликты памяти.
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
@@AnthonyUnical в принципе, я согласен. По быстрому что-то попробовать, а потом переписать нормально. Особенно учитывая, что cudafy вроде как заброшен. Хотя, что-то действительно сложное - куча вычислений + распределенщина на кластер, я бы потратил время, разобрался и написал на chapel-lang, но это уже не про дотнет.
@havendv
@havendv Жыл бұрын
Можно взглянуть еще на ComputeSharp
@Hunter314414
@Hunter314414 Жыл бұрын
Спасибо за видос! Для поиска инфы все-таки советую пользоваться ChatGPT хоть иногда. Попросил его написать тот же expression с person и вот что выдал)) public class Program { public static void Main() { // Параметры для свойств Name и Surname var nameParameter = Expression.Parameter(typeof(string), "name"); var surnameParameter = Expression.Parameter(typeof(string), "surname"); // Создание нового объекта Person var person = Expression.New(typeof(Person)); // Установка свойства Name var nameProperty = Expression.Property(person, "Name"); var assignName = Expression.Assign(nameProperty, nameParameter); // Установка свойства Surname var surnameProperty = Expression.Property(person, "Surname"); var assignSurname = Expression.Assign(surnameProperty, surnameParameter); // Блок выражений для объединения установки свойств var body = Expression.Block(assignName, assignSurname, person); // Компиляция выражения в лямбда-выражение var personLambda = Expression.Lambda(body, nameParameter, surnameParameter).Compile(); // Использование лямбда-выражения для создания нового объекта Person var newPerson = personLambda("John", "Doe"); Console.WriteLine($"Person Name: {newPerson.Name}, Surname: {newPerson.Surname}"); } }
@DevJungles
@DevJungles Жыл бұрын
Кажется оригинальный стрим еще был выпущен даже до релиза ChatGPT или только-только после, когда еще доступ не везде открыли.
@underrated_exile
@underrated_exile Жыл бұрын
Видос супер, но было бы очень приятно, используй ты тёмную тему, а то у меня зенки слепнут от этой флешки.
@DevJungles
@DevJungles Жыл бұрын
Когда начинал кодить черной темы не было. Вот и привык так
@underrated_exile
@underrated_exile Жыл бұрын
@@DevJungles да, понимаю, привычки и предпочтения. У каждого они разные и я не требую ничего, просто говорю, что на мой взгляд выглядело бы лучше. Но видос действительно оооочень яркий. наверное самый яркий из всех
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
Вывод типов на уровне класса, это - зло. Можно долго искать - почему не выводится. Очень удобно, когда параметры generic коллекций выводятся из использования, ниже создания. Типа var map = new Dictionary(); map.add("k1", 5); Выведется Dictionary
@DevJungles
@DevJungles Жыл бұрын
А если так var map = new Dictionary(); if (await condition()) map.Add("k1", 5); else map.Add(5, "k1"); map.Add(1, 1);
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
@@DevJungles выведется по первому использованию, а на остальные кейсы будет ругаться. Или не выведется вообще. Сейчас не на чем проверить.
@denisstepanenko3037
@denisstepanenko3037 Жыл бұрын
Или выведется наиболее общий тип. Т.е. object
@НатаниэльДампо
@НатаниэльДампо Жыл бұрын
Путину и его власти нужно было давно сделать Dispose, росийские программисты не написали нужные строки). Теперь всу рефакторят говнокод.
@vasiliylu8054
@vasiliylu8054 Жыл бұрын
Если бы все это говно было в виртуалке, то было бы забавно, а так - гибнут и калечатся люди по прихоти свихнувшихся и зажравшихся свиней.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Методы AsEnumerable и AsQueryable бесполезны?
35:02
Dev Jungles - Andrii Podkolzin
Рет қаралды 7 М.
Классификация функций. Часть 2 | Вокабуляр программиста
52:59
Введение в программирование
Рет қаралды 58
Реальные примеры использования dotMemory
26:24
Dev Jungles - Andrii Podkolzin
Рет қаралды 2,3 М.
Денис Цветцих - LINQ Expressions: искусство запрашивать данные
57:53
DotNext — конференция для .NET‑разработчиков
Рет қаралды 4,1 М.
Code Review типового .NET приложения с Blazor: CMS от @АйТиБорода
1:01:22
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН