🤔 MissingMethodException: разбор загадочного исключения в простом C#-приложении
Сергей Тепляков разбирается, почему он получал
Спойлер: multitargeting
Сергей Тепляков разбирается, почему он получал
MissingMethodException
, когда метод явно существовал. Dissecting the Code
Figuring out mysterious MissingMethodException in a simple C# application
As we already know from C# Language Features vs. Target Frameworks you can use most of the latest C# language features targeting .Net Standard or Full Framework. Some features just work with any target frameworks, but some require special attributes or types…
❤7❤🔥2🥰2👍1
StringComparison
, которое добавляет поддержку естественной сортировки (например, «abc1», «abc2», «abc10» вместо «abc1», «abc10», «abc2»).Это полезно в ситуациях, когда стандартная лексикографическая сортировка строк не соответствует ожидаемому порядку, особенно когда в строках присутствуют числовые сегменты.
var sequence = new[] { "img12.png", "img10.png", "img2.png", "img1.png" };
var ordered = sequence.OrderBy(x => x, StringComparison.OrdinalIgnoreCase.WithNaturalSort());
// ordered will be "img1.png", "img2.png", "img10.png", "img12.png"
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tompazourek/NaturalSort.Extension: 🔀 Extension method for StringComparison that adds support for natural sorting (e.g.…
🔀 Extension method for StringComparison that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1"...
👍20🥰6
Андрей Потапов из Альфа-Банка погружается в детали работы с паттерном и рассматривает его сильные/слабые стороны.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👏7😁1
ref
и unsafe
в итераторах и асинхронных методах.📌 Мотивация
В современном мире вы не можете сделать так:
async Task MyMethodAsync()
{
await AnAsyncMethod();
ref int x = ref GetRef();
DoSomething(ref x);
await AnohterAsnycMethod();
}
Проблема с
await
и ref
заключается в том, что компилятор не может гарантировать, что ссылка все еще будет действительна после выполнения await
. Но в данном случае это не должно быть проблемой, так как x
используется только между двумя вызовами await
, где ссылка все еще действительна.То же самое относится к
ref
структурам, таким как Span<T>
или ReadOnlySpan<T>
. Их нельзя использовать в итераторах (yield
) или асинхронных методах.Предложение как раз и позволит это делать:
async Task MyMethodAsync()
{
var result = await AnAsyncMethod();
ReadOnlySpan<char> span = result.AsSpan();
DoSomething(span);
await AnohterAsnycMethod();
}
#proposal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7🤔5❤4🥱3
DebuggerDisplay
в действии, или Как изменить стандартное представление отладки для класса C##csharp #dotnet #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍22❤3
🧘♂️ Work-life balance — это баланс между работой и личной жизнью. Соблюдать его — значит придерживаться образа жизни, при котором каждая сфера деятельности находится в гармонии с остальными и не наносит им ущерба.
💡 Другими словами, work-life balance позволяет успешно совмещать работу, отдых, семью, хобби, здоровье и другие важные аспекты нашей жизни.
💬 А вам удается его соблюдать?
👍 — да, только на этом и держусь
🤔 — нет, обычно работа в приоритете
🥱 — вы о чем вообще?
💯 — свой вариант (напишу в комментариях)
💡 Другими словами, work-life balance позволяет успешно совмещать работу, отдых, семью, хобби, здоровье и другие важные аспекты нашей жизни.
💬 А вам удается его соблюдать?
👍 — да, только на этом и держусь
🤔 — нет, обычно работа в приоритете
🥱 — вы о чем вообще?
💯 — свой вариант (напишу в комментариях)
🥱73🤔45👍41
👨💻 Ключевые изменения в документации .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
#чтопроисходит
📌 Новые статьи:
🔹 Дублирование вывода для -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
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3🤔1
⚡️Proglib запускает каналы про нейросети
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
❤5👍3🔥3😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
😎 Покупайте сейчас — учитесь, когда удобно!
До 1 апреля мы снизили цены на все наши курсы, чтобы вы могли сформировать свой карьерный трек и например подготовится и поступить в ШАД.
👀 Советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science
– Алгоритмы и структуры данных
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
📚А если вы не уверенны, подойдет ли вам курс, то вы можете оставить заявку на вводные занятия. И наш менеджер пришлет вам всю необходимую информацию, где вы познакомитесь с преподавателями и форматом обучения — https://proglib.io/w/47905349
До 1 апреля мы снизили цены на все наши курсы, чтобы вы могли сформировать свой карьерный трек и например подготовится и поступить в ШАД.
👀 Советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science
– Алгоритмы и структуры данных
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
📚А если вы не уверенны, подойдет ли вам курс, то вы можете оставить заявку на вводные занятия. И наш менеджер пришлет вам всю необходимую информацию, где вы познакомитесь с преподавателями и форматом обучения — https://proglib.io/w/47905349
👍2🥱2❤1
💡Поиск медленных запросов в Entity Framework: на заметку C#-разработчику
#csharp #dotnet #tip by Dave Callan
#csharp #dotnet #tip by Dave Callan
👍84⚡11🔥7
Накрутить опыт в резюме — это ок? Как относитесь?
Anonymous Poll
28%
Не вижу ничего плохого. Хочешь жить — умей вертеться
16%
Нейтрально
21%
Негативно
19%
А смысл? Хорошего спеца и без большого опыта возьмут
0%
Свой вариант (напишу в комментариях)
15%
Посмотреть результаты
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🧑💻 Путь разработчика: один язык на всю жизнь или постоянное переобучение?
Мир IT постоянно развивается, и то, что было актуально вчера, сегодня может оказаться устаревшим. Мы хотим узнать, как часто разработчики меняют сферу деятельности и направление разработки в погоне за новыми знаниями и возможностями.
👉 Поделитесь своим мнением и опытом. Ваши ответы помогут нам лучше понять тенденции и предпочтения в сообществе разработчиков
Опрос займёт у вас примерно 4 минуты.
Мир IT постоянно развивается, и то, что было актуально вчера, сегодня может оказаться устаревшим. Мы хотим узнать, как часто разработчики меняют сферу деятельности и направление разработки в погоне за новыми знаниями и возможностями.
👉 Поделитесь своим мнением и опытом. Ваши ответы помогут нам лучше понять тенденции и предпочтения в сообществе разработчиков
Опрос займёт у вас примерно 4 минуты.
👍5😁3
💽 Исследование отказоустойчивости приложений: глубокое погружение в процесс работы с файлами
Статья, в которой проводится всесторонний анализ процесса записи данных на диск, начиная от уровня приложения и заканчивая физическим диском. Особое внимание уделяется буферизации — ключевому элементу, влияющему на производительность и надежность записи данных.
Автор поделился результатами бенчмарков, сравнивая производительность буферизированной и небуферизированной записи, и обсуждая методы управления буферизацией в различных ЯП (включая C#) и ОС.
👉 Читать
Статья, в которой проводится всесторонний анализ процесса записи данных на диск, начиная от уровня приложения и заканчивая физическим диском. Особое внимание уделяется буферизации — ключевому элементу, влияющему на производительность и надежность записи данных.
Автор поделился результатами бенчмарков, сравнивая производительность буферизированной и небуферизированной записи, и обсуждая методы управления буферизацией в различных ЯП (включая C#) и ОС.
👉 Читать
❤5👏3🤔3❤🔥1
🤖 Саммаризация текста
🤖 Разработка чат-бота
🤖 Получение аналитических сведений из чат-бота
🤖 Выполнение локальной функции .NET
🤖 Генерация изображений
🔸 Начало работы с OpenAI в .NET
🔸 Начало работы с OpenAI completions с помощью .NET
🔸 Повысьте качество работы GPT с помощью промпт-инжиниринга
🔸 Начало работы с ChatGPT в .NET
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥6
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
⛓️🗄️ Соединения в SQL. Часть 2. Сложные типы соединений
В первой части статьи мы узнали, что такое соединения и рассмотрели простые типы соединений: внутреннее, правое и левое. В заключение рассмотрим более сложные варианты, которые позволяют получать выборки для более интересных случаев
👉 Ссылка на статью
В первой части статьи мы узнали, что такое соединения и рассмотрели простые типы соединений: внутреннее, правое и левое. В заключение рассмотрим более сложные варианты, которые позволяют получать выборки для более интересных случаев
👉 Ссылка на статью
👍8🥱5❤3
Андрей Степанов, CTO в fuse8, рассказывает о бенчмаркинге кода (что это такое и для чего нужно) и показывает, как на основе результатов бенчмаркинга оценить производительность кода в C#-проекте.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
👍 Ваш ультимативный набор шпаргалок для разработки на 2024 год
Эти шпаргалки сэкономят вам часы бесконечного гугления и упростят процесс кодинга.
🔗 Читать статью
🔗 Зеркало
Эти шпаргалки сэкономят вам часы бесконечного гугления и упростят процесс кодинга.
🔗 Читать статью
🔗 Зеркало
🔥17👍3❤1🤔1