Anticodeguy
651 subscribers
841 photos
171 videos
1 file
330 links
Technomad & systems thinker exploring paths to freedom and prosperity

https://stan.store/anticodeguy
Download Telegram
​​Как вообще можно использовать ChatGPT или текстовый чат на базе искусственного интеллекта, который может тебе выдавать ответы на твои вопросы, вести диалоги или помогать чем-то ещё.

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

Или просто тупо поболтать. Это мне немножко напоминает хайп, который в своё время был с Алисой, умной колонкой, с которой тоже пытались переписываться, общаться и взаимодействовать, как с живым человеком. Но дальше интернет мемов это всё не ушло.
С ChatGTP же другая история, это действительно уже более глубокое понимание контекста и куда менее тривиальные задачи он может решать и отвечать на различные вопросы, держа действительно нить повествования.

На повествованиях стоит остановиться отдельно. ChatGPT может написать любой текст на заданную тематику в нужной стилистике. То есть его можно использовать для написания стихов (поздравлений, например), текстов песен, статей. То есть как стандартный копирайтинг, так и творческие задачи. Он действительно может написать полноценную книгу, глава за главой просто вводим запросы, и он будет генерировать сюжет. Сценарии для YouTube-роликов, для других видео, то есть всё, что касается творчества, начинающегося с текста, можно поручить ИИ.

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

Буквально позавчера весь интернет облетела новость про то, что некий студент написал целый диплом с помощью ChatGTP и успешно его защитил. И непонятно зачем об этом всем рассказал в своём Твиттере. Но потом на него написали донос с требованием аннулировать этот диплом. Чем вся эта история закончится, пока не знаю. И вообще я не проверял, насколько это является достоверной информацией. И вполне может быть, что это всё просто прекрасный маркетинговый ход по рекламе инструмента. Но, тем не менее, возможность писать дипломы с помощью ChatGPT, в принципе, есть.

Напиши в комментариях свои варианты использования, чем бы тебе мог помочь такой ИИ.
👍11🔥2
​​А вот мой собственный вчерашний кейс. Мне нужно было написать письмо в тайский банк с просьбой разобраться с процессом получения их продукта и учесть при этом мою ситуацию с визой. Разумеется, я бы и сам мог написать это письмо, но на формулирование, проверку, уточнения и подбор грамотных слов на английском, у меня ушло бы минут двадцать точно. А ChatGTP выдал мне готовый текст письма за несколько секунд и написал это в вежливой манере (как я его и попросил), используя юридические термины и точные формулировки. Сам запрос при этом я составил примерно за минуту. В готовом письме я исправил только форму одного слова, всё остальное оставил без изменений.

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

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

Вчера я упомянул, что ChatGPT целый диплом написал. Также он может решать примеры, задачки, какие-то уравнения (элементарные и очень сложные) или писать алгоритмы. Идём дальше: если он может писать алгоритмы, то вполне себе сможет написать и программный код на любом нужном тебе языке! Один из моих знакомых разработчиков написал пару дней назад про то, что с помощью ChatGTP он составил несколько скриптов для своих программ, которые просто нужно было чуть-чуть подкорректировать под собственные переменные, а всё остальное и естественно алгоритм, ИИ написал очень даже хорошо. То есть это абсолютно рабочие варианты кода, с которыми не пришлось долго возиться для того, чтобы применить их к реальному проекту.

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

Экономия времени за счёт поручения подобных рутинных задач, которые не очень хочется делать – это ли не огромная ценность, которую мы можем получать от ИИ уже сегодня?
Если вдруг у тебя по какой-то причине нет возможности воспользоваться ChatGPT самостоятельно, напиши в комментарии свой запрос, а я пришлю ответ, сгенерированный нейронкой.
🔥15👍5
В выходной не буду напрягать тебя своими заумными постами. Но напомню, особенно для тех, кто недавно начал меня читать, что есть видео обо мне, где я рассказываю свои историю. Из тех, кто уже давно со мной, вероятно тоже многие не видели. Так что заходи познакомиться ближе.
Хороших выходных!

