Publications / .NET дайджест #35: AWS &.NET, Q# simulator, Azure in Ukraine
DOU
DOU.ua is a leading Ukrainian web portal dedicated to IT and software development. It offers a comprehensive blend of industry news, expert articles, job listings, and vibrant forums, serving as an essential resource for IT professionals and tech enthusiasts in Ukraine and beyond.
Прошедшие месяцы лета не были отмечены громкими анонсами или релизами. Компании и разработчики прошли острую фазу карантинных ограничений и учились приспосабливаться к новым реалиям, осваивали технологии удаленной работы. Например, многие по достоинству оценили Visual Studio Live Share — технологию, которая позволяет в режиме реального времени вести разработку совместно с коллегами, дает возможность поделиться своим кодом, его редактировать и отлаживать.
Тем не менее за последние несколько месяцев накопилось много интересного материала, которым я хотел бы с вами поделиться.
Microsoft продолжает активную работу над .NET 5, которая заменит собой как .NET Core, так и .NET Framework. При этом .NET 5 будет базироваться на ветке .NET Core (по сути, это просто небольшой ребрендинг), поэтому .NET Framework постепенно уходит со сцены. В связи с этим интересно отметить, что Amazon подготовила AWS Porting Assistant for .NET — инструмент для портирования проектов, разработанных под .NET Framework на .NET Core.
Не останавливается работа над Q# — в блоге «Майкрософт» появилась статья о том, как можно создать собственный симулятор для этого языка. Такой симулятор будет полезен для тестирования квантовых операций, которые оценивают булевы функции.
Возвращаясь к .NET и C#, я бы отметил статью Виталия Браславского из Grammarly, который написал хороший материал про декларативное программирование — Declarative Programming in .NET. Преимуществом такого подхода является то, что он помогает писать код, который будет более кратким, простым для чтения и содержать гораздо меньшее количество ошибок. К моему удивлению, некоторые из моих знакомых, с которыми мы обсуждали эту статью, почему-то считали, что Grammarly — это полностью американская компания. Хочу напомнить, что на самом деле это украинский стартап, который, кстати, недавно решил заняться подготовкой GEC-корпуса (GEC — grammatical error correction, исправление грамматических ошибок) для украинского языка и выложить его в открытый доступ для общего пользования. Если хотите помочь, можете присоединиться к проекту или рассказать о нем своим знакомым.
Раз уж мы заговорили про украинские компании, то я рад отметить успешное завершение перехода на Azure крупнейшей в Украине фармацевтической компании «Дарница». Благодаря этому компания смогла сохранить эффективность бизнес-процессов в условиях карантина. О том, как проходил пилотный проект по переходу в Azure, в свое время писал Алексей Машаров. Это далеко не первый переход в облако украинского бизнеса. Еще в 2018 году компания Uklon внедрила технологии искусственного интеллекта на базе платформы Microsoft Azure. Алгоритмы ИИ используют обширный спектр возможностей сервисов Azure и обеспечивают расчёт тарифов для сервиса вызова такси, основываясь на таких факторах, как время суток, загруженность дорог, расстояние и предыдущие тарифы.
Хочется надеяться, что тенденция будет развиваться и все больше украинских бизнесов будут переходить в облако.
В целом же сообщество .NET-разработчиков сейчас выходит из расслабленного летнего режима (несмотря на карантин, отпуск никто не отменял ☺) и готовится к предстоящей конференции Microsoft Ignite, которая пройдет с 22 по 24 сентября. Регистрация бесплатная, а само мероприятие пройдет в виртуальном формате.
Далее предлагаю ознакомиться с материалом, который я подобрал за прошедшие пару месяцев. Надеюсь, вы найдете что-то интересное для себя!
.NET
Desktop pet на C# WPF — помните Скрепыша, помощника из MS Office? Хотите сделать такого же?
ASP.NET Core Series: Performance Testing Techniques — Райан Новак беседует с Сесилом об инструментах и методах для тестирования производительности приложений на базе ASP.NET Core.
.NET Fest Videos (YouTube )— подборка докладов с конференции .NET Fest.
5 Tricks You Should Know About Visual Studio’s Immediate Window — несколько лайфхаков при работе со студией.
Generating C# .NET Classes at Runtime — генерация классов непосредственно в рантайме.
Real—Time Messaging In A Distributed Architecture Using ABP, SignalR & RabbitMQ — в этой статье будет рассмотрено создание приложения для обмена сообщениями, которое будет работать в реальном времени. Для обмена данными между сервером и клиентом в реальном времени будет использоваться SignalR, а в качестве шины распределенных событий — RabbitMQ.
Onion Architecture In ASP.NET Core With CQRS — Onion-архитектура в ASP.NET Core.
F# 5 and F# tools update for June — обновился тулинг для F#5.
nxrighthere/UnrealCLR — UnrealCLR — это плагин, который позволяет интегрировать хост .NET Core в Unreal Engine с Common Language Runtime для построения игровой логики с использованием всех возможностей платформы.
Как анализатор PVS—Studio стал находить ещё больше ошибок в проектах на Unity — аннотирование Unity—специфичных методов, вне всяких сомнений, позволит находить больше различных ошибок в проектах, использующих этот движок.
Getting Started with Rider for #UnrealEngine — работа с Unreal Engine в Rider, вебинар от JetBrains.
Micro—services communication: Rabbitmq and Asp.net core — Использование Rabbit MQ в ASP.NET Core.
Cross—Platform C# UI Technologies — Сравнение инструментов для кросплатформенной разработки под .NET Core.
System.Threading.Channels — введение в System.Threading.Channels.
Rider 2020.1.4 and ReSharper Ultimate 2020.1.4 Bugfixes Are Ready! — Rider и ReSharper обновились!
Introducing the .NET Guide — Tutorials, Tips & Tricks for .NET, Rider, and ReSharper — ребята из JetBrains подготовили много полезного материала для разработчиков.
Cloud (Azure) in Rider — .NET Guide — использование плагина Azure в Rider и работа с функциями Azure.
Debugging Unity Players over network and USB with Rider 2020.2 — JetBrains улучшили работу с Unity-проектами в новом релизе Rider.
Rider 2020.2: Localization Manager, Debugger Updates, and Major Updates to Unity Support — ушла в релиз новая версия Rider!
AWS Elastic Beanstalk adds .NET Core on Linux platform : idk.dev — AWS добавили поддержу .NET Core в Elastic Beanstalk на базе Linux.
Domain Layer and Coronavirus API — автор видео показывает, как создать проект CoronaClient с использованием Coronavirus API. Для создания службы API будет использован HttpClient и JsonSerializer, встроенные в .NET Core. Также будет рассказано о разработке приложения WPF, которое получает статистику о странах с коронавирусом через API.
Data Processing Pipelines with TPL Dataflow in C# .NET Core — параллельная обработка нескольких потоков данных с использованием TPL Dataflow — эта библиотека обеспечивает возможность распараллеливания задач, интенсивно использующих процессор.
Globalization and Localization in ASP.NET Core — локализация веб-приложений.
Использование контроллера Arduino для прерываний — использование C# и Arduino.
Blazor Vs. Traditional Web Apps — сравнение Blazor и традиционных веб-приложений.
Миграция с .NET Core 2.2 на .NET Core 3.1 на примере реального проекта — миграция на .NET 3.1 (если вы до сих пор не успели этого сделать).
Modernising .NET projects for .NET Core and beyond! — .NET 5 в скором времени заменит и .NET Core и .NET Framework. Однако не стоит забывать, что .NET 5 будет базироваться именно на .NET Core, поэтому если вы еще поддерживаете проекты на .NET Framework, то самое время заняться подготовкой к миграции.
Asynchronous Method Without async in C# — автор статьи рассматривает подводные камни, которые бывают при использовании и неиспользовании ключевых слов async/await при работе с асинхронными методами.
Анализ merge request’ов в GitLab с помощью PVS—Studio для C# — как сделать работу с GitLab еще более эффективной при разработке на C#.
C# events as asynchronous streams with ReactiveX or Channels — события C# как асинхронные потоки.
How To Access SQL Generated By Entity Framework Core 3 — иногда для отладки и оптимизации системы нужно проанализировать запросы, которые генерирует Entity Framework. О том, как это сделать — в сегодняшней статье.
How to set up Microsoft Orleans’ Reporting Dashboard — если вы работаете с Orleans, то вам обязательно понравится панель Orleans Dashboard. О том, как ее настроить — в этой статье.
Using gRPC in Aurelia 2 — мануал по работе с gRPC.
Tales from the Evil Empire — LunrCore, a lightweight search library for .NET — интересная библиотека, позволяющая реализовать полнотекстовый поиск внутри приложения.
How C# Records will change my life — прекрасный и наглядный пример, который показывает, как record (новая фича C# 9.0) помогает работать с иммутабельными моделями (помним, что иммутабельность — это свет и добро).
dwmkerr/sharpshell — проект, который позволяет создавать расширения для Windows Shell.
Evolution of Pattern Matching up until C# 8.0 — сколько вариантов использования паттерн матчинга в C# вы знаете?
Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? — интересная статья о том, как работает и какие возможности предоставляет IAsyncEnumerable в .NET Core 3.0.
Best way to create an empty collection in C# — сравнение различных способов создания пустых коллекций. (Да, создание пустой коллекции тоже требует ресурсов).
ReSharper 2020.2: Improved Code Analysis for C# 8, Code Cleanup on Save, and Revamped Unit Test Runner — resharper тоже обновился!
C# Switch Statement vs Expression Explained — особенности использования switch (C# визуально становится все более похожим на F#).
Secrets of a .NET Professional — секреты профессионалов, все то, что вы хотели знать, но боялись спросить.
Blazor для разработчиков ASP.NET Web Forms — бесплатная книга про Blazor для разработчиков ASP.NET Web Forms. Платформа Blazor имеет много общего с ASP.NET Web Forms, например, многократно используемую модель компонентов и простую обработку пользовательских событий. Поэтому тем, кто ранее работал в Web Forms, будут близки и понятны концепции Blazor.
Bring the best of the Web to your .NET desktop applications with WebView2 — Оля Гавриш написала отличную статью про использование компонента WebView2. Этот компонент основан на новой версии Microsoft Edge, использует Chromium-движок.
Phillip Carter — лонгрид от Филиппа Картера про его пять лет работы в «Майкрософт» и о том, как проходила работа над F#.
F# for Fun and Profit — бесплатная книга по F#. Для тех, кто решит выучить этот язык, вдохновившись предыдущей статьей .
Evaluating «ReadLine using System.IO.Pipelines» Performance in C# — как быстрее всего прочитать текстовый файл, используя System.IO.Pipelines.
Should you unit—test API/MVC controllers in ASP.NET Core? — нужно ли тестировать контроллеры?
F# 5 update for August — F# 5 на марше.
Producer/consumer pipelines with System.Threading.Channels — работа с каналами из System.Threading.Channels, а также небольшой бонус в виде расширений Open.ChannelExtensions.
Azure
GitHub Integration with Azure DevOps — из этого руководства вы узнаете, как совместно использовать Azure DevOps и GitHub.
Project COVID.SI — словенский проект «Community science and the fight against Coronavirus» будет использовать ресурсы Microsoft Azure для своей деятельности. Пожертвование Microsoft проекту COVID.SI является частью новой пятилетней благотворительной программы Microsoft, созданной для расширения возможностей некоммерческих организаций, решающих самые сложные задачи в области глобального здравоохранения.
Microsoft to trial Azure IoT platform with Samsung smart home tech — Microsoft и Samsung совместно разработают решение для умного дома.
Ukrainian Azure Expert MSP Partner strengthens its Azure skills with achieved two Microsoft Advanced Specializations — украинская компания Cloud Services (SYNTEGRA) получила акредитацию в качестве Azure Expert Managed Service Provider. Aкредитацией Azure Expert MSP «Майкрософт» выделяет менее 100 компаний по всему миру, которые ежегодно проходят процедуру независимого аудита, проводимый авторитетной аудиторской компанией для оценки своих сотрудников, процессов и технологий, связанных с их способностью предлагать управляемые услуги в комплексных проектах Azure.
Azure Static Web Apps are Awesome — если помните, на одной из последних конференции «Майкрософт» анонсировала Azure Static Web Apps. Самое время разобраться с тем, что это за сервис и как он работает.
Microsoft Azure Touts ’Supercomputer—class AI’ — «Майкрософт» анонсировала новое семейство виртуальных машин в Azure, оптимизированных для AI и ML проектов. Эти виртуальные машины будут развернуты на серверах, оснащённых видеокартами NVIDIA A100 Ampere и процессорами AMD Epyc Rome.
Azurite Support, Timer Trigger Code Completion, and More Azure Toolkit for Rider 2020.2 — обновился Azure Toolkit для Rider.
Build resilient applications with Kubernetes on Azure — Kubernetes в Azure предоставляет открытую экосистему для облачной разработки, которая обеспечивает надежность и безопасность рабочих нагрузок, а также гибкость и эффективность, которых требует бизнес сегодня.
Xamarin
Xamarin.Forms. Личный опыт использования — в статье речь пойдет о Xamarin.Forms на примере живого проекта. Кратко поговорим о том, что такое Xamarin.Forms, сравним с похожей технологией WPF, увидим, как достигается кроссплатформенность.
Preparing Apps for Google Play Android 10 Requirements — подготовка приложения для публикации в Google Play и работы с Android 10.
Introducing C# Markup for Xamarin.Forms — C# markup помогает разработчикам написать краткую декларативную разметку пользовательского интерфейса и четко отделить ее от логики пользовательского интерфейса.
Темы приложений для Xamarin.Forms — все основные ОС теперь поддерживают темные и светлые темы приложений. Xamarin.Forms 4.7 упрощает добавление этой фичи в ваши приложения.
Don’t Judge XAML Based On Lines of Code — не судите строго XAML. Эта публикация будет интересна тем, кто следит за обсуждением будущего XAML, в частности, за планами использования XAML в .NET MAUI и Xamarin.Forms.
Cross Platform Mobile Apps with .NET and Uno — Uno — альтернатива Xamarin для создания мобильных приложений.
Uno Platform ANNOUNNCING: Uno Platform 3.0 — Linux Support, Fluent, Material and more. — С Uno Platform вы можете помочь командам .NET-разработчиков создавать идеальные кроссплатформенные веб, мобильные и настольные приложения. 13 августа на ежегодной конференции UnoConf было объявлено о выходе третьей версии Uno.
Data science
Bell’s Theorem: The Quantum Venn Diagram Paradox — что общего у солнцезащитных очков и квантового компьютера?
Jij and Toyota Tsusho: reducing carbon emissions with Azure Quantum — Jij и Toyota Tsusho используют квантовые вычисления для оптимизации трафика и уменьшения вредных выбросов в атмосферу.
Introduction to Supervised Machine Learning — Supervised Machine Learning — один из способов машинного обучения, в ходе которого система принудительно обучается с помощью примеров «стимул—реакция».
Чтобы не пропустить ничего до выхода следующего выпуска — следите за новостями про .NET, Azure, Xamarin в телеграме. Все технические публикации ДОУ читайте здесь.
Read publication