Хабрахабр

Открытая трансляция главного зала DotNext 2018 Piter

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

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

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

Представьте картинку: вы едете в поезде, ваш смартфон издает звук, вы достаете его из кармана и видите: новое сообщение! Это видео с котиком, падающим со стула! Вы отвечаете «LOL», засовываете телефон назад в карман… Но задумываетесь ли вы, чего стоило заставить всё это работать? Внутри даже самого дешевого смартфона находятся тысячи инноваций, алгоритмов, изобретений — но как они работают? Как их разрабатывали? Как будет выглядеть следующее поколение алгоритмов и приложений?

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

Сейчас он работает архитектором в Spotlight и занимается решением сложных задач в современных распределенных системах. Dylan Beattie
Дилан — системный архитектор и разработчик, за жизнь успевший поучаствовать во множестве проектов, от небольших вебсайтов до огромных распределенных систем; от легаси с двадцатилетней историей до самых новейших разработок. NET User Group и в 2016 году участвовал на множестве конференций, включая Oredev в Швеции, NDC в Лондоне, Сиднее и Осло, Tampere Goes Agile в Финляндии и BuildStuff в Литве и Украине. Параллельно с основной работой Дилан активно участвует в комьюнити, является организатором London .

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

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

Его творческий подход к решению проблем, глубокие знания и харизма сделали Андрея Александреску одним из самых желанных спикеров на конференциях. Andrei Alexandrescu
Андрей Александреску — эксперт по множеству вещей, включая дизайн и реализацию программных систем, дизайн языков программирования, библиотек, всех аспектов C++ и D, машинному обучению и обработке естественных языков.

Он является автором таких бестселлеров, как «Modern C++ Design», «C++ Coding Standards» (в соавторстве с Гербом Саттером), «The D Programming Language», а также статьи вроде «Simplify Your Exception-Safe Code — Forever» (в соавторстве с Petru Marginean) и «Mojo: Move of Joint Objects». Книги и статьи Андрея оставили свой след в истории индустрии. Полный список статьей есть по ссылке.

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

Sasha Goldshtein

Саша — автор книг «Introducing Windows 7 for Developers» (Microsoft Press, 2009) и «Pro . Саша Гольдштейн — CTO в компании Sela Group, региональный директор и MVP в Microsoft, автор книг в Pluralsight и O'Reilly, международный консультант и тренер. NET Debugging, . NET Performance» (Apress, 2012), известный блогер и контрибьютор в OpenSource-проекты, автор множества обучающих курсов, включая . Его работа как консультанта в основном связана с распределенными архитектурами, отладкой продакшна, диагностикой производительности и разработкой мобильных приложений. NET Performance, Android Application Development, и Modern C++.

Как «всем известно», распределённые транзакции умерли с приходом эры интернета. Книги по MTS, MSDTC, J2EE пылятся в музеях, пока программисты пишут облачные сервисы в борьбе с eventual consistent-хранилищами данных типа Cassandra и Mongo. Для финансовых транзакций остаётся бессмертный SQL.

Она уже показала, что распределённые объекты при правильном применении могут успешно использоваться для построения эффективных масштабируемых приложений, предложив убедительную альтернативу подходу Erlang/Akka к модели акторов. Команде, работающей над фреймворком Orleans, не привыкать ставить под сомнение общепринятые «истины».

Сергей Быков расскажет о ней, а также о других продвинутых функциях фреймворка. Поддержка масштабируемых распределённых транзакций — одна из последних инноваций Orleans, опровергающая популярные заблуждения.

Сергей Быков

До прихода в Research Сергей проработал в различных группах Microsoft, от BizTalk и Host Integration Server до встроенных операционных систем для кассовых терминалов и Bing. Сергей Быков начинал проект Orleans в Microsoft Research и продолжает руководить его разработкой в open source в подразделении Xbox. Удручающая ситуация со средствами разработки для облачных сервисов и распределённых систем побудила его заняться проектом Orleans с целью качественно повысить производительность труда программистов в этой сфере.

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

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

Идея в том, чтобы повысить качество средств для анализа кода, самостоятельно создавая такие инструменты и анализаторы для Visual Studio, которые будут учитывать особенности разрабатываемого продукта.

Начиная с 2003 года, он является Microsoft MVP в категории Developer Security. Raffaele Rialdi
Raffaele Rialdi — Senior Software Architect, работающий в том числе как консультант, спикер и тренер. В данный момент он работает архитектором и разработчиком бэкендов энтерпрайзных проектов с особым фокусом на генерации исходников приложений в области кроссплатформенной мобильной и IoT-разработки, на языках C# и C++. Его увлечение делами сообщества сделало его членом правления UGIdotNET, президентом DotNetLiguria и сооснователем Italian C++ User Group.

В докладе речь пойдет об алгоритмах, стоящих за коллекциями в System.Collections.Concurrent. Пошагово, с примерами объясним сложные алгоритмы. Также рассмотрим дизайн API многопоточной коллекции. Ознакомимся с теорией неблокирующей синхронизации.

Важно: для понимания доклада необходимо знать основы параллельного программирования, включая Monitors, Semaphores, read-write locks, атомарные операции (Interlocked) и т.д.

Дмитрий Иванов

В компании JetBrains с 2011 года, до этого руководил разработкой серверных решений в Yota. Техлид JetBrains Rider, разработчик ядра ReSharper: структур данных, кэшей, многопоточности. Регулярный спикер DotNext. Окончил матмех СПбГУ в 2006 году.

Для большинства разработчиков использование expression tree ограничивается лямбда-выражениями в LINQ. Зачастую мы вообще не придаем значения тому, как технология работает «под капотом».

