Сервис доступен и на вашем языке. Для перевода нажмитеРусский
Best analytics service

Add your telegram channel for

  • get advanced analytics
  • get more advertisers
  • find out the gender of subscriber
Channel location and language

all posts Библиотека шарписта | C#, F#, .NET, ASP.NET

Все самое полезное для C #-разработчика  в одном канале. Список наших каналов:  https://t.me/proglibrary/8353  Учиться у нас:  https://proglib.io/w/907158ab  Обратная связь:  @proglibrary_feedback_bot  По рекламе:  @proglib_adv  Прайс:  @proglib_adv ertising 
Show more
22 548+7
~5 198
~4
25.44%
Telegram general rating
Globally
38 375place
of 78 777
5 157place
of 8 625
In category
801place
of 1 396
Posts archive
💬 Разрабы, какую музыку вы предпочитаете слушать во время работы? 👍 — энергичная и мотивирующая музыка (рок, поп, электронная) 🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки) ❤️ — предпочитаю работать в тишине
1 600
3
Кстати, у EF есть возможность повторить попытку в случае сбоя соединения, и ее полезно включить для большей устойчивости.
3 016
62
3 321
22
💡Поддержка open telemetry в .NET становится все лучше и лучше с каждым выпуском. В .NET 8 вы можете настроить как логирование, так и метрики в конфигурации.
3 824
36
💬 Мысли Эндрю Лока о primary constructors: 3 ➕ и 5 ➖ В предыдущей статье автор введение в primary constructors в C# 12. В вас ждет более глубокое погружение в тему с описанием основных достоинств и недостатков (по его мнению). ☑️ Основные подходы к использованию primary constructors ☑️ Лучшие юзкейсы primary constructors ▫️Базовая инициализация полей ▫️Инициализация в тестовом коде ▫️Dependency injection в MVC-контроллерах ☑️ Проблемные моменты, или «что не нравится» ▫️Duplicate capture ▫️Неявные поля не могут быть readonly ▫️Неявные поля изменяют макет структуры ▫️Путаница с соглашениями об именах ▫️Путаница с record
Show more ...
3 936
32
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью. В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа. 🔗 🔗
3 365
7
🧰 Кстати, поддерживает IntelliSense, установку NuGet-пакетов, а также ссылки на локальные проекты и сборки .NET. Отличный инструмент для экспериментов и изучения C# на Windows, Mac OS, and Linux.
dotnet tool install -g csharprepl

csharprepl-intro.mp4

