Обновить
413.52

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

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

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

Canvas-конфетти без библиотек: пишем систему частиц и физику на чистом JS

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

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

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

Мы будем делать схематичную анимацию фейерверков и конфетти по нажатию на кнопку при помощи JS. Изученные принципы универсальны для любого ЯП. Нам понадобится немного знаний ООП, тригонометрии, физики и совсем чуть-чуть геометрии. Вот что получится в итоге:

Читать далее

Новости

Как писать юнит-тесты, которые не ломаются

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

Привет, Хабр! Меня зовут Владимир, я Python-разработчик в команде IMV в Авито. Мы разрабатываем продукт, который помогает оценивать рыночную стоимость товара, будь то автомобиль, квартира или холодильник. Мы часто пишем тесты, и в этой статье я расскажу, как разные подходы к юнит-тестированию влияют на качество тестов, когда они помогают проекту, а когда — мешают, и почему само по себе наличие тестов ещё не гарантирует пользы. Статья будет полезна разработчикам, тимлидам и всем, кто пишет юнит-тесты и поддерживает код в долгоживущих проектах.

Читать далее

Техническая реализация безопасной системы сделок через модель эскроу (не гаранты, а математика)

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

Архитектура большинства гарант-сервисов неразрывно связана с рисками: ошибками, возможностью мошенничества, сложными и непрозрачными схемами. Ее можно заменить аналогом с принципиально другим уровнем безопасности — системой по модели эскроу. В ней нет необходимости доверять человеку, только математике.

Показываем, как реализовать технические гарантии безопасности сделок с помощью MultiSig-кошельков, Node.js, smart-контрактов, TronWeb v5. Разбираем код и логику проектирования P2P-платформы, которая не может украсть деньги пользователя (даже если захочет) 👇

Читать далее

«Sandtrix»: как фильм вдохновил на переосмысление легенды

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

Думаю, что в каждом из нас живёт воспоминание о первой видеоигре, для кого-то это были «Герои 3», для кого-то — гонки на приставке из 90-х, а для миллионов людей по всему миру первой любовью стали падающие кирпичики, которые нужно было складывать в ровные ряды. Тетрис не требовал перевода, не нуждался в инструкции и не спрашивал, сколько тебе лет — он просто затягивал.

Недавно я посмотрел фильм «Тетрис» (2023) и поймал себя на мысли, что история создания — не менее увлекательна, чем сама игра. А ещё она вдохновила меня на идею, взять классическую механику и добавить в неё щепотку… песка.

Читать далее

Prompt injection для смелых духом: от zero-click атаки на 1.4B устройств до философского джейлбрейка

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

SQL-инъекцию мы лечили 20 лет и вылечили. Prompt injection — фундаментально нерешаема. Это не я придумал. OWASP ставит её на первое место второй год подряд. Найдена в 73% продакшн AI-систем при аудитах.

Вы не за статистикой сюда пришли. Вы пришли за мясом. Ниже — 10 кейсов, которые не попали в типичный пересказ про Chevrolet за доллар. Тут пострашнее.

Что происходит?

Как скринридер «видит» сайт: DOM, accessibility tree и API простыми словами

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

Когда мы говорим про скринридеры, почти все сначала думают так: «Ну он просто читает HTML со страницы».

Это не так.

Скринридер не видит экран, не читает HTML напрямую, и не “ходит” по странице, как человек с мышкой.

Между страницей в браузере и скринридером есть несколько промежуточных слоёв.
И именно из-за них доступность либо работает, либо полностью ломается.

Читать далее

Многогранный мониторинг Angie — продолжение истории

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

Многогранный мониторинг Angie - продолжение истории

 Мы привыкли, что веб-сервер - это чёрный ящик, который просто гонит трафик. Стандартные метрики Angie представлены широким спектром. Но что, если нам надо еще больше? Что если, прямо на уровне сервера, без изменения кода приложения, можно в реальном времени видеть, что именно клиенты добавляют в корзину, строить гистограммы времени ответа бэкендов, или подсчитать буквально что угодно и делать это с производительностью атомарных операций в памяти? Сегодня разбираем мощнейший модуль metric в Angie.

Читать далее

Разбор доступности Moni для незрячих пользователей: взгляд незрячего разработчика

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

Доступность интерфейсов в web3 и финтех-проектах по-прежнему редко рассматривается как обязательная часть архитектуры. Чаще всего внимание уделяется визуальной составляющей и функциональности, тогда как сценарии использования без мыши или без экрана остаются вне фокуса. В этом разборе я анализирую доступность Moni с точки зрения незрячего пользователя (сам являюсь им) и параллельно даю конкретные технические рекомендации, которые могут улучшить удобство использования интерфейса в целом.

Читать далее

RAG на PHP + Qdrant: быстрый MVP для внутренней базы знаний

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

RAG на PHP - звучит непривычно. Делюсь опытом построения чат-бота для поиска по внутренней базе документов: Symfony, Qdrant с гибридным поиском, YandexGPT для embedding и генерации ответов. Внутри — готовый код, подводные камни чанкинга и советы, которые сэкономят вам время.

Читать далее

Перезапрос упавшей статики

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

Статья про то как контролировать загрузку статики у себя в продакшн сборке и предотвратить сайд-эффекты.

Читать далее

Новые реактивные формы в Angular: Signal Forms API

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

Привет! Меня зовут Незар, я фронтенд-разработчик из Т-Банка. В 21 релизе Angular команда разработчиков представила экспериментальное API для построения реактивных форм с помощью сигналов. В статье подробно его разберем. 

Тому, кто знаком с классическими Reactive Forms в Angular, новый Signal Forms API покажется эволюционным шагом: те же мощные возможности, но с сигналами — а значит, с автоматической реактивностью, полной типизацией и меньшим количеством шаблонного кода. 

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

