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

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

РКН №5013005196
Download Telegram
Что популярнее, про то и расскажу 🚀

REST API — архитектурный стиль проектирования программных интерфейсов (API). Реализуется за счет протокола HTTP.

REST API используют, когда есть необходимость обмена данными между сервером и приложениями пользователей (сайты/веб-приложения/мобильные приложения/...).

Структура методов REST API:
🔸 Метод (GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD)
🔸 URL (эндпоинт)
Запрос:
▪️ authorization
▪️ headers
▪️ query-parameters
▪️ body
Ответ:
▪️ HTTP-код состояния
▪️ body

REST появился в 2000 году. Его описал в своей диссертации программист и исследователь Рой Филдинг, один из создателей протокола HTTP. Это не стандарт, а именно архитектурный стиль взаимодействия. Другими словами рекомендация по созданию программного интерфейса для взаимодействия клиента и сервера по протоколу HTTP.

Почитать диссертацию Роя Филдинга можно здесь 🔗
👍20
Если погружаться в теорию, то для описания тела запроса body используют формат сообщиений JSON. А есть еще вариант?
Anonymous Quiz
4%
Только JSON
5%
JSON, HTML
54%
JSON, XML
37%
JSON, HTML, XML
Media is too big
VIEW IN TELEGRAM
JSON, XML и HTML могут быть переданы и получены в теле REST API запросов. А самый распространенный формат сообщений - JSON.

На видео за 10 минут показываю на простом примере, как делать структуру JSON 👩‍💻

Главное:
Объекты данных пользователь, библиотека - в {}
"Ключ-название параметра сущности": "Значение"
Если надо список, то используем массивы - в []
В массивах могут быть как списки объектов [{...}, {...},{...}], так и просто значения ["яблоко", "ананас", "груша"]
В конце всех строк запятые. Запятая перед } не ставится

Есть еще особенности, про которые важно знать. Но самое главное для быстрого страта в JSON здесь 😉
👍26🔥10😍1
Привет! ☀️

11 октября в 19:00 (Мск) я проведу практический вебинар, где за 90 минут:
Дам самую важную теорию по REST API без воды,
Погружу в задачу на проектирование,
Научу работать со списками
Регистрация откроется в понедельник 🗓

У меня есть для вас задача!
Я хочу, чтобы вы на основе предыдущего видео, попробовали самостоятельно описать структуру JSON-объекта. Ответы разберу в прямом эфире, и вместе доделаем метод REST API на получение данных.

Задача и сбор ответов здесь 🔗

Не упускайте возможность попрактиковаться в REST API!
Мы получаем опыт и совершенствуемся, когда пробуем! 🚀
👍10
Задача на 11 октября 19:00 (Мск)
Про REST API: от теории к практике за 90 минут

Контекст:
Сервис отправки документов и грузов - почтовые отправления
✉️

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

Для каждого завершенного заказа почтового отправления есть история: от приема отправления до доставки в пункт назначения и выдачи получателю.

Задача:
Реализовать метод получения информации о почтовом отправлении пользователя.
Для примера взять отправление пользователя с номером +1 858 999 99 99 (Михаил Михайлович Мишин), от 10.10.2022, в 14:54:34 (Мск), заказ номер 59, пересылка документов (конверт для A4).
В ответ: JSON тела ответа на запрос

Сбор ответов здесь 🔗
7👍1
Хорошо сделанное лучше, чем хорошо сказанное

Это цитата из китайского печенья, которое досталось мне перед запуском проекта GetAnalyst. Я сторонник того, что лучше делать, а не говорить. Поэтому я веду ПРАКТИЧЕСКИЕ вебинары. На них я сначала рассказываю теорию по делу, а затем решаю задачи вместе с вами 🙌

Мы начали говорить про REST API, посмотрели немного практики по JSON. А теперь давайте вместе решим реальную задачу в прямом эфире!

📹 Про REST API за 90 минут: от теории к практике
🗓 11 октября (вт), 19:00 - 20:30 (Мск)
🔗 Регистрация здесь

Расскажу самую важную теорию, разберем запросы на получение данных и работу со списками.
Задача к вебинару опубликована выше 👆

Готовим блокноты, ручки и клавиатуру 😉
До встречи в прямом эфире!
👍5
Уже через 3 часа!