3 920
48
🔗 Разработка сокращателя URL-адресов на .NET: мини-гайд от Milan Jovanović Автор делится опытом проектирования простой системы сокращения ссылок и пишет её с нуля. 👉 & гайд
3 937
80
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных» 🔥Получите вводные занятия, ответив на 3 вопроса – На вводной части вас ждут: 1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов 2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ 3. Практические задания после лекций 4. Ссылки на дополнительные материалы для самостоятельного изучения ⚡️Переходите и начинайте учиться уже сегодня –
Show more ...
4 611
1
🎙Свежий выпуск подкаста RadioDotNet про лучший UI Framework, структуру Solutions, нужные Channels и многое другое ⏯ | | |
4 186
20
❤️ Активация с первого взгляда: как влюбить пользователя в продукт Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей. 🔗 🔗
4 240
13
☝️Схема типичного стартапа ☝️ 💬 Есть здесь те, кто работает в стартапе? Что скажете?
4 344
20
🧰 MemoryCache, DistributedCache и HybridCache: краткий обзор от Steven Giesel новых вич, появившихся в .NET 9 Preview 4 📌
MemoryCache
— структура данных для кеширования объектов в памяти. • Простой пример:
public async Task GetBlogPost(int id)
{
    var cacheKey = $"BlogPost_{id}";
    if (!_memoryCache.TryGetValue(cacheKey, out BlogPost blogPost))
    {
        blogPost = await _blogRepository.GetBlogPostByIdAsync(id);
        _memoryCache.Set(cacheKey, blogPost);
    }
    return Ok(blogPost);
}
• Пример упрощенного использования
MemoryCache
:
public async Task GetBlogPost(int id)
{
    var cacheKey = $"BlogPost_{id}";
    var blogPost = await _memoryCache.GetOrCreateAsync(cacheKey, async entry =>
    {
        return await _blogRepository.GetBlogPostByIdAsync(id);
    });
    return Ok(blogPost);
}
📌
IDistributedCache
используется для кеширования между несколькими сервисами и/или для сохранения данных на длительный срок (переживание перезагрузок сервера). • Пример регистрации Redis в качестве провайдера кеша:
builder.Services.AddStackExchangeRedisCache(options => { ... });
• Пример регистрации SQL Server в качестве провайдера кеша:
builder.Services.AddDistributedSqlServerCache(options =>
{
    options.ConnectionString = builder.Configuration.GetConnectionString("DistCache_ConnectionString");
    options.SchemaName = "dbo";
    options.TableName = "TestCache";
});
• Пример использования
IDistributedCache
:
public class SomeService(IDistributedCache cache)
{
    public async Task GetSomeInformationAsync(string name, int id, CancellationToken token = default)
    {
        var key = $"someinfo:{name}:{id}";
        var bytes = await cache.GetAsync(key, token);
        SomeInformation info;
        if (bytes is null)
        {
            info = await SomeExpensiveOperationAsync(name, id, token);
            bytes = SomeSerializer.Serialize(info);
            await cache.SetAsync(key, bytes, token);
        }
        else
        {
            info = SomeSerializer.Deserialize(bytes);
        }
        return info;
    }

