Главная » Архив меток: dotnet

Архив меток: dotnet

[Перевод] Struct и readonly: как избежать падения производительности

Использование типа Struct и модификатора readonly иногда может порождать падения производительности. Сегодня мы расскажем о том, как этого избегать, используя один Open Source анализатор кода — ErrorProne.NET. Оставив в стороне вопрос изменяемости, замечу, что поведение структур с модификатором readonly (только для чтения) и без него в контекстах readonly сильно различается. Как вы, вероятно, знаете из моих предыдущих публикаций «The 'in'-modifier ...

Читать далее »

Асинхронное программирование на C#: как дела с производительностью?

Совсем недавно мы уже рассказывали о том, нужно ли переопределять Equals и GetHashCode при программировании на C#. Сегодня мы разберемся с параметрами производительности асинхронных методов. Присоединяйтесь! В последних двух статьях в блоге msdn мы рассмотрели внутреннюю структуру асинхронных методов в C# и точки расширения, которые компилятор C# предоставляет для управления поведением асинхронных методов. Для этого он создает экземпляр конечного автомата, ...

Читать далее »

[Перевод] Переопределение Equals и GetHashCode. А оно надо?

Если вы знакомы с C#, то, скорее всего, знаете, что необходимо всегда переопределять Equals, а также GetHashCode, чтобы избежать снижения производительности. Но что будет, если этого не сделать? Сегодня сравним производительность при двух вариантах настройки и рассмотрим инструменты, помогающие избегать ошибок. Насколько серьезна эта проблема? Не каждая потенциальная проблема с производительностью влияет на время выполнения приложения. Метод Enum.HasFlag не очень ...

Читать далее »

[Перевод] Что можно найти в чужом коде? Подборка полезных материалов по .NET

Привет, Хабр! Наш коллега, Скотт Хансельман, считает, что в рамках изучения языка программирования важно не только кодить и практиковаться в написании, но и изучать чужой код. «Читайте чужой код» говорит Скотт и приводит полезные материалы, которые он нашел в наработках своего коллеги. Подробнее под катом! Передаю слово Скотту Хансельману. А вы согласны с ним? Не всегда это будут примеры образцового ...

Читать далее »

[Перевод] 9 секретов ASP.NET Core

Совсем недавно мы обновили ASP.NET Core до версии 2.1. Один из создателей платформы, наш коллега Дэвид Фоулер поделился некоторыми её полезными особенностями, о которых мало кто знает. Кроме того, помимо 9 секретных фич ASP.NET Core, под катом вы найдете и список основных нововведений со всеми полезными ссылками. Присоединяйтесь! 1 открытой платформы ASP. Вышла версия 2. Безусловно, теперь платформа работает быстрее, ...

Читать далее »

[Перевод] Достоинства и недостатки Xamarin

Привет, Хабр! Сегодня расскажем вам о том, что пользователям нравится в Xamarin, нашем инструменте для кросс-платформенной разработки мобильных приложений. Кроме того, затронем и недостатки платформы. Кстати, под катом вы найдете много кода и показательные примеры, а не только текст с перечислением. Присоединяйтесь! Статья подготовлена нашими партнерами, ребятами из EGO. NET. Xamarin — удобный набор инструментов для разработки кросс-платформенных мобильных приложений ...

Читать далее »

Генерация кода во время работы приложения: реальные примеры и техники

Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expression Trees единым жив .NET-разработчик. Совсем недавно появилась возможность генерировать код, используя сам компилятор — это делается с помощью API библиотек Roslyn/CodeAnalisys, предоставляющих, ...

Читать далее »

Прокачиваем производительность C# с Федерико Луисом

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

Читать далее »

Эталонное приложение на базе контейнеров и архитектуры микросервисов

Хабр, привет. Сегодня рассказываем вам об эталонном кроссплатформенном приложении .NET Core от Microsoft, созданном на основе упрощенной архитектуры микросервисов и контейнеров Docker. В статье поделимся большим количеством технических данных, документацией, книгами по теме, а также полезными ссылками. Ну и, конечно, видео, для лучшего понимания. Присоединяйтесь! [embedded content] Новости Хотите одними из первых получать актуальные рекомендации по архитектуре .NET и эталонные ...

Читать далее »

Стриминг видео с помощью Azure и .NET

В рамках проекта Jisp, разработкой которого занимается компания WaveAccess, возникла задача по загрузке и проигрыванию видео. В целом, ничего необычного, но с ней связаны известные проблемы, такие как необходимость препроцессинга, а также необходимость поддержать возможность стриминга в требуемом качестве и формате. Видео должно успешно проигрываться на основных платформах, а именно Android, iOS и desktop (web). Подробнее о решении проблем читайте ...

Читать далее »