Обновить
512K+

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

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

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

Baseline: апрель 2026

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

Обзор на браузерные API, которые стали Widely available в апреле 2026. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.

Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем.

2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.

Узнать, что можно применять в проде

Новости

Вайбкод и безопасность: как не задеплоить уязвимости вместе с фичами

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

Вайбкод это круто, пока не открываешь первый отчёт сканера безопасности и не видишь 234 проблемы. В статье разберём, как выстроить пайплайн вокруг LLM-проекта: подключить SAST-инструменты, настроить Quality Gate как блокировщик деплоя и использовать модель для исправлений — не вместо инструментов, а поверх них. Покажу на реальном проекте с реальными цифрами. Будет полезно тем, кто активно использует LLM для написания кода, и специалистам в области appsec/devsecops.

Часть 1 — контекст, данные из отчёта DryRun Security и немного теории про DevSecOps.

Часть 2 — подключаем SonarCloud, настраиваем Quality Gate, интегрируем в CI/CD.

Часть 3 — первый скан реального проекта: 234 проблемы, как их разбирать и исправлять через Claude 4.6.

Часть 4 — добавляем Semgrep, смотрим, где инструменты расходятся и где ломается подход.

Читать далее

Кэширование в Next.js App Router, как увидеть, почему данные не обновились

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

С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store", данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования.

Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разные уровни поведения. Навигация назад и вперёд может переиспользовать клиентский кэш маршрута, сам маршрут может рендериться по-разному, а серверный fetch в Next.js имеет собственные стратегии кэширования и перевалидации. В актуальной документации это уже разделено на новый режим с Cache Components и на прежнюю модель без них. В этой статье речь именно о привычной модели App Router без Cache Components, где поведение обычно задаётся через fetch, cache, next.revalidate и route segment config. (Next.js)

Полезнее всего разбирать такую тему не с теории, а с наблюдения. Не с вопроса как устроены все слои кэша в Next.js, а с вопроса почему на одном и том же маршруте иногда обновляется рендер страницы, а иногда обновляются данные, и это не всегда одно и то же.

Для примеров ниже используется проект Goods Finder и внешний API DummyJSON. Идея - сначала добавить на страницу штамп серверного рендера, потом отдельно показать момент получения данных, а уже после этого сравнить force-cache, no-store и revalidate.

Читать далее

Как дать AI-агенту не лом, а ключ от браузера: разбираем agent-browser от Vercel

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

Если вы в последнее время пытались прикрутить к своему любимому LLM-агенту возможность самостоятельно гулять по интернету, дебажить веб-приложения, и даже верстать, вы наверняка столкнулись с суровой реальностью. Оказывается, засунуть современный веб в контекстное окно нейросети — очень "дорогая" задача.

Обычно в таких случаях не глядя берут проверенные инструменты вроде Puppeteer или Playwright, которые обернуты в те самые три буквы MCP. Но ребята из Vercel недавно выкатили свою альтернативу — agent-browser (cli-утилиту, написанную на связке Rust и, некогда Node, но об этом позже). Зачем понадобился еще один велосипед для автоматизации, если у нас уже есть стандарты индустрии? Давайте разбираться.

Читать далее

Сейчас сделаю приложение и заработаю на нем. АХАХАХАХАХ, удачи

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

За полгода я сделал мобильное приложение, получил 2000 установок и… 8 платных подписок по $6. Причем одна из подписок — моя.

Читать далее

Возвращение блудного программиста (ч.3)

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

Эта часть будет практической, если помните я решил углубиться в React и Flask. Поэтому при помощи ИИ начинаю. Нет, ИИ не будет делать за меня весь проект, он будет выполнять функцию наставника. Ну и иногда чернорабочего (как, например, собрать файл SQL для инициирования БД) для ускорения ручного труда.

Читать далее

OpenWebUI: System Prompt vs Skills vs MCP Tools — разбираем на живом примере валидации URL

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

