Как No-code ускоряет разработку продукта
Привет! Я программист. Я люблю писать код и хочу рассказать, как подход No-code позволяет мне делать это более качественно и эффективно.
Что такое No-code
Это решение задач, которые обычно решают программисты, без самого программирования. В узком смысле это просто набор сервисов, в широком — это подход к разработке, позволяющий экономить время и деньги, получая при этом результат.
Прелесть нового подхода в том, что он сочетается со старым, их можно легко комбинировать, получая хорошие результаты за короткое время. Это я и хочу продемонстрировать.
Какая у меня была проблема
Я разрабатываю конструктор сайтов Creatium, и у нас есть бесплатный тестовый период, который, к сожалению, привлекает мошенников.
Плохие люди регистрируются, создают сайты и размещают на них вредоносные скрипты, либо выдают себя за других и обманным путем получают данные клиента.
Далее, плохие люди используют ссылку на наш тестовый поддомен (*.creatium.site) с хорошей репутацией и таким образом подставляют нас.
Несколько раз нас блокировали VK и Google, показывая посетителям тестовых сайтов такое сообщение:
На снятие такой блокировки может уйти неделя. К счастью, это не касалось рабочих доменов второго уровня, они продолжали работать нормально.
Как мы решали проблему раньше
Подход к решению проблемы простой — нужно обнаруживать и блокировать зловредные сайты до того, как их обнаружит Google.
Для этого мы составили список подозрительных фраз с сайтов, которые мы блокировали, и каждый раз, когда кто-нибудь публиковал страницу в редакторе, мы искали совпадения. Это делалось автоматически, результаты проверки приходили в специальный канал в Slack.
Примеры фраз: розыгрыш, viagra, location.href, пароль и т.д.
Первая версия системы проверки сайтов разрабатывалась две недели, и у нее были существенные недостатки:
- Отсутствие аналитики. За несколько лет мы собрали около 6 тысяч подозрительных фраз, многие из которых в последствии ни разу не приводили к обнаружению новых зловредных сайтов. У нас не было понимания, какие фразы эффективны, а какие просто тратили наше время впустую.
- Повторные срабатывания. Если спустя сутки повторно опубликовать страницу, в Slack-канал придет еще одно уведомление, хотя эту страницу мы уже проверяли.
- Слабая проверка. Мы отслеживали только фразы, часто пропускали перенаправления на другие сайты и подключение подозрительных скриптов.
В один момент стало понятно, что нужно делать новую систему, исправляющую эти недостатки.
Новый подход к решению задач
Список подозритльных фраз из админки перенесли в «Google Таблицы», добавили колонки для отслеживания эффективности. Сразу стало удобнее работать.
Переделали способ проверки страниц. Теперь они открываются в виртуальном браузере, в котором отслеживаются все внешние скрипты, перенаправления, фреймы и ссылки. Эта часть сделана кодом, поскольку No-code такого еще не умеет. Все, что кажется подозрительным, — отправляется в канал Slack.
Все, что происходит дальше — чистый No-code.
Обе кнопки запускают сценарий в Integromat через обычный вебхук.
Если в Slack нажата кнопка «Ложная тревога», сценарий добавляет в базу данных пометку о том, что этой странице мы доверяем, и не стоит о ней больше сообщать при повторных публикациях.
Кнопка «Заблокировано или исправлено» запускает другую ветку сценария, которая увеличивает счетчик блокировок в «Google Таблицах», чтобы мы отслеживали эффективность.
Помимо этого обе кнопки удаляют уведомление в Slack, чтобы с каналом можно было работать по методу Inbox Zero.
Экономия времени и денег
Если бы мы все это программировали, ушло бы недели 2. А так я в одиночку потратил 3 дня.
Мы сэкономили время на создании интерфейсов — для этого используем Slack-канал и «Google Таблицы». Сэкономили время на написании интеграций между отдельными частями системы — для этого используем Integromat. Правда, теперь мы платим за него 30 долларов в месяц.
Самое ценное, что сэкономленное время я могу потратить на самую важную часть системы — механизм проверки подозрительных сайтов, и сделать ее качественно.
Будущее за No-code?
Разработать что-то силами программистов — долго и дорого, иногда непредсказуемо. Зато можно сделать практически все, что угодно, если позволяет бюджет.
No-code-разработка дешевле, занимает меньше времени, но имеет множество ограничений.
Комбинируя эти подходы, можно добиваться лучших результатов, чем используя каждый подход по отдельности.
Что, простите, две недели на два вебхука?
Вебхук, интеграции между слэком, базой данных, Гугл таблицами, отладка всего этого. Да, оцениваю в 2 недели до состояния полной готовности.
ну так экономия не от того, что вы нарисовали это, а не записали буквами, а от готовых интеграций
Верно. Если подскажете библиотеку интеграций уровня Integromat - скажу спасибо. Я имею ввиду, чтобы в коде можно было описывать то же самое, с такой же простотой. И чтобы в облаке сразу запускалось, и со средствами отладки.
Если не хочется платить, есть https://n8n.io, но это тоже рисование.
я даже не знаю что это такое :))
и претензия моя не к тому, как вы решили задачу, а какие выводы из этого сделали. если бы написали, что интегромат - вещь потому, что в ней содержится куча готовых интеграций, я бы лично не смог это оспорить, ибо некомпетентен
но когда вы говорите, что его преимущества - в рисовании вместо программирования, я могу поспорить. no-code средства хороши именно тем, что они позволяют работать непрограммистам, но они не ускоряют работу. за исключением всяких визуальных редакторов внешнего вида, которые используют и профессиональные программисты
Вот что ты докопался до человека? Перепутал VC с Хабром?
Преимущество как раз в скорости. Кодом можно сделать все то же самое, но выйдет дольше.