Как 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-разработка дешевле, занимает меньше времени, но имеет множество ограничений.
Комбинируя эти подходы, можно добиваться лучших результатов, чем используя каждый подход по отдельности.
Комментарий недоступен
Веб-разработчик разве не программист?
А потом, когда надоест в слаках и гуглодоксах мышкой тыкать, для No-Code придумают языки программирования: императивный, декларативный, функциональный, а затем еще несколько мультипарадигменных )))
Миллениалы изобрели Ансибл с Терраформом?
На самом деле было бы здорово, если бы так и случилось. Нужны более высокоуровневые языки программирования.
Такое же как будущее за Clubhouse как соцсети
No-code это, скажем так, штука очень узкоспециализированная. Какие-то простые автоматизации или mvp при её помощи можно наваять, но не более. С неизбежным появлением новых хотелок пайплайны на no-code решениях начнут всё чаще ломаться
Что, простите, две недели на два вебхука?
Вебхук, интеграции между слэком, базой данных, Гугл таблицами, отладка всего этого. Да, оцениваю в 2 недели до состояния полной готовности.
Вся эта котовасия с ноу-код напоминает мне время когда вдруг из ниоткуда появились "облачные технологии". То есть до них данные хранились у эльфов в сундучках, а потом вдруг в 2009 году появились облака.
Долю рынка облачных технологий у Ларри с его Oracle Cloud каждый может нагуглить самостоятельно (спойлер: в районе 3%).
до них данные хранились у эльфов в сундучкахВ местных дата центрах, которые каждое предприятие строило у себя на месте.
Чето у ПХПшника кажется совсем крышка покатилась.
Профит тут не в том что ты логические ветвления и прочее мышкой натыкал. А в том что где-то кто-то уже написал код для интеграций твоих Гугл таблиц в слак и тп.
И нет, дне недели бы это не заняло. Заняло бы намного меньше. Если писать на каком-нибудь там питоне или ноде.жс
Когда программист через pip или npm ставит библиотеку того же слака, которая в 3 строчки позволяет ему слать сообщение в канал - о чудо да это же no-code (на самом деле нет)1!1!!1!1 Ведь кодить функции передачи данных по сети не пришлось!1!!1
Всякие Zapier уже сто лет на рынке, штука хорошая, но переоценивать возможности таких вещей глупо. Ибо вакансии кодеров как были так и есть... значит никакой революции no code не устроил
Вакансии ноукодеров тоже появляются
А с ноу код, можно ничего не зная в разработке создать ведьмака? Ото я игры создавать хочу
А в вашей игре грабить корованы можно будет?
Есть no-code инструменты для игр, например:
https://www.buildbox.com
специально для вас в Unity есть визуальный редактор кода, чтобы грести с мамкиных-программистов баблишко за темную тему
Любой no code это куча кода под капотом )
Разница лишь в том, что пишем его не мы)
Помню в середине 90х появился Delphi 1.0, который позволял на форму накидывать контролы и компоненты для работы с БД и типа почти не писать код. Не писать код - было большой иллюзией. С тех пор было много самых разных сред, которые позволяли рисовать разные диаграммы и генерировать приложения. Быстро стало ясно, что из неправильных диаграмм получаются неправильные приложения, а аналитик без знания языка больше похож на инвалида.
Не мешай наивному молодняку теребонькать на buzzwords... Bigdata, cloud computing, nosql, а щас вот no code... История повторяется, технологии меняются на самом деле достаточно редко, если вникать в суть - те же яйца, только сбоку
Коробочные решения vs нетипичные задачи. Плюс коробочных решений - лёгкое развертывание, быстрый старт. Минус - поддерживаемость, изменяемость, контроль над ситуацией.
Комментарий недоступен
Ценность в том, что любой клиент сразу после публикации сайта получает рабочую ссылку, которую может использовать для презентации, для получения обратной связи и т.д.
Некоторые технические детали модерации рассказать не могу, к сожалению.
Да мы тут постоянно пользуемся no-code, каждый нень. Вообще не адресуем оперативную память - ОС сама делает. Не маршрутизируем интернет-трафик - все пакеты обрабатывает роутер. Архивы не распаковывем вручную - для этого есть WinRAR. Даже сайты не пилим - для этого есть конструкторы. И т.п.
После данной статьи злоумышленники знают, что можно специально сгенерить ложные срабатывания, после которых вы апрувните сайт и уже после ставить вредоноску. Так что порой не всё нужно рассказывать публике.
Многие технические подробности я специально опустил или упростил, чтобы статья не была перегружена. И чтобы мошенники не знали всей схемы работы. Все немного сложнее)
*авторы будущих фишинговых сайтов широко улыбнулись в этом месте текста*
Самое большое сообщество по Integromat в Телеграме: https://t.me/integromat_russia
Что помешало добавить в Слак кнопку "Заблокировать страницу", чтобы получить фунционал ChatOps?
Блокировка делается в админке, эту часть не стали менять, но на будущее думаем об этом, да. Тогда совсем хорошо будет)
Это что за штука такая - "обычный вебхук"?
Это когда сигналом для запуска сценария служит открытие страницы по определенному адресу.
Комментарий недоступен
@Вячеслав Гримальский ссылка примера не работает, походу у ребят электронная тонировка не поперла
Спасибо, поправим
Сейчас это сложно назвать полноценным решением, максимум MVP, но с другой стороны, там 99,9 не будет интересных фич для UI => у любого кто писать что-то сложнее чем "змейка"/калькулятор и тп, есть в личном репозитории заготовки. Интересно что будет писать GPT-3,)))
Итого, реклама Интегромата детектид. Другого логического объяснения данному материалу нет
Как хотябы TF-IDF запихнуть что бы по отдельным словам не банить?
Задача автора может быть решена, если формы заявки и оформления заявки перенести в платную версию. Тоесть если хочешь отправить данные - велкам 500 рублей в месяц или сколько там подписка стоит. 90% этих добрых ребят уйдут в другие сервисы, потому что львиная их доля использует одностоаничники без домена с тестовым периодом
Или я не прав.
Так и до резиновых женщин не далеко.
Кажется вы могли просто запретить ссылки *.creatium.ru
Действительно, no code
Мы не можем запретить то, чем уже пользуются клиенты.
Новое это хорошо забытое старое. Cherwell, ServiceNow, Salesforce - те самые no/low code платформы для ITSM/CRM. Базовые сценарии делать легко, но что-то более сложное - внезапно нужно месяц курсов проходить, специальный язык учить и пробирается через сотни багов и версий. Программисты бегут с корабля если разработка на таком задерживается надолго.
Блин, а теперь вашу схему знают и могут попасть в доверие и потом поменять страницу? 😉
Мы не настолько глупы, чтобы выдавать все особенности фильтров) В статье некоторые моменты упрощены