System Prompt учит модель что говорить, Skills — как проверить сказанное, MCP Tools — как сделать это в реальном мире. Разбираем трёхуровневую архитектуру на примере бота техподдержки с валидацией ссылок.

Читать далее

Делаем мини-CRM с СМС-уведомлениями через МТС Exolve

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

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

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

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

Я Леонид Тараскин, руководитель портфеля продуктов в МТС Exolve. В этом гайде на Python расскажу, как собрать из связки МТС Exolve и MWS Tables легкую CRM с исходящими и входящими СМС-уведомлениями.

Читать далее

Безопасность приложений на Typescript от А до Я: гайд по защите от очевидных и не очень уязвимостей

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

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

Погрузиться в мир уязвимостей

Как мы создали единый Личный кабинет покупателя и чему научились (1 часть)

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

Привет! Продолжу рассказ о том, как мы работаем над цифровой платформе для риелторов. Сегодня расскажу, как мы за полтора года создали Личный кабинет покупателя (ЛКП) и Корзину — инструменты, которых нет ни у одного агрегатора недвижимости.

Читать далее

Лечение амнезии между AI-сессиями разработки

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

Статья о том, как решить проблему «забывчивости» LLM между AI-сессиями разработки. Рассматривается причина деградации контекста и предлагается практический подход с использованием ai_readme файлов и агентских хуков, которые принудительно возвращают модель к важным инструкциям. Материал ориентирован на опытных промт-инженеров и показывает, как повысить стабильность и качество генерации кода в реальных больших проектах и при больших контекстных окнах.

Читать далее

Геометрические фигуры в CSS-анимации

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

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

Я во фронтенде настолько давно, что учился верстать по текстовым туториалам. В начале десятых годов я и все мои знакомые фронтендеры обязательно были подписаны на рассылки, в которых авторы делились креативными штуками.

По моим ощущениям, сейчас их стало меньше. Все ушли в YouTube, а теперь в ChatGPT. Но мне этот формат не подходит, поэтому я пришёл сюда, к вам.

В прошлом году я создал коллекцию лоадеров. В основе анимации — базовые геометрические фигуры. Я их двигаю, преобразую из одной формы в другую и всё такое.

В этой статье я хочу рассказать весь процесс создания, начиная с самых базовых моментов. Сразу предупреждаю, что в этой статье не будет «живых» вставок. Все эффекты смотрите в моей демонстрации на CodePen.

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

Читать далее

Как проводить нагрузочное тестирование на Python

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

Помните момент, когда сервис работал нормально, но после рассылки, рекламной кампании или наплыва пользователей начал тормозить?

В такие секунды и выясняется, что без нагрузочного тестирования команда на самом деле не знает, где у системы потолок, как проседает производительность и в какой точке критично растёт время отклика. Хорошо настроенное нагрузочное тестирование на Python помогает опираться на цифры: сколько запросов выдерживает API, как ведут себя ключевые бизнес‑сценарии и когда инфраструктура начинает деградировать.

Читать далее

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

Как я в 15 лет написал российскую социальную сеть с нуля — и что из этого вышло

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

Меня зовут Арсений, мне 15 лет. У меня 99 пользователей, более 100 SQL‑миграций и приложение на Android и Windows. И, что не менее важно, — команда единомышленников и поддержка тех, кто верил в проект с самого начала.

Если вам интересно попробовать — заходите на агора.com.

Читать далее

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

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

Привет!

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

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

📺 Vue на развилке роста: разбираем State of Vue 2026, чтобы понять, куда вложить время сегодня и не чинить стек завтра.

🤖 AI без иллюзий, но с результатом: от генеративных UI и reasoning-RAG до правил, которые уменьшают «переписывание ради переписывания» в код-ассистентах.

🛡️ Безопасность как конкурентное преимущество: сверяем npm-практики по OWASP, кейс Context.ai и экономику фейковых звезд, чтобы не привезти риск в прод.

🎨 Новый CSS вместо старых костылей: sizes="auto" и HTML в <canvas> показывают, как делать богаче интерфейсы и проще поддержку.

