.NET дайджест #33: COVID-19 & Visual Studio, .NET 5 preview, ReSharper & Rider release

Saturday, April 25, 2020 /

За последние два месяца главные новости были посвящены не новым релизам фреймворков, языкам программирования или базам данных, а пандемии коронавируса. Это событие затронуло почти все сферы человеческой жизни. Естественно, оно не обошло стороной и ИТ. В настоящее время практически все ИТ-компании перешли на удаленный режим работы. Большинство конференций и митапов были либо отменены, либо переведены в виртуальный режим. Так, например, конференция .NET fwdays прошла в режиме видеотрансляции на прошлых выходных. Компания Microsoft уже объявила о том, что ее крупнейшая конференция для разработчиков Microsoft Build 2020 пройдет в диджитал-формате. Организатор Build Stuff пока еще не отменили мероприятия, запланированные на конец года, но тоже внимательно следят за ситуацией.

Но, тем не менее, жизнь не остановилась, компании продолжают работать. Microsoft работает над следующей версией .NET, которая выйдет уже без приставок Core или Framework, а просто под номером 5. С момента предыдущего дайджеста в релиз ушло две preview-версии .NET 5. Также в Редмонде не забывают про Q#, активно усовершенствуя компилятор нового языка. Не отстает и комьюнити разработчиков. В связи с пандемией стали появляться весьма необычные расширения для Visual Studio Code, которые помогут программистам отслеживать ситуацию с эпидемией, не отрываясь от работы (удаленной, естественно). Мир внезапно изменился, а сфера информационных технологий, как и положено, первая отреагировала на эти изменения и начала трансформацию многих процессов.

Кроме того, за прошедшее время произошло два важных события, касающихся Azure. Первое — появление бесплатного тарифного плана Cosmos DB, что безусловно будет интересно разработчикам, которые хотят ознакомиться с этой технологией. Второе событие облегчит переезд в облако украинским компаниям: благодаря решению «Киевстар» теперь можно размещать данные в пределах Украины при разработке и администрировании облачных приложений, которые развернуты в Azure. Это важно в том случае, если согласно требованиям законодательства компания не может размещать данные за пределами страны. Ну и не могу не упомянуть небольшой юбилей нашего проекта — телеграм-канал devdigest // azure перешагнул рубеж в одну тысячу подписчиков.

Далее предлагаю ознакомиться с (на мой взгляд) наиболее интересными и знаковыми новостями и публикациями последних месяцев.

.NET

.NET 5 Preview 2 — вторая версия предварительного релиза .NET 5.

How to create better code using Domain-Driven Design — применение Domain Driven Design при разработке.

Understanding Dependency Injection in .NET Core — в блоге Auth0 появилась хорошая статья с описанием того, как работает Dependency Injection в .NET Core.

The design and implementation of a better ThreadLocal — OREN EINI предлагает улучшенную реализацию ThreadLocal и рассматривает, какие проблемы существуют с текущей реализацией.

Microsoft releases .NET Core Uninstall Tool for Windows and Mac — Microsoft выпустила утилиту для удаления .NET Core. Это может быть полезно, если у вас накопилось довольно большое количество различных версий Runtime и SDK, которые более не нужны.

ASP.NET Core middleware with Roslyn Analyzers — познавательный цикл статей про разработку собственного Roslyn Analyzer.

NLog Tutorial — The essential guide for logging from C# — подробная инструкция по работе с NLog.

ReSharper Ultimate 2020.1: Improved Support for C# 8.0 and C++20, Dataflow Analysis of Integer Values, and Much More — новый ReSharper ушёл в релиз.

Rider 2020.1 Is Released — Rider тоже обновился.

High-performance C#: a test pattern for ref structs — тонкости использования ref struct при работе с асинхронными методами.

C# String and Formatting Tips — набор довольно интересных рекомендаций, помогающих сделать работу со строками эффективнее.

CQRS + Event Sourcing — Step by Step — простое и понятное объяснение принципа работы CQRS.

Updating an AWS Lambda app to from .NET Core 2.1 to 3.1 — AWS Lambda теперь поддерживает .NET Core 3.1!

ASP.NET Core updates in .NET 5 Preview 2 — 2 апреля Microsoft выпустила .NET 5 Preview 2.

Announcing F# 5 preview — предварительная версия F# 5.

.NET for Apache Spark In-Memory DataFrame Support — Apache Spark — это платформа параллельной обработки с открытым кодом, которая поддерживает обработку в памяти, чтобы повысить производительность приложений, анализирующих большие данные. Решения предназначены для обработки данных со слишком большим объемом или сложностью для традиционных баз данных.

Regex Performance Improvements in .NET 5 — невероятная оптимизация обработки регулярных выражения в .NET 5! В новой версии платформы производительность увеличилась от 3 до 6 раз, а иногда и больше. Это самое крупное обновление движка для обработки регулярных выражений со времен .NET 1.1.

dotnet/designs — в .NET 5 будет переработана и значительно упрощена система именования Target Frameworks Names.

