Обновить
512K+

Веб-разработка *

Делаем веб лучше

376,84
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели13K

Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами.

Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}

Читать далее

Линии влияния в многопролётных шарнирных балках: бесплатный веб-инструмент для проверки расчётов

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели10K

Я занимаюсь разработкой ПО для строительной механики. В процессе работы над одним из проектов возникла потребность в простом инструменте для построения линий влияния в многопролётных шарнирных балках. Готового решения под рукой не оказалось, и я написал свой веб-модуль.

Результатом захотелось поделиться с сообществом — вдруг кому-то тоже пригодится. Под катом — описание того, что получилось, как это работает, и где может быть полезно.

Читать далее

ТОП-10 сайтов мебельных магазинов: лучшие UX-решения и приемы юзабилити

Время на прочтение7 мин
Охват и читатели10K

Как сделать интернет-магазин мебели удобным для покупателя? В этой статье собрал 10 мебельных eCommerce-проектов с сильным UX и удачными решениями по юзабилити. Разобрал, как бренды выстраивают навигацию, оформляют каталог, помогают выбирать товары и упрощают путь до покупки.

Покажу, какие UX-подходы действительно работают в мебельном eCommerce: от структуры каталога и фильтров до карточек товара, визуальной подачи и сценариев оформления заказа. Статья поможет посмотреть на собственный интернет-магазин со стороны пользователя, найти точки роста и подсмотреть практические решения для улучшения пользовательского опыта.

Читать далее

Штраф в размере 155 000 рублей получил владелец сайта по заявлению Роскомнадзора

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

Практически в каждой свой статье, в которой прямо или косвенно идёт речь о важности соблюдения Закона о персональных данных, я упоминаю риск получения административного штрафа по ст. 13.11 КоАП РФ. Теперь давайте поговорим не про «очередные страшилки для бизнеса», а про реальную судебную практику.

Читать далее

Вайбкодинг заканчивается на localhost: как я строю SaaS для цифровизации коттеджных поселков с Codex

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели12K

Однажды я решил, что в пару кликов смогу с помощью Codex навайбкодить SaaS для цифровизации коттеджных поселков: платежи, документы, новости, голосования, мессенджер, PWA, Android, iOS.

Первый прототип на localhost быстро создал иллюзию, что продукт почти готов. А потом выяснилось, что приложение — это еще не продукт. Нужны продажи, пилот, юридическая упаковка, доверие, поддержка, понятная цена и люди, готовые платить.

В статье рассказываю, как AI помог мне пройти путь от идеи до работающей системы, и почему самым сложным оказалось не написать код, а понять, что такое продукт на самом деле.

Вайбкодим!

Как я сделал «клик по элементу → открыть в VS Code» за один вечер

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.1K

Началось всё банально. Зашёл коллега, говорит: «Где у нас хлебные крошки в шапке лежат?». Проект — около 150 компонентов, всё именуется по-своему, структура папок местами загадочная. Я начал тыкать в React DevTools, искать по тексту «Breadcrumb» в файлах… В общем, минут через пять нашёл. Это в очередной раз раздражало.

Читать далее

Что новенького есть в CSS в 2026 году?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели17K

Привет, Хабр!

Мне всегда нравилось следить за тем, как развивается CSS. Стараюсь следить за новыми возможностями, чтобы не пропускать что-то действительно важное. И недавно подумал: «А почему бы не рассказать о них читателям Хабра?» Так я и оказался здесь.

Я составил список новинок, которые кажутся мне особенно интересными и важными. Они всё ещё экспериментальные. Браузеры только в последние месяцы начали поддерживать их. Так что это суперсвежие штуки.

Давайте посмотрим, что я вам подготовил.

Читать далее

Браузеры подстраиваются под большие сайты

Время на прочтение7 мин
Охват и читатели11K

В некоторых браузерах есть код, проверяющий, какой домен посещает пользователь, и меняющий способ рендеринга страницы.

Да, вы всё поняли верно. If site == X, do Y.

Особого обращения заслужили TikTok, Netflix, Instagram* и даже SeatGuru.

Так поступают Safari и Firefox. Но не Chrome.

И это говорит нам кое о чём любопытном.

