LINQ-Expressions-the-Art-of-Querying-Data.pdf
6.7 MB
🔻Юрий поделился опытом повышения производительности .NET приложения на примере своей программы поиска дубликатов файлов. В докладе описаны:
• алгоритмические оптимизации;
• низкоуровневые оптимизации (с примерами дизассемблерного кода);
• многопоточные оптимизации при обращениям к SSD и HDD дискам;
• методы повышения эффективности использования памяти и снижения нагрузки на GC.
🔺Запросов на чтение данных в разы больше, чем запросов на их изменение. При этом логика фильтрации может меняться с течением времени. Поэтому важно уметь инкапсулировать правила для фильтрации в специальных обертках, а также комбинировать их как между собой, так и с правилами без оберток.
🔺Денис рассказал, как решить эту задачу при помощи современной реализации паттерна «Спецификация» с использованием LINQ Expressions и с какими подводными камнями можно столкнуться при его реализации. Он затронул и наиболее удобные для использования библиотеки, в которых «Спецификация» уже реализована, в том числе, как можно сделать ее c использованием новых фич EF Core 7 или Source Generators.
#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍7🤔3😁1💯1
#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤2
👨💻 Ключевые изменения в документации .NET за февраль 2024 года, хоть и с опозданием
📌 Новые статьи:
🔹 Дублирование вывода для -getItem, -getProperty и -getTargetResult
🔹 Проверка сертификатов перед загрузкой удаленных изображений в PictureBox
🔹 InMemoryDirectoryInfo добавляет rootDir к файлам
🔹 Перечисление текущего пути каталога диска
🔹 Импорт .user файла во внешние сборки
🔹 Установка ограничения на размер встроенного массива структур
📌 Основы .NET
🔹 Обзор MSTest SDK
🔹 Что нового в контейнерах для .NET 8.
🔹 Что нового в .NET 8
🔹 Что нового в SDK и инструментах для .NET 8
🔹 Что нового в .NET 9
📌 C#:
🔹 Устранение ошибок и предупреждений, связанных со ссылками на сборки
🔹 new (Справочник по C#)
📌 ML.NET:
🔹 Как форматировать данные для Named Entity Recognition (NER)
📌 Обновленные статьи:
🔸 Класс System.Reflection.Emit.AssemblyBuilder: обновление информации о сохраняемом AssemblyBuilder
🔸 Что нового в .NET 8 runtime: разделение нововведений в .NET 8 по SDK/runtime
#чтопроисходит
📌 Новые статьи:
🔹 Дублирование вывода для -getItem, -getProperty и -getTargetResult
🔹 Проверка сертификатов перед загрузкой удаленных изображений в PictureBox
🔹 InMemoryDirectoryInfo добавляет rootDir к файлам
🔹 Перечисление текущего пути каталога диска
🔹 Импорт .user файла во внешние сборки
🔹 Установка ограничения на размер встроенного массива структур
📌 Основы .NET
🔹 Обзор MSTest SDK
🔹 Что нового в контейнерах для .NET 8.
🔹 Что нового в .NET 8
🔹 Что нового в SDK и инструментах для .NET 8
🔹 Что нового в .NET 9
📌 C#:
🔹 Устранение ошибок и предупреждений, связанных со ссылками на сборки
🔹 new (Справочник по C#)
📌 ML.NET:
🔹 Как форматировать данные для Named Entity Recognition (NER)
📌 Обновленные статьи:
🔸 Класс System.Reflection.Emit.AssemblyBuilder: обновление информации о сохраняемом AssemblyBuilder
🔸 Что нового в .NET 8 runtime: разделение нововведений в .NET 8 по SDK/runtime
#чтопроисходит
❤5👍5