Как No-code ускоряет разработку продукта

Привет! Я программист. Я люблю писать код и хочу рассказать, как подход No-code позволяет мне делать это более качественно и эффективно.

Что такое No-code

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

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

Какая у меня была проблема

Я разрабатываю конструктор сайтов Creatium, и у нас есть бесплатный тестовый период, который, к сожалению, привлекает мошенников.

Плохие люди регистрируются, создают сайты и размещают на них вредоносные скрипты, либо выдают себя за других и обманным путем получают данные клиента.

Далее, плохие люди используют ссылку на наш тестовый поддомен (*.creatium.site) с хорошей репутацией и таким образом подставляют нас.

Несколько раз нас блокировали VK и Google, показывая посетителям тестовых сайтов такое сообщение:

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

Как мы решали проблему раньше

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

Для этого мы составили список подозрительных фраз с сайтов, которые мы блокировали, и каждый раз, когда кто-нибудь публиковал страницу в редакторе, мы искали совпадения. Это делалось автоматически, результаты проверки приходили в специальный канал в Slack.

Примеры фраз: розыгрыш, viagra, location.href, пароль и т.д.

Первая версия системы проверки сайтов разрабатывалась две недели, и у нее были существенные недостатки:

  1. Отсутствие аналитики. За несколько лет мы собрали около 6 тысяч подозрительных фраз, многие из которых в последствии ни разу не приводили к обнаружению новых зловредных сайтов. У нас не было понимания, какие фразы эффективны, а какие просто тратили наше время впустую.
  2. Повторные срабатывания. Если спустя сутки повторно опубликовать страницу, в Slack-канал придет еще одно уведомление, хотя эту страницу мы уже проверяли.
  3. Слабая проверка. Мы отслеживали только фразы, часто пропускали перенаправления на другие сайты и подключение подозрительных скриптов.

В один момент стало понятно, что нужно делать новую систему, исправляющую эти недостатки.

Новый подход к решению задач

Список подозритльных фраз из админки перенесли в «Google Таблицы», добавили колонки для отслеживания эффективности. Сразу стало удобнее работать.

Так было
А так стало

Переделали способ проверки страниц. Теперь они открываются в виртуальном браузере, в котором отслеживаются все внешние скрипты, перенаправления, фреймы и ссылки. Эта часть сделана кодом, поскольку No-code такого еще не умеет. Все, что кажется подозрительным, — отправляется в канал Slack.

Обратите внимание на кнопки снизу

Все, что происходит дальше — чистый No-code.

Обе кнопки запускают сценарий в Integromat через обычный вебхук.

Сценарий в Integromat

Если в Slack нажата кнопка «Ложная тревога», сценарий добавляет в базу данных пометку о том, что этой странице мы доверяем, и не стоит о ней больше сообщать при повторных публикациях.

Кнопка «Заблокировано или исправлено» запускает другую ветку сценария, которая увеличивает счетчик блокировок в «Google Таблицах», чтобы мы отслеживали эффективность.

Помимо этого обе кнопки удаляют уведомление в Slack, чтобы с каналом можно было работать по методу Inbox Zero.

Экономия времени и денег

Если бы мы все это программировали, ушло бы недели 2. А так я в одиночку потратил 3 дня.

Мы сэкономили время на создании интерфейсов — для этого используем Slack-канал и «Google Таблицы». Сэкономили время на написании интеграций между отдельными частями системы — для этого используем Integromat. Правда, теперь мы платим за него 30 долларов в месяц.

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

Будущее за No-code?

Разработать что-то силами программистов — долго и дорого, иногда непредсказуемо. Зато можно сделать практически все, что угодно, если позволяет бюджет.

No-code-разработка дешевле, занимает меньше времени, но имеет множество ограничений.

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

0
89 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Веб-разработчик разве не программист?

Ответить
Развернуть ветку
15 комментариев
Max B

А потом, когда надоест в слаках и гуглодоксах мышкой тыкать, для No-Code придумают языки программирования: императивный, декларативный, функциональный, а затем еще несколько мультипарадигменных )))

Ответить
Развернуть ветку
Николай

Миллениалы изобрели Ансибл с Терраформом?

Ответить
Развернуть ветку
10 комментариев
Вячеслав Гримальский
Автор

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

Ответить
Развернуть ветку
2 комментария
Семен Смирнов
Будущее за No-code?

Такое же как будущее за Clubhouse как соцсети

Ответить
Развернуть ветку
Николай

No-code это, скажем так, штука очень узкоспециализированная. Какие-то простые автоматизации или mvp при её помощи можно наваять, но не более. С неизбежным появлением новых хотелок пайплайны на no-code решениях начнут всё чаще ломаться

Ответить
Развернуть ветку
1 комментарий
Shoo

Что, простите, две недели на два вебхука?

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Вебхук, интеграции между слэком, базой данных, Гугл таблицами, отладка всего этого. Да, оцениваю в 2 недели до состояния полной готовности.

Ответить
Развернуть ветку
6 комментариев
Dee

Вся эта котовасия с ноу-код напоминает мне время когда вдруг из ниоткуда появились "облачные технологии". То есть до них данные хранились у эльфов в сундучках, а потом вдруг в 2009 году появились облака.

Ответить
Развернуть ветку
Юрий Б.

Долю рынка облачных технологий у Ларри с его Oracle Cloud каждый может нагуглить самостоятельно (спойлер: в районе 3%).

 до них данные хранились у эльфов в сундучках

В местных дата центрах, которые каждое предприятие строило у себя на месте.

Ответить
Развернуть ветку
Бабка в засаде

