Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
🌵Чистая архитектура — ключевые принципы и зачем она нужна 🌵
Монолиты, микросервисы, и… чистая архитектура. Как они связаны?
В этом выпуске объясняем простыми словами, как работает чистая архитектура, зачем она нужна и какие принципы лежат в её основе.
🔗 Сайт эпизода
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
Сообщество GetAnalyst — ваш навигатор в мире архитектуры и проектирования систем!🗺
Монолиты, микросервисы, и… чистая архитектура. Как они связаны?
В этом выпуске объясняем простыми словами, как работает чистая архитектура, зачем она нужна и какие принципы лежат в её основе.
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
Сообщество GetAnalyst — ваш навигатор в мире архитектуры и проектирования систем!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍8❤2❤🔥1🤩1
Иногда просто не хватает вдохновения, чтобы сделать очередной шаг вперёд 🤍
Спасибо каждому из вас за него.
И хочу напомнить:
Не забывайте благодарить, хвалить и поддерживать своих коллег.
Особенно это важно для джунов, которые работают больше всех, и стараются как за троих))
И для тех, кто только-только вышел к вам в компанию и действительно старается как можно скорее начать приносить пользу.
Обратная связь… кажется, что мелочь, но на самом деле значит очень много 🪄
Спасибо каждому из вас за него.
И хочу напомнить:
Не забывайте благодарить, хвалить и поддерживать своих коллег.
Особенно это важно для джунов, которые работают больше всех, и стараются как за троих))
И для тех, кто только-только вышел к вам в компанию и действительно старается как можно скорее начать приносить пользу.
Обратная связь… кажется, что мелочь, но на самом деле значит очень много 🪄
❤48❤🔥8🔥4👍3
[GetAnalyst] REST API - Пагинация.png
577.6 KB
🎯 6 способов пагинации в REST API 🎯
Когда мы получаем списки через API, то получать весь миллион записей сразу - плохая идея. Лучше получать по частям — порциями.
Пагинация — отвечает за порционное получение данных в REST API.
Помогает:
✔️ не перегружать как сервер, так и клиента API;
✔️ ускорить отклик на запрос;
✔️ пользователю не надо ждать данных вечность.
👇 6 способов пагинации на примере получения списка пользователей:
🔹 Offset
Используются параметры смещения (offset) и ограничения (limit) для определения начальной точки и количества возвращаемых записей.
✅ Простая в реализации
✅ Подходит, когда данных немного
➖ Неэффективна при больших offset: система перебирает все записи, чтобы дойти до нужных
🔹 Page
Используются номер и размер каждой страницы для переключения между ними.
✅ Привычно для пользователей (страницы)
✅ Подходит, когда пользователь реально листает страницы
➖ Проблемы те же, что у offset
🔹 Cursor
Используется курсор (id записей в БД) для обозначения позиции в наборе данных.
✅ Быстрая и надёжная при больших объёмах данных.
✅ Часто используют в соцсетях, чатах и платежных системах из-за постоянного потока новых данных.
🔹 Keyset
Используется ключ для фильтрации набора данных. Часто это первичный ключ или другой индексированный столбец.
✅ Быстрая при больших данных
✅ Подходит для бесконечной прокрутки (infinite scroll)
➖ Требует уникального и индексированного поля (обычно ID)
🔹 Time
Используются временные метки или дата для разбиения записей на страницы.
✅ Идеальна для систем, где данные привязаны ко времени: логи, события, аналитика
🔹 Гибридная пагинация
Этот метод объединяет несколько методов пагинации, чтобы максимально использовать их сильные стороны.
➖ Чуть сложнее реализовать
➖ Может путать клиентов API
#RestApiGA #MeetsGA
Когда мы получаем списки через API, то получать весь миллион записей сразу - плохая идея. Лучше получать по частям — порциями.
Пагинация — отвечает за порционное получение данных в REST API.
Помогает:
✔️ не перегружать как сервер, так и клиента API;
✔️ ускорить отклик на запрос;
✔️ пользователю не надо ждать данных вечность.
👇 6 способов пагинации на примере получения списка пользователей:
🔹 Offset
Используются параметры смещения (offset) и ограничения (limit) для определения начальной точки и количества возвращаемых записей.
GET /users?offset=0&limit=3
✅ Простая в реализации
✅ Подходит, когда данных немного
➖ Неэффективна при больших offset: система перебирает все записи, чтобы дойти до нужных
🔹 Page
Используются номер и размер каждой страницы для переключения между ними.
GET /users?page=2&size=10
✅ Привычно для пользователей (страницы)
✅ Подходит, когда пользователь реально листает страницы
➖ Проблемы те же, что у offset
🔹 Cursor
Используется курсор (id записей в БД) для обозначения позиции в наборе данных.
GET /users?cursor=123
✅ Быстрая и надёжная при больших объёмах данных.
✅ Часто используют в соцсетях, чатах и платежных системах из-за постоянного потока новых данных.
🔹 Keyset
Используется ключ для фильтрации набора данных. Часто это первичный ключ или другой индексированный столбец.
GET /users?afterId=123&limit=3
✅ Быстрая при больших данных
✅ Подходит для бесконечной прокрутки (infinite scroll)
➖ Требует уникального и индексированного поля (обычно ID)
🔹 Time
Используются временные метки или дата для разбиения записей на страницы.
GET /users?startTime=...&endTime=...
✅ Идеальна для систем, где данные привязаны ко времени: логи, события, аналитика
🔹 Гибридная пагинация
Этот метод объединяет несколько методов пагинации, чтобы максимально использовать их сильные стороны.
Поддерживается сразу несколько способов
из перечисленных выше
➖ Чуть сложнее реализовать
➖ Может путать клиентов API
#RestApiGA #MeetsGA
🔥22❤8👍7❤🔥1
Media is too big
VIEW IN TELEGRAM
Это точно спросят на собеседовании про REST API
Смотреть до конца и искать что не так 😉
Жду ваши комментарии ✍️
#RestApiGA
Смотреть до конца и искать что не так 😉
Жду ваши комментарии ✍️
#RestApiGA
❤25🔥9😁6❤🔥3🤯1
☀️ Скидка 25% на все материалы до четверга ☀️
В GetAnalyst летняя неделя знаний! 🎉🎓
⌛ Только до 24 июля (чт) 23:59 Мск действует специальное предложение на все материалы для самостоятельного обучения.
🎁 Скидка 25%
👉 Промокод: LETO2025
🔗 Смотреть доступные материалы
Внутри:
+ реальные кейсы
+ структурные подходы к анализу требований
+ чеклисты, инструменты, шаблоны,
+ подготовка к собеседованиям и переосмысление в работе с текущими задачами
Подойдёт, если вы:
+ готовитесь к собеседованиям
+ хотите разобраться в интеграциях, REST API и архитектуре
+ предпочитаете учиться в удобное время, без привязки к расписанию
В пятницу материалы уже будут по полной цене.
Успевайте, чтобы забрать всё самое полезное для роста — по выгодной цене и в удобном формате 😉
В GetAnalyst летняя неделя знаний! 🎉🎓
⌛ Только до 24 июля (чт) 23:59 Мск действует специальное предложение на все материалы для самостоятельного обучения.
🎁 Скидка 25%
👉 Промокод: LETO2025
Внутри:
+ реальные кейсы
+ структурные подходы к анализу требований
+ чеклисты, инструменты, шаблоны,
+ подготовка к собеседованиям и переосмысление в работе с текущими задачами
Подойдёт, если вы:
+ готовитесь к собеседованиям
+ хотите разобраться в интеграциях, REST API и архитектуре
+ предпочитаете учиться в удобное время, без привязки к расписанию
В пятницу материалы уже будут по полной цене.
Успевайте, чтобы забрать всё самое полезное для роста — по выгодной цене и в удобном формате 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3
MeetsGA_JSON_ответа_на_получение_события_GetAnalyst.json
1.6 KB
🧩 Как связаны JSON, UI и БД? С примером для #MeetsGA 🧩
Когда мы проектируем JSON для API запросов или ответов, важно понимать, что
он не берётся «с потолка». У него всегда есть два ориентира 👇
1️⃣ База данных (БД) — источник данных
👉 Показывает, какие параметры физически хранятся в системе
👉 У каждого JSON-объекта есть ключевая таблица (основной объект) и связанные таблицы (доп. инфо).
Часто именно связанные таблицы в БД подсказывают структуру JSON:
• один-к-одному → вложенный объект {}
• один-ко-многим → массив объектов []
👉 Названия полей в БД помогают сделать названия в JSON, но не обязательно совпадают.
👉 Не все поля из БД попадают в JSON.
👉 А иногда наоборот — в JSON нужны поля, которых ещё нет в БД. Это повод доработать модель данных.
2️⃣ Клиент API — интерфейс (UI) или другая система
👉 Подсказывает, какие параметры надо включить в JSON.
👉 Именно от потребностей клиента в первую очередь зависит, что будет в JSON.
Если вы работаете над API для приложения с UI — смотрите на макет и проектируйте JSON от потребностей UI.
Если работаете над API для внешней интеграции — смотрите на требования разработчиков внешней системы.
👉 Клиенту обычно нужны от JSON как бизнес-данные, так и технические параметры (например, id, ссылки, и др)
👉 Форматы данных в JSON могут отличаться от того, как они представлены на UI (пример: дата и время)
👉 Не все поля JSON отображаются на UI. Главное, чтобы клиент получил всё, что ему нужно.
📌 Итого: JSON проектируется не от БД и не от UI, а между ними.
Мы соединяем:
• то, что можем взять из БД
• с тем, что нужно отдать клиенту
и формируем структуру, понятную и полезную для клиента API.
------------
📸 На картинке к посту — пример JSON-ответа для метода:
Разберите его по частям:
• какие поля есть в JSON и как они связаны с UI?
• что есть в JSON по сравнению с БД, а чего нет?
🌐 Полезные по проекту:
БД MeetsGA
Дизайн в Figma для MeetsGA
Запоминайте логику 🤝
------------
#RestApiGA
Когда мы проектируем JSON для API запросов или ответов, важно понимать, что
он не берётся «с потолка». У него всегда есть два ориентира 👇
1️⃣ База данных (БД) — источник данных
👉 Показывает, какие параметры физически хранятся в системе
👉 У каждого JSON-объекта есть ключевая таблица (основной объект) и связанные таблицы (доп. инфо).
Часто именно связанные таблицы в БД подсказывают структуру JSON:
• один-к-одному → вложенный объект {}
• один-ко-многим → массив объектов []
👉 Названия полей в БД помогают сделать названия в JSON, но не обязательно совпадают.
👉 Не все поля из БД попадают в JSON.
👉 А иногда наоборот — в JSON нужны поля, которых ещё нет в БД. Это повод доработать модель данных.
2️⃣ Клиент API — интерфейс (UI) или другая система
👉 Подсказывает, какие параметры надо включить в JSON.
👉 Именно от потребностей клиента в первую очередь зависит, что будет в JSON.
Если вы работаете над API для приложения с UI — смотрите на макет и проектируйте JSON от потребностей UI.
Если работаете над API для внешней интеграции — смотрите на требования разработчиков внешней системы.
👉 Клиенту обычно нужны от JSON как бизнес-данные, так и технические параметры (например, id, ссылки, и др)
👉 Форматы данных в JSON могут отличаться от того, как они представлены на UI (пример: дата и время)
👉 Не все поля JSON отображаются на UI. Главное, чтобы клиент получил всё, что ему нужно.
📌 Итого: JSON проектируется не от БД и не от UI, а между ними.
Мы соединяем:
• то, что можем взять из БД
• с тем, что нужно отдать клиенту
и формируем структуру, понятную и полезную для клиента API.
------------
📸 На картинке к посту — пример JSON-ответа для метода:
GET /events/{eventId} - метод получения данных о событии в календаре
Разберите его по частям:
• какие поля есть в JSON и как они связаны с UI?
• что есть в JSON по сравнению с БД, а чего нет?
🌐 Полезные по проекту:
БД MeetsGA
Дизайн в Figma для MeetsGA
Запоминайте логику 🤝
------------
#RestApiGA
🔥23❤13
Headers – заголовки запроса и ответа в протоколе HTTP.
Это дополнительные системные параметры, которыми надо обмениваться. Обычно сквозные для всех методов в API, то есть применяются сразу для всех методов.
Помогают:
✔️ Определять, как обрабатывать запрос.
✔️ Передавать метаинформацию о данных (системную).
✔️ Настраивать взаимодействие между клиентом и сервером.
Проще всего разобраться с Headers, познакомившись с набором стандартных значений, которые можно нагло копировать в требования к вашим REST API методам 🙂
📌 Request Headers - для запросов
◽️ Authorization
Используется для передачи токенов доступа, ключей API или других данных для авторизации. Используется для проверки доступа к API-методам.
Authorization: Bearer <token>
◽️ Content-Type
Сообщает серверу, в каком формате отправлены данные.
Если сервер не знает в каком формате переданы данные, то он не сможет обработать запрос.
Если его нет в API, то сервер обычно ждёт JSON, если в документации не указано иное.
Content-Type: application/json
Content-Type: application/xml
◽️ Cache-Control
Управляет кэшированием данных на клиенте.
Полезно для работы с экономией трафика.
Cache-Control: no-cache
◽️ Ключи идемпотентности - название придумываете сами
Это уникальный идентификатор для запросов, который помогает избежать дублирования. Например, при повторной отправке платежного запроса сервер проверяет ключ и не создаёт дубль.
Подробнее в подкасте
Idempotency-Key: <unique-key>
◽️ Часовые пояса
Когда система работает в разных регионах, важно учитывать часовые пояса и их можно передавать как обязательные заголовки во всех запросах.
Стандартные названия из моего опыта:
Time-Zone: UTC+3
X-Time-Zone: UTC+3
📌 + помним про Response Headers (заголовки ответов)
Полные подборки стандартных Headers:
Правильно выбранные Headers помогают удобно передавать все системные параметры для обмена данными, которые не важны для бизнес-логики и алгоритмов работы API-методов.
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍10🔥7
В любой интеграции по API важно не только предусмотреть happy path (успешный путь), но и заранее описать, как система должна вести себя при ошибках.
📌 Что нужно сделать при проектировании ответов на API-запросы
0️⃣ Перечислить успешные ответы
+ 200 OK - Успех
+ 201 Created — Создано (новая запись в БД)
+ 202 Accepted — Принято в обработку (запрос принят, но обработка не завершена, часто используется при асинхронных задачах - отчёты, отправка email и др)
+ 204 No Content — Нет содержимого (запрос выполнен успешно, но в ответе нет тела)
1️⃣ Перечислить типовые ошибки и описать реакцию API на них:
+ 401 Unauthorized — Неверный логин/токен
+ 403 Forbidden — Нет прав
+ 429 Too Many Requests — Превышен лимит запросов
2️⃣ Добавить требования к специфичным ошибкам:
+ 400 Bad Request — Ошибка во входных данных
+ 409 Conflict — Создание дубликатов
+ 500 Internal Server Error — Внутренний сбой в работе сервера
+ и другие.
Все HTTP-статусы тут.
3️⃣ Добавить альтернативные сценарии в Use Case для API-метода, которые ведут к описанным в п.1 и 2 ошибкам.
2А. Клиент передал номер телефона в неверном формате.
→ Вернуть ошибку HTTP-400 и сообщение "Неверный формат номера телефона, ожидается 10 цифр"
4️⃣ Сделать JSON-структуру ответов об ошибках единообразной
{
"errorCode": "INVALID_PHONE",
"message": "Текст ошибки"
}
5️⃣ В OpenAPI спецификации (Swagger) добавить секции:
responses:
'400':
description: Неверные параметры запроса
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
6️⃣ Отразить примеры ошибок в документации Confluence и всегда иметь соответствующий раздел в шаблоне задачи.
Помните, что ошибки тоже важная часть программного интерфейса - API!
Если все ошибки задокументированны чётко и понятно, пользователи (и разработчики) будут вам благодарны, и вы сможете повысить UX приложений 🙌
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍1💯1
Актуально добавить знания и опыт по REST API в резюме и портфолио? Тогда рекомендую посмотреть нашу практическую программу:
💻 Дизайн REST API
☀️ До ноября (когда будет основной онлайн-поток) учитесь самостоятельно, в комфортном темпе + получаете доп. практику, которая будет доступна только для вашей группы
Поток с новым форматом:
Результат - 2 проекта в портфолио:
Запись на самых выгодных условиях с дополнительным обучением по БД в подарок.
Есть вопросы? Пишите @getanalyst или заполняйте анкету предзаписи на сайте. Мы свяжемся с вами, поможем оценить текущие навыки и ответим на вопросы! 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
GetAnalyst_Ответы_на_задания_по_REST_API_для_подготовки_к_собеседованию.pdf
551.9 KB
📚🤖 Вопросы по REST API к собеседованию на СА + AI-помощник для подготовки к собеседованиям 📚🤖
Вопросы с собеседований — это всегда отличный способ размяться перед реальным интервью или вспомнить то, что давно не использовали в работе.
🤖 Рекомендации по самопроверке и подготовке к интервью с помощью AI:
1. Скачайте pdf-файл с ответами из этого поста (второй по порядку).
2. Откройте ChatGPT и войдите в бесплатный аккаунт, используя свою учетную запись Google.
https://chatgpt.com/
3. Откройте новый диалог (New Chat в левом меню).
4.1. Загрузите файл в ChatGPT.
В зоне ввода текста есть иконка "+".
Нажмите на неё и появится иконка скрепки с надписью "Добавить файл" (Add photos & files").
4.2. Вставьте промпт:
5. Ваше интервью началось.
Отвечайте на вопросы.
❗️ Не печатайте текст на теоретические вопросы, а говорите ответы голосом, где возможно!
Используйте иконку "микрофон", чтобы записывать свои ответы и отдавать их на проверку Искусственному Интеллекту.
Получайте обратную связь от ИИ и улучшайтесь 😌
+ В помощь на собеседования:
JSON Editor Online
Сохраняйте и пользуйтесь.
Сейчас или в будущем 🤝
🔥 и 🩷 приветствуются))
#RestApiGA #AI_for_SA
Вопросы с собеседований — это всегда отличный способ размяться перед реальным интервью или вспомнить то, что давно не использовали в работе.
Прикрепила к посту два файла:
1. Только вопросы
2. Эти же вопросы, но с краткими ответами
1. Скачайте pdf-файл с ответами из этого поста (второй по порядку).
2. Откройте ChatGPT и войдите в бесплатный аккаунт, используя свою учетную запись Google.
https://chatgpt.com/
3. Откройте новый диалог (New Chat в левом меню).
4.1. Загрузите файл в ChatGPT.
В зоне ввода текста есть иконка "+".
Нажмите на неё и появится иконка скрепки с надписью "Добавить файл" (Add photos & files").
4.2. Вставьте промпт:
Представь, что ты системный аналитик с опытом более 10 лет в IT. Ты хочешь нанять senior системного аналитика к себе в команду и я пришёл к тебе на техническое собеседование.
Ты строгий и занудный, требуешь четких ответов с примерами.
Используй файл, который я добавил, и на его основе задавай мне по одному случайному вопросу.
После того, как я отвечу, давай оценку моим ответами по 10-бальной шкале по критериям: точность ответа, понимание вопроса. Поясняй каждый балл и предлагай как можно было бы улучшить мой ответ.
Каждый раз, когда я буду писать "следующий вопрос", ты можешь задавать мне следующий вопрос из моего документа или придумывать аналогичные, с подобными задачами.
Сразу после этого сообщения можешь задать мне первый вопрос.
5. Ваше интервью началось.
Отвечайте на вопросы.
❗️ Не печатайте текст на теоретические вопросы, а говорите ответы голосом, где возможно!
Используйте иконку "микрофон", чтобы записывать свои ответы и отдавать их на проверку Искусственному Интеллекту.
Получайте обратную связь от ИИ и улучшайтесь 😌
+ В помощь на собеседования:
JSON Editor Online
Сохраняйте и пользуйтесь.
Сейчас или в будущем 🤝
🔥 и 🩷 приветствуются))
#RestApiGA #AI_for_SA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68❤24❤🔥4👍3
REST API — стандарт в большинстве IT-проектов. Поэтому глубокое понимание его работы и принципов проектирования уже давно спрашивают с аналитиков.
Но даже опытные специалисты часто допускают ошибки: нюансов в проектировании больше, чем кажется.
Чтобы разобраться в них на практике, приглашаем на открытый урок:
🐞 Как избежать ошибок в REST API:
🗓 Доступ 2 - 5 августа [сб-вт]
👉 Подробности и регистрация
План:
1. Теория по REST API на практике в Postman
2. 5 ошибок проектирования REST API
3. Шаблон постановки задачи на API
4. AI-инструменты для работы
Этот открытый урок даст вам и теоретические знания, и практические инструменты 🛠
Будем погружаться в сложную теорию через реальную работу и разбор конкретных примеров.
Занятие проводится как вводный урок к практической программе Дизайн REST API.
Регистрируйтесь, чтобы не пропустить! 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19❤🔥6🔥2
📚 Что почитать и посмотреть по REST API: подборка материалов от GetAnalyst 📚
У нас много новых участников в сообществе 🙌 И…!
Вместо того, чтобы рассказывать о себе, сделала для вас самую полную и актуальную подборку полезных материалов по проектированию REST API.
Так вы лучше узнаете меня - Екатерину Ананьеву - не на словах, а в деле 🙂
Материалы расположены по порядку - от простого к сложному.
Они помогут вам сделать крутой прорыв в освоении темы и разобраться в сложных вопросах.
(С) Структура метода REST API
(В) Postman: навык тестирования REST API за вечер
(С) Методы HTTP (REST) и их назначение
(C) Как строить URL в REST API
(C) Всё про JSON в одной картинке
(С) Мини-книга про JSON
(В) Связь БД и дизайна REST API
(С) Headers
(С) 6 способов пагинации
(С) Проектирование ошибок в REST API
(В) Проект “Система для автосервиса” - видео-обучение:
1. Сбор бизнес-требований, погружение в контекст
2. Определение сущностей и проектирование логической модели БД
3. REST API с нуля: дизайн методов для работы менеджера с заявками автосервиса
(С) 6 ключевых принципов REST API - теория, но спрашивают понимание
(C) Postman: Практическое руководство с примером тестирования открытого API DaData
(С) Postman: Практическое руководство с примером - API DaData - ещё один сервис
(C) Postman: Практическое руководство с примером - платежная система ВТБ
(П) Вопросы и ответы по REST API: собеседование на СА
(В) Собеседование на СА: разбор задачи на асинхронные запросы в REST API
(C) Шаблон постановки задачи на REST API метод
(П) gRPС vs REST - что выбрать для проекта
(C) Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)
(С) Исследование реальных REST API на соответствие REST: Trello, Todoist
Также вы можете найти у нас мини-обучения и продвинутую практическую программу Дизайн REST API для опытных аналитиков.
(В) Видео
(П) Подкасты
(С) Статьи
Делитесь с коллегами, особенно с джунами и мидлами СА!
Сохранили? ❤️
#RestApiGA
У нас много новых участников в сообществе 🙌 И…!
Вместо того, чтобы рассказывать о себе, сделала для вас самую полную и актуальную подборку полезных материалов по проектированию REST API.
Так вы лучше узнаете меня - Екатерину Ананьеву - не на словах, а в деле 🙂
Материалы расположены по порядку - от простого к сложному.
Они помогут вам сделать крутой прорыв в освоении темы и разобраться в сложных вопросах.
(С) Структура метода REST API
(В) Postman: навык тестирования REST API за вечер
(С) Методы HTTP (REST) и их назначение
(C) Как строить URL в REST API
(C) Всё про JSON в одной картинке
(С) Мини-книга про JSON
(В) Связь БД и дизайна REST API
(С) Headers
(С) 6 способов пагинации
(С) Проектирование ошибок в REST API
(В) Проект “Система для автосервиса” - видео-обучение:
1. Сбор бизнес-требований, погружение в контекст
2. Определение сущностей и проектирование логической модели БД
3. REST API с нуля: дизайн методов для работы менеджера с заявками автосервиса
(С) 6 ключевых принципов REST API - теория, но спрашивают понимание
(C) Postman: Практическое руководство с примером тестирования открытого API DaData
(С) Postman: Практическое руководство с примером - API DaData - ещё один сервис
(C) Postman: Практическое руководство с примером - платежная система ВТБ
(П) Вопросы и ответы по REST API: собеседование на СА
(В) Собеседование на СА: разбор задачи на асинхронные запросы в REST API
(C) Шаблон постановки задачи на REST API метод
(П) gRPС vs REST - что выбрать для проекта
(C) Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)
(С) Исследование реальных REST API на соответствие REST: Trello, Todoist
Также вы можете найти у нас мини-обучения и продвинутую практическую программу Дизайн REST API для опытных аналитиков.
(В) Видео
(П) Подкасты
(С) Статьи
Делитесь с коллегами, особенно с джунами и мидлами СА!
Сохранили? ❤️
#RestApiGA
❤37🔥10👏1👀1
✅ 1. Общее описание
+ что делает этот метод?
+ для кого он?
+ почему мы его делаем?
✅ 2. Алгоритм работы - Use Case
+ основной сценарий
+ обработка ошибок
Требования к реализации:
✅ 3. Тип метода и полный URL
✅ 4. Query-параметры и их логика
✅ 5. Headers и их логика
✅ 6. Body (json) - Тело запроса
✅ 7. Аутентификация и авторизация запросов
✅ 8. Описание успешного ответа:
+ HTTP-статус код
+ Headers
+ Body (json) - тело ответа
✅ 9. Список обрабатываемых ошибок:
+ HTTP-статус код
+ Headers
+ Body (json) - тело ответа
Не описали ошибку? Значит её обработка не поддерживается.
Перечисленные выше требования (3-9) часто описывают с примерами запросов и ответов. Это самый лучший способ.
✅ 10. Маппинг данных для параметров API с БД
В маппинг включают: path-параметры, query-параметы, json-ы запроа и ответа, headers (если требуется).
✅ + 11. НФТ
Например, ограничения на кол-во запросов с одного ip или от одного клиента.
✅ + 12. Логирование и мониторинг
+ что логировать и где
+ при каких условиях, либо всегда
+ как долго хранить логи
+ требования к дашбордам мониторинга
✅ + 13. Дополнительно
+ Ответственная команда
+ Известные ошибки и проблемы
+ Требования к монетизации
+ Требования к кэшированию
+ Cookies - можно, но не нужно, они не рекомендуются для REST API
📌 Используйте пост как чеклист.
Проверьте, что у вас на работе учитываются все необходимые разделы в постановке задачи.
🧐 Что делают разработчики по тем пунктам, где требования сейчас не описываются, как принимают решения?
Этот чек-лист поможет задать правильные вопросы и избежать «дырок» в описании требований.
А если хочется дополнительных пояснений по наполнению, то можно почитать нашу статью Структура постановки задачи на REST API метод.
Сохраняйте, чтобы не потерять
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤41👍8❤🔥7🔥3🤩2👀1
GetAnalyst_Пример_постановки_задачи_на_REST_API_метод_Создать_встречу.pdf
1.1 MB
Теория - хорошо, а практика ещё лучше.
Для нашего проекта MeetsGA подготовила пример постановки задачи на метод:
POST /events - создать мероприятие
Изучайте и используйте для работы.
Описание шаблона можно найти тут, и в предыдущем посте 😌
#RestApiGA #MeetsGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤🔥9❤6👀1
🔥 [Только 2-5 августа] REST API: от практики в Postman до помощи AI-ассистента 🔥
Нужно получить опыт работы с REST API?
+ Научиться проектировать сложные API-методы с нуля и учитывать все нюансы?
+ Избегать типичных ошибок в дизайне?
+ За секунды генерировать спецификации и шаблоны с помощью AI-ассистента?
Вам сюда 👇
🐞 Как избежать ошибок в REST API:
🤖 от практики в Postman до помощи AI-ассистента
🗓 Доступ 2 - 5 августа [сб-вт]
🕘 Время на обучение: 4 часа
👉 Подробности и регистрация
В результате этого бесплатного обучения:
✅ Получите опыт работы с Postman.
✅ Сделаете рабочую Postman-коллекцию для личного портфолио.
✅ Будете знать типичные ошибки при дизайне REST API и как их избежать.
✅ Получите примеры корректных постановок задач на API-методы.
✅ Научитесь использовать ChatGPT на продвинутом уровне для ускорения работы.
Регистрируйтесь и планируйте время на обучение заранее 🤝
Нужно получить опыт работы с REST API?
+ Научиться проектировать сложные API-методы с нуля и учитывать все нюансы?
+ Избегать типичных ошибок в дизайне?
+ За секунды генерировать спецификации и шаблоны с помощью AI-ассистента?
Вам сюда 👇
🐞 Как избежать ошибок в REST API:
🗓 Доступ 2 - 5 августа [сб-вт]
🕘 Время на обучение: 4 часа
👉 Подробности и регистрация
В результате этого бесплатного обучения:
✅ Получите опыт работы с Postman.
✅ Сделаете рабочую Postman-коллекцию для личного портфолио.
✅ Будете знать типичные ошибки при дизайне REST API и как их избежать.
✅ Получите примеры корректных постановок задач на API-методы.
✅ Научитесь использовать ChatGPT на продвинутом уровне для ускорения работы.
Регистрируйтесь и планируйте время на обучение заранее 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19
🟢🟠 Инструменты для работы с API: полный гайд для СА 🟡🟣
Зачем аналитику знать инструменты для тестирования и документирования API?
👉 Интеграции:
СА необходимо убедиться, что API внешней системы будет работать именно так, как описано в документации (если она есть, а если нет - то составить), чтобы затем предоставить информацию разработчикам.
Тестирование API внешних систем в специализированных инструментах помогает выявить проблемы в работе внешних систем на ранних стадиях разработки, несоответствия документации реальности, а также проверить полноту данных и доступность сервисов в целом.
👉 Backend-команды, которым нужно ставить задачи на API:
Нужно уметь самому с нуля проектировать и документировать API, желательно с использованием специализированных инструментов как Postman и Swagger, а не только в Confluence-подобных системах.
Список инструментов, которые помогают системным аналитикам в тестировании и документировании API:
🟠 Postman
🟡 SoapUI
🟣 Insomnia
🟢 Swagger
Подробности в картинках к посту ☝️
+🐶 Bruno - аналог Postman, всё больше завоёвывает сердца аналитиков, его нет в картинках к посту.
👉 Рекомендую поработать со всеми инструментами и выбрать наиболее удобный для себя.
Делюсь практическими гайдами, с которыми вы сможете поработать с инструментами сами, с понятными пошаговыми инструкциями:
▫️ Postman: Практическое руководство с примером тестирования открытого API
▫️ GraphQL — знакомство на практике через Postman [пошаговая инструкция]
▫️ Postman: навык тестирования REST API за вечер
▫️ Swagger - практическое руководство по документированию API
Пользуйтесь! 🤩
#RestApiGA
Зачем аналитику знать инструменты для тестирования и документирования API?
👉 Интеграции:
СА необходимо убедиться, что API внешней системы будет работать именно так, как описано в документации (если она есть, а если нет - то составить), чтобы затем предоставить информацию разработчикам.
Тестирование API внешних систем в специализированных инструментах помогает выявить проблемы в работе внешних систем на ранних стадиях разработки, несоответствия документации реальности, а также проверить полноту данных и доступность сервисов в целом.
👉 Backend-команды, которым нужно ставить задачи на API:
Нужно уметь самому с нуля проектировать и документировать API, желательно с использованием специализированных инструментов как Postman и Swagger, а не только в Confluence-подобных системах.
Список инструментов, которые помогают системным аналитикам в тестировании и документировании API:
🟠 Postman
🟡 SoapUI
🟣 Insomnia
🟢 Swagger
Подробности в картинках к посту ☝️
+
👉 Рекомендую поработать со всеми инструментами и выбрать наиболее удобный для себя.
Делюсь практическими гайдами, с которыми вы сможете поработать с инструментами сами, с понятными пошаговыми инструкциями:
▫️ Postman: Практическое руководство с примером тестирования открытого API
▫️ GraphQL — знакомство на практике через Postman [пошаговая инструкция]
▫️ Postman: навык тестирования REST API за вечер
▫️ Swagger - практическое руководство по документированию API
Пользуйтесь! 🤩
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤35👍4🔥3👏2