.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
В рамках работ над созданием .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
Microsoft
.NET Core 3 and Support for Windows Desktop Applications
A first-hand look from the .NET engineering teams
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
#dotnet #dev #programming #csharp #build2018 #csharp7
YouTube
The future of C# : Build 2018
Over the last year we shipped no less than three "point releases" of C# (7.1, 7.2 and 7.3), full of small but useful language features. Mads and Dustin will ...
Using MongoDB .NET Driver with .NET Core WebAPI (https://www.codeproject.com/Articles/1151842/Using-MongoDB-NET-Driver-with-NET-Core-WebAPI) – учим ASP.NET Core WebAPI приложение работать с MongoDB драйвером, используем RoboMongo и Postman для тестирования.
#dev #dotnet #dotnetcore #mongodb #webapi #robomongo #postman
#dev #dotnet #dotnetcore #mongodb #webapi #robomongo #postman
CodeProject
Using MongoDB .NET Driver with .NET Core WebAPI
How to build step by step an ASP.NET Core WebAPI (.NET Core 2.0) with latest MongoDB driver. The project supports all requests to MongoDB asynchronously.
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
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
.NET Blog
Announcing .NET Core 2.1 RC 1
Today, we’re announcing .NET Core 2.1 Release Candidate 1 (RC 1). The .NET Core 2.1 RC 1 is now ready for broad testing and for production use. Our quality, reliability, and performance testing give us confidence that the release is ready for the first set…
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
#dev #dotnetcore #dotnet #earlyaccess
GitHub
aspnet/Home
The Home repository is the starting point for people to learn about ASP.NET Core.
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
#dev #dotnet #dotnetcore #dotnetcore21
Microsoft
Announcing .NET Core 2.1
A first-hand look from the .NET engineering teams
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
#csharp #dotnet #multithreading #BenBowen
benbowen.blog
I: Incorrect Granularity (Common Multithreading Mistakes in C#) • Ben Bowen's Blog
Ben Bowen's Software Blog
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
IntelliSense сортируется в зависимости от того, что вы пишете: использовали метод String.EndsWith. Скорее всего, вам нужна будет подстрока, и Substring на первом месте в подсказках! Вызываем Substring - скорее всего нам понадобится ещё и длина строки...
Сложно следить за единым стилем и не хочется руками создавать .editorconfig? И не нужно - IntelliCode сам его создаст, основываясь на вашем коде.
Опечатки в коде? AI спешит на помощь! Трудно понять на что стоит обратить внимание в PR? IntelliCode поможет и укажет на какие строки и в каких файлах стоит обратить внимание в первую очередь и/или просто повышенное внимание, основываясь на результатах машинного обучения.
#dev #visualstudio #intellicode #intellisense #ai #machinelearning #dotnet #csharp
Microsoft
Introducing Visual Studio IntelliCode
The official source of product insight from the Visual Studio Engineering Team
A Memory Leak brought to you by XmlSerializer (https://www-jo.se/f.pfleger/memoryleak) — если у вас применяется XML-сериализация через XmlSerializer, то перепроверьте какие конструкторы используются, на всякий случай, чтобы не было сюрпризов.
#dotnet #xml #serialization #dev #xmlserializer #memoryleak
#dotnet #xml #serialization #dev #xmlserializer #memoryleak
Josef Pfleger
A Memory Leak brought to you by XmlSerializer
We ran into an interesting memory leak the other day. When one of my colleagues analyzed the memory dump from production, he saw an unusual amount of types in *.GeneratedAssembly.* namespaces, one instance each:
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
#dotnet #dotnetcore #zerogc #zerogarbagecollector #garbagecollector #aspnetcore
Azure DevOps Integration Tutorial Reference (https://dailydotnettips.com/azure-devops-integration/) — краткая шпаргалка о настройке Continuous Integration (CI) и Continuous Delivery (CD) в Azure DevOps Tools, плюс ссылки на связанные руководства по теме, ибо, ну как нынче разрабатывать без непрерывной сборки.
#dotnet #azure #continousintegration #ci #continuousdeployment #jenkins #travis #vsts
#dotnet #azure #continousintegration #ci #continuousdeployment #jenkins #travis #vsts
Daily .NET Tips
Azure DevOps Integration Tutorial Reference - Daily .NET Tips
Azure DevOps Integration Tutorial Reference can quickly help you search for right resources for your Azure DevOps Solution. Azure DevOps Integration tutorial references provide a three steps process to identify and take you to right learning resources.
ASP.NET Core Architect David Fowler's hidden gems in 2.1 (https://www.hanselman.com/blog/ASPNETCoreArchitectDavidFowlersHiddenGemsIn21.aspx) — David Fowler рассказывает про новые неявные возможности ASP.NET Core 2.1, которых могут пригодиться в особых случаях. Конечно, многое о производительности, но есть и необычные моменты: IHostedService, Windows Services, Shared Source Packages, ObjectMethodExecutor, SuppressStatusMessages и разное другое.
#dotnet #dotnetcore #aspnetcore #DavidFowler
#dotnet #dotnetcore #aspnetcore #DavidFowler
Hanselman
ASP.NET Core Architect David Fowler's hidden gems in 2.1
Open source ASP.NET Core 2.1 is out, and Architect David Fowler took to twitter ...
Dissecting new generic constraints in C# 7.3 (https://blogs.msdn.microsoft.com/seteplia/2018/06/12/dissecting-new-generics-constraints-in-c-7-3/) — анонсированы новые возможности ограничений для обобщенных методов в C#: unmanaged, System.Enum и System.Delegate.
#dotnet #csharp #csharp73 #dev #programming
#dotnet #csharp #csharp73 #dev #programming
Why Skylake CPUs Are Sometimes 50% Slower – How Intel Has Broken Existing Code (https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/) — почти детективная история про внезапное падение производительности, связанное с переходом на новое железо.
#dotnet #performance #skylake #kabylake #coffeelake #intel
#dotnet #performance #skylake #kabylake #coffeelake #intel
Alois Kraus
Why Skylake CPUs Are Sometimes 50% Slower – How Intel Has Broken Existing Code
I got a call that on newer hardware some performance regression tests have become slower. Not a big deal. Usually it is a bad configuration somewhere in Windows or some BIOS settings were set to no…
Value Types vs Reference Types
(http://adamsitnik.com/Value-Types-vs-Reference-Types/) — немного о ValueTuple и Tuple (как Reference Type), их разницы в производительности, а также, немного про кэш-линии процессора.
#dotnet #csharp #csharp7 #performance #AdamSitnik
(http://adamsitnik.com/Value-Types-vs-Reference-Types/) — немного о ValueTuple и Tuple (как Reference Type), их разницы в производительности, а также, немного про кэш-линии процессора.
#dotnet #csharp #csharp7 #performance #AdamSitnik
Adamsitnik
Value Types vs Reference Types
tl;dr structs have better data locality. Value types add much less pressure for the GC than reference types. But big value types are expensive to copy and you can accidentally box them which is bad.
Introduction
The .NET framework implements Reference Types…
Introduction
The .NET framework implements Reference Types…
Pipelines - a guided tour of the new IO API in .NET (https://blog.marcgravell.com/2018/07/pipe-dreams-part-1.html) — что нам может дать новое API в виде System.IO.Pipelines? Marc Gravell рассказывает о своём опыте применения нового API в библиотеке StackExchange.Redis.
#dev #dotnet #io #pipelines #MarcGravell #redis
#dev #dotnet #io #pipelines #MarcGravell #redis
Marcgravell
Pipe Dreams, part 1
Pipelines - a guided tour of the new IO API in .NET, part 1 (part 2 here) About two years ago I blogged about an upcoming experimental IO ...
Cyriller (https://github.com/miyconst/Cyriller) — бесплатная библиотека склонения русских слов по падежам, умеет склонять существительные, прилагательные и числа, даже фразы целиком, можно протестировать онлайн: http://cyriller.2try.ws/ .
#dotnet #Cyriller #library #Морфер #dev
#dotnet #Cyriller #library #Морфер #dev
C# Exception Filters и Logging Scopes (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6#exception-filters) — "абузим" фильтрацию исключений для логгирования без потери контекста и (https://andrewlock.net/how-to-include-scopes-when-logging-exceptions-in-asp-net-core/).
#csharp #dotnet #logging #dev #aspnetcore #dotnetcore #AndrewLock
#csharp #dotnet #logging #dev #aspnetcore #dotnetcore #AndrewLock
GitHub
New Language Features in C# 6
The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs. - dotnet/roslyn
Fasterflect — .NET Reflection Made Fast and Simple (https://github.com/buunguyen/fasterflect) — рефлексия в .NET, это крайне мощный инструмент, но обладающий многословным API и низкой производительностью. Библиотека Fasterflect решает обе проблемы, предоставляя удобный API для любых операций с типами (вызовы методов, работа со свойствами, события, созданием экземпляров и т.д.), который еще и в разы быстрее стандартного использования рефлексии.
#dotnet #reflection #library #dev #programming #csharp
#dotnet #reflection #library #dev #programming #csharp
GitHub
GitHub - buunguyen/fasterflect: .NET Reflection Made Fast and Simple ⛺
.NET Reflection Made Fast and Simple ⛺. Contribute to buunguyen/fasterflect development by creating an account on GitHub.
Implementing custom IValueTaskSource – async without allocations (http://tooslowexception.com/implementing-custom-ivaluetasksource-async-without-allocations/) — async/await неразрывно связан с Task, а это неизбежные выделения объектов на куче... или не такие уж и неизбежные? Реально ли обойтись вообще без аллокаций?
#dev #dotnet #async #task #memory #allocation #performance #KonradKokosa
#dev #dotnet #async #task #memory #allocation #performance #KonradKokosa
Стартовали продажи самых ранних и дешёвых билетов на DotNext.
Так же в этот раз будут билеты Personal - максимально доступные, специально для тех, кто хотел бы купить за свои «кровные» и раньше его отпугивала цена. Она больше не будет.
А ещё у нас для вас есть специальный промо-код, который собьёт цену до небывалых низин: DotNetRuPromo
Поторопитесь, повышение цен будет 1 августа.
https://habr.com/company/jugru/blog/416807/
Так же в этот раз будут билеты Personal - максимально доступные, специально для тех, кто хотел бы купить за свои «кровные» и раньше его отпугивала цена. Она больше не будет.
А ещё у нас для вас есть специальный промо-код, который собьёт цену до небывалых низин: DotNetRuPromo
Поторопитесь, повышение цен будет 1 августа.
https://habr.com/company/jugru/blog/416807/
Habr
Джеффри Рихтер приезжает в Россию: анонс конференции DotNext 2018 Moscow
Задумайтесь на минутку: что за последний год произошло с .NET? Что изменилось, что из этого мы должны использовать? Можно даже отложить эту статью и подумать,...