⚡ JS/TS и фреймворки под давлением масштаба: читаемость кода, ускорение Angular и обновления React/Vue как ориентиры для технических решений.

🧪 Инструменты, которые сокращают путь до релиза: автогенерация E2E, Excel через WebAssembly и процедурный звук для живого интерфейса.

…и многое другое.

Читать далее

Почему вредно сразу начинать рисовать макеты

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

Или как дизайнеру продукта решать проблемы бизнеса и причём тут заводы с конвейерами.

Представь, к тебе пришли с задачей: в приложении низкие показатели активации пробной подписки. Пользователи скачивают приложение, но мало кто начинает триал. Тебя просят сделать что-то с онбордингом, ведь именно там последняя возможность донести ценность.

Поддавшись природному инстинкту дизайнера, ты открыл графический редактор и начал перерабатывать экраны: сократил количество экранов, обновил визуал, переписал тексты, сделал CTA контрастнее. Вроде бы всё стало лучше и понятнее. Но спустя время, когда пришла пора оценивать результаты работы цифры не сдвинулись: люди всё так же доходят до конца онбординга и закрывают приложение, не включая триал. Ты в замешательстве — время и ресурсы потрачены, а цель не достигнута. В какой момент что-то пошло не так?

Привет я продуктовый дизайнер в Альфа-Инвестициях, хочу поделиться знаниями о фундаментальной вещи, которая лежит в основе продуктового дизайна и гораздо важнее навыков UI, ведь кто будет пользоваться вашей красотой, если пользователь не видит ценности всего продукта в целом? Обо всём по порядку.

Читать далее

Иди слепо к своей цели, но будь готов упасть лицом в грязь

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

Привет, Хабр. Я b0w9r.

Полтора года назад мои знания в разработке находились на отметке 0.00. Кто‑то из вас, возможно, помнит мою историю: я начинал учить HTML и CSS, выписывая теги ручкой в тетрадь, потому что у меня не было не ноутбука не компьютера.

Я всё ещё иду по следам программирования, но недавно я сделал важный шаг — всего за 1 месяц я собрал и выкатил свой первый продукт: FocusMind (локальный рабочий хаб с Pomodoro, задачами и заметками).

Оглядываясь на эти полтора года и этот безумный месяц разработки, я сформулировал для себя мысль, которая идеально описывает путь любого начинающего разработчика:

Читать далее

Возвращение блудного программиста (ч.2)

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

Предыстория тут.

Возвращение началось с осознания, что мир IT уже не тот, каким я его помню. Хотя бы потому что работодатель понял, что программист не равно администратор сети и/или СУБД, тем более не просто «компьютерщик» на все руки.

Читать далее

Аналоги Vercel в России и мире

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

Однажды разработчики NEXT.JS решили сделать сервис для хостинга и получился Vercel. Они смогли предложить рынку облачную архитектуру, определяемую фреймворком, что дало великолепный пользовательский опыт.

Но в ряде случаев нужны аналоги Vercel. Особенно в России, где сайты на Vercel недоступны для многих пользователей с мобильного интернета из-за региональных ограничений. Да и не у всех есть возможность оплачивать платные тарифы долларовой картой.

Чтобы лучше представить альтернативы Vercel и их сильные и слабые стороны, я рассмотрю архитектуру самого сервиса и его конкурентов.

Читать далее

Разработка фронтенда интернет-магазина через Qwen 3.6 Plus и Qwen ClI

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

Привет всем.

Расскажу про свой личный опыт разработки через Qwen 3.6 Plus и Qwen ClI. И да, статья полностью написана человеком.

Это небольшой pet-проект, сделанный в момент, когда Qwen 3.6 Plus был бесплатным с лимитом в 1000 запросов в день. Проект представляет из себя фронтенд вымышленного интернет-магазина по продаже микрокомпьютеров.

Цель была протестировать возможности Qwen. На весь проект у меня ушло 4 дня по 2-3 часа.

Читать далее
1
23 ...