Свободный открытый деинсталятор приложений для Windows на C# 😊
Он может удалять большое количество приложений с минимальным вмешательством пользователя.
BCU может очищать остатки, обнаруживать потерянные приложения, запускать программы удаления в соответствии с готовыми списками и т. д.
⛓ Ссылка: тык
👉 @KodBlog | #ресурсы
Он может удалять большое количество приложений с минимальным вмешательством пользователя.
BCU может очищать остатки, обнаруживать потерянные приложения, запускать программы удаления в соответствии с готовыми списками и т. д.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤨18👍11❤🔥3
Media is too big
VIEW IN TELEGRAM
LLMUnity — это проект с открытым исходным кодом на С#
Который интегрирует большие языковые модели в движок Unity, позволяя разработчикам создавать интеллектуальных и интерактивных персонажей для игр, обеспечивая более захватывающий игровой опыт.
Этот инструмент построен на основе библиотек llama.cpp и llamafile, поддерживает все основные модели LLM и работает на различных платформах, включая Windows, Linux, macOS и Android.
Программа работает локально, без необходимости подключения к интернету, что гарантирует конфиденциальность данных, и обеспечивает быструю обработку как на CPU, так и на GPU.
Программа доступна для бесплатного использования как для личных, так и для коммерческих целей, а также поддерживается регулярными обновлениями.
👉 @KodBlog | #ресурсы
Который интегрирует большие языковые модели в движок Unity, позволяя разработчикам создавать интеллектуальных и интерактивных персонажей для игр, обеспечивая более захватывающий игровой опыт.
Этот инструмент построен на основе библиотек llama.cpp и llamafile, поддерживает все основные модели LLM и работает на различных платформах, включая Windows, Linux, macOS и Android.
Программа работает локально, без необходимости подключения к интернету, что гарантирует конфиденциальность данных, и обеспечивает быструю обработку как на CPU, так и на GPU.
Программа доступна для бесплатного использования как для личных, так и для коммерческих целей, а также поддерживается регулярными обновлениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🎉2
Media is too big
VIEW IN TELEGRAM
Использование JWT в ASP.Net Core
В видео объясняются основные шаги: настройка библиотеки JwtBearer, создание конфигурации для эмитента, аудитории и ключа, хеширование паролей, добавление зависимостей, генерация токенов, настройка контроллеров и использование Swagger для тестирования. Автор показывает пример использования токена для авторизации и работы с методами API, а также предлагает доступ к исходному коду на Patreon.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
В видео объясняются основные шаги: настройка библиотеки JwtBearer, создание конфигурации для эмитента, аудитории и ключа, хеширование паролей, добавление зависимостей, генерация токенов, настройка контроллеров и использование Swagger для тестирования. Автор показывает пример использования токена для авторизации и работы с методами API, а также предлагает доступ к исходному коду на Patreon.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Это здорово, что ты можешь написать интерфейс, и этого достаточно для интеграции с сторонним API. 😊
Refit — это библиотека для .NET, которая упрощает работу с REST API. Вместо того чтобы вручную писать код для взаимодействия с API, ты просто создаешь интерфейс с нужными методами, и Refit автоматически генерирует код для подключения к API, используя HttpClient.
👉 @KodBlog | #ресурсы
Refit — это библиотека для .NET, которая упрощает работу с REST API. Вместо того чтобы вручную писать код для взаимодействия с API, ты просто создаешь интерфейс с нужными методами, и Refit автоматически генерирует код для подключения к API, используя HttpClient.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍2
Строки подключения, пароли, учетные данные...
Не храните свои секреты в👇
Хотя это удобно, такой подход может представлять угрозу безопасности, если не обработан должным образом.
Azure Key Vault предлагает безопасное управляемое решение для хранения секретов, позволяя хранить конфиденциальные данные вне локальных файлов в защищенной облачной среде.
В .NET 8 интеграция Azure Key Vault с пакетами Azure Extensions и Microsoft Extensions Configuration выполняется очень просто.😕
После настройки мы можем использовать значения из Azure Key Vault через конфигурацию так же, как это делается для
👉 @KodBlog | #ресурсы
Не храните свои секреты в
appsettings.json Хотя это удобно, такой подход может представлять угрозу безопасности, если не обработан должным образом.
Azure Key Vault предлагает безопасное управляемое решение для хранения секретов, позволяя хранить конфиденциальные данные вне локальных файлов в защищенной облачной среде.
В .NET 8 интеграция Azure Key Vault с пакетами Azure Extensions и Microsoft Extensions Configuration выполняется очень просто.
После настройки мы можем использовать значения из Azure Key Vault через конфигурацию так же, как это делается для
appsettings.json.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2
Не замедляйте свои .NET приложения этой распространенной ошибкой!
Вы когда-нибудь использовали
Это работает, но на самом деле это скрытно ухудшает производительность вашего приложения😢
Лучше используйте Any() вместо этого
Почему Any() лучше, чем Count()?
Any() останавливается, как только находит первый элемент.
Count() проверяет каждый элемент, даже если это не нужно.
В EF Core Any() превращается в легкий запрос
Any() не загружает ненужные данные.
☑ Используйте это:
❌ Не используйте это:
Это небольшое изменение, но оно может существенно улучшить производительность!
👉 @KodBlog | #ресурсы
Вы когда-нибудь использовали
сount() > 0, чтобы проверить, есть ли элементы в коллекции? Это работает, но на самом деле это скрытно ухудшает производительность вашего приложения
Лучше используйте Any() вместо этого
Почему Any() лучше, чем Count()?
Any() останавливается, как только находит первый элемент.
Count() проверяет каждый элемент, даже если это не нужно.
В EF Core Any() превращается в легкий запрос
Any() не загружает ненужные данные.
if (items.Any())
{ }
if (items.Count() > 0)
{ }
Это небольшое изменение, но оно может существенно улучшить производительность!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤6🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2🎉1
Постраничная навигация с использованием смещения (Offset pagination) работает нормально для небольших наборов данных.
Для больших наборов данных лучше использовать другой подход:
Это называется Keyset pagination или постраничная навигация на основе ключей, и это гораздо более эффективный способ работы с большими наборами данных.🧠
Проблема постраничной навигации со смещением (skip и take) заключается в том, что база данных все равно должна обработать пропущенные записи, даже если они не используются.
Но при использовании Keyset pagination пропускать записи не нужно. Достаточно запомнить последний ключ, который был извлечен, и использовать его для получения следующих строк.
Если ваш столбец ID проиндексирован, запросы с использованием Keyset pagination будут очень эффективными даже для больших наборов данных.
Что делать, если вы используете GUID в качестве идентификаторов?🤔 Тогда используйте UUID версии 7, которые разработаны для обеспечения глобальной уникальности и сортируемости.
👉 @KodBlog | #ресурсы
Для больших наборов данных лучше использовать другой подход:
Это называется Keyset pagination или постраничная навигация на основе ключей, и это гораздо более эффективный способ работы с большими наборами данных.
Проблема постраничной навигации со смещением (skip и take) заключается в том, что база данных все равно должна обработать пропущенные записи, даже если они не используются.
Но при использовании Keyset pagination пропускать записи не нужно. Достаточно запомнить последний ключ, который был извлечен, и использовать его для получения следующих строк.
Если ваш столбец ID проиндексирован, запросы с использованием Keyset pagination будут очень эффективными даже для больших наборов данных.
Что делать, если вы используете GUID в качестве идентификаторов?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3