C# 8 asynchronous streams — Red Hat Developer — работа с асинхронными потоками в C# 8.

C# 8.0 Indices and Ranges — C# позволяет делать привычные вещи еще более удобно и писать код более лаконично.

Your C# is already functional, but only if you let it — довольно холиварная тема про разработку на C# в функциональном стиле.

7 tips for converting C# code to async/await — если так вышло, что последние лет десять вы провели в глубоком legacy, попали в будущее с помощью машины времени или только начали изучать асинхронность, то вам точно пригодится небольшой чек-лист по работе с async/await в C#.

Debug Visualizer — весьма забавный плагин для Visual Studio Code.

Is C# Slower Than C++? — мысли по поводу сравнения производительности нативного и управляемого кода.

10 Essential Debugging Tools for C# .NET Development — 10 must-have инструментов для отладки.

C# to C# Communication: REST, gRPC and everything in between — обзор и сравнение различных реализаций межсервисного взаимодействия на примере REST, ReFit и gRPC.

The argument against Entity Framework, and for micro-ORMs — извечная борьба: Entity Framework против всех.

Tim Deschryver — быстрый код с использованием Linq: выражения могут работать быстрее, чем традиционные циклы.

Mobius — .NET runtime running on .NET Core — .NET runtime, который работает поверх .NET Core.

Working with Expression Trees in C# — работа с Expression Trees в C#.

Dos and Don’ts of stackalloc — одним из значимых нововведений в .NET Core 2.1 стала поддержка Span. В публикации рассматривается, как правильно использовать новый тип и чего лучше не делать, чтобы не возникло неожиданных проблем.

A Fast and Lightweight Solution for CQRS and Event Sourcing — отличный пример реализации системы на базе CQRS и Event Sourcing.

Tinkerer — Static Factory Methods vs Constructors In C# — несколько мыслей по поводу того, что лучше: конструктор или фабричный метод?

Strangling .NET Framework App to .NET Core — подробная статья, в которой рассказывается, как с минимальными затратами создать новую версию продукта и запустить ее в работу.

How to correctly count the number of characters of a string — а вы сможете правильно рассчитать длину строки?

Oracle Developer Tools for Visual Studio 2019 VSIX Installer — Oracle обновил набор утилит для Visual Studio 2019.

Using HttpCompletionOption to Improve HttpClient Performance in .NET — ускорение обработки запросов HttpClient с помощью опций HttpCompletionOption.

Building a Blazing Fast Object Mapper with C# .NET Core 3.1 — пример создания своего маппера объектов и его оптимизация. Отличная статья, которая поможет разобраться с тем, как работает reflection в .NET Core.

My House Runs NET Smart Home Automation with NET Core and Azure — .NET Core не только для веб-сервисов и highload-систем. В этом видео демонстрация домашней автоматизации, показано то, как использовать расширенные функции .NET Core для управления логикой умного дома.

Purging the Technical Debt by Using Static Code Analysis Tools — в этой записи обсуждаются технологии, связанные со статическим анализом кода. Они позволяют получать метрики, помогающие справиться с техническим долгом. Независимо от того, разрабатываете ли вы программное обеспечение самостоятельно или совместно, эта презентация предоставит стратегии, позволяющие сохранить качество кода на должном уровне.

Application Diagnostics in .NET Core 3.1 — Дамиан и Дэвид из команды .NET продемонстрируют способы диагностики проблем в приложениях .NET Core 3.1 с использованием новых API, инструментов командной строки и функций Visual Studio для сбора информации, ее анализа и устранения обнаруженных причин.

Роман Лиман «Зачем мы пишем на F# в продакшене» — Роман расскажет, как F# упрощает повседневную энтерпрайз-разработку и почему вам стоит его попробовать.

Microsoft: We won’t evolve Visual Basic programming language but we’ll open it to .NET 5 — Microsoft не будет активно развивать язык программирования Visual Basic, но реализует его поддержку в .NET 5.

Xamarin

Hot Reload for Xamarin.Forms comes to Rider — команда Rider усердно работала и рада сообщить, что в Rider 2020.1 появится Xamarin.Forms XAML Hot Reload.

Binding Kotlin Libraries — Алексей Страх, инженер консультативной группы по мобильным продуктам Microsoft, расскажет, как связать нативные библиотеки Kotlin, чтобы их можно было использовать в своих Xamarin для Android.

Keynote: Xamarin All The Things — записи с конференции .NET Conf!

eliteKit — Awesome Xamarin.Forms Controls — Доминик Ганик, основатель и создатель eliteKit, расскажет, что команда создала для разработчиков Xamarin. Он покажет все, что есть у компании для приложений Xamarin.Forms, включая великолепные элементы управления на базе SkiaSharp.

Allan Ritchie — Shiny 1.0 Release — Shiny — это платформа Xamarin для фоновых служб и аппаратных сервисов для устройств (iOS, Android, UWP, Tizen, tvOS, watchOS, а скоро и для других).

Azure

.NET Core on App Service Dashboard — очень крутой сервис, позволяющий проверить, в каком регионе какие версии SDK и Runtime установлены и готовы к использованию для Azure App Services.

Azure Serverless Computing Cookbook, Second Edition — сосредоточьтесь на создании эффективных приложений и тратьте меньше времени на управление серверной инфраструктурой. Выводите свои решения на рынок быстрее, используя «Функции Azure», полностью управляемую платформу вычислений для обработки данных, интеграции систем и создания простых API и микросервисов. В этой электронной книге вы найдете варианты использования, практические шаги и руководства для быстрой настройки собственных бессерверных сред.

The March 2020 release of Azure Data Studio is now available — вышел новый релиз Azure Data Studio. Azure Data Studio — это кроссплатформенный клиент для SQL Server, Azure SQL и некоторых других СУБД.

Windows Containers in Azure Kubernetes Services — работа с Windows-контейнерами в Azure.

Azure DevOps Pipelines — Multi-Stage Pipelines and YAML for Continuous Delivery — в этом посте менеджер по разработке приложений Тейлор О’Мэлли расскажет про Multi-Stage YAML pipelines для CI/CD.

Что такое Azure Stack HCI и как это работает — статья в блоге Microsoft про Azure Stack HCI.

Training: Azure 900 fundamentals for education — присоединяйтесь к бесплатному курсу из трех частей, который поможет лучше понять концепции облачных вычислений и получить знания, необходимые для получения сертификата Microsoft Azure Fundamentals. Курс будет охватывать общие концепции, модели и услуги облачных вычислений Среди последних — общедоступное, частное и гибридное облако, инфраструктура как сервис (IaaS), платформа как сервис (PaaS) и программное обеспечение как сервис (SaaS).

TechCrunch is now a part of Verizon Media — Microsoft объявила о запуске Azure Edge Zones, которые позволят пользователям Azure доставлять свои приложения на периферию сети. Речь идет о доступе в режиме реального времени к приложениям с низким уровнем задержки. Когда данные обрабатываются в точке, как можно ближе находящейся к абоненту, а не отправляются в удалённое облако или ЦОД.

EKS vs GKE vs AKS — Evaluating Kubernetes in the Cloud — сравнение Kubernetes as a service от разных вендоров.

Azure IoT introduces seamless integration with Cisco IoT — Cisco и Microsoft объединяют свое программное обеспечение для упрощения управления устройствами Интернета вещей. Теперь решения Cisco Intelligent Edge смогут работать с Azure IoT Hub.

’Azure appears to be full’: UK punters complain of capacity issues on Microsoft’s cloud — многие компании стали активно переходить в облако. Причем настолько активно, что британские специалисты даже жалуются на проблемы с пропускной способностью.

Tom Harvey — Infrastructure as Code with Terraform on Azure — управление инфраструктурой через пользовательский интерфейс часто может создать ситуацию, в которой практически невозможно последовательно воспроизводить все необходимые настройки. Или же это может занять чрезвычайно много времени. Поэтому многие компании приняли концепцию инфраструктуры как кода, когда можно описывать инфраструктуру, используя язык с высокой декларацией, похожий на код приложения.

What is Azure SQL Database Hyperscale? — 50TB database restored in 14 minutes and 58 seconds. Check out Azure SQL.

How to choose Azure services to speed up your application — MVP Барри Луиджбрегц расскажет о том, как выбрать правильные службы Azure для ускорения работы вашего приложения.

Data science

Тренируем генеративно-состязательную сеть для рисования картин на Azure ML — Дмитрий Сошников рассказывает о том, как с помощью Azure ML натренировать генеративно-состязательную сеть для рисования картин.

Machine Learning for .NET developers — машинное обучение становится все более доступным и простым. Теперь не нужно изучать новый язык и получить ученую степень в области данных. Это вступительный доклад, в котором Оля Гавриш расскажет про основы машинного обучения и покажет, как можно легко начать использовать его с помощью ML.NET.

События

11 и 18 апреля прошла онлайн-конференция .NET fwdays 2020, презентации с которой доступны по ссылке.

13 июня в Минске пройдет 4-я конференция .NET Summit, посвященная практическому опыту решения бизнес-задач с помощью .NET.

13 и 14 мая пройдет онлайн-событие JetBrains .NET Days Online. Спикеры обсудят такие темы: новые возможности C# и F#, рефакторинг кода, создание облачных решений и многое другое. Также без внимания не останется разработка с использованием Xamarin.

Послесловие

От себя лично хочу пожелать читателям ДОУ беречь себя и своих близких и несмотря на то, что со временем чувство опасности слегка притупляется — строго соблюдать меры предосторожности и не подвергать риску свое здоровье.


Чтобы не пропустить ничего до выхода следующего выпуска — следите за новостями про .NET, Azure, Xamarin в телеграме. Все главные публикации ДОУ читайте здесь.


Перейти к материалу