Библиотека шарписта | C#, F#, .NET, ASP.NET
23K subscribers
2.24K photos
35 videos
85 files
4.4K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
📌 Подборка за неделю на Code Maze:

🔸 Паттерн Saga с NServiceBus в C#: мощная комбинация, которая предоставляет эффективное решение для координации длительных распределенных транзакций надежным способом.
🔸 Десериализация XML в C#: разбор основных концепций и связанных с ними преимуществ и передового опыта.
🔸 Как разделить сущность на несколько таблиц в EF Core: разбираемся с новой функцией, которая была добавлена в Entity Framework Core 7.0.
🔸 Добавление аутентификации/авторизации пользователя в приложение .NET с помощью Auth0: пошаговое руководство + обзор функций, которые Auth0 предлагает для упрощения аутентификации/авторизации.
🔸 Отправка электронной почты с помощью FluentEmail в .NET: гайд по работе с популярной библиотекой с открытым исходным кодом.

#dotnet #csharp #codemaze #матчасть
11🔥1
#dotnet #csharp #codemaze #матчасть

📌 Подборка за неделю на Code Maze:

🔸 Как получить доступ к конфигурации во время запуска приложения в .NET: прощай, Startup.cs, да здравствует WebApplicationBuilder.
🔸 Что такое блокировка и как использовать механизм блокировки в C#: все по полочкам.
🔸 Эффективный мокинг с NSubstitute в .NET: как создавать комплексные и эффективные тесты для ваших проектов.
🔸 Как объединить словари в C#: обзор нескольких способов и сравнение их производительности.
🔸 Генераторы исходного кода в C#: основы и способы использования этой мощной функции для обеспечения динамической генерации кода во время компиляции, автоматизации повторяющихся задач и повышения производительности разработки.
🔸 Что такое Model Builder и как его использовать в ML.NET: логическое продолжение вводной статьи об основах ML.NET
8👍8
#dotnet #csharp #codemaze #матчасть

📌 Подборка за две недели на Code Maze:

🔸Генераторы исходного кода в C#: основы и способы использования этой мощной функции для обеспечения динамической генерации кода во время компиляции, автоматизации повторяющихся задач и повышения производительности разработки.
🔸Value и Reference типы в C# — подробное руководство: кратко о сути и том, как ведет себя каждый тип при создании экземпляра, сравнении или присваивании.
🔸Методы сортировки List в C#: обзор различных методов сортировки на простых примерах.
🔸Расширение IdentityUser с помощью кастомных свойств в ASP.NET: простой способ расширить или полностью изменить классы, используемые Identity.
🔸Атрибут ModuleInitializer в C#: освежить в памяти, если пропустили одну из фич C# 9.
🔸Как настроить логирование файлов с помощью Serilog: как использовать Serilog, если вы хотите ограничивать размер и другие параметры файлов логов.
🔸Рефакторинг связанности кода в C#: как ее найти и исправить.
🔸Primary конструкторы для классов и структур: обзор новой фичи C# 12 и .NET 8, которая на текущий момент находится в стадии предварительной версии.
🔸Различия между оператором равенства (==) и методом Equals в C#: быстрый обзор на различных сценариях.
🔸Как программно определить версию .NET: может пригодиться для ведения журнала, отладки и других целей.
🔸Различия между Const и Readonly в C#: освежаем в памяти, если забыли.
👍12🔥51
#dotnet #csharp #codemaze #матчасть

📌 Подборка за две недели на Code Maze:

🔹Предотвращение SQL-инъекций с помощью EF Core, Dapper и ADO.NET: как защитить ваши приложения.
🔹Использование нескольких фреймворков в проекте .NET: как объединить преимущества нескольких фреймворков.
🔹Как устранить ошибку HTTP 500.31 Failed to Load ASP.NET Core Runtime Error: о причинах проблемы и способах ее устранения.
🔹Как мокать IOptions в ASP.NET Core: простой подход, который сделает ваши тесты подробными и независимыми от реальных конфигураций.
🔹API Key Authentication в ASP.NET Core: имплементации популярного способа защиты эндпоинтов API.
👍111
#dotnet #csharp #codemaze #матчасть

📌 Подборка за неделю на Code Maze:

