Курс на Stepik
Обложка курса «Эффективные запросы LINQ в C#» на Stepik
999 ₽

Эффективные запросы LINQ в C# 0.000

Открыть на
STEPIK.ORG
Категории курса

LINQ для разработчиков уровня middle, которые пришли в C# из других языков: как устроены операторы, что происходит при перечислении, как запрос превращается в SQL и где LINQ стоит дорого. Двенадцать глав на C# 15 и .NET 11 вокруг одного рабочего проекта — сервиса сверки платежей.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Эффективные запросы LINQ в C#»Учеников на курсе 0
Сертификаты, выданные на курсе «Эффективные запросы LINQ в C#»Сертификатов выдано 0
Отзывы о курсе «Эффективные запросы LINQ в C#»Отзывов получено 0
Рейтинг курса «Эффективные запросы LINQ в C#»Рейтинг курса 0.000
Уроки в курсе «Эффективные запросы LINQ в C#»Количество уроков 109
Тесты в курсе «Эффективные запросы LINQ в C#»Количество квизов 56
Стоимость курса «Эффективные запросы LINQ в C#»Стоимость курса 999 ₽
Обновления курса «Эффективные запросы LINQ в C#»Обновления курса
Дата публикации курса «Эффективные запросы LINQ в C#»Дата публикации курса
Последнее обновление курса «Эффективные запросы LINQ в C#»Последнее обновление
Сложность normal

Чему вы научитесь

  • Читать конвейер LINQ как описание преобразования и предсказывать, когда и сколько раз выполнится каждый оператор
  • Выбирать оператор под задачу: GroupBy против ToLookup, Join против HashSet, MaxBy против сортировки, CountBy и AggregateBy вместо группировки
  • Писать соединения и операции над множествами с правильными comparer, включая LeftJoin и FullJoin
  • Создавать собственные операторы на yield и extension-блоках с проверкой ленивости в тестах
  • Измерять стоимость конвейера BenchmarkDotNet и решать, где LINQ заменить циклом или Span
  • Строить деревья выражений для динамических фильтров и сортировок и понимать границы их трансляции
  • Писать запросы EF Core, которые переводятся в один SQL, и проверять это через ToQueryString
  • Работать с асинхронными потоками, отменой, PLINQ и каналами в конвейерах загрузки данных
  • Проектировать слой данных сервиса без утечки IQueryable наружу, с read-моделями и keyset-пагинацией
  • Проводить ревью LINQ-кода по чек-листу и находить антипаттерны, которые не ловят анализаторы

О курсе

LINQ для разработчиков уровня middle, которые пришли в C# из других языков: как устроены операторы, что происходит при перечислении, как запрос превращается в SQL и где LINQ стоит дорого. Двенадцать глав на C# 15 и .NET 11 вокруг одного рабочего проекта — сервиса сверки платежей.

Для кого этот курс

Backend- и системные разработчики уровня middle, которые перешли в C# из Python, Java, Kotlin, JavaScript, Go или Rust и уже пишут на нём, но LINQ используют по аналогии с привычными map/filter. C#-разработчики, которым нужно понять, почему запросы медленные, почему EF Core не переводит выражение или почему результат отличается от ожидаемого. Курс не подойдёт тем, кто только начинает программировать или ещё не знаком с C#.

Начальные требования

  • Уверенное программирование на любом backend-языке: коллекции, функции высшего порядка, интерфейсы, базовый SQL
  • Базовый синтаксис C#: классы, методы, лямбды, generics — глубокого знания не требуется
  • Установленный .NET 11 SDK и редактор (VS Code с C# Dev Kit, Rider или Visual Studio)
  • Умение работать с командной строкой и dotnet CLI

Преподаватели курса

Формат курса

Текстовые уроки с большим объёмом кода из сквозного проекта. После каждого урока — практическое задание в проекте Tally и вопросы для самопроверки; в конце глав с третьей по десятую — тестовые задачи с одним верным ответом и объяснением. Дедлайнов нет, порядок прохождения — последовательный.

Что вы получите

  • Проект Tally: сервис сверки платежей на .NET 11 с CLI, HTTP API, тестами и бенчмарками, который собирается и запускается на своих данных
  • Библиотеку собственных операторов LINQ: Windowed, Pairwise, RunningTotal, DistinctUntilChanged, GroupAdjacent, TakeUntil
  • Готовые компоненты для сервиса: динамические фильтры и сортировка на expression trees, спецификации, курсорная пагинация, потоковый экспорт
  • Каталог антипаттернов LINQ с заменами и чек-лист код-ревью
  • Настройку анализаторов .NET для LINQ в .editorconfig
  • Шпаргалку соответствий операторов LINQ для Python, Java, Kotlin, JavaScript, Rust и Go

Нагрузка

4–6 часов в неделю

Расскажите о курсе друзьям