В каждой шутке есть доля шутки 😱
С 1 апреля! Пусть ваше утро начнётся с хорошего настроения 🙃
#GAhahaha
С 1 апреля! Пусть ваше утро начнётся с хорошего настроения 🙃
#GAhahaha
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣52🔥13😁6❤5👍3
💥 UML-диаграммы для интеграций: Sequence и Activity 💥
Интеграционный UseCase написан.
Но возможно в нем много текста. Слишком много текста 😁
А разработчики много читать не любят.
Для быстрого понимания “о чем тут вообще” помогают картинки и схемы. Особенно, когда речь идет о сложных интеграционных сценариях.
➡️ UML Sequence
Прекрасным дополнением к интеграционному Use Case служит UML диаграмма последовательности.
Диаграмма помогает быстрее разобраться не только в последовательности шагов, но и во взаимосвязях между компонентами системы, что особенно ценно при разработке и тестировании интеграций.
➡️ UML Activity
Визуально похожа на блок-схему.
Помогает показывать алгоритм работы системы.
Но используется реже, чем UML Sequence.
Диаграммы могут являться как дополнением, так и заменой текстового описания.
👍 Но текст алгоритмов всё же лучше держать рядом с диаграммами, как показазывает опыт.
Основные инструменты для построения UML-диаграмм:
Графические редакторы
🔸 Draw.io
🔸 Lucidchart
🔸 Miro
🔸 Microsoft Visio
Для создания диаграмм через код
🔸 PlantUML
🔸 MermaidChart
🖼 На картинках к посту показала обе диаграммы — UML Sequence и UML Activity.
Пример для процесса сброса пароля:
1. пользователь на переходит к экрану "Забыли пароль?",
2. вводит свой email,
3. получает письмо со ссылкой для сброса пароля на email.
👉 Обе созданы через код в PlantUML и описывают один и тот же процесс.
👉 Как читать:
+ UML Sequence: читайте строки по порядку, сверху-вниз, даже если следующая строка находится правее или левее.
+ UML Activity: двигайтесь сверху вниз, а при разветвлении (ромбы/многоугольники) сначала завершите читать одну ветку, затем другую.
#ИнтеграцииGA
Интеграционный UseCase написан.
Но возможно в нем много текста. Слишком много текста 😁
А разработчики много читать не любят.
Для быстрого понимания “о чем тут вообще” помогают картинки и схемы. Особенно, когда речь идет о сложных интеграционных сценариях.
➡️ UML Sequence
Прекрасным дополнением к интеграционному Use Case служит UML диаграмма последовательности.
UML-Sequence
– это тип диаграммы, который показывает, как компоненты в системе взаимодействуют друг с другом в хронологическом порядке.
Диаграмма помогает быстрее разобраться не только в последовательности шагов, но и во взаимосвязях между компонентами системы, что особенно ценно при разработке и тестировании интеграций.
➡️ UML Activity
UML-Activity
помогает визуализировать последовательность действий в процессе работы системы, показывая не только шаги, но и ветвления, условия, циклы.
Может показывать системы и роли пользователей.
Визуально похожа на блок-схему.
Помогает показывать алгоритм работы системы.
Но используется реже, чем UML Sequence.
Диаграммы могут являться как дополнением, так и заменой текстового описания.
👍 Но текст алгоритмов всё же лучше держать рядом с диаграммами, как показазывает опыт.
Основные инструменты для построения UML-диаграмм:
Графические редакторы
🔸 Draw.io
🔸 Lucidchart
🔸 Miro
🔸 Microsoft Visio
Для создания диаграмм через код
🔸 PlantUML
🔸 MermaidChart
🖼 На картинках к посту показала обе диаграммы — UML Sequence и UML Activity.
Пример для процесса сброса пароля:
1. пользователь на переходит к экрану "Забыли пароль?",
2. вводит свой email,
3. получает письмо со ссылкой для сброса пароля на email.
👉 Обе созданы через код в PlantUML и описывают один и тот же процесс.
👉 Как читать:
+ UML Sequence: читайте строки по порядку, сверху-вниз, даже если следующая строка находится правее или левее.
+ UML Activity: двигайтесь сверху вниз, а при разветвлении (ромбы/многоугольники) сначала завершите читать одну ветку, затем другую.
#ИнтеграцииGA
👍19❤6🔥4👌2❤🔥1💯1
Если вы знаете инструмент, в котором можно описать диаграмму через код, то на помощь в её разработке приходит Искусственный Интеллект.
ChatGPT / DeepSeek - Искусственный Интеллект
PlantUML - Инструмент для создания любых UML-диаграмм через код
Инструкция по созданию UML Sequence:
1️⃣ Открой ChatGPT / DepSeek и войди аккаунт
Вход в аккаунт нужен, чтобы использовать улучшенную модель ИИ.
2️⃣ Выполни команду
Работай как опытный системный аналитик.
Сделай код для plantUML, чтобы создать UML Sequence диаграмму.
Не показывай альтернативные сценарии.
Сценарий:
<название сценария>
Пользователи и системы:
<участники сценария>
Описание сценария:
<описание Use Case>
Заполни название сценария и список участников (пользователи, фронтенды, бэкенды, внешние системы, БД).
Скопируй и вставь на место <описание Use Case> детализированный Use Case с описанием сценария интеграции.
Пример Use Case.
Отправь запрос к ChatGPT.
3️⃣ ChatGPT вернет в ответ код диаграммы для PlantUML
4️⃣ Вставь полученный код в PlantUML
5️⃣ Обязательно проверь и скорректируй результат:
5.1. Вручную поправь код по аналогии - это быстрее
5.2. Проси уточнения кода у ChatGPT дополнительными запросами
1. Диаграмма за 3+15 минут, с учетом проверки результатов.
2. Не надо писать код самому
3. Легко делать правки, т.к. диаграмма через код, и при любых правках всё двигается автоматически
1. Use Case должен быть описан идеально. Без него диаграмму не сделать, либо будет много правок в придуманном ИИ варианте
2. ChatGPT / DeepSeek делает ошибки и за ними надо вносить правки
3. Лучше работает DeepSeek. Но и ChatGPT можно натренировать
❗️ Рекомендую использовать этот лайфхак только при знании и понимании нотации.
Для тех, кто только изучает UML, рекомендую использовать ИИ для проверок, но помните - он ошибается.
#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤9❤🔥2😱1
Маппинг - это процесс сопоставления полей (данных) из одной системы с соответствующими полями в другой системе.
Это нужно, так как разные системы могут описывать один и тот же объект данных по-разному.
Этот процесс всегда необходим в задачах на интеграции.
Маппинг описывают в виде таблицы.
Допустимо делать и в виде структурированного списка, но по опыту - таблицы удобнее.
➡️ В таблице с маппингом делают несколько основных колонок:
- название параметра на разговорном языке;
- описание, требования к валидации, ФЛК (форматно-логический контроль) и преобразованиям, если это необходимо;
- названия параметра в API каждой системы (например, поле из JSON, поле из xml или другого формата сообщения, query из URL и др);
- название параметра в БД системы, если она есть в описании Use Case.
- типы данных в каждой системе / БД.
Допустима вариативность с колонками.
Их может быть больше, а может быть и меньше.
Если говорить про задачу на интеграцию системы #BookingGA с Unisender для подписки пользователей на рассылку, то 👉 таблица маппинга под часть задачи "чтение сообщения из топика Kаfka и добавление пользователя в лист контактов Unisender" 👉 будет содержать колонки:
- название поля на русском
- название поля в сообщении Kafka (JSON)
- название поля в БД Сервиса Уведомлений BookingGA, т.к. туда будет сохранена информация о подписке пользователя на город
- название параметра в API системы Unisender, куда будем отправлять данные о новом пользователе для листа контактов
- общее описание поля, требования к его обработке и проверкам
- типы данных в сообщении Kafka (JSON), API Unisender и БД. Я бы добавила только отдельную колонку “Тип данных в БД Уведомлений”. Все остальные типы данных не так важны или очевидны.
Маппинг помогает разработчикам понять, какие данные нужно получать из внешней системы, с которой интеграция, что важно сохранить в БД или сопоставить с ней, а что нужно просто показать пользователю и не надо держать в памяти программы 🙌
#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍10❤🔥2🔥1
Автоматическая_рассылка_email_для_подписчиков_на_города_Интеграционный.pdf
1.2 MB
Готов итоговый файл Confluence с примером интеграционного Use Case:
👉 Авторассылка email по расписанию через интеграцию с Unisender
Внутри:
✅ микросервисная архитектура
✅ есть брокер Kafka
✅ задача запускается по cron (автоматически, по расписанию).
Всё на уровне системы, без участия пользователей.
Максимально подробный и детальный пример.
👉 Шаги для его создания:
1️⃣ Анализ API-документации внешней системы Unisender.
2️⃣ Тестирование API через Postman (можно другой инструмент),
чтобы понять, как API Unisender реально работает и его "подводные камни".
3️⃣* Обсудили алгоритмы авторизации запросов во внешние системы.
В случае Unisender можно отправить все настройки подключения в конфигурационный файл, а API-ключ туда же или в Key Store (хранилище ключей).
4️⃣ Встроили новую функциональность в архитектуру проекта
и показали это на схеме архитектуры C4/Container:
+ какие сервисы / микросервисы задействованы (если это не монолит)
+ какие БД используются
+ нужны ли брокеры в процессе
+ и другие детали
5️⃣ Знаем, что нужны задачи на доработку БД в МС Уведомлений,
чтобы хранить информацию о:
+ соответствии городов и их list_id в Unisender
+ какие пользователи (email) и на какие города подписаны для рассылки
6️⃣ Описали интеграционный Use Case (вер1),
используя полученный опыт работы с API, понимание архитектуры: зафиксировали, как будут перетекать данные между микросервисами системы.
7️⃣ Дополнили его UML Sequence диаграммой
и узнали, как её строить (в статье оставила ссылку на специальный AI-бот от GetAnalyst по генерации идеального кода PlantUML 😎).
8️⃣ Узнали что такое маппинг данных.
Добавила несколько таблиц маппинга в статью.
9️⃣ Зафиналила список задач на разработку.
В идеале ещё доделать предложенный список вложенных статей, но уже в этом виде разработчики могут начинать работу над задачей и остатки важной документации формировать сами!
Полезный образец для развития насмотренности и получения опыта
#ИнтеграцииGA #BookingGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33❤16❤🔥6👍4⚡2👏1😁1
Послушать и посмотреть:
🎧 Postman: навык тестирования REST API за вечер
🎧 Опасные интеграции - про альтернативные сценарии и обработку типовых ошибок
🎧 Подкаст "Проблемы в работе с задачами на интеграции"
🎧 Доставить и не потерять: синхронизация данных в распределенных системах - основы очередей сообщений
🎧 Подкаст "Идемпотентность и коммутативность API: что это и как применяют на практике"
🎧 Подкаст "Kafka: что нужно знать Системному аналитику" - глубже в понимание очередей и брокером
Познакомиться с теорией:
📝 Как аналитику работать с задачами на интеграции — пошаговая инструкция
В этой статье вы найдете пошаговую инструкцию, которая станет помощником при проектировании интеграций для любых систем.
📝 Отличия между обычными и интеграционными Use Case
📝 Инструменты системного аналитика для тестирования в API
📝 Работа Kafka - что надо знать для работы СА
Практические руководства по Postman:
📚 Практическое руководство по Postman - тестирование API DaData (с нуля до результатов)
📚 Практическое руководство по Postman - тестирование API ChatGPT
📚 Практическое руководство по Postman - тестирование API Unisender
Шаблоны постановок задач:
Ещё больше про интеграции:
🎓 Практический курс Интеграции Систем - работа онлайн с Екатериной Ананьевой и экспертами программы
🎓 Материалы для самообучения по Интеграциям (пакеты вебинаров)
Всё по интеграциям от GetAnalyst вы всегда можете найти в канале по хэштегу #ИнтеграцииGA 🙌
Прекрасных выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24💯12🔥7❤4❤🔥2👌1
Бывают моменты, когда теряешь ориентиры в карьере.
Не понимаешь, куда расти, в каком направлении двигаться. Вроде всё умеешь — но хочется большего, хочется развиваться и в навыках, и в деньгах. Но как и куда?
⭐️ В такие моменты помогает одна простая, но мощная практика — написать "резюме мечты".
Не текущее.
А такое, где ты — тот, кем хочешь стать.
Почти как в детстве про "я хочу стать космонавтом", но уже с позиции взрослого человека 🙃
Садишься и честно придумываешь себе будущий опыт работы (наконец-то можно!) 😊
✅ Навыки:
+ проектирование архитектуры
+ нотация С4
+ проектирование REST API
+ интеграции
+ микросервисы
+ Kafka
+ RabbitMQ
+ Postman на продвинутом уровне
+ ...
✅ Опыт работы:
+ Убрал хаос в компании по работе с REST API и ввёл корпоративные стандарты проектирования
+ Работал с высоконагруженной системой и проектировал внутренний обмен данными
+ Продумывал сложные цепочки интеграций микросервисов с участием брокеров, gRPC, REST API
+ Проектировал архитектуру для переезда с монолита на микросервисы
+ Управлял командой из 12 аналитиков распределенных по командам продукта
+ Работал в Германии на позиции ведущего системного аналитика более 3-х лет
+ ...
✅ ЗП:
от 100 000 $ /год
Пишем всё, что когда-то и где-то слышали от более опытных коллег. Мечтаем. Ищем вдохновение в статьях на хабре, в цифрах ЗП в вакансиях на LinkedIn. Для вдохновения еще полезно посещать митапы, конференции и обучения))
Это может показаться странным. Как будто ты приписываешь себе несуществующий опыт. Кто-то это ради "лишь бы взяли" делает 😅
Но у вас другая история. Вы к этому опыту планируете прийти.
Магия в том, что такой практикой ты даёшь себе чёткий вектор: куда я хочу расти📈 🔮
Появляется фокус. А вместе с ним — план.
После этой практики ты даже неосознанно начинаешь движение к цели 🙌 (а если опубликовать, так вообще можно случайно "сесть на ракету" и ускориться...😅)
У меня вообще всё, что записано на бумаге, обычно через время сбывается. Такой вот ритуал исполнения желаний 🪄
Попробуйте 😉
Это работает!
Не понимаешь, куда расти, в каком направлении двигаться. Вроде всё умеешь — но хочется большего, хочется развиваться и в навыках, и в деньгах. Но как и куда?
Не текущее.
А такое, где ты — тот, кем хочешь стать.
Почти как в детстве про "я хочу стать космонавтом", но уже с позиции взрослого человека 🙃
Садишься и честно придумываешь себе будущий опыт работы (наконец-то можно!) 😊
✅ Навыки:
+ проектирование архитектуры
+ нотация С4
+ проектирование REST API
+ интеграции
+ микросервисы
+ Kafka
+ RabbitMQ
+ Postman на продвинутом уровне
+ ...
✅ Опыт работы:
+ Убрал хаос в компании по работе с REST API и ввёл корпоративные стандарты проектирования
+ Работал с высоконагруженной системой и проектировал внутренний обмен данными
+ Продумывал сложные цепочки интеграций микросервисов с участием брокеров, gRPC, REST API
+ Проектировал архитектуру для переезда с монолита на микросервисы
+ Управлял командой из 12 аналитиков распределенных по командам продукта
+ Работал в Германии на позиции ведущего системного аналитика более 3-х лет
+ ...
✅ ЗП:
от 100 000 $ /год
Пишем всё, что когда-то и где-то слышали от более опытных коллег. Мечтаем. Ищем вдохновение в статьях на хабре, в цифрах ЗП в вакансиях на LinkedIn. Для вдохновения еще полезно посещать митапы, конференции и обучения))
Это может показаться странным. Как будто ты приписываешь себе несуществующий опыт. Кто-то это ради "лишь бы взяли" делает 😅
Но у вас другая история. Вы к этому опыту планируете прийти.
Магия в том, что такой практикой ты даёшь себе чёткий вектор: куда я хочу расти
Появляется фокус. А вместе с ним — план.
После этой практики ты даже неосознанно начинаешь движение к цели 🙌 (а если опубликовать, так вообще можно случайно "сесть на ракету" и ускориться...😅)
У меня вообще всё, что записано на бумаге, обычно через время сбывается. Такой вот ритуал исполнения желаний 🪄
Попробуйте 😉
Это работает!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51❤28🔥14🥰4👏3💯1
Использование ChatGPT и аналогичных нейросетей для работы аналитика всё еще может вызывать вопросы. Где-то это помогает, а где-то наоборот - отнимает время 📉
Кроме того, есть проблема: нейросети не всегда правы. И если неопытный аналитик пытается использовать их бездумно, ошибки гарантированы.
Но в то же время, если вы используете нейросеть:
✔️ Умея решать задачи самостоятельно
✔️ Зная алгоритмы работы и последовательности команд
✔️ Используя правильные связки инструментов
то она может стать вашим помощником! 🤝
👉 Если вы умеете проектировать БД на логическом уровне, ищите возможность развиваться в темах БД и SQL, и хотите ускорять свою работу с использованием нейросетей, то приглашаю вас на онлайн-практику:
🕘 19:00 - 21:30 МСК
👉 Подробности и запись
План:
1. Знакомство с ChatGPT (и не только)
2. Проектирование физической модели БД PostgreSQL
3. Автоматическая отрисовка ER-модели с использованием ChatGPT и дополнительных инструментов
4. Создание реальной БД и SQL-запросы в DBeaver
✅ Запись будет доступна после занятия.
✅ Для всех участников сейчас доступно занятие в записи по SQL-запросам с практикой в реальной БД 😎
По вопросам можно писать через сайт или @getanalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5👍5❤🔥1
REST API — архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.
REST API основан на протоколе HTTP:
это означает, что все принципы работы HTTP методов, их структура запросов и ответов, будут также применимы и для REST API.
Пример:
+ в HTTP есть виды методов: GET, POST, PUT, PATCH и т.д.
+ в REST API методы абсолютно те же.
Архитектурный стиль REST добавляет к HTTP дополнительные правила и принципы, по которым должен происходить обмен данными👇
Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу
В картинках к посту просто и с примерами разобрала эти принципы.
Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 👌
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👍18❤8❤🔥5