История оптимизации одного IoC-контейнера (https://habrahabr.ru/post/331584/) — потому что каждый программист должен хотя бы раз в жизни написать свой IoC-контейнер, заодно в статье имеется сравнение производительности существующих.
#dev #dotnet #dotnetcore #programming #FsContainer #Ninject #LightInject #SimpleInjector
#dev #dotnet #dotnetcore #programming #FsContainer #Ninject #LightInject #SimpleInjector
Habr
История оптимизации одного IoC контейнера
В этой заметке мне хотелось бы поделиться информацией о небольшом, но, на мой взгляд, весьма и весьма полезном проекте, в котором Stefán Jökull Sigurðarson добавляет все известные ему IoC контейнеры,...
Project Snowflake: Non-blocking safe manual memory management in .NET (https://www.microsoft.com/en-us/research/publication/project-snowflake-non-blocking-safe-manual-memory-management-net/) — концепт гибридного управления памятью и сборкой мусора для .NET, где разработчик может выбрать между размещением объектов в прежней управляемой куче и размещением в ручной куче, с более точным управлениям высвобождения памяти. PDF статьи: https://www.microsoft.com/en-us/research/wp-content/uploads/2017/07/snowflake-extended.pdf
#dotnet #runtime #garbagecollector #garbagecollection #article
#dotnet #runtime #garbagecollector #garbagecollection #article
Microsoft Research
Project Snowflake: Non-blocking safe manual memory management in .NET - Microsoft Research
We propose integrating safe manual memory management with garbage collection in the .NET runtime to get the best of both worlds.
Good citizenship — logging from .NET libraries (https://nblumhardt.com/2017/07/library-logging/) — какое же современное приложение обходится без структурного логгирования, а раз так, то куда же без best practices, самые важные из которых и описаны в статье.
#dotnet #logging #structuredlogging #serilog #bestpractices
#dotnet #logging #structuredlogging #serilog #bestpractices
Nblumhardt
Good citizenship - logging from .NET libraries
Operating a large system can be a substantial challenge. Is everything working, for some definition of “working”? If not, what’s going wrong?
Parsing In C#: Tools And Libraries (https://tomassetti.me/parsing-in-csharp/) — обзор инструментов для генерации и создания разнообразных парсеров.
#csharp #dotnet #dev #programming
#csharp #dotnet #dev #programming
Strumenta
Parsing in C#: all the tools and libraries you can use
We present and compare all possible alternatives you can use to parse languages in C#. From libraries to parser generators, we present all options
Паттерны проектирования (https://refactoring.guru/ru/design-patterns) — наглядно разбираем что же такое шаблоны проектирования, когда они нужны, а когда наоборот могут принести лишь вред. Тема общая, полезная, хоть примеры не для .NET, но почитать для вечера пятницы - самое то, да и к тому же, куда мы без шаблонов?
#DesignPatterns #dev #programming #RefactoringGuru #Refactoring
#DesignPatterns #dev #programming #RefactoringGuru #Refactoring
refactoring.guru
Паттерны/шаблоны проектирования
Паттерны проектирования описывают типичные способы решения часто встречающихся проблем при проектировании программ.
A look at the internals of 'boxing' in the CLR (http://mattwarren.org/2017/08/02/A-look-at-the-internals-of-boxing-in-the-CLR/) — разбираем по пунктам что же такое упаковка/распаковка в .NET и как оно работает. С одной стороны, знание различных режимов упаковки может помочь вам в "изысканных" проблемных ситуациях. С другой, это любимый вопрос на многих собеседованиях, так почему бы не козырнуть знанием тонкостей.
#dotnet #clr #dev #programming #dotnetruntime
#dotnet #clr #dev #programming #dotnetruntime
Performance is a Feature!
A look at the internals of ‘boxing’ in the CLR
It’s a fundamental part of .NET and can often happen without you knowing, but how does it actually work? What is the .NET Runtime doing to make boxing possible?
You're using httpclient wrong and it is destabilizing your software (https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/) — как правильно использовать HttpClient, чтобы вам потом не было мучительно больно. Дабы не занять все порты на сервере, желательно максимально переиспользовать экземпляры HttpClient, что закономерно может привести к проблемам при смене DNS-адресов, НО к счастью и для этого есть решение: http://byterot.blogspot.ru/2016/07/singleton-httpclient-dns.html .
#aspnet #dotnet #restful #webapi #dev #programming
#aspnet #dotnet #restful #webapi #dev #programming
ASP.NET Monsters
You're using HttpClient wrong and it is destabilizing your software
I’ve been using HttpClient wrong for years and it finally came back to bite me. My site was unstable and my clients furious, with a simple fix performance improved greatly and the instability disapear
Приемы разработки ASMX веб-сервисов (https://habrahabr.ru/post/254165/) — несмотря на то, что технология ASMX уже давно не развивается, она продолжает широко использоваться и поддерживается последними версиями .NET Framework. Она легка в применении и в большинстве случаев прекрасно решает задачу организации общения по SOAP протоколу. К тому же, по наследству может достаться какой угодно код, да и вам может потребоваться интегрироваться с самыми разными приложениями.
#dotnet #dev #programming #asmx #soap
#dotnet #dev #programming #asmx #soap
Хабр
Приемы разработки ASMX веб-сервисов
В этой статье я расскажу о различных приемах разработки SOAP веб-сервисов по технологии ASMX, а также об этой технологии в целом. Кроме SOAP, также будет рассмот...
Attribute Routing vs Convention Routing - ASP.NET MVC Demystified (https://exceptionnotfound.net/attribute-routing-vs-convention-routing/) — сравниваем два подхода к организации маршрутизации в ASP.NET MVC приложении: на атрибутах и на соглашениях.
#dotnet #aspnet #aspnetmvc #dev #programming #routing
#dotnet #aspnet #aspnetmvc #dev #programming #routing
Exception Not Found
Attribute Routing vs Convention Routing - ASP.NET MVC Demystified
MVC5 introduced Attribute Routing to go along with Convention Routing. Let's dig into these ideas and see how they work separately and together.
ScriptCS (http://noscriptcs.net/) — пишем скрипты на любимом C#, вся мощь типизированного языка программирования, в легковесной и быстрой форме. ScriptCS позволяет даже использовать NuGet-зависимости. Многие задачи, которые обычно требовали создания отдельного консольного приложения, могут быть решены одним csx-файлом.
#dotnet #noscriptcs #csharp #tool
#dotnet #noscriptcs #csharp #tool
Структура и модель выполнения .NET Core приложений (https://habrahabr.ru/company/nixsolutions/blog/327686/) — подоспело "немного" технических подробностей работы .NET Core, в частности про разницу между типами развертывания Portable (Framework-dependent deployment — FDD) и Standalone (Self-contained deployment — SCD), а также про механизмы их запуска.
#dotnet #dotnetcore #dev #programming
#dotnet #dotnetcore #dev #programming
Хабр
Структура и модель выполнения .NET Core приложений
В этой статье я рассмотрю компоненты платформы .NET Core 2.0, необходимые для загрузки и выполнения .NET Core-приложений, а также артефакты для двух возможных ти...
Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID [Перевод] (https://habrahabr.ru/post/346016/) — пытаемся разобраться в устройстве анемичной модели (классы модели без поведения или логики) и правда ли можно считать её анти-шаблоном, или же наоборот она обеспечивает необходимую гибкость и тестируемость приложений. Обязательно читаем комментарии, там много всесторонних дополнений.
#dotnet #SOLID #design #csharp #patterns
#dotnet #SOLID #design #csharp #patterns
Хабр
[Перевод] Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID
От переводчика: На проекте, где я работаю, сейчас идет активное переписывание логики, ранее реализованной в виде богатой модели предметной области (с использован...
