18+
45 дней сериалов
и фильмов по промокоду:
VC45
Активировать

Как 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-разработка дешевле, занимает меньше времени, но имеет множество ограничений.

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

{ "author_name": "Вячеслав Гримальский", "author_type": "self", "tags": ["nocode"], "comments": 87, "likes": 66, "favorites": 309, "is_advertisement": false, "subsite_label": "life", "id": 214277, "is_wide": false, "is_ugc": true, "date": "Sat, 27 Feb 2021 19:06:01 +0300", "is_special": false }
18+
45 дней сериалов и фильмов по промокоду VC45
Активировать
0
87 комментариев
Популярные
По порядку
Написать комментарий...
17

 Я программист

Всё же веб-разработчик

Ответить
28

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

Ответить
25

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

Ответить
78

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

Ответить
9

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

Ответить
0

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

Ответить
0

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

Ответить
1

Более конкретизировано. Никого не хотел обидеть.

Ответить
–11

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
36

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

Ответить
4

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

Ответить
4

Ну нет, ansible - это не No-code, там, наоборот, "infrastructure as a code" ))
У меня, кстати, возникла мысль, что задача автора, наверное, может быть решена инструментами тестирования и CI/CD. Например, инициация проверки (тот же веб-хук или еще что-то) -> Selenium-тесты -> при непрохождении, допустим, инцидент (issue) в GitLab... Далее обработка инцидента человеком и управляющее войздействие по результатам обработки.
Правда, тоже совсем не No-code получается )

Ответить
11

Я с намёком на то, что любой no-code это штука очень ограниченная, так как рано или поздно упрётся в развесистые пайплайны, которые проще и удобнее декларативно описывать ямлами. По сабжу - да, действительно, задачу можно было бы решить при помощи скрипта на Пайтоне, который периодически запускается в том же Gitlab CI, гоняет новые страницы на соответствие стоп-словам из словаря и кидает вебхук в Слак при наличии совпадения. Насколько это было бы проще, чем предложенное решение - трудно сказать. Особенно, без понимания, кто именно будет наполнять словарь со стоп-словами и какими этот кто-то обладает навыками

Ответить
2

Это верно. Я тоже имел в виду, что есть два движения: одно - "не хочу программировать, дайте мне кнопку", а второе "ну и как на эту вашу кнопку нажать программно... а через раз... а по условию" ) Они все время сосуществуют.
На мой взгляд No-code - это слишком широкое понятие, под которым непонятно что лежит. Программист, подключающий и использующий библиотеку в отношении нее No-code? Использование подчас сводится всего лишь к одной аннотации (Spring, Lombok etc.)
Впрочем, среди относительно чистых No-code решений на ум сразу приходит 1С. В ней действительно можно соорудить развесистую учетную систему с типовыми или тривиальными процессами практически без программирования. И ее даже можно будет использовать. Но за это ее очень трудно будет развивать и делать удобной ))

Ответить
0

Хороший пример no-code решения это система эмуляции виртуальных инструментов LabView от National Instruments. Вот там очень прикольно реализовано, кладёшь блоки на рабочую область, соединяешь проводами и выводишь нужную информацию на виртуальную панель управления инструментом. Но опять же, штука узкоспециализированная и там при желании можно добавить блок кода, соединив его проводами с другими блоками и присвоив имена переменных получившимся вводам и выводам

Ответить
1

Парни, я прочитал вашу ветку полностью. Так вот... Вам не надо в No-Code =D

Ответить
–1

LabView - это не no code точно. Так как там существуют лупы, ивенты, параллелизм и все еще много всего от языков программирования.
Если вы использовали это один раз для автоматизации мультиметра - то это скорей пример простого кода. Хотя на питоне это можно было бы также уместить в пару строк.

Ответить
0

В интегромате тоже есть циклы. А вебхуки это такой аналог ивентов, своеобразный. Но конечно, это еще не программирование.

Ответить
0

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

Ответить
0

"In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually."
So there is a difference between text & visual programming languages, which you do not understand.

Ответить
0

У вас нет ни малейшего представления об 1С

Ответить
1

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

Ответить
15

Да уж, а потом:

Ответить
1

