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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Разбираем LINQ: Основы и Применение

Хотите научиться использовать LINQ в C#? Эта статья для вас! Простое объяснение методов Select и SelectMany, а также синтаксиса запросов и методов для работы с коллекциями. Узнайте, как эффективно фильтровать, искать и объединять данные. Читайте дальше и развивайте свои навыки!

Читать подробнее: https://habr.com/ru/articles/836752/

#ru

@dot_net_c_sharp | Другие наши каналы
Единое или раздельное пространство имён?

Статья обсуждает, как выбрать оптимальный подход к организации пространства имён в проекте: единый или раздельный. Автор предлагает рассмотреть плюсы и минусы каждого подхода, чтобы избежать проблем с реорганизацией кода и конфликтами имён. Подробнее – в статье.

Читать подробнее: https://habr.com/ru/articles/836790/

#ru

@dot_net_c_sharp | Другие наши каналы
👍2
Получение данных из БД с помощью ADO.NET в ASP.NET Core 8 MVC

В статье подробно описаны шаги по извлечению данных из базы данных с использованием ADO.NET в ASP.NET Core 8 MVC. Автор шаг за шагом объясняет создание проекта в Visual Studio, настройку базы данных в SQL Server и работу со stored procedures. Читайте, чтобы освоить основы! Создание модели и слоя доступа к данным в C#

В статье описывается процесс создания модели "Student" в C# с атрибутами для работы с базой данных и классом доступа к данным "StudentDataAccessLayer". Класс модели включает свойства для каждой колонки таблицы, а слой доступа к данным обеспечивает операции CRUD с использованием SQL-запросов. Внедрение зависимости в ASP.NET Core MVC

Узнайте, как внедрить зависимость и настроить контроллеры в ASP.NET Core для работы с данными. В статье описано создание класса доступа к данным, регистрацию его в системе зависимостей и написание метода действия для отображения студенческих данных. Читайте подробнее!

Подробности: https://wildire.hashnode.dev/how-to-fetch-data-from-a-database-using-adonet-in-aspnet-core-8-mvc

#en

@dot_net_c_sharp | Другие наши каналы
🤨1
Понимание распределённых систем: синхронная и асинхронная коммуникации

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

Подробности: https://sushantpant.com.np/understanding-distributed-system

#en

@dot_net_c_sharp | Другие наши каналы
Принцип разделения интерфейсов (ISP) на примере библиотеки

В блоге рассмотрен принцип разделения интерфейсов (ISP) из серии SOLID. ISP предложит разработчикам создавать маленькие и специализированные интерфейсы вместо громоздких. Это помогает избежать проблемы "жирного интерфейса" и делает код более чистым и поддерживаемым.

Подробности: https://geothachankary.hashnode.dev/understanding-the-interface-segregation-principle-isp-with-c

#en

@dot_net_c_sharp | Другие наши каналы
Исследование YARP: Реверс-прокси для .NET

В современном веб-разработке реверс-прокси, такие как YARP от Microsoft, становятся необходимыми для управления трафиком и повышения производительности. YARP — это гибкий и настраиваемый инструмент, идеальный для .NET проектов. Узнайте, как он может улучшить вашу архитектуру.

Подробности: https://ijanggmu.hashnode.dev/exploring-yarp-the-reverse-proxy-for-net-developers

#en

@dot_net_c_sharp | Другие наши каналы
👎1
Лучшие практики для создания чистых моделей в C#

Создание чистых и поддерживаемых моделей — ключ к здоровью программных приложений. В статье рассматриваются важные принципы, такие как единая ответственность, контроль доступа, неизменяемость и работа с пустыми ссылочными типами. Узнайте, как эти методы могут помочь в улучшении качества кода на C#.

Подробности: https://bugbusterbruno.hashnode.dev/writing-clean-models-in-c-sharp

#en

@dot_net_c_sharp | Другие наши каналы
👍21
Валидация строк в C# с FluentValidation

Статья подробно рассматривает использование FluentValidation для проверки длины строки в C# приложениях. Описаны валидаторы для проверки диапазона и точного числа символов, приведены примеры кода и сообщений об ошибках. Узнайте, как легко настроить валидацию данных в ваших проектах.

Читать подробнее: https://habr.com/ru/companies/nordclan/articles/835814/

#ru

@dot_net_c_sharp | Другие наши каналы
🔍 Триггеры в Postgres: как и зачем их использовать

Триггеры в PostgreSQL — это функции, которые автоматически вызываются при изменениях в таблицах, таких как обновление, удаление или вставка. Они могут выполняться как на уровне всего оператора (для всех строк), так и на уровне каждой строки. Узнайте, как правильно их применять и для чего они нужны.

Подробности: https://ijanggmu.hashnode.dev/trigger-in-postgres

#en

@dot_net_c_sharp | Другие наши каналы
Как защититься от атак на цепочку поставок с использованием SRI

В статье обсуждается атака на проект Pollyfill.io, в результате которой тысячи сайтов были скомпрометированы. Основной метод защиты — это использование Subresource Integrity (SRI), который проверяет целостность загружаемых файлов через CDN. Важная мера для безопасности вашего проекта!

Подробности: https://andrewlock.net/avoiding-cdn-supply-chain-attacks-with-subresource-integrity/

#en

@dot_net_c_sharp | Другие наши каналы
Упростите тестирование в ASP.NET Core

