Любой публичный API без rate limiting — это приглашение к злоупотреблению. Один агрессивный клиент способен положить сервис для всех остальных. Rate limiting ограничивает количество запросов от…
Web Components существуют с 2014 года, но долго оставались «технологией будущего». В 2026 году ситуация изменилась: все браузеры поддерживают Custom Elements v1, Shadow DOM, Declarative Shadow DOM…
Последние десять лет фронтенд двигался в одном направлении: JSON API на бэкенде, SPA-фреймворк на клиенте, тонны JavaScript для рендеринга того, что раньше делал сервер. htmx предлагает откатиться к…
Если ваше приложение отправляет одинаковый system prompt в каждом запросе к LLM — вы платите за одни и те же токены снова и снова. Prompt caching решает проблему: провайдер кэширует обработанный…
Если вы строите контентный сайт — блог, документацию, лендинг — и устали от того, что Next.js тащит на клиент сотни килобайт JavaScript ради одной кнопки, пора посмотреть на Astro. Этот фреймворк по…
В 2024 году команда Astral (создатели ruff) выпустила uv — менеджер пакетов Python, написанный на Rust. За полтора года он дорос до стабильной версии и претендует на замену pip, pip-tools, virtualenv…
Jest доминировал в тестировании JavaScript последние 7 лет. Но с приходом Vite как стандартного сборщика появился Vitest — тест-раннер, который использует ту же конфигурацию и pipeline что и ваш…
Composition API — главное архитектурное изменение Vue 3. Он не заменяет Options API полностью, но решает проблемы, с которыми Options API не справлялся: переиспользование логики, типизация и…
В 2026 году у JavaScript-разработчика три рантайма на выбор: проверенный Node.js, амбициозный Deno 2.0 и скоростной Bun. Каждый решает свои проблемы и имеет свои компромиссы. Разбираемся, что нового…
Если вы пришли в Rust из Python, borrow checker — первая стена. В Python память управляется GC, и вы не думаете о владении. В Rust ownership — центральная концепция, гарантирующая безопасность памяти…
В 2026 году axios всё ещё стоит в dependencies у миллионов проектов, хотя Node.js давно имеет встроенный HTTP-клиент. Начиная с Node 21 fetch() доступен без флагов, а под капотом работает undici —…
Linux долго жил с двумя подходами к асинхронному I/O: epoll для сокетов и POSIX aio для файлов. Оба имеют фундаментальные ограничения. io_uring, появившийся в ядре 5.1 (2019), решает их через единый…
Текстовые логи вида INFO: User logged in работают, пока сервис маленький. Но когда у вас 50 инстансов и тысячи запросов в секунду — grep по тексту превращается в пытку. structlog решает проблему:…
Передавать пароли через переменные окружения — привычно, но небезопасно. Любой с доступом к docker inspect видит все env в открытом виде. Docker secrets решают проблему: секреты монтируются как файлы…
E2E-тестирование фронтенда в 2026 году — это выбор между Playwright и Cypress. Оба инструмента зрелые, оба активно развиваются, но архитектурно они принципиально разные. Разбираемся в отличиях,…
Каждый фронтенд-фреймворк с SSR сталкивается с одной проблемой: сервер отрендерил HTML, но страница мертва — кнопки не кликаются, формы не работают. Чтобы оживить интерфейс, нужна гидрация: скачать…
Типичный Docker-образ Node.js-приложения на базе node:18 весит больше гигабайта. В проде вам не нужны ни компилятор, ни dev-зависимости, ни исходники TypeScript. Multi-stage builds решают эту…
JWT стал стандартом де-факто для аутентификации в SPA и микросервисах. Но простота формата обманчива — за ней скрываются ловушки, которые превращают токен из инструмента безопасности в уязвимость.…