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? Что изменилось, что из этого мы должны использовать? Можно даже отложить эту статью и подумать,...
Из тестировщика в .NET-разработчики (http://klever.blog/from-qa-to-net/) — .NET-разработчик, который раньше был тестировщиком, рассказал, как ему удалось сменить профессию. Разбираем, с чего начать изучать .NET, откуда черпать базовые знания и как развиваться новичку, список книг прилагается.
#dotnet #education #junior #dev #programming #csharp #books
#dotnet #education #junior #dev #programming #csharp #books
Клевер
Личный опыт: из тестировщика в .NET-разработчики - Клевер
Несколько советов от эксперта тем, кто хочет перейти из тестирования в разработку, но не знает, с чего начать
When everything you know is wrong, part one
(https://ericlippert.com/2015/05/18/when-everything-you-know-is-wrong-part-one/) — разбираем мифы о финализации (Finalizer) в .NET. Если первая часть не вызывает сильного удивления, то вот вторая уже гораздо необычнее (https://ericlippert.com/2015/05/21/when-everything-you-know-is-wrong-part-two/), не всё так прозрачно, как нам рассказывали в детском саду.
#dotnet #dev #programming #csharp #finalization #garbagecollection #сборщикмусора #EricLippert
(https://ericlippert.com/2015/05/18/when-everything-you-know-is-wrong-part-one/) — разбираем мифы о финализации (Finalizer) в .NET. Если первая часть не вызывает сильного удивления, то вот вторая уже гораздо необычнее (https://ericlippert.com/2015/05/21/when-everything-you-know-is-wrong-part-two/), не всё так прозрачно, как нам рассказывали в детском саду.
#dotnet #dev #programming #csharp #finalization #garbagecollection #сборщикмусора #EricLippert
Fabulous adventures in coding
When everything you know is wrong, part one
Finalizers are interesting and dangerous because they are an environment in which everything you know is wrong. I’ve written a lot about the perils of C# finalizers / destructors (either name…
Доступны материалы со встречи SarDotNet №3.
Дмитрий Верескун «SpecFlow Начало».
Видео: https://www.youtube.com/watch?v=UQi12cHByZo
Слайды: https://speakerdeck.com/dotnetru/dmitrii-vierieskun-specflow-nachalo
#dotnetru #sardotnet #bdd #dotnet #tdd #specflow
Дмитрий Верескун «SpecFlow Начало».
Видео: https://www.youtube.com/watch?v=UQi12cHByZo
Слайды: https://speakerdeck.com/dotnetru/dmitrii-vierieskun-specflow-nachalo
#dotnetru #sardotnet #bdd #dotnet #tdd #specflow
YouTube
Дмитрий Верескун «SpecFlow Начало»
Автоматизированное тестирование — мистическая область, где стирается грань между тестировщиком и разработчиком. Познакомимся с популярным фреймворком автоматизации BDD-тестирования: SpecFlow — реализация широко известного Cucumber на платформе .NET.
Слайды:…
Слайды:…
Доступны материалы со встречи SarDotNet №3.
Валентин Кононов «CQRS и Event Sourcing для Backend систем».
Видео: https://www.youtube.com/watch?v=grtNzcLzwtM
Слайды: https://speakerdeck.com/dotnetru/valientin-kononov-cqrs-i-event-sourcing-dlia-backend-sistiem
#dotnetru #sardotnet #cqrs #eventsourcing #backend
Валентин Кононов «CQRS и Event Sourcing для Backend систем».
Видео: https://www.youtube.com/watch?v=grtNzcLzwtM
Слайды: https://speakerdeck.com/dotnetru/valientin-kononov-cqrs-i-event-sourcing-dlia-backend-sistiem
#dotnetru #sardotnet #cqrs #eventsourcing #backend
YouTube
Валентин Кононов «CQRS и Event Sourcing для Backend систем»
CQRS является достаточно известным подходом, но из-за некоторой сложности, на первый взгляд, мало кто его применял в реальных проектах. Мы поговорим о теоретической составляющей данного подхода и примерах из жизни, где его применение оправдано. Зачастую данных…
Qml.Net: A new C# library for cross-platform .NET GUI development (https://hub.packtpub.com/qml-net-a-new-c-library-for-cross-platform-net-gui-development/) — необычный эксперимент по интеграции поддержки Qt/Qml в .NET, но почему бы и нет, https://github.com/pauldotknopf/Qml.Net .
#dotnet #qmlnet #qml #qt #gui #crossplatform #csharp
#dotnet #qmlnet #qml #qt #gui #crossplatform #csharp
Packt Hub
Qml.Net: A new C# library for cross-platform .NET GUI development | Packt Hub
Qml.Net is a new C# library for cross-platform .NET GUI development. It is in its early stages and supports all major operating systems.
1-2 сентября в Санкт-Петербурге пройдёт большой IT-фестиваль TechTrain для всех, кто любит IT-инженерию, технологии и разработку ПО.
И конечно же мы не могли оставить такое великое событие без своего участия. Более того, мы решили собрать вместе представителей всех 5 городов, в которых у нас сейчас есть .NET сообщества! Мы встретимся все вместе для того чтобы обсудить будущее языка, платформы и сообщества в целом.
От DotNetRu на фестивале выступят именитые докладчики:
— Дмитрий Нестерук
— Роман Неволин
— Дмитрий Сошников;
— Ромуальд Здебский.
А также известные спикеры и блоггеры из других областей. Всё это будет сопровождаться обилием круглых столов, викторин, выставок, подарков и безудержным общением.
Приятные сюрпризы для всех .NET'чиков (и сочувствующих) обеспечат наши хорошие друзья Arcadia и Альфа-Банк. А это значит что равнодушных не останется.
TechTrain – это возможность увидеть срез современной IT-реальности, обменяться опытом с коллегами, а также познакомиться и поговорить с мировыми экспертами, которых обычно можно встретить на топовых IT-конференциях с дорогими билетами.
Вход платный. Подробности и билеты: http://techtrain.ru/
#dotnet #dotnetru #techtrain #event
И конечно же мы не могли оставить такое великое событие без своего участия. Более того, мы решили собрать вместе представителей всех 5 городов, в которых у нас сейчас есть .NET сообщества! Мы встретимся все вместе для того чтобы обсудить будущее языка, платформы и сообщества в целом.
От DotNetRu на фестивале выступят именитые докладчики:
— Дмитрий Нестерук
— Роман Неволин
— Дмитрий Сошников;
— Ромуальд Здебский.
А также известные спикеры и блоггеры из других областей. Всё это будет сопровождаться обилием круглых столов, викторин, выставок, подарков и безудержным общением.
Приятные сюрпризы для всех .NET'чиков (и сочувствующих) обеспечат наши хорошие друзья Arcadia и Альфа-Банк. А это значит что равнодушных не останется.
TechTrain – это возможность увидеть срез современной IT-реальности, обменяться опытом с коллегами, а также познакомиться и поговорить с мировыми экспертами, которых обычно можно встретить на топовых IT-конференциях с дорогими билетами.
Вход платный. Подробности и билеты: http://techtrain.ru/
#dotnet #dotnetru #techtrain #event
TechTrain 2024 Spring. Фестиваль по профессиональному росту в IT
TechTrain 2024 Spring — фестиваль по профессиональному росту в IT. О том, как пройти путь Junior → Middle → Senior и выбрать направление своего развития.