Обновить
1024K+

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Микро-CRM для микро-бизнеса или зачем сеньору пилить пет-проекты

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

О том, как я дважды переделывал пет-проект автоматизации обработки заказов в домашней мастерской керамики и понял, зачем тебе пет-проекты, если ты уже умеешь писать код

Читать далее

От идеи к экосистеме: Как я строю свой opensource-проект mute для пентеста

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

Введение: один сканер, который всё изменил

Всё начинается с боли. Моя боль, как и у многих, кто только погружался в мир пентеста несколько лет назад, заключалась в рутине. Бесконечный поиск чувствительных файлов (.env, backup.zip, config.php и т.д.) на множестве целей, попытки автоматизировать этот процесс через какие-то кустарные скрипты, которые то пропускали важное, то работали вечность.

Первый «велосипед» — скрипт для массового анализа и упрощённого вапалайзинга — был медленным, с кучей миссов и в итоге отправился в корзину. Но зерно идеи осталось.

Спустя время, с новым опытом, я вернулся к этой задаче. Вместо патча старого кода сел и переписал всё с нуля. Так в 2025 году появился FullMute Scanner — быстрый, асинхронный сканер чувствительных данных. Он стал не просто инструментом, а фундаментом, на котором начала расти вся экосистема.

Задача: Быстрое и глубокое сканирование веб-приложений на наличие чувствительных файлов и векторов для атак.
Фишка: Асинхронность, гибкая настройка, обход классических WAF за счёт неочевидных векторов.
Статус: Стабильный core-проект, постоянно апдейтится.

Расширение горизонта: от веба к протоколам

Работая с веб-приложениями, я углубился в MITM-атаки. Изучая трафик, наткнулся на интересный вектор, связанный с Telegram-ботами. Сам Telegram использует защищённый MTProto, но его боты общаются по обычному HTTPS, и далеко не всегда разработчики проверяют сертификаты должным образом. Это открывало пространство для атак — например, спуфинга платежных данных в ботах-казино или магазинах.

Читать далее

Рынок труда — это галлюцинация: как нейросети нанимают нейросети, пока люди сидят без работы

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

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

Есть такая пугающая теория — «Теория мёртвого интернета».

Она гласит, что большая часть сети — это боты, которые ставят лайки ботам, пишут комментарии ботам и показывают рекламу ботам. Людей там почти не осталось.

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

Читать далее

ТОП-10 интернет-магазинов товаров для строительства и ремонта (DIY): 60 удачных UX-решений

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

Всем привет! Меня зовут Саша, и последние 12 лет моя жизнь — это дизайн. Сегодня я руковожу дизайн-командой в KISLOROD, а в прошлом — помогал крупным брендам и миллионным сервисам обрести их уникальный голос и форму.

В этой статье мы собрали 10 интернет-магазинов в сегменте DIY и разобрали, какие UX- и юзабилити-решения делают их сайты удобными и понятными для покупателей. Мы не оцениваем визуальный стиль — фокус именно на функциональных элементах интерфейса и навигации, которые помогают пользователю быстрее находить нужные товары и совершать целевые действия.

Цель материала — показать работающие решения, которые уже используются в крупных интернет-магазинах, и помочь командам e-commerce ориентироваться в актуальных UX-подходах при развитии своих проектов.

Читать далее

Почему индустриальный подход к качеству важнее Agile-ритуалов

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

Эта статья — не критика Agile или Kanban как подходов и не попытка доказать, что в IT «всё делают неправильно». Я делюсь наблюдениями из собственного опыта работы с качеством в промышленности, энергетике, а затем — в IT‑продуктах.

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

Если у вас уже выстроена работа и всё стабильно — это отлично. Если нет — возможно, некоторые наблюдения покажутся полезными.

Читать далее

Как приблизить веб-звонки к нативному UX

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

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

Поэтому некоторые популярные сервисы вообще запрещают звонки из мобильного браузера и просто отправляют пользователя устанавливать нативное приложение.

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

Читать далее

Dart 3.11 — что нового в Dart?

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

В этом релизе основное внимание уделено улучшению инструментов и отзывчивости, которую вы почувствуете в своей повседневной работе. От более интеллектуального сервера анализа до новых возможностей клиентской части и улучшенной поддержки ИИ — Dart 3.11 создан для того, чтобы вы всегда оставались в рабочем потоке. Читайте дальше, чтобы узнать больше.

Читать далее

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

Flutter 3.41 — Что нового во Flutter?

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

Сегодня мы с радостью объявляем о выпуске Flutter 3.41, что знаменует собой важную веху на нашем совместном пути! Это захватывающее время для разработчиков; этот релиз отражает наше стремление расширить возможности нашего сообщества в формировании направления развития Flutter. Благодаря 868 коммитам от 145 уникальных участников, Flutter 3.41 обеспечивает дополнительную прозрачность и модульность, что еще больше улучшает опыт внесения вклада в Flutter.

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

Здесь столько всего интересного, так что давайте сразу же приступим…

Читать далее

Подключение авторизации через TG и VK или почувствуйте боль локальной разработки

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

Настройка локальной авторизации через соцсети для своих проектов может стать реальной проблемой если у вас нет купленного домена. В этой статье я постарался описать решение данной проблемы и настройку локальной авторизации через Телеграм и ВКонтакте.

Читать далее

Интеграция 40+ дилеров через REST API: как мы построили портал запчастей крупнейшего сельхозпроизводителя в России

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

Про эталонный справочник, JWT-авторизацию, требования КИИ и почему 1С-Битрикс вместо Laravel

В 2022 году мы получили задачу: автоматизировать заказы запчастей для 40+ дилеров. Вызов был не в объёме данных (50,000 SKU), а в разнородности систем дилеров и требованиях безопасности КИИ.

Через 18 месяцев 65% заказов пошли через портал без участия операторов. REST API интегрирован с 28 дилерами (70% сети). Время оформления заказа сократилось с 45 минут до 7.

Под катом — архитектурные решения, почему эталонный справочник важнее REST API, и как обойти ограничения КИИ.

Читать далее

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

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

Привет!

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

JS/TS: Evan You — Vite, Rust, VoidZero; State of JS 2025 и новый интерфейс npm (npmx).

AI: Transformers.js v4 в NPM; тест «заменит ли ИИ опытного дебаггера».

Фреймворки: React — ViewTransition, SSG-сравнение, календарь DayFlow; Angular — обзор v22 и демо проект на Genkit.

CSS и браузеры: гистограммы и подсветка поиска без JS; предпочтения размера шрифта из системы в Chrome.

Доступность и интерфейсы: когнитивная доступность (W3C), combobox vs multiselect, якоря и UX.

Разное: ограничения и вдохновение, «искусство неправильного взаимодействия», репортаж с t-sync.

Читать

Используем Coolify для хостинга проектов на своём VPS. Часть 3: деплой приложений

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

Coolify — это инструмент с открытым исходным кодом, который позволяет легко устанавливать на своём сервере разные приложения: сайты, базы данных, сервисы, скрипты, боты и остальное.

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

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

Читать далее

Funxy два месяца спустя: работа над ошибками, VM и прагматизм

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

Два месяца назад я писал на Хабр о первом релизе Funxy — гибридного языка программирования. Тогда это был эксперимент по созданию своего языка с выводом типов, императивного, с функциональными возможностями.

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

Стабильность: десятки багфиксов — падения на валидном коде, рекурсия, edge-кейсы VM

Рантайм: tree-walk интерпретатор → стековая VM (быстрее, легче по памяти)

Язык: const, return, лямбды (\x -> x + 1), list comprehensions, block syntax для DSL

Типы: strict mode, flow-sensitive typing

Тулинг: LSP и дебаггер

Embedding: встраивание Funxy в Go-приложения как скриптовый движок

Читать далее

От идей к коду: проверяю теорию внимания на практике

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

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

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

Читать далее