Постраничная навигация с использованием смещения (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
Как использовать условный middleware в .NET?
В динамичном мире веб-разработки эффективное управление входящими HTTP-запросами является ключом к созданию надежных и производительных приложений.
Middleware в .NET играет важную роль в обработке этих запросов, формируя мост между сервером и приложением.
Одним из мощных инструментов в ASP.NET Core является app.UseWhen, который позволяет разработчикам применять middleware условно, исходя из определённых критериев.
Преимущества такого подхода:
🟣 Оптимизация производительности
🟣 Чистая организация кода
🟣 Выборочное применение middleware
app.UseWhen особенно полезен для приложений с определёнными потребностями в маршрутизации или обработке.
Хотя для простых приложений это может быть необязательно, в более сложных сценариях app.UseWhen значительно улучшает производительность и организацию кода.
👉 @KodBlog | #ресурсы
В динамичном мире веб-разработки эффективное управление входящими HTTP-запросами является ключом к созданию надежных и производительных приложений.
Middleware в .NET играет важную роль в обработке этих запросов, формируя мост между сервером и приложением.
Одним из мощных инструментов в ASP.NET Core является app.UseWhen, который позволяет разработчикам применять middleware условно, исходя из определённых критериев.
Преимущества такого подхода:
app.UseWhen особенно полезен для приложений с определёнными потребностями в маршрутизации или обработке.
Хотя для простых приложений это может быть необязательно, в более сложных сценариях app.UseWhen значительно улучшает производительность и организацию кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
Media is too big
VIEW IN TELEGRAM
Dockerized — запуск популярных инструментов командной строки в докере, не устанавливая их.
Работает в GNU/Linux, MacOS и Windows (CMD, Powershell, Git Bash).
Полезно, если вы не хотите загрязнять свою систему множеством инструментов, которые вы не используете.
👉 @KodBlog | #ресурсы
Работает в GNU/Linux, MacOS и Windows (CMD, Powershell, Git Bash).
Полезно, если вы не хотите загрязнять свою систему множеством инструментов, которые вы не используете.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Учебный полигон для хакеров и защитников Kubernetes 🤣
Kubernetes Goat — это учебный проект для изучения безопасности Kubernetes.
Он предоставляет практические сценарии с уязвимостями, чтобы пользователи могли изучать методы атак и защиты в Kubernetes-кластерах.
👉 @KodBlog | #ресурсы
Kubernetes Goat — это учебный проект для изучения безопасности Kubernetes.
Он предоставляет практические сценарии с уязвимостями, чтобы пользователи могли изучать методы атак и защиты в Kubernetes-кластерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥3🔥1
Панель управления на основе терминала для мониторинга кластеров Elasticsearch в режиме реального времени.
Она предоставляет полное представление о состоянии кластера, статусе узлов, индексах и различных показателях производительности в удобном для чтения интерфейсе терминала
Этот инструмент визуально похож на HTOP✋
⛓ Ссылка: тык
👉 @KodBlog | #ресурсы
Она предоставляет полное представление о состоянии кластера, статусе узлов, индексах и различных показателях производительности в удобном для чтения интерфейсе терминала
Этот инструмент визуально похож на HTOP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥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 | #видео
Видео демонстрирует процесс создания проекта с использованием OpenAPI и Entity Framework для реализации операций CRUD (создание, чтение, обновление, удаление) с моделью VideoGame и подключением к базе данных SQL Server.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4
Что такое разрушающее изменение для API?
Вот несколько примеров:
🟡 Удаление или переименование API или его параметров
🟡 Изменение поведения существующих API
🟡 Изменение кодов ошибок API
Разрушающее изменение означает, что вам нужно внедрить версионирование API — иначе вы рискуете сломать работу существующих потребителей.
К счастью,❤️
👉 @KodBlog | #ресурсы
Вот несколько примеров:
Разрушающее изменение означает, что вам нужно внедрить версионирование API — иначе вы рискуете сломать работу существующих потребителей.
К счастью,
ASP.NET Core упрощает внедрение версионирования API.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😐6😁5🔥2🌚1
Почти каждый разработчик программного обеспечения использовал Linux, но лишь немногие знают, как работает его процесс загрузки
Давайте разберемся.😐
Шаг 1 – Когда мы включаем питание, загружается прошивка BIOS (Basic Input/Output System) или UEFI (Unified Extensible Firmware Interface) из энергонезависимой памяти и выполняет POST (Power On Self Test, самотестирование при включении).
Шаг 2 – BIOS/UEFI определяет устройства, подключенные к системе, включая процессор, оперативную память и хранилище данных.
Шаг 3 – Выбирается устройство для загрузки операционной системы. Это может быть жёсткий диск, сетевой сервер или CD-ROM.
Шаг 4 – BIOS/UEFI запускает загрузчик (например, GRUB), который предоставляет меню для выбора операционной системы или функций ядра.
Шаг 5 – После подготовки ядра система переключается в пользовательское пространство. Ядро запускает systemd как первый процесс пользовательского пространства, который управляет процессами и службами, проверяет оставшееся оборудование, монтирует файловые системы и запускает рабочий стол.
Шаг 6 – systemd активирует модуль по умолчанию (default.target) при загрузке системы. Также выполняются другие модули.
Шаг 7 – Система выполняет набор стартовых скриптов и настраивает окружение.
Шаг 8 – Пользователям представляется окно входа. Система готова к работе.
👉 @KodBlog | #ресурсы
Давайте разберемся.
Шаг 1 – Когда мы включаем питание, загружается прошивка BIOS (Basic Input/Output System) или UEFI (Unified Extensible Firmware Interface) из энергонезависимой памяти и выполняет POST (Power On Self Test, самотестирование при включении).
Шаг 2 – BIOS/UEFI определяет устройства, подключенные к системе, включая процессор, оперативную память и хранилище данных.
Шаг 3 – Выбирается устройство для загрузки операционной системы. Это может быть жёсткий диск, сетевой сервер или CD-ROM.
Шаг 4 – BIOS/UEFI запускает загрузчик (например, GRUB), который предоставляет меню для выбора операционной системы или функций ядра.
Шаг 5 – После подготовки ядра система переключается в пользовательское пространство. Ядро запускает systemd как первый процесс пользовательского пространства, который управляет процессами и службами, проверяет оставшееся оборудование, монтирует файловые системы и запускает рабочий стол.
Шаг 6 – systemd активирует модуль по умолчанию (default.target) при загрузке системы. Также выполняются другие модули.
Шаг 7 – Система выполняет набор стартовых скриптов и настраивает окружение.
Шаг 8 – Пользователям представляется окно входа. Система готова к работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥3
"Введение в алгоритмы" Массачусетского технологического института
❯ Видеокурсы
https://youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY
❯ Конспекты лекций
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/lecture-notes/
❯ Практические вопросы
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/practice-problems/
❯ Задания
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/assignments/
👉 @KodBlog | #видео
❯ Видеокурсы
https://youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY
❯ Конспекты лекций
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/lecture-notes/
❯ Практические вопросы
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/practice-problems/
❯ Задания
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/assignments/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Deepseek работает локально и конфиденциально для автодополнения в VSCode! 🕺
Менее чем за минуту узнаете, как скачать Deepseek-coder и установить его в качестве модели автодополнения в VSCode.
Для этого вам понадобится:
➡ ollama, чтобы скачать модель.
➡ CodeGPT, чтобы выбрать её в качестве модели автодополнения.
👉 @KodBlog | #ресурсы
Менее чем за минуту узнаете, как скачать Deepseek-coder и установить его в качестве модели автодополнения в VSCode.
Для этого вам понадобится:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔6🍌3❤2🔥2
Media is too big
VIEW IN TELEGRAM
Микросервисы .NET - полный курс для начинающих
Этот курс посвящен разработке микросервисов на .NET с использованием C#, MongoDB, Docker, MassTransit и RabbitMQ, включая настройку окружения, создание REST API, работу с базой данных, синхронное и асинхронное взаимодействие сервисов, а также интеграцию с фронтендом.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
Этот курс посвящен разработке микросервисов на .NET с использованием C#, MongoDB, Docker, MassTransit и RabbitMQ, включая настройку окружения, создание REST API, работу с базой данных, синхронное и асинхронное взаимодействие сервисов, а также интеграцию с фронтендом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Что такое API-шлюз?
API-шлюзы — это "парадный вход" в ваши серверные сервисы.
API-шлюзы обрабатывают клиентские запросы и направляют их к нужным конечным точкам.
Клиенту не нужно знать о внутренней архитектуре вашего бэкенда.
Основные характеристики:
🟢 Маршрутизация запросов
🟢 Аутентификация
🟢 Авторизация
🟢 Балансировка нагрузки
🟢 Ограничение частоты запросов
Если вам нужна хорошая технология для создания API-шлюза, обратите внимание на YARP.🧔♂️
👉 @KodBlog | #ресурсы
API-шлюзы — это "парадный вход" в ваши серверные сервисы.
API-шлюзы обрабатывают клиентские запросы и направляют их к нужным конечным точкам.
Клиенту не нужно знать о внутренней архитектуре вашего бэкенда.
Основные характеристики:
Если вам нужна хорошая технология для создания API-шлюза, обратите внимание на YARP.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Если вы хотите начать изучать 𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀 бесплатно, вот отличный ресурс.
Автор создал двухчастную серию по основным концепциям, которые должен знать разработчик, работающий с K8s. Включены примеры и пошаговые инструкции — все работает локально!🧔♂️
В этих двух статьях вы узнаете:
❓ Почему вам стоит изучать Kubernetes, если вы работаете как AI или Data Engineer.
➖ И я полностью согласен — иногда это перебор.
🟢 Общие ресурсы Kubernetes для конфигурации приложений.
🟢 Как развертывать приложения.
🟢 Разные способы развертывания приложений и когда использовать какой.
🟢 Много визуальных объяснений того, как на самом деле работает K8s при создании того или иного типа ресурса.
Помните, что даже NVIDIA NIM работает на Kubernetes!💻
📖 Читать: ссылка
👉 @KodBlog | #cтатья
Автор создал двухчастную серию по основным концепциям, которые должен знать разработчик, работающий с K8s. Включены примеры и пошаговые инструкции — все работает локально!
В этих двух статьях вы узнаете:
Помните, что даже NVIDIA NIM работает на Kubernetes!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
Альтернатива с открытым исходным кодом для Vercel, Heroku и Netlify
Dokploy — это бесплатная, самохостируемая платформа как услуга (PaaS), предназначенная для упрощения развертывания и управления приложениями и базами данных.😤
✓ Развёртывайте свои проекты на любом сервере
✓ Легко управляйте базами данных и резервными копиями
✓ Интеграция с GitHub и современный интерфейс
→ http://github.com/Dokploy/dokploy
👉 @KodBlog | #ресурсы
Dokploy — это бесплатная, самохостируемая платформа как услуга (PaaS), предназначенная для упрощения развертывания и управления приложениями и базами данных.
✓ Развёртывайте свои проекты на любом сервере
✓ Легко управляйте базами данных и резервными копиями
✓ Интеграция с GitHub и современный интерфейс
→ http://github.com/Dokploy/dokploy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1