Обновить
256K+

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

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

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

Анти Бот для 1C Битрикс: как антиспам для WordPress обзавёлся родственником на Битриксе

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

Некоторое время назад я писал здесь про антиспам для WordPress – историю о том, как из недоступного клиентам Cloudflare и дырявых бесплатных решений родился свой плагин геоблокировки, а чуть позже – вторую часть с разбором критики и рассказом, что успело поменяться. В конце самой первой статьи была одна проходная фраза: «параллельно ведется разработка аналогичного решения для 1С Битрикс – задача там несколько сложнее архитектурно, но подход тот же». С тех пор модуль доехал до Маркетплейса, обзавелся парой обновлений и первыми покупателями. Расскажу, что получилось – и почему для Битрикса такая защита понадобилась даже раньше, чем для WordPress.

Читать далее

Новости

Капча, которую рисуют: drop‑in альтернатива reCAPTCHA на динамике жеста

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

Почему мы классифицируем движение руки, а не картинки со светофорами — и как встроить это в форму двумя строками

Картиночные капчи в 2026-м решаются моделями компьютерного зрения за миллисекунды, а каждый ваш клик по «выберите автобусы» бесплатно размечает чужой датасет. Плюс две свежие проблемы: Google в начале 2025 срезал бесплатный лимит reCAPTCHA с 1 000 000 до 10 000 проверок в месяц, а с апреля 2026 ужесточил модель ответственности за данные по GDPR. Из России reCAPTCHA к тому же нестабильна.

Общая проблема для сети — как доказать, что ты человек, не сдавая паспорт, лицо и номер телефона. Мы предлагаем: drop-in капчу, которую посетитель не кликает, а рисует. В описании — архитектура, ML-часть, приватность и код интеграции. Проект открытый. Буду рад аргументированным замечаниям.

Читать далее

Не крутил с агентом циклы — жизни не видал

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

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

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

TL;DR: циклы — это просто, как два пальца; всё, что крутится вокруг них, — немного сложнее…

Читать далее

Как находить работу в IT в 2026 году

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

В апреле этого года я уже проводила похожее исследование: сравнивала теплые контакты и отклики на hh (всегда проверяю его на работоспособность). Конечно, победили теплые контакты - здесь я имела дело с людьми, а не с роботом или мало профессиональным рекрутером. И, что немаловажно, я нашла работу, но об этом чуть ниже.

Читать далее

После комментариев на Хабре мы развернули тестовую ветку БОЛТУНа: Electron, WinUI 3 или Tauri 2?

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

После первой статьи о БОЛТУНЕ мы развернули отдельную тестовую ветку и начали выбирать новый стек интерфейса. С помощью ИИ сравнили Electron, WinUI 3 и Tauri 2, проверили выводы по документации и собрали прототип на Tauri. Рассказываем, почему не переносим звук из C++ в WebView, как устроили границу WebView → Rust → C++, что уже работает, а что ещё предстоит измерить.

Читать эксперимент

Как мы проверяем до 1 000 cайтов в час: рассказываем про ЮScan — сервис оценки рисков в сегменте e-commerce

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

1000 сайтов в час вместо нескольких часов на каждый — так работает ЮScan, сервис автоматизированного аудита от ЮMoney. Его основная задача — помочь банкам и платёжным организациям не допустить подключения сайтов, которые маскируют запрещённую или рискованную деятельность под легальный бизнес. Сервис автоматически проверяет ресурс и выявляет подобные случаи ещё до начала сотрудничества.

С 2020 года через ЮScan проверено более 550 тысяч заявок. За это время ЮKassa не получила штрафов за обслуживание запрещённых видов деятельности.

Кому это нужно? Если вы обрабатываете более 10 000 страниц в сутки, работаете с эквайрингом, маркетплейсами, KYC/AML-проверками или выполняете требования 152-ФЗ, ручные процессы неизбежно становятся узким местом. Меня зовут Ирина, я руковожу антифродом в ЮMoney. Расскажу, как устроен ЮScan: как обходить тысячи страниц, находить рискованный контент и превращать данные в понятный скоринг.

