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
Как использовать условный 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