ИП на ЗП – Telegram
ИП на ЗП
1.22K subscribers
98 photos
13 videos
7 files
153 links
Днём работаю работу в найме и отвечаю за AI продукты. По вечерам делаю пет-проекты и разбираюсь, как делать продукты в соло: от разработки до продаж.
Download Telegram
Как быстро и просто сделать текст градиентом?

Нашёл крутой сервис, где нужно просто написать текст, задать параметры градиента и получить отформатированный текст в формате bb code. А дальше вставляете текст в редактор и красота🔥
👍18🔥1
Я слоупок и сегодня обнаружил, что Bubble поддерживает математический порядок расчётов. И это обновление вышло ещё в апреле.

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

Надеюсь, я не один такой😃

UPD оказалось, что это экспериментальная функция. Включить можно в settings - versions
😱6👍3🔥1
Кто сегодня хочет в 18:00 пообсуждать или проконсультироваться по своим проектам на Bubble?

Сегодня, наконец-то, сделаем с записью)

Поставьте 🔥 кто придёт

Ссылку отправлю за несколько минут до начала
🔥23
Опубликовал запись вчерашнего звонка с разбивкой по таймкодам)

Можно посмотреть по ссылке: https://www.youtube.com/watch?v=-K1mbrRvdKE

По ощущениям, вчера был один из самых полезных и плотных по количеству полезной инфы звонков🔥
👍14🔥2
🔥Создать массив объектов без бэкенда и получить список unique id всех созданных элементов?🔥

Такую возможность открывает использование Data API.

Включить взаимодействие с данными по API можно в настройках: Settings - API - Enable Data API.
Под последним пунктом отмечаем таблицы, в которых хотим создавать/удалять/редактировать записи.
Не забываем сходить на вкладку Privacy Rules и установить для конкретной таблицы правила использования по API.

Теперь мы можем отправлять POST-запрос (на endpoint https://[appname].bubbleapps.io/api/1.1/[typename]/bulk) с телом в JSON-формате:

{"key1": value, "key2": value}
{"key1": value, "key2": value}

Максимальное количество элементов, которые можно создать с помощью одного такого запроса составляет 1000. Существует ограничение в 4 минуты на выполнение запроса; если это займет более 4 минут, элементы, которые еще не были созданы, будут отмечены в ответе как ошибки.

Скорость создания зависит от:
- доступного capacity
- размера создаваемых элементов.

В ответ на запрос мы получаем статус и ID созданных записей в текстовом формате.

🔥Оставь реакцию, если понравилось! 🔥

Источник: https://manual.bubble.io/core-resources/api/data-api#bulk-create-new-things
🔥10👍2
Всем привет!

Кто сегодня в 18:00 залетит на традиционный office hours? Прошлый был супер полезный)

Ставьте 🔥 кто придёт

Ссылку, как обычно, пришлю за пару минут до начала
🔥19
В тематических чатах постоянно всплывают какие-то фишки и хаки, которые упрощают разработку или помогают решить задачку. Проблема только в том, что всё это потом теряется в куче сообщений, избранное засирается другими сообщениями(у меня так точно) и в итоге всё теряется.

Решил собирать подборку таких коротких советов у нас на сайте. Пока опубликовал 2 хака из чатиков.

От Петра про то, как отключить автозаполнение инпута: https://nocodehero.tech/tpost/1ejvec9g11-kak-otklyuchit-avtozapolnenie-polya-v-in

От Вани про то, как делать автообновление вызова API без перезагрузки страницы: https://nocodehero.tech/tpost/gb80l56yd1-avtoobnovlenie-vizova-api-bez-perezagruz

Все подобные хаки будут находиться на вкладке Quick tips
👍11🔥6
Хаю хай👋

Мне периодически нужна помощь на проектах и дополнительные руки, поэтому если вы, в первую очередь, Bubble разработчик и открыты к новым проектам, то заполните форму и я буду знать, что к вам можно будет обратиться в случае чего

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

Здесь пример заполненной карточки
👍8🔥1
Office Hour сегодня в 18:00

Подключайтесь по ссылке:
https://us02web.zoom.us/j/2439197751
👍3
Forwarded from Путь Bubble-разработчика (Viktor Reshetnyak)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Создаем переменную внутри workflow и используем её в следующих шагах🔥

Нашел и начал использовать прикольный плагин Variable.
Устанавливаем плагин, и в workflow в разделе Plugins появляются 2 действия "Store a text variable/Store a number variable". Не нужно создавать скрытые input, заполнять промежуточные кастом-стейты для получения расчетов, достаточно создать новый шаг, рассчитать в нем данные и использовать их в следующих шагах. Похожий функционал предоставляет действие Set WF Vars в плагине Canvas Utilities.

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

Напиши, где бы ты использовал или уже используешь этот плагин.

🔥Оставь реакцию, если понравилось🔥
🔥18
Снимок экрана 2022-08-07 в 21.47.07.png
28.7 KB
Не часто, но случается) Рабочий процесс не работает или работает некорректно, хотя видимых причин для этого нет.

Попробуйте просто пересобрать его с нуля 1 в 1. Хз как это работает, но уже не в первый раз замечаю, что помогает)
👍7
Взгляд нуба на то, как запускать JS в Bubble)

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

https://nocodehero.tech/tpost/sa1ijybj31-kak-zapuskat-java-noscript-v-bubble

Уверен, что есть более элегантное решение, но я не силён в коде, поэтому так)
👍6
Сорян, я что-то пропал за проектами. Вот делюсь подборкой из 3х классных плагинов для инпутов)

Display data in An Input - позволяет передавать в инпут какие-либо данные. Используется, когда нужно вставить в инпут результат какого-либо действия.

Reset data go an Input - позволяет сброить данные с определенного инпута.

Keystroke input trigger - позволяет отслеживать когда пользователь начал что-то писать в инпуте
🔥8👍3
Forwarded from НеКодер
Как получить расширение файла из его имени? 🤔

---------------------------------------

Первый способ:

После обращения к имени файла добавить оператор split by, в окно разделителя поставить точку. В результате к вам вернется список текстов, последним элементом которого будет расширение файла, для получения добавляем :last item.

File's name :split by(.) :last item

Второй способ:

После обращения к имени файла добавить оператор Extract with RegEx, в появившемся поле вписать выражение "/\.[0-9a-z]+$/" без кавычек. Готово!

---------------------------------------

Этот функционал может пригодится для проверки расширения файла при загрузке его в вашу БД, в зависимости от результата можно будет запрещать или разрешать загрузку файлов с конкретным расширением, а также использовать в фильтрации при поиске файлов в списке и т. п.

---------------------------------------

#некодер #bubble #regex #советы
👍9🔥1
Если вам вдруг нужно настроить динамическую ширину ячеек в Repeating Group, то ловите супер простой способ без платных плагинов и регистраций от @Yuriy_Zhakun🤩

1. Создать Repeating Group, задать ей ID, поместить туда элементы и настроить так, как вам нужно
2. Разместить на странице HTML элемент - не в Repeating Group
3. Вставить туда 2 строчки кода

<style>
#ID РГ{
display: flex;
flex-wrap: wrap;
}

</style>
🔥18👍8
Forwarded from НеКодер
Как стилизовать таблицу в Bubble.io?

---------------------------------------

В этом небольшом посте я расскажу о том, как закрасить чётные или нечётные ячейки таблицы.

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

Затем необходимо создать условное форматирование для данной группы.

---------------------------------------

Создадим conditional:

Для четных ячеек: Current index < modulo > 2 is 0

Для нечетных ячеек: Current index < modulo > 2 is not 0

После него выбираем нужную вам заливку. Готово!

---------------------------------------

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

---------------------------------------

Оператор "X < modulo > Y" позволяет найти остаток от деления числа X на число Y. Результатом вычислений будет сам остаток (число), если же его с чем либо сравнить с помощью логических операторов, то к вам вернётся Yes / No.

---------------------------------------

Всем продуктивной недели 💪🏻🔥

---------------------------------------

#некодер #bubble #ui #rg #советы
6👍5
Нашел неплохой бесплатный шаблон для мобильного приложения и PWA

Некоторые ссылки не кликабельны, сообщения не отображаются. Но в целом, если нужно быстро замутить интерфейс с основными функциями и уже упакованное в PWA, то вполне себе вариант)

UPD прочитал, что создатель хочет сделать его платным через какое-то время. Поэтому лучше сохраняйте сейчас)
🔥741👍1🤩1
Ещё раз убедился, что все гениальное - просто

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

Просто добавьте элемент image или сделайте background группы с типом image и как источник данных укажите ссылку на загруженный pdf

Идея отсюда: https://forum.bubble.io/t/use-pdf-in-group-background-style-image/196385
👍18👏1
Пушка-бомба🦾
🔥3🖕2
Forwarded from Путь Bubble-разработчика (Viktor Reshetnyak)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥- Я только спросить! - В очередь!🔥

На одном из проектов была задача: дать юзерам возможность присылать API-запросами в приложение на Баббл товары в больших количествах (до 40-50 тыс. шт.). Создать большое количество товаров с помощью Data API не проблема: за 20 с создавалось 250 записей с 12 заполненными полями, но вопрос: что станет с сайтом, если запросы отправят сразу 10, 20 и более пользователей?
Такие запросы будут выполняться параллельно, постепенно расходуя capacity приложения. Что произойдет, когда процессы заполнят всю память? Они встанут в очередь, и начнут выполняться последовательно! Круто?! Не совсем🤪) Представим что некоторые действия пользователя на фронте зависят от процессов на бэке. Что ждет пользователя, если на бэке выстроится очередь? Долгий ответ сайта) В особо тяжелых случаях браузер отобразит вам сообщение "app too busy"😆
Чтобы не дать пользователям положить ваш сайт, используйте очередь.

Спецы советуют переносить сложные процессы с фронта на бэк, и это имеет смысл. Но на бэке они не всегда должны выполняться параллельно🙃
С тяжелыми процессами на бэке можно поступить следующим образом:
1) настройте процесс так, чтобы вместо запуска отдельного API workflow, юзер складывал свое задание в БД (создайте для этого отдельную таблицу "Очередь")
2) запустите цикл, который с определенной частотой (частоту вычисляют отталкиваясь от показаний на вкладке Logs - Capacity) будет запускать обработку очередной записи из таблицы "Очередь" (убедитесь, что цикл не отвалится, если в таблице закончатся записи).

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

Здоровья вашим аппкам)

Напишите, пользуетесь ли вы этим способом, и как бы вы его доработали👍

🔥Ставь реакцию, если понравилось🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍3🤮1
Forwarded from Путь Bubble-разработчика (Viktor Reshetnyak)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Превращаем список в красиво оформленный текст🔥

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

На помощь приходит знакомая многим функция :format as text. Она работает как РГ, только в тексте: вы объясняете как должна выглядеть строка (формируете шаблон), а Баббл сам формирует все строки и разделяет их указанным разделителем.

Функция очень помогает при формировании API-запросов, например при массивном создании новых записей через Data API.

Поделитесь, каким необычным образом вы используете эту функцию)

🔥Оставь реакцию, если понравилось🔥
🔥7👏4