GetAnalyst - Навыки • Системный анализ • Бизнес-анализ – Telegram
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.5K subscribers
2.09K photos
74 videos
203 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
Работа над ошибками в REST API - часть 1

А теперь давайте вернемся к посту, где я описала для вас в Confluence подробный интеграционный Use Case.

В нём я указала два интеграционных метода REST API на шагах 4 и 5:

1. POST /orders/{orderId}/projects - создание проекта в системе Todoist для оплаченного заказа на организацию мероприятия.


Мои ошибки:

В предыдущем посте я рассказываю вам, что мы берем для удаления задач DELETE /event/{eventId}/task/{taskId}, а сначала предлагала вместо event использовать в URL сущность order.

В одном случае единственное число (event, task), а в другом множественное (orders, tasks) в названиях сущностей.

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

Поэтому выбираю итоговое решение:
POST /orders/{orderId}/projects
DELETE /orders/{orderId}/tasks/{taskId}


Вместо сущности мероприятие (event) будем использовать заказ (order) везде.
Также будем использовать множественное число для названия эндпоинтов, потому что так привычнее.



2. POST /orders/{orderId}/tasks - создание стандартного набора задач под организацию заказанного мероприятия.


Кажется, что здесь всё ок, если обращаться к предыдущему пункту. Но не ок.

Проблемы с иерархией.
C точки зрения внешней системы Todoist задачи должны быть внутри проектов.
А с точки зрения нашей системы задачи нужны для выполнения заказа order.

Получается, что для работы с задачами Todoist должны быть методы:
POST /orders/{orderId}/projects/{projectId}/tasks - создание задачи в проекте
DELETE /orders/{orderId}/projects/{projectId}/tasks/{taskId} - удаление задачи
GET /orders/{orderId}/projects/{projectId}/tasks - список задач проекта в Todoist

Выглядят такие методы перегружено.

Продолжим разбирать "как лучше" в следующем посте 👇

#RestApiGA #ИнтеграцииGA
10👌3👍2❤‍🔥1
Работа над ошибками в REST API - часть 2 (читать аккуратно, вдумчиво, глядя на картинку с БД)

Проблемы с иерархией.
C точки зрения внешней системы Todoist задачи рекомендуется делать внутри проектов (API-документация).
А с точки зрения нашей системы задачи нужны для выполнения заказа order.


В БД #EventTasksGA, которую добавила к посту, можно увидеть следующее:

👉 Сущность "Проект Todoist" отсутствует в БД
А в Todoist без проекта нельзя создавать задачи (требование бизнеса).
У нас есть четкое соответствие: для 1 заказа есть 1 проект в Todoist.
Кроме id нам от проекта в Todoist больше ничего не надо в EventTasksGA.
Поэтому давайте только его и хранить в заказе.
Итого: в таблицу order добавляем параметр todolist_project_id. Через него будем узнавать в каком проекте задачи.

👉 Сущность "Задачи Todoist" (todoist_project_task) есть в БД EventTasksGA, и она связана с заказом.
Каждая новая задача в Todoist будет приводить к записи новой задачи в таблицу todoist_project_task - создание новой строки.


После исследований нашей БД и сопоставления с Todoist, предлагаю действовать так:

PATCH /orders/{orderId}/todoist-projects - создание проекта в Todoist под оплаченный заказ, т.е. дополнение таблицы БД “order” параметром project_id.
PATCH - т.к. нет создания новой строки в таблице, а есть только изменение существующей.

POST /orders/{orderId}/tasks - создание задачи в Todoist (вызов API), после чего создаем в БД новую строку - запись о задаче в таблицу todoist_project_task.
POST - так как новая строка данными о задаче в БД.

GET /orders/{orderId}/tasks - список задач по заказу, которые создали в Todoist. Выглядит аккуратно и логично.

DELETE /orders/{orderId}/tasks/{taskId} - удаление задачи из заказа (проекта в Todoist).



Стандартизировались 🙌
Эти посты наглядно показыавают, что при проектировании REST API я не могу работать только с одним методом.
Важно видеть всю систему целиком, все данные.


Остаётся вам передать полные постановки задач на интеграцию 😉

#RestApiGA #ИнтеграцииGA
10❤‍🔥8👍3🔥3
🔎 Нужно ли уметь проектировать методы REST API системному аналитику? 🔎

REST API — это основной способ интеграции современных систем.

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


Однако некоторым аналитикам требуется не только умение читать чужую документацию, но и способность проектировать методы REST API с нуля.
Это включает как минимум:
✔️ выбор подходящих HTTP-методов (POST, GET, PUT, PATCH, DELETE),
✔️ определение URL,
✔️ и самостоятельное описание JSON-ов.


Что конкретно нужно знать по части REST API системному аналитику зависит от нескольких факторов:

👉 1. Грейд (уровень специалиста)
Все системные аналитики, включая начинающих (junior), должны уметь читать REST API-документацию.
Это включает:
+ Знание назначения методов POST, GET, PUT и других.
+ Понимание структуры URL и способность определить назначение метода, даже без пояснений на естественном языке.
+ Умение читать и описывать JSON, а также формулировать требования к его содержимому
На многих собеседованиях сейчас просят хотя бы на базовом уровне описать метод REST API с нуля. Даже junior-ов.


👉 2. Проект
Бывают простые проекты, бывают сложные. Бывают с REST API или без него (но это редкость).

👉 👉 2.1. В веб-разработке встречаются проекты без API, где UI и серверная логика объединены в одной кодовой базе. Обычно это внутренние системы.
Еще желательно, чтобы проект был без внешних интеграций.
В таком случае с REST API вы не встретитесь.
Такие проекты подходят для начального уровня, но редко интересны опытным аналитикам.

👉 👉 2.2. Если вы работаете над интеграциями с внешними системами, необходимо уметь читать REST API. Умение проектировать методы с нуля не всегда требуется.

👉 👉 2.3. Если ваша система должна предоставлять API для внешних систем, от системного аналитика ожидается умение собирать требования и проектировать методы REST API, т.е. составлять контракты: определять HTTP-метод, URL, JSON-ы и другие параметры.


👉 3. Команда и правила компании
В разных компаниях обязанности по проектированию REST API распределены по-разному.
В одних это зона ответственности разработчиков, в других — системных аналитиков. В любом случае, итоговое решение всегда принимает Backend-разработчик, который может скорректировать предложения аналитика.
Во многих компаниях есть выделенные Backend-команды. В них требуют, чтобы системные аналитики сосредотачивались исключительно на проектировании REST API, и нет задач на работу с пользовательским интерфейсом (UI).


--------
Итого…

Требования к умению проектировать REST API для системного аналитика зависят от уровня специалиста, специфики проекта и подхода компании.

На начальных этапах карьеры достаточно базовых знаний:
+ понимать структуру документации,
+ различать HTTP-методы,
+ и уметь читать JSON.

Однако с ростом квалификации и участием в более сложных проектах навыки проектирования REST API методов с нуля становятся необходимыми. Вмесе с этим просят умение работать с Postman и/или Swagger (знание OpenAPI).

REST API — это уже не просто дополнительный навык, а одна из основных компетенций системного аналитика.

#RestApiGA #ИнтеграцииGA
14👍5
🏆 Маппинг данных - что это и зачем? 🏆

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

Этот процесс всегда необходим в задачах на интеграции.

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


➡️ В таблице с маппингом делают несколько основных колонок:

- название параметра на разговорном языке;
- описание, требования к валидации, ФЛК (форматно-логический контроль) и преобразованиям, если это необходимо;
- названия параметра в API каждой системы (например, поле из JSON, поле из xml или другого формата сообщения, query из URL и др);
- название параметра в БД системы, которая отвечает за работу интеграции, если в процессе работы метода надо сохранить данные в БД.
- типы данных в каждой системе и в БД;

Допустима вариативность с колонками. Их может быть больше, а может быть и меньше.



Если говорить про задачу интеграцию системы #EventTasksGA с Todoist для создания задач, то маппинг будет содержать несколько колонок:

- название поля на русском
- название поля в REST API Backend EventTasksGA
- название параметра в API системы Todoist, чтобы установить соответствие с её полями в интеграции
- название поля в БД EventTasksGA, т.к. задача после создания сохраняется в её БД
- описание поля, требования к его обработке и проверкам
- типы данных в API EventTasksGA, API Todoist и БД. Я бы добавила только отдельную колонку “Тип данных в API EventTasksGA”. Все остальные типы данных не так важны или очевидны.


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

#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍255🔥2
🚀 Интеграции систем - предобучение начинается сегодня 🚀

Я рада приветствовать нашу новую команду, которая будет работать над проектом по интеграциям! 💚

Сегодня открывается первый модуль “Предобучение”.
На этой неделе начнём подключение к Confluence для работы над проектом.

А первая онлайн встреча пройдёт уже в Новом году:
🗓14 января 2025, в 19:00 Мск


В этот раз у нас особенный поток 🙂

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


Это дополнительное время даёт следующие преимущества:


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

Telegram-чат для консультаций уже открыт — задавайте вопросы в любое время!

У меня есть несколько дополнительных заданий, которые я обычно предлагаю для самостоятельного выполнения после завершения курса. Среди них работа с GraphQL, SOAP API и создание диаграммы C4 через код. Их можно будет сделать раньше.

Отсутствие рабочей суеты во время каникул позволит сосредоточиться на главной задаче — саморазвитии!


Пусть это время станет отличным стартом для ваших новых знаний и достижений в Новом году! 🚀


🔗 Узнать подробнее о практической программе
Вопросы по подключению к группе можно задать
@getanalyst или через сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86🔥4
🔥 Связь "многие-ко-многим" в БД: разбор задачи с собеседования на системного аналитика 🔥

В эпизоде разбираем одну из самых популярных задач для собеседования на системного аналитика: проектирование БД, ER-диаграмма и связь “многие ко-многим”.

Полезен для всех начинающих и опытных системных аналитиков, у кого мало опыта в создании ER-диаграмм с нуля. И конечно для тех системных аналитиков, кто сейчас активно готовится к собеседованиям.

🔗 Сайт эпизода


Эпизод доступен в:
RuTube
YouTube
VK Video

Аудио:
Apple Podcast
Яндекс.Музыка
Telegram
Castbox
Spotify


Делитесь с коллегами и подписывайтесь на канал подкаста, чтобы следить за релизами новых эпизодов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥244😁1👌1
🎁 Доступны новые вебинары в записи 🎁

Ровно один раз в год я рассказываю про этот раздел нашего сайта. День настал! ☺️


Коллеги, у нас на сайте есть раздел:
🔗 Материалы для самостоятельного обучения

В нем вы можете найти практические вебинары в записи по Интеграциям, REST API, Архитектуре, БД и SQL, для начинающих системных аналитиков.

Мы рады сообщить, что за этот год раздел пополнился новыми материалами:
🔗 Проектирование архитектуры 1.0
🔗 REST API для аналитиков 4.0
🔗 Базы данных и SQL: продвинутый уровень

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

Практика и.... еще немного практики! А также все мои душа и сердце, которые я вкладываю в своё дело и в эти занятия.


Спасибо, что выбираете GetAnalyst ❤️

P.S. Есть вопросы? Пишите нам в @getanalyst или на сайте 👌
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍7🔥5🥰1
🤍 Итоги 2024 года в GetAnalyst 🤍

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

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

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

Картинки 🤍☝️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍3😁3❤‍🔥2
🙅‍♀️ Шаблонные поздравления с Новым годом 🙅‍♀️
📚 Полезный пост с книгами 📚

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

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

Начните читать в каникулы. Они правда могут стать волшебным началом 2025 года и изменить вашу жизнь к лучшему 🙌

«То, как мы работаем, – не работает», Тони Шварц
Эта книга-мотиватор, которая помогает работать не много и упорно, а эффективно. Если вы встретились с выгоранием, часто перерабатываете и ничего не успеваете, то книга поможет перестроить ваши рабочие процессы и график. Уже почти 5 лет пользуюсь приёмами из неё.

«Ставка на себя. Как увидеть возможности, не упустить их и построить карьеру мечты», Энн Хайетт
Если вы понимаете, что засиделись на одном месте и боитесь что-то менять из-за неуверенности в своих силах, почитайте вдохновляющую историю Энн, которая начинала свою работу ассистентом в стартапе и младшим помощником руководителя, а по итогам работала рука об руку с основателями мировых IT-компаний как Google.

«Договориться можно обо всем! Как добиваться максимума в любых переговорах», Гэвин Кеннеди
Подойти к руководителю и попросить о повышении ЗП похоже на ночной кошмар, завершающийся отказом? Выход на собеседования вызывает желание вернуться обратно к работе и заниматься привычными задачами. Везде видятся сплошные отказы? Нормально, проходили. Читаем книгу и движемся вперёд.

