💚 Всё про REST API методы в одной картинке 💚
Публикую для вас картинку-шпаргалку, которую можно использовать при проектировании REST API методов и для постановки задач на Backend-разработчиков.
Проектирование REST API актуально для старших системных аналитиков, которые работают с Backend-командами, с мобильной разработкой, в проектах с микросервисной архитектурой или в других проектах, где нужно проектировать и описывать процесс обмена данными между системами.
🧠 Проверьте себя!
Чтобы вы наглядно могли сопоставить структуру методов на картинке с реальными REST API, предлагаю вам посмотреть примеры открытой API-документации для интеграции с крупными сервисами:
ТБанк - Кредитные продукты
ТБанк - Зарплатный проект
ZOOM API - создание видео-конференций
API - Умный дом от Яндекс
👉 Сможете ли найти все указанные на картинке параметры в документации?
Пример:
📚 Документ с анализом API-метода от Т-Банка
Это отличная практика по закреплению знаний о структуре методов REST API (HTTP)!
#RestApiGA
Публикую для вас картинку-шпаргалку, которую можно использовать при проектировании REST API методов и для постановки задач на Backend-разработчиков.
Проектирование REST API актуально для старших системных аналитиков, которые работают с Backend-командами, с мобильной разработкой, в проектах с микросервисной архитектурой или в других проектах, где нужно проектировать и описывать процесс обмена данными между системами.
🧠 Проверьте себя!
Чтобы вы наглядно могли сопоставить структуру методов на картинке с реальными REST API, предлагаю вам посмотреть примеры открытой API-документации для интеграции с крупными сервисами:
ТБанк - Кредитные продукты
ТБанк - Зарплатный проект
ZOOM API - создание видео-конференций
API - Умный дом от Яндекс
👉 Сможете ли найти все указанные на картинке параметры в документации?
Пример:
📚 Документ с анализом API-метода от Т-Банка
Это отличная практика по закреплению знаний о структуре методов REST API (HTTP)!
#RestApiGA
❤24👍9🔥5🥰1
🥦 Новый проект по REST API: маркетплейс фермерских продуктов #FarmFreshGA 🥦
Возвращаемся к проекту FarmFresh — маркетплейс для локальных фермеров, где можно продавать продукты покупателям и предлагать подписки на свежие товары.
Год назад мы уже спроектировали архитектуру для него.
В этом месяце делаю практическую серию постов по REST API, где пройдёмся по реальным «граблям» из собеседований на системного аналитика.
❗️Покажу «подводные камни» и каверзные вопросы, на которых чаще всего валят системных аналитиков.
Методы, которые спроектируем:
✅ Каталог продуктов - для покупателей
✅ Создание заказа - для покупателей
✅ Редактирование информации о продукте - для фермера
Подобные задания про интернет-магазины, библиотеки или работу - классика на собеседованиях.
👉 Что разберём:
1. Когда GET/POST/PATCH/PUT и почему
2. Как сделать URL, особенно, если у нас микросервисная архитектура и API Gateway?
3. Построение JSON-объектов.
4. Разработка алгоритмов
5. Фильтрация, сортировка и пагинация
6. Заголовки Headers + Аутентификация запросов
7. Как проектировать ответы на запросы и подбирать верные статус-коды для обработки ошибок?
8. Маппинги: Frontend ↔ API ↔ БД
👉 Результат:
▫️ 3 постановки задачи в Confluence
▫️ Коллекции запросов в Postman + Insomnia
▫️ Чек-листы и гайды, которые помогут освежать память перед собеседованиями
Чтобы участвовать в проекте, нужно просто быть подписанным на канал GetAnalyst и следить за новыми постами 🙂
Добро пожаловать в проект! 🚀
#RestApiGA #FarmFreshGA
Возвращаемся к проекту FarmFresh — маркетплейс для локальных фермеров, где можно продавать продукты покупателям и предлагать подписки на свежие товары.
Год назад мы уже спроектировали архитектуру для него.
В этом месяце делаю практическую серию постов по REST API, где пройдёмся по реальным «граблям» из собеседований на системного аналитика.
❗️Покажу «подводные камни» и каверзные вопросы, на которых чаще всего валят системных аналитиков.
Методы, которые спроектируем:
✅ Каталог продуктов - для покупателей
✅ Создание заказа - для покупателей
✅ Редактирование информации о продукте - для фермера
Подобные задания про интернет-магазины, библиотеки или работу - классика на собеседованиях.
👉 Что разберём:
1. Когда GET/POST/PATCH/PUT и почему
2. Как сделать URL, особенно, если у нас микросервисная архитектура и API Gateway?
3. Построение JSON-объектов.
4. Разработка алгоритмов
5. Фильтрация, сортировка и пагинация
6. Заголовки Headers + Аутентификация запросов
7. Как проектировать ответы на запросы и подбирать верные статус-коды для обработки ошибок?
8. Маппинги: Frontend ↔ API ↔ БД
👉 Результат:
▫️ 3 постановки задачи в Confluence
▫️ Коллекции запросов в Postman + Insomnia
▫️ Чек-листы и гайды, которые помогут освежать память перед собеседованиями
Чтобы участвовать в проекте, нужно просто быть подписанным на канал GetAnalyst и следить за новыми постами 🙂
Добро пожаловать в проект! 🚀
#RestApiGA #FarmFreshGA
❤49👍17🔥8❤🔥5
📚 Чек-лист: 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)
Всё самое важное и нужное на месте 😎
#RestApiGA
👉 Ключевые:
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)
Всё самое важное и нужное на месте 😎
#RestApiGA
🔥36❤🔥9❤6💯3
🎲 Тест с подвохами на понимание REST API: проверь себя за 2 минуты 🎲
REST кажется простым, пока не нужно назвать точный метод и правильный URL под реальную задачу.
При проектировании API-методов мы постоянно сталкиваемся с нюансами: версионирование, доменные префиксы, идемпотентность, ограничения HTTP... много всего.
Готовы поймать скрытые грабли? 🙈
Я подготовила 3 вопроса по методам, которые мы будем разбирать в проекте #FarmFreshGA, чтобы вы проверили, насколько уверенно ориентируетесь в REST.
Подсказки:
📚 Шпаргалка по методам: GET, POST, PUT, PATCH, DELETE
📚 Примеры API с разбором структуры методов
📚 Архитектура FarmFreshGA
👉 Базовый URL: https://farmfresh.com/
👉 Версия: v1 для всех API
👉 Допустимо, что в вопросе может быть 1..N вариантов правильных ответов, надо выбрать все
Разбор ответов — завтра.
Вопросы 👇👇👇
REST кажется простым, пока не нужно назвать точный метод и правильный URL под реальную задачу.
При проектировании API-методов мы постоянно сталкиваемся с нюансами: версионирование, доменные префиксы, идемпотентность, ограничения HTTP... много всего.
Готовы поймать скрытые грабли? 🙈
Я подготовила 3 вопроса по методам, которые мы будем разбирать в проекте #FarmFreshGA, чтобы вы проверили, насколько уверенно ориентируетесь в REST.
Подсказки:
📚 Шпаргалка по методам: GET, POST, PUT, PATCH, DELETE
📚 Примеры API с разбором структуры методов
📚 Архитектура FarmFreshGA
👉 Базовый URL: https://farmfresh.com/
👉 Версия: v1 для всех API
👉 Допустимо, что в вопросе может быть 1..N вариантов правильных ответов, надо выбрать все
Разбор ответов — завтра.
Вопросы 👇👇👇
❤9🤔3
1. Какой метод + URL выбрать для просмотра каталога продуктов (для роли покупателя)? REST API
Anonymous Poll
48%
28%
32%
🎉11
👏10❤4👍2
3. Какой метод + URL выбрать для редактирования информации о продукте фермером? REST API
Anonymous Poll
2%
61%
🔥18
🔥 9 элементов URL в REST API: чек-лист с примерами 🔥
Пример:
1️⃣ Метод HTTP
GET, POST, PUT, PATCH, DELETE
Не относится к URL, но связан с ним.
Подробнее тут
2️⃣ Протокол
Для REST API всегда HTTP / HTTPs
3️⃣ Доменное имя
Основной адрес, по которому можно обращаться к серверу с API-приложением (backend)
Путь (Path)
Включает в себя один или несколько сегментов, разделённых слешами (/):
4️⃣ api - указатель на каталог API сервера, может быть в доменном имени
5️⃣ имя API - указывает на конкретный интерфейс API, предназначенный для разных пользователей системы, либо для разных микросервисов
6️⃣ v1 - версия API, важна для поддержки совместимости с предыдущими версиями
Эндпонит:
7️⃣ events - это ресурс, к которому осуществляется доступ. В данном случае “встреча”. Может быть в единственном числе (event)
8️⃣ {eventId} - это параметр в пути URL (path-параметр), указывающий на конкретный рецепт по его id в БД системы. Фигурные скобки {} обозначают переменную часть URL, значение которой должно быть предоставлено (например, идентификатор 2324)
9️⃣ иерархия с вложенными сущностями/действия над объектами.
Примеры:
GET ../orsers/(id}/payments - получить платеж(и) по заказу
PATCH ../users/(id}/block - заблокировать пользователя
9️⃣ Query-параметры
Дополнительные параметры после ?, необязательны.
Если их несколько, то перечисление через символ &.
Обычно используются для фильтров, сортировок и пагинации при получении списков методом GET, но могут быть и в других.
Пример:
GET …/products?offset=0&limit=10&name=брокколи
👉 offset=0&limit=10 - запрос результатов с 0-го, 10 элементов на страницу. Это два отдельных query-параметра - элементы пагинации (постраничного получения данных)
👉 name - фильтр по названию продукта
➕ Есть исключения из правил, особенности и ошибки. Часть разобрала на картинках к посту - ответы квиза.
Благодаря такой структуре разработчикам и пользователям API всегда понятно, что ожидать от REST API метода 🙌
#RestApiGA #FarmFreshGA
Пример:
PATCH
https://farmfresh.com/api/catalog/v1/products/{productId}
1️⃣ Метод HTTP
GET, POST, PUT, PATCH, DELETE
Не относится к URL, но связан с ним.
Подробнее тут
2️⃣ Протокол
Для REST API всегда HTTP / HTTPs
3️⃣ Доменное имя
Основной адрес, по которому можно обращаться к серверу с API-приложением (backend)
Путь (Path)
Включает в себя один или несколько сегментов, разделённых слешами (/):
4️⃣ api - указатель на каталог API сервера, может быть в доменном имени
5️⃣ имя API - указывает на конкретный интерфейс API, предназначенный для разных пользователей системы, либо для разных микросервисов
6️⃣ v1 - версия API, важна для поддержки совместимости с предыдущими версиями
Эндпонит:
7️⃣ events - это ресурс, к которому осуществляется доступ. В данном случае “встреча”. Может быть в единственном числе (event)
8️⃣ {eventId} - это параметр в пути URL (path-параметр), указывающий на конкретный рецепт по его id в БД системы. Фигурные скобки {} обозначают переменную часть URL, значение которой должно быть предоставлено (например, идентификатор 2324)
9️⃣ иерархия с вложенными сущностями/действия над объектами.
Примеры:
GET ../orsers/(id}/payments - получить платеж(и) по заказу
PATCH ../users/(id}/block - заблокировать пользователя
9️⃣ Query-параметры
Дополнительные параметры после ?, необязательны.
Если их несколько, то перечисление через символ &.
Обычно используются для фильтров, сортировок и пагинации при получении списков методом GET, но могут быть и в других.
Пример:
GET …/products?offset=0&limit=10&name=брокколи
👉 offset=0&limit=10 - запрос результатов с 0-го, 10 элементов на страницу. Это два отдельных query-параметра - элементы пагинации (постраничного получения данных)
👉 name - фильтр по названию продукта
Благодаря такой структуре разработчикам и пользователям API всегда понятно, что ожидать от REST API метода 🙌
#RestApiGA #FarmFreshGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤13❤🔥2🥰1
Анализируем статистику квиза и разбираем варианты ответов:
--------
👉 1. Какой метод + URL выбрать для просмотра каталога продуктов (для роли покупателя)?
✅ B. GET ../api/v1/products (47%)
❌ H. GET ../api/v1/public/products (32%)
Итого:
Меньше 50% участников выбрали верный вариант.
Вариант G со структурой URL под микросервисную архитектуру, был проигнорирован - всего 7% голосов.
--------
👉 2. Какой метод + URL выбрать для создания заказа покупателем?
❌ D. POST ../api/v1/order/create (47%)
✅ B. POST ../api/order-management/v1/orders (23%)
Итого:
Шок! 😱
Только 23% участников смогли выявить правильный ответ! Остальные выбрали решение, которое применяют для HTTP API без архитектурного стиля REST.
--------
👉 3. Какой метод + URL выбрать для редактирования информации о продукте фермером?
✅ F. PATCH ../api/v1/products/productld} (62%)
▫️ G. PUT ../api/catalog/v1/products/{productld} (20%)
Итого:
Большинство участников отлично справились с заданием!
--------
Разбор всех ответов - на картинках к посту.
Запоминать ошибки легче, чем правила.
Сохраните пост как шпаргалку и сверяйтесь при проектировании 🤝
#RestApiGA #FarmFreshGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏20👍14❤9
В вакансиях на Системных Аналитиков постоянно встречаются эти формулировки:
+ Знание REST API / JSON
+ Опыт проектирования и документирования API
+ Понимание принципов работы мобильных приложений
+ Знание OpenAPI / Swagger
+ Навык тестирования API Backend (Postman)
Все эти навыки ожидают от Middle и Senior СА, которым предстоит работать с Backend-, мобильными командами или в проектах с интеграциями.
❗️ И это не про интеграции и чтение готовой API-документации, а про умение проектировать REST API методы с нуля, самостоятельно, и выстраивать стандарты API на любом проекте.
Мы приглашаем вас освоить REST API на практике в рамках одного большого проекта на программе:
👉 Узнать подробности и записаться
В ходе работы учимся проектировать методы REST API с нуля, глядя на требования, архитектуру, БД и дизайн UI/UX системы.
Проект с подвохами и сложностями, на котором “набиваем шишки”, учимся писать с нуля и структурировать API-документацию, осваиваем ключевые инструменты СА 🛠
Это самая весомая и “программистская” часть вашего профессионального портфолио.
Есть вопросы?
Пишите @getanalyst или заполняйте анкету предзаписи. Мы свяжемся с вами, поможем оценить текущие навыки и ответим на вопросы! 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥3
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
🤖 Как аналитики работают в Generative AI проектах: старт карьеры, ключевые навыки и задачи 🤖
Повсюду «AI, AI, AI»: Generative AI, LLM, Fine-Tuning, RAG — но что это значит для системных и бизнес-аналитиков? Куда бежать, что изучать и с чего начать, если уже сейчас хочется новый виток в карьере в направлении AI?
В этом выпуске разбираем реальные проекты, задачи и роли в компании red_mad_robot: где место аналитика в Generative AI, какие навыки нужны на старте и как меняется работа команд по сравнению с «обычными» IT-проектами.
🔗 Сайт эпизода
🔗 Компания red_mad_robot
🔗 AI акселератор для СА и БА
Анастасия и Игорь «раскрывают кухню» Generative AI-проектов: RAG vs Fine-Tuning, Small LLMs, метрики качества, безопасность и свой реальный опыт работы. К концу эпизода вы поймёте, с чего начать переход, какие артефакты добавить в портфолио и чего ожидать на собеседованиях.
✍️ Слушайте, делайте заметки и задавайте вопросы в комментариях, чтобы мы могли дать вам максимум пользы от этого выпуска!
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
GetAnalyst - сообщество, где аналитики каждый день получают новый опыт и самые актуальные знания! 🚀
Повсюду «AI, AI, AI»: Generative AI, LLM, Fine-Tuning, RAG — но что это значит для системных и бизнес-аналитиков? Куда бежать, что изучать и с чего начать, если уже сейчас хочется новый виток в карьере в направлении AI?
В этом выпуске разбираем реальные проекты, задачи и роли в компании red_mad_robot: где место аналитика в Generative AI, какие навыки нужны на старте и как меняется работа команд по сравнению с «обычными» IT-проектами.
Анастасия и Игорь «раскрывают кухню» Generative AI-проектов: RAG vs Fine-Tuning, Small LLMs, метрики качества, безопасность и свой реальный опыт работы. К концу эпизода вы поймёте, с чего начать переход, какие артефакты добавить в портфолио и чего ожидать на собеседованиях.
✍️ Слушайте, делайте заметки и задавайте вопросы в комментариях, чтобы мы могли дать вам максимум пользы от этого выпуска!
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
GetAnalyst - сообщество, где аналитики каждый день получают новый опыт и самые актуальные знания! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17⚡6🔥3❤🔥1
🙈 Не про «успешный успех» 🙈
Привет! С вами как всегда я, автор канала и основатель сообщества GetAnalyst - Екатерина Ананьева.
По логике блогинга, я должна ежедневно продавать, постить «идеальную жизнь» и бесконечные сториз и рилс. Но за год в инстаграм (запрещен в РФ) - 2.5 фото.
И это осознанно.
Почему?
Потому что реальные результаты приходят не из ленты, а из рутины. Ужасно скучной и однообразной рутины, которая разбавляется путешествиями и временем на себя.
Я много работаю (до 50ч/нед) и учусь (до 12ч/нед).
Я отдаю невероятно много энергии проектам, вашему обучению и своему тоже.
👉 Поэтому любую свободную минуту я посвящаю себе: тренровки в зале, падел (новое хобби), прогрулки, книги, или просто сон, который так важен.
Всё лучше, чем обрабатывать фото в инстаграм и рассказывать про успешный успех, танцевать танцы на камеру, шутить шутки, или делать что угодно для привлечения внимания "в тупую".
Я могу показать дом, машину, жизнь в пальмах и бренды. Станцевать или пошутить шутку.
👉 Но что это поменяет в вашей карьере?
Гораздо честнее говорить: путь аналитика — это труд, дисциплина, любопытство и постоянное развитие.
И давать вам тут 90%+ времени полезные материалы.
❗️ Ваше время на каждый текст должно быть проведено с пользой.
А я хочу быть счастливой, без необходимости ежедневно доказывать это в сторис 🙂
Если вы здесь ради профессии и роста — вы в правильном месте. А иллюзии, что можно за 2 месяца с нуля стать системым аналитиком, или сменить работу на зарплату x2 натренировавшись проходить собеседования без реальных знаний?
Так можно, но тут этого нет, и это часто имеет негативный исход.
Я зануда, и я про реальные знания 🤓
Ценю ваше время на каждый пост.
Немного фото из жизни добавила к посту. Дополним инстаграм))
И спасибо, что вы со мной! ❤️
P.S. Буду рада, если в комментариях поделитесь, какие ещё хобби есть у системных аналитиков, кроме работы 😃
Привет! С вами как всегда я, автор канала и основатель сообщества GetAnalyst - Екатерина Ананьева.
По логике блогинга, я должна ежедневно продавать, постить «идеальную жизнь» и бесконечные сториз и рилс. Но за год в инстаграм (запрещен в РФ) - 2.5 фото.
И это осознанно.
Почему?
Потому что реальные результаты приходят не из ленты, а из рутины. Ужасно скучной и однообразной рутины, которая разбавляется путешествиями и временем на себя.
Я много работаю (до 50ч/нед) и учусь (до 12ч/нед).
Я отдаю невероятно много энергии проектам, вашему обучению и своему тоже.
👉 Поэтому любую свободную минуту я посвящаю себе: тренровки в зале, падел (новое хобби), прогрулки, книги, или просто сон, который так важен.
Всё лучше, чем обрабатывать фото в инстаграм и рассказывать про успешный успех, танцевать танцы на камеру, шутить шутки, или делать что угодно для привлечения внимания "в тупую".
Баланс между работой и отдыхом — мой самый сложный и важный проект.
Я могу показать дом, машину, жизнь в пальмах и бренды. Станцевать или пошутить шутку.
👉 Но что это поменяет в вашей карьере?
Гораздо честнее говорить: путь аналитика — это труд, дисциплина, любопытство и постоянное развитие.
И давать вам тут 90%+ времени полезные материалы.
❗️ Ваше время на каждый текст должно быть проведено с пользой.
А я хочу быть счастливой, без необходимости ежедневно доказывать это в сторис 🙂
Если вы здесь ради профессии и роста — вы в правильном месте. А иллюзии, что можно за 2 месяца с нуля стать системым аналитиком, или сменить работу на зарплату x2 натренировавшись проходить собеседования без реальных знаний?
Так можно, но тут этого нет, и это часто имеет негативный исход.
Я зануда, и я про реальные знания 🤓
Ценю ваше время на каждый пост.
Немного фото из жизни добавила к посту. Дополним инстаграм))
И спасибо, что вы со мной! ❤️
P.S. Буду рада, если в комментариях поделитесь, какие ещё хобби есть у системных аналитиков, кроме работы 😃
❤122🔥41❤🔥13👍10🦄2💔1