Как стать автором
Обновить
16.5

Визуальное программирование *

Всё о попытках визуализировать программирование

Сначала показывать
Порог рейтинга

Магия упрощения пользовательского опыта на примере установки n8n

В апреле мы, в Amvera Cloud, запустили n8n как преднастроенный сервис и столкнулись с тем, что разворачивать его неудобно.

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

Плюс, не все могли найти преднастроенный n8n у нас в интерфейсе.

А простота создания и эксплуатации —  это важно, особенно для такого сервиса, как наш.

Что мы сделали

– Теперь домен создаётся прямо при запуске проекта и сразу добавляется в нужную переменную. Это сократило создание n8n буквально до ввода названия проекта и нажатия кнопки “создать”.

– Добавили плитку с преднастроенными сервисами, чтобы их создание было максимально простым.

Плитка преднастроенных сервисов
Плитка преднастроенных сервисов

Результат

Создание таких сервисов как n8n, Keycloack и других, от нажатия первой кнопки до перехода по выделенному бесплатному домену занимает буквально 20 секунд и требует нажатия двух кнопок и заполнения одного поля с названием проекта!

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

Теги:
+2
Комментарии0

ИИ-ассистенты (промпты) - это тоже low-code. Бизнес-аналитики сами разрабатывают ИТ-продукты. Сайт какой сложности можно разработать без знания JavaScript? Кейс app.2lead.ru

Возможности low-code растут. Бизнес-аналитики сами разрабатывают ИТ-продукты, фактически добавляя к своим обязанностям часть функций программистов. При этом эксперты не прогнозируют, что low-code полностью заменит традиционное программирование в ближайшие годы.

ИИ-помощники (промпты) - это тоже low-code

Чаще всего low-code определяют как создание ПО с помощью графических интерфейсов и настроек, а не через традиционное программирование. Мне ближе более широкое определение: low-code – это системы и платформы, которые предполагают изменение, дополнение кода пользователем, в том числе с применением ИИ-помощников (промптов).

Кейс: Сервисы app.2lead.ru разработаны бизнес-аналитиком

ИИ-ассистенты значительно ускорили разработку сервисов app.2lead.ru, созданных мной на JavaScript - без опыта программирования на этом языке. Это подтверждает возможность разработки ПО силами бизнес-аналитиков, продуктовых менеджеров и так далее. Ранее это была прерогатива только профессиональных программистов. 

Сервисы app.2lead.ru разработаны в конце 2024 года – начале 2025 года. Вошли в топ-5 Яндекса по запросу «калькулятор инфляции». Уже увеличили органический трафик сайта 2lead.ru более чем в 5 раз, без расходов на рекламу. // См. также «Нерекламные методы продвижения» https://habr.com/ru/articles/686736/

Сервисы app.2lead.ru // Калькуляторы инфляции. Аналитика. Прогнозы
Сервисы app.2lead.ru // Калькуляторы инфляции. Аналитика. Прогнозы

Что дальше? Массовое применение таких методов разработки ПО, более совершенные low-code системы и программирование голосом? Считаю, что практику low-code нужно расширять, разрабатывать учебные материалы по этому направлению и т.д. В этих инструментах есть большое пространство для развития.

Теги:
Всего голосов 5: ↑0 и ↓5-5
Комментарии0

Когда строишь потоки обработки в Apache Nifi в основном требуется результат записать в базу данных. Бывают случаи, когда запись в целевую таблицу не проходит по причине несоответствия данных в записи и полей в таблице. Это возникает в случае, если на источнике размер поля увеличился, либо изменился порядок знаков после занятой, либо вы ожидаете "uniqueidentifier" а приходит пустая строка.

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

Для этого предлагаю скрипт для ScriptedTransformRecord, позволяющий разобрать запись на массив записей, каждая из которых содержит только одно значение, остальные проставляются "null".

results = []

fields = record.getRawFieldNames()
schema = record.getSchema()
fields.each{key -> {
    log.debug("Got key: ${key}")
    nMap = new java.util.HashMap<String, Object>()
    log.debug("create map")
    nMap.put(key,record.getValue(key))
    log.debug("Put to map value")
    newrecord = new org.apache.nifi.serialization.record.MapRecord(schema, nMap)
    log.debug("Сreate new record with field ${key}")
    results.add(newrecord)
}}

results

Полезные ссылки:

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0