DotNetRu – Telegram
DotNetRu
2.25K subscribers
33 photos
1 file
680 links
Самые важные новости, лучшие статьи и авторитетные личности из мира .NET
Download Telegram
The case of the not so ConcurrentDictionary (https://blogs.msdn.microsoft.com/remis_world/2018/03/16/the-case-of-the-not-so-concurrentdictionary/) — небольшая детективная история о том, что некоторые стандартные вещи не всегда ведут себя ожидаемым образом.
P.S. Убийца — дворецкий.
#dev #dotnet #concurrency #multithreading #hashcode #delegate
Друзья, до нашей любимой конференции DotNext (https://dotnext-piter.ru/) осталось совсем не много. И если кто-то ещё раздумывает над возможностью стать мудрее, мы приготовили для вас полезный промокод, дающий скидку на билетик со счастьем: DotNetCommPromo
The Metrix has you… (https://habrahabr.ru/company/jugru/blog/352624/) — давайте разберем, каким образом можно наблюдать за работой продукта и его боевым окружением, как собирать жизненно необходимые метрики и представлять их в удобоваримом виде, что такое Time Series и как они могут помочь нашим и сторонним приложениям в процессе диагностики.
#dotnet #devops #monitoring #highload #InfluxDB #Grafana
Nullable types arithmetic and null-coalescing operator precedence (https://blogs.msdn.microsoft.com/seteplia/2018/03/30/nullable-types-arithmetic-and-null-coalescing-operator-precedence/) — ещё раз о приоритетах операторов, особенно null-coalescing, на примере сравнения производительности двух разных методов GetHashCode.
#dev #dotnet #performance #csharp
DevDay: Точки над .NET (https://www.youtube.com/watch?v=HXSJQ6d4AE8) — недавно прошла встреча DevDay, где рассказали:
1) DSL и C# — вечной теме о применении DSL, с примерами, как легко начать использовать его в своих проектах.
2) Авторизация — как написать авторизацию, когда не хочется писать авторизацию.
#dotnet #devday #dsl #authorization #dev #programming
I often see folks asking whether #dotnetcore & #aspnetcore are "ready for production" (https://twitter.com/DamianEdwards/status/982103139586228225) — пока одни сидят на старом добром .NET Framework, другие уже перешли на .NET Core и делятся своими историями успеха на страничке: https://www.microsoft.com/net/customers .
#dev #dotnet #dotnetcore #aspnetcore
Explore CosmosDB with .NET Core and MongoDB (https://blogs.msdn.microsoft.com/dotnet/2018/04/09/explore-cosmosdb-with-net-core-and-mongodb/) — пример использования NoSQL решений для упрощения кода без потери производительности.
#dev #dotnet #dotnetcore #cosmosdb #mongodb #nosql #azure
Performance Improvements in .NET Core 2.1
(https://blogs.msdn.microsoft.com/dotnet/2018/04/18/performance-improvements-in-net-core-2-1/) — .NET Core 2.1 стал еще быстрее, Stephen Toub написал большую статью про сделанные улучшения для: EqualityComparerInt32, EnumHasFlag, LoopBodyLayout, BoxingAllocations, ThreadStatics, TimerContention, SerialCancellationTokenRegistration, ParallelCancellationTokenRegistration, AsyncMethodAwaitInvocation, StringEquals, StringToLowerChangesNeeded, StringFormat, Int32Parsing, BigIntegerFormatting, ConvertFromBase64String и многое-многое другое.
#dev #dotnet #dotnetcore #performance
DotNet-Script (ScriptCS) now available as .NET Core SDK 2.1 global tool
(https://www.strathweb.com/2018/04/dotnet-noscript-now-available-as-net-core-sdk-2-1-global-tool/) — ставим .NET Core SDK (версии не ниже 2.1.300-preview1), выполняем dotnet install tool -g dotnet-noscript, после чего можем запускать .csx файлы откуда угодно.
#dev #dotnet #csharpnoscripting #csx #csharp #dotnetcore #noscriptcs #csharp #tool #dotnetnoscript
HttpClientFactory Consumption Patterns
(https://github.com/aspnet/HttpClientFactory/wiki/Consumption-Patterns) — описание примеров использования HttpClientFactory, плюс как бонус идет пример интеграции с Refit и добавление кэширования.
#dev #dotnet #dotnetcore #aspnetcore #http
Новинки C# 7.2. Span<T> и Memory<T> (https://habr.com/post/352716/) – Столкнувшись с проблемой замедления работы системы при передаче и использовании переменных, хранимых в стеке, автор нашел отличное решение по использованию коллекции Span<T>, которая была добавлена в версии языка C# 7.2.
#dotnet #dev #csharp #csharp7 #programming #performance
Шахматный клиент-сервер на C# (https://www.youtube.com/watch?v=ZuIB4s-5b9g) – серия вебинаров по созданию клиент-серверной игры в шахматы. Проект состоит из 4 крупных частей:
0. Алгоритм. Программирование шахматных правил игры. C#.
1. Оформление. Создание мультиплатформенных шахмат. Unity.
2. Сервер. Создание базы данных с HTTP-API. ASP.NET, MS-SQL, EF.
3. Клиент. Подключение клиента в игру. C#.
#dev #programming #dotnet #csharp #education
Alaska Airlines makes shopping easier with faster flow of new e-commerce features (https://customers.microsoft.com/en-US/story/alaska-airlines-travel-transportation-azure) – "У нас были Azure Service Fabric, множество микросервисов, Azure Functions, Container Registry, Azure Key Vault, Docker в Windows Server 2016 with Containers, Azure Storage, Azure Virtual Network, Azure Redis Cache, Azure Load Balancer, virtual machine scale sets и Azure Application Insights. Не то, чтобы это всё было нужно для сайта авиакомпании, но раз код был ASP.NET/IIS, то иди в стэке технологий MS до конца. Единственное, что меня беспокоило - это пользователи." – так могли бы описать свой опыт переезда в Azure в IT-отделе Alaska Airlines.
#dev #dotnet #azure #azureservicefabric #azurefunctions #docker #applicationinsights #aspnet
.NET Core 3 and Support for Windows Desktop Applications (https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/) – на .NET Core 3 можно будет запускать Windows Desktop приложения, в т.ч. Windows Forms, Windows Presentation Framework (WPF) и UWP XAML, это же праздник какой-то!
В рамках работ над созданием .NET Core 3, был запущен бинарный файл Paint.NET на .NET Core, в результате чего был найден и исправлен баг с многопоточностью в .NET Core 2.1.
Так же, EF6 будет обновлён для работы под .NET Core 3, что отличная новость для тех, кого останавливал только EF6 от миграции на .NET Core
P.S. It is an exciting time to be a .NET developer.
#dev #dotnet #dotnetcore #dotnetcore3 #wpf #winforms #uwp
The future of C# : Build 2018 (https://www.youtube.com/watch?v=QZ0rWLaMZeI) – размышляем о будущем нашего любимого C#: expressions в switch, замену Substring на [1...10], nullable reference types, recursive patterns, asynchronous streams и многое другое.
#dotnet #dev #programming #csharp #build2018 #csharp7
Announcing .NET Core 2.1 RC 1 (https://blogs.msdn.microsoft.com/dotnet/2018/05/07/announcing-net-core-2-1-rc-1/) — Microsoft будет поддерживать всех, кто решит перейти на .NET Core 2.1 RC в продакшне, но рекомендует сначала всё проверить, если что-то странное происходит, то повременить с переходом (спасибо, Microsoft, за напоминание). Всем смелым предлагается рассказать о своём успехе или неудачах.

Docker — для любителей Alpine Linux (особенно в Docker), официальная поддержка начиная с этого RC. Также обновлённые образы с .NET Core 2.1 RC

Поддержка ARM — пока только ARM32. ARM64 в процессе, но можно пробовать ARM32 на ARM64. Отдельное спасибо Microsoft передаёт компаниям Samsung и Qualcomm, которые помогали с поддержкой ARM.

Brotli Compression — при помощи Google (в смысле компании Google, а не просто погуглив) в .NET Core появился алгоритм компрессии с хорошими показателями. BrotliEncoder/BrotliDecoder используют Span, поэтому они весьма производительны.

Cryptography APIs — не только использование Span, но и просто новые API.

.NET Core Global Tools — фича стабилизировалась!

Tiered Compilation — теперь (пока не по-умолчанию, а по переменной окружения COMPlus_TieredCompilation="1") JIT компиляция идёт в две стадии: сначала быстро компилируется, чтобы не тратить много времени на саму компиляцию, а затем те методы, которые часто вызываются, компилируются с большим количеством оптимизаций.

#dev #dotnet #dotnetcore #tieredcompilation #cryptography #brotli #brotlicompression #samsung #qualcomm #google #alpine #docker #arm #arm32 #arm64 #span