Расширьте Paint.NET: делаем плагин
Хотите улучшить возможности Paint.NET? Узнайте, как создать плагин с эффектом монохромного дизеринга с помощью CodeLab и C#. Статья подробно рассказывает о создании и настройке эффектов, таких как гамма и контраст, для улучшения качества изображений в реальном времени. Попробуйте сами!
Читать подробнее: https://habr.com/ru/articles/863236/
#ru
@dot_net_c_sharp | Другие наши каналы
Хотите улучшить возможности Paint.NET? Узнайте, как создать плагин с эффектом монохромного дизеринга с помощью CodeLab и C#. Статья подробно рассказывает о создании и настройке эффектов, таких как гамма и контраст, для улучшения качества изображений в реальном времени. Попробуйте сами!
Читать подробнее: https://habr.com/ru/articles/863236/
#ru
@dot_net_c_sharp | Другие наши каналы
Проблемы с обновлением EFC в Контур.Кафе
Контур.Кафе обновили Entity Framework Core с версии 2 до 8 и столкнулись с серьёзными проблемами. Ошибки в навигационных свойствах привели к потере данных, затруднив заказ обедов. Узнайте, какие решения предложены для устранения этих проблем.
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/861812/
#ru
@dot_net_c_sharp | Другие наши каналы
Контур.Кафе обновили Entity Framework Core с версии 2 до 8 и столкнулись с серьёзными проблемами. Ошибки в навигационных свойствах привели к потере данных, затруднив заказ обедов. Узнайте, какие решения предложены для устранения этих проблем.
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/861812/
#ru
@dot_net_c_sharp | Другие наши каналы
Защита ресурсов с использованием Cross-Origin-Embedder-Policy
Кросс-оригинальный заголовок встраивания (COEP) помогает защитить ваши ресурсы, разрешая загрузку только тех, которые явно согласились на это. Это повышает безопасность, предотвращая утечки данных через атаки XSS или side-channel. COEP дополняет CORP и CORS, обеспечивая изоляцию и безопасность. Безопасный запуск COEP: что нужно знать
Поддержка заголовка Cross-Origin-Embedder-Policy (COEP) может быть сложной задачей. Рекомендуется использовать Reporting API для обнаружения проблем и запускать заголовок в режиме "только отчёты". Это поможет выявить кросс-доменные ошибки до их реального применения.
Подробности: https://andrewlock.net/understanding-security-headers-part-3-cross-origin-embedder-policy/
#en
@dot_net_c_sharp | Другие наши каналы
Кросс-оригинальный заголовок встраивания (COEP) помогает защитить ваши ресурсы, разрешая загрузку только тех, которые явно согласились на это. Это повышает безопасность, предотвращая утечки данных через атаки XSS или side-channel. COEP дополняет CORP и CORS, обеспечивая изоляцию и безопасность. Безопасный запуск COEP: что нужно знать
Поддержка заголовка Cross-Origin-Embedder-Policy (COEP) может быть сложной задачей. Рекомендуется использовать Reporting API для обнаружения проблем и запускать заголовок в режиме "только отчёты". Это поможет выявить кросс-доменные ошибки до их реального применения.
Подробности: https://andrewlock.net/understanding-security-headers-part-3-cross-origin-embedder-policy/
#en
@dot_net_c_sharp | Другие наши каналы
Как открыть расчетный счет в Казахстане для нерезидентов
Для IT-компаний на Кипре, желающих переводить средства в Россию и Беларусь, Казахстан может быть выходом. Однако, банки требуют арендовать офис и предоставить переведенные документы. Узнайте, как избежать подводных камней и об особенностях работы с казахстанскими банками. Открытие расчетного счета в Казахстане: личный опыт
Процесс открытия счета в казахстанском банке занял два дня и включал в себя получение ИНН, анкетирование и собеседование с комплаенсом. После 5-10 дней ожидания счет был успешно открыт.
Подробности юридического сопровождения от московского консультанта в Астане.
Читать подробнее: https://habr.com/ru/articles/863448/
#ru
@dot_net_c_sharp | Другие наши каналы
Для IT-компаний на Кипре, желающих переводить средства в Россию и Беларусь, Казахстан может быть выходом. Однако, банки требуют арендовать офис и предоставить переведенные документы. Узнайте, как избежать подводных камней и об особенностях работы с казахстанскими банками. Открытие расчетного счета в Казахстане: личный опыт
Процесс открытия счета в казахстанском банке занял два дня и включал в себя получение ИНН, анкетирование и собеседование с комплаенсом. После 5-10 дней ожидания счет был успешно открыт.
Подробности юридического сопровождения от московского консультанта в Астане.
Читать подробнее: https://habr.com/ru/articles/863448/
#ru
@dot_net_c_sharp | Другие наши каналы
Эффективное тестирование ASP.NET без деплоя
Статья раскрывает, как быстро и без деплоя тестировать ASP.NET приложения с использованием TestServer и WebApplicationFactory. Эти инструменты позволяют запускать интеграционные тесты прямо в IDE, что особенно полезно для разработчиков, работающих с микросервисами. Узнайте больше о подходах к оптимизации!
Читать подробнее: https://habr.com/ru/companies/kaspersky/articles/859718/
#ru
@dot_net_c_sharp | Другие наши каналы
Статья раскрывает, как быстро и без деплоя тестировать ASP.NET приложения с использованием TestServer и WebApplicationFactory. Эти инструменты позволяют запускать интеграционные тесты прямо в IDE, что особенно полезно для разработчиков, работающих с микросервисами. Узнайте больше о подходах к оптимизации!
Читать подробнее: https://habr.com/ru/companies/kaspersky/articles/859718/
#ru
@dot_net_c_sharp | Другие наши каналы
Служба Windows и Телеграм-бот на .NET Core
Как перейти на .NET Core для создания Windows-службы, поддерживающей Телеграм-бота? В статье описан процесс настройки и регистрации службы с помощью Microsoft.Extensions.Hosting.WindowsServices, интеграция Телебота и настройка логирования с помощью amLogger.dll. Подробности и код доступны в статье.
Читать подробнее: https://habr.com/ru/articles/863770/
#ru
@dot_net_c_sharp | Другие наши каналы
Как перейти на .NET Core для создания Windows-службы, поддерживающей Телеграм-бота? В статье описан процесс настройки и регистрации службы с помощью Microsoft.Extensions.Hosting.WindowsServices, интеграция Телебота и настройка логирования с помощью amLogger.dll. Подробности и код доступны в статье.
Читать подробнее: https://habr.com/ru/articles/863770/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
Оценка алгоритмов с помощью нотации «О большое»
Нотация «О большое» помогает анализировать масштабируемость алгоритмов, от линейной до факториальной сложности. Изучите, как разные алгоритмы работают с данными, и откройте для себя эффективные подходы к структурам данных на .NET и их оптимальное использование.
Читать подробнее: https://habr.com/ru/articles/863950/
#ru
@dot_net_c_sharp | Другие наши каналы
Нотация «О большое» помогает анализировать масштабируемость алгоритмов, от линейной до факториальной сложности. Изучите, как разные алгоритмы работают с данными, и откройте для себя эффективные подходы к структурам данных на .NET и их оптимальное использование.
Читать подробнее: https://habr.com/ru/articles/863950/
#ru
@dot_net_c_sharp | Другие наши каналы
😁3
Легкие обновления .NET SDK с Dependabot
Поддержка актуальной версии .NET SDK важна для безопасности и эффективности приложений. Dependabot теперь упрощает процесс обновлений с использованием global.json, гарантируя своевременное применение патчей и улучшений. Узнайте, как настроить обновления и используйте все преимущества!
Подробности: https://devblogs.microsoft.com/dotnet/using-dependabot-to-manage-dotnet-sdk-updates/
#en
@dot_net_c_sharp | Другие наши каналы
Поддержка актуальной версии .NET SDK важна для безопасности и эффективности приложений. Dependabot теперь упрощает процесс обновлений с использованием global.json, гарантируя своевременное применение патчей и улучшений. Узнайте, как настроить обновления и используйте все преимущества!
Подробности: https://devblogs.microsoft.com/dotnet/using-dependabot-to-manage-dotnet-sdk-updates/
#en
@dot_net_c_sharp | Другие наши каналы
📝 Погружаемся в целочисленные типы C#: Byte и SByte
Исследуем 8-битные целочисленные типы в C#, их особенности и поведение. Byte принимает значения от 0 до 255 и полезен в обработке файлов и изображений. SByte охватывает диапазон от -128 до 127. Понимание этих структур помогает в эффективной разработке приложений.
Подробности: https://krystianzakrys.hashnode.dev/c-primitive-types-part-2-integral-numeric-types-byte-sbyte
#en
@dot_net_c_sharp | Другие наши каналы
Исследуем 8-битные целочисленные типы в C#, их особенности и поведение. Byte принимает значения от 0 до 255 и полезен в обработке файлов и изображений. SByte охватывает диапазон от -128 до 127. Понимание этих структур помогает в эффективной разработке приложений.
Подробности: https://krystianzakrys.hashnode.dev/c-primitive-types-part-2-integral-numeric-types-byte-sbyte
#en
@dot_net_c_sharp | Другие наши каналы
🥱4
🔍 Введение в gRPC на C# и ASP.NET Core
В статье рассматривается создание простого gRPC сервиса с использованием C# и ASP.NET Core. gRPC — это мощный фреймворк для удаленных вызовов, который идеально подходит для микросервисной архитектуры благодаря своей скорости и эффективности. Изучите, как gRPC может повысить производительность вашего приложения!
Подробности: https://devwithjosh.com/introduction-to-grpc-in-c-and-aspnet-core
#en
@dot_net_c_sharp | Другие наши каналы
В статье рассматривается создание простого gRPC сервиса с использованием C# и ASP.NET Core. gRPC — это мощный фреймворк для удаленных вызовов, который идеально подходит для микросервисной архитектуры благодаря своей скорости и эффективности. Изучите, как gRPC может повысить производительность вашего приложения!
Подробности: https://devwithjosh.com/introduction-to-grpc-in-c-and-aspnet-core
#en
@dot_net_c_sharp | Другие наши каналы
gRPC: Быстрая взаимосвязь микросервисов
Текст: В статье обсуждается создание быстродействующего gRPC-сервиса для межмикросервисного взаимодействия в реальном времени на C# и ASP.NET Core. Примером служит система отслеживания заказов с минимальной задержкой, что делает gRPC отличным выбором для современных архитектур.
Подробности: https://devwithjosh.com/building-a-low-latency-grpc-service-for-real-time-inter-microservice-communication-in-c-and-aspnet-core
#en
@dot_net_c_sharp | Другие наши каналы
Текст: В статье обсуждается создание быстродействующего gRPC-сервиса для межмикросервисного взаимодействия в реальном времени на C# и ASP.NET Core. Примером служит система отслеживания заказов с минимальной задержкой, что делает gRPC отличным выбором для современных архитектур.
Подробности: https://devwithjosh.com/building-a-low-latency-grpc-service-for-real-time-inter-microservice-communication-in-c-and-aspnet-core
#en
@dot_net_c_sharp | Другие наши каналы
👍3
Цифровая трансформация обслуживания в ВТБ
Банк ВТБ внедряет цифровые технологии в обслуживание оборудования, улучшая эффективность через автоматизацию ТОиР. С внедрением обновленного SAP и модуля PM удалось охватить 50 000 единиц оборудования по всей стране, что повышает надежность и комфорт для клиентов.
Читать подробнее: https://habr.com/ru/articles/864568/
#ru
@dot_net_c_sharp | Другие наши каналы
Банк ВТБ внедряет цифровые технологии в обслуживание оборудования, улучшая эффективность через автоматизацию ТОиР. С внедрением обновленного SAP и модуля PM удалось охватить 50 000 единиц оборудования по всей стране, что повышает надежность и комфорт для клиентов.
Читать подробнее: https://habr.com/ru/articles/864568/
#ru
@dot_net_c_sharp | Другие наши каналы
Управление потоками в .NET: простое решение
В статье обсудили проблему управления одновременно выполняемыми задачами в .NET. Task.Run() удобен, но не контролирует нагрузку на ресурсы. Решение — использовать SemaphoreSlim для ограничения. Простой подход с минимальным кодом, но без гибкости в управлении задачами. Новое решение для параллелизма задач
В статье обсуждается уникальный подход к ограничению параллелизма при выполнении фоновых задач с помощью семафора. Рассматриваются нюансы использования: код позволяет отправлять в работу только определенное количество задач, в зависимости от «свободного места». С кодом можно ознакомиться на GitHub. Ваше мнение?
Читать подробнее: https://habr.com/ru/articles/863928/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсудили проблему управления одновременно выполняемыми задачами в .NET. Task.Run() удобен, но не контролирует нагрузку на ресурсы. Решение — использовать SemaphoreSlim для ограничения. Простой подход с минимальным кодом, но без гибкости в управлении задачами. Новое решение для параллелизма задач
В статье обсуждается уникальный подход к ограничению параллелизма при выполнении фоновых задач с помощью семафора. Рассматриваются нюансы использования: код позволяет отправлять в работу только определенное количество задач, в зависимости от «свободного места». С кодом можно ознакомиться на GitHub. Ваше мнение?
Читать подробнее: https://habr.com/ru/articles/863928/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
Начало работы с Oracle Functions и .NET
В статье обсуждается процесс создания и настройки Oracle Functions, отличающийся от стандартной модели FaaS благодаря использованию открытого проекта Fn. Подробно описаны первые шаги в Oracle Cloud Infrastructure, включая создание виртуальной сети и приложений.
Подробности: https://basementprogrammer.com/oracle-functions-and-net-getting-started-part-1
#en
@dot_net_c_sharp | Другие наши каналы
В статье обсуждается процесс создания и настройки Oracle Functions, отличающийся от стандартной модели FaaS благодаря использованию открытого проекта Fn. Подробно описаны первые шаги в Oracle Cloud Infrastructure, включая создание виртуальной сети и приложений.
Подробности: https://basementprogrammer.com/oracle-functions-and-net-getting-started-part-1
#en
@dot_net_c_sharp | Другие наши каналы
👍3
Упростите управление пакетами в .NET
Central Package Management (CPM) в .NET позволяет решить проблему разных версий NuGet-пакетов в крупных проектах. С CPM вы задаёте версии пакетов централизованно, что упрощает поддержание их актуальности и снижает количество багов. Это особенно полезно в проектах с множеством зависимостей.
Подробности: https://milanjovanovic.hashnode.dev/central-package-management-in-net-simplify-nuget-dependencies
#en
@dot_net_c_sharp | Другие наши каналы
Central Package Management (CPM) в .NET позволяет решить проблему разных версий NuGet-пакетов в крупных проектах. С CPM вы задаёте версии пакетов централизованно, что упрощает поддержание их актуальности и снижает количество багов. Это особенно полезно в проектах с множеством зависимостей.
Подробности: https://milanjovanovic.hashnode.dev/central-package-management-in-net-simplify-nuget-dependencies
#en
@dot_net_c_sharp | Другие наши каналы
❤3
🔍 Повысьте производительность с ObjectPool и ArrayPool
Использование паттернов ObjectPool и ArrayPool в C# помогает оптимизировать память и ускорить работу приложений. В статье исследуются их реализации и влияние на производительность в разных сценариях. Узнайте, как правильно выбрать и использовать эти инструменты для своих задач.
Читать подробнее: https://habr.com/ru/articles/864902/
#ru
@dot_net_c_sharp | Другие наши каналы
Использование паттернов ObjectPool и ArrayPool в C# помогает оптимизировать память и ускорить работу приложений. В статье исследуются их реализации и влияние на производительность в разных сценариях. Узнайте, как правильно выбрать и использовать эти инструменты для своих задач.
Читать подробнее: https://habr.com/ru/articles/864902/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Эксперименты с локальными AI моделями на .NET Aspire
Текст: Узнайте, как использовать Ollama для запуска AI-моделей на вашем компьютере с помощью .NET Aspire! Мы покажем, как настроить сервер, добавить модели и интегрировать их в приложение, плюс, как легко перейти на облачные решения, такие как Azure OpenAI, при развёртывании.
Подробности: https://devblogs.microsoft.com/dotnet/local-ai-models-with-dotnet-aspire/
#en
@dot_net_c_sharp | Другие наши каналы
Текст: Узнайте, как использовать Ollama для запуска AI-моделей на вашем компьютере с помощью .NET Aspire! Мы покажем, как настроить сервер, добавить модели и интегрировать их в приложение, плюс, как легко перейти на облачные решения, такие как Azure OpenAI, при развёртывании.
Подробности: https://devblogs.microsoft.com/dotnet/local-ai-models-with-dotnet-aspire/
#en
@dot_net_c_sharp | Другие наши каналы
✍2
Использование YamlDotNet для Native AOT в .NET 7+
Текст поста: В статье объясняется, как использовать генератор источников YamlDotNet в приложениях на .NET 7+, что особенно важно при развертывании с Native AOT. Исследуется роль YAML в конфигурациях, проблемы отражения и как генерация источников может помочь статическому анализу при использовании Native AOT. Ускорьте работу с YAML без рефлексии!
YamlDotNet теперь поддерживает NativeAOT благодаря источнику генерации, что позволяет сериализовать и десериализовать YAML без использования рефлексии. Используйте StaticDeserializerBuilder и StaticContext для эффективного преобразования данных в сильно типизированные объекты!
Подробности: https://andrewlock.net/using-the-yamldotnet-source-generator-for-native-aot/
#en
@dot_net_c_sharp | Другие наши каналы
Текст поста: В статье объясняется, как использовать генератор источников YamlDotNet в приложениях на .NET 7+, что особенно важно при развертывании с Native AOT. Исследуется роль YAML в конфигурациях, проблемы отражения и как генерация источников может помочь статическому анализу при использовании Native AOT. Ускорьте работу с YAML без рефлексии!
YamlDotNet теперь поддерживает NativeAOT благодаря источнику генерации, что позволяет сериализовать и десериализовать YAML без использования рефлексии. Используйте StaticDeserializerBuilder и StaticContext для эффективного преобразования данных в сильно типизированные объекты!
Подробности: https://andrewlock.net/using-the-yamldotnet-source-generator-for-native-aot/
#en
@dot_net_c_sharp | Другие наши каналы
👍3
Погружение в уборку памяти C#
Текст: В C# сборка мусора автоматизирует управление памятью, освобождая её от ненужных объектов. Это уменьшает риски утечек и повышает производительность. GC использует трехфазный процесс и разделение на поколения, что помогает оптимизировать работу .NET приложений.
Подробности: https://blog.nishantbanjade.com.np/mastering-c-part-12
#en
@dot_net_c_sharp | Другие наши каналы
Текст: В C# сборка мусора автоматизирует управление памятью, освобождая её от ненужных объектов. Это уменьшает риски утечек и повышает производительность. GC использует трехфазный процесс и разделение на поколения, что помогает оптимизировать работу .NET приложений.
Подробности: https://blog.nishantbanjade.com.np/mastering-c-part-12
#en
@dot_net_c_sharp | Другие наши каналы
Основы программирования на C#: Погружение в переменные и типы данных
Разбираем ключевые элементы C# — от идентификаторов и ключевых слов до переменных и типов данных. Узнайте, как управлять значениями с помощью переменных, и разберитесь в различиях между значениями и ссылочными типами данных. Ваша основа для успешного кодирования! Понимание переменных в C#
Текст: В C# переменные играют ключевую роль, предоставляя гибкость и управление данными. Использование var позволяет упрощать код, а динамические переменные обходят проверку типов на этапе компиляции. Понимание уровня доступа переменных — залог эффективного программирования.
Подробности: https://blog.nishantbanjade.com.np/mastering-c-part-21-fundamentals
#en
@dot_net_c_sharp | Другие наши каналы
Разбираем ключевые элементы C# — от идентификаторов и ключевых слов до переменных и типов данных. Узнайте, как управлять значениями с помощью переменных, и разберитесь в различиях между значениями и ссылочными типами данных. Ваша основа для успешного кодирования! Понимание переменных в C#
Текст: В C# переменные играют ключевую роль, предоставляя гибкость и управление данными. Использование var позволяет упрощать код, а динамические переменные обходят проверку типов на этапе компиляции. Понимание уровня доступа переменных — залог эффективного программирования.
Подробности: https://blog.nishantbanjade.com.np/mastering-c-part-21-fundamentals
#en
@dot_net_c_sharp | Другие наши каналы
❤2
Новые асинхронные API для WinForms в .NET 9
В .NET 9 для WinForms появилась поддержка новых асинхронных API, делающих управление UI более интуитивным. Среди новшеств: Control.InvokeAsync для вызова на UI потоке и экспериментальные Form.ShowAsync и TaskDialog.ShowDialogAsync. Эти инструменты не блокируют поток, повышая отзывчивость интерфейсов. Узнайте, как их использовать! Асинхронные возможности в .NET 9 для WinForms
В статье обсуждаются возможности асинхронного отображения диалогов в .NET 9, которые помогают избежать блокировки UI-потока. Такие нововведения особенно полезны в приложениях с несколькими формами и архитектурах MVVM. Asynchronous TaskDialog и другие API улучшат производительность и отзывчивость интерфейса. Асинхронность и производительность в WinForms с .NET 9
.NET 9 открывает новые возможности для асинхронных операций в WinForms. Используя параллелизм задач, можно улучшить производительность, создавая анимации и обновляя интерфейс без задержек. Экспериментальные API предлагают новые подходы к разработке отзывчивых приложений.
Подробности: https://devblogs.microsoft.com/dotnet/introducing-winforms-async-apis/
#en
@dot_net_c_sharp | Другие наши каналы
В .NET 9 для WinForms появилась поддержка новых асинхронных API, делающих управление UI более интуитивным. Среди новшеств: Control.InvokeAsync для вызова на UI потоке и экспериментальные Form.ShowAsync и TaskDialog.ShowDialogAsync. Эти инструменты не блокируют поток, повышая отзывчивость интерфейсов. Узнайте, как их использовать! Асинхронные возможности в .NET 9 для WinForms
В статье обсуждаются возможности асинхронного отображения диалогов в .NET 9, которые помогают избежать блокировки UI-потока. Такие нововведения особенно полезны в приложениях с несколькими формами и архитектурах MVVM. Asynchronous TaskDialog и другие API улучшат производительность и отзывчивость интерфейса. Асинхронность и производительность в WinForms с .NET 9
.NET 9 открывает новые возможности для асинхронных операций в WinForms. Используя параллелизм задач, можно улучшить производительность, создавая анимации и обновляя интерфейс без задержек. Экспериментальные API предлагают новые подходы к разработке отзывчивых приложений.
Подробности: https://devblogs.microsoft.com/dotnet/introducing-winforms-async-apis/
#en
@dot_net_c_sharp | Другие наши каналы
❤🔥2👍2