{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

Как 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 комментариев
Написать комментарий...
Аккаунт удален

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

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

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

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

Скажи что-нибудь на программистском! 

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

No-code никогда не заменит программирование :D

Ответить
Развернуть ветку
Кирилл Костромин

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

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

Сомнительное заявление

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

Ответ мощный. Красава!

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

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

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

если JS то нет))))))

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

JS норм, а вот базданщики - точно не программисты.

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

Это вечный спор что важнее бэк/фронт.)))
 

Ответить
Развернуть ветку
Дмитрий Медный

Это вообще бесполезный спор, нужно и то и другое иначе небыло бы ни того ни другого.

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

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

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

Я видел проекты, где вся бизнес логика была на pl/sql и лежала в хранимых процедурах БД. Вопрос подохода к разработке.

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

Я видел дома, построенные полностью из глины и соломы, но это не значит, что их строили строители.

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

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

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

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

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