C# Portal | Программирование – Telegram
C# Portal | Программирование
14.9K subscribers
974 photos
118 videos
24 files
815 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для C#-разработчика

Связь: @devmangx

РКН: https://clck.ru/3FocB6
Download Telegram
Это здорово, что ты можешь написать интерфейс, и этого достаточно для интеграции с сторонним API. 😊

Refit — это библиотека для .NET, которая упрощает работу с REST API. Вместо того чтобы вручную писать код для взаимодействия с API, ты просто создаешь интерфейс с нужными методами, и Refit автоматически генерирует код для подключения к API, используя HttpClient.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3
Осваиваем Чистую Архитектуру в ASP.NET Core

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍2
Строки подключения, пароли, учетные данные...

Не храните свои секреты в appsettings.json 👇

Хотя это удобно, такой подход может представлять угрозу безопасности, если не обработан должным образом.

Azure Key Vault предлагает безопасное управляемое решение для хранения секретов, позволяя хранить конфиденциальные данные вне локальных файлов в защищенной облачной среде.

В .NET 8 интеграция Azure Key Vault с пакетами Azure Extensions и Microsoft Extensions Configuration выполняется очень просто. 😕

После настройки мы можем использовать значения из Azure Key Vault через конфигурацию так же, как это делается для appsettings.json.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥2
Media is too big
VIEW IN TELEGRAM
Чистая архитектура в ASP.NET Core. Структура реального проекта

Видео объясняет концепцию чистой архитектуры, её слои и их взаимодействие для эффективного проектирования программного обеспечения.

📲 Cмотреть источник: тут

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥1
Не замедляйте свои .NET приложения этой распространенной ошибкой!

Вы когда-нибудь использовали сount() > 0, чтобы проверить, есть ли элементы в коллекции?

Это работает, но на самом деле это скрытно ухудшает производительность вашего приложения 😢

Лучше используйте Any() вместо этого

Почему Any() лучше, чем Count()?

Any() останавливается, как только находит первый элемент.
Count() проверяет каждый элемент, даже если это не нужно.
В EF Core Any() превращается в легкий запрос
Any() не загружает ненужные данные.

Используйте это:
if (items.Any()) 
{ }


Не используйте это:
if (items.Count() > 0) 
{ }


Это небольшое изменение, но оно может существенно улучшить производительность!

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍376🔥3
Test Doubles в интеграционных тестах на ASP.NET Core

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Glyphion — экспериментальный игровой движок, который визуализирует 2D и 3D игры на терминале.

Созданный с помощью .NET, Glyphion предлагает уникальный подход к разработке игр, привнося очарование ASCII-графики в современный игровой дизайн.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2🎉1
Media is too big
VIEW IN TELEGRAM
Thread → Task. Многопоточность и Асинхронность

В этом видео о thread, многопоточности, task и асинхронности, чем многопоточность отличается от асинхронности.
Была ли асинхронность в thread, а так же мелкие вопросы из собеседований. 🙂

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144👏2
Постраничная навигация с использованием смещения (Offset pagination) работает нормально для небольших наборов данных.

Для больших наборов данных лучше использовать другой подход:

Это называется Keyset pagination или постраничная навигация на основе ключей, и это гораздо более эффективный способ работы с большими наборами данных. 🧠

Проблема постраничной навигации со смещением (skip и take) заключается в том, что база данных все равно должна обработать пропущенные записи, даже если они не используются.

Но при использовании Keyset pagination пропускать записи не нужно. Достаточно запомнить последний ключ, который был извлечен, и использовать его для получения следующих строк.

Если ваш столбец ID проиндексирован, запросы с использованием Keyset pagination будут очень эффективными даже для больших наборов данных.

Что делать, если вы используете GUID в качестве идентификаторов? 🤔 Тогда используйте UUID версии 7, которые разработаны для обеспечения глобальной уникальности и сортируемости.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Создание фоновых задач в .NET с запросом состояния запущенного таска

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
В .NET 10 появится числовой StringComparer.

Это позволит сравнивать числа на основе их числового значения, а не лексикографического порядка.

Ждём?)😮

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
😐20👍15🤔32🔥1
Media is too big
VIEW IN TELEGRAM
Как хэшировать пароли с помощью BCrypt в C#

Видео посвящено лучшим практикам работы с паролями, включая важность их безопасности, использование хэширования (например, BCrypt) для защиты, и демонстрацию его применения на практике.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
Как использовать условный middleware в .NET?

В динамичном мире веб-разработки эффективное управление входящими HTTP-запросами является ключом к созданию надежных и производительных приложений.

Middleware в .NET играет важную роль в обработке этих запросов, формируя мост между сервером и приложением.

Одним из мощных инструментов в ASP.NET Core является app.UseWhen, который позволяет разработчикам применять middleware условно, исходя из определённых критериев.
Преимущества такого подхода:

🟣 Оптимизация производительности
🟣 Чистая организация кода
🟣 Выборочное применение middleware

app.UseWhen особенно полезен для приложений с определёнными потребностями в маршрутизации или обработке.

Хотя для простых приложений это может быть необязательно, в более сложных сценариях app.UseWhen значительно улучшает производительность и организацию кода.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Понимание ApplicationDbContext, DbContext и DbSet в .NET Core

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
Media is too big
VIEW IN TELEGRAM
Dockerized — запуск популярных инструментов командной строки в докере, не устанавливая их.

Работает в GNU/Linux, MacOS и Windows (CMD, Powershell, Git Bash).

Полезно, если вы не хотите загрязнять свою систему множеством инструментов, которые вы не используете.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Media is too big
VIEW IN TELEGRAM
Собеседование .NET - Разбор вопросов

Видео посвящено разбору вопросов, часто встречающихся на собеседованиях по .NET, с акцентом на многопоточность, async/await, паттерны, работу сборщика мусора, коллизии данных и ASP.NET Core.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Учебный полигон для хакеров и защитников Kubernetes 🤣

Kubernetes Goat
— это учебный проект для изучения безопасности Kubernetes.

Он предоставляет практические сценарии с уязвимостями, чтобы пользователи могли изучать методы атак и защиты в Kubernetes-кластерах.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥3👍2
Оптимизация SQL-миграций в .NET приложениях

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥3🔥1
Панель управления на основе терминала для мониторинга кластеров Elasticsearch в режиме реального времени.

Она предоставляет полное представление о состоянии кластера, статусе узлов, индексах и различных показателях производительности в удобном для чтения интерфейсе терминала

Этот инструмент визуально похож на HTOP

Ссылка: тык

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
Media is too big
VIEW IN TELEGRAM
Курс .NET 9 Web API и Entity Framework: CRUD, Code-First миграции и SQL Server.

Видео демонстрирует процесс создания проекта с использованием OpenAPI и Entity Framework для реализации операций CRUD (создание, чтение, обновление, удаление) с моделью VideoGame и подключением к базе данных SQL Server.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4
Что такое разрушающее изменение для API?

Вот несколько примеров:

🟡 Удаление или переименование API или его параметров
🟡 Изменение поведения существующих API
🟡 Изменение кодов ошибок API

Разрушающее изменение означает, что вам нужно внедрить версионирование API — иначе вы рискуете сломать работу существующих потребителей.

К счастью, ASP.NET Core упрощает внедрение версионирования API.❤️

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥2