en
Feedback
Волны ИИ

Волны ИИ

Open in Telegram

Творчество искусственного интеллекта.

Show more
6 696
Subscribers
No data24 hours
-137 days
-4330 days
Posts Archive
🎯 Полный гайд по тестированию с NUnit в C# 13 и .NET 9 Статья на C# Corner предлагает всестороннее руководство по NUnit для
🎯 Полный гайд по тестированию с NUnit в C# 13 и .NET 9 Статья на C# Corner предлагает всестороннее руководство по NUnit для новых версий C# и .NET. Что вы найдёте в статье?Работа с NUnit: принципы AAA (Arrange-Act-Assert), фикстуры, параметризация тестов, использование атрибутов, таких как [Test], [SetUp], [TearDown]. ✅ Интеграция с CI/CD: автоматизация тестирования через Azure Pipelines, GitHub Actions и другие платформы. ✅ Мокинг и изоляция: использование библиотек, таких как Moq, для упрощения тестов, работающих с внешними зависимостями. ✅ Инструменты анализа: примеры настройки покрытия кода и интеграция с такими инструментами, как Coverlet или ReportGenerator. 📎 Читать материал

💡 Многопоточность в C#: освежаем основы и работаем быстрее Когда последний раз писали код с потоками? Если навыки чуть «зарж
💡 Многопоточность в C#: освежаем основы и работаем быстрее Когда последний раз писали код с потоками? Если навыки чуть «заржавели», самое время вспомнить базу: 1️⃣ Thread vs Task: Task проще и удобнее для асинхронных задач, но иногда прямое управление потоками через Thread всё ещё необходимо. Помните про правильное завершение работы потоков! 2️⃣ Синхронизация: чтобы избежать гонки данных, используйте lock, Monitor или более сложные механизмы вроде Mutex. А потокобезопасные коллекции из System.Collections.Concurrent помогут сократить бойлерплейт. 3️⃣ UI и фоновые задачи: асинхронные операции — спасение для UI-приложений. Вместо блокировки используйте Task.Run и async/await, чтобы пользовательский интерфейс оставался отзывчивым. 4️⃣ Тюнинг производительности: профилируйте код! Отследите использование пула потоков и минимизируйте затраты на блокировки. Чтобы подробнее вспомнить детали и углубиться в нюансы, советуем заглянуть в эту статью. Там разбираются полезные примеры и даются советы по улучшен...

💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе В распределённых системах согласованность данны
💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе В распределённых системах согласованность данных часто становится настоящим вызовом. Особенно это касается сценариев, где требуется выполнить несколько операций в разных системах одновременно. Как избежать проблем двойной записи? Современные подходы, такие как захват изменений данных (CDC) и паттерн Outbox, предлагают интересные решения. Эти методики позволяют поддерживать целостность данных, избегать сбоев и минимизировать риски. Хотите узнать, как внедрить такие подходы и выбрать оптимальный для своей системы? Загляните в захватывающее руководство, чтобы разобраться в тонкостях. 🔗 Читать статью 🔗 Зеркало

✨ Новые возможности для Windows Forms: асинхронные API в .NET 9 Windows Forms получил обновления с поддержкой асинхронных API
Новые возможности для Windows Forms: асинхронные API в .NET 9 Windows Forms получил обновления с поддержкой асинхронных API! В статье из блога разработчиков рассказано о новом подходе к асинхронным операциям в .NET 9 — работающие с долгими операциями методы, теперь доступны с использованием async/await. Это значит, что разработчики смогут избежать блокировки интерфейса, обеспечивая большую отзывчивость приложений. Основные изменения включают улучшение взаимодействия с задачами и обновлённый подход к обработке долгих операций. Теперь создание современных и удобных приложений с Windows Forms станет проще! 📎 Подробнее в блоге разработчиков

🚀 Что такое AOT и почему это важно? Ahead-of-Time (AOT) компиляция в .NET — это способ превращения приложения в нативный исп
🚀 Что такое AOT и почему это важно? Ahead-of-Time (AOT) компиляция в .NET — это способ превращения приложения в нативный исполняемый файл, который не зависит от JIT (Just-In-Time) компиляции во время выполнения. Это улучшает производительность, уменьшает время запуска и делает приложения более компактными. Однако работа с AOT накладывает ограничения: многие библиотеки используют рефлексию, которая в AOT не работает без дополнительных настроек. 📘 YAML.Net и Native AOT YAML.Net — популярная библиотека для работы с YAML в .NET, но её стандартный подход к сериализации полагается на рефлексию. В статье Эндрю Лока описывается использование генератора исходного кода YAML.Net, который создаёт оптимизированный код, совместимый с AOT. Это упрощает настройку библиотек и помогает избежать проблем с рефлексией. Подробнее в статье