Конвертация данных через extension-методы усложняет модульное тестирование. Статья предлагает альтернативу: использование интерфейсов и внешних классов мапперов. Это делает код легче для поддержки и тестирования. Пример реализации доступен на GitHub: GillesTourreau/GillesTourreau.ModelMapper.

Подробности: https://gilles.tourreau.fr/simplifying-data-conversion-a-testable-approach-for-entity-models-and-dtos

#en

@dot_net_c_sharp | Другие наши каналы
Высокопроизводительные логические вычисления в C#

В статье продемонстрировано, как с помощью библиотеки MathEvaluator динамически вычислять логические математические выражения в C#, достигая высокой производительности. Проведено сравнение этой библиотеки с NCalc и показано, что MathEvaluator поддерживает более сложные логические алгебраические выражения. Тесты проведены с использованием BenchmarkDotNet.

Читать подробнее: https://habr.com/ru/articles/837380/

#ru

@dot_net_c_sharp | Другие наши каналы
🚀 Вышла версия 3.0 OpenSilver! 🚀

OpenSilver — это open-source фреймворк и наследник Silverlight. В новой версии 3.0 мы добавили современный UI-дизайнер в Visual Studio и его веб-версию! Теперь можно работать с XAML и C# без HTML и JavaScript. Наслаждайтесь разработкой с более чем 100 компонентами и синхронизацией кода в реальном времени! Новый инструмент для разработки XAML-компонентов!

Читать подробнее: https://habr.com/ru/articles/835258/

#ru

@dot_net_c_sharp | Другие наши каналы
👍5❤‍🔥2👎1
Как разделить и объединить PDF-документы на C# и .NET

Разработчикам часто требуется разделять и объединять PDF-документы. В статье рассматриваются способы выполнения этой задачи без сторонних компонентов, анализируются плюсы и минусы подхода, такие как безопасность и трудоемкость. Узнайте больше по ссылке: [ссылка](https://sautinsoft.com/products/pdf/help/net/developer-guide/split-PDF-by-pages-without-3rd-party-component-csharp-dotnet.php).

Читать подробнее: https://habr.com/ru/articles/837516/

#ru

@dot_net_c_sharp | Другие наши каналы
👍1
Нюансы XML и бинарной сериализации в .Net

Статья объясняет, почему XML-сериализация игнорирует приватные члены. Также рассматриваются различия между XML и бинарной сериализацией

Читать: «Нюансы XML и бинарной сериализации в .Net»

#ru

@dot_net_c_sharp | Другие наши каналы
1
Освойте HttpClient в .NET: Лучшие практики с Refit

HttpClient в .NET — неотъемлемый инструмент для работы с HTTP-запросами. Статья рассматривает его важность, типичные ошибки, такие как исчерпание сокетов и кеширование DNS, и предлагает решения, включая использование IHttpClientFactory. Также обсуждается библиотека Refit для упрощения потребления API.

Подробности: https://ijanggmu.hashnode.dev/mastering-httpclient-in-net-best-practices-and-advanced-techniques-with-refit

#en

@dot_net_c_sharp | Другие наши каналы
Ускорьте Ваше Тестирование с MSTest.Analyzers

MSTest включает аналитики, выявляющие ошибки в тестовом коде, которые могут быть незаметными и приводить к тому, что тесты не запускаются. В версии 3.5.1 добавлены новые полезные аналитики, помогающие избежать таких проблем. Рекомендуем обновиться до версии 3.2.0 и новее.

Подробности: https://devblogs.microsoft.com/dotnet/supercharge-your-testing-experience-with-ms-test-analyzers/

#en

@dot_net_c_sharp | Другие наши каналы
Wolverine заменяет MediatR и MassTransit

Теперь нам не нужны контроллеры, MediatR и MassTransit, их заменит Wolverine. В статье показано, как создать модульный монолит и осуществить регистрацию событий с помощью Marten. Примеры и подробности внутри.

[Читать далее](https://habr.com/ru/articles/837376/#habracut)

Читать подробнее: https://habr.com/ru/companies/alfa/articles/837376/

#ru

@dot_net_c_sharp | Другие наши каналы
👍4
🚀 Как ускорить поиск по атрибутам: кейс кэширования

Столкнулись с медленным откликом сервера при поиске по атрибутам? В статье предложено улучшение: кэширование на уровне сервиса, экономящее до 90% времени обработки запросов. Всего 4 строчки кода дали впечатляющий результат! Узнайте больше из оригинальной статьи.

Читать подробнее: https://habr.com/ru/articles/837870/

#ru

@dot_net_c_sharp | Другие наши каналы
👍2
📚 Новая коллекция для C# разработчиков: FrozenDictionary

С выходом .NET 8 представлена неизменяемая коллекция FrozenDictionary, значительно ускоряющая поиск по сравнению с обычным Dictionary. Узнайте о различных реализациях, преимуществах для эффективной сортировки строк и оптимизации по ключевым параметрам.

Читать дальше...

Читать подробнее: https://habr.com/ru/articles/837926/

#ru

@dot_net_c_sharp | Другие наши каналы
👍21
Создание Телеграм-бота с Yandex Cloud Functions

Изучите процесс создания Telegram-бота на C# с использованием Yandex Cloud Functions и Webhook. Рассмотрены настройка сервисных аккаунтов, работа с библиотекой Telegram.Bot, создание Object Storage, публикация проекта и работа с YDB. Узнать больше: [ссылка на статью]

Читать подробнее: https://habr.com/ru/articles/838220/

#ru

@dot_net_c_sharp | Другие наши каналы
❤‍🔥3👍1