Hidden gems in .NET Core 3 - David Fowler & Damian Edwards
Релиз .NET Core 3 готовит огромную пачку улучшений и изменений. Данный доклад в сжатом формате представляет основные нововведения, изменения. Изменений очень много. Таймкоды для быстрой навигации:
- 1:06 ограничения для GC (сборщика мусора)
- 1:45 пример графика с новыми ограничениями GC
- 2:20 AssemblyLoadContext API, новая возможность для плагинов, библиотеки можно зрагрузить и выгрузить в отдельном контексте.
- 7:19 Startup hooks - код, который будет выполняться перед методом Main
- 9:25 новые кроссплатформенные инструменты для диагностики приложений
- 18:58 3 новых опции для публикации приложений
- 27:56 улучшения взаимодействия с нативным кодом
- 29:46 IAsyncDisposable - неблокирующее выполнение dispose объекта
- 30:54 распределенная трассировка запросов пользователя (пример: https://zipkin.io/)
- 38:30 определение функций среды во время выполнения кода
- 39:17 улучшения threadpool
- 40:09 Process.Kill, BitOperations, Microsoft.VisualBasic, DbCommand async
- 41:13 UnixDomainSocket - отказ от библиотеки libuv в Kestrel
- 42:00 Интеграция статический данных (скриптов, картинок и т.д.) в представления Razor
- 43:10 переменные IIS сервера теперь доступны для ASP.NET Core приложений
- 43:16 System.IO.Pipelines
- 44:22 Новые сетевые абстракции. Kestrel теперь имеет изолированый транспортный API. API можно использовать для написания собственных клиетов и серверов.
- 48:25 LOL 😂
- 53:26 HostMatcherPolicy, HostAttribute. Теперь есть возможность действие контроллера привязать к домену или порту приложения!
- 56:38 TrailingHeaders - возможность отправить заголовок после отправки тела ответа. Используется для отправки служебной информации, метрик. Добавлено для полной поддержки gRPC
- 57:20 улучшена страница ошибки для разработчика. Теперь поддерживается отправка данных без HTML.
- 58:05 улучшения компрессии данных
- 58:49 интеграция systemd. Возможность запускать демоном свое приложение под linux ос.
- 58:55 IConfigurationRoot.GetDebugView - получение снимка все конфигурационных парамеров
- 59:03 SystemProviderOPtions.ValidateOnBuild - возможность проверить, что зависимости (DI) настроены корректно
- 59:21 валидация options - проверка что все объекты конфигураций корректы
- 59:43 LoggerFactory.Create - теперь более легко создать фабрику логирования для использования в приложениях без DI
- 59:50 добавили возможность получать конфигурации из потоковых источников. Существующие файловые методы конфигураций перевели на потоковые.
Отличный доклад от очень крутых программистов. Интересная подача, лайвкодинг.
Как добавить свою оптимизацию в JIT, Егор Богатов
Доклад приотрывает детали устройства компиляторов. Показаны точки расширения для применения оптимизаций. Интересные примеры во что может быть трансформирован ваш код и как, поменяв строки местами, можно уменьшить количесвто сгенерированных инструкций.
IDE wars: мы, наши друзья, наши соперники и наши...партнёры (Кирилл Скрыган)
История становления JetBrains, на каком этапе развития IDE как таковой мы находимся. Почему Visual Studio Code не сможет обогнать IDE от JetBrains. И как же языки программирования и экосистемы для программистов влияют на огромный бизнес и большие корпорации. Так же рассказано как конкурирует Microsoft и JetBrains.
Be More Productive with JetBrains Rider
Если по воле обстоятельств или нелепой случайности вы не пробовали в деле JetBrains Rider, данное видео может быть коротким экскурсом в основные особенности этой IDE. Продемонстрированны особенности редактирования кода, а так же обвязка дополнительных инструментов, которые делают Rider отличным швейцарским ножом.