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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🧰 Pure.DI — генератор исходного кода для создания графов объектов, который определяет оптимальную структуру графа на этапе компиляции, проверяет ее корректность и генерирует код класса для создания графов объектов в парадигме Pure DI, используя только базовые конструкции языка.

👉 Основной разработчик рассказал в статье, что нового появилось в последней версии инструмента.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Вам предлагают очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?
Anonymous Poll
48%
Соглашусь на жирный оффер
26%
Если на текущей работе работается, зачем увольняться?
1%
Свой вариант (напишу в комментариях)
24%
Посмотреть результаты
👍2
async/await с нуля на C# со Stephen Toub

Помните Stephen Toub с его лонгридами в блоге .NET? У него не просто статьи, а целые исследования, по которым обучаются другие .NET-разрабы.

Недавно он вместе с Scott Hanselman раскрыл тайны мира асинхронного программирования с помощью .NET и, в частности, магии async/await. Stephen создает собственную реализацию async/await с нуля и объясняет каждый шаг🔥

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥194👏1🌚1
💡В .NET 6 представлен новый метод Enumerable TryGetNonEnumeratedCount

Он опредяет количество элементов в последовательности без необходимости принудительной итерации по ней.

Особенно полезно для IQueryable, когда при вызове метода Count вы не хотите выполнять полный запрос.

#csharp #dotnet #tip by Oleg Kyrylchuk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39🔥12🥰2
🤔 Может ли модификатор readonly ускорить код?

Модификатор readonly — это ключевое слово в C#, которое можно применять к полям. Когда поле помечено как readonly, это означает, что ему можно присвоить значение только во время объявления или в конструкторе класса. Steven Giesel разбирается, как readonly влияет на производительность.

👉 TLDR
Выигрыш в производительности есть, но он незначительный. Основная причина использования readonly полей — сделать код более надежным и сопровождаемым, а не быстрым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
🧰 MSBuild Structured Log Viewer — расширение VS Code для просмотра структурированных логов MS Build, которое отображает содержимое бинарных файлов логов MSBuild (.binlog) в виде дерева.

👉 Ключевые фичи:

Множественный поиск по одному binlog
Возможность добавлять закладки для записей лога при изучении binlog
Открытие длинных записей лога во вкладках редактора

📦 Скачать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏6🔥1
Забавно, что .NET Aspire еще находится в предварительной версии, а некоторые вакансии уже требуют опыт работы...
😁134🌚10🤔3🔥2
🦾🧠🏋️Качаем мозги к лету!

Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594

⭐️ Переходите и активируйте бесплатные вводные занятия курсаhttps://proglib.io/w/da6727d1

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
😁41
rider.pdf
32.9 KB
👩‍💻 JetBrains Rider: советы и трюки

Dan Clarke, разработчик и популярный ютубер, делится полезными шорткатами для управления IDE и кодом.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🥱8👏2
💬 Удается ли вам отдыхать вне работы?

👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник

#холивар
👍96🥱81🤔57👏10😁4
💡 Атрибут [MemberNotNullWhen] помогает компилятору указать, при каких условиях указанное поле или свойство не имеет значения NULL, что улучшает статический анализ кода.

#csharp #tip by Łukasz Żabski
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55
👌 Рефакторинг C#-кода с помощью primary constructors

Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8.

👉 Читать
🥱34👍20🤔3👾1
🧰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 будет содержать свойства, которые являются частью ограничения.

📦 NuGet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55🤔61🥱1
😉 55 промтов для ChatGPT, которые помогут подготовиться к собеседованию

Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.

В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🥱3
🧮 Разработка и использование парсера .NET AsciiMath в расширении Markdig

Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел.

Читайте подробнее о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
👍8
🅾️ Что такое «О» большое: объясняем на простых примерах

«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.

Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.

🔗 Читать статью
🔗 Зеркало
👍17🥱1