📹 Про REST API за 90 минут: от теории к практике
19:00- 20:30 Мск

Ссылку на трансляцию пришлем в канал за 15 минут до начала.
3👍1
❗️До начала вебинара 15 минут ❗️

Присоединяйтесь😉
https://pruffme.com/webinar/?id=6ad162754bc3afb08b9fe911006468b1
Доброе утро! ☀️

Спасибо вам за крутую практику на вебинаре вчера и всем, кто прислал ДЗ по задаче, решение которой мы разбирали на вебинаре ❤️
Особенно был приятен коммент "аж нашему тимлиду БЭКэ написал" 😊

Очень насыщенно получилось!

Разобрали:
Основы REST API - что из себя представляет архитектурный стиль
Виды методов REST API и их назначение
Структуру запросов - ответов
Формат JSON
camelCase
Подходы к работе со списками
Пагинацию
Много других нюансов дизайна API
И много практики! 👩‍💻

Для тех, кто не успел вчера подключиться, есть возможность попасть на вебинар
🗓 13 октября (ЧТ), в 19:00
📹 Регистрация
здесь
Ключевая теория, которую подробно разобрали вебинаре
Методы REST API и их назначение

🟢 GET
Получение объектов данных, формируемых из БД системы

🟢 POST
Создание новых объектов данных в БД.
Получение данных в исключительных случаях (асинхронное получение данных, размещение запроса на обработку транзакции - отчеты, получение большой выборки данных, работа с агрегаторами)

🟢 PUT
Создание или изменение данных об объекте в БД. Важно! При изменении данных требуется полный объект для его перезаписи.
Пример: для изменения паспортных данных, даже если поменялся только номер паспорта и дата выдачи, все равно придется передавать все его параметры, включая ФИО, дату рождения владельца, пол и т.д.

🟢 PATCH
Частичное изменение данных в БД
Пример: для изменения паспортных данных, если нужно поменять только номер паспорта и дату выдачи, то передаем только их в запросе PATCH и ничего более. Через один и тот же метод PATCH можно каждый раз передавать только те поля к изменению, которые нужно

🟢 DELETE
Удаление данных в БД, либо установка флага "скрыть" (is_visible=false), чтобы при получении не возвращать пользователю.

OPTIONS, HEAD, TRACE и другие методы почти не используются, т.к. хватает перечисленных.
🔥11👍3
На вебинаре обещала поделиться книгой, которую также рекомендую к прочтению у себя на обучении REST API

📚 Проектирование веб-API
Лоре Арно

Цитаты
Что вы делаете, когда впервые используете какую-либо повседневную вещь? Вы внимательно смотрите на ее интерфейс, чтобы определить ее назначение и то, как ее использовать, основываясь на том, что вы видите, и на своем прошлом опыте. И здесь важен дизайн.
Если вы сосредоточитесь на том, что происходит «под капотом», это приведет к полной катастрофе. Если сфокусироваться на том, что могут делать пользователи, – все пройдет гладко.
Любое представление должно быть легко понятно для людей и программ.

440 страниц 🚀
👍6🔥1
📚 С 18 октября запускается обучение REST API 📚

Это возможность освоить навык REST API на практике от основ, до умения проектировать контракты API-методов и создания API-документации.

🔹Вы начнете понимать, о чем говорят backend-разработчики при обсуждении REST API, и узнаете, за что они отвечают
🔹Без проблем сможете читать чужую API-документацию для проектирования интеграций
🔹Научитесь строить URL для методов REST API, и разберете в деталях отличия между GET, POST, PUT, PATCH и DELETE
🔹Сможете читать и создавать JSON-структуры данных
🔹Поймете, чем синхронное взаимодействие отличается от асинхронного
🔹Освоите Postman и Swagger
🔹Получите опыт работы на IT-проекте с REST API, и будете рассказывать о нем с абсолютной уверенностью в своих знаниях!

Если у Вас есть вопросы, которые хочется обсудить перед началом обучения, например, хватит ли текущих знаний, или другие, пишите @getanalyst ✉️

Результаты обучения расширят компетенции, и вы сможете добавить несколько новых ключевых навыков в свое резюме:
📈
REST API
📈 Postman
📈 Swagger
📈 Интеграции

🔗 Узнать подробности и присоединиться к обучению
⚡️ Последняя возможность успеть на вебинар!
Вся самая необходимая теория и практика по проектированию REST API.

