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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
Свежие и обновленные статьи: подборка для C#-разработчика с Code Maze

🔸 Модификатор доступа к файлу в C#: какие проблемы решает и как использовать
🔸 Получение данных из MongoDB с использованием ObjectId в C#: логическое продолжение руководства «Начало работы с ASP.NET Core и MongoDB»
🔸 Отладка и профилирование многопоточных приложений .NET: обзор инструментов, доступных в Visual Studio
🔸 Как сериализовать объект в query string format в C#: проблемы, которые могут возникнуть при работе с вложенными объектами и массивами, и способы их решения
🔸 Service discovery в .NET: что это и как использовать
🔸 Как получить имена свойств JSON в C#: использование Newtonsoft.Json и System.Text.Json
🔸 Реализация кастомного Authorization Policy Provider с помощью ASP.NET Core: как получить и предоставить политику авторизации для определенного имени политики
🔸 Значения по умолчанию для лямбда-выражений в C#: обзор одного из многих улучшений, появившихся в C# 12
🔸 Управление точностью десятичных чисел в C#: от теории к практике
🔸 Как инициализировать параметры record в C#: простой гайд с примерами
🔸 Различия между NUnit, xUnit and MSTest: на заметку C#-разработчику
🔸 Архитектурный паттерн «клиент-сервер» на C#: как работает паттерн, его компоненты, преимущества и проблемы, которые он создает
🔸 Согласованное байтовое представление строк без явного указания кодировки: рабочий кейс для C#-разработчика
🔸 Как добавить или обновить значения строки запроса в C#: обзор различных способов решения задачи
🔸 Создание распределенных приложений с помощью .NET Aspire: использование нового стека на практике
🔸 Thread.Sleep vs. Task.Delay: сравнение двух часто используемых механизмов для введения задержек в коде
🔸 Как экранировать символ '\' в C#: обзор лучших практик
🔸 Как сохранить список в текстовый файл на C#: использование StreamWriter и File
🔸 Как проверить валидность строки в формате JSON на C#: практика работы с популярным форматом данных
🔸 Как откатить изменения в миграции EF Core: что делать, если накосячил
🔸 Как сравнить два списка по одному свойству в C#: обзор нескольких методов для понимания контекста
🔸 Как добавить custom claims к access токену в Duende Identity Server: практика работы с интерфейсом IProfileService
🔸 Как обрезать строку в .NET: сравнение различных методов с акцентом на производительность
🔸 Как получить значение свойства по имени в C#: использование рефлексии на практике
🔸 Самый быстрый способ преобразования JObject в словарь на C#: пример сценариев, в которых словарь является более подходящей структурой данных

#чтопроисходит
7👍6🥱2🥰1
LINQ-Expressions-the-Art-of-Querying-Data.pdf
6.7 MB
🚀 Опубликованы записи докладов с 94-й встречи SpbDotNet:

🌐 Повышение производительности .NET-приложения на примере программы поиска дубликатов / Юрий Малич

🔻Юрий поделился опытом повышения производительности .NET приложения на примере своей программы поиска дубликатов файлов. В докладе описаны:

• алгоритмические оптимизации;
• низкоуровневые оптимизации (с примерами дизассемблерного кода);
• многопоточные оптимизации при обращениям к SSD и HDD дискам;
• методы повышения эффективности использования памяти и снижения нагрузки на GC.

🌐 LINQ Expressions: искусство запрашивать данные / Денис Цветцих (DevBrothers, Тинькофф)

🔺Запросов на чтение данных в разы больше, чем запросов на их изменение. При этом логика фильтрации может меняться с течением времени. Поэтому важно уметь инкапсулировать правила для фильтрации в специальных обертках, а также комбинировать их как между собой, так и с правилами без оберток.

🔺Денис рассказал, как решить эту задачу при помощи современной реализации паттерна «Спецификация» с использованием LINQ Expressions и с какими подводными камнями можно столкнуться при его реализации. Он затронул и наиболее удобные для использования библиотеки, в которых «Спецификация» уже реализована, в том числе, как можно сделать ее c использованием новых фич EF Core 7 или Source Generators.

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍7🤔3😁1💯1
⚡️Подборка для .NET-разработчика:

🌐 Андрей Александров «Вкусные новинки EF Core 8»
🌐 Александр Гольдебаев «.NET Aspire in action»
🌐 Руслан Каменский «Bootstrapping .NET 8 SDK: собираем дотнет из исходников»
🌐 Никита Маслов «С# 12: Primary constructors»
🌐 Андрей Порожняков «Что нового в Minimal API на ASP.NET Core 8»
🌐 Евгений Федотов «А что там собственно нового в C# 12?»
🌐 Валерий Никитин «.NET 8 и улучшения в контейнерах»

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥142
👨‍💻 Ключевые изменения в документации .NET за февраль 2024 года, хоть и с опозданием

📌 Новые статьи:

🔹 Дублирование вывода для -getItem, -getProperty и -getTargetResult
🔹 Проверка сертификатов перед загрузкой удаленных изображений в PictureBox
🔹 InMemoryDirectoryInfo добавляет rootDir к файлам
🔹 Перечисление текущего пути каталога диска
🔹 Импорт .user файла во внешние сборки
🔹 Установка ограничения на размер встроенного массива структур

📌 Основы .NET
🔹 Обзор MSTest SDK
🔹 Что нового в контейнерах для .NET 8.
🔹 Что нового в .NET 8
🔹 Что нового в SDK и инструментах для .NET 8
🔹 Что нового в .NET 9

📌 C#:
🔹 Устранение ошибок и предупреждений, связанных со ссылками на сборки
🔹 new (Справочник по C#)

📌 ML.NET:
🔹 Как форматировать данные для Named Entity Recognition (NER)

📌 Обновленные статьи:
🔸 Класс System.Reflection.Emit.AssemblyBuilder: обновление информации о сохраняемом AssemblyBuilder
🔸 Что нового в .NET 8 runtime: разделение нововведений в .NET 8 по SDK/runtime

#чтопроисходит
5👍5