Грязный ноукодер
1.29K subscribers
116 photos
12 videos
2 files
161 links
Пишу про AI, no-code и бизнес процессы.
@low_code - для связи
Видео гайды - https://www.youtube.com/@5_min_ai
Обучение - https://www.skool.com/5minai-pro
Download Telegram
В no-code возможно зарабатывать $5-10 тыс./мес.

Какого уровня дохода вам хотелось бы достичь в следующем году? Как вы думаете, какие скиллы вам нужно для этого подтянуть?
Как сделать не виснующее ноукод приложение с БД в 1000000 строк?

Продолжаем говорить о SQL и сегодня разберем полезные советы о работе с SQL в Bubble.
Ранее я уже делал ряд постов об этом, поэтому не будем повторяться и посмотрим новые инсайты.

1️⃣ Для подключение к Supabase устанавливаем плагин SQL Connector и берем креды из Settings - Database. Далее формируем строку для плагина - postgres://User:Password@Host:Port/Database.

- Пример: postgres://postgres:YGe24reS51Sba@db.ekgfdgwertwerajnwqw.supabase.co:5432/postgres

2️⃣ Работая с большим объемом данных не обойтись без пагинации - ее можно сделать с помощью OFFSET и переменной ($1). Для показа следующей “страницы” добавьте к переменной число, указанное у вас в LIMIT. При пагинации обязательна сортировка данных, чтобы БД точно понимать какие именно записи идут следующими.

- ORDER BY created_date DESC LIMIT 200 OFFSET $1;

3️⃣ Переменные в запросах:

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

- Если вам нужно сделать запрос для поиска с различными фильтрами (переменными), которые могут быть пустыми, добавьте в условие проверку переменной - $1 IS NULL. Примеры условий для разных типов:
- - Текстовая переменная - (status LIKE '%' $1 '%' OR $1 IS NULL)
- - Числовая переменная - (telegram_id = $1 OR $1 IS NULL)
- - Массив - school_name = ANY(ARRAY[$1] OR $1 IS NULL) - $1=‘Harvard,Stanford’

- Если у вас есть проблемы с типом данных на стороне Bubble, смените тип переменной в SQL - $1::text или $1::int

4️⃣ Не бойтесь SQL, за меня на нем пишет ChatGPT. Даже 3.5 версии достаточно скормить структуру ваших таблиц (Table - Definition) и он сам напишет все нужные запросы за вас.

🔥Совет со звездочкой для самых-самых:

Кейс - я хочу выбрать из списка заказ и показать детали этого заказа.
Источником данных для карточки деталей заказа я использую выбранную запись из общего списка заказов, который основан на запросе get_orders. Тут нет проблем - жмем на заказ и используем This get_orders.
Но каждый запрос воспринимается как отдельный тип данных. Если я хочу из карточки счета перейти в заказ мне нужно либо использовать отдельный запрос get_this_order, либо брать весь список заказов и фильтровать его на стороне клиента, чтобы получить данные по конкретному заказу.

Первый способ вернет другой типа данных, который нельзя использовать для карточки товара (у нас там все завязано на get_orders). Второй же способ небезопасен (так как грузятся все данные на сторону клиента) и неэффективен (это может занять очень много времени). Что же делать?

Мы делаем универсальный запрос get_orders, куда добавляем еще один фильтр id=$1. Проблема в том, что UUID это жесткий 32 символьный формат и при попытке отправки пустой строки вы получите ошибку ($1 IS NULL тоже не поможет). Для обхода этой проблемы мы заменяем дефолтное пустое значение на валидный UUID и меняем условие. (id = $4 OR $4= '00000000-0000-0000-0000-000000000000’)


Спасибо вам, за то что читали мой блог весь этот год. ❤️‍🔥
Поздравляю всех с наступающим Новым Годом🎄, ставьте лайки и подписывайтесь, в следующем году дело примет серьезные обороты!
Channel name was changed to «Грязный ноукодер»
Добро пожаловать на канал Грязного ноукодера

Что случилось?

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

Почему такое название?

Несмотря на мой сугобо технический контент, в жизни я совсем другой человек👀
Посудите сами - сейчас, когда меня просят рассказать о себе, я представляюсь так:

2019: работал бизнес-аналитиком
2020: работал в Integromat
2021: помогал делать немецкий стартап
2022: работал с инвестиционным фондом из США

Сухо, грустно, скучно. А что если так:

2012: слил первую 10ку на бинарных опционах
2014: придумывал стратегии для Forex
2015: полгода пытался математически переиграть букмекеров
2016: кардил через Paypal аккаунты
2019: создал сетку дропов для заработка на альфах
🔽
2022: все эти ранее накопленные навыки помогли мне с помощью ноукод обработать транзакций на $14 млн.

Стало интересней? А если я добавлю, что мне пришлось чистить следы за одним из 🍋 и мой бывший босс все еще под следствием в США? Думаю теперь вам будет о чем почитать 😏

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

Назначить встречу можно тут - https://calendly.com/lowcodingdev/networking
Please open Telegram to view this post
VIEW IN TELEGRAM
Как достичь стабильности в ноукоде?

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

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

Откуда же берется стабильность? Из большого потока задач. Ими вас может обеспечить агентство (продажники постоянно находят новые проекты), компания с растущим продуктом (рост = потребность в новых фичах) или же налаженный источник трафика (главное выстроить хорошую воронку).

1️⃣ Агентство. Вы можете создать свое🥲 или постучаться во все существующие агентства на российском/зарубежном рынке (не забывайте, что есть множество агентств на западе с русскими командами). Их можно найти на Clutch, Bubble, Airtable, Make, и в прочих списках.

2️⃣ Растущий продукт. Это компания с развивающимся бизнесом, использующая внешний или внутренний ИТ продукт . В зависимости от размера продукта вы можете получить должность разработчика в существующей команде или в одиночку тянуть на себе техническую часть продукта как фрилансер. Найти такое можно на досках с вакансиями (Linkedin, HH) или на биржах (Upwork, Fivver). Также, вы можете стать частью такого продукта, если создадите MVP и оно начнет приносить реальную пользу.

3️⃣ Источник трафика. Тут все гораздо сложнее, но надежнее. Вам нужно выстраивать собственную воронку с источником трафика и продуктом. Источники трафика - посты в соцсетях (Linkedin, TG), профильные статьи в онлайн журналах (VC.ru, habr), помощь в чатах комьюнити (TG, Facebook, Reddit, Linkedin), таргетированная реклама (Yandex, Google, IG), прочее (Avito🤨). Продукт - блог в тг, сайт, профиль на бирже или соцсети, где вы рассказываете о своей деятельности и призываете пользователя записаться на консультацию/оставить заявку с описанием проекта.

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

Кстати, этот подписчик ищет работу Bubble разработчика и вы можете связаться с ним напрямую - @pirueti

Если и вы хотите получить полезных советов или просто приятно поболтать, ставьте лайки и успевайте забронировать звонок тут - https://calendly.com/lowcodingdev/networking
Please open Telegram to view this post
VIEW IN TELEGRAM
Меня всегда интересовала корреляция «впахивания» и получаемых доходов.

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

Сколько часов в день работаете вы работаете сейчас?
Пытаетесь ли вы работать больше или качественнее, чтобы выйти на новый уровень дохода?
Please open Telegram to view this post
VIEW IN TELEGRAM
Жесть…

Очень быстро собрали 30 огней🔥🤝

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

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

Как попасть на урок — расскажу завтра.
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!

Весь день готовлюсь к предстоящему уроку по автоматизации в Make, на который записалось уже 20 человек.

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

Кто еще не успел прочитать последний пост в канале, заполнить анкету и зарегистрироваться на урок — успевайте, так как времени осталось совсем немного.

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

А пока оставляю вам план урока, до встреч в 17:00 по МСК.
Спасибо всем, кто поучаствовал на вчерашнем уроке и заполнил анкету!🔥

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

У меня есть много чем поделиться на эту тему, так как сам прошел каждый шаг на пути с 0 до $5’000 на ноукоде и понимаю, как прийти к этому результату кратчайшим маршрутом.

Сейчас я рассылаю всем запись урока вместе с презентацией (вы еще успеваете получить ее, заполнив анкету).

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

Кто был на уроке — напишите, как вам?

Буду благодарен за обратную связь в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Совсем забыл, что хотел визуализировать вчерашний рассказ 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
7 советов как обезопасить Bubble приложение

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

1️⃣ Скрывайте URL запросов в API Connector. Вместо URL может быть указан как параметр [url], в котором будет записан нужный URL с галочкой Private, что позволит скрыть его на фронте для пользователя. Так как я делаю запросы для бекенд процессов в Make мне требуется скрыть эти URL (чтобы не задуддосили 🥲) и настраивать дополнительный внутренний API ключ.

2️⃣ Отключите Swagger file в настройках, иначе у злоумышленников будет полная карта вашего приложения.

3️⃣ Установите 2FA для пользователей. Это можно сделать с помощью функционала Bubble (при наличии плана Production) или с помощью стороннего плагина. Также установите Password policy в настройках, чтобы усилить пароли пользователей.

4️⃣ Исправьте backend workflows без аутентификации, все должно запускаться изнутри приложения или используя API ключ.

5️⃣ Восстановление пароля должно проходить на бекенде - если делать это на фронте, вы производите поиск по базе в открытую и в инструменте разработчика (F12) можно будет увидеть результат этого поиска вместе с новым паролем.

6️⃣ Проверьте Privacy Rules в Data - каждый пользователь должен иметь доступ только к своим данным. Если у вас есть админ панель для управления данными всех пользователей, то установите соответствующую роль для админа. Если вы хотите использовать данные по API, то пользуйтесь API ключом и ограничьте Find this in searches для Everyone else.

7️⃣ Установите галочку Make this file private для всех inputов с файлами и картинками.

Ставьте лайк и подписывайтесь, завтра я выпущу статью на VC по мотивам моего прошлогоднего поста - посмотрим что изменилось после моего разговора с основателем Betterlegal в Twitter, какие данные не прикрыли компании из зала славы Bubble и как найти ID приложения, если Swagger документацию скрыли.
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!

Я опубликовал статью на VC про взлом приложений на Bubble с кейсами самых больших продуктов на Bubble.
Несмотря на то, что статья подсвечивает слабые места no-code приложений, основной ее целью является обратное - показать как не стоит делать при разработке приложений и распространить best practices, которые помогут выводить no-code продукты на уровень продуктов на коде.

Буду рад, если вы поддержите лайком/комментарием на VC, чтобы больше людей узнали о no-code и перестали относится к этому скептически!

https://vc.ru/dev/997353-kak-vzlomat-no-code-prilozhenie-s-investiciyami-1-8-mln
Кейс: метчинг полетов

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

В видео я рассказал как этот проект был получен и инициализирован, показал интересные части системы, а также раскрыл основные цифры по проекту и поделился уроками, которые я усвоил.

👀 Смотреть кейс

Кстати, посмотреть как именно был закрыт этот лид можно тут

Также, прикладываю контакты дизайнера - @Design_uxi

Ставьте лайк и подписывайтесь, чтобы не пропустить новые кейсы.
Please open Telegram to view this post
VIEW IN TELEGRAM