Порой не понимаешь, интересна ли тебе новая конференция: открываешь сайт, а там сорок докладов, и глаза разбегаются. Это что же, надо вдумчиво пройти по сорока страницам с описаниями? А если на сайте ещё и раздел «воркшопы», о них что знать нужно?
Чтобы помочь хабравчанам, про грядущий московский DotNext (6-7 ноября) мы сделали единый текст, разделив доклады на несколько блоков — так можно понять быстрее.
И заодно сослались на видеозаписи некоторых прошлых докладов тех же спикеров: так можно и понять заранее, нравятся ли они как ораторы, и узнать что-то полезное.
Блоки:
- Воркшопы
- Кейноуты
- Тренды
- Теория
- Практика
- «Internals»
- Заключение
Воркшопы
В первую очередь обратим внимание на то, чем этот DotNext отличается от предыдущих: помимо докладов, пройдут ещё и два воркшопа (отдельных билетов не требуется, это в рамках конференции). То есть можно будет, потратив два часа, познать что-то не просто теоретически, но и на практике. Если хотите в этом поучаствовать, захватите с собой ноутбук.
Вести их будут спикеры, которые, помимо воркшопов, выступят и с докладами:
Дмитрию Сошникову (shwars) интересно и машинное обучение (которому посвящён его доклад), и функциональное программирование. Поэтому его воркшоп позволит быстро познакомиться с обеими этими темами сразу: он называется «F# Coding Dojo on Machine Learning».
А у Максима Аршинова (marshinov), который выступит с докладом «Блеск и нищета предметной модели», в названии воркшопа тоже есть слово «модель». Он называется «От анемичной модели к богатой за 5 шагов» и на конкретном примере покажет, как с помощью рефакторинга приложение в CRUD-стиле лёгкими движениями рук превращается в DDD-стиль.
Кейноуты
Многие доклады предлагают глубоко нырнуть в узкую конкретную тему. Но в кейноутах, открывающих или закрывающих собой день, иначе: они построены по принципу «высоко сижу — далеко гляжу» и призывают задуматься о глобальных вещах.
Например, руководитель команды Rider в JetBrains Кирилл Скрыган откроет конференцию выступлением «Platform Wars». С его работой неизбежно видишь не только код, но и эти самые «платформенные войны»: как в индустрии взаимодействуют крупные IT-компании и их проекты, и что это значит для нас?
Кирилл уже неоднократно выступал на DotNext (с отличными зрительскими отзывами), и в темах его предыдущих докладов как раз отражаются платформенные сдвиги. В далёком 2015-м его доклад назывался «ReSharper vs. Roslyn», и уже там прозвучало «если бы мы написали свою IDEшку...». А потом IDEшку написали-таки, и Кирилл представлял ещё малоизвестный проект в докладе «Rider: новая кроссплатформенная .NET IDE от JetBrains».
А закрывать конференцию будет Скотт Влашин кейноутом «The power of composition». Оно будет напрямую связано с функциональным программированием, но быть матёрым специалистом в F# не потребуется, это общий доклад «для всех».
Недавно мы для Хабра взяли у Скотта интервью — по этому тексту можно узнать о нём больше. А если хотите посмотреть, как он выступает (и заодно как раз заглянуть в функциональный мир из объектно-ориентированного) — для первого знакомства отлично подходит запись доклада «F# for C# programmers» с конференции NDC Oslo.
Поскольку кейноуты посвящены «глобальному», они, в отличие от остальных докладов, могут быть даже не про разработку. На этом DotNext будет известный популяризатор науки и борец с лженаукой Александр Панчин, который сравнит предсказания фантастов о биотехнологиях и то, что мы реально видим на практике.
На DotNext Александр ещё не приезжал, но весной уже выступал на другой нашей конференции с другой темой «Игра в бога. Перешла ли наука границу». И поскольку тогда доклад попал в конференционный топ-10, стало ясно: разработчикам его выступления очень нравятся.
Тренды
Будут доклады о технологиях, которые ещё не повсеместно в продакшне, но находятся на подъёме и идут к популярности. Вполне возможно, что сейчас они вам ещё не нужны, но знать о них уже полезно — когда час придёт, будете вооружены.
Например, про ML.NET и машинное обучение будет два доклада сразу: русскоязычный «Всё, что разработчик .NET хотел знать про глубокое обучение, но боялся спросить» Дмитрия Сошникова и англоязычный «Machine learning for C# developers: Introducing ML.NET» Джеффа Просайза. И у обоих этих спикеров мы тоже брали интервью, можете сравнить: Просайз (о работе с Джеффри Рихтером в Wintellect и не только), Сошников (о приобщении детей к IT и не только).
Многим зрителям DotNext Дмитрий отлично знаком. Например, он уже раскрывал тему ML в докладе «Искусственный интеллект и нейросети для .NET-разработчиков» (DotNext 2017 Moscow). С появлением ML.NET содержание того доклада стало чуть менее актуальным, а вот оценить спикерские навыки по нему по-прежнему можно.
Релизы C# 8.0 и .NET Core 3.0 состоялись около месяца назад — то есть распробовать их успели далеко не все. Всем, кто ещё не успел, это поможет сделать Raffaele Rialdi (президент DotNetLiguria и MVP в категории Developer Security).
Он весной прилетал к нам на петербургский DotNext, можете посмотреть запись его доклада. Тема там совсем другая («Raspberry PI and .NET Core on Linux»), но поймёте, подходит ли вам речь на английском с итальянским акцентом.
Также о новых фишках и функциях .NET Core 3.0 будет рассказывать исполнительный директор .NET Foundation Jon Galloway. В числе рассматриваемого: поддержка настольных систем (WPF и Windows Forms), Blazor, программа в одном исполняемом файле, языковые функции и многое другое.
Джон весной тоже был на DotNext 2019 Piter, в тот раз рассказывал про опенсорс — для человека из .NET Foundation напрашивающаяся тема, конечно.
Вероятно, слово GraphQL вы уже встречали. Но хотя эта технология появилась не вчера, она продолжает тихой сапой завоёвывать новых сторонников — так что к трендам можно отнести и её. Курс молодого бойца проведёт соучредитель ChilliCream Michael Staib, сравнив GraphQL с REST и показав, как построить API GraphQL с Hot Chocolate на ASP.NET Core.
Года три назад громким трендом был Docker, и на DotNext это название тоже звучало. Сейчас им уже никого не удивишь, зато Kubernetes вслед за ним тоже стал индустриальным стандартом. Как перенести своё уже существующее решение в этот мир, используя в том числе новые возможности Visual Studio 2019, покажет девятикратный обладатель статуса Microsoft MVP в категории ASP.NET Marco De Sanctis.
Идея визуального программирования сама по себе не нова, но считается применимой лишь в очень небольшом круге случаев. Joreg и Elias Holzer из проекта vvvv не согласны с этим: они считают, что наступает новая эпоха, в которой визуальное программирование будет использоваться куда шире прежнего, и в докладе подробно покажут возможности vvvv.
Теория
Теперь не о новомодных штуках, названиях которых на слуху в последнее время, а о более вечных вопросах — вроде архитектурных. В принципе, кейноут Скотта Влашина о композиции подходит и этому блоку. А вот что ещё в нём будет:
Соучредитель казанской аутсорс-компании «Хайтек Груп», разработчик с десятилетним стажем Максим Аршинов продемонстрирует сильные и слабые стороны предметной модели и неочевидные детали её реализации в парадигме ООП и в функциональном стиле.
Про Максима как спикера хочется заметить вот что. Его прошлогодний доклад «Быстрорастворимое проектирование» оказался настолько востребованным, что не просто собрал лайки на YouTube — мы ещё и сделали для Хабра текстовую версию, и она тоже привлекла много внимания.
Руководитель группы разработки в Positive Technologies Яков Повар подробно разберётся с event sourcing и расскажет, чем он отличается от других архитектурных подходов. А также продемонстрирует, как event sourcing может помочь решить функциональные и нефункциональные требования, которые часто предъявляются к современным приложениям.
А Алексей Мерсон (он же m_a_d) расскажет, как сделать качественное сложное приложение на .NET-стеке. Алексей будет использовать ASP.NET Boilerplate Framework (ABP). В режиме реального времени Алексей напишет рабочий веб-портал с кучей плюшек (аудит-логи, плагины, SignalR, локализация и др.) и кратко объяснит, как эти плюшки реализованы.
Практика
От рассуждений о том, как нам в целом правильнее забивать гвозди, перейдём к конкретным «молоткам».
Например, будет доклад, где (как и в разделе «тренды») снова упомянут C# 8, но говоря не о версии в целом, а в связи с одной конкретной штукой: nullable reference types. Андрей Дятлов занимается поддержкой C# в ReSharper/Rider — так что нюансы языка ему знакомы не понаслышке. И он расскажет многое: от того, как постепенно переводить проект на работу с nullable reference types, до того, какие подводные камни при этом могут внезапно обнаружиться.
Весной Андрей выступал на питерском DotNext с совсем другим докладом: «Кросспроцедурный анализ потока управления».
Руководитель группы разработки в компании Acumatica Владимир Панченко поделится приёмами и мастерством статического анализа в Roslyn. Владимир продемонстрирует, как создать новый анализатор, как его протестировать, как создать code fix, как сделать полноценную интеграцию в процесс разработки.
Соучредитель CodeValue Ltd., Microsoft Regional Director, MVP по Microsoft Azure Eran Stiller расскажет о том, как создать свою собственную PKI (по сути, свой центр выдачи сертификатов) с помощью .NET и Azure Key Vault, а также продемонстрирует, как можно построить сквозную систему с его использованием.
Егор Гришечко из Insolar расскажет про Jaeger — систему сбора trace-меток в распределенных системах, написанную компанией Uber. Также Егор планирует рассказать про библиотеку OpenCensus и инициативу OpenTracing.
Николай Молчанов (с недавних пор работающий прямо у нас в JUG Ru Group, а также известный как мейнтейнер проекта Flurl) раскроет некоторые секреты реализации мутационного анализа на .NET, покажет инструмент для анализа и продемонстрирует самые распространенные мутации и примеры из реальной жизни.
Дотнетчик из Райффайзенбанка Роман Просин познакомит аудиторию с инструментами, которые помогают проводить кодревью вручную, и научит автоматизировать этот процесс. Доклад будет интересен всем, кто хочет освоить искусство рецензирования.
Internals: профилирование, оптимизация, отладка
Блок, в котором «лезут в кишочки». Если хочется не просто получить работающее приложение, а понимать «что происходит под капотом» и выжимать всё возможное — вам сюда.
Pavel Yosifovich на глазах у изумлённой публики продемонстрирует, как буквально за час можно написать простой, но вполне работающий кроссплатформенный профайлер .NET Core, и запустит его в Windows и Linux.
Павел — соавтор книги «Windows Internals», так что ему не привыкать «залезать внутрь», и кому-то хватит одной этой информации, чтобы пойти на доклад. Но если хочется увидеть, как он выступает, можете посмотреть прошлогодний доклад «Windows 10 Internals for .NET developers».
Ещё про профилирование: MVP Developer Technologies и ведущий блога на Medium Christophe Nasarre-Soulier покажет, как легко мониторить приложения, используя CLR Events на примере для Linux на .NET Core.
А CTO в компании Eagle Labs Dan Shechter приоткроет дверь в мир высокой производительности и покажет как применять функции векторизации современных процессоров (поддержка которых появилась в .NET Core 3.0) для вполне обыденных задач.
Разработчик из Criteo Kevin Gosse поделится своим взглядом на процесс отладки. Ведь, по его мнению, отладка — это все о мышлении и методологии, а инструментарий — это простая часть. Кевин продемонстрирует, как работают эти части по отдельности и как они работают вместе.
Разработчик в компании Microsoft из команды Mono Егор Богатов продемонстрирует нововведения в .NET 5, а также подробно рассмотрит новую фичу — подмену рантайма CoreCLR на Mono (LLVM) для любого приложения и зачем это может понадобиться.
Microsoft MVP и автор книги «Concurrency in C# Cookbook» Stephen Cleary разложит по полочкам всё об асинхронных потоках в JS и C#. Вы узнаете, почему асинхронность важна, как async/await повлияла на современные языки. Также Stephen продемонстрирует различия между новыми асинхронными потоками и существующими средами, такими как System.Reactive и RxJS.
Senior Technical Architect в компании Broadridge Анатолий Жмур уверен, что при разговоре о GC слишком много времени уделяется его устройству и абстрактным советам, которые, на самом деле, редко помогают что-то улучшить кроме абстрактных метрик трафика памяти. Он постарается рассмотреть это с практический точки зрения инженера, от измерений производительности к концепциям, лежащим в основе сборки мусора. Будет немного срыва покровов и провокаций.
Сооснователь конференции Dotnetos, Full Stack Cloud Developer в Sonova Łukasz Pyrzyk покажет некоторые ловушки производительности .NET, в которые многие попадают из-за того, что привыкли писать код быстро, не задумываясь о том, что происходит внутри самого .NET.
Сооснователь Corvalius и Codealike Federico Lois уже слышал аплодисменты на DotNext: в 2017-м выступал у нас с темой «Patterns for high-performance C#», в 2018-м разбирал работу с железом в «Scratched Metal». А теперь продемонстрирует передовые принципы проектирования для создания настраиваемого, компонуемого и высокооптимизированного кода. Доклад рассчитан на инженеров, занимающихся микрооптимизацией, и разработчиков высокопроизводительных вычислительных библиотек.
Кажется, у дотнетчиков фамилия «Пешков» скоро будет ассоциироваться не с Максимом Горьким. Евгений Пешков (epeshk) ранее уже выступал на DotNext с темой «Особые исключения в .NET» — и достаточно посмотреть на комментарии к записи этого доклада на YouTube, чтобы заметить, как хорошо его принимают. Теперь он выступит снова — в этот раз с темой «.NET: Лечение зависимостей».
Наконец, Dan Shechter будет разбираться, как разработчики могут улучшить производительность с помощью интринсиков CoreCLR 3.0.
Напоследок
Напоминаем, что конференция — это не только ценные доклады. Это ещё и возможность как следует порасспрашивать их авторов в дискуссионных зонах или пообщаться друг с другом на вечеринке.
Так что этот текст, хотя и сообщает о ней много ценного, но не всё. Если этого оказалось недостаточно и хочется узнать что-то ещё, ищите информацию на сайте или спрашивайте в комментариях.
А если вполне достаточно и решили идти — билеты можно приобрести на том же сайте.
До встречи 6-7 ноября в Москве!