⚡️Самые полезные каналы по C# в одной папке В ней: канал для подготовки к собеседованиям интересные задачи основной канал (этот) книги по C# лучшие вакансии из сферы и наш чат, в котором можно общаться и задавать вопросы Добавляйте 👉 тык сюда

Delta Time — незаменимый инструмент в разработке игр на Unity. Он позволяет сделать игру независимой от частоты кадров, но ег
Delta Time — незаменимый инструмент в разработке игр на Unity. Он позволяет сделать игру независимой от частоты кадров, но его неправильное использование может сломать весь геймплей. Разберем, когда и как его применять. 👉 Статья

🛠 Централизованное управление пакетами в .NET В .NET есть возможность упростить управление зависимостями NuGet с помощью Cen
🛠 Централизованное управление пакетами в .NET В .NET есть возможность упростить управление зависимостями NuGet с помощью Central Package Management (CPM). Этот подход позволяет задавать версии пакетов в едином файле Directory.Packages.props, вместо того чтобы дублировать их в каждом проекте. Основные преимущества CPM: ✅ Централизованное управление версиями пакетов; ✅ Удобство обновления зависимостей; ✅ Снижение вероятности конфликтов. Эта тема раскрывается в одной из статей, где подробно рассказывается о внедрении CPM и его преимуществах. Особую ценность этот метод представляет для крупных решений с множеством проектов. Для использования CPM достаточно создать файл Directory.Packages.props в корне решения и указать в нем версии необходимых пакетов. Это заметно упрощает поддержку кода и ускоряет процессы разработки. 📎 Подробности можно найти в статье

🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect Метод git bisect — мощный инструмент для поиска изменения, вызвавшего
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect Метод git bisect — мощный инструмент для поиска изменения, вызвавшего баг в коде: с его помощью разработчику удалось быстро локализовать проблему, просмотрев всего 11 коммитов вместо изначальных 2088. Задача: найти конкретный коммит, который вызвал регрессионную ошибку в проекте. Исходные данные: ✔️ Ошибка была зарегистрирована 21 октября. Она находится в текущей версии на ветке main. ✔️ Ошибка отсутствует в более ранней версии, которая была выделена в отдельную ветку release-5.7.0. ✔️ Ветку release-5.7.0 создали 2 месяца назад, а с тех пор в ветке main было сделано много изменений — баг может находиться в любом из нескольких тысяч коммитов, которые невозможно быстро просмотреть. 🔗 Читать статью 🔗 Зеркало

🔍 Глубокое погружение в Transactional Outbox. Используем Wolverine При создании отказоустойчивых backend-систем часто исполь
🔍 Глубокое погружение в Transactional Outbox. Используем Wolverine При создании отказоустойчивых backend-систем часто используется паттерн Transactional Outbox, который гарантирует надежную отправку сообщений после успешной транзакции с базой данных. 🛠️ В .NET паттерн Transactional Outbox можно легко реализовать с помощью фреймворков, таких как Wolverine, который предоставляет интеграцию с популярными ORM, автоматическую обработку очередей сообщений и возможность настройки политик доставки. 🎯 В статье Джереми Д. Миллера рассматривается, как интегрировать паттерн Transactional Outbox с помощью Wolverine. Автор делится примерами использования в банковских транзакциях, контроллерах MVC и HTTP-эндпоинтах, объясняя, как избежать потерь сообщений и повысить надежность системы. 📎 Читать статью

Вторая часть рассказа про получение высшего образования в сфере разработки видеоигр. Еще больше подробностей о процессе обуче
Вторая часть рассказа про получение высшего образования в сфере разработки видеоигр. Еще больше подробностей о процессе обучения, разработке студенческих проектов, защите дипломных работ и ответе на главный вопрос: «А стоило ли оно того?» 👉 Статья

Тест: 🐍 Насколько ты продвинутый питонист? Устали от многословных конструкций .NET? Проверьте, насколько быстро вы сможете а
Тест: 🐍 Насколько ты продвинутый питонист? Устали от многословных конструкций .NET? Проверьте, насколько быстро вы сможете адаптироваться к питоновской магии кода. Тест — ваш шанс блеснуть универсальностью и гибкостью мышления. 📎 Пройти тест

🧩 Может ли строка в C# изменяться? В статье предлагается решить задачу, в которой нужно изменить строку «Merry Christmas» на
🧩 Может ли строка в C# изменяться? В статье предлагается решить задачу, в которой нужно изменить строку «Merry Christmas» на «Advent of C#». Это исследование неизменяемости строк в .NET с использованием небезопасного кода и манипуляций с памятью. Также рассматривается элегантное решение через MemoryMarshal. Задача демонстрирует, как работать с внутренними аспектами строк в C#. 📎 Читайте подробности

