Вам предлагают очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?
Anonymous Poll
48%
Соглашусь на жирный оффер
26%
Если на текущей работе работается, зачем увольняться?
1%
Свой вариант (напишу в комментариях)
24%
Посмотреть результаты
👍2
async/await с нуля на C# со Stephen Toub
Помните Stephen Toub с его лонгридами в блоге .NET? У него не просто статьи, а целые исследования, по которым обучаются другие .NET-разрабы.
Недавно он вместе с Scott Hanselman раскрыл тайны мира асинхронного программирования с помощью .NET и, в частности, магии async/await. Stephen создает собственную реализацию async/await с нуля и объясняет каждый шаг🔥
📺 Смотреть
Помните Stephen Toub с его лонгридами в блоге .NET? У него не просто статьи, а целые исследования, по которым обучаются другие .NET-разрабы.
Недавно он вместе с Scott Hanselman раскрыл тайны мира асинхронного программирования с помощью .NET и, в частности, магии async/await. Stephen создает собственную реализацию async/await с нуля и объясняет каждый шаг
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥19❤4👏1🌚1
TryGetNonEnumeratedCount
Он опредяет количество элементов в последовательности без необходимости принудительной итерации по ней.
Особенно полезно для
IQueryable
, когда при вызове метода Count
вы не хотите выполнять полный запрос.#csharp #dotnet #tip by Oleg Kyrylchuk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39🔥12🥰2
Модификатор
readonly
— это ключевое слово в C#, которое можно применять к полям. Когда поле помечено как readonly
, это означает, что ему можно присвоить значение только во время объявления или в конструкторе класса. Steven Giesel разбирается, как readonly
влияет на производительность. Выигрыш в производительности есть, но он незначительный. Основная причина использования
readonly
полей — сделать код более надежным и сопровождаемым, а не быстрым.Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
👉 Ключевые фичи:
📦 Скачать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏6🔥1
🦾🧠🏋️Качаем мозги к лету!
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных35 990 ₽ 21 594 ₽
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
😁4❤1
💬 Удается ли вам отдыхать вне работы?
👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник
#холивар
👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник
#холивар
👍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.
👉 Читать
Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8.
👉 Читать
🥱34👍20🤔3👾1
⏯️ Тестирование тестов, code coverage, mutation testing и не только
⏯️ Как писать «чистые» тесты и не только
⏯️ Рефакторим тесты, тестовые фреймворки и не только
⏯️ Рефакторить тесты и код, или только тесты ... и не только
#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Какой системой управления личным временем/задачами/делами пользуетесь?
Anonymous Poll
11%
В форме доски: Trello/Kaiten
12%
В форме базы знаний: Notion
3%
Самописная система
9%
Что-то простое с делами в столбик
14%
Дела списком в бумажном блокноте
9%
Напоминалки в мессенджере
19%
Напоминалки в календаре
28%
Никакой
3%
Свой вариант (напишу в комментариях)
20%
Посмотреть результаты
🥱5
При использовании 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🤔6❤1🥱1
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.
В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🥱3
🧮 Разработка и использование парсера .NET AsciiMath в расширении Markdig
Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел.
Читайте подробнее о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
Эндрю Лок изучил несколько существующих решений, позволяющих конвертировать в MathML и отображать математические формулы, но ничего лучше портирования реализации Ruby AsciiDoctor на .NET не нашел.
Читайте подробнее о реализации и том, как автор использовал ChatGPT для упрощения рутинных задач.
👍8
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🅾️ Что такое «О» большое: объясняем на простых примерах
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
👍17🥱1
🤔 Сталкивались ли вы когда-нибудь с исключением
Чтобы узнать, что 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 greeted 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.
👍16🥱3