DetailedTalks 2023 - DotNetRu/BrandBook GitHub Wiki
Когда и где | Докладчик | Доклад | Ссылки |
---|---|---|---|
14 декабря 2023 г. Встреча SpbDotNet №93 |
Георгий Круглов |
Blazor: Frontend For Backend Погружение в механизмы работы Blazor (Server и WebAssembly), обзор возможностей Razor и библиотек компонентов для него. |
Видео Слайды |
14 декабря 2023 г. Встреча SpbDotNet №93 |
Евгений Пешков |
ConcurrencyToolkit В .NET из коробки есть разные примитивы синхронизации и concurrent-коллекции: SemaphoreSiim, ConcurrentDictionary, ConcurrentQueue, BlockingCollection, Channel и другие. Реализация подобных примитивов – всегда tradeoff: между сложностью кода, блокировками, аллокациями. Чтобы привнести в .NET мир новые достижения в concurrency из других платформ, Евгений Пешков разработал библиотеку ConcurrencyToolkit, с альтернативными реализациями async семафоров и key-value коллекций. Подробно поговорим о ней, а также о других библиотеках для написания производительного многопоточного кода, таких как Disruptor.NET и NonBlocking. |
Видео Слайды Демо |
21 ноября 2023 г. Встреча SpbDotNet №92 |
Вадим Мартынов |
DI-контейнеры в NUnit-тестах В автотестах разных проектов часто можно встретить повторяющиеся проблемы — код тестов сложный для чтения, навигации и рефакторинга; тесты не параллельны, и их сложно распараллеливать; запуск одного теста может вызывать длительные действия подготовки иногда не нужных ему данных; из-за хитроспелетений [SetUp]-ов и наследования сложно понять, в каком контексте работает конкретный тест. Попробуем решить эти проблемы, используя общепризнанные практики написания кода и посмотрим, что из этого получится. |
Видео Слайды |
21 ноября 2023 г. Встреча SpbDotNet №92 |
Максим Шошин |
Serverless. Под капотом Cloud Functions Доклад о внутреннем устройстве Cloud Functions в Yandex Cloud. Подобный сервис реализован у всех крупных облачных провайдеров — Azure, AWS и Google Cloud. Доклад для тех, кто планирует использовать в своей работе serverless-сервисы и хочет глубже понимать, как устроены механизмы работы одного из самых базовых сервисов этой экосистемы. Этот доклад также будет любопытен тем, кто интересуется внутренним устройством высоконагруженного распределённого сервиса. Рассмотрим: - Примеры использования и границы применимости сервиса Cloud Functions. - Распределённую архитектуру и внутреннее устройство системы. - Планировщик, механизм масштабирования и эвристики. - Проблемы, с которыми сталкивались, и пути их решения. |
Видео Слайды |
28 сентября 2023 г. Встреча SpbDotNet №91 |
Евгений Пешков |
Убийцы производительности Одна из причин низкой производительности .NET-приложений — некачественные сторонние библиотеки или неправильное их использование. Например, обычное логирование может превратить всю программу в однопоточную, если неправильно сконфигурировано. Увы, некоторые подобные проблемы кочуют из библиотеки в библиотеку, и из проекта в проект. В докладе спикер покажет примеры таких проблем и расскажет, как их избежать. |
Видео Слайды |
28 сентября 2023 г. Встреча SpbDotNet №91 |
Станислав Сидристый |
Реактивная сборка огромного проекта При стремительном росте проекта возникает ряд трудностей не только у разработки, но и у DevOps. Спикер решил помочь коллегам и сделал очень быструю сборку всех проектов. В итоге удалось ускорить сборку с 400 машиноминут (20 агентов, 20 минут) до диапазона (30 сек, 1 мин 30 сек) в зависимости от количества изменений. Через что пришлось пройти, все неудачные варианты и результат — в докладе. |
Видео Слайды |
10 августа 2023 г. Встреча SpbDotNet №90 |
Николай Пьяников |
Pure.DI Будет немного теории по DI, этапы DI эволюции контейнеров: чистый DI, DI-контейнеры на основе Dictionary, LINQ Expressions и Reflection.Emit. Докладчик расскажет о своём pet-проекте — генераторе исходного кода Pure.DI. |
Видео Слайды Демо |
10 августа 2023 г. Встреча SpbDotNet №90 |
Михаил Руковишников |
Фича-флаги. Практический пример реализации В докладе мы поговорим про то, что такое фича-флаги и какие проблемы они решают. Рассмотрим различные пути их реализации и подробно разберём подход который выбрала наша команда. В конце доклада выбранное решение будет продемонстрировано на практике. |
Видео Слайды Демо |
8 июня 2023 г. Встреча SpbDotNet №89 |
Никита Маслов |
Простая архитектура Никита поделится своим опытом разработки enterprise-приложений. Расскажет и покажет, как можно верхнеуровнево организовать архитектуру, использовать давно известные паттерны, обрабатывать ошибки. Также поговорим о тестировании. |
Видео Слайды Демо |
8 июня 2023 г. Встреча SpbDotNet №89 |
Никита Мошкалов |
Прослеживаемость в ASP.NET Core Как поймать за хвост своё приложение — учимся определять маршрут запросов, исследуем производительность и выпытываем прочие подробности процесса жизнедеятельности. |
Видео Слайды |
25 мая 2023 г. Встреча SpbDotNet №88 |
Роман Булдыгин |
Анатомия Nuke Разберёмся, как устроена система автоматизации CI/CD Nuke и соберём простую библиотеку с его помощью. |
Видео Слайды |
25 мая 2023 г. Встреча SpbDotNet №88 |
Анатолий Кулаков |
Build as Code Всё становится лучше, если оно код. За время эпохальных революций человечество развивалось в сторону удобной работы с кодом. Было придумано и внедрено бесчисленное количество инструментов, стратегий, практик, развивалось обучение, печатались книги, записывались курсы. Непростительно пренебрегать этим наследием. Долой кнопочки, менюшки, формочки и прочие пережитки прошлого. Настало время превратить в код процесс сборки ваших приложений. Чистый, тестируемый, изменяемый, поддерживаемый и понятный код. В докладе подробно рассмотрим процесс построения .NET-приложений с помощью кода. Особое место будет отдано сборке в docker-контейнере. Обсудим все неоспоримые плюсы и сомнительные минусы такого подхода. Затронем работу с артефактами, интеграции и безопасность полученных решений. |
Видео Слайды Демо |
10 апреля 2023 г. Встреча MskDotNet №52 |
Роман Просин |
Аутентификация и авторизация на платформе .NET и Keycloak Платформа ASP.NET Core предоставляет всё необходимое для защиты приложений и данных. Но часто встречаются пользовательские решения, которые не удовлетворяют стандартам и не проходят тщательного тестирования. Спикер поделится опытом разработки защищенных приложений с использованием стандартизированных средств ASP.NET Core: Negotiate, OAuth 2.0, OIDC. Покажет как защитить клиенты различных типов Front/Backend/Job. Покажет различные модели авторизации. Расскажет, чего делать не стоит. |
Видео Слайды |
10 апреля 2023 г. Встреча MskDotNet №52 |
Андрей Парамонов |
MediatR не нужен В индустрии использование MediatR считается хорошим тоном. Поработав с большим количеством сервисов, в которых его применяли, спикер понял, что в 99% случаев он вреден. Почему так и этому есть доказательства — обо всем этом вы узнаете из доклада. |
Видео Слайды |
21 марта 2023 г. Встреча SpbDotNet №87 |
Игорь Лабутин |
Что нового в .NET 7 и C# 11 Вместе с релизом .NET 7 вышел C# 11 с новыми возможностями: generic math, raw string literals и list patterns. В докладе рассмотрим, что интересного можно найти в новой версии .NET и сопутствующих фреймворках — ASP.NET Core, MAUI, Blazor и других. Обязательно затронем minimal APIs, source generators и WebAssembly. Обсудим какие фичи облегчают написание современных cloud-native приложений: интеграция с OpenTelemetry, автогенерация докер-контейнеров, rate limiting и прочее. И, конечно же, не забудем про улучшение производительности. |
Видео Слайды |
21 марта 2023 г. Встреча SpbDotNet №87 |
Евгений Пешков |
Алгоритмы троттлинга запросов Проблемы на бэкенде периодически случаются у всех. Части этих ситуаций можно избежать, если провести нагрузочное тестирование, определить пределы возможностей сервиса и заранее ограничить количество одновременно обрабатываемых запросов. Это позволяет сгладить неравномерность нагрузки и справиться с обработкой хотя бы части запросов, что гораздо лучше полного падения сервиса. Решить задачу Rate Limiting помогает примитив синхронизации под названием семафор. Он пропускает внутрь заданное количество потоков, а остальные ставит в очередь. Однако современные приложения — асинхронные, использовать в них обычный семафор неэффективно. И здесь у разработчиков фреймворков и highload-сервисов появляется необходимость выбора алгоритма реализации семафора, работающего не на уровне потоков, а на уровне асинхронных задач. Неудачно выбранный алгоритм еще больше нагрузит сервис, который и так работает под нагрузкой на пределе возможностей. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Иван Кулага |
Entity Framework 7 interceptors: что такое и с чем едят? В докладе рассмотрим что такое interceptors и где их можно использовать, а так же какие изменения коснулись interceptors в новой версии EF 7. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Андрей Порожняков |
Minimal Web API на ASP.NET Core 7 В докладе Андрей расскажет о предпосылках появления и основных технических возможностях Minimal Web API. Отдельно отметит новые функции, связанные с выходом .NET 7. Приведёт примеры аналогичных технологий в других языках и поделится своими рекомендациями по использованию Minimal Web API. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Антон Шевченко |
.NET Интерактивно — Polyglot Notebooks В научном сообществе привычно доминирует Python. И всё благодаря распростарнённому инструменту Jupyter Notebooks. Поговорим об его аналоге для .NET — Polyglot Notebooks. Что это такое, с чем едят. И вообще что может дать .NET-сообществу. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Сергей Кузьмин |
Кеширование в .NET 7 Сергей расскажет про новый тип кеширования в .NET 7, о его преимуществах перед существующими реализациями, про то, как его можно настроить, а также про новые метрики для кешей, которые теперь будут доступны из коробки. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Александр Егорченков |
Регионы в GC Отличие новых регионов в сравнении со старыми сегментами при работе с памятью. Плюсы и минусы. Что мы получили в итоге. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Валерий Никитин |
.NET 7 user-jwts Tool Обсудим аутентификацию, авторизацию, как для решения этих задач подходит JWT и посмотрим на новую утилиту dotnet user-jwts, на её возможности в локальной разработке. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Александр Катин |
Обобщённые атрибуты Докладчик напомнит об ограничениях атрибутов и покажет, как их можно было обходить раньше с помощью рефлексии и как работать с ними теперь — с помощью обобщений. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Николай Гущарин |
Автогенерация клиента SignalR с использованием Source Generator Познакомимся с новым способом создания клиентов для SignalR, который появился в релизе .NET 7. Сравним его с классическим подходом и разберём их плюсы и минусы. |
Видео Слайды |
16 февраля 2023 г. Launch of .NET 7 |
Георгий Круглов |
Entity Framework 7: Table Per Concrete type Обзор новой стратегии хранения иерархий, появившейся в Entity Framework 7 и сравнение её с ранее существовавшими решениями. |
Видео Слайды |
26 января 2023 г. Встреча SpbDotNet №85 |
Серафима Лебедева |
Как подготовиться к выступлению (докладу)? Структура, логика, приёмы Разберём основные вопросы возникающие при подготовке к выступлениям. |