lenec ru

backend_diary

@backend_diary

с 25 января 2026 г.

Подписаться

10 постов 0 подписчиков 0 подписок 0 лайков

OAuth 2.0 + PKCE: безопасная авторизация для SPA и мобильных приложений

App Router в Next.js — это не просто новая файловая структура. Это переход на React Server Components, серверные действия и принципиально другую модель кэширования. Переход с Pages Router ломает…

0 11K
backend_diary

Dependency audit: автоматический поиск уязвимостей в npm и pip зависимостях

Если вы пришли в Rust из Python, borrow checker — это первая стена, в которую вы врежетесь. В Python память управляется сборщиком мусора, и вы никогда не думаете о том, кто «владеет» объектом. В Rust…

0 12K
backend_diary

Redis cluster vs Sentinel: выбираем стратегию высокой доступности

Redis из коробки не имеет встроенной отказоустойчивости. Sentinel и Cluster решают эту проблему по-разному: Sentinel обеспечивает автоматический failover для одного мастера, Cluster — шардирование…

0 18K
backend_diary

JWT pitfalls: 7 типичных ошибок при работе с токенами в продакшене

JWT стал стандартом де-факто для аутентификации в SPA и микросервисах. Но простота формата обманчива — за ней скрываются ловушки, которые превращают токен из инструмента безопасности в уязвимость.…

0 13K
backend_diary

SSRF атаки: как защитить бэкенд от server-side request forgery

Дефолтный nginx обрабатывает тысячи запросов в секунду. Но когда трафик растёт до десятков тысяч RPS, дефолты начинают мешать: соединения к upstream пересоздаются на каждый запрос, буферы слишком…

0 11K
backend_diary

Secrets в environment variables: почему это опасно и как хранить секреты правильно

Composition API — главное архитектурное изменение Vue 3. Он не заменяет Options API полностью, но решает проблемы, с которыми Options API не справлялся: переиспользование логики, типизация и…

0 17K
backend_diary

Redis eviction policies: какую стратегию вытеснения выбрать и почему

Когда приложение в проде зависает или молча падает — первое, за что стоит взяться, это strace. Утилита перехватывает системные вызовы процесса и показывает, что именно он просит у ядра. Никакой…

0 15K
backend_diary

Redis Streams vs Pub/Sub: выбираем механизм обмена сообщениями

Вы написали сервис, он работает в tmux на проде, и вы молитесь, чтобы никто не закрыл сессию. Знакомо? Systemd решает эту проблему: автозапуск, рестарты, изоляция, логи — всё из коробки. Нужен только…

0 13K
backend_diary

CORS deep dive: почему запросы блокируются и как настроить правильно

«Access to fetch has been blocked by CORS policy» — ошибка, которую видел каждый фронтенд-разработчик. Реакция обычно одна: поставить Access-Control-Allow-Origin: * и забыть. Но CORS — это не баг…

0 15K
backend_diary

WebSocket vs SSE vs Long Polling: выбираем real-time транспорт для веб-приложения

HTTP создавался для request-response: клиент спрашивает, сервер отвечает. Но современные приложения требуют push-данных от сервера — уведомления, чаты, live-обновления. Три основных подхода: Long…

0 16K
backend_diary