SpbDotNet №94

SpbDotNet №94

Программа встречи

19:00 – 20:00 Денис Цветцих (Тинькофф) «LINQ Expressions: искусство запрашивать данные»

20:00 – 20:30 Перерыв

20:30 – 21:30 Юрий Малич (NP4 GmbH) «Методы повышения производительности .NET-приложения на примере программы поиска дубликатов»

После этих вдохновляющих речей приглашаем всех желающих в бар для обсуждения накопившихся вопросов и идей!

Денис Цветцих — «LINQ Expressions: искусство запрашивать данные»

Запросов на чтение данных в разы больше, чем запросов на их изменение. При этом логика фильтрации может меняться с течением времени. Поэтому важно уметь инкапсулировать правила для фильтрации в специальных обёртках, а также комбинировать их как между собой, так и с правилами без обёрток.

В докладе рассмотрим, как решить эту задачу при помощи современной реализации паттерна «Спецификация» с использованием LINQ Expressions и с какими подводными камнями можно столкнуться при его реализации. Поговорим и о наиболее удобных для использования библиотеках, в которых «Спецификация» уже реализована, в том числе как можно сделать её c использованием новых фич EF Core 7 или Source Generators.

Кроме того, спикер выберет наиболее удобный и эффективный способ фильтрации по вложенным коллекциям. И обсудит, как автофильтр помогает бороться с рутиной фильтрации.

Об авторе

Более 10 лет разрабатывает кровавый Enterprise на C# и .NET. Текущая область интересов — архитектура и паттерны проектирования. Считает, что лучшая метафора для архитектуры ПО — это не луковица, а баян. Автор курсов об архитектуре ПО на Udemy.

Юрий Малич — «Методы повышения производительности .NET-приложения на примере программы поиска дубликатов»

В данном докладе спикер поделится своим опытом повышения производительности .NET приложения на примере своей программы поиска дубликатов файлов.

В докладе будут описаны:

  • алгоритмические оптимизации;
  • низкоуровневые оптимизации (с примерами дизассемблерного кода);
  • многопоточные оптимизации при обращениям к SSD и HDD дискам;
  • методы повышения эффективности использования памяти и снижения нагрузки на GC.

Об авторе

Senior Software Developer. Опыт разработки на C# более 15 лет. Занимается бэк-эндом, консольными и десктопными приложениями. Работал в Nero над проектом Nero Burning Rom и в Tuneup Utilities над системными утилитами для Windows.  

Участие бесплатное, регистрация обязательна, количество мест ограничено!