Цель доклада — продемонстрировать продвинутые техники работы с деревьями выражений:

  • устранение дублирования кода в LINQ;
  • метапрограмирование;
  • кодогенерация;
  • транспиляция;
  • автоматизация тестирования.

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

Кроме ведения бизнеса преподает в «Высшей школе информационных технологий и информационных систем» Казанского федерального университета и пишет на Хабре. Максим Аршинов
Соучредитель казанской аутсорс-компании «Хайтек Груп». По запросу «Как писать тесты» в Google первым результатом выйдет его статья.

За это время прошел путь от программиста в казанской веб-студии до руководителя отдела качества в финансовой индустрии. Суммарный стаж в программировании и управлении разработкой — 10 лет. Работал в организациях из Казани, Москвы, Питера и Антверпена (Бельгия).

Каждая — со своей областью применения. Считает, что технологии — это не «вещь в себе», а инструменты для достижению целей.

HTTP/2 не только ускоряет загрузку веб-страниц, но и оптимизирует взаимодействие микросервисов в распределённой системе. Наша инфраструктурная команда использовала HTTP/2 в новом сервисе и столкнулась с интересными проблемами. Вас ждет увлекательная fail story про производительность, магические константы и утечки unmanaged-памяти.

NET framework и Windows. Цель доклада — поделиться опытом использования HTTP/2 для оптимизации межсервисного взаимодействия в условиях .

NET; людям, которые занимаются нагрузочным тестированием HTTP-сервисов. Доклад будет интересен любителям детективных историй про производительность; разработчикам микросервисов под .

NET, C#, HTTP/2, WinDbg, microservice architecture, long polling, load testing. Ключевые слова: .

Занимается разработкой и поддержкой общих библиотек, системы распределенных трассировок, другими высокопроизводительными сервисами. Евгений Жиров
C# разработчик в инфраструктурной команде СКБ Контур.

NET, робототехникой и IoT. Интересуется созданием надежных и масштабируемых HTTP-сервисов, написанием производительного кода, C# и . Евгению нравится делиться знаниями с другими, поэтому он прокачивает навык публичных выступлений и преподает несколько курсов для студентов в УрФУ.

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

Являясь частью команды перформансников в Criteo, докладчики очень хорошо разбираются в том, как расследовать критические проблемы в такого рода средах. Criteo обслуживает 150 миллиардов запросов в день, разбросанных на 4000 фронтовых сервера.

В этом докладе мы рассмотрим инсайты, ошибки, ложные следы, которые бывают в реальности.

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

  • Использование метрик для обнаружения ошибки;
  • Что мы можем или не можем получить из профилировщика, на основании чего можно делать хорошие предположения;
  • Погружение в структуры данных CLR с помощью декомпилятора, WinDBG и SOS, для проверки предположений;
  • Автоматический анализ дампов памяти с помощью ClrMD, и то, как писать свои собственные инструменты, когда WinDBG оказывается несостоятельным.

Christophe Nasarre / Criteo

Christophe Nasarre 25+ лет работал над разработкой и поставкой софта для стека Microsoft, был техническим редактором в MSPress, Addison-Wesley и других издательствах с 1996 года, участвуя в написании таких книг, как «CLR via C#» и последних редакция «Windows Internals».

NET и Windows и ведет свой блог. Обычно он рассказывает об инструментах и полезных идеях о . У него есть опыт докладов как внутри Microsoft, так и на публичных событиях вроде Microsoft TechDays.

Kevin Gosse / Criteo

NET в течение 10 лет, он занимался разработкой серверов, клиентов и мобильных приложений. Kevin Gosse использует технологии Microsoft . Сейчас в Criteo он занимается вопросами масштабирования, отладки и оптимизации.

Микрооптимизации в движке хранения RavenDB vNext критичны для достижения 50К+ запросов на запись в секунду на среднестатистическом сервере. В этом докладе мы рассмотрим использование новых интринсик, добавленных в CoreCLR 2.1 в контексте реальных примеров узких мест на критическом пути выполнения. Будут затронуты довольно хардкорные темы вроде архитектуры процессоров и её влияния на поведение кэшей (коэффициент промахов-попаданий, пойзонинг), префетчинг и т.п. Доклад предназначен для инженеров, занимающихся микрооптимизациями в высокопроизводительных приложениях.

Он работал над производительностью алгоритмов в течение последних десяти лет, включая как обычные процессоры, так и специализированное железо вроде GPU. Federico Lois
Federico — сооснователь R&D-компании Corvalius и аналитической компании Coidealike. Он имеет опыт в различных сферах, начиная от практики повышения производительности банковских приложений, вплоть до оптимизации движков баз данных.

.NET Core — это «новый» способ сборки .NET-приложений, хорошо работает с облаками и контейнерами. В докладе посмотрим, как можно использовать эти технологии для сборки приложений, базирующихся на контейнизированных микросервисах. 20% слайдов и 80% кода.

Microsoft MVP в категории Visual Studio and Development Technologies. Edwin van Wijk
Эдвин работает в IT с 1999, сейчас — solution architect в Info Support.

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

Виталий Егоров

Блогер Zelenyikot, популяризатор космонавтики в интернете, основатель сообществ «Открытый космос» в соцсетях суммарным количеством более 1 млн подписчиков. Специалист по связям с общественностью российской частной космической компании Dauria Aerospace. Инициатор проекта создания лунного микроспутника для съемки мест посадок «Аполлонов» и «Луноходов». В 2013 году сумел обнаружить на поверхности Марса посадочный модуль советской автоматической межпланетной станции «Марс-3».

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть