.NET / C# – Telegram
.NET / C#
3.92K subscribers
2.14K photos
40 videos
1 file
3.69K links
Лучшие материалы по разработке на платформе .NET и языке C#

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Расширьте Paint.NET: делаем плагин

Хотите улучшить возможности 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 | Другие наши каналы
Защита ресурсов с использованием 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 | Другие наши каналы
Как открыть расчетный счет в Казахстане для нерезидентов

Для 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 | Другие наши каналы
Служба Windows и Телеграм-бот на .NET Core

Как перейти на .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 | Другие наши каналы
😁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 | Другие наши каналы
📝 Погружаемся в целочисленные типы 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 | Другие наши каналы
🥱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: Быстрая взаимосвязь микросервисов

Текст: В статье обсуждается создание быстродействующего 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 | Другие наши каналы
Управление потоками в .NET: простое решение

В статье обсудили проблему управления одновременно выполняемыми задачами в .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 | Другие наши каналы
👍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 | Другие наши каналы
3
🔍 Повысьте производительность с ObjectPool и ArrayPool

Использование паттернов 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 | Другие наши каналы
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 | Другие наши каналы
👍3
Погружение в уборку памяти C#

Текст: В 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 | Другие наши каналы
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 | Другие наши каналы
❤‍🔥2👍2