Exist vs Any в .NET
Не спите? Тогда ловите немного бенчмарков в ленту. Мы получаем такой результат, так как Any() использует reference-type enumerator.
Не спите? Тогда ловите немного бенчмарков в ленту. Мы получаем такой результат, так как Any() использует reference-type enumerator.
🔥49👍10
Пользователь интересуется, есть ли какая-то конкретная причина, по которой стартапы в Индии не используют C#/.NET для разработки бэкенда, особенно сейчас, когда платформа является опенсорсной и кроссплатформенной.
Вместо .NET стартапы выбирают Java и Node.js. В этом, безусловно, есть доля правды, и Ник Чапсас пытается добраться до истины👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Reddit
From the dotnet community on Reddit
Explore this post and more from the dotnet community
🤔10👍6❤3😁1
📌 Подборка за две недели на Code Maze:
🔹Использование HttpContext.Items для передачи данных с помощью ASP.NET Core: простая демонстрация использования HttpContext.Items для хранения и получения данных в контексте одного запроса
🔹Как использовать Stopwatch в C#: практика работы с классом, который предоставляет набор методов и свойств для точного измерения затраченного времени
🔹Методы проверки равенства чисел с плавающей точкой в C#: на что обратить внимание, чтобы не ошибиться
🔹Как использовать Moq для возврата значения, переданного в метод: пошаговый гайд для C#-разработчика
🔹Как использовать onchange event с Select DropDown в Blazor: учимся правильно отслеживать возникающие изменения
🔹Различные способы перезаписи файла в C#: обзор нескольких на практике
🔹Механизмы синхронизации в C#: Volatile vs Interlocked vs lock
🔹DateTimeOffset vs DateTime в C#: различия и сходства в деталях
🔹Различные уровни логирования в Serilog: подробное введение в популярную библиотеку
🔹Когда использовать ReaderWriterLockSlim в C#: простым языком о не самых простых аспектах
#dotnet #csharp #codemaze #матчасть
🔹Использование HttpContext.Items для передачи данных с помощью ASP.NET Core: простая демонстрация использования HttpContext.Items для хранения и получения данных в контексте одного запроса
🔹Как использовать Stopwatch в C#: практика работы с классом, который предоставляет набор методов и свойств для точного измерения затраченного времени
🔹Методы проверки равенства чисел с плавающей точкой в C#: на что обратить внимание, чтобы не ошибиться
🔹Как использовать Moq для возврата значения, переданного в метод: пошаговый гайд для C#-разработчика
🔹Как использовать onchange event с Select DropDown в Blazor: учимся правильно отслеживать возникающие изменения
🔹Различные способы перезаписи файла в C#: обзор нескольких на практике
🔹Механизмы синхронизации в C#: Volatile vs Interlocked vs lock
🔹DateTimeOffset vs DateTime в C#: различия и сходства в деталях
🔹Различные уровни логирования в Serilog: подробное введение в популярную библиотеку
🔹Когда использовать ReaderWriterLockSlim в C#: простым языком о не самых простых аспектах
#dotnet #csharp #codemaze #матчасть
👍16❤1
Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них.
Но мало кто знает, что Unity поддерживает работу с async/await уже несколько лет. Залезть под капот async/await в Unity попытался автор серии статей:
🎮Часть 1: 8 причин отказаться от Coroutine в пользу Async в Unity
🎮Часть 2: 8 ошибок при использовании Async в Unity
🎮Часть 3: 😴
Но мало кто знает, что Unity поддерживает работу с async/await уже несколько лет. Залезть под капот async/await в Unity попытался автор серии статей:
🎮Часть 1: 8 причин отказаться от Coroutine в пользу Async в Unity
🎮Часть 2: 8 ошибок при использовании Async в Unity
🎮Часть 3: 😴
Хабр
Unity: 8 причин отказаться от Coroutine в пользу Async
Введение Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто...
🔥2👍1
Стоит ли использовать эндпоинты .NET 8 Identity API?
Несмотря на то, что в недавней серии статей Эндрю Лок затрагивал эту тему, она заслуживает дополнительного внимания.
Эндрю разбирает дизайн эндпоинтов, последствия их использования и, наконец, делится мыслями о том, стоит ли их использовать. И помните — это лишь его субъективное мнение.
👀 Читать
Несмотря на то, что в недавней серии статей Эндрю Лок затрагивал эту тему, она заслуживает дополнительного внимания.
Эндрю разбирает дизайн эндпоинтов, последствия их использования и, наконец, делится мыслями о том, стоит ли их использовать. И помните — это лишь его субъективное мнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Библиотека шарписта | C#, F#, .NET, ASP.NET
Знакомство с предварительной версией .NET 8: традиционная серия статей от Эндрю Лока перед выходом новой версии.
Следите за обновлениями👇
▫️Часть 1. Using the new configuration binder source generator
▫️Часть 2. The minimal API AOT compilation template…
Следите за обновлениями👇
▫️Часть 1. Using the new configuration binder source generator
▫️Часть 2. The minimal API AOT compilation template…
👍5
📌Вот краткий обзор улучшений:
🔹Значительно улучшен source generator и добавлен метод
JsonTypeInfoResolver.Combine
:var options = new JsonSerializerOptions
{
TypeInfoResolver = JsonTypeInfoResolver.Combine(ContextA.Default, ContextB.Default, ContextC.Default);
};
🔹Добавлена поддержка required и init:
JsonSerializer.Deserialize("""{"Real" : 0, "Im" : 1 }""", MyContext.Default.Complex);
public record Complex
{
public required double Real { get; init; }
public required double Im { get; init; }
}
[JsonSerializable(typeof(Complex))]
public partial class MyContext : JsonSerializerContext { }
🔹Добавлен класс
JsonStringEnumConverter<TEnum>
🔹Добавлена расширенная функциональность
JsonSourceGenerationOptionsAttribute
🔹Добавлена возможность заполнения членов, доступных только для чтения
🔹Добавлена возможность отключения reflection по умолчанию и многое другое
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤔4
И снова бенчмарки, и снова борьба за наносекундами, но в этом случае разница в производительности весьма существенная.
#csharp #dotnet #tip by Dave Callan
#csharp #dotnet #tip by Dave Callan
👍45❤3💯1
EF Core поддерживает несколько способов загрузки связанных данных, каждый из которых имеет свои преимущества и недостатки.
• Eager loading (жадная загрузка)
• Explicit loading (явная загрузка)
• Lazy loading (ленивая загрузка)
Maarten Balliauw, Developer Advocate в JetBrains, подробно рассматривает эту тему на примерах👇
🔗 Читать
• Eager loading (жадная загрузка)
• Explicit loading (явная загрузка)
• Lazy loading (ленивая загрузка)
Maarten Balliauw, Developer Advocate в JetBrains, подробно рассматривает эту тему на примерах
🔗 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
Eager, Lazy and Explicit Loading with Entity Framework Core | The .NET Tools Blog
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawba
👍18🥱5
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🦸⚡ 9 способов настройки градиента цели для поддержания мотивации
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
❤🔥2👍2🥱1
Переходим от группирования по типу к группированию по функционалу
Домен лежит в основе чистой архитектуры. В нем мы определяем сущности и бизнес-логику.
Если в вашем проекте структура с названиями вроде:
🔻Entities
🔻Enumerations
🔻Exceptions
🔻Repositories
🔻ValueObjects
Она ничего не говорит вам о Домене.
А что, если реорганизовать структуру, сгруппировав по функционалу? В таком случае в вашей структуре начнут появляться концепции предметной области.
#dotnet #csharp #tip by Milan Jovanović
Домен лежит в основе чистой архитектуры. В нем мы определяем сущности и бизнес-логику.
Если в вашем проекте структура с названиями вроде:
🔻Entities
🔻Enumerations
🔻Exceptions
🔻Repositories
🔻ValueObjects
Она ничего не говорит вам о Домене.
А что, если реорганизовать структуру, сгруппировав по функционалу? В таком случае в вашей структуре начнут появляться концепции предметной области.
#dotnet #csharp #tip by Milan Jovanović
💯29👍10🤔8🌚5
🔥Назад к основам .NET: как легко создать паттерн «Стратегия» с помощью внедрения зависимостей
Паттерн «Стратегия» — поведенческий паттерн проектирования, который определяет семейство схожих алгоритмов и помещает каждый из них в собственный класс, после чего алгоритмы можно взаимозаменять прямо во время исполнения программы. Ключевые компоненты, участвующие в реализации паттерна:
🔻Strategy — интерфейс, определяющий методы, которые должны реализовать все Concrete Strategies.
🔻Concrete Strategies — реализации интерфейса стратегии. Каждая Concrete Strategies обеспечивает конкретную реализацию алгоритма.
🔻Context — класс, который содержит ссылку на Concrete Strategies и выполняет ту или иную стратегию на основе входных данных приложения.
Некоторые разработчики могут не знать, что система внедрения зависимостей .NET делает за них большую часть тяжелой работы при реализации этого паттерна. Именно об этом и пойдет речь в руководстве👇
🔗 Читать
Паттерн «Стратегия» — поведенческий паттерн проектирования, который определяет семейство схожих алгоритмов и помещает каждый из них в собственный класс, после чего алгоритмы можно взаимозаменять прямо во время исполнения программы. Ключевые компоненты, участвующие в реализации паттерна:
🔻Strategy — интерфейс, определяющий методы, которые должны реализовать все Concrete Strategies.
🔻Concrete Strategies — реализации интерфейса стратегии. Каждая Concrete Strategies обеспечивает конкретную реализацию алгоритма.
🔻Context — класс, который содержит ссылку на Concrete Strategies и выполняет ту или иную стратегию на основе входных данных приложения.
Некоторые разработчики могут не знать, что система внедрения зависимостей .NET делает за них большую часть тяжелой работы при реализации этого паттерна. Именно об этом и пойдет речь в руководстве👇
🔗 Читать
👍17
Что вас бесит в .NET? Опрос по мотивам обсуждения на Reddit, а также на основе некоторых наблюдений👇👇👇
Reddit
From the dotnet community on Reddit
Explore this post and more from the dotnet community
👍4
В .NET меня больше всего бесит (можно выбрать несколько вариантов):
Anonymous Poll
8%
Что .NET=C#
38%
Зоопарк UI фреймворков, и ни одного качественного и кроссплатформенного от Microsoft
23%
XAML: слишком многословный и неудобный, плохо проверяется в IDE
47%
Зоопарк в названиях: .NET, dotnet, .NET Core, .NET Framework, .NET Standard, ASP.NET (Core)
20%
Переусложнённые проекты: MediatR, лишние абстракции и т. д.
10%
Мало проектов с открытым исходным кодом
38%
Стереотип о том, что .NET — только для Windows
3%
Дизайн C#
6%
Инструменты: NuGet, Visual Studio, …
5%
Свой вариант (напишу в комментариях)
👍7🥱7
Ловите записи докладов и презентации с 89-й встречи SpbDotNet:
🔹Никита Мошкалов (АО «Айко»): «Прослеживаемость в ASP.NET Core».
Как поймать за хвост своё приложение? Никита делится опытом определения маршрута запросов, исследования производительности и многого другого.
🔹Никита Маслов (ПСБ): «Простая архитектура».
Автор делится своим опытом разработки enterprise-приложений, а также рассказывает и показывает, как можно верхнеуровнево организовать архитектуру, использовать давно известные паттерны и обрабатывать ошибки.
#чтопроисходит
🔹Никита Мошкалов (АО «Айко»): «Прослеживаемость в ASP.NET Core».
Как поймать за хвост своё приложение? Никита делится опытом определения маршрута запросов, исследования производительности и многого другого.
🔹Никита Маслов (ПСБ): «Простая архитектура».
Автор делится своим опытом разработки enterprise-приложений, а также рассказывает и показывает, как можно верхнеуровнево организовать архитектуру, использовать давно известные паттерны и обрабатывать ошибки.
#чтопроисходит
👍10❤2
💡Вы могли не знать об этой фиче, но в Visual Studio можно вставить JSON как классы одним нажатием мыши.
✅ Данная фича доступна из меню Edit.
#tools #tip by Dave Callan
#tools #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82👍8😁7🤔1
👀 Повышаем качество код-ревью: 7 полезных советов
В данной статье мы рассмотрим 7 практических советов, следуя которым можно значительно повысить качество проверки кода.
🔗Читать статью
🔗Зеркало
В данной статье мы рассмотрим 7 практических советов, следуя которым можно значительно повысить качество проверки кода.
🔗Читать статью
🔗Зеркало
👍12