Читать далее

Canva Code 2.0 доступна всем: можно ли собрать сайт для бизнеса

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

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

15 июля Canva выпустила Code 2.0. Анонс успел отлежаться, первые восторги немного выветрились, а независимые авторы добрались до кнопок, которые обычно остаются за краем презентации.

Главное новшество звучит скромнее привычного обещания собрать сайт одной фразой. Получившийся проект теперь можно редактировать как обычный дизайн Canva: менять текст, цвета, изображения, обсуждать правки с командой и публиковать всё из одного окна. Ещё сервис принимает готовый HTML и превращает его в редактируемый макет.

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

Читать далее

Как я измеряю видимость брендов в шести нейросетях: схема замера, формат логов и ошибки

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

Задача звучит просто: выяснить, называют ли бренд ChatGPT, Claude, Perplexity, Gemini, Алиса AI и GigaChat, когда пользователь спрашивает совета или ответа у ИИ. На практике эта задача раскладывается на десятки технических решений, каждое из которых меняет результат в разы. Ниже устройство замера, формат хранения и три моих ошибки, которые обесценивают всю работу.

Читать далее

Как я запустил свою онлайн‑радиостанцию GrindFM на AzuraCast и Яндекс.Облаке

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

Я играю в STALCRAFT, ныне STALZONE. Там есть радио Grind FM — играет фоном, создаёт атмосферу. Проблема в том, что это радио находится в безопасной зоне и играет даже не на всю эту зону. И мне захотелось сделать так, чтобы во время вылазки можно было включить это радио и мочить мутантов.

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

Создать станцию Grind FM!

Технический аудит сайта — что проверять, чтобы сайт быстро работал

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

Привет, Хабр! Меня зовут Дмитрий, руковожу отделом рекламы и продвижения в Аспро. Мы запускаем сайты, интернет-магазины и развиваем систему управления бизнесом Аспро.Cloud.

Частый вопрос от клиентов, которые заказывают у нас аудит: он же вроде нормально работает, зачем еще платить за технический аудит? Отвечаю: сайт сейчас одновременно общается с четырьмя разными читателями — человеком, поисковым роботом, алгоритмом ранжирования и, с 2024 года все активнее, краулером нейросети, который решает, упомянуть ли вас в ответе. 

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

Читать далее

Как собрать AI-контур на VPS: подписки ChatGPT и Claude, OmniRoute, LiteLLM и разработка без VPN

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

Пошагово собираем собственный AI-контур на VPS c зарубежным IP: подключаем ChatGPT и Claude через OmniRoute, объединяем модели в LiteLLM и настраиваем Codex, Qwen Code и VS Code для работы без VPN.

Читать далее

Страница, которая не моргает: SPA-роутинг для HTML и Web Components

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

Фреймворки дают клиентский роутинг из коробки. У HTML и Web Components его нет. Если сайт уже отдаёт полные страницы, а клиентская навигация нужна только для части разделов, переписывать всё на фреймворк незачем.

Aura Router решает эту задачу, сохраняя HTML исходной точкой: маршруты объявляются как Custom Elements, а ссылки остаются обычными <a href>. Без JavaScript те же URL открываются как обычные страницы.

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

Читать далее

Мои любимые CSS-трюки для фронтендеров, которые не используют Tailwind

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

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

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

Но если вы пишете стили по-старому с использованием семантических классов, то у меня есть несколько интересных трюков для вас. Ими пришёл поделиться с вами сегодня.

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

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

Читать далее

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

Софт для интегратора: сметы, проектирование щитов, настройка оборудования и Home Assistant

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

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

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

Читать далее

Как я собрал сайт на 30 000 SEO‑страниц за месяц

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

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

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