Если вам любопытно, исходный код выложен на Github. Это буквально проверки доменов, встроенные в движки рендеринга браузеров и гласящие: «если пользователь находится на этом домене, рендери вот это иначе» или «если он на этом домене, обрабатывай этот вызов API по-другому». Это не баг, а фича, выпускаемая для миллиардов устройств.

Читать далее

Тонус в реактивных системах

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели6K

Вы можете вычислять зависимые реактивные состояния как можно раньше, так и как можно позже, вплоть до отказа от вычислений, если это возможно. Далее разберём, как делать это правильно.

Не полениться и прочитать

Frontend Status: свежий дайджест фронтенда и AI — 25.05.2026

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9.6K

Привет!

Это 16 выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске:

📺 Если Next.js кажется слишком «магическим»: интервью с создателем TanStack — про client-first, type inference и честный выбор стека без маркетингового тумана.

🤖 Когда ИИ уже в проде, а контроля нет: от джунов без Copilot до паттерна «архитектор + разработчик», ревью агентских PR, «В поисках Мемо» (одна таблица в ClickHouse вместо Qdrant и Chroma) и on-premise на 4× RTX 4090 с водянкой — чтобы внедрять AI дисциплинированно.

🛡️ Один пропуск в npm — и секреты в CI утекают: атака на 84 пакета @tanstack, чеклист безопасности React (XSS, HttpOnly, CSP, Zod) и инициатива Mozilla WAICT — чтобы не узнавать об инциденте из новостей.

🎨 CSS и анимации без лишнего JS: safe-area-inset на реальных устройствах, забытые HTML/CSS-фичи, scrollytelling на scroll-state queries и портфолио на GSAP + шейдерах — чтобы интерфейс выглядел дороже, а код оставался прозрачным.

⚡ JavaScript и Node.js 26 без сюрпризов при миграции: orval из OpenAPI, когда цепочки .filter().map() вредят читаемости, Temporal и ломающие изменения в релизе от 5 мая — чтобы меньше гадать и быстрее обновлять рантайм.

⚛️ React-стек 2026 без ставки вслепую: патчи Next.js, local-first как data architecture, карта 60+ библиотек, Ant Design 6.4 и whisper.rn on-device — чтобы выбрать инструменты осознанно, а не по инерции.

🅰️ Angular и инфраструктура вокруг него: Taiga UI MCP для агентов.

📦 GitHub в России, интерактивная карта HistoryPrint на 13 000 событий, критика FSD, Safari TP 243, дизайн-система в DESIGN.md без дизайнера и сводка апдейтов Deno, Vite, Next.js, Vue и Tailwind — …и многое другое.

Читать далее

Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения

Время на прочтение11 мин
Охват и читатели8.8K

В dev-среде аутентификация может годами выглядеть безобидно: логин прошёл, cookie выпущена, [Authorize] работает. А потом приложение переезжает в продакшен — и часть пользователей начинает вылетать из системы без понятной ошибки. Иногда всплывает 431 Request Header Fields Too Large, иногда сервер просто перестаёт принимать сессию, которая ещё минуту назад выглядела корректной.

В статье разбираем, почему cookie аутентификации в ASP.NET Core разрастаются до опасных размеров, как это проявляется в реальных системах и какие решения помогают не лечить симптомы, а привести схему аутентификации в нормальное production-ready состояние.

Разобрать проблему

Как отлаживать мини‑приложения в MAX и почему без DevTools это боль

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.4K

MAX позиционируется как серьёзная платформа с госинтеграциями, но при этом разработчикам не дают базовых инструментов отладки. Работать в таких условиях можно, но это постоянные костыли и лишние часы. Я обращаюсь к команде MAX: если вы хотите, чтобы под вашу платформу делали качественные решения, нужно давать разработчикам нормальные инструменты. Иначе мы вместо экосистемы получим ещё один обязательный, но неудобный продукт.

В России сейчас активно продвигают мессенджер MAX как официальную альтернативу Telegram. Для пользователей это значит еще один клиент на рабочем столе, а для разработчиков — ещё одна платформа для ботов и мини‑приложений.

На бумаге это звучит норм: единая платформа, интеграция с госсервисами, мини‑аппы для бизнеса (привет, WeChat). На практике возникает базовый вопрос: как это вообще разрабатывать и отлаживать, если в десктопном клиенте нет нормальных DevTools?

