GetAnalyst - Старт карьеры в IT • Системный аналитик • Бизнес-аналитик
4.94K subscribers
2.08K photos
81 videos
21 files
383 links
Канал для начинающих карьеру системных аналитиков. Влюбиться в системый анализ и начать свой путь в IT можно здесь! 🚀

Для опытных аналитиков - Навыки • БД • Интеграции • API:
t.iss.one/getanalysts

Обучение:
https://getanalyst.ru/education
Download Telegram
🟡🟣 Инструменты для работы с 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


#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥92
📚 Книги по API, которые рекомендуем к прочтению 📚

Если хотите научиться проектировать REST API или готовитесь к собеседованиям на системного аналитика, то это одни из немногих книг, которые реально формируют мышление «API-дизайнера», а не просто перечисляют HTTP-методы 👇

▪️“RESTful Web API: Паттерны и практики”, Майк Амундсен
Про паттерны проектирования REST API, устойчивость к изменениям и разбор практических кейсов.

🔗 Купить

▪️ “Проектирование веб-API”, Арно Лоре
Про дизайн API как продукта, много про OpenAPI и документацию, эволюцию API. Это более “архитектурная” книга, которая формирует базу мышления для аналитиков и разработчиков.

🔗 Купить

▪️ “Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте”, Меджуи, Митра, Амундсен, Уайлд
Про жизненный цикл API: версии, совместимость, управление изменениями — то, что в реальных продуктах болит сильнее “как назвать эндпоинт”.

🔗 Купить

▪️ "Паттерны проектирования API", Джей Джей Гивакс
Паттерны и анти-паттерны для согласованного API: контракты, типовые решения, распространенные ошибки проектирования.

🔗 Купить

Добавляйте в свой TO DO лист к прочтению 🤝
11👍1
🔥 HTTP-методы в REST API: это спросят на собеседовании 🔥

GET, POST, PUT, PATCH и DELETE
- виды методов, часть протокола HTTP. Используются в архитектурном стиле REST API.

Нужны, чтобы стандартизировать взаимодействие между клиентом и сервером.

Каждый метод выполняет определённое действие и соответствует логике CRUD-модели (Create, Read, Update, Delete).


🩷 GET - Чтение данных
Не поддерживает тело - Body (JSON).
Идемпотентен.


💚 POST - Создание ресурсов (объектов в БД)
Поддерживает тело - Body (JSON).
Не идемпотентен.
* Исключения, когда POST используют для чтения: сложные запросы с большим кол-вом фильтров, асинхронные операции.

** Почему в некоторых REST API все POST? Потому что они не REST API, а HTTP API.


💙 PUT - Полная замена и/или создание ресурса
В теле JSON требует полный объект.
Идемпотентен.

* Часто используют только для изменения.


💜 PATCH - Частичное обновление ресурса
В теле JSON передаются только те поля объекта, которые нужно изменить.
Не идемпотентен.


❤️ DELETE - Удаление ресурса.
Не поддерживает тело - Body (JSON).
Идемпотентен.


💛 А что по поводу TRACE, HEAD, OPTIONS, CONNECT?
Могут быть заменены GET-ом.
Очень маленький шанс встретить или применить на практике.



Правильное использование HTTP-методов в REST API упрощает взаимодействие с вашей системой, так как делает API предсказуемым и удобным для разработчиков.


P.S. Ссылка на
подкаст про идемпотентность и коммутативность в API

#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12
REST_API_Пример_требований_Создать_товар_POST_GetAnalyst.pdf
1.1 MB
📚 Заполненный шаблон задачи на REST API - создание товара через POST /products 📚

К
лючевые REST API методы:

Поиск по каталогу продуктов (с кэшированием)
POST /products/search

Выгрузка требований из Confluence

Редактирование товара для фермера
PUT /products/{productId}

Выгрузка требований из Confluence

Создание заказа
POST /products

Финальная выгрузка из Confluence добавлена к этому посту.


На что стоит обратить внимание в этой базе документации:

👉 1. Использование метода POST как на создание, так и на получение данных. Хотя POST в REST предназначен только для создания.

👉 2. PUT на редактирование товара с обоснованием, почему мы всегда хотим отправлять на сервер полный набор параметров, а не только изменённые - что можно делать в PATCH.

👉 3. Наличие нескольких каталогов API на сервере:
+ Поиск продуктов - public
+ Редактирование и создание продуктов - seller-api
Обратите внимание на разницу в полных URL.

👉 4. Оформление требований к обработке ошибок.

👉 5. Алгоритм кэширования в поиске товаров по каталогу.

👉 6. Примеры требований к логированию и мониторигу.

👉 7. Наличие макетов UI и схемы БД
, которые были необходимы для работы.


Эти документы — одновременно:

◽️ реальные примеры с проектов,
◽️ решения задач с собеседований на Senior СА (особенно метод поиска с кэшированием).


Сохраняйте подборку в избранное и делитесь с коллегами ❤️‍🔥


#hardGetAnalyst
12
📚 Чек-лист: 42 API-термина, которые спрашивают СА на тех. собеседовании 📚

👉 Ключевые:
1. API (Application Programming Interface)
2. REST API (Representational State Transfer)
3. HTTP-методы запросов
4. Эндпоинты
5. Коды ответов
6. Ограничение частоты запросов (Rate Limiting)
7. Полезная нагрузка (Payload)
8. Заголовки (Headers)
9. Аутентификация
10. Авторизация
11. Пагинация
12. Кэширование


👉 Дополнительно:
1. OAuth
2. JWT Token
3. API Gateway
4. API Keys
5. Basic Authentication
6. Bearer Tokens
7. CORS
8. Webhooks
9. OpenAPI
10. API Versioning (Версионирование API)
11. Content Negotiation
12. Query Parameters
13. Path Parameters
14. API Documentation
15. API Monitoring
16. Throttling
17. Circuit Breaker
18. Idempotency (Идемпотентность)
19. API Proxy
20. Retry Logic (Логика ретраев / повторов)
21. Batch Processing (Пакетная обработка)
22. API Security
23. Health Checks
24. API Testing
25. Mock APIs
26. API Marketplace
27. API Schema
28. Semantic Versioning (Семантическое версионирование)
29. Hypermedia
30. API Deprecation (Устаревание API)


Всё самое важное и нужное на месте 😎

#hardGetAnalyst
17
Минутка добра и юмора🙌

Всем хороших выходных!

#GAhahaha
😁209