https://youtu.be/bm137sDj4p4
👍143
👁 Как работает искусственный интеллект

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

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

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

И вот один из одноклассников хочет найти определённую фотографию. Он говорит: «Я помню, что на ней мы были втроём с ещё одним нашим другом, мы были на заднем дворе школы и у нас с собой была банка спирта».

У тебя в голове сложилось три входных параметра (это те самые параметры, которые и обрабатываются нейронкой на входе). Первый параметр – это локация, местоположение. И ты примерно понимаешь уже, какие фотографии тебе нужно искать, а какие исключить. Разумеется, фотки из туалета для локации заднего двора школы не подойдут.

Второй параметр – это количество людей на фотографии. То есть все, где вы целым классом, тоже не то, что спрашивает твой одноклассник.

Ну и наконец последнее условие – это банка спирта, то есть наличие определённого предмета на фотке. Тем самым, получив вот эти три параметра, ты можешь достаточно точно практически со 100% вероятностью выдать именно ту фотку, которую он хотел увидеть. Разумеется, если только у вас не было там фотосессии той попойки, где одинаковых фотографий штук 300.

Продолжение завтра…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
Прошлый пост открыл эту мини-серию с объяснением принципов работы ИИ и нейронных сетей. Продолжаем.

За каждый из параметров, которые содержатся в исходном запросе (в нашем случае это локация, количество людей и наличие предмета на фотографии), в нейронной сети отвечает отдельный «нейрон» – это такой процессор, который говорит тебе, что соответствует исходному запросу, а что нет и с какой вероятностью. Примерно так же, как ты в голове у себя просчитываешь: «Ага, вот это не похоже на задний двор школы, значит исключаем. А вот это скорее всего похоже, но я вот не очень узнаю место, это может быть либо за школьным двором, либо на соседней улице». В этом случае уверенность, например, составит 40%. И вот у нас уже появляются те самые вероятности, с которыми нейронка выдаёт результат.

Дальше. Все эти нейроны в искусственном интеллекте между собой связаны. Допустим, мы добавляем в качестве параметра ещё и страну, где была сделана фотография. Если входящий запрос был про нашу школу, то этот новый нейрон, отвечающий за страну, автоматически распознает, что это была твоя родина. Потому что в этом случае однозначно понятно, что речь идёт про определённую школу, которая находится в этой стране. Таким образом эти два параметра (читай – нейрона) между собой связаны. А вот, например, количество людей никак не связано с локацией. У тебя две фотографии из разных стран: и на первой, и на второй может быть по три человека, то есть это нерелевантные друг другу параметры.

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

Завтра продолжим нашу аналогию и посмотрим, как же нейронки обучаются. Напиши в комментариях, как тебе заходит такой контент: мне всегда важно получать обратную связь. И, конечно, задавай вопросы, если что-то непонятно.
👍12🔥2
А теперь давай немножко усложним нашу модель и добавим в неё обучение. То есть, делаем её действительно нейронной сетью, которая способна обучаться.

Для начала надо научиться собирать обратную связь. Ты показываешь другу фотографию и спрашиваешь, то ли это, что он искал. Он говорит: «Нет, что-то не то, там была немножко другая фотография». Окей, выдаёшь ему следующий вариант: «Да, это она». И, таким образом, ты нашёл нужные соотношения коэффициентов, которые указывают тебе на верный ответ. Но перед тем, как отдать ему фотографию, ты делаешь следующее: берёшь ручку и пишешь на этой фотографии все те параметры, которые были запрошены твоим другом. Вспоминаем: это локация (задний двор школы), количество людей (трое) и наличие предмета (банки спирта). А затем берёшь ещё записную книжку и пишешь, в каком альбоме эта фотография и в каком ящике стола лежит этот альбом. Таким образом, когда в следующий раз кто-нибудь задаст тебе точно такой же вопрос, ты сможешь практически со стопроцентной вероятностью выдать ему нужный ответ.

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

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

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

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

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