Да они, собственно, уже есть (тут уже упомянули декларативный ansible). Более того, DSL-и можно самому создавать. Но тут наблюдается парадокс. На низкоуровневых языках достаточно знать сам язык, среду его исполнения и соответствующие прикладные библиотеки предметной области. Специфичный же для предметной области DSL может быть очень лаконичным и удобным, но у него "под капотом" неявно сокрыто знание о предметной области, поэтому для его грамотного применения нужно хорошо владеть предметной областью, и знать как она отражена в DSL. Вот довольно часто и получается, что чем сложнее предметная область, тем низкоуровневый язык более универсален, более производителен, и реализовать разработку на нем гораздо дешевле и быстрее.

Ответить
15

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

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

Ответить
9

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

Ответить
1

будет вернее - отношение цены создания новых специализированных компонент к кастомщине на условном фреймворке вероятно будет выше. "Ломаться" будут если изначально ядро и архитектура кривая, а так, судя по картинке, напоминает микросервисы.

Ответить
9

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

Ответить
1

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

Ответить
6

ну так экономия не от того, что вы нарисовали это, а не записали буквами, а от готовых интеграций

Ответить
1

Верно. Если подскажете библиотеку интеграций уровня Integromat - скажу спасибо. Я имею ввиду, чтобы в коде можно было описывать то же самое, с такой же простотой. И чтобы в облаке сразу запускалось, и со средствами отладки.

Если не хочется платить, есть https://n8n.io, но это тоже рисование.

Ответить
0

я даже не знаю что это такое :))

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

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

Ответить
3

Вот что ты докопался до человека? Перепутал VC с Хабром?

Ответить
0

Преимущество как раз в скорости. Кодом можно сделать все то же самое, но выйдет дольше.

Ответить
0

Ну, это, в целом, многое объясняет. 

Ответить
8

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

Ответить
1

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

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

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

Ответить
6

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

Ответить
2

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

Ответить
0

Ну верстальщики давно уже нужны

Ответить
2

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

Ответить
12

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

Ответить
2

В длс появится

Ответить
4

Джва года жду 

Ответить
2

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

https://www.buildbox.com

Ответить
1

Спасибо

Ответить

Сельскохозяйственный бокал

Иван
1

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

Ответить
0

В unreal уже сто лет шаблоны, и это отвратительно, что-то чуть сложнее базовой логики превращается в кашу

Ответить
5

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

Ответить
0

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

Ответить
8

так когда я кодеру даю задачу, то пишу тоже не я

Ответить
4

отменно
тогда я - ноукодер)))))

Ответить
4

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

Ответить
2

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

Ответить
3

Забавно, как история повторяется из раза в раз. Каждое поколение считает, что вот-вот появится серебряная пуля, которая отправит программистов на свалку истории. По факту подкапотная сложность только нарастает вместе с зарплатами тех, кто что-то в этом понимает. Где  DSL, а-ля ЯБУн (язык бухгалтерский универсальный ), которым пророчили большое будущее? Почему предметные специалисты до сих пор сами все не делают?))

Ответить
3

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

Ответить
2

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

Много людей, которые делали страницы на site, выставляли их в vk, а потом становились клиентами?

Не более ли осмысленно предлагать им сразу домен, который стоит дешевле, чем самый дешёвый тариф у вас, чем заниматься модерацией немодерируемого?

Может дешевле модерации для тарифов без домена поставить сверху плашку "Сделано в Creatium" и тогда задача злоумышленника "выдают себя за других и обманным путем получают данные клиента" невыполнима?

Как вы модерируете "размещают на них вредоносные скрипты"? Минификация же, не повесишь совпадение?

Как решить задачу "выдают себя за других и обманным путем получают данные клиента" списком стоп слов, если другие появляются каждые день? Как юрлица, так и услуги, так и физлица.

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

Это правда ценно? Ваш платящий клиент не покупает себе домен и раздаёт адреса вроде pupkin.creatium.site? 

Ответить
0

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

Ответить
0

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

Ответить
2

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

Ответить
2

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

Ответить
0

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

Ответить
2

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

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

Ответить
0

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

Ответить
0

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

Ответить
1

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

Ответить
0

 через обычный вебхук

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

Ответить
0

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

Ответить
0

Комментарий удален по просьбе пользователя

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Или я не прав.

Ответить
0

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

Ответить
0

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

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

Ответить
0

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

Ответить
0

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

Ответить

Комментарии

null