Начало основного контента

  • Смотреть запись

    Тип доклада: Доклад

    Open source с точки зрения юриста

    Open source — неюридическая тема, в основе которой лежит юридическая проблематика. Мы поговорим о том, почему юрист становится лучшим «другом» разработчика, и как избежать неожиданных рисков для компании при использовании компонентов или ПО с открытым кодом. Также поговорим о тенденциях в области привлечения к ответственности за нарушения, связанные с неправомерным использованием open source. Узнаем, как это происходит и почему вообще мы должны об этом переживать, разрабатывая ПО в России.

  • Смотреть запись

    Тип доклада: Обсуждение

    Открытие конференции DotNext 2022 Autumn

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

  • Смотреть запись

    Тип доклада: Доклад

    Ситидрайв: поездка продолжается

    Удивительная и местами невеселая история о том, как в Ситидрайв удается давать клиентам доступ к десяти тысячам машин круглые сутки. Рецепт одного из крупнейших каршерингов: NodeJS, Redis, RabbitMQ и маленькая щепотка удачи.

  • Смотреть запись

    Тип доклада: Доклад

    Интересные подходы в реализации паттернов проектирования

    За годы исследований паттернов проектирования в C# удалось выявить некоторые интересные подходы, которые креативно используют возможности языка. В этом докладе посмотрим на то, как некоторые паттерны проектирования Банды Четырех могут быть реализованы весьма необычным путем.

  • Смотреть запись

    Тип доклада: Интервью

    Интервью с Романом Неволиным

    Интервью со спикерами DotNext 2022 Autumn: настоящее и будущее .NET, впечатления от конференции и подробности, не вошедшие в доклады.

  • Смотреть запись

    Тип доклада: Доклад от партнера

    Shared Modules

    Обсудим проблему дублирования статики между разными микрофронтендами.

    Андрей покажет, как в hh.ru шарили общие модули вендоров, собственных библиотек и UI-кита между разными микрофронтендами. Расскажет, как и зачем добавляли общие модули в микрофронтенды, и что делать, если версии общих модулей разъехались. 

    Также поговорим о том, как в hh.ru устроены микрофронтенды и как настроить `ModuleFederationPlugin` для шаринга общих модулей. Какие особенности могут вас ожидать при написании npm-пакета, если он становится общим модулем.

    Будет интересно фронтенд-разработчикам, которые пишут сборки или следят за тем, какое количество скриптов грузят обычные пользователи, заходя на сайт.

  • Смотреть запись

    Тип доклада: Доклад от партнера

    Уязвимость регулярных выражений: теория и практика ReDoS-атак

    В своем докладе Алексей ответит на вопрос: «Как злоумышленник может заставить вашу валидацию работать на себя?» Он разберет, почему компоненты от Microsoft, содержащие регулярные выражения, не всегда безопасны, а также предложит решения на случай уязвимости вашего сервиса к ReDoS-атакам.

  • Смотреть запись

    Тип доклада: Обсуждение

    Подведение итогов online-части конференции DotNext 2022 Autumn

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

  • Смотреть запись

    Тип доклада: Интервью

    Интервью с Дмитрием Таболичем

    Интервью со спикерами DotNext 2022 Autumn: настоящее и будущее .NET, впечатления от конференции и подробности, не вошедшие в доклады.

  • Смотреть запись

    Тип доклада: Доклад

    Что нового в .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 и прочее. И, конечно же, не забудем про улучшение производительности.

  • Смотреть запись

    Тип доклада: Доклад

    Архитектурные тесты

    Когда речь заходит о более или менее сложной системе, для которой предполагается длительное существование, а главное, развитие, вопрос архитектуры становится крайне важным. Но как в процессе жизни системы контролировать правила, которые предполагает та или иная архитектура?

  • Не записывалось

    Тип доклада: Доклад

    Lightning talks

    Lightning talks — это мини-доклады от участников конференции. На Lightning talks действуют три правила: время доклада строго не более 10 мин читать доклады могут только участники конференции; доклад должен как-то пересекаться с IT в широком понимании. Активность не будет транслироваться.

  • Смотреть запись

    Тип доклада: Доклад

    SkillsFlow: разработка системы управления навыками и компетенциями

    Спикер расскажет о создании системы развития и оценки навыков SkillsFlow. Вы узнаете о глобальной структуре навыков и компетенций для цифрового мира и о том, как реализовать систему непрерывной оценки навыков, начиная с входного интервью кандидата и заканчивая путём развития сотрудника в организации.

    По технике будут продемонстрированы возможности ASP.NET Core (кэширование и сжатие ответов, отслеживание изменений конфигурации в K8S без перезагрузки, аутентификация и авторизация OIDC, OAuth, политики авторизации и авторизация на основе ресурсов), ML.NET, развёртывание, управление секретами и конфигурацией в K8S.

  • Смотреть запись

    Тип доклада: Доклад

    Думай как архитектор: майндшифт инженера

    Разберем часто встречающиеся барьеры и сложности на пути профессионального роста инженера, а также возможные пути их преодоления. Посмотрим, как мыслит архитектор в различных ситуациях, и попробуем понять ключевые отличия и нюансы, которые стоит учесть инженеру.

  • Не записывалось

    Тип доклада: Обсуждение

    Fail-секция

    Каждый провал — это на самом деле интересная инженерная задача. Поэтому мы так любим слушать про чужие ошибки и способы их преодоления.

    На сессии спикеры расскажут о своих фэйлах и о том, чего стоило их починить. Активность не транслируется и не записывается.

  • Смотреть запись

    Тип доклада: Доклад

    Анимации и их оптимизация в корпоративных проектах

    Анимации на сайте позволяют управлять вниманием пользователя, делают просмотр более приятным, а информацию более запоминающейся. Для SPA анимация является еще более важным элементом, позволяющим сгладить рендер страницы и имитировать поведение нативного приложения.

    Несмотря на удешевление производительности устройств, анимации все еще остаются достаточно «тяжелой» историей для браузера, и приходится прикладывать немало усилий для плавности анимации и высокого FPS.

    На примере анимаций с реальных проектов рассмотрим состояние топ 10 универсальных библиотек для создания анимаций, обсудим плюсы и минусы их использования, разберёмся, когда удобнее использовать конкретную библиотеку и обсудим некоторые нюансы их использования. В конце рассмотрим частые случаи проблем с производительностью и варианты их решения.

  • Смотреть запись

    Тип доклада: Обсуждение

    Объединяем .NET-разработчиков: как запустить и развить гильдии в компании

    Гильдии — сообщества специалистов, объединенных технологическим стеком и общими целями. Их участники обмениваются опытом, устанавливают общие стандарты и имеют реальную возможность влиять на процессы в компании. На круглом столе поговорим о том, какие еще преимущества дают гильдии, и как запустить их у себя.

    Участники дискуссии — лидеры гильдий .NET из Альфа-Банка, Контура, Додо и Почтатеха. Они поделятся опытом построения и развития сообществ: вы узнаете, как продать идею гильдий руководству, должны ли гильдии быть частью оргструктуры и какова во всем этом роль лидера.

  • Смотреть запись

    Тип доклада: Доклад

    Instruction pipelining от 8086 до 2022: как работает конвейер в современных процессорах

    Superscalar pipeline, µop cache, branch prediction, pattern recognition, Out-Of-Order pipeline, re-order buffer, да и просто hyper-threading — все эти механизмы и технологии добавляются в современные процессоры для ускорения выполнения инструкций и улучшения производительности конечных программ. Но глобально современные архитектуры мало чем отличаются от первых Пентиумов и очень похожи на процессоры 8086.

    Как работают RISC-процессоры в 2022 году и как это влияет на .NET-программистов — посмотрим на простом примере прикладной задачи расчета выручки сети супермаркетов.

  • Смотреть запись

    Тип доклада: Доклад

    WebTransport и его место среди других протоколов

    Спикеры расскажут о технологии WebTransport и ее применении. Сейчас она находится в стадии draft и активно разрабатывается W3C.

    Доклад познакомит разработчиков с текущим состоянием технологии, мотивацией ее появления и сравнит с существующими решениями.

  • Смотреть запись

    Тип доклада: Доклад

    lock(_sync): иллюзия идеального выбора

    Ввиду того, что lock является конструкцией языка, которая лаконично и понятно создает секцию монопольного исполнения кода, это создает иллюзию единственно верного решения. Спикер рассмотрит алгоритм его работы и ответит на вопрос: так ли это?

  • Смотреть запись

    Тип доклада: Доклад

    Хаки и ветчина из JS-геймдева, которые подходят для велосипедных оптимизаций приложений в вебе

    Доклад для тех, кто пишет свои игры или высоконагруженные распределенные модели данных. Например, стартап с бесконечной доской и тасками на ней. Спикер рассмотрит связь некоторых высокоуровневых концептов и простого кода на JS. Полученные знания могут пригодиться при написании своих велосипедов и при изучении низкоуровневых вставок в коде популярных библиотек. Весь доклад построен на GameDev-опыте, в частности — разработки рендерера PixiJS.

  • Не записывалось

    Тип доклада: Доклад

    Lightning Talks: что нас бесит в .NET

    Все мы любим .NET. Но, если быть до конца честными, у каждого найдется что-то, что он хотел бы в технологии поменять.

    Этому и будет посвящена секция.

  • Смотреть запись

    Тип доклада: Интервью

    Интервью с Вадимом Мартыновым

    Интервью со спикерами DotNext 2022 Autumn: настоящее и будущее .NET, впечатления от конференции и подробности, не вошедшие в доклады.

  • Смотреть запись

    Тип доклада: Доклад

    Введение в реактивное программирование

    React — не реактивен (спойлер: не совсем), а вот Vue, Svelte и Angular — да. Но почему? Во времена jQuery, когда программа получала данные, она должна была знать все места, где эти данные задействованы, чтобы обновить их. Сейчас же фреймворки позволяют вам просто обновить данные, а отображением они уже займутся сами. Это один из принципов реактивности — инверсия зависимостей. Отображение следит за изменением данных, чтобы сделать что-то самой. В React этого не происходит, но все же стало лучше, чем было — теперь не нужно обновлять вручную во всех местах, за нас это сделает фреймворк. Доклад будет не о фреймворках, хотя и о них тоже поговорим, а больше про фундаментальные вещи.

  • Смотреть запись

    Тип доклада: Доклад

    Пишем код, когда пишем код: source generator'ы

    Спикер рассмотрит разные варианты решения реальной задачи и сравнит их плюсы и минусы. Обсудим подробно вариант с генерацией кода: какие есть преимущества у такого решения, какие возникают проблемы и как их решать.

  • Смотреть запись

    Тип доклада: Доклад

    А почему бы не вынести все конфиги в отдельный пакет, сократив бойлерплейт до нуля?

    Вам когда-нибудь приходилось копировать конфиги ESlint, Babel, Webpack и других инструментов из проекта в проект? В вашем package.json уже столько плагинов, что среди них невозможно найти реальные зависимости проекта? А что, если вы можете избавиться от всех лишних зависимостей вынесением в отдельные тематические пакеты? И все конфиги сократятся до одной строки импорта, а бойлерплейт — до 100 байтов. Из доклада вы узнаете, как команде спикера в Билайне это удалось. Спикер поделится историей появления этого решения, а заодно расскажет, сколько боли они схватили там, где совсем не ожидали.

  • Смотреть запись

    Тип доклада: Обсуждение

    Открытие

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

  • Смотреть запись

    Тип доклада: Доклад

    Алгоритмы троттлинга запросов

    Спикер расскажет о разных подходах к реализации асинхронных блокировок и семафоров и их применении для контроля нагрузки на сервисы (Rate Limiting). Будут рассмотрены стандартные SemaphoreSlim, System.Threading, RateLimiting, а также другие алгоритмы.

  • Смотреть запись

    Тип доклада: Обсуждение

    Закрытие конференций DotNext 2022 Autumn и HolyJS 2022 Autumn

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

  • Смотреть запись

    Тип доклада: Обсуждение

    Дебаты.JS

    Истина рождается в споре. Умение грамотно отстаивать точку зрения — целый навык, требующий тренировки. Политики и бизнесмены пользуются спортивными дебатами для тренировки этого навыка. Наши участники попробуют себя в этой дисциплине. 

    Вы увидите, как наши спикеры и эксперты пытаются отстоять случайно выбранную точку зрения на случайную тему, связанную с JavaScript без подготовки и поиска материалов. Только аргументы, красноречие и отвага!

  • Смотреть запись

    Тип доклада: Обсуждение

    Открытие офлайн-части конференций DotNext 2022 Autumn и HolyJS 2022 Autumn

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

  • Смотреть запись

    Тип доклада: Доклад

    MediatR не нужен

    В индустрии использование MediatR считается хорошим тоном. Поработав с большим количеством сервисов, в которых его применяли, спикеры поняли, что в 99% случаев он вреден. Почему так и этому есть доказательства — обо всем этом вы узнаете из доклада.

  • Смотреть запись

    Тип доклада: Доклад

    Распределенный трейсинг OpenTelemetry вместо логирования всего подряд

    Трейсинг ошибок процесса обработки данных или поиск источника замедления работы распределенной системы требует немало времени. А обобщить опыт использования инструментов для решения этих задач сложно.

    Но OpenTelemetry может устанавливать общие стандарты экспорта метрик и трейсов приложений, позволяющие агрегировать их в распределенной среде на разных платформах.

    Спикер разберет примеры использования OpenTelemetry в веб-сервисах, базах данных, очередях и покажет, как все это экспортировать в различные бэкенды.

  • Смотреть запись

    Тип доклада: Доклад

    Пишем функционально на C# и F#

    Исследуем малоизвестные возможности C# и попробуем написать на F# код, для которого нет функциональных средств в C#. В конце концов попробуем разобраться — нужен ли F# в .NET-проектах?


  • Смотреть запись

    Тип доклада: Доклад

    Пиши, как тиктокер, а не как дед. Новые конструкции языка C# в бою

    За 20 лет эволюции вышло много версий языка С#, постепенно набор конструкций расширялся. К сожалению, не многие могут охватить в голове это разнообразие и продолжают писать так, как «деды писали на Си». В докладе будет много примеров, как можно переписать старый код по-новому, и как не увлекаться этим делом.

  • Смотреть запись

    Тип доклада: Доклад

    Zero-downtime deployment и базы данных

    Микросервисы уже давно и прочно вошли в нашу жизнь. Они позволяют реализовывать масштабируемые и отказоустойчивые решения. Но при деплое новой версии на кластер иногда возникают ошибки, связанные с обновлением базы данных.

    Спикер разберет популярные способы деплоя на кластер. Покажет типовые проблемы, возникающие при обновлении базы данных, и пути их решения. Также разберемся, чем обновление NoSQL баз данных отличается традиционных реляционных баз.

  • Смотреть запись

    Тип доклада: Доклад

    Поговорим об описательной статистике перформанс-распределений

    Метрики производительности приложений никогда не описываются одним числом. Они являются случайными значениями из некоторого распределения. Но как нам это распределение описать? Как стабильно вычислить среднее значение и степень вариации? Как высчитать квантили и построить график плотности распределения? Что делать с мультимодальностью и экстремальными выбросами?

    Для каждой из этих задач существуют десятки различных методов, каждый из которых обладает собственными характеристиками. В этом докладе мы погрузимся в увлекательный мир описательной статистики и обсудим многообразие доступных математических инструментов. А после доклада у вас появится общее понимание проблематики этой области и адекватности применения тех или иных подходов, что защитит вас от распространённых ошибок при агрегации замеров производительности.

  • Смотреть запись

    Тип доклада: Доклад

    Rich Model и Anemic Model: враги или друзья

    В сообществе много холиваров о том, какую модель лучше использовать — Rich или Anemic. При этом лагерь консультантов активно топит за Rich Model, а среди разработчиков популярна Anemic Model. Поговорим о модели без предрассудков и с практической точки зрения. Для начала определимся с понятиями, что принято называть терминами Rich Model и Anemic Model, по каким критериям их можно отличить. Посмотрим, стоит ли использовать две модели данных: бизнес-модель для бизнес-логики и отдельную data-модель для маппинга на базу. Увидим, какие кейсы невозможно реализовать в канонической Rich-модели. Обсудим, так ли страшна анемичная модель, как ее ругают. И придем к прагматичной модели, которая чаще всего встречается на практике.

  • Смотреть запись

    Тип доклада: Доклад

    ESLint — больше чем просто "extend"

    ESLint — мощный инструмент и при должном обращении он будет служить верой и правдой. Но зачастую вся работа с ним сводится к extend'у от всеми известного плагина. Как раскрыть его потенциал, как сократить время проверки кода, как сделать реюзабельный конфиг и при чем тут "Prettier" — узнаете из доклада.

  • Смотреть запись

    Тип доклада: Доклад

    Анализ C# кода на Roslyn: от теории к практике

    Roslyn помогает достаточно легко анализировать C# код, но азы знать все равно полезно. Зачем нужны синтаксические деревья? А семантическая модель? И как использовать все это для решения практических задач?

    Ответим на эти вопросы, поговорим о подводных камнях и узнаем, что нужно, чтобы написать свой анализатор для C#. 

  • Смотреть запись

    Тип доклада: Доклад

    Как научить вашего ребенка программировать (и не только)

    Дискуссия о том, надо ли всем ли современным детям нужно изучать программирование, ведь «программирование — это вторая грамотность», ведется с середины прошлого века.

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

  • Смотреть запись

    Тип доклада: Доклад от партнера

    Код как данные, или Будь крутым программистом

    У инженера часто возникает проблема: «А как расти дальше?» Не в менеджеры же уходить. Учить новые фреймворки и языки программирования? Прочитать книжку про Hamster Driven Development? А можно взглянуть на свой код по-другому — это же просто набор строк. Их можно анализировать, генерировать, изменить. Фронтендеры часто пишут программы, которые какие-то данные переводят в строки. Так почему бы не написать программу, которая «пишет» программы?

    На примерах спикер покажет, как другие программы помогают нам писать/изменять. От подсказок IDE до рукописных генераторов и кодмодов. Это проще, чем кажется. И в этом Александр видит свое развитие как инженера.

  • Смотреть запись

    Тип доклада: Доклад

    Пишем приложения, которые не ломаются в продакшене

    Любой разработчик в своей работе учитывает много метрик качества: производительность, читаемость, расширяемость. Однако чтобы все это было важно, приложение для начала должно просто работать.

    Об этом и пойдет речь: о написании кода, который уменьшает вероятность ошибки, о его тестировании и деплое. Разберем, как на каждом из этапов разработки уменьшить вероятность возникновения багов, как отслеживать их на тестировании и что делать, если вы все-таки задеплоили некорректный код.

  • Смотреть запись

    Тип доклада: Обсуждение

    Проблемы обучения от 0+

    Всем ли нужно изучать программирование? С какого возраста лучше начинать и какой язык учить первым? С какими проблемами сталкиваются преподаватели, родители и сами обучающиеся? Поговорим обо всем этом и о будущем программирования в Главной студии DotNext 2022 Autumn.

  • Смотреть запись

    Тип доклада: Доклад

    Введение в Microsoft SignalR

    Это обзорный доклад о технологии Microsoft SignalR. Александр расскажет о том, для чего предназначена эта технология и на практике рассмотрит ее возможности и ограничения.

  • Смотреть запись

    Тип доклада: Доклад

    Сколько это стоит

    Попробуем посчитать, что нужно, чтобы запустить более-менее приличный сервис на Node.js на VDS (blue-green деплой, балансировка, база данных, логи), и сравним с подходом на AWS-стеке (лямбды, RDS, API-gateway). А, может быть, даже удастся сравнить и Selectel с Yandex Cloud.

  • Смотреть запись

    Тип доклада: Доклад

    [Test] + <T> = ❤️

    Для своей работы популярные тестовые фреймворки используют атрибуты, применимость которых из-за их реализации в .NET имеет существенные ограничения. В новой версии C# потенциал атрибутов увеличен благодаря обобщениям. Спикер покажет, как обобщённые атрибуты позволяют создавать более эффективные и выразительные тесты, а тестовые фреймворки, в свою очередь, делают это возможным благодаря своей редко используемой функциональности.

  • Смотреть запись

    Тип доклада: Доклад

    Event Sourcing: глубокое погружение

    На пути построения Event Sourcing-системы вам предстоит столкнуться со множеством трудностей и подводных камней. Придется принимать важные архитектурные решения, и неправильный выбор принесет значительные проблемы или даже похоронит ваш проект. Спикер занимался темой Event Sourcing более четырех лет и прошелся по всем возможным граблям. В этом докладе он поделится своим опытом.

  • Смотреть запись

    Тип доклада: Доклад

    Загадочный EF Core, или Как написать свое расширение

    Спикер был удивлен, когда узнал, что EF Core из коробки не умеет создавать вьюшки и отслеживать изменения их исходного кода. Вы узнаете про пакет, позволяющий закрыть эти вопросы. Спикер также даст полезную информацию тем, кто хочет написать свое собственное расширение

  • Смотреть запись

    Тип доклада: Доклад

    Батчинг в React

    Дмитрий обратил внимание, что на собеседованиях мало кто из разработчиков отвечает на вопрос о батчинге. Некоторые даже впервые слышат такое слово. Спикер расскажет об этом явлении в React. Как это работало в старых версиях и как работает сейчаc.

  • Смотреть запись

    Тип доклада: Доклад

    High refresh web

    На рынке с каждым годом появляется всё больше устройств с дисплеями, поддерживающими высокие частоты обновления экрана. Их появление привносит в жизнь разработчиков дополнительные проблемы, которые нужно учитывать при разработке сложного софта в вебе (ГИС-системы, графические редакторы, игры). В докладе спикер подробно расскажет, что нужно учитывать, чтобы приложения на таких дисплеях работали без ошибок

  • Смотреть запись

    Тип доклада: Доклад

    Тестируем код, взаимодействующий с базой данных

    В докладе рассматриваются различные подходы к тестированию взаимодействия с базами данных в .NET, как при использовании Entity Framework, так и при работе с другими инструментами. Сравним плюсы и минусы различных решений и стратегии их реализации.

    • Гурий Самарин

      Компания: Инжиниринговый дивизион Госкорпорации «Росатом»

  • Смотреть запись

    Тип доклада: Обсуждение

    Best practices для разработки Application Layer

    Обсудим подход Vertical Slices и библиотеку MediatR: какие у него достоинства и недостатки, а также какие он предоставляет возможности по сравнению с ApplicationServices.