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

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

РКН №5013005196
Download Telegram
👩‍💻 6 принципов REST API про которые спрашивают на собеседованиях 👩‍💻

REST API — архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.


REST API основан на протоколе HTTP:

э
то означает, что все принципы работы HTTP методов, их структура запросов и ответов, будут также применимы и для REST API.

👉 Подробнее про работу 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
25👍9🔥4🍾2
🧑‍💻 Всё про структуру [HTTP] REST API методов в одной картинке 🧑‍💻

Прикрепленная к посту картинка-шпаргалка полезна для работы с проектированием REST API методов с нуля.

Задача актуальна для Senior системных аналитиков, которые работают с Backend-командами, мобильными приложениями, микросервисами и в других проектах.



Чтобы вы наглядно могли сопоставить структуру на картинке с реальным REST API, подготовили для вас:

👉 Документ с анализом API-метода от Т-Банка: документация + Postman



Практика: проверьте себя! 🧠

Предлагаю вам самостоятельно изучить примеры открытой API-документации для интеграций:

ZOOM API - создание видео-конференций
ТБанк - Зарплатный проект
API - Умный дом от Яндекс

Это отличная практика по закреплению знаний по структуре методов REST API.
Сможете найти все описанные на картинке параметры в этой документации?

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥9
🗓 Новый проект на REST API: онлайн-календарь #MeetsGA 🗓

Почти каждый из нас пользуется онлайн-календарём:

создаём встречи через веб и мобильные приложения
добавляем участников
получаем ссылки на видеозвонки
проверяем список встреч на день
редактируем или отменяем их

Примеры таких сервисов — Google Calendar, Zoom, Outlook.



В этом месяце мы будем разрабатывать #MeetsGA — своё собственное приложение календаря встреч.
А точнее его "подкапотную" часть - REST API методы для управления встречами.


👉 План разработки

1. Проектирование:

+ endpoint-ы и методы
+ JSON-структуры запросов и ответов
+ алгоритмы работы
+ сценарии и предусловия
+ обработка ошибок

2. Документация
+ постановка задачи на REST API метод в Confluence
+ схема БД для хранения встреч и участников
+ маппинг данных: JSON - БД

3. Инструменты
Перенесём созданную документацию по API-методам в Postman и Swagger (OpenAPI).



👉 Для чего всё это?
Чтобы получить готовый API, который обеспечит работу фронтенда: веб- и мобильных приложений MeetsGA.

В конце сверимся с популярными сервисами.



🎯 Зачем следить за этим проектом?
Если вы:
🔹 работаете аналитиком и хотите прокачать навык проектирования REST API
🔹 планируете проект по расписаниям, бронированиям, встречам или событиям
🔹 хотите научиться оформлять требования к API



👉 Хотите стать частью проекта и получать новый опыт для работы и собеседований?
Следите за тегом #MeetsGA.
Подписывайтесь на канал.
И оставайтесь с нами!

Это отличный проект, чтобы научиться работать с REST API с нуля до продакшн.

Добро пожаловать в команду! 🤝


#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥507🔥7👍3
🆕 Обновления на сайте GetAnalyst.ru 🆕

Мы постоянно работаем над обновлениями базы знаний для СА и БА.

Сайт и Telegram-канал - два главных источника знаний.

Статьи, книги, вебинары и подкасты от GetAnalyst - всё для вас.


В этом посте хочу поделиться обновлениями по сайту:


Добавили базу проектов GetAnalyst
Каждый месяц запускаем разборы проектов с примерами документации и демо реальной работы.
За несколько лет их накопилось много.
Собрали базу знаний по ним.
Будем улучшать и переносить посты по проектам на сайт.
Сейчас материалы по каждому проекту можно читать в этом канале под его хэштегом.
🔗 База проектов


Вопросы для подготовки к собеседованиям - открытая база для СА
Запустили в работу.
Но без вашей помощи не обойтись.
Если вы сейчас проходите собеседования и готовы поделиться своим опытом, то всем сообществом будем очень благодарны!
Как показывает опыт - прогнать себя по случайным вопросам всегда полезно.
🔗 База вопросов с собеседований на СА


Обновили расписание онлайн-занятий для программы "Системный аналитик: с нуля до опыта работы на проекте"
Потоки стартуют раз в год.
В октябре 2025 года планируется последний полноформатный онлайн-поток на 10 месяцев, где я веду 80+% занятий и помогаю войти в профессию с нуля.


Починили проблему с частичной недоступностью сайта
Сделали инфраструктурный хак и теперь всё и везде работает.
Маршрутизация запросов дело хитрое, но мы справились.
P.S. Спасибо, Дима!



Стремлюсь причинять добро, поэтому стараюсь развивать открытую базу знаний для системных аналитиков на все 💯00%.

Пожелания и предложения как всегда приветствуются 🙌


Искренни ваши,
Екатерина Ананьева
и команда GetAnalyst
🪄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3923❤‍🔥4
👩‍💻 HTTP-методы в REST API: это спросят на собеседовании 👩‍💻

GET, POST, PUT, PATCH и DELETE - виды методов, часть протокола HTTP.
Нужны, чтобы стандартизировать взаимодействие между клиентом и сервером.

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


🩷 GET
Чтение данных.

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


💚 POST
Создание объектов в БД.
Не идемпотентен.

* Исключения, когда 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

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2716❤‍🔥4
💡 Задания для практики: REST API эндпоинты 💡

Спроектируйте REST API эндпоинты для методов проекта #MeetsGA: тип метода + URL.

Базовый URL:
https://meetsga.com

Пример:
◽️Создать встречу в календаре
POST
https://meetsga.com/api/public/v1/events
◽️Сокращенно:
POST
.../api/public/v1/events


👉❗️ Сначала решите задания в заметках или на листе бумаги, а потом нажмите на , чтобы сверить ответы.


Задания:

1️⃣
Получить информацию о встрече
GET .../api/public/v1/events/{eventId}

2️⃣ Обновить тему и описание встречи
PATCH .../api/public/v1/events/{eventId}
Можно PUT.


3️⃣ Отменить встречу
PATCH .../api/public/v1/events/{eventId}/cancel
или
DELETE .../api/public/v1/events/{eventId} - если удаляем запись из календаря и из БД


4️⃣ Добавить участников во встречу
POST .../api/public/v1/events/{eventId}/participants
Можно через метод редактирования встречи
PATCH .../api/public/v1/events/{eventId}/


5️⃣ Получить список встреч на определенную дату
GET .../api/public/v1/events?date=2025-07-13

6️⃣ Удалить участника встречи
DELETE .../api/public/v1/events/{eventId}/participants/{userId}

7️⃣ Загрузить файл ко встрече
POST .../api/public/v1/events/{eventId}/attachments

8️⃣ Зарегистрировать нового пользователя
POST .../api/public/v1/users


9️⃣ Обновить профиль пользователя
PATCH .../api/public/v1/users/{userId}
Можно и PUT.


1️⃣0️⃣ Добавить комментарий ко встрече
POST .../api/public/v1/events/{eventId}/comments


Проверьте себя! Нажимайте на .


Сколько верных ответов у вас получилось?
👍 - меньше 6
❤️ - от 6 до 9
🔥 - 10
При любом результате вы молодцы, так как развиваете свои навыки и получаете опыт!

Делитесь в комментариях, если у вас получились иные варианты или есть вопросы при проверке 🤝

#RestApiGA #MeetsGA
Please open Telegram to view this post
VIEW IN TELEGRAM
42❤‍🔥15🔥4