Resolve Dependencies в .NET: обзор различных методов условного разрешения зависимостей в приложениях .NET на практике
Эффективное преобразование строк с помощью строковых литералов UTF-8 в C#: пример использования нового синтаксисе строковых литералов UTF-8 в C# 11 с бенчмарками
Как использовать класс Mutex in C#: от теоретического введения до практического использования
Модификатор readonly в C#: использование модификатора с полями, свойствами, методами, классами и структурами
Деплой приложения ASP.NET Core в Linux с помощью Apache: пошаговый гайд
Как получить массив JSON с помощью IConfiguration в ASP.NET Core: использование методов GetSection() и GetChildren() на практике
Динамическое переключение DbContext во время выполнения с использованием EF Core: почему полезно иметь несколько баз данных в приложении и как можно добиться динамического переключения EF DbContext
Как вернуть HTTP 500 из ASP.NET Core Web API: обзор различных способов возврата кода состояния HTTP 500
Использование Task.CompletedTask, Task.FromResult и Return в асинхронных методах C#: кратко о каждом асинхронном методе
🔥11👍5💯42
#dotnet #csharp #codemaze #матчасть

📌 Подборка за неделю на Code Maze:

🔹Различия между String, FormattableString и IFormattable в C# + материал такого же фамата о различиях между методами Any и Exists: небольшие обзоры с бенчмарками
🔹Как скрыть эндпоинт в Swagger: разбор различных методов + практика использования библиотеки Swashbuckle в ASP.NET Core
🔹Как использовать Basic Authentication с HttpClient: просто, но есть особенности, о которых стоит знать
🔹File-Scoped Types in C# 11: взгляд на новую концепцию, разработанную для предотвращения конфликтов имен между типами
🔥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 #матчасть
👍161
📌 Подборка за две недели на Code Maze:

🔹Создание криптографического числа с помощью RandomNumberGenerator: теория, практика и сравнение с System.Random
🔹Использование переменной discard в C# (7+): обзор различий с обычной переменной и некоторые практические аспекты применения
🔹Оптимизация памяти с помощью ArrayPool в C#: подробное руководство по улучшению управления памятью в приложениях на C#
🔹Database First Development с EF Core Power Tools: упрощаем рабочий процесс разработки при использовании EF Core в приложениях .NET
🔹22 лучших практики C#: подборка советов, которые улучшат читабельность кода
🔹Тестирование time-dependent кода с помощью TimeProvider в .NET: первое знакомство с новой фичей, которая появилась в C# 12 и .NET 8
🔹Выбор узлов Xml с помощью XPath в C#: как использовать XPath для выбора данных из XML-документа на C#
🔹Рефакторинг необязательных фрагментов кода C#: улучшаем код с помощью практических методов рефакторинга
🔹Преобразование шестнадцатеричной строки в байтовый массив в C#: разбор нескольких методов на практике
🔹Глобальная обработка исключений для запросов MediatR: как предотвратить сбои приложения и несанкционированное раскрытие конфиденциальных данных пользователям
🔹Замена разрывов строк в C#: string Replace() vs string ReplaceLineEndings() vs Regular Expressions Replace()

#dotnet #csharp #codemaze #матчасть
💯10👍3
📌 Подборка за неделю на Code Maze:

🔹ConcurrentQueue в C#: фундаментальные концепции, использование и роль класса в обеспечении потокобезопасности
🔹Использование Keyed Services в .NET: обзор новой фичи, которая появилась в .NET 8
🔹Понимание паттерна Unit of Work в C#: преимущества и недостатки паттерна + пример реализации, который полностью независим от ORM
🔹Как и когда использовать TPC Inheritance Mapping в EF Core: погружение в недавно добавленную стратегию наследования в EF Core 7
🔹Как выполнить поиск подстроки без учета регистра в C#: гайд по использованию методов String.Contains(), String.IndexOf(), регулярных выражений и LINQ в сочетании с String.Equals( )

#dotnet #csharp #codemaze #матчасть
👍82
⚡️Подборка за неделю

📌С Code Maze:

🔹
Управление каталогами с помощью Directory и DirectoryInfo в C#: простой практический гайд
🔹
Архитектурный паттерн Strangler Fig на C#: от теории к практике
🔹
Как создать строку запроса для URL-адреса на C#: примеры различных подходов
🔹
Обработка дат с помощью Noda Time в .NET: работа с датами без лишних проблем
🔹
Как принудительно запустить приложение .NET от имени администратора: без лишних прелюдий про безопасность