А теперь представь, что вот эта записная книжка и подписи на фотографиях тебе не нужно искать вручную, а у тебя есть компьютерная база данных, которая может обрабатывать такие запросы по поиску мгновенно практически. То есть незаметно для человеческого глаза с огромной скоростью, учитывая возможности современных компьютерных систем. Ну и в данном примере у нас было всего лишь три параметра запроса. А теперь представь, если их 30 или 300 000. К слову, в ChatGPT таких параметров 175 миллиардов (❗️). Просто представь, насколько точно, может быть результат, выдаваемый тебе машиной по такому принципу…

Примерно таким образом (естественно, аналогия была сильно упрощена) работают нейронные сети или искусственный интеллект. То есть это не просто поиск ответа на вопрос в линейной базе. Это формирование результатов по огромному количеству связанных между собой параметров, взвешивание коэффициентов, вероятностей, сравнения с другим результатами и получение обратной связи, описанное в формате компьютерного алгоритма.
👍14🔥2
Собираем паззл «Как работает искусственный интеллект» по кусочкам:

Часть 1. Что такое ИИ, аналогия с поиском фото.
Часть 2. Нейроны и связи
Часть 3. Обучение модели
Часть 4. ИИ имитирует наш мозг

А ещё я сделал каталог, в котором собрал все свои предыдущие посты и добавляю новые. На случай, если захочешь что-то перечитать и для всех, кто недавно присоединился. Каталог всегда в закрепе, так что не потеряешь: https://teletype.in/@webkrafter/about.

Хороших выходных!
👍11
Ближайшие несколько постов будут очень прикладными и практичными. Я хочу рассказать о кейсе, применении no-code инструментов для разработки и решении реальной бизнес-задачи.

Исходные данные

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

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

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

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

Архитектура построена следующим образом: сайт разработан на платформе Tilda, как я уже упоминал выше. В качестве CRM системы, куда прилетают заявки и обрабатываются, была выбрана Airtable. SMS приходят через SMS Aero, это система, которая позволяет настраивать SMS-оповещения. И сама интеграция или связка между всеми этими элементами настроены через Integromat, который теперь называется Make.

Таким образом мы имеем две системы российские – это Tilda и SMS Aero, которые легко оплачиваются нашими картами. Airtable и Integromat, которые по сути являются ключевыми во всей этой функциональной связке, то есть, там, где происходит вся магия, что позволяет получать SMS-ки c кодом и отслеживать их, эти сервисы зарубежные, которые не получается оплатить нашими картами.

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

Ставь реакцию и пиши в комментариях свои вопросы по кейсу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
⬆️ Функции системы

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

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

После того, как пользователь зарегистрировался на сайте, то есть заполнил форму регистрации (то, что мы частенько делаем на различных сайтах), эта информация должна куда-то попасть. Её надо где-то сохранить таким образом, чтобы можно было с ней работать в дальнейшем. Соответственно, нам нужна система, которая будет представлять из себя базу данных, где будет храниться информация, введённая пользователем. Это вторая функция системы – хранение данных.

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

На этом этапе мы насчитали три функции:
1. Регистрация на сайте
2. Хранение данных регистрации
3. Отправка данных регистрации в базу

Догадаешься, какие ещё функции должны быть в системе? Ответ дам завтра. Пиши свои варианты в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
⬆️ Продолжаем дополнять список функций системы регистрации на кинофестиваль

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

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

Зачем нужна отдельная функция генерации кода? Дело в том, что для того, чтобы проверить код на входе, нужно его сверить с базой данных: есть ли там у нас такой человек с предъявленным кодом или нет. Соответственно эта информация каким-то образом должна быть сопоставлена со всеми пользователями, зарегистрировавшимися на сайте. А код, который нужно также автоматически предварительно сгенерировать, должен быть привязан к данному конкретному пользователю.

И, пожалуй, последняя и самая неочевидная функция в этой всей истории – это отправка кода из базы данных в систему, которая отправляет эсэмэску. То есть просто дать команду на отправку SMS мало. Нам необходимо снабдить её тем самым кодом, который должен быть у каждого пользователя свой персональный. Итак, это последняя функция, которая будет участвовать в нашей системе.