Читать далее

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

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

Привет!

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

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

Медиа: Mastra Workspaces (свой «Claude Code»), Рич Харрис про RSC, безопасность фреймворков.

AI: безопасность агентов, пост-обучение LLM (Netflix), Brave Search API.

A11y: Axe MCP в DevTools, чеклист Shopify, role="presentation".

Браузеры: Interop 2026, WebMCP и ранний доступ в Chrome.

3D: 3D-труба на R3F, procedural snake на Three.js.

CSS: эластичный текст, pie chart, параллакс, пирамиды, вихрь, Ambient, освещение.

JS/TS: sql.js, Perspective BI, TS-дженерики.

React: State of React 2025, shadcn vs MUI, HighTable, FrankenTUI, Ant Design 6.3, оптимизация.

UX/UI: фоновые задачи, интерфейсы для агентов, семантические токены.

Тестирование: JIT Tests от Meta (тесты от LLM).

Разное: Electrobun, учебник математика/CS/AI, WarCraft 3 UI, npmx, Stockfish 18.

Читать

Я спросил у AI: «Заменишь ли ты меня?» и написал сервис за 2 часа

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

Все мы видели эти заголовки: «ИИ оставит программистов без работы», «Копирайтеры больше не нужны», «Завод — наше всё». Паника, хайп, мемы.

Но есть факты: Число резюме к числу вакансий увеличилось в 2 раза за 2025 год в сфер ИТ.

Поэтому я сделал шуточный сервис ai‑fire.ru, который показывает, отберёт ли у вас работу ИИ.
1️⃣ вводишь свою профессию
2️⃣ жмёшь кнопку
3️⃣ узнаёшь — пора паниковать или пока можно выдохнуть

Читать далее

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

Почему статические сайты возвращаются и чему они научились

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

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

Мы привыкли считать нормальным сайт на WordPress, «Битриксе» или хотя бы самописном Django. Статика же оставалась уделом гиков, документации и страниц о скором запуске.

В 2025 году статические сайты вернулись. Не в качестве альтернативы для бедных, а как зрелая архитектура, которая решает 90% задач быстрее, дешевле и безопаснее, чем тяжёлый бэкенд.

Читать далее

Плохие практики в вёрстке

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

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

Мне нравится смотреть, как верстают современные фронтендеры. Забавно наблюдать, как меняется вёрстка с годами. И сразу скажу, что не всё «плохо». Но ошибки, конечно же, есть. Раньше были свои примеры «плохого» кода, сейчас другие. О них хочу поговорить в этой статье.

Я составил список распространённых примеров кода «с душком». Старался быть объективным, но судить только вам, насколько это у меня получилось.

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

Читать далее

События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper

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

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых хранится весь "нестандарт".

В этой статье описаны все триггеры (события), которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Кастомизировать поля ядра Joomla

Как я строил бэкенд с ментальностью фронтендера: история одного провала

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

Я в IT больше 10 лет. Начинал с верстки, вырос в фронтенд-разработчика, потом стал тимлидом, далее менеджером проектов и сейчас руковожу отделом разработки решений для бизнеса. Я знаю JavaScript. Я люблю JavaScript. И именно эта любовь сыграла со мной злую шутку.

В индустрии есть опасная иллюзия: «Если ты знаешь JavaScript, ты – фулстек». Node.js дал нам, фронтендерам, суперсилу. Мы можем писать серверный код на том же языке, что и клиентский. Мы можем использовать одни и те же типы, одни и те же библиотеки.

Нам кажется, что разница между фронтендом и бэкендом — только в том, где выполняется код.
В браузере нет fs (файловой системы), а на сервере нет window. Вот и вся разница, да?

Нет. Разница не в синтаксисе. Разница в мышлении. И я узнал это самым тяжелым способом – положив релиз.

Читать далее

View Transitions API: полное руководство по плавным переходам в браузере

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

View Transitions API: полное руководство по плавным переходам в браузере

View Transitions API часто показывают на демках с одной карточкой. Но когда вы начнёте внедрять его в реальный проект с асинхронной загрузкой, React, кастомными анимациями и поддержкой старых браузеров, — окажется, что демки умалчивают о массе деталей.

Узнать подробнее

Контент-заводы: как ИИ убивает интернет

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

Сразу начнем с того, что эту картинку сгенерил ИИ. А теперь поехали.

Ещё 5 лет назад, если вы гуглили «Python обучение», вы находили живые блоги разработчиков, статьи на Хабре (по которым видно, что их писал человек, ну или как минимум рефачил перевод с англоязычной статьи, что уже неплохо) и парочку нормальных курсов. А сегодня вы тонете в помойке. 90% первой страницы выдачи (где бы то ни было - гугл, яндекс, лента новостей где-либо, отзывы к товарам на маркетплейсах и картах, ютуб и т.д.) - сгенерированный нейросетями шлак. Как мы дошли до жизни такой?

Читать далее

12 инсайтов ведущего инженера OpenAI про разработку и внедрение AI

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

Это перевод основных тезисов из интервью Ленни Ракитски с Шервиным Ву, ведущим инженером из OpenAI. Оригинал на английском по ссылке.

1. AI пишет почти весь код в OpenAI. 95% инженеров используют Codex, а те, кто реально встраивает эти инструменты в работу, открывают на 70% больше pull requests, чем их коллеги - и разрыв со временем только растет.

2. Роль software engineer смещается от написания кода к управлению флотом AI-агентов. Многие инженеры ведут 10-20 параллельных Codex сессий, больше направляют и ревьюят, чем пишут код руками.

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