Чето у ПХПшника кажется совсем крышка покатилась.
Профит тут не в том что ты логические ветвления и прочее мышкой натыкал. А в том что где-то кто-то уже написал код для интеграций твоих Гугл таблиц в слак и тп.
И нет, дне недели бы это не заняло. Заняло бы намного меньше. Если писать на каком-нибудь там питоне или ноде.жс
Когда программист через pip или npm ставит библиотеку того же слака, которая в 3 строчки позволяет ему слать сообщение в канал - о чудо да это же no-code (на самом деле нет)1!1!!1!1 Ведь кодить функции передачи данных по сети не пришлось!1!!1 
Всякие Zapier уже сто лет на рынке, штука хорошая, но переоценивать возможности таких вещей глупо. Ибо вакансии кодеров как были так и есть... значит никакой революции no code не устроил

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Вакансии ноукодеров тоже появляются

Ответить
Развернуть ветку
1 комментарий
Иван Шеметов

А с ноу код, можно ничего не зная в разработке создать ведьмака? Ото я игры создавать хочу

Ответить
Развернуть ветку
Руслан Агишев

А в вашей игре грабить корованы можно будет?

Ответить
Развернуть ветку
2 комментария
Denis Bystruev

Есть no-code инструменты для игр, например:

https://www.buildbox.com

Ответить
Развернуть ветку
1 комментарий
Сергей Маслюков

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

Ответить
Развернуть ветку
1 комментарий
Макс

Любой no code это куча кода под капотом )

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Разница лишь в том, что пишем его не мы)

Ответить
Развернуть ветку
2 комментария
Николай Лещёв

Помню в середине 90х появился  Delphi 1.0, который позволял на форму накидывать контролы и компоненты для работы с БД и типа почти не писать код. Не писать код - было большой иллюзией. С тех пор было много самых разных сред, которые позволяли рисовать разные диаграммы и генерировать приложения. Быстро стало ясно, что из неправильных диаграмм получаются неправильные приложения, а аналитик без знания языка больше похож на инвалида. 

Ответить
Развернуть ветку
Бабка в засаде

Не мешай наивному молодняку теребонькать на buzzwords... Bigdata, cloud computing, nosql, а щас вот no code... История повторяется, технологии меняются на самом деле достаточно редко, если вникать в суть - те же яйца, только сбоку 

Ответить
Развернуть ветку
1 комментарий
Эдуард Забоев

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

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

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Некоторые технические детали модерации рассказать не могу, к сожалению.

Ответить
Развернуть ветку
greg chudnoff

Да мы тут постоянно пользуемся no-code, каждый нень. Вообще не адресуем оперативную память - ОС сама делает. Не маршрутизируем интернет-трафик - все пакеты обрабатывает роутер. Архивы не распаковывем вручную - для этого есть WinRAR. Даже сайты не пилим - для этого есть конструкторы. И т.п.

Ответить
Развернуть ветку
Пашка Май

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

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

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

Ответить
Развернуть ветку
Дмитрий Соколов
Если в Slack нажата кнопка «Ложная тревога», сценарий добавляет в базу данных пометку о том, что этой странице мы доверяем, и не стоит о ней больше сообщать при повторных публикациях.

*авторы будущих фишинговых сайтов широко улыбнулись в этом месте текста*

Ответить
Развернуть ветку
Вадик Михалев

Самое большое сообщество по Integromat в Телеграме: https://t.me/integromat_russia

Ответить
Развернуть ветку
Николай

Что помешало добавить в Слак кнопку "Заблокировать страницу", чтобы получить фунционал ChatOps?

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Блокировка делается в админке, эту часть не стали менять, но на будущее думаем об этом, да. Тогда совсем хорошо будет)

Ответить
Развернуть ветку
greg chudnoff
 через обычный вебхук

Это что за штука такая - "обычный вебхук"?

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Это когда сигналом для запуска сценария служит открытие страницы по определенному адресу.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Denis

@Вячеслав Гримальский ссылка примера не работает, походу у ребят электронная тонировка не поперла

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Спасибо, поправим

Ответить
Развернуть ветку
Asf

Сейчас это сложно назвать полноценным решением, максимум MVP, но с другой стороны, там 99,9 не будет интересных фич для UI => у любого кто писать что-то сложнее чем "змейка"/калькулятор  и тп, есть в личном репозитории заготовки.  Интересно что будет писать GPT-3,)))

Ответить
Развернуть ветку
greg chudnoff

Итого, реклама Интегромата детектид. Другого логического объяснения данному материалу нет

Ответить
Развернуть ветку
Alexander Mia

Как хотябы TF-IDF запихнуть что бы по отдельным словам не банить?

Ответить
Развернуть ветку
Цимерманн

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

Или я не прав.

Ответить
Развернуть ветку
Sly Death

Так и до резиновых женщин не далеко.

Ответить
Развернуть ветку
Александр Панченко

Кажется вы могли просто запретить ссылки *.creatium.ru

Действительно, no code

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Мы не можем запретить то, чем уже пользуются клиенты.

Ответить
Развернуть ветку
Вадим Янушкевич

Новое это хорошо забытое старое. Cherwell, ServiceNow, Salesforce - те самые no/low code платформы для ITSM/CRM. Базовые сценарии делать легко, но что-то более сложное - внезапно нужно месяц курсов проходить, специальный язык учить и пробирается через сотни багов и версий. Программисты бегут с корабля если разработка на таком задерживается надолго. 

Ответить
Развернуть ветку
Vladislav V

Блин, а теперь вашу схему знают и могут попасть в доверие и потом поменять страницу? 😉

Ответить
Развернуть ветку
Вячеслав Гримальский
Автор

Мы не настолько глупы, чтобы выдавать все особенности фильтров) В статье некоторые моменты упрощены

Ответить
Развернуть ветку
86 комментариев
Раскрывать всегда