Обновить
256K+

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

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

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

Как разрабатывать фронтенд без готового бэкенда: инструменты перехвата трафика, мокирования и принцип их работы

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

Всем привет, на связи Дима Котиков! Я все еще люблю разрабатывать под Android/KMP, разбираться с инструментами для упрощения работы и латте на фундучном молоке. За пять лет мобильной разработки я неоднократно сталкивался с ситуацией, когда бэкенд запаздывает, а дедлайн горит. 

Зимой 2026 мы получили задачу: новый финансовый инструмент, дедлайн через три месяца, готовность бэкенда — через полтора. Команда начала работу на моках и успела. В статье я расскажу, какие инструменты перехвата и мокирования трафика помогли нам выпустить фичу в срок без готового бэкенда, как настроить их за один вечер и почему понимание принципов работы TLS и MITM-атаки экономит часы отладки.

Читать далее

Новости

Как я строил zero-knowledge менеджер паролей: три архитектуры, модель угроз и восемь багов

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

Привет, Habr.

Я разрабатываю менеджер паролей "Сэйфком" для личного и командного использования.

Почти все серьёзные проблемы, которые я находил, были не в самих криптографических примитивах. Они появлялись рядом с ними: в авторизации, сериализации ключей, rate limit, SMTP, WebAuthn и обычной бизнес-логике.

Ограничения модели безопасности и текущее состояние сервиса описаны отдельно, на странице безопасности. Формального внешнего аудита на момент публикации не было.

Читать далее

Маркировка товаров в 2026 году: чек-лист готовности для оптовой компании

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

До нового этапа маркировки меньше месяца. Компания зарегистрирована в «Честном знаке», ЭДО подключён, сотрудники знают, что товары маркируются. На первый взгляд основные приготовления уже закончены.

Но проблемы обычно начинаются не с регистрации. Поставщик отправляет УПД, а товар в учётной системе называется иначе. На приёмке обнаруживается расхождение между фактом и документом. Менеджер оформляет отгрузку по старой схеме. Возврат приходится разбирать вручную. Формально компания готова к маркировке, но реальный процесс приёмки и отгрузки ещё не готов.

Читать далее

Polymorpheus: очень нужная деталька пазла Angular

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

Angular — отличный фреймворк. А ещё он очень заботливый: множество вещей уже продумано за вас, а когда всё-таки требуется что-то нестандартное — существующее поведение обычно легко переопределить или расширить.

Сегодня я хочу поговорить об одном таком случае и показать инструмент, который я создал много лет назад и с тех пор считаю абсолютной базой для Angular. Речь пойдёт о маленькой библиотеке Polymorpheus, которую мы в Taiga UI используем буквально повсюду, когда нужно отобразить какой-нибудь динамический контент.

Читать далее

Зачем я добавил диван в калькулятор ремонта

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

У ремонта есть неприятная привычка: ответ на один вопрос почти сразу порождает следующий.

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

С этих вопросов мой «Мастерок» и начал обрастать раскладками, объёмными комнатами и другими инструментами. С 17 августа по 16 сентября на сайте было 6 536 посетителей. В сравнении, которое показывает Метрика, это рост на 26,32%. Платное продвижение я не запускал. Большинство посетителей приходит из поиска.

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

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

Читать далее

Сделал себе вышибалу для VPS: кто стучится в.env и в ssh — тот сидит за баном…

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

Устал смотреть в логи: опять подбор пароля к ssh, опять лезут в несуществующие файлы сайта. Fail2ban ставил — утонул в настройках. Написал своё: обходит свой сайт, запоминает нормальные адреса, по лишним 404 и по ssh режет IP в nftables. Рассказываю — зачем и как ставил. Код покажу там, где самому было интересно.

Читать далее

«Обратная змейка», часть 2: читаю комментарии, чиню баги и добавляю босса

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

Когда я выкладывал первую часть, я, если честно, рассчитывал на десяток лайков и тишину в комментариях: ну кто будет всерьёз разбирать змейку, слеплённую за два вечера. Не угадал — комментариев набралось прилично, и добрая половина оказалась не «мило, годно», а разбором полётов: кто-то поймал баг, кто-то — нечестный спавн змей вплотную к игроку, кто-то сравнил игру то с Pac-Man, то с Asteroids. И вот сижу я, читаю это всё по второму кругу и понимаю: технически игра работала, но местами работала не на 100 процентов своей идеи, а это не то же самое, что работала хорошо. В общем, решил пройтись по всему списку, а не отделаться сердечком в ответ.

Читать далее

Можно ли собрать работающий интерфейс на ИИ за час?

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

«Закину промпт в ИИ, а через секунду получу готовый интерфейс, свой сайт или дашборд» — такая идея наверняка приходила каждому, кто не связан с дизайном или разработкой. ИИ-инструменты для этих сфер активно распространяются и обещают такие фантастические результаты, что закрадывается мысль: а что, если скоро дизайнеры будут не нужны?

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

Забыла представиться: меня зовут Камила, я проектировщик интерфейсов в Selectel. Вместе с бумом ИИ коллеги чаще начали ко мне приходить с вопросами такого рода: «Мне ИИшка макет сделала, сделай ревью, пожалуйста». Так что я решила разобраться со своей дизайн-колокольни — где ИИ может помочь, а где создает привлекательную, но не самую работающую концепцию. 

Читать далее

Steam глазами разработчика: OpenID из 2007-го, звёздочка в имени ножа и цена строкой в чужой локали

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

«Просто прикрутить вход через Steam и цены из маркета» — примерно так это выглядит из бэклога. На деле: OpenID 2.0 образца 2007 года вместо OAuth, звёздочка ★ в имени ножа, из-за которой одно и то же название готовится для двух соседних эндпоинтов противоположными способами, и цена, приходящая строкой в чужой локали. Собрал все проблемы в одном месте.

Читать далее

Я написал сайт с кейсами CS2 целиком и выложил под MIT

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

Открыл кейс — получил предмет. Между этими двумя событиями лежат HMAC, миллион тикетов и RTP, который кто-то посчитал заранее. Я написал сайт с кейсами CS2 целиком и выложил под MIT: про то, где в «provably fair» проходит граница между «проверяемым» и «выгодным», и почему 0,023% перекоса я оставил осознанно.

Читать далее

Codex написал рабочий код, но не закрыл задачу: как меняется мой процесс разработки

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

Я всё меньше пишу первую версию кода сам.

Раньше backend-задача чаще начиналась для меня с реализации. Сейчас я могу описать её Codex, получить diff и уже от него идти дальше: разбираться в коде, проверять поведение системы, находить недостающий контекст и отдавать задачу на следующую итерацию.

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

Читать далее

Что изменилось в атаках на API приложений и как сегодня лучше защищаться

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

Еще несколько лет назад большинство инцидентов вокруг API выглядело довольно предсказуемо. Если приложение начинало вести себя подозрительно, специалисты искали ошибки авторизации, проблемы контроля доступа, признаки SQL-инъекций или попытки эксплуатации известных уязвимостей. Логика была простой: есть уязвимость => есть эксплуатация => есть последствия.

Сегодня мы в команде сопровождения сервисов ИБ в NGENIX все чаще сталкиваемся с ситуациями, которые в эту схему не укладываются: сервис начинает отвечать медленнее, растет нагрузка на базу данных, пользователи жалуются на ошибки при оформлении заказов, отдельные операции выполняются значительно дольше обычного. При этом WAF ничего не блокирует, а в логах нет ни признаков взлома, ни попыток эксплуатации уязвимостей. На первый взгляд может показаться, что проблема находится где-то внутри инфраструктуры. Но после анализа выясняется, что система работает именно так, как ее заставляют работать. Просто API используют не так, как предполагали разработчики.

Читать далее

Задача со звёздочкой для фронтенда: выравниваем иконки с текстом

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

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

Тогда почему с ней не могут справиться ни Apple, ни Microsoft, ни Google, ни другие техногиганты? 

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

Читать далее

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

Любите ли вы кино так, как люблю его я? Версия 2.0: от ручного ввода к автоматизации

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

В январе я рассказал на Хабре, как почти тридцать лет собирал кино, переходил от видеокассет к DVD, от Excel к специализированным программам и в итоге решил разработать собственный сервис — flickollect.

В конце той статьи я написал: «Проект готов».

Сейчас, спустя несколько месяцев, эта фраза вызывает у меня улыбку.

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

Читать далее

Автоматическая маршрутизация: как оптимизация маршрутов помогает снижать транспортные расходы

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

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

Читать далее

Зря вы не используете эти HTML-элементы

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

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

Я говорю о семантической вёрстке уже десять лет. Только как-то так получилось, что в последнее время я ничего не писал на эту тему. Надо исправляться!

В современных веб-интерфейсах я часто встречаю определённый набор семантических элементов. Это header, main, nav, footer. Даже элемент button встречается. Реже, чем другие, но всё же есть.

Не будем на этом останавливаться! Сегодня мы с вами рассмотрим ещё несколько элементов, которые почему-то редко используются. Хотя с ними ваша вёрстка станет ещё более семантичной, а значит, и интерфейсы станут ещё лучше.

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

Читать далее

Symfony Workflow: как реализовать сложную бизнес-логику через состояния и переходы

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

Заказ в интернет-магазине редко живёт по идеальной схеме «создан → оплачен → доставлен». В реальности жизненный цикл объекта нелинейный: клиент оформляет заказ, но может передумать и отменить его; товар приходит с браком и требуется возврат; часть позиций не успела прийти и нужно отправить их отдельно. Попытка реализовать такие альтернативные сценарии, проверки прав и сопутствующие действия «в лоб» быстро превращает бизнес-логику в хаос из разрозненных if/else, проверок статусов и обработчиков по всему проекту.

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

Читать далее

Как я факторизовал RSA‑ключи центра сертификации… из 90-х

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

В последнее время меня всерьез стала беспокоить безопасность RSA. Криптография RSA держится на сложности факторизации большого полупростого числа, но какое именно число можно считать достаточно «большим» — вопрос интересный. Web PKI отказалась от 1024-битного RSA больше десяти лет назад, и хотя я не знаю никого, кто факторизовал бы ключ такого размера, это вполне по силам какому‑нибудь правительству или другой организации с большим количеством машин. Буквально пару дней назад кто‑то факторизовал 862-битный ключ RSA-260 в рамках конкурса RSA Factoring Challenge. Это самая крупная факторизация, о которой я слышал.

Читать далее

Нужен ли вашему сайту WAF

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

WAF нужен не только крупным порталам и интернет-магазинам, но и любому сайту, доступному из интернета, – вплоть до скромной страницы с услугами или обычной корпоративной визитки. Боты не делят жертв на «достойных атаки» и «слишком маленьких»: они работают массово и автоматически, перебирая всё подряд. Разбираем, как устроен WAF, от каких атак защищает, где его разворачивают и почему он не заменяет базовую гигиену безопасности.

Читать далее

Cимулируем жизнь 30 млн микробов в браузере

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

WebGPU даёт прямой доступ к современным возможностям видеокарты: не только к рендерингу, но и к вычислениям общего назначения через compute shaders.

Но насколько далеко это можно довести в обычном браузере? Что произойдёт, если вычисления — это полноценная симуляция с десятками миллионов объектов? Разберемся в этой статье.

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