Исследование YARP: Реверс-прокси для .NET
В современном веб-разработке реверс-прокси, такие как YARP от Microsoft, становятся необходимыми для управления трафиком и повышения производительности. YARP — это гибкий и настраиваемый инструмент, идеальный для .NET проектов. Узнайте, как он может улучшить вашу архитектуру.
Подробности: https://ijanggmu.hashnode.dev/exploring-yarp-the-reverse-proxy-for-net-developers
#en
@dot_net_c_sharp | Другие наши каналы
В современном веб-разработке реверс-прокси, такие как 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 | Другие наши каналы
Создание чистых и поддерживаемых моделей — ключ к здоровью программных приложений. В статье рассматриваются важные принципы, такие как единая ответственность, контроль доступа, неизменяемость и работа с пустыми ссылочными типами. Узнайте, как эти методы могут помочь в улучшении качества кода на C#.
Подробности: https://bugbusterbruno.hashnode.dev/writing-clean-models-in-c-sharp
#en
@dot_net_c_sharp | Другие наши каналы
👍2❤1
Валидация строк в C# с FluentValidation
Статья подробно рассматривает использование FluentValidation для проверки длины строки в C# приложениях. Описаны валидаторы для проверки диапазона и точного числа символов, приведены примеры кода и сообщений об ошибках. Узнайте, как легко настроить валидацию данных в ваших проектах.
Читать подробнее: https://habr.com/ru/companies/nordclan/articles/835814/
#ru
@dot_net_c_sharp | Другие наши каналы
Статья подробно рассматривает использование 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 | Другие наши каналы
Триггеры в 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 | Другие наши каналы
В статье обсуждается атака на проект 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 | Другие наши каналы
Конвертация данных через 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 | Другие наши каналы
В статье продемонстрировано, как с помощью библиотеки 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 | Другие наши каналы
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 | Другие наши каналы
Разработчикам часто требуется разделять и объединять 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 | Другие наши каналы
Статья объясняет, почему 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 | Другие наши каналы
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 | Другие наши каналы
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 | Другие наши каналы
Теперь нам не нужны контроллеры, 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 | Другие наши каналы
Столкнулись с медленным откликом сервера при поиске по атрибутам? В статье предложено улучшение: кэширование на уровне сервиса, экономящее до 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 | Другие наши каналы
С выходом .NET 8 представлена неизменяемая коллекция FrozenDictionary, значительно ускоряющая поиск по сравнению с обычным Dictionary. Узнайте о различных реализациях, преимуществах для эффективной сортировки строк и оптимизации по ключевым параметрам.
Читать дальше...
Читать подробнее: https://habr.com/ru/articles/837926/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2❤1
Создание Телеграм-бота с 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 | Другие наши каналы
Изучите процесс создания Telegram-бота на C# с использованием Yandex Cloud Functions и Webhook. Рассмотрены настройка сервисных аккаунтов, работа с библиотекой Telegram.Bot, создание Object Storage, публикация проекта и работа с YDB. Узнать больше: [ссылка на статью]
Читать подробнее: https://habr.com/ru/articles/838220/
#ru
@dot_net_c_sharp | Другие наши каналы
❤🔥3👍1
🔍 Краткая история и возможности .NET
.NET — это фреймворк от Microsoft, используемый для разработки различных приложений: настольных, веб и консольных. Разработан в 1990-х годах командой Андреса Хейлсберга и Скотта Гатри, пущен в релиз в 2002 году. Поддерживает более 60 языков программирования, включая популярный C#.
Подробности: https://kiranhivale.hashnode.dev/what-is-net
#en
@dot_net_c_sharp | Другие наши каналы
.NET — это фреймворк от Microsoft, используемый для разработки различных приложений: настольных, веб и консольных. Разработан в 1990-х годах командой Андреса Хейлсберга и Скотта Гатри, пущен в релиз в 2002 году. Поддерживает более 60 языков программирования, включая популярный C#.
Подробности: https://kiranhivale.hashnode.dev/what-is-net
#en
@dot_net_c_sharp | Другие наши каналы
❤4
Принцип инверсии зависимостей в C#
Вы знаете, что такое Принцип инверсии зависимостей (DIP)? Этому ключевому принципу проектирования в серии SOLID было посвящено последнее обсуждение. DIP помогает сократить зависимости в коде, улучшая его тестируемость и гибкость. Применение DIP на примере системы управления библиотекой делает её проще в обслуживании и расширении.
Подробности: https://geothachankary.hashnode.dev/understanding-dependency-inversion-principle-dip-with-c
#en
@dot_net_c_sharp | Другие наши каналы
Вы знаете, что такое Принцип инверсии зависимостей (DIP)? Этому ключевому принципу проектирования в серии SOLID было посвящено последнее обсуждение. DIP помогает сократить зависимости в коде, улучшая его тестируемость и гибкость. Применение DIP на примере системы управления библиотекой делает её проще в обслуживании и расширении.
Подробности: https://geothachankary.hashnode.dev/understanding-dependency-inversion-principle-dip-with-c
#en
@dot_net_c_sharp | Другие наши каналы
❤4
🎥 Открытие Story Streamer AI: Новая Эра Рассказов
Story Streamer AI — революционное веб-приложение, сочетающее Azure OpenAI и ASP.NET Core, которое кардинально меняет процесс создания историй. Этот инструмент позволяет создавать персонализированные и динамичные рассказы, вдохновляя как начинающих, так и профессиональных авторов.
Подробнее: storystreamer.azurewebsites.net
Подробности: https://rajdeepjaiswal.hashnode.dev/unveiling-story-streamer-ai
#en
@dot_net_c_sharp | Другие наши каналы
Story Streamer AI — революционное веб-приложение, сочетающее Azure OpenAI и ASP.NET Core, которое кардинально меняет процесс создания историй. Этот инструмент позволяет создавать персонализированные и динамичные рассказы, вдохновляя как начинающих, так и профессиональных авторов.
Подробнее: storystreamer.azurewebsites.net
Подробности: https://rajdeepjaiswal.hashnode.dev/unveiling-story-streamer-ai
#en
@dot_net_c_sharp | Другие наши каналы
👍2
Pub-Sub Паттерн в .NET 8
Статья рассматривает паттерн "издатель-подписчик" (pub-sub) и его реализацию с использованием SignalR в .NET 8. Паттерн позволяет отправлять сообщения нескольким подписчикам одновременно, упрощая реальную связь между сервером и клиентами. Приводятся примеры и методы решения недостатков, таких как дублирование сообщений.
Подробности: https://sushantpant.com.np/pub-sub-pattern
#en
@dot_net_c_sharp | Другие наши каналы
Статья рассматривает паттерн "издатель-подписчик" (pub-sub) и его реализацию с использованием SignalR в .NET 8. Паттерн позволяет отправлять сообщения нескольким подписчикам одновременно, упрощая реальную связь между сервером и клиентами. Приводятся примеры и методы решения недостатков, таких как дублирование сообщений.
Подробности: https://sushantpant.com.np/pub-sub-pattern
#en
@dot_net_c_sharp | Другие наши каналы
👍1
Перегрузка методов в F#: возможности и ограничения
В статье рассматриваются перегрузка методов в построителе вычислительных выражений на примере типов для "успеха" и "ошибки". Автор отмечает, что несмотря на преимущества такой техники, есть ограничения при работе с обобщёнными типами и деталями реализации.
Подробнее в статье.
Читать подробнее: https://habr.com/ru/articles/838542/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассматриваются перегрузка методов в построителе вычислительных выражений на примере типов для "успеха" и "ошибки". Автор отмечает, что несмотря на преимущества такой техники, есть ограничения при работе с обобщёнными типами и деталями реализации.
Подробнее в статье.
Читать подробнее: https://habr.com/ru/articles/838542/
#ru
@dot_net_c_sharp | Другие наши каналы