🔧 .NET MAUI — будущее кроссплатформенной разработки! .NET MAUI (Multi-platform App UI) — это мощный фреймворк для кроссплатф
🔧 .NET MAUI — будущее кроссплатформенной разработки! .NET MAUI (Multi-platform App UI) — это мощный фреймворк для кроссплатформенной разработки, представленный Microsoft как преемник Xamarin.Forms. Он позволяет создавать приложения для Android, iOS, macOS и Windows из единой кодовой базы, предлагая улучшенную производительность, оптимизированный рабочий процесс и расширенные возможности для работы с UI. Основные преимущества использования .NET MAUI включают:Единая кодовая база: все приложение пишется один раз и работает на разных платформах, что экономит время и ресурсы по сравнению с созданием отдельных кодов для каждой платформы​ ✅ Нативная производительность: .NET MAUI использует нативные элементы управления, что обеспечивает эффективность работы и бесшовный пользовательский опыт с уникальным интерфейсом для каждой платформы​ ✅ Повышенная производительность: такие функции, как Hot Reload, позволяют разработчикам видеть изменения в реальном времени, ускоряя процесс прототипирования и итераций​ ✅ Бог...

🚀 .NET 9 отказывается от встроенного Swagger С выходом .NET 9 Microsoft отказалась от интеграции Swagger в шаблоны Web API,
🚀 .NET 9 отказывается от встроенного Swagger С выходом .NET 9 Microsoft отказалась от интеграции Swagger в шаблоны Web API, что повлекло за собой значительные изменения в создании документации. Вместо Swagger теперь используется библиотека Microsoft.AspNetCore.OpenApi, которая поддерживает OpenAPI-спецификацию, но без встроенного визуального интерфейса. Это открывает новые возможности для кастомизации и гибкости, позволяя адаптировать решение под специфические нужды. Что делать, если нужен UI: 1️⃣ Добавить Swagger вручную; 2️⃣ Использовать NSwag или другие инструменты; 3️⃣ Создать кастомное решение для документации.

🔄 Как не превратить кодовую базу в легаси? Чтобы ваш проект оставался актуальным, нужно подходить к его развитию системно. В
🔄 Как не превратить кодовую базу в легаси? Чтобы ваш проект оставался актуальным, нужно подходить к его развитию системно. В статье и видео Грега Янковича подчеркиваются три ключевых подхода: 1️⃣ Выбор технологий. Используйте стабильные и проверенные библиотеки, фреймворки и платформы. Это снижает вероятность больших изменений в будущем. 2️⃣ Работа с зависимостями. Локализуйте их влияние на проект через абстракции и тщательно управляйте их обновлениями. 3️⃣ Постепенные улучшения. Регулярно обновляйте код, делая небольшие улучшения — это легче, чем глобальная переработка. 📺 Видео 📄 Статья

💡 Автоматизируем обновление .NET SDK с Dependabot Теперь обновлять .NET SDK стало проще: Microsoft объясняет, как настроить
💡 Автоматизируем обновление .NET SDK с Dependabot Теперь обновлять .NET SDK стало проще: Microsoft объясняет, как настроить Dependabot для работы с файлом global.json. Эта интеграция помогает поддерживать проекты актуальными, повышает их безопасность и снижает технический долг. Вы сами определяете частоту проверок, выбираете, какие версии обновлять (включая preview), и автоматизируете управление зависимостями NuGet. Это удобный инструмент для разработчиков, которым важна стабильность и простота. 📎 Читайте подробности в блоге .Net

Форматирование строк в C#: как сделать красиво Работаете с выводом данных в C#? Хотите, чтобы ваши строки и логи выглядели ак
Форматирование строк в C#: как сделать красиво Работаете с выводом данных в C#? Хотите, чтобы ваши строки и логи выглядели аккуратно и профессионально? Тогда вам сто́ит изучить возможности форматирования! Зачем это нужно: ✅ Вывод чисел с нужной точностью; ✅ Форматирование дат; ✅ Локализация валют и чисел для разных стран; ✅ Более удобный способ работы со строками благодаря интерполяции. 📎 Если вам это интересно, загляните в полезный гайд. Там подробно рассказывается, как использовать string.Format, интерполяцию и даже управлять региональными настройками.

Привет, друзья! 👋 2024-й год подходит к концу, и мы хотим узнать, какие технологии или инструменты в C# помогли вам добиться
Привет, друзья! 👋 2024-й год подходит к концу, и мы хотим узнать, какие технологии или инструменты в C# помогли вам добиться успеха в этом году. Какой навык стал для вас ключевым? А какой проект или достижение вы считаете главным успехом? Мы готовим статью об IT-итогах 2024 году и хотим услышать ваше мнение! 💻 Поделитесь своим мнением, и самое важное и интересное войдет в нашу статью. 🏆

Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подроб
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов. 👉 Статья