📹 Про REST API за 90 минут: от теории к практике
11:00- 13:00 Мск
👉 Перейти к трансляции
Привет!

Хочу рассказать вам историю, как я впервые оказалась на международной конференции системного и бизнес-анализа Analyst Days.

Для меня это было какое-то грандиозное событие! Профессия системного аналитика развивалась, и возможность узнать больше "своих" за пределами офиса очень вдохновляла 🙌

Первый опыт знакомства с Analyst Days в качестве участника оказал на меня сильное влияние. Лучшие специалисты на практике рассказывали о внедренных ими подходах системного и бизнес-анализа, ведения задач, управления проектами, организации команды.

Очень крутыми оказались практические мероприятия, где можно было не только послушать, но и порешать задачи 👍

После конференции я вернулась в рабочее русло заряженная на изменения, и многие из них применила на практике! Знания, собранные на моем первом Analyst Days, живут со мной до сих пор ❤️

На Analyst Days всегда есть особенно крутые доклады. И хочу подсказать вам один из самых сочных
Про нефункциональные требования 🔝
Смотрим, смеемся и запоминаем ✔️
11👍1
Разработчики могут писать документацию и участвовать в системном анализе! Как? 👩‍💻

Моя история началась с Analyst Days-6, потом был перерыв, и на Analyst Days-11 я с огромным удовольствием вернулась. И теперь не только в качестве зрителя, но и в качестве докладчика.

Тогда я занималась построением отдела системного анализа в прекрасном МоемСкладе 💙 Я только вернулась с учебы в США, уже вела консалтинговую деятельность по системному анализу, и знания начинали переполнять. Крутые кейсы тоже. Я хотела делиться. Масштабно! И благодаря поддержке Analyst Days у меня это получилось!

Я рассказала о том, как мы процесс документирования в МоемСкладе внедряли. Это было то еще приключение для меня. На старте 2 аналитика на всю компанию, из них только я системный, и кто-то должен не только проектировать, но и писать доку! Спасали тестировщики, и... разработчики!

Как это получилось! Все секреты выложила здесь, на Analyst Days-11 😉

До сих пор с этого видео ко мне периодически приходят обращения от компаний на консультации по внедрению документирования на большие системы, которые становится тяжело сопровождать. Открыта для взаимодействия, обращайтесь 😉
👍5🔥1
‼️ Самый важный скил для аналитиков ‼️

Изучаешь очередной бизнес-контекст. Ищешь узкие места в бизнес-процессах. Смотришь, как это можно положить на систему. И...проектируешь логику работы! Чем больше проектов, тем лучше скил анализа, разработки алгоритмов.

Логика! Она развивается за счет количества решенных задач в разных предметных областях, она позволяет быстро находить решения для новых задач на основе опыта. И это самый главный скил аналитика! Поэтому на вебинарах я стараюсь разбирать разные задачи и учу быстро погружаться

Сейчас я вижу приложения насквозь. Знаю, что может скрываться за нажатием кнопок в любом приложении. Вижу потенциальные "что может пойти не так?" в сценариях пользователя, как обрабатываются данные.

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

Прокачиваем важный скил для аналитиков!
4 и 5 ноября в Санкт-Петербурге на Analyst Days-15
Доставить и не потерять: синхронизация данных в распределенных системах
🎁🎁🎁👇
Промокод на 15%: GetAnalyst
👍51
Как разобраться с REST API на практике?

1. Зайти на официальный сайт Postman, зарегистрироваться и начать использовать его для тестирования REST API. Полагаться на интуицию 😉

2. Взять API-документацию тестового сервиса. Например:
API для работы с CRM "Мой Класс" -> https://api.moyklass.com/
Зарегистрировать тестовый аккаунт -> тут

3. Получить токен авторизации по API-ключу:
POST https://api.moyklass.com/v1/company/auth/getToken
Body (JSON):
{
"apiKey": "FO7R7Uay..........peb"
}

4. Дерзать! Пробовать выполнять запросы по API-документации 🙃

Подсказки дала. Теперь главное не бояться, а пробовать! 😉
👍16🔥10😍1
Три самые важные вкладки, которые нужно уметь настраивать в Postman:

Parametrs
Headers
Body

+ авторизация 🙂
🔥8