В этой статье я попробую рассказать, как выглядит попоболь отладка мини‑приложений в MAX сегодня, чем она отличается от привычного процесса в Telegram (да да, опять сравнение с вездесущей телегой), и почему отсутствие инструментов разработки — не мелкая придирка, а системная проблема.

Читать далее

CVE, Shell и побег из контейнера: испытываем возможности PT Cloud Application Firewall

Время на прочтение10 мин
Охват и читатели9.2K

Привет, Хабр! Меня зовут Иван Чеботарев, инженер направления защиты приложений в К2 Кибербезопасность. В статье рассмотрю, как PT Cloud Application Firewall (ucWAF) реагирует на побег из контейнера после RCE с использованием новой CVE-2025-55182. Это уязвимость в Next.js, открывающая Remote Code Execution через механизм Server Actions. Я собрал тестовый стенд с уязвимым Next.js-и проверил: классический веб-шелл, Reverse Shell и побег из контейнера. Next.js — один из самых популярных фреймворков для фронтенда, а Server Actions включены по умолчанию начиная с 14-й версии. Если вы деплоите Next.js в контейнерах, эта статья покажет, как выглядит полная цепочка от RCE до выхода на хост, и на каком этапе WAF может ее остановить.

Читать далее

Ближайшие события

3Sound: поиск бесплатных звуков для игр больше не боль?

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.7K

Я — разработчик игр, и в какой-то момент заметил, что трачу на поиск звуков слишком много времени. Бесплатных звуков в интернете полно, но найти нормальные почти невозможно. Так появился 3Sound — библиотека, генератор и конвертер аудио, которых мне самому постоянно не хватало.

Читать далее

Как аквариум на подоконнике превратился в full-stack платформу с AI

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Я аквариумист. Однажды мне надоело гуглить совместимость рыб в десяти вкладках и записывать параметры воды в блокнот. За два месяца это вылилось в платформу с маркетплейсом, аукционами, AI-диагностикой и 93 таблицами в PostgreSQL. Рассказываю, что получилось, на чём построено и

где я облажался.

GiftsHub — из чат-бота в полноценный backend-продукт

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.3K

Рассказываем про путь развития проекта, который помогает дарить подарки: веб-платформу GiftsHub. С ней удобно организовывать дни рождения и другие мероприятия.

Статья о том, как проект вырос от MVP для хакатона до полноценного бэкенд-приложения, об ограничениях во время работы и некоторых подробностях технического решения.

Читать далее

Java и постквантовый TLS

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели15K

В JDK 27 появится JEP 527: гибридный post-quantum key exchange для TLS 1.3. Разбираем, что меняется в JSSE, зачем нужен X25519MLKEM768 и какие проблемы могут всплыть при миграции.

А ты готов к квантовым атакам ?

Пользователь пишет issue, агент меняет сайт. Да, я это сделал

Время на прочтение2 мин
Охват и читатели15K

Три месяца назад, в феврале, я написал комментарий, что LLM-агенты могут обновлять кодовую базу по тикетам конечных пользователей и сразу выкатываться на прод. Некоторые коллеги эту идею поддержали, некоторые наоборот - раскритиковали. Это нормально, у нас у всех свой собственный опыт, которым и форматируется наше мышление.

Мой опыт говорит мне о том, что агентов можно выстроить в цепочку, подать на вход задачу (issue) и на выходе иметь готовый результат - код. Или отказ в обработке и причину отказа - тоже себе результат. Ведь именно такую цепочку я и сделал. Цепочку, которая автоматически, без моего участия, превращает запрос любого github-пользователя в страницу моего сайта. Или не превращает, если не посчитает нужным. Теперь любой github-пользователь может не просто критиковать мой февральский коммент, а критиковать предметно - на деле показать, что агенты действительно не могут справляться с возложенной на них задачей. Или убедиться на практике, что могут.

Читать далее

Что сейчас с Project Loom? Примеры и код

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+

Что же с Project Loom?

Линт проектов: собираем ESLint, Prettier и Stylelint в один пакет

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели12K

В большинстве компаний линтинг со временем превращается в хаос: разные правила ESLint, устаревшие конфиги и копипаста между проектами.

Покажу, как навести порядок – собрать линт-инфраструктуру в один пакет и выстроить систему контроля кода для всех репозиториев.

Читать далее