Как протестировать код с внешними зависимостями?
В статье рассмотрена проблема тестирования кода, зависящего от внешних ресурсов, таких как Apache Ignite. Автор объясняет, как можно использовать инструменты xUnit, AutoFixture и Moq для написания эффективных юнит-тестов. Подход можно применять и к другим системам.
Читать подробнее: https://habr.com/ru/companies/t2/articles/894502/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассмотрена проблема тестирования кода, зависящего от внешних ресурсов, таких как Apache Ignite. Автор объясняет, как можно использовать инструменты xUnit, AutoFixture и Moq для написания эффективных юнит-тестов. Подход можно применять и к другим системам.
Читать подробнее: https://habr.com/ru/companies/t2/articles/894502/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Тестирование UI в облаке: интеграция BrowserStack и Appium для .NET MAUI
В блоге обсуждается, как использовать BrowserStack App Automate для запуска тестов интерфейса Appium на реальных устройствах в облаке. Подробно описан процесс настройки, включая создание учетных данных и конфигурационных файлов, чтобы интегрировать тесты в CI/CD процессы.
Подробности: https://devblogs.microsoft.com/dotnet/browserstack-appium-dotnet-maui/
#en
@dot_net_c_sharp | Другие наши каналы
В блоге обсуждается, как использовать BrowserStack App Automate для запуска тестов интерфейса Appium на реальных устройствах в облаке. Подробно описан процесс настройки, включая создание учетных данных и конфигурационных файлов, чтобы интегрировать тесты в CI/CD процессы.
Подробности: https://devblogs.microsoft.com/dotnet/browserstack-appium-dotnet-maui/
#en
@dot_net_c_sharp | Другие наши каналы
❤2
Интеграция виджета CDEK на .NET: пошаговое руководство
В статье рассматривается перенос CDEK виджета с PHP на .NET, сохраняя неизменный фронтенд. Проблемы возникают с бэкендом, так как виджет изначально настроен на PHP. Решение включает создание промежуточного слоя для имитации service.php. Это позволяет избежать установки PHP на сервер с .NET. Подробнее в статье. Простое решение для интеграции с CDEK
Разработан виджет, обеспечивающий интеграцию с API CDEK без проблем с CORS. В оригинальный код добавлена поддержка постраничной навигации и кастомные заголовки. Демо-приложение на .NET8 доступно на GitHub. Для запуска требуются ключи CDEK и Яндекс Карт.
Читать подробнее: https://habr.com/ru/articles/894802/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассматривается перенос CDEK виджета с PHP на .NET, сохраняя неизменный фронтенд. Проблемы возникают с бэкендом, так как виджет изначально настроен на PHP. Решение включает создание промежуточного слоя для имитации service.php. Это позволяет избежать установки PHP на сервер с .NET. Подробнее в статье. Простое решение для интеграции с CDEK
Разработан виджет, обеспечивающий интеграцию с API CDEK без проблем с CORS. В оригинальный код добавлена поддержка постраничной навигации и кастомные заголовки. Демо-приложение на .NET8 доступно на GitHub. Для запуска требуются ключи CDEK и Яндекс Карт.
Читать подробнее: https://habr.com/ru/articles/894802/
#ru
@dot_net_c_sharp | Другие наши каналы
🚀 Впечатляющий скачок скорости EMX Controls
Новая версия библиотеки EMX Controls ускоряет работу с бизнес-приложениями почти в 3 раза. Контролы DataGrid и TreeList теперь отрисовываются значительно быстрее, обновления эффективно решают проблемы с медленной отрисовкой. Оцените акцент на оптимизацию на выставке ЭкспоЭлектроника 2025!
Читать подробнее: https://habr.com/ru/articles/895016/
#ru
@dot_net_c_sharp | Другие наши каналы
Новая версия библиотеки EMX Controls ускоряет работу с бизнес-приложениями почти в 3 раза. Контролы DataGrid и TreeList теперь отрисовываются значительно быстрее, обновления эффективно решают проблемы с медленной отрисовкой. Оцените акцент на оптимизацию на выставке ЭкспоЭлектроника 2025!
Читать подробнее: https://habr.com/ru/articles/895016/
#ru
@dot_net_c_sharp | Другие наши каналы
«Тёмные трюки C#: неожиданные открытия»
Иногда строгость C# превращается в игру с огнем, как показано в статье. Узнайте о странностях, таких как изменяемые константы и "костыли" для async операций. Хотите разобраться в нестандартных приемах и их влиянии на безопасность? Читайте полную версию в блоге.
Читать подробнее: https://habr.com/ru/articles/895588/
#ru
@dot_net_c_sharp | Другие наши каналы
Иногда строгость C# превращается в игру с огнем, как показано в статье. Узнайте о странностях, таких как изменяемые константы и "костыли" для async операций. Хотите разобраться в нестандартных приемах и их влиянии на безопасность? Читайте полную версию в блоге.
Читать подробнее: https://habr.com/ru/articles/895588/
#ru
@dot_net_c_sharp | Другие наши каналы
🔥5
🔍 Новый подход к фоновым задачам в ASP.NET Core
Артур Богданов делится разработкой системы для фоновой обработки данных в веб-приложениях. Используя шаблон PubSub, она улучшает скорость и снижает ресурсоемкость за счет эффективной консолидации и дедупликации событий. Эта универсальная система уже применялась для масштабирования WebSocket'ов. DeferredTaskManager: Управление Задачами Эффективно
Исследуйте DeferredTaskManager — инструмент для управления событиями, который позволяет оптимизировать задачи благодаря гибкой настройке пула и коллекций, а также опциям для задержки отправки и обработки ошибок. Исходники и тесты доступны на GitHub, а пакет в NuGet — для интеграции в проекты.
Читать подробнее: https://habr.com/ru/articles/896088/
#ru
@dot_net_c_sharp | Другие наши каналы
Артур Богданов делится разработкой системы для фоновой обработки данных в веб-приложениях. Используя шаблон PubSub, она улучшает скорость и снижает ресурсоемкость за счет эффективной консолидации и дедупликации событий. Эта универсальная система уже применялась для масштабирования WebSocket'ов. DeferredTaskManager: Управление Задачами Эффективно
Исследуйте DeferredTaskManager — инструмент для управления событиями, который позволяет оптимизировать задачи благодаря гибкой настройке пула и коллекций, а также опциям для задержки отправки и обработки ошибок. Исходники и тесты доступны на GitHub, а пакет в NuGet — для интеграции в проекты.
Читать подробнее: https://habr.com/ru/articles/896088/
#ru
@dot_net_c_sharp | Другие наши каналы
❤2
🔍 Создание Word-документов с Spire.Doc
Создавайте и редактируйте Word-документы бесплатно с помощью Spire.Doc for .NET! Этот API позволяет добавлять текст, изображения, списки и таблицы, и не требует установки MS Office. В статье рассказывается, как автоматизировать создание документа с полным форматированием.
Читать подробнее: https://habr.com/ru/articles/896414/
#ru
@dot_net_c_sharp | Другие наши каналы
Создавайте и редактируйте Word-документы бесплатно с помощью Spire.Doc for .NET! Этот API позволяет добавлять текст, изображения, списки и таблицы, и не требует установки MS Office. В статье рассказывается, как автоматизировать создание документа с полным форматированием.
Читать подробнее: https://habr.com/ru/articles/896414/
#ru
@dot_net_c_sharp | Другие наши каналы
Многопоточность в .NET: Управление потоками на C#
В статье Дмитрия Бахтенкова рассматриваются основные возможности работы с потоками в .NET на языке C#. Обсуждается создание и управление потоками с помощью класса Thread, особенности использования методов Join и Sleep, а также статусная модель потоков. Узнайте, как эффективно использовать ресурсы процессора!
Читать подробнее: https://habr.com/ru/companies/beeline_cloud/articles/896412/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье Дмитрия Бахтенкова рассматриваются основные возможности работы с потоками в .NET на языке C#. Обсуждается создание и управление потоками с помощью класса Thread, особенности использования методов Join и Sleep, а также статусная модель потоков. Узнайте, как эффективно использовать ресурсы процессора!
Читать подробнее: https://habr.com/ru/companies/beeline_cloud/articles/896412/
#ru
@dot_net_c_sharp | Другие наши каналы
🔍 Аттестация SBOM в GitHub Actions: Укрепляем безопасность
Статья раскрывает, как с помощью GitHub Actions создавать аттестации для SBOM-документов и пакетов NuGet. Это укрепляет защиту цепочки поставок ПО, гарантируя подлинность компонентов и снижая риски безопасности. Узнайте больше о передовых практиках!
Подробности: https://andrewlock.net/creating-sbom-attestations-in-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
Статья раскрывает, как с помощью GitHub Actions создавать аттестации для SBOM-документов и пакетов NuGet. Это укрепляет защиту цепочки поставок ПО, гарантируя подлинность компонентов и снижая риски безопасности. Узнайте больше о передовых практиках!
Подробности: https://andrewlock.net/creating-sbom-attestations-in-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
👍1
Как создать мощную 500-ваттную подсветку для ТВ
Автор делится опытом постройки кастомной подсветки мощностью 500 ватт для трех телевизоров. Узнайте, какие технические и программные задачи пришлось решать, чтобы эта амбициозная идея воплотилась в жизнь.
Читать подробнее: https://habr.com/ru/articles/895340/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор делится опытом постройки кастомной подсветки мощностью 500 ватт для трех телевизоров. Узнайте, какие технические и программные задачи пришлось решать, чтобы эта амбициозная идея воплотилась в жизнь.
Читать подробнее: https://habr.com/ru/articles/895340/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2🔥2💊1
Если бы я хотел стать разработчиком на Rust в 2025, с чего бы я начал?
Вместе с экспертами Solvery разбираемся, что нужно учить, чтобы стать прогером на Rust сейчас.
Читать: «Если бы я хотел стать разработчиком на Rust в 2025, с чего бы я начал?»
#ru
@dot_net_c_sharp | Другие наши каналы
Вместе с экспертами Solvery разбираемся, что нужно учить, чтобы стать прогером на Rust сейчас.
Читать: «Если бы я хотел стать разработчиком на Rust в 2025, с чего бы я начал?»
#ru
@dot_net_c_sharp | Другие наши каналы
🚀 Новый стандарт для общения AI-приложений
В мире AI важна эффективная коммуникация между моделями и приложениями. Протокол Model Context Protocol (MCP) стандартизирует этот процесс. Недавно вышел MCP C# SDK, упрощающий разработку серверов и клиентов.
Подробности: https://devblogs.microsoft.com/dotnet/build-a-model-context-protocol-mcp-server-in-csharp/
#en
@dot_net_c_sharp | Другие наши каналы
В мире AI важна эффективная коммуникация между моделями и приложениями. Протокол Model Context Protocol (MCP) стандартизирует этот процесс. Недавно вышел MCP C# SDK, упрощающий разработку серверов и клиентов.
Подробности: https://devblogs.microsoft.com/dotnet/build-a-model-context-protocol-mcp-server-in-csharp/
#en
@dot_net_c_sharp | Другие наши каналы
👍1
🔍 Улучшаем английский с ботом!
Ищете проект для старта в программировании? Создайте Telegram-бота, который помогает улучшить английский с помощью GPT-4. Бот исправляет ошибки, улучшает стиль и объясняет изменения. Построен на .NET, Telegram Bot SDK и OpenAI API. Подходит для начинающих! Подробности: https://news.1rj.ru/str/kakikatabot
Читать подробнее: https://habr.com/ru/articles/898500/
#ru
@dot_net_c_sharp | Другие наши каналы
Ищете проект для старта в программировании? Создайте Telegram-бота, который помогает улучшить английский с помощью GPT-4. Бот исправляет ошибки, улучшает стиль и объясняет изменения. Построен на .NET, Telegram Bot SDK и OpenAI API. Подходит для начинающих! Подробности: https://news.1rj.ru/str/kakikatabot
Читать подробнее: https://habr.com/ru/articles/898500/
#ru
@dot_net_c_sharp | Другие наши каналы
Упрощаем жизнь с git range-diff
Разбор возможностей git range-diff, начиная с версии 2.19. Эта функция помогает сравнивать последовательности коммитов, выявляя изменения после сложного rebase. Это полезно для отслеживания перестановок и изменений, особенно при возникновении конфликтов слияния. Разбираем git range-diff: что это и как работает
Пост: Статья рассматривает работу с инструментом git range-diff, который помогает сравнивать изменения при перебазировании веток в Git. Автор объясняет, как правильно интерпретировать результаты, и показывает, как —creation-factor может повлиять на вывод. Изучение этой функции может потребовать практики.
Подробности: https://andrewlock.net/verifiying-tricky-git-rebases-with-range-diffs/
#en
@dot_net_c_sharp | Другие наши каналы
Разбор возможностей git range-diff, начиная с версии 2.19. Эта функция помогает сравнивать последовательности коммитов, выявляя изменения после сложного rebase. Это полезно для отслеживания перестановок и изменений, особенно при возникновении конфликтов слияния. Разбираем git range-diff: что это и как работает
Пост: Статья рассматривает работу с инструментом git range-diff, который помогает сравнивать изменения при перебазировании веток в Git. Автор объясняет, как правильно интерпретировать результаты, и показывает, как —creation-factor может повлиять на вывод. Изучение этой функции может потребовать практики.
Подробности: https://andrewlock.net/verifiying-tricky-git-rebases-with-range-diffs/
#en
@dot_net_c_sharp | Другие наши каналы
❤2👍2
Молниеносный NuGet: Новый подход к восстановлению
Инженеры Microsoft переписали алгоритм NuGet Restore, что сократило время восстановления зависимостей с 32 до 2 минут. Этот шаг значительно повысил производительность и масштабируемость процессов, обещая новый уровень для разработчиков. Узнайте больше о деталях оптимизации.
Подробности: https://devblogs.microsoft.com/dotnet/rewriting-nuget-restore-in-dotnet-9/
#en
@dot_net_c_sharp | Другие наши каналы
Инженеры Microsoft переписали алгоритм NuGet Restore, что сократило время восстановления зависимостей с 32 до 2 минут. Этот шаг значительно повысил производительность и масштабируемость процессов, обещая новый уровень для разработчиков. Узнайте больше о деталях оптимизации.
Подробности: https://devblogs.microsoft.com/dotnet/rewriting-nuget-restore-in-dotnet-9/
#en
@dot_net_c_sharp | Другие наши каналы
🔥1
Апрельские обновления .NET 2025
Вышли апрельские обновления .NET и .NET Framework! Важно: устранены уязвимости безопасности, включая Denial of Service. Обновлены ASP.NET Core, Entity Framework Core и другие компоненты. Не забудьте установить последние версии для повышения безопасности и производительности.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-april-2025-servicing-updates/
#en
@dot_net_c_sharp | Другие наши каналы
Вышли апрельские обновления .NET и .NET Framework! Важно: устранены уязвимости безопасности, включая Denial of Service. Обновлены ASP.NET Core, Entity Framework Core и другие компоненты. Не забудьте установить последние версии для повышения безопасности и производительности.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-april-2025-servicing-updates/
#en
@dot_net_c_sharp | Другие наши каналы
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
.NET Aspire 9.2: Новые возможности для разработчиков
Вышла свежая версия .NET Aspire 9.2 с рядом улучшений! Новое в этой версии: интеграция издателей для упрощения развертывания приложений, а также обновления в дашборде. Обратите внимание на изменения для Azure SQL Server и PostgreSQL. Узнайте больше на Release Party 10 апреля.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-aspire-92-is-now-available-with-new-ways-to-deploy/
#en
@dot_net_c_sharp | Другие наши каналы
Вышла свежая версия .NET Aspire 9.2 с рядом улучшений! Новое в этой версии: интеграция издателей для упрощения развертывания приложений, а также обновления в дашборде. Обратите внимание на изменения для Azure SQL Server и PostgreSQL. Узнайте больше на Release Party 10 апреля.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-aspire-92-is-now-available-with-new-ways-to-deploy/
#en
@dot_net_c_sharp | Другие наши каналы
⚡3
.NET 10 Preview 3: что нового?
Вышел третий превью-релиз .NET 10 с улучшениями в .NET Runtime, SDK, C#, ASP.NET Core, Blazor, .NET MAUI и других. Новинки включают поддержку AOT, улучшение телеметрии, расширение возможностей ML.NET, и улучшения UI-фреймворков. Начинайте тестировать уже сегодня! Полный список изменений на GitHub.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-10-preview-3/
#en
@dot_net_c_sharp | Другие наши каналы
Вышел третий превью-релиз .NET 10 с улучшениями в .NET Runtime, SDK, C#, ASP.NET Core, Blazor, .NET MAUI и других. Новинки включают поддержку AOT, улучшение телеметрии, расширение возможностей ML.NET, и улучшения UI-фреймворков. Начинайте тестировать уже сегодня! Полный список изменений на GitHub.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-10-preview-3/
#en
@dot_net_c_sharp | Другие наши каналы
👍1
Путь к DamnScript на C#
В статье обсуждается создание языка DamnScript на C#, вдохновленного необходимостью в удобных инструментах для разработки игр. Автор делится опытом улучшения производительности кода, включая использование ANTLR и кэширования, а также небезопасных операций в C#.
Читать подробнее: https://habr.com/ru/articles/899686/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсуждается создание языка DamnScript на C#, вдохновленного необходимостью в удобных инструментах для разработки игр. Автор делится опытом улучшения производительности кода, включая использование ANTLR и кэширования, а также небезопасных операций в C#.
Читать подробнее: https://habr.com/ru/articles/899686/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Forwarded from Типичный программист
Шпаргалка по Git + полезные ресурсы
Git — это распределённая система управления версиями. Она позволяет отслеживать изменения, откатывать проект, сливать ветки и в целом держать код под контролем.
Если вы хотите изучить Git с нуля или подтянуть навыки — вот подборка полезностей:
— Гид по Git с нуля: tproger.ru/curriculum/git-guide
— Введение и основные команды: tproger.ru/translations/beginner-git-cheatsheet
— 9 команд GIT, о которых нужно знать: https://news.1rj.ru/str/tproger/12958
— Интерактивное обучение ветвлению: learngitbranching.js.org
— Обучающая игра Oh My Git!: ohmygit.org
Копируем, сохраняем, применяем.
Git — это распределённая система управления версиями. Она позволяет отслеживать изменения, откатывать проект, сливать ветки и в целом держать код под контролем.
Если вы хотите изучить Git с нуля или подтянуть навыки — вот подборка полезностей:
— Гид по Git с нуля: tproger.ru/curriculum/git-guide
— Введение и основные команды: tproger.ru/translations/beginner-git-cheatsheet
— 9 команд GIT, о которых нужно знать: https://news.1rj.ru/str/tproger/12958
— Интерактивное обучение ветвлению: learngitbranching.js.org
— Обучающая игра Oh My Git!: ohmygit.org
Копируем, сохраняем, применяем.
Монолитный подход возвращается: модульная архитектура
Возврат к модульным монолитам помогает упростить код и снизить затраты, сочетая преимущества микросервисов и монолитной архитектуры. Меньше инфраструктуры — меньше проблем. Узнайте, как этот подход делает разработку проще и эффективнее.
Читать подробнее: https://habr.com/ru/articles/900628/
#ru
@dot_net_c_sharp | Другие наши каналы
Возврат к модульным монолитам помогает упростить код и снизить затраты, сочетая преимущества микросервисов и монолитной архитектуры. Меньше инфраструктуры — меньше проблем. Узнайте, как этот подход делает разработку проще и эффективнее.
Читать подробнее: https://habr.com/ru/articles/900628/
#ru
@dot_net_c_sharp | Другие наши каналы