📌С официального блога .NET:

🔸
Новая функция компилятора F#: проверка типов на основе графов
🔸
Что нового в идентификации в .NET 8: введение в идентификацию в .NET 8 с примерами кода для защиты API, создания UI на основе Blazor и интеграции аутентификации в приложения Blazor WebAssembly
🔸Удобство System.IO: анализ удобства и производительности файлового ввода-вывода и текстовых API, применяемых для подсчета строк, слов и байтов

#dotnet #dotnet8 #csharp #codemaze #матчасть
👍5
⚡️Подборка за неделю c Code Maze:

Hot reload в приложениях ASP.NET Core: особенности, происхождение, примеры и лучшие практики
Сравнение метода ForEach и оператора Foreach в C#: обзор с акцентом на достоинства и недостатки каждого подхода
Архитектура, управляемая событиями: что из себя представляет, основные юзкейсы в C# и преимущества
Чтение и запись реестра Windows на C#: простой гайд с примерами
Архитектурный паттерн Pipes & Filters в C#: от теории к практике
Как использовать Interceptor в C# 12: быстрое знакомство с новой фичей языка

#dotnet #csharp #codemaze #матчасть
👍9💯1
⚡️Подборка за неделю c Code Maze:

Как получить строку базы данных в формате JSON с помощью Dapper: поиск и сериализация данных в контексте проекта ASP.NET Core Web API
Стандартные и кастомные numeric format strings в .NET: обзор различий на практике
Использование статических анонимных функций в C#: особенности работы с фичей, добавленной в C# 9
ConcurrentStack в C#: знакомство с потокобезопасной коллекцией LIFO для параллельных задач

#dotnet #csharp #codemaze #матчасть
👍6
⚡️Подборка за неделю

📌 С Code Maze:

🔹
Введение в .NET и C#: различия, структура, SDK, среда выполнения, компиляция
🔹
Различия между Quartz.NET и Hangfire: обзор библиотек для выполнения отложенных задач и управления фоновыми задачами
🔹
REST vs WebSockets в C#: странное, но любопытное сравнение
🔹 Как с помощью C# проверить, используется ли файл: фундаментальные основы на пальцах

📌 С официального блога .NET:

🔸
Улучшения и изменения в Android resource generation в .NET 8
🔸 Анонс chiseled контейнеров .NET, главное преимущество которых заключается в уменьшенном размере и повышенной безопасности
🔸
Использование новых типов из .NET 8 при разработке тестов с моками:
FakeLogger, FateTimeProvider и MetricCollector
🔸
Анонс ML.NET 3.0 с улучшениями в области глубокого обучения, DataFrame, производительности и многого другого
🔸
Создание отказоустойчивых облачных сервисов с помощью .NET 8:

dotnet add package Microsoft.Extensions.Http.Resilience


#dotnet #dotnet8 #csharp #codemaze #матчасть
👍11
⚡️Подборка за неделю с Code Maze:

🔸 Как использовать Request Timeouts Middleware в ASP.NET Core: гайд по настройке тайм-аутов в .NET 8
🔸Как определить операционную систему в .NET Core: юзкейсы + практика
🔸Как прочитать тело запроса в веб-API ASP.NET Core: обзор различных подходов, их преимуществ и недостатков
🔸Local Functions в C#: лучшие практики использования и сравнение с лямбда-выражениями
🔸Insert & Return Identity с помощью Dapper: примеры работы с SCOPE_IDENTITY и OUTPUT INSERTED
🔸Паттерн «Гексагональная архитектура» на C#: структура, преимущества, недостатки и реализация на C#
🔸Как переключаться между версиями .NET SDK: гайд на случай, если вам понадобится переключить версию SDK

📌 Мини-серия статей по ML.NET

🔸ML.NET — введение в машинное обучение с помощью C#
🔸Что такое Model Builder и как его использовать в ML.NET
🔸Использование ML.NET CLI для автоматизации обучения модели
🔸Как использовать Automated Machine Learning API с ML.NET

#dotnet #dotnet8 #csharp #codemaze #матчасть
👍82🤔1