«Магия утра», Хэл Элрод
Системность. Дисциплина и самоорганизация. Лишние часы в сутках. Эти три предложения отлично харакртеризуют мои результаты по итогам прочтения этой книги.


Желаю вдохновения, уверенности в своих силах и смелых шагов в 2025 году!

Пусть он станет временем, когда сбываются мечты!

Загадывай желания под бой курантов.
Пиши цели.
Я буду с тобой!

Всё получится! 🪄

С наилучшими пожеланиями,
Екатерина Ананьева
и команда GetAnalyst!
40🍾12🔥9👍4👀2😁1
📚 Подборка полезных материалов по Интеграциям от GetAnalyst 📚

Для всех, кому хочется продуктивности в большие выходные!

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

🎧 Postman: навык тестирования REST API за вечер

🎧 Опасные интеграции - про альтернативные сценарии и обработку типовых ошибок

🎧 Подкаст "Проблемы в работе с задачами на интеграции"

🎧 От «умного дома» до «умного города»: новые челленджи IT-аналитиков - интеграции с умными устройствами

🎧 Доставить и не потерять: синхронизация данных в распределенных системах - основы очередей сообщений

🎧 gRPC vs REST API - что выбрать для проекта

📝 Отличия между обычными и интеграционными Use Case

📝 Пример интеграционного Use Case

📝 Инструменты системного аналитика для тестирования в API

📚 Практическое руководство по Postman - тестирование API DaData (с нуля до результатов)

📚 Практическое руководство по Postman - тестирование API ChatGPT

📚 Полный шаблон постановки задачи на интеграционный REST API-метод

🎧 Идемпотентность и коммутативность API: что это и как применяют на практике

🎓 Практический курс Интеграции Систем - работа онлайн с Екатериной Ананьевой и экспертами программы

🎓 Материалы для самообучения по Интеграциям (пакеты вебинаров)


📝 пост в канале
📚 книга, статья или шаблон документации от GetAnalyst
🎧 подкаст или видео



Еще больше материалов по интеграциям от GetAnalyst вы всегда можете найти в канале по хэштегу #ИнтеграцииGA 🙌

Отличного продолжения выходных!
🔥288👍4🥰4👏4
🎄🎁 Доступ к записи вебинара "Интеграции: REST API, GraphQL, gRPC + Postman" 🎁🎄

Поздравляем с наступившим 2025 годом! И верим, что вы отлично проводите время, отдыхаете и наслаждаетесь спокойствием 🙌

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


Цитаты коллег, кто был онлайн:

Станислав:
Меня очень впечатлило, как Екатерина доступно объясняет, спасибо Вам большое

Дарья:
Было супер! Спасибо о таком классном вебинаре, было очень подробно и понятно ♥️

Владимир:
Очень понравилось. Очень полезно. Уже записался на обучение Интеграции. Теперь уверен, что не зря. Спасибо

Акерке:
Вообще очень было все понятно до мелочей, в видах технологий 🤍🤍🤍💔💔💔



👉 Мы решили сделать новогодний подарок для вас и даём дополнительную возможность посмотреть запись эфира:

🎁 Интеграции по REST, GraphQL и gRPC: знакомство через Postman
🗓 с 4 до 12 января 2025
👉 Подробности и регистрация

‼️ Смотреть с компьютера и перед занятием обязательно открыть Postman, так как практика проводится именно в нём.


Занятие проводилось в поддержку практической программы Интеграции систем для системных аналитиков.


Оно поможет вам сделать шаг к профессиональному росту в системном анализе уже сегодня! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍10🔥10❤‍🔥1
💡 Более 100 000 лампочек сияют каждую ночь, чтобы радовать людей 💡

Кто-то это придумал, спроектировал и реализовал.

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


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

Сияния вам в ваших сердцах, как в этих огоньках, и даже ярче!
Больше волшебства и чудес в 2025!

С Рождеством, друзья! 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
51❤‍🔥10👍10😍3🎉21🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, с началом первой рабочей недели😃
 
Желаем плавно влиться в рабочие будни.
Не забывайте находить время для отдыха и маленьких радостей в течение дня☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
😁459👍65