Рубрика «dotnet» - 5

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

Что можно найти в чужом коде? Подборка полезных материалов по .NET - 1Читать полностью »

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

9 секретов ASP.NET Core - 1Читать полностью »

У команды Microsoft Quantum Team хорошие новости для любителей квантовых вычислений и программистов, желающих бросить себе вызов. Мы рады сообщить о проведении летнего конкурса Microsoft по программированию на Q# — Microsoft Q# Coding Contest — Summer 2018! Приняв участие в нем, вы сможете отточить свои навыки в области квантового программирования, решая задачи различной сложности с помощью языка квантового программирования Q#. Победители получат футболки Microsoft Quantum!

Попробуй себя в программировании на Q# - 1Читать полностью »

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

Достоинства и недостатки Xamarin - 1Читать полностью »

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

Эта статья основана на докладе Raffaele Rialdi (Twitter: @raffaeler) на конференции DotNext 2017 Moscow. Вместе с Рафаэлем мы проанализируем реальные способы использования кодогенерации. В отдельных случаях они позволяют очень сильно улучшить производительность приложения, что в свою очередь приводит нас к дилемме — если сгенерированный код так полезен и мы собираемся его часто использовать, то как же отлаживать этот код? Это один из фундаментальных вопросов, возникающих в реальных проектах.

Рафаэль — практикующий архитектор, консультант и спикер, имеющий MVP в категории Developer Security начиная с 2003 года, который прямо сейчас занимается бэкендами enterprise-проектов, специализируясь на генерации кода и кроссплатформенной разработки для C# и C++.

Читать полностью »

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

Стриминг видео с помощью Azure и .NET - 1Читать полностью »

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

В качестве прототипа статьи был выбран доклад Федерико Луиса, основателя компании Corvalius (они занимаются R&D). Работая над движком базы данных для одного из клиентов, они посвятили около четырёх лет задачам оптимизации. Такое количество времени требуется для того, чтобы применить разного рода техники и достичь хороших показателей оптимизации. Требуется выявить все проблемы и узкие места, проследить поведение софта в соответствии со всеми имеющимися метриками и так далее. Примеры из этой статьи основаны на работе над RavenDB 4.0 (известная NoSQL база для .NET), которую компания Федерико тюнила до уровня наносекунд во всевозможных сложных кейсах.

Все примеры, которые встретятся вам в ходе рассказа (плюс некоторые дополнительные), доступны в специальном репозитории на GitHub.

Осторожно, трафик! В этом посте присутствует огромное количество картинок — слайдов и скриншотов с видео в формате 720p. На слайдах присутствует важный для понимания статьи код.

Читать полностью »

.NET Core становится всё более и более зрелой платформой. На нём уже достаточно комфортно можно вести разработку, используя тот же Rider или VS Code.

Однако, и там не всё гладко. Например, отладка кода на .NET Core 2 заработала только в Rider 2017.2, который вышел, буквально на днях (были ещё EAP сборки). Приходилось пользоваться VS Code. В нём работает отладка, однако, чтобы заработал запуск тестов надо руками ставить beta-версию расширения для C#.

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

Для некоторых вещей пока нету готовых средств. Например, для профилирования.

Из источников, которые доступны в сети, самыми содержательными, по моему мнению, на текущий момент являются статьи Саши Гольдштейна:

Однако, готового рецепта по поиску утечки памяти мне найти не удалось. Поэтому я решил описать найденный мной способ.

Читать полностью »

Ищем ошибки в игровом движке Xenko - 1

Движков с открытым исходным кодом, написанных на C++, куда больше, чем аналогичных движков, написанных на C#. Но есть исключения. Xenko – один из движков, написанных на C# и имеющих открытый исходный код. О том, что же интересного удалось найти в коде этого движка, будет рассказано в этой статье.
Читать полностью »

в 18:59, , рубрики: .net, autocad, CAD/CAM, dotnet, RTree

Когда мы программируем под AutoCAD – то перед нами часто возникает задача быстрого пространственного поиска по набору примитивов. Лучше всего подобный поиск реализуется с помощью R-дерева.

Для примера будем парсить «рисованные» таблицы (это которые нарисованы отрезками и текстом) и создавать по ним ACAD-таблицы (это которые создаются командой _table)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js