Перечислю их ещё раз:
4. Администрирование заявок с сайта
5. Генерация уникального кода
6. Передача кода в систему отправки SMS
7. Отправка SMS с кодом

Завтра покажу архитектуру всей этой схемы и как она работает на абстрактном уровне.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
✍️ Функциональная архитектура AS IS (как есть)

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

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

Функция заполнения формы регистрации у нас происходит на сайте, который сделан на конструкторе Tilda: размещаем на схеме соответствующий прямоугольник. Дальше, для хранения данных регистрации нам нужна база данных. Для этого был применён Airtable – это сервис для создания интерактивных баз данных. Обычно БД на архитектурных схемах изображают цилиндрами.

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

Продолжение следует)
А пока пиши вопросы, если что-то не понятно. И не забывай ставить реакцию – это очень важно для меня.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Anticodeguy
😮 Оракул на базе искусственного интеллекта уже здесь В последних постах мы рассуждали про то, что делает искусственный интеллект с творчеством визуальным, то есть изображениями. А сейчас я предлагаю поговорить об ещё одном инструменте, который тоже буквально…
🧐 Только что узнал, что оказывается, Илон Маск покинул совет директоров компании OpenAI, которая разрабатывает ChatGPT, ещё в 2018 году, продал акции и сейчас не имеет к ней отношения.

Вот здесь писал, что он является сооснователем компании. Но буквально на днях заявил, что «ИИ является одним из крупнейших рисков для будущего цивилизации».

Также он считает, что сфера ИИ нуждается в регулировании наряду с медициной и автопромом, так как несёт в себе большие риски для общества.

Как считаешь, следует прислушаться к мнению одного из богатейших людей планеты?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤔4
​​Продолжаем разбирать функциональную архитектуру системы в том виде, как она есть сейчас AS IS

Четвёртая по счёту функция из нашего списка – это функция администрирования заявок сайта. И Airtable предоставляет эту возможность. То есть это не просто база данных, система позволяет просматривать эти данные, их по-разному структурировать, сортировать, фильтровать, искать нужные записи и всячески играться с ним. То есть, по сути, это два в одном – база данных и своего рода админка. Как минимум, для функция проверки заявок с сайта и сверки кода, который нам показывает посетитель на входе, она точно подходит.

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

Представь, что ты нумеруешь посетителей сайта числом, начиная с нуля и до бесконечности. То есть одному посетителю будет присвоено число 25, другому 301 и ты всегда можешь точно сказать по этому номеру, сверив его с таблицей, кто ему принадлежит. Это и есть уникальный идентификатор. Главное, не присвоить одно и то же число двум разным людям, тогда он точно будет уникальным.

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

Так, как идентификаторы уникальные, то совпадение даже по первым четырем символам на достаточно больших выборках крайне маловероятно. И на самом деле, даже если к нам придут два разных человека с одинаковым кодом, в этом нет, ничего страшного, потому что у нас будут две записи, в которых мы увидим и первого и второго человека с одним и тем же кодом. То есть я знаю, что система их так сгенерировала. И мы можем спокойно пропустить их на фестиваль. То есть здесь какой-то пересылки быть не может, потому что пользователь уже зарегистрирован в нашей системе, и мы можем его найти. Другое дело, если придут два человека с одинаковым кодом и одного из них не будет в базе. Тогда к нему будут вопросы, как он получил этот код.
👍10
Anticodeguy
​​Продолжаем разбирать функциональную архитектуру системы в том виде, как она есть сейчас AS IS Четвёртая по счёту функция из нашего списка – это функция администрирования заявок сайта. И Airtable предоставляет эту возможность. То есть это не просто база…
Хорошее дополнение сделал подписчик в комментарии к посту.

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

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

У нас остались две функции. Одна из них – передача кода в систему отправки SMS. Она производится через тот же интеграционный слой в Integromat. И эта же система позволяет отправить триггер (в переводе на русский означает «вызов») – это такой спусковой крючок, который как раз и даёт команду на отправку SMS в систему SMS Aero, которая занимается непосредственно отправкой сообщений на телефон пользователя.

