Модификатор
readonly
— это ключевое слово в C#, которое можно применять к полям. Когда поле помечено как readonly
, это означает, что ему можно присвоить значение только во время объявления или в конструкторе класса. Steven Giesel разбирается, как readonly
влияет на производительность. Выигрыш в производительности есть, но он незначительный. Основная причина использования
readonly
полей — сделать код более надежным и сопровождаемым, а не быстрым.Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Ключевые фичи:
📦 Скачать
Please open Telegram to view this post
VIEW IN TELEGRAM
🦾🧠🏋️Качаем мозги к лету!
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных35 990 ₽ 21 594 ₽
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Удается ли вам отдыхать вне работы?
👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник
#холивар
👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник
#холивар
[MemberNotNullWhen]
помогает компилятору указать, при каких условиях указанное поле или свойство не имеет значения NULL
, что улучшает статический анализ кода.#csharp #tip by Łukasz Żabski
Please open Telegram to view this post
VIEW IN TELEGRAM
👌 Рефакторинг C#-кода с помощью primary constructors
Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8.
👉 Читать
Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8.
👉 Читать
⏯️ Тестирование тестов, code coverage, mutation testing и не только
⏯️ Как писать «чистые» тесты и не только
⏯️ Рефакторим тесты, тестовые фреймворки и не только
⏯️ Рефакторить тесты и код, или только тесты ... и не только
#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой системой управления личным временем/задачами/делами пользуетесь?
Anonymous Poll
11%
В форме доски: Trello/Kaiten
12%
В форме базы знаний: Notion
3%
Самописная система
9%
Что-то простое с делами в столбик
14%
Дела списком в бумажном блокноте
9%
Напоминалки в мессенджере
19%
Напоминалки в календаре
28%
Никакой
3%
Свой вариант (напишу в комментариях)
20%
Посмотреть результаты
При использовании 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
Forwarded from Библиотека нейротекста | ChatGPT, Gemini, Bing
Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.
В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.
Please open Telegram to view this post
VIEW IN TELEGRAM
🧮 Разработка и использование парсера .NET AsciiMath в расширении Markdig
Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел.
Читайте подробнее о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел.
Читайте подробнее о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
Forwarded from Библиотека data scientist’а | Data Science, Machine learning, анализ данных, машинное обучение
🅾️ Что такое «О» большое: объясняем на простых примерах
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
🤔 Сталкивались ли вы когда-нибудь с исключением
Чтобы узнать, что List был изменен, Steven Giesel предложил ввести механизм версионности, который заключается в следующем:
☑️ В классе списка вводится поле
☑️ При создании итератора для перечисления элементов списка запоминается текущее значение
☑️ В каждом вызове метода
Таким образом, при попытке изменить список в процессе его перечисления, система обнаруживает несоответствие версий и активно препятствует продолжению некорректной операции, защищая от ошибок выполнения и потенциальных багов в программе.
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.?
Чтобы узнать, что List был изменен, Steven Giesel предложил ввести механизм версионности, который заключается в следующем:
☑️ В классе списка вводится поле
version,
которое инкрементируется каждый раз при изменении списка (добавлении, удалении элементов или изменении существующих).☑️ При создании итератора для перечисления элементов списка запоминается текущее значение
version.
☑️ В каждом вызове метода
MoveNext()
итератора происходит проверка: если текущее значение version
списка отличается от значения, зафиксированного при создании итератора, генерируется исключение InvalidOperationException.
Это предотвращает непредвиденные последствия от изменения коллекции во время её перебора.Таким образом, при попытке изменить список в процессе его перечисления, система обнаруживает несоответствие версий и активно препятствует продолжению некорректной операции, защищая от ошибок выполнения и потенциальных багов в программе.
Steven-Giesel
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.
🚫 Как потреблять API с ограничением по RPS в .NET приложениях
Сеньор .NET-разработчик Степан Минин рассказывает, как отправлять запросы из
👉 Читать
Сеньор .NET-разработчик Степан Минин рассказывает, как отправлять запросы из
HttpClient
так, чтобы не получать 429 Too Many Requests
.👉 Читать
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.