DotNetRu – Telegram
DotNetRu
2.25K subscribers
33 photos
1 file
680 links
Самые важные новости, лучшие статьи и авторитетные личности из мира .NET
Download Telegram
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
2.1.0 Early Access Downloads (https://github.com/aspnet/Home/wiki/2.1.0-Early-Access-Downloads) — приблизительно 30 мая будет релиз .NET Core 2.1.0, но уже сейчас можно попробовать что же будет в релизе! На nuget.org пакеты станут доступны с релизом. Как всегда, Microsoft призывает пробовать и сообщать обо всех проблемах.
#dev #dotnetcore #dotnet #earlyaccess
Announcing .NET Core 2.1 (https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/) — свершилось! Особо отметим, совместимость не ломается в рамках 2.x ветки, т.е. все старые 2.0 и 2.1 SDK/Runtimes можно удалить, заменив на один свежий SDK (теоретически).
#dev #dotnet #dotnetcore #dotnetcore21
Common Multithreading Mistakes in C# (http://benbowen.blog/post/cmmics_i/) — серия глубоких докладов по многопоточности, с разбором типовых ошибок, допускаемых программистами. Затрагиваются концепции Granularity, Contention, Atomicity, Memory Coherence, Busy Waiting and Thread.Sleep, некорректное использование Monitor.Wait и многое другое.
#csharp #dotnet #multithreading #BenBowen
Introducing Visual Studio IntelliCode (https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/introducing-visual-studio-intellicode/) — что будет, если добавить немного AI в среду разработки?

IntelliSense сортируется в зависимости от того, что вы пишете: использовали метод String.EndsWith. Скорее всего, вам нужна будет подстрока, и Substring на первом месте в подсказках! Вызываем Substring - скорее всего нам понадобится ещё и длина строки...

Сложно следить за единым стилем и не хочется руками создавать .editorconfig? И не нужно - IntelliCode сам его создаст, основываясь на вашем коде.

Опечатки в коде? AI спешит на помощь! Трудно понять на что стоит обратить внимание в PR? IntelliCode поможет и укажет на какие строки и в каких файлах стоит обратить внимание в первую очередь и/или просто повышенное внимание, основываясь на результатах машинного обучения.

#dev #visualstudio #intellicode #intellisense #ai #machinelearning #dotnet #csharp
A Memory Leak brought to you by XmlSerializer (https://www-jo.se/f.pfleger/memoryleak) — если у вас применяется XML-сериализация через XmlSerializer, то перепроверьте какие конструкторы используются, на всякий случай, чтобы не было сюрпризов.
#dotnet #xml #serialization #dev #xmlserializer #memoryleak
Zero Garbage Collector for .NET Core 2.1 and ASP.NET Core 2.1 (http://tooslowexception.com/zero-garbage-collector-for-net-core-2-1-and-asp-net-core-2-1/) — эксперимент по подключению Zero GC в .NET Core 2.1 прошел успешно, оказалось, что каждый REST WebApi запрос выделяет от 7 до 55 КБ памяти (как бы мы жили без автоматической сборки мусора).
#dotnet #dotnetcore #zerogc #zerogarbagecollector #garbagecollector #aspnetcore