- PVSM.RU - https://www.pvsm.ru -

Привет! Сегодня для .NET-разработчиков у нас традиционный пост по следам DotNext 2018 Moscow: делимся десятью лучшими докладами конференции (по мнению её посетителей). Под катом — их видеозаписи, а также короткие описания и ссылки на презентации.
Доклады идут по возрастанию рейтинга, и самые понравившиеся зрителям ближе к концу. Но разброс рейтинга внутри десятки небольшой, так что придирчиво сравнивать места не стоит — лучше посмотреть всё по интересующим темам! А темы тут разные — затрагиваются и архитектура, и производительность, и «как оно всё на самом деле работает внутри».
Спикер: Chris Bacon
Место: 10
Первый материал из нашей подборки хорошо подходит для «разминки».
Это «hardcore for fun»-доклад про написание рантайма, в котором Крис Бейкон из Google рассказывает простыми словами о сложных вещах, к примеру, об оптимизациях внутри .NET Core. Рассказ будет интересен как минимум разбором внутренностей CLR, приёмами по отладке и секретами того, как нужно работать с различными компиляторами. Как говорит сам Крис: «Это может быть довольно бесполезным занятием и знанием, но зато отлично помогает снять завесу магии с того, чем пользуешься каждый день».
Спикер: Pavel Yosifovich
Место: 9
Презентация доклада [1]
Соавтор книги Windows Internals Павел Йосифович с головой ныряет во внутреннее устройство Windows и в простой и доступной форме рассказывает, как .NET-разработчики могут использовать компоненты системы себе во благо.
Он по полочкам раскладывает API Windows, объясняя, как изменилась система на фоне всеобщего веба, облаков и виртуализации, как изменения связаны с современным программированием и как можно выжать максимальную производительность, проведя немного времени под капотом Windows.
Спикер: Константин Густов
Место: 8
Презентация доклада [2]
Слушать о чужой боли всегда интересно. Константин рассказывает историю одного долгого рефакторинга, которая будет полезна всем, кто либо столкнулся, либо скоро столкнётся с переходом к микросервисной архитектуре.
Очень информативный доклад с разъяснением мотивации и причин каждого принятого решения. Всё разложено по полочкам, и слушатели могут легко использовать часть лайфхаков и в своих проектах, или приводить историю Константина руководству в качестве успешного примера.
Слушатели отдельно отмечали, что в докладе много особенностей перевода старых legacy-систем на новую реальность. И что узнавать о возможных сложностях, плюсах и минусах перехода на примере такого большого проекта полезно в том числе и для самоуспокоения: всё ли мы делаем правильно?
Спикер: Raffaele Rialdi
Место: 7
Презентация доклада [3]
Коротко: это доклад с низкоуровневым бэкграундом о том, как правильно управлять памятью, чтобы увеличить производительность проекта. Но всё не так просто: исторически возможности .NET по работе с неуправляемой памятью были весьма ограничены и сопровождались бессмысленнымии копированиями в управляемые объекты, причем их использование было небезопасным. Но недавно появились новые API и функции, которые существенно меняют дело.
Если вы хотели узнать, что сейчас происходит с .NET, куда он движется, что нового появилось и что с этим делать — этот доклад для вас. Слушатели отмечают множество новых инструментов, о которых раньше не говорили публично, к примеру, о разумных сценариях использования Span и Pipeline, причем Рафаэль не только показывает их, но и подробно демонстрирует подходы, как новые инструменты грамотно применять на практике.
Спикер: Jeffrey Richter
Место: 6
Презентация доклада [4]
Доклад про эффективное использование облачного железа у некоторых зрителей вызвал сожаления «хотелось чего-то похардкорнее, это всё уже знаю» — но всё равно попал в топ. Таков уж масштаб личности Джеффри Рихтера: он как никто другой умеет оптимизировать не только софт, но и .NET-разработчиков, настраивая их на правильный лад.
Так что, если и вам уже известна озвученная информация, доклад всё равно есть смысл посмотреть: и ради подачи Рихтера, и чтобы лишний раз себе напомнить себе о производительности и потреблении ресурсов. Ведь даже формально зная о чём-то, можно забывать об этом в погоне за новыми технологиями.
Спикер: Иван Дашкевич
Место: 5
Презентация доклада [6]
Иван рассказывает про то, как ИТ-соревнование ICFP заставило его очень нестандартно подойти к использованию yield и разобрать внутреннее устройство async-await, и понять, можно ли этим вообще пользоваться на примере конкретной задачи.
Кроме разбора контеста, Иван предлагает несколько идей, как перенести решение из соревнования на реальные проекты, разработал «кооперативную многозадачность на async/await» вместо yield return, который позволяет создать высокоуровневый workflow и контроллер заданий из очереди на базе асинхронного метода.
Спикер: Алексей Мерсон
Место: 4
Презентация доклада [7]
Лёгкое и доступное введение в DDD для тех, кто хочет понять, зачем это нужно, почему об этом все говорят, и как к этому подступиться. Одновременно важный и смешной доклад, который заставляет углубиться в тему или упорядочить в голове уже имеющиеся знания. Кто не знает — узнает. Кто знает — узнает лучше.
Спикер: Максим Аршинов
Место: 3
60 минут концентрированного разбора того, как нужно проектировать приложения с массой примеров. Слушатели отмечают глубокое погружение, четкое и простое изложение, очень сильные и детализированные примеры в каждой главе рассказа.
А помимо этого, у доклада Макса высокая применимость: практически всё из рассказа можно сразу применять на практике и получать годные результаты. Отлично идёт в паре с докладом «От монолита к микросервисам» и даёт представление о том, какими критериями определяется хороший и плохой код, и как их измерять.
Спикер: Егор Богатов
Место: 2
Презентация доклада [9]
Ультраполезный и современный, по мнению слушателей, доклад про тонкости оптимизации и генерацию SIMD из высокоуровневого кода. Хоть и простые, но совсем не тривиальные примеры из личного опыта Егора, который напрямую работает с Mono .NET Core и видит всё изнутри Microsoft. Без занудства, воды и переосмысления старых идей на новый лад.
Доклад состоит из множества любопытных микрооптимизаций, примененных в .NET Core как разработчиками, так и сообществом. Но особое внимание Егор уделяет новоиспеченному API к SIMD-инструкциям процессора, таким, как SSE и AVX. Этот API позволит вам почувствовать себя умнее, чем JIT, и вручную векторизовать свой код, не прибегая к помощи низкоуровневых языков.
Не бойтесь хардкора и ассемблера, Егора стоит слушать, смотреть и запоминать!
Спикер: Dylan Beattie
Место: 1
Презентация доклада [10]
Мир работает на устаревшем коде. Можно сколько угодно рассуждать про преимущества F# и serverless, но в реальности часто придётся иметь дело с совсем другими вещами. И что нам делать с «кодом, который слишком страшный, чтобы его трогать, и слишком прибыльный, чтобы его просто удалить»? Контролировать (Ctrl), изменять (Alt) и удалять (Del). Это выступление завершало конференцию, так что в нём нет «.NET-хардкора» — но при этом зрителям оно понравилось даже больше хардкорных.
Постоянные зрители DotNext отлично знают Дилана Битти и ценят его умение объединить серьёзное размышление с увлекательным шоу. А тут у него ещё и очень подходящий опыт. Сначала он много лет проработал в одной компании, наблюдая, как код менялся со временем и как с ним сталкивались новички — а затем перешёл в другую компанию и сам оказался таким «новичком», которому нужно было разобраться в прорве чужого кода. Как эффективнее вкатываться в работу с кодовой базой, если «просто прочитать её» жизни не хватит?
Если эти доклады понравились, то вам понравится и на следующем DotNext [11] (15-16 мая, Петербург): формат конференции будет тем же. А когда присутствуешь на конференции лично, можно не только услышать доклады, но и расспросить спикеров в дискуссионной зоне, поучаствовать в специальных дискуссиях, пообщаться с другими участниками.
Сейчас о DotNext 2019 Piter уже известны несколько спикеров (например, Джон Галлоуэй из .NET Foundation), а полная программа появится позже — но со временем билеты дорожают, так что выгоднее приобретать их как можно раньше. Вся актуальная информация публикуется на сайте [11] конференции.
Автор: phillennium
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/net/305709
Ссылки в тексте:
[1] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/6isCHPOhLq8eA0U0AKuAyY/3d02ef18b8dc2fca10179d8ec5122235/Pavel_Yosifovich_Windows_Internals_for_.NET_developers.pdf
[2] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/6gocsEksr66WEeo4Gos64K/d7e9de4e37431b563542087c937fc2b4/Konstantin_Gustov_Ot_monolita_k_mikroservisam__istoriya_i_praktika.pdf
[3] Презентация доклада: https://github.com/raffaeler/dotnext2018Moscow
[4] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/1sD9eMGQNGgEAYeUykoyqo/87268467a4e6d6f35cfdd723de068b4d/Jeffrey__Richter_Building_responsive_and_scalable_applications.pdf
[5] мозги: http://www.braintools.ru
[6] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/47WqssaSY0scMg0M8CYGuC/a7afe90258a0bef562ac707455afd476/Ivan_Dashkevich_Yield_i_async-await__kak_ono_vse_ustroyeno_vnutri_i_kak_etim_vospolzovatsya.pdf
[7] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/5yzv29Osi4sIeUemaMIeKE/ea44178e07da0dea8ef3d411b107e003/Aleksey_Merson_Domain-driven_design__retsept_dlya_pragmatika.pdf
[8] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/3TzGJj7fKwISGYQw4ku4c0/54a2ac651d438607970854d91f2f7f1a/Maksim_Arshinov_Bystrorastvorimoye_proyektirovaniye.pdf
[9] Презентация доклада: https://assets.ctfassets.net/9n3x4rtjlya6/6PVdPk0AaQsQaWucCOIGIm/005fc179751e1d393eedd676a3852c53/Egor_Bogatov_NET_Core_2.1_Intrinsics_and_other_micro-optimizations.pdf
[10] Презентация доклада: https://downloads.ctfassets.net/9n3x4rtjlya6/s4TS0l4kNUlM9PUoDVRiY/e922fd95fe86c53274b01301f101eebb/Dylan_Beattie_Ctrl_Alt_Del_Learning_to_Love_Legacy_Code.pdf
[11] следующем DotNext: https://dotnext-piter.ru
[12] Источник: https://habr.com/ru/post/436292/?utm_campaign=436292
Нажмите здесь для печати.