И это последний элемент системы, замыкающий наш цикл: от SMS Aero мы видим стрелочку, которая отправляет SMS пользователю зашедшему на наш сайт и зарегистрировавшемуся на фестиваль. Ему отправили SMS, он получил уведомление. На этом работа системы закончена.

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

Итак, мы отрисовали функциональную архитектуру системы, а дальше я покажу мыслительный процесс по её изменению (рефакторингу). Напомню, что нам нужно заменить Integromat и Airtable, так как эти сервисы невозможно оплатить российскими картами или со счёта юрлица.

Как всегда, жду от тебя реакцию на пост и комментарии – это крайне важно для меня.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1
Начинаем прорабатывать новую архитектуру системы

Напомню, что нам нужно заменить Integromat и Airtable такими сервисами, которые можно будет оплачивать российскими картами или со счёта юрлица. Соответственно, нам нужно что-то, что могло бы в себе содержать базу данных и использоваться как CRM-система и что-то, что позволит реализовать интеграционный слой. Здесь на помощь приходит знание рынка no-code решений и тех продуктов, которые на нём представлены. Если ты его знаешь, то в принципе, можешь сразу прикинуть, а что же может заменить ту или иную систему.

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

Также здесь, конечно же, помогает опыт работы с такими системами, понимание тех возможностей, которые они предоставляют. Если я работал с тем или иным сервисом и хорошо его знаю, то, разумеется, я могу сказать, что на нём можно реализовать. Не буду здесь долго тянуть: на нашем рынке есть такая система, созданная российскими разработчиками – это Directual (Дирекшуал), которая относится к классу систем backend-as-a-service (бэкенд как сервис), и она представляет собой полновесное решение для построения базы данных, интеграционного слоя и программной логики.

Зная возможности системы Directual, можно попробовать прикинуть, каким образом будет выглядеть эта функциональная архитектура и всё ли получится реализовать с помощью этого сервиса. Если да, то мы сможем приступить к следующему этапу – уже непосредственно разработке и переносу логики на новую архитектуру.
👍11
Строим финальную архитектуру системы

Итак, всё, что было на прошлой схеме со знаком вопроса, мы заменяем на систему Directual и вот таким образом теперь будет выглядеть наша функциональная архитектура между сайтом и SMS Aero, который отправляет финальное сообщение с подтверждением регистрации пользователю.

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

Ну и разумеется, в первую очередь, она будет принимать данные формы регистрации, так как позволяет сделать это через собственный интеграционный слой. То есть, создав базу данных на этой системе, мы можем настроить так называемый webhook (вебхук, позже расскажу, что это такое), который будет принимать эти данные с каждой регистрации пользователей. А после каждой регистрации всё будет происходить по нашему процессу: будет генерироваться код из уникального идентификатора пользователя, далее будет отправляться вместе с командой на отправку в SMS Aero, пользователь получит SMS, администратор проверит принадлежность кода пользователю на входе на фестиваль в админке, которая как раз является частью этой системы.

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

Завтра расскажу об ещё одной полезной фишке, которую я добавил в эту систему. Как думаешь, чего не хватает?
👍10
Финальный штрих

Последний элемент, который я добавил в эту, систему – это уведомления о регистрации пользователей. В прошлом никаких уведомлений администрации фестиваля не приходило, то есть, они в принципе не знали о том, как идёт прогресс регистрации, кроме того, что могли просто зайти в таблицу Airtable и посмотреть, сколько там уже накопилось регистраций. А теперь им приходят уведомления в специально созданный для этого Telegram-канал, в который публикуется сообщение каждый раз, когда кто-то проходит регистрацию. Вся необходимая информация о пользователе и сформированный код отправляется в этот канал. Таким образом, администратор может воспользоваться как админкой, построенной на базе Directual, так и просто заглянув в Telegram, который всегда под рукой и, воспользовавшись поиском, например, по имени пользователя, сразу найти, а какой же код ему принадлежит.

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

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

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

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