    private async Task SomeExpensiveOperationAsync(string name, int id, CancellationToken token = default)
    {
        // ... Реализация
    }
}
📌
HybridCache
совмещает функции
MemoryCache
и
DistributedCache
. Простой пример использования:
public class SomeService(HybridCache cache)
{
    public async Task GetSomeInformationAsync(string name, int id, CancellationToken token = default)
    {
        return await cache.GetOrCreateAsync(
            $"someinfo:{name}:{id}",
            async cancel => await SomeExpensiveOperationAsync(name, id, cancel),
            token: token
        );
    }
}
HybridCache
поддерживает явное удаление по ключу, настройку сериализации и позволяет избежать некоторых проблем
IDistributedCache
.
Show more ...
MemoryCache, DistributedCache and HybridCache
The latest preview (.NET 9 preview 4) brought another caching structure to the .NET world - so let's order some things here.
3 929
81
👩‍💻 Атрибут StringSyntax в действии Атрибут
StringSyntax
(.NET 7+) позволяет нам сообщить Visual Studio, с каким типом строки (например, регулярное выражение, формат datetime, JSON и т. д.) мы работаем, чтобы получить корректный IntelliSense и подсветку синтаксиса. by
5 237
71
🔥 А вы уже смотрели ? Вот только некоторые анонсы, о которых известно на текущий момент: ☑️ Искусственный интеллект: введение новых инструментов и скриптов для создания приложений с поддержкой ИИ, включая интеграцию с облачными сервисами и библиотеками, такими как OpenAI и Qdrant. ☑️ .NET Aspire: новый стэк для создания cloud-native распределенных приложений, который уже доступен для использования. ☑️ C# 13: улучшения существующих возможностей C# и повышение производительности — params, interfaces, extension types. ☑️ Обновления библиотек и фреймворков .NET, включая Core, Blazor, .NET MAUI и другие. ☑️ Интеграция с ИИ и мониторинг: инструменты для работы приложений, использующих большие языковые модели (LLM). ☑️ Облачные технологии: улучшения для разработки cloud-native приложений, включая уменьшение размера контейнеров и использование .NET Aspire для упрощения разработки и деплоя. ☑️ Кроссплатформенная разработка: развитие .NET MAUI для создания приложений на iOS, Android, Mac и Windows. P. S. Кстати, на Ubuntu 24.04 вы можете сделать вот так:
sudo apt update
sudo apt install dotnet8
👉
Show more ...
4 047
37
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Show more ...
4 950
6
💬 А как в вашем проекте накатываются изменения в основную ветку? 👍 — создаю pull request и жду его одобрения перед мержем 🔥 — мержу изменения напрямую в основную ветку ❤️ — прохожу через код-ревью перед мержем 🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов 👾 — свой вариант (напишу в комментариях)
4 803
2
💬 А как в вашем проекте накатываются изменения в основную ветку? 👍 — создаю pull request и жду его одобрения перед мержем 🔥 — мержу изменения напрямую в основную ветку ❤️ — прохожу через код-ревью перед мержем 🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов 👾 — свой вариант (напишу в комментариях)
62
0
🔥 Анонс .NET MAUI Community Tookit v8 Команда .NET MAUI Community Toolkit представила восьмую версию набора инструментов. В этом обновлении появились долгожданная поддержка
TouchBehavior
(ранее известного как
TouchEffect`), изменения в работе `Snackbar
на Windows, а также новые возможности, включая изменение цвета навигационной панели на Android. Если вы использовали Xamarin Community Toolkit в своих приложениях Xamarin.Forms, вы, вероятно, знакомы с
TouchEffect
. В .NET MAUI эффекты были устаревшими, и их следовало заменить на
PlatformBehaviors
. Именно это и было сделано для реализации данной функциональности в .NET MAUI.
TouchBehavior
позволяет взаимодействовать с любым визуальным элементом в вашем приложении на основе касаний, кликов мыши и событий наведения. Реализация
TouchBehavior
дает возможность настраивать различные визуальные свойства элемента, к которому он прикреплен, такие как цвет фона, непрозрачность, поворот и масштаб. Кроме того,
TouchBehavior
позволяет реализовывать жесты длительного нажатия и выполнять код при длительном нажатии на любой визуальный элемент. 👉
Show more ...

ios-touchbehavior-animated.mp4

4 730
15
⚡️Proglib запускает канал про ИИ для генерации звука Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками. ⭐️генерация голоса и музыки ⭐️замена и перевод речи ⭐️распознавание звуков 👉
4 681
9
🔄 Миграциии в Entity Framework Core: гайд для C#-разработчика от Milan Jovanovic 🤯 Управление схемами баз данных может стать проблемой по мере роста приложений. Ручные изменения могут быть подвержены ошибкам и занимать много времени, что приводит к несоответствиям между окружением разработки и прода. EF Migrations помогает решить эту проблему, позволяя версионировать схемы баз данных. ⚡️ EF Migrations позволяет определять изменения схемы базы данных в коде. Например, добавление столбца или переименование таблицы. Инструмент отслеживает каждое изменение в модели данных, что позволяет уверенно просматривать, тестировать и применять изменения. 👉
Show more ...
EF Core Migrations: A Detailed Guide
In this newsletter, we'll break down the essentials of EF Migrations. We'll explore creating migrations, SQL scripts, applying migrations, migration tooling, and more.
5 494
81
🗺️ Дорожная карта по проектированию API Пошаговое руководство, которое поможет вам научиться проектировать и создавать надежные API. 👉 (PDF-файл в комментариях)
4 665
137
3
0
«.NET 8 и улучшения в контейнерах» — доклад C#-разработчика Валерия Никитина (DexSys) про улучшения в контейнерах, которые появились с выходом .NET 8 в релиз. 📺
5 729
45
⚡️ .NET 9 (preview 3) добавляет endpoint с метаданными для страницы developer exception Новые метаданные появляются на вкладке Routing вместе с другой информацией о маршрутизации. Эта информация упрощает отладку ошибок во время разработки.
6 269
18
🔥 Базовые понятия, юзкейсы и принцип работы под капотом: введение в primary constructors (C# 12) от Эндрю Лока Эндрю обсудил их происхождение из типа
record
и как они могут значительно сократить дублирование в ваших классах, показал два разных подхода, которые вы можете использовать: инициализацию полей и свойств или implicit capture. И многое другое👇 🔗
5 607
72
⭐🎤 Как не облажаться с докладом на IT-конференции Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся. 🔗 🔗
4 958
11
🚔 Code Cop — серия видеоуроков с полезными советами по C#, .NET и многому другому от Ника Чапсаса: ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️ ▶️
Show more ...
5 385
132
🗝️ 40 незаменимых API для разработчиков Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты. 🔗 🔗
5 294
83
🤷‍♂️ Новые технологии Microsoft порождают новые меры
6 100
37
💬 Были ли у вас на собесах вопросы, на которые вы не могли или затруднялись ответить? Напишите их в комментариях — разберемся вместе 👇
6 778
15
🆚 Сравнение сборщиков мусора в Unity (IL2CPP) и .NET В настоящее время команда Unity ведет работу по интеграции .NET CoreCLR, включая высокопроизводительный, более продвинутый и более эффективный GC, в свой движок. Под катом читайте о том, как обстоят дела сейчас👇 🔗
7 092
34
🎙Свежий выпуск подкаста RadioDotNet про полезный Dev Proxy, лаконичный TypeSpec, быстрый SearchValues и многое другое ⏯ | | |
6 442
11
💬 А теперь самый важный вопрос, который когда-либо был на нашем канале. Что выберете? 👇 userId — 👍 userID — 🔥 user_id — ❤️

Гаид по соцсетям Proglib (7).mp4

6 876
38
💡 Улучшения производительности LINQ в .NET 9: обзор от Steven Giesel 📌 Улучшения
OrderBy.ToList
В новой версии .NET улучшена производительность метода
OrderBy
, за счет использования Vector. 📌 Улучшения
Chunk
для
Array<T>
Метод
Chunk
теперь специализирован для массивов (`Array`) и работает в 3.6 раза быстрее, чем в .NET 8. Это достигается благодаря использованию
ReadOnlySpan
, которое позволяет уменьшить количество необходимых аллокаций и увеличить производительность. 📌 Улучшения
OfType
и
Cast
Методы
OfType
и
Cast
теперь обрабатывают данные быстрее за счет оптимизации обработки типов. Это улучшение позволяет быстрее фильтровать данные по типу, что демонстрируется уменьшением времени выполнения операций. 📌 Улучшения
Any
Метод
Any
, который проверяет наличие элементов в последовательности, теперь работает значительно быстрее благодаря оптимизации метода
TryGetNonEnumeratedCount
. Это улучшение позволяет методу
Any
быстро определить, есть ли элементы в последовательности, не перебирая все элементы. 👉
Show more ...
.NET 9 LINQ Performance Edition
As with almost every edition of .NET, the team has been working on improving performance. In this blog post, we will see some improvements to the related tickets and benchmarks.
6 562
43
🎙«Как мы перешли на Microsoft.Extensions.Configuration и стало хорошо» — доклад Андрея Рягузова про то, как компания перешла от самописного метода работы с настройками к стандартному варианту, предлагаемому Microsoft. 💡 Вы узнаете, почему они использовали нестандартный метод изначально, какие выгоды и новые возможности открываются при использовании «коробочных» инструментов и как можно интегрировать их в свои проекты. ▶️
6 383
71
Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех — новости, статьи, досуг, фундаментальные темы — тут мы рассказываем про обучение и курсы 🤖Про нейросети #️⃣C# — полезные статьи, новости и обучающие материалы по C# — код, квизы и тесты — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования ☁️DevOps — полезные статьи, новости и обучающие материалы по DevOps — код, квизы и тесты — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP — полезные статьи, новости и обучающие материалы по PHP — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты 🐍Python — полезные статьи, новости и обучающие материалы по Python — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты ☕Java — полезные статьи по Java, новости и обучающие материалы — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты 👾Data Science — полезные статьи, новости и обучающие материалы по Data Science — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты 🦫Go — полезные статьи, новости и обучающие материалы по Go — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты 🧠C++ — полезные статьи, новости и обучающие материалы по C++ — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования — код, квизы и тесты 💻Другие каналы 📁Чтобы добавить папку с нашими каналами, нажмите 👉👈 Также у нас есть боты: Мы в других соцсетях: 🔸 🔸 🔸 🔸 * 🔸 * * Организация Meta запрещена на территории РФ
Show more ...
5 749
39
💡Создавайте ER-диаграммы своей базы данных непосредственно из обозревателя серверов в Visual Studio — попробуйте это в последней ежедневной сборке
6 360
58
👩‍💻 «REST API клиенты для C#» — доклад Артёма Квашнина про типичные ошибки при работе со стандартным HttpClient и многое другое Артем разбирает реализацию межсервисного взаимодействия от Microsoft и самое главное — рассматривает плюсы и минусы популярных генераторов для API клиентов. ▶️
6 667
211
💡Кстати,
Invoke-Command
в PS можно использовать с флагом
-AsJob
для параллельного запуска команд на нескольких компьютерах. by
6 852
17
🎙 Подкаст DotNet & More: тестируем код без лишних интерфейсов и не только В C# принято создавать отдельный интерфейс для каждой сущности ради обеспечения тестируемости. Но так ли это нужно? Можно ли обойтись без создания дублирующего кода? 🕘 Таймкоды: Вступление В чем проблема интерфейсов для тестов? protected virtual метод вместо выноса интерфейса Мокаем прямые зависимости, AutoMock Производительность вызова виртуальных методов ⏯️ | | |
Show more ...
6 582
40
💬 А вы что думаете?
7 046
20
🥑 Подборка лучших статей «Библиотеки программиста» за апрель: сохраняй в заметки, чтобы не пропустить 🐛 ⚙️ 🙅‍♂️ 🧑‍💻 🤺 🔍💼 📖
Show more ...
7 070
41
🔥 Разработка игр: пошаговый гайд от JetBrains 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮
6 754
77
4 502
39
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Show more ...
5 654
1
Hot reload в .NET MAUI🧯

IMG_1151.MP4

5 642
18
🚫 Как потреблять API с ограничением по RPS в .NET приложениях Сеньор .NET-разработчик Степан Минин рассказывает, как отправлять запросы из
HttpClient
так, чтобы не получать
429 Too Many Requests
. 👉
5 956
96
🤔 Сталкивались ли вы когда-нибудь с исключением
 System.InvalidOperationException: Collection was modified; enumeration operation may not execute.?
предложил ввести механизм версионности, который заключается в следующем: ☑️ В классе списка вводится поле
 version,
которое инкрементируется каждый раз при изменении списка (добавлении, удалении элементов или изменении существующих). ☑️ При создании итератора для перечисления элементов списка запоминается текущее значение
 version.
☑️ В каждом вызове метода
 MoveNext() 
итератора происходит проверка: если текущее значение
 version 
списка отличается от значения, зафиксированного при создании итератора, генерируется исключение
 InvalidOperationException.
Это предотвращает непредвиденные последствия от изменения коллекции во время её перебора. Таким образом, при попытке изменить список в процессе его перечисления, система обнаруживает несоответствие версий и активно препятствует продолжению некорректной операции, защищая от ошибок выполнения и потенциальных багов в программе.
Show more ...
How does a List know that you changed it while enumerating it?
Everyone falls for that and tries to change a list while enumerating it greated by the System.InvalidOperationException: Collection was modified; enumeration operation may not execute. message. But how does the List know that you changed it? Let's find out.
5 755
31
🅾️ Что такое «О» большое: объясняем на простых примерах «О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных. Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами. 🔗 🔗
5 111
102
🧮 Разработка и использование парсера .NET AsciiMath в расширении Markdig Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел. о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
5 193
22
😉 55 промтов для ChatGPT, которые помогут подготовиться к собеседованию Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это. В статье собраны шаблоны запросов, которые желательно «докрутить» под себя. 🔗 🔗
4 693
66
🎬 Вопросы к собеседованию по C# (многопоточность, Garbage Collector, коллекции, типы данных) Сеньор .NET разработчик разбирает вопросы с собеседований, которые собирал несколько лет — некоторые задавали ему, некоторые теперь уже задает он сам, когда собеседует специалистов. В видео: абстрактные классы против интерфейсов сборщик мусора значимые и ссылочные типы данных обобщения и коллекции упаковка и распаковка многопоточность и конструкции синхронизации потоков
Вопросы к собеседованию C# (МНОГОПОТОЧНОСТЬ, Garbage Collector, Коллекции, Типы данных)
Сегодня я начну разбор списка вопросов к собеседованию, который собирал несколько лет. Некоторые из них мне часто задавали на интервью, некоторые задаю сейчас я сам. В своем телеграм канале я не продаю курсы и рекламу. Там вы сможете найти мой полный список вопросов и остальные полезные заметки об IT и прохождении интервью Многопоточность в C#, Garbage Collector в C#, Коллекции в программировании, вопросы к собеседованию C# #программирование #программированиеснуля #айти #собеседование
5 771
330
🧰EntityFrameworkCore.Exceptions.PostgreSQL — инструмент для обработки ошибок базы данных при работе с Entity Framework Core. Поддерживает SQLServer, PostgreSQL, SQLite, Oracle и MySql. При использовании EF Core для доступа к данным все исключения БД оборачиваются в
DbUpdateException
. Если вам нужно выяснить, было ли исключение вызвано уникальным ограничением, слишком длинным значением или отсутствием значения для обязательного столбца, вам нужно будет изучить конкретный экземпляр подкласса
DbException
и проверить код ошибки, чтобы определить точную причину.
EntityFramework.Exceptions
упрощает это, обрабатывая все специфичные для базы данных детали и выбрасывая разные исключения. Всё, что вам нужно сделать, это настроить
DbContext
, вызвав
UseExceptionProcessor
, и обработать такие исключения, как
UniqueConstraintException
,
CannotInsertNullException
,
MaxLengthExceededException
,
NumericOverflowException
,
ReferenceConstraintException
. В случае
UniqueConstraintException
и
ReferenceConstraintException
вы можете получить имя связанного ограничения с помощью свойства
ConstraintName
.
ConstraintProperties
будет содержать свойства, которые являются частью ограничения. 📦
Show more ...
6 152
107

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
0
Anonymous voting
5 820
7
🎙 Подборка последних выпусков подкаста DotNet & More: ⏯️ ⏯️ ⏯️ ⏯️
6 431
32
👌 Рефакторинг C#-кода с помощью primary constructors Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8. 👉
6 911
57
💡 Атрибут
[MemberNotNullWhen]
помогает компилятору указать, при каких условиях указанное поле или свойство не имеет значения
NULL
, что улучшает статический анализ кода. by
6 696
59
💬 Удается ли вам отдыхать вне работы? 👍 — да, почти всегда 🙏 — да, иногда 🤔 — нет, всегда работа в голове 🥱 — какой отдых? Я же айтишник
6 040
14
👩‍💻 JetBrains Rider: советы и трюки Dan Clarke, разработчик и популярный ютубер, делится полезными шорткатами для управления IDE и кодом.

rider.pdf

6 422
128
🦾🧠🏋️Качаем мозги к лету! Курс для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты. ➡️ 35 990 ₽ 21 594 ⭐️ Переходите и активируйте бесплатные вводные занятия курса Вас ждут: – 150 практических заданий и 47 видеолекций – бессрочный доступ к обучению – поддержка преподавателя в чате А также очень харизматичный спикер из Яндекса 🙌🏻
Show more ...
6 842
0
Забавно, что .NET Aspire еще находится в предварительной версии, а некоторые вакансии уже требуют опыт работы...
6 686
86
🧰 MSBuild Structured Log Viewer — расширение VS Code для просмотра структурированных логов MS Build, которое отображает содержимое бинарных файлов логов MSBuild (.binlog) в виде дерева. 👉 Ключевые фичи: ✅ Множественный поиск по одному binlog ✅ Возможность добавлять закладки для записей лога при изучении binlog ✅ Открытие длинных записей лога во вкладках редактора 📦
6 356
23
🤔 Может ли модификатор readonly ускорить код? Модификатор
readonly
— это ключевое слово в C#, которое можно применять к полям. Когда поле помечено как
readonly
, это означает, что ему можно присвоить значение только во время объявления или в конструкторе класса. Steven Giesel , как
readonly
влияет на производительность. 👉 TLDR Выигрыш в производительности есть, но он незначительный. Основная причина использования
readonly
полей — сделать код более надежным и сопровождаемым, а не быстрым.
Show more ...
5 885
18
💡В .NET 6 представлен новый метод Enumerable
TryGetNonEnumeratedCount
Он опредяет количество элементов в последовательности без необходимости принудительной итерации по ней. Особенно полезно для
IQueryable
, когда при вызове метода
Count
вы не хотите выполнять полный запрос. by
7 181
63
async/await с нуля на C# со Stephen Toub Помните Stephen Toub с его в блоге .NET? У него не просто статьи, а целые исследования, по которым обучаются другие .NET-разрабы. Недавно он вместе с Scott Hanselman раскрыл тайны мира асинхронного программирования с помощью .NET и, в частности, магии async/await. Stephen создает собственную реализацию async/await с нуля и объясняет каждый шаг🔥 📺
7 431
257

Вам предлагают очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?

Соглашусь на жирный оффер
Если на текущей работе работается, зачем увольняться?
Свой вариант (напишу в комментариях)
Посмотреть результаты
0
Anonymous voting
6 974
3

Компания X предлагают вам очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?

Соглашусь на жирный оффер
Если на текущей работе работается, зачем увольняться?
Свой вариант (напишу в комментариях)
Посмотреть результаты
0
Anonymous voting
1
0
🧰 — генератор исходного кода для создания графов объектов, который определяет оптимальную структуру графа на этапе компиляции, проверяет ее корректность и генерирует частичный код класса для создания графов объектов в парадигме Pure DI, используя только базовые конструкции языка. 👉 Основной разработчик рассказал в что нового появилось в последней версии инструмента.
6 682
38
📌 Access Modifiers: сводная таблица для C#-разработчика 👉 Гайд на
6 969
80
27 700
443
GitVerse – еще круче, быстрее и удобнее На онлайн-презентации «» СберТех представил новую функциональность платформы, которая поможет ускорить и упростить разработку. Рассказываем про новые фичи GitVerse: ✔️ CI/CD-инструменты Помогут автоматизировать сборку исходного кода и процессы поставки. А еще можно перенести свои проекты с Git-репозиториев в один клик. ✔️ Новые функции персонального AI-ассистента* GigaCode Теперь GigaCode умеет решать связанные с кодом задачи в окне чата прямо в среде разработки. А в репозитории в GitVerse можно получить объяснение, что делает конкретная часть кода, и советы по его улучшению. ✔️ Функциональность для организаций Отличная новость – разрабатывать на GitVerse теперь могут не только индивидуальные разработчики, но и малые и средние предприятия. и воспользуйтесь новыми возможностями GitVerse! *AI, artificial intelligence — искусственный интеллект
Show more ...
3 453
9
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Show more ...
5 104
9
💬 А какой фидбек в вашей команде? 👍 — как позитивный, так и негативный 🔥 — в основном конструктивный 🥱 — бесполезный 🤔 — у нас нет фидбека
4 811
1
🧰 Error Prone .NET — набор анализаторов на базе Roslyn, основанный на error-prone от Google, но вместо Java инструмент фокусируются на корректности (а возможно, и производительности) программ на C#. Сергей Тепляков недавно что с помощью Error Prone .NET обнаружил использование структуры без переопределения
Equals
и
GetHashCode
. Насколько это важно? Очень важно! Вы можете получить ужасную производительность, поскольку
GetHashCode
по умолчанию в структуре просто получает хэш-код первого поля! 👩‍💻
Show more ...
5 362
91
4 481
29
Last updated: 11.07.23
Privacy Policy Telemetrio