Контролируй, изменяй, удаляй: топ-10 докладов DotNext 2018 Moscow

0e7frkqhgjehnh_t8eegt38tegu.jpeg

Привет, Хабр! Сегодня для .NET-разработчиков у нас традиционный пост по следам DotNext 2018 Moscow: делимся десятью лучшими докладами конференции (по мнению её посетителей). Под катом — их видеозаписи, а также короткие описания и ссылки на презентации.

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


So you want to create your own .NET runtime?


Спикер: Chris Bacon
Место: 10

Первый материал из нашей подборки хорошо подходит для «разминки».

Это «hardcore for fun»-доклад про написание рантайма, в котором Крис Бейкон из Google рассказывает простыми словами о сложных вещах, к примеру, об оптимизациях внутри .NET Core. Рассказ будет интересен как минимум разбором внутренностей CLR, приёмами по отладке и секретами того, как нужно работать с различными компиляторами. Как говорит сам Крис: «Это может быть довольно бесполезным занятием и знанием, но зато отлично помогает снять завесу магии с того, чем пользуешься каждый день».


Windows 10 internals for .NET developers


Спикер: Pavel Yosifovich
Место: 9
Презентация доклада

Соавтор книги Windows Internals Павел Йосифович с головой ныряет во внутреннее устройство Windows и в простой и доступной форме рассказывает, как .NET-разработчики могут использовать компоненты системы себе во благо.

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


От монолита к микросервисам: история и практика


Спикер: Константин Густов
Место: 8
Презентация доклада

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

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

Слушатели отдельно отмечали, что в докладе много особенностей перевода старых legacy-систем на новую реальность. И что узнавать о возможных сложностях, плюсах и минусах перехода на примере такого большого проекта полезно в том числе и для самоуспокоения: всё ли мы делаем правильно?


Boosting memory management in interoperability scenarios


Спикер: Raffaele Rialdi
Место: 7
Презентация доклада

Коротко: это доклад с низкоуровневым бэкграундом о том, как правильно управлять памятью, чтобы увеличить производительность проекта. Но всё не так просто: исторически возможности .NET по работе с неуправляемой памятью были весьма ограничены и сопровождались бессмысленнымии копированиями в управляемые объекты, причем их использование было небезопасным. Но недавно появились новые API и функции, которые существенно меняют дело.

Если вы хотели узнать, что сейчас происходит с .NET, куда он движется, что нового появилось и что с этим делать — этот доклад для вас. Слушатели отмечают множество новых инструментов, о которых раньше не говорили публично, к примеру, о разумных сценариях использования Span и Pipeline, причем Рафаэль не только показывает их, но и подробно демонстрирует подходы, как новые инструменты грамотно применять на практике.


Building responsive and scalable applications


Спикер: Jeffrey Richter
Место: 6
Презентация доклада

Доклад про эффективное использование облачного железа у некоторых зрителей вызвал сожаления «хотелось чего-то похардкорнее, это всё уже знаю» —, но всё равно попал в топ. Таков уж масштаб личности Джеффри Рихтера: он как никто другой умеет оптимизировать не только софт, но и мозги .NET-разработчиков, настраивая их на правильный лад.

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


Yield и async-await: как оно все устроено внутри и как этим воспользоваться


Спикер: Иван Дашкевич
Место: 5
Презентация доклада

Иван рассказывает про то, как ИТ-соревнование ICFP заставило его очень нестандартно подойти к использованию yield и разобрать внутреннее устройство async-await, и понять, можно ли этим вообще пользоваться на примере конкретной задачи.

Кроме разбора контеста, Иван предлагает несколько идей, как перенести решение из соревнования на реальные проекты, разработал «кооперативную многозадачность на async/await» вместо yield return, который позволяет создать высокоуровневый workflow и контроллер заданий из очереди на базе асинхронного метода.


Domain-driven design: рецепт для прагматика


Спикер: Алексей Мерсон
Место: 4
Презентация доклада

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


Быстрорастворимое проектирование


Спикер: Максим Аршинов
Место: 3

Презентация доклада

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

А помимо этого, у доклада Макса высокая применимость: практически всё из рассказа можно сразу применять на практике и получать годные результаты. Отлично идёт в паре с докладом «От монолита к микросервисам» и даёт представление о том, какими критериями определяется хороший и плохой код, и как их измерять.


Оптимизации внутри .NET Core


Спикер: Егор Богатов
Место: 2
Презентация доклада

Ультраполезный и современный, по мнению слушателей, доклад про тонкости оптимизации и генерацию SIMD из высокоуровневого кода. Хоть и простые, но совсем не тривиальные примеры из личного опыта Егора, который напрямую работает с Mono .NET Core и видит всё изнутри Microsoft. Без занудства, воды и переосмысления старых идей на новый лад.

Доклад состоит из множества любопытных микрооптимизаций, примененных в .NET Core как разработчиками, так и сообществом. Но особое внимание Егор уделяет новоиспеченному API к SIMD-инструкциям процессора, таким, как SSE и AVX. Этот API позволит вам почувствовать себя умнее, чем JIT, и вручную векторизовать свой код, не прибегая к помощи низкоуровневых языков.

Не бойтесь хардкора и ассемблера, Егора стоит слушать, смотреть и запоминать!


Кейноут: Ctrl-Alt-Del: learning to love legacy code


Спикер: Dylan Beattie
Место: 1
Презентация доклада

Мир работает на устаревшем коде. Можно сколько угодно рассуждать про преимущества F# и serverless, но в реальности часто придётся иметь дело с совсем другими вещами. И что нам делать с «кодом, который слишком страшный, чтобы его трогать, и слишком прибыльный, чтобы его просто удалить»? Контролировать (Ctrl), изменять (Alt) и удалять (Del). Это выступление завершало конференцию, так что в нём нет ».NET-хардкора» —, но при этом зрителям оно понравилось даже больше хардкорных.

Постоянные зрители DotNext отлично знают Дилана Битти и ценят его умение объединить серьёзное размышление с увлекательным шоу. А тут у него ещё и очень подходящий опыт. Сначала он много лет проработал в одной компании, наблюдая, как код менялся со временем и как с ним сталкивались новички —, а затем перешёл в другую компанию и сам оказался таким «новичком», которому нужно было разобраться в прорве чужого кода. Как эффективнее вкатываться в работу с кодовой базой, если «просто прочитать её» жизни не хватит?

Если эти доклады понравились, то вам понравится и на следующем DotNext (15–16 мая, Петербург): формат конференции будет тем же. А когда присутствуешь на конференции лично, можно не только услышать доклады, но и расспросить спикеров в дискуссионной зоне, поучаствовать в специальных дискуссиях, пообщаться с другими участниками.

Сейчас о DotNext 2019 Piter уже известны несколько спикеров (например, Джон Галлоуэй из .NET Foundation), а полная программа появится позже —, но со временем билеты дорожают, так что выгоднее приобретать их как можно раньше. Вся актуальная информация публикуется на сайте конференции.

© Habrahabr.ru