К содержимому

Комментарии

Читайте также

Как работает Git? Для начала важно понять, где хранится ?...

Как работает Git?

Для начала важно понять, где хранится наш код. Обычно предполагается, что существует только два места: удалённый сервер (например, GitHub) и локальный компьютер. Однако это не совсем так. Git использует три локальных хранилища на нашем компьютере, а значит, наш код может находиться в четырёх местах:
• Рабочая директория (Working directory): место, где мы редактируем файлы.
• Область подготовки (Staging area): временное место, где файлы находятся перед коммитом.
• Локальный репозиторий (Local repository): содержит закоммиченный код.
• Удалённый репозиторий (Remote repository): сервер, где хранится код (например, GitHub).

Большинство команд Git в основном перемещают файлы между этими четырьмя локациями.

Теперь вопрос к тебе: знаешь ли ты, с каким хранилищем работает команда git tag?
Эта команда позволяет добавлять аннотации к коммиту.

? [club79831840|@Bookflow]

Как работает Git? Для начала важно понять, где хранится ?...

В чём разница между аутентификацией на сессиях и 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]

В чём разница между аутентификацией на сессиях и JWT? Мн...

? Как улучшить производительность API? Оптимизация API ??...

? Как улучшить производительность API?
Оптимизация API — ключ к быстрой и стабильной работе приложений. Вот 5 проверенных техник:

1⃣ Пагинация (Pagination)
Разбиваем большой объем данных на страницы.
? Уменьшает нагрузку
? Позволяет обрабатывать большие выборки

2⃣ Асинхронное логирование (Async Logging)
Сохраняем логи в буфер, а затем на диск.
? Меньше задержек
? Выше пропускная способность

3⃣ Кэширование (Caching)
Часто используемые данные храним в кэше, а не в БД.
? Быстрый доступ
? Меньше запросов к базе данных

4⃣ Сжатие данных (Payload Compression)
Сжимаем запросы и ответы.
? Уменьшение объема трафика
? Быстрая загрузка/выгрузка

5⃣ Пул соединений (Connection Pool)
Повторно используем открытые соединения с БД.
? Снижение накладных расходов
? Повышение эффективности

? Используй эти подходы, чтобы ускорить свой API и улучшить пользовательский опыт.

? [club79831840|@Bookflow]

? Как улучшить производительность API? Оптимизация API ??...
Еще посты

Свежие комментарии