Регулярные выражения в Linux 👉 [club79831840|@Bookflow]
Регулярные выражения в Linux
👉 [club79831840|@Bookflow]
Как работает Git? Для начала важно понять, где хранится ?...
Как работает Git?
Для начала важно понять, где хранится наш код. Обычно предполагается, что существует только два места: удалённый сервер (например, GitHub) и локальный компьютер. Однако это не совсем так. Git использует три локальных хранилища на нашем компьютере, а значит, наш код может находиться в четырёх местах:
• Рабочая директория (Working directory): место, где мы редактируем файлы.
• Область подготовки (Staging area): временное место, где файлы находятся перед коммитом.
• Локальный репозиторий (Local repository): содержит закоммиченный код.
• Удалённый репозиторий (Remote repository): сервер, где хранится код (например, GitHub).
Большинство команд Git в основном перемещают файлы между этими четырьмя локациями.
Теперь вопрос к тебе: знаешь ли ты, с каким хранилищем работает команда git tag?
Эта команда позволяет добавлять аннотации к коммиту.
👉 [club79831840|@Bookflow]
В чём разница между аутентификацией на сессиях и JWT? Мн...
В чём разница между аутентификацией на сессиях и JWT?
Многие разработчики не знают об этом различии, хотя оно критически важно.
Большинство веб-приложений используют один из двух подходов к аутентификации:
сессии (где состояние хранится на сервере) или JWT (где состояние передаётся вместе с клиентом).
1. Аутентификация на основе сессий
Когда пользователь входит в систему, бэкенд генерирует случайный session ID, сохраняет его в кэше или базе данных и устанавливает этот ID как HttpOnly cookie в браузере. При каждом запросе браузер отправляет cookie, сервер находит соответствующую запись и восстанавливает пользовательский контекст.
Такой подход:
• сохраняет чувствительные данные на сервере;
• позволяет мгновенно завершить сессию удалением записи.
Преимущества сессий:
• 🔹 Мгновенная деактивация доступа (“выйти отовсюду”) — одной строкой: просто удалить запись из Redis или SQL.
• 🔹 Секреты никогда не покидают сервер, что снижает риск утечки.
• 🔹 Отлично подходит для малых и средних систем, где кэш — не узкое место.
Но: при горизонтальном масштабировании понадобятся «липкие» сессии или реплицированный кэш, что добавляет задержки и усложняет инфраструктуру.
2. Аутентификация с помощью JWT (JSON Web Token)
После входа сервер подписывает JWT, содержащий:
• заголовок (например, alg, typ),
• полезную нагрузку (claims — sub, role и т.д.),
• цифровую подпись.
JWT — это просто base64-строка (не шифрованная): любой может прочитать данные, но подделать их может только владелец секрета. Сервер не хранит состояние — любой узел может локально проверить подпись и доверять данным.
Преимущества JWT:
• 🔸 Беспамятный (stateless): не требует общего хранилища, подходит для микросервисов и edge-нод.
• 🔸 Удобен для SPA и мобильных приложений, напрямую работающих с бэкендами.
• 🔸 Лёгкий: помещается в заголовок Authorization или cookie.
Минус: JWT нельзя отозвать после выдачи — он действителен до истечения срока, так что «экстренный выход» или блокировка аккаунта требуют дополнительной логики.
Вывод:
• Если главное — возможность немедленно отозвать доступ, выбирай сессии.
• Если нужна масштабируемость без состояния, выбирай JWT, но помни, что токены нельзя «забрать обратно» после их выдачи.
👉 [club79831840|@Bookflow]
🚀 Как улучшить производительность API? Оптимизация API ??...
🚀 Как улучшить производительность API?
Оптимизация API — ключ к быстрой и стабильной работе приложений. Вот 5 проверенных техник:
1⃣ Пагинация (Pagination)
Разбиваем большой объем данных на страницы.
🔹 Уменьшает нагрузку
🔹 Позволяет обрабатывать большие выборки
2⃣ Асинхронное логирование (Async Logging)
Сохраняем логи в буфер, а затем на диск.
🔹 Меньше задержек
🔹 Выше пропускная способность
3⃣ Кэширование (Caching)
Часто используемые данные храним в кэше, а не в БД.
🔹 Быстрый доступ
🔹 Меньше запросов к базе данных
4⃣ Сжатие данных (Payload Compression)
Сжимаем запросы и ответы.
🔹 Уменьшение объема трафика
🔹 Быстрая загрузка/выгрузка
5⃣ Пул соединений (Connection Pool)
Повторно используем открытые соединения с БД.
🔹 Снижение накладных расходов
🔹 Повышение эффективности
📌 Используй эти подходы, чтобы ускорить свой API и улучшить пользовательский опыт.
👉 [club79831840|@Bookflow]