Проверил. Рассказываю:

Читать далее

Маскируем чувствительные данные при отправке в ИИ‑чат. Бесплатное приложение

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

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

Мы решили задачу иначе: расширение для браузера в Chrome Web Store, которое перед отправкой заменяет чувствительные данные обезличенными метками, а ответ ИИ расшифровывает обратно — прямо на экране, незаметно для человека.

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

Читать далее

Как PHP превратился в героя мемов и пережил все свои «похороны»

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

Если бы в интернете вручали премию за количество мемов, в финал наверняка вышли бы Леонардо ДиКаприо, коты с осуждающим взглядом и язык PHP. Над последним разработчики шутят уже столько лет, что фразу «я пишу на PHP» лучше говорить шепотом или не говорить вовсе.

При этом язык, который регулярно объявляют мертвым, продолжает получать новые версии, обслуживать миллионы сайтов и оставаться востребованным в веб-разработке. Как появился PHP, чем он заслужил плохую репутацию и почему до сих пор не исчез — рассказываем в этой статье.

Читать далее

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

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

Мы рады объявить о выходе Dart 3.13!

В этом релизе мы отмечаем тему, которую любят все разработчики: чистый и легковесный код. Dart 3.13 фокусируется на этом аспекте на каждом уровне работы разработчика. Что касается языка, то первичные конструкторы устраняют повторяющийся шаблонный код, позволяя определять классы в одной строке кода. В инструментах разработчика внесены улучшения, позволяющие dart formatподдерживать аккуратность кода в соответствии с правилами стиля Effective Dart , а также dart pubвведены новые команды рабочей области для поддержания порядка в монорепозиториях. На pub.dev расширенные функции документации, такие как <callout-box>теги и {@example}директивы, делают документацию пакетов более понятной. Внутри системы, оптимизация кода нативных библиотек (tree-shaking @RecordUse) и отложенная загрузка WebAssembly помогают сделать скомпилированные бинарные файлы приложений максимально компактными.

Так что обновите Dart или запустите программу flutter upgrade и следите за обновлениями, пока мы будем изучать новинки Dart 3.13!

Читать далее

Как я ускорил TypeScript-типы в 15.7 раза

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

Иногда TypeScript думает мучительно долго. У меня это вылезло не самым приятным способом: @_chenglou — он работал над React, ReasonML и ReScript, а сейчас над Midjourney — завёл в моей библиотеке схем issue «Large TS types cause type inference slowdown».

Ну… неприятно. Но я знал, что в системе типов TS люди собирали и не такое, вплоть до Doom, — значит, тормоза лечатся, а не заложены в фундамент.

Дальше всё оказалось довольно механически. Сначала тесты на типы, чтобы ничего не сломать молча: оптимизация типов легко превращает { a: string } в { a?: string }, и никто вам об этом не сообщит. Потом замеры через @ark/attest от создателей ArkType — он считает, во сколько инстанцирований типов обходится выражение, и фиксирует это как бейзлайн, который дальше можно занести в CI. И только после этого — сама оптимизация.

Фикс в итоге оказался на одну строчку. S.Output матчился по всему типу Schema<…> — большому объекту с перегрузками, пересечённому с юнионом всех вариантов схемы, — хотя готовый тип всё это время лежал в соседнем поле ~standard. Достаточно было заглянуть сразу туда.

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

Читать далее

Протестировал Vibecraft от Яндекса. Один вопрос остался без ответа

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

Всем привет. На связи Сергей Игнатенко, основатель ИИ-платформы VibePilot. C недавнего времени партнер Яндекс, у меня грант AI Studio Boost, платформа работает на их моделях.

Недавно мне пришло письмо от Yandex Cloud о том, что они запустили сервис вайбкодинга VibeCraft. Моя платформа также является сервисом вайбкодинга, и конечно же мне было интересно попробовать в работе этот новый сервис.

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