GetAnalyst - REST API - Важное про JSON.pdf
10.2 MB
💾 Важное про JSON за 5 минут + полезные ссылки 💾
JSON - это текстовый формат сообщений для обмена данными в Интернете.
Представляет данные в виде пар ключ-значение.
Пример:
Слева в "" всегда ключ, а справа, после : всегда значение.
Обратите внимание, что в кавычках "" не все значения справа.
JSON поддерживает всего несколько типов данных:
✔️Number (Целые и дробные числа): 12, -3455 или 24.5
✔️String (Строки): “Строка всегда в кавычках” или “” (пустая строка)
✔️Boolean (да-нет. флажок, логический тип данных): true или false
✔️Array (Массив или список): [“элемент 1”, “элемент 2”, “элемент 3”]
✔️Object (Объект данных, вложенные JSON): { "name": "Иван" }
✔️null (Пустое значение): null
Типа данных для даты и времени нет. Для всего, что нужно дополнительно, используются строки и дополнительные международные стандарты, применяемые к ним.
Простота и легкость чтения человеком сделали JSON основным выбором для многих приложений.
Почему удобство чтения человеком важно?
✔️ Разработчикам удобнее читать структуру сообщений и, соответственно, проще писать код, которые их обрабатывает.
✔️ Аналитики помогают заранее разработать контракты для Клиентов и Сервера, что ускоряет разработку приложений, описывают маппинги JSON-БД-UI, в частности, для интеграций и анализируют работу приложений.
✔️ Тестировщики в современных и сложных проектах тестируют не только пользовательский интерфейс и отображение данных на нем, но и API с его JSON.
JSON используется в REST API, GraphQL, файлах-конфигураций для систем.
Подробнее, с примерами и дополнительными ссылками, рассказала всё в мини-книге по JSON. Прикреплена к посту.
#RestApiGA
JSON - это текстовый формат сообщений для обмена данными в Интернете.
Представляет данные в виде пар ключ-значение.
Пример:
{
"id": "0dfb98dd-32bf-474d-a1a5-222851847801",
"deviceType": "Робот-пылесос",
"createdAt": “2024-04-24”,
"isActive": false,
"colors": ["синий", "белый", "черный"]
}Слева в "" всегда ключ, а справа, после : всегда значение.
Обратите внимание, что в кавычках "" не все значения справа.
JSON поддерживает всего несколько типов данных:
✔️Number (Целые и дробные числа): 12, -3455 или 24.5
✔️String (Строки): “Строка всегда в кавычках” или “” (пустая строка)
✔️Boolean (да-нет. флажок, логический тип данных): true или false
✔️Array (Массив или список): [“элемент 1”, “элемент 2”, “элемент 3”]
✔️Object (Объект данных, вложенные JSON): { "name": "Иван" }
✔️null (Пустое значение): null
Типа данных для даты и времени нет. Для всего, что нужно дополнительно, используются строки и дополнительные международные стандарты, применяемые к ним.
Простота и легкость чтения человеком сделали JSON основным выбором для многих приложений.
Почему удобство чтения человеком важно?
✔️ Разработчикам удобнее читать структуру сообщений и, соответственно, проще писать код, которые их обрабатывает.
✔️ Аналитики помогают заранее разработать контракты для Клиентов и Сервера, что ускоряет разработку приложений, описывают маппинги JSON-БД-UI, в частности, для интеграций и анализируют работу приложений.
✔️ Тестировщики в современных и сложных проектах тестируют не только пользовательский интерфейс и отображение данных на нем, но и API с его JSON.
JSON используется в REST API, GraphQL, файлах-конфигураций для систем.
Подробнее, с примерами и дополнительными ссылками, рассказала всё в мини-книге по JSON. Прикреплена к посту.
#RestApiGA
🔥20❤6👍5❤🔥2
Какой HTTP метод следует использовать для привязки умного устройства к аккаунту пользователя?
Меньше всего голосов за хороший вариант.
Коллеги, подписываем запрос авторизацией пользователя в Headers и привязываем новые устройства через POST к нему, т.е. добавляем запись в личный список устройств.
Но! Для лучшей читаемости метода я бы сделала более прозрачное название userDevice. Даже таблица, в которую мы будем добавлять запись в БД будет называться user_device или подобно.
Хорошее решение для панели администратора, когда авторизации конкретного пользователя нет. Но кажется, что привязка умных устройств - зона ответственности обычных пользователей приложения, а не администраторов.
Для пользователя метод избыточнен, т.к. в Headers уже есть авторизация (например, Token пользователя, через который можно получить userId).
Лучше POST, если выбрали избыточность, так как мы добавляем новое устройство, а не меняем его. Обсуждаемо.
Двойное
Что будет наиболее подходящим методом для включения умного устройства через API?
✅
Перебор с /power/on , лучше /activate , но метод PATCH идеален.
❌
Слово /switch мне просто не нравится, а PUT - перебор, т.к. меняет весь объект данных “умное устройство”, а не только его статус.
✅
Идеально, если записываем данные о каждом включении и выключении устройства в журнал событий, который хранится в БД.
❌
Не подходит, так как GET используется только для получения данных и не должен по принципам RESTful API менять данные на сервере.
Теория:
Структура URL метода
Ура! 🎉 Квиз разобрали!
🔔 А уже в ЭТОТ ЧЕТВЕРГ будет бесплатная онлайн-практика по REST API, регистрация открыта 🔔
#RestApiGA
✅ POST /deviceМеньше всего голосов за хороший вариант.
Коллеги, подписываем запрос авторизацией пользователя в Headers и привязываем новые устройства через POST к нему, т.е. добавляем запись в личный список устройств.
Но! Для лучшей читаемости метода я бы сделала более прозрачное название userDevice. Даже таблица, в которую мы будем добавлять запись в БД будет называться user_device или подобно.
✅ POST /user/{userId}/deviceХорошее решение для панели администратора, когда авторизации конкретного пользователя нет. Но кажется, что привязка умных устройств - зона ответственности обычных пользователей приложения, а не администраторов.
Для пользователя метод избыточнен, т.к. в Headers уже есть авторизация (например, Token пользователя, через который можно получить userId).
❌ PATCH /user/{userId}/deviceЛучше POST, если выбрали избыточность, так как мы добавляем новое устройство, а не меняем его. Обсуждаемо.
❌ PUT /user/{userId}/device/bindДвойное
/device/bind перебор, и похоже, что в середине не хватает {deviceNumber}. А метод PUT для изменения, а не для создания. Самый неподходящий вариант.Что будет наиболее подходящим методом для включения умного устройства через API?
✅
PATCH /devices/{deviceId}/power/onПеребор с /power/on , лучше /activate , но метод PATCH идеален.
❌
PUT /devices/{deviceId}/switchСлово /switch мне просто не нравится, а PUT - перебор, т.к. меняет весь объект данных “умное устройство”, а не только его статус.
✅
POST /devices/{deviceId}/activateИдеально, если записываем данные о каждом включении и выключении устройства в журнал событий, который хранится в БД.
❌
GET /devices/{deviceId}/activateНе подходит, так как GET используется только для получения данных и не должен по принципам RESTful API менять данные на сервере.
Теория:
Структура URL метода
Ура! 🎉 Квиз разобрали!
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7
С этого года в теме по БД и SQL я решила взять вектор развития на работу со сложными темами 🤓🤍
На следующей неделе проведу онлайн-практикум, который будет полезен для аналитиков, кто уже работал с проектированием БД, хочет погрузиться в тему глубже, и кому предстоит работа с распределенной архитектурой систем.
Онлайн-практикум:
🔸 Проектирование распределенных БД
🗓 29 Апреля 2024 в 19:00 Мск
👩🏫 Екатерина Ананьева
План:
1. Базовые понятия архитектуры: сервис-ориентированная (SOA) и микросервисная (MSA).
2. Знакомство с проектом и выделение сущностей.
3. Определение логической и физической моделей БД с разбором примеров по проекту.
4. Практика. Фокус на проектировании физических моделей БД - PostgreSQL.
5. Обзор шаблона постановки задачи на разработчиков.
+ Алгоритмы синхронизации данных.
Сразу после записи на практику будет доступно последнее актуальное занятие по миграции данных между БД, чтобы сразу было что изучать и не было скучно в ожидании 🙂
Подробнее о продвинутых практикумах по БД и SQL можно узнать по этой ссылке, или задать вопрос в ЛС @getanalyst.
На следующей неделе проведу онлайн-практикум, который будет полезен для аналитиков, кто уже работал с проектированием БД, хочет погрузиться в тему глубже, и кому предстоит работа с распределенной архитектурой систем.
Онлайн-практикум:
🔸 Проектирование распределенных БД
🗓 29 Апреля 2024 в 19:00 Мск
👩🏫 Екатерина Ананьева
План:
1. Базовые понятия архитектуры: сервис-ориентированная (SOA) и микросервисная (MSA).
2. Знакомство с проектом и выделение сущностей.
3. Определение логической и физической моделей БД с разбором примеров по проекту.
4. Практика. Фокус на проектировании физических моделей БД - PostgreSQL.
5. Обзор шаблона постановки задачи на разработчиков.
+ Алгоритмы синхронизации данных.
Сразу после записи на практику будет доступно последнее актуальное занятие по миграции данных между БД, чтобы сразу было что изучать и не было скучно в ожидании 🙂
Подробнее о продвинутых практикумах по БД и SQL можно узнать по этой ссылке, или задать вопрос в ЛС @getanalyst.
❤16👍1
🟧 Postman: Практическое руководство с примером тестирования реального API 🟧
Это короткий гайд для создания вашего проекта в инструменте тестирования и документирования API - Postman.
Чтобы было интересно, я взяла простой, но реальный и очень практичный API DaData. У них, конечно, не RESTful, но зато он частично-бесплатный, понятный и рабочий 🙌
Если вам уже сегодня вечером удастся отработать по этой инструкции и создать первую коллекцию запросов Postman, то завтра на онлайн практике по REST API вам будет еще интереснее!
Помним, что коллекции API в Postman и Swagger - это часть вашего портфолио системного аналитика, а также ключевые навыки в соответствующем разделе резюме ⭐️
🟧 ОТКРЫТЬ РУКОВОДСТВО 🟧
#RestApiGA
Это короткий гайд для создания вашего проекта в инструменте тестирования и документирования API - Postman.
Чтобы было интересно, я взяла простой, но реальный и очень практичный API DaData. У них, конечно, не RESTful, но зато он частично-бесплатный, понятный и рабочий 🙌
Если вам уже сегодня вечером удастся отработать по этой инструкции и создать первую коллекцию запросов Postman, то завтра на онлайн практике по REST API вам будет еще интереснее!
Помним, что коллекции API в Postman и Swagger - это часть вашего портфолио системного аналитика, а также ключевые навыки в соответствующем разделе резюме ⭐️
🟧 ОТКРЫТЬ РУКОВОДСТВО 🟧
#RestApiGA
❤15🔥11👍5🥰1
📌 На завтра! Подготовка к практике по REST API и Postman 📌
Коллеги, завтра у нас пройдет практический вебинар, на котором мы с вами в прямом эфире получим следующие результаты:
✔️ Освоим структуру запросов и ответов REST API, JSON.
✔️ Изучим готовую REST API документацию и подход к её разработке.
✔️ Освоим инструмент Postman для тестирования и разработки публичной документации REST API.
Работать мы будем вместе. Важно, чтобы вы получили результаты!
🔸 Небольшая инструкция по подготовке:
1. Подключиться с компьютера.
Идеально, если у вас два монитора.
Либо одна половина экрана занята трансляцией, а вторая Postman-ом.
2. Зарегистрировать аккаунт в Postman и перед эфиром войти в приложение.
Можно использовать онлайн версию: https://www.postman.com/
Можно скачать и установить на компьютер: https://www.postman.com/downloads/
Я буду работать в веб-версии, через браузер.
VPN можно отключить. Запрещенки не будет 😀
Подключайтесь ЗАВТРА в прямой эфир, чтобы:
+ освоить REST API, вопросы по которому стали неотъемлемой частью собеседований на системного аналитика, и который регулярно используется в работе над средними и крупными проектами,
+ изучить инструмент Postman,
+ и получить обратную связь по вашим вопросам!
📚 Знакомство с REST API через Postman: с нуля до рабочих методов
📅 25 АПРЕЛЯ, 19:00 МСК
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
Коллеги, завтра у нас пройдет практический вебинар, на котором мы с вами в прямом эфире получим следующие результаты:
✔️ Освоим структуру запросов и ответов REST API, JSON.
✔️ Изучим готовую REST API документацию и подход к её разработке.
✔️ Освоим инструмент Postman для тестирования и разработки публичной документации REST API.
Работать мы будем вместе. Важно, чтобы вы получили результаты!
🔸 Небольшая инструкция по подготовке:
1. Подключиться с компьютера.
Идеально, если у вас два монитора.
Либо одна половина экрана занята трансляцией, а вторая Postman-ом.
2. Зарегистрировать аккаунт в Postman и перед эфиром войти в приложение.
Можно использовать онлайн версию: https://www.postman.com/
Можно скачать и установить на компьютер: https://www.postman.com/downloads/
Я буду работать в веб-версии, через браузер.
VPN можно отключить. Запрещенки не будет 😀
Подключайтесь ЗАВТРА в прямой эфир, чтобы:
+ освоить REST API, вопросы по которому стали неотъемлемой частью собеседований на системного аналитика, и который регулярно используется в работе над средними и крупными проектами,
+ изучить инструмент Postman,
+ и получить обратную связь по вашим вопросам!
📚 Знакомство с REST API через Postman: с нуля до рабочих методов
📅 25 АПРЕЛЯ, 19:00 МСК
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
🔥17❤3👍1😍1
Сегодня ехала в одно из любимых мест для работы и радовалась.
Во-первых, дорога очень красивая, частично вдоль океана. А во-вторых, я до этого места могу гулять. Всего 12 тысяч шагов пешком до океана, хоть каждый день! ♥️ Но пока это только регулярная прогулка по выходным.
Я особо не рассказываю что происходит у меня в жизни, но как всегда много всего.
Одно из приятных событий: у меня исполнилась мечта прошлого года. Я теперь живу в доме. Год назад задумалась об этом, искала место, но не нашла. Жила с этой мечтой, думала, что-то делала видимо, и в итоге она осуществилась))
Кто был на одном из онлайн-практикумов в январе-феврале могут вспомнить, как у меня посредине эфира в апартаменты вошла пожарная проверка, перед этим раз 5 громко постучав и затем открыв дверь ключом. Я была в шоке. Это в местной квартиной жизни вывело из себя окончательно.
Теперь я наслаждаюсь жизнью в спокойном районе за городом. Нашла 3 любимых кафе для работы, чтобы менять фон. А от дома до океана можно гулять.
Даунтаун калифорнийского Сан-Диего остался в 30-минутах на машине. От квартиры в городе до океана только ехать, гулять было невозможно из-за кучи шоссе, которые преграждают путь.
Начало года хорошее. Получаю много вдохновения от нового места и продолжаю заниматься любимыми творческими задачами с новым приливом сил.
В очередной раз убедилась в том, что все мечты реализуемы. Нужно только время, терпение и решимость, чтобы действовать))
Фото из любимого кафе для работы со слайдом сегодняшней презентации добавила. Положительными эмоциями зарядилась. Ко встрече с вами готова ♥️
Во-первых, дорога очень красивая, частично вдоль океана. А во-вторых, я до этого места могу гулять. Всего 12 тысяч шагов пешком до океана, хоть каждый день! ♥️ Но пока это только регулярная прогулка по выходным.
Я особо не рассказываю что происходит у меня в жизни, но как всегда много всего.
Одно из приятных событий: у меня исполнилась мечта прошлого года. Я теперь живу в доме. Год назад задумалась об этом, искала место, но не нашла. Жила с этой мечтой, думала, что-то делала видимо, и в итоге она осуществилась))
Кто был на одном из онлайн-практикумов в январе-феврале могут вспомнить, как у меня посредине эфира в апартаменты вошла пожарная проверка, перед этим раз 5 громко постучав и затем открыв дверь ключом. Я была в шоке. Это в местной квартиной жизни вывело из себя окончательно.
Теперь я наслаждаюсь жизнью в спокойном районе за городом. Нашла 3 любимых кафе для работы, чтобы менять фон. А от дома до океана можно гулять.
Даунтаун калифорнийского Сан-Диего остался в 30-минутах на машине. От квартиры в городе до океана только ехать, гулять было невозможно из-за кучи шоссе, которые преграждают путь.
Начало года хорошее. Получаю много вдохновения от нового места и продолжаю заниматься любимыми творческими задачами с новым приливом сил.
В очередной раз убедилась в том, что все мечты реализуемы. Нужно только время, терпение и решимость, чтобы действовать))
Фото из любимого кафе для работы со слайдом сегодняшней презентации добавила. Положительными эмоциями зарядилась. Ко встрече с вами готова ♥️
❤61👍14❤🔥5🤩4🔥3
Знакомство с REST API через Postman: с нуля до рабочих методов
ЗАРЕГИСТРИРОВАТЬСЯ
Не упустите важную практику, которая может изменить вашу карьеру и дать новые навыки сразу!
Обязательно подключайтесь к эфиру с компьютера, чтобы получить максимум! 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10
❗️До начала 15 минут❗️
📹 Знакомство с REST API через Postman: с нуля до рабочих методов
Переходите по ссылке ➡️ https://pruffme.com/webinar/?id=4fe4fcea4fbdffd28f6c1891cc97d942 и начинаем!
Please open Telegram to view this post
VIEW IN TELEGRAM
Pruffme
Знакомство с REST API через Postman: с нуля до рабочих методов
❤4
Я не буду рассказывать что вчера было 😱
Хотела подготовить развернутый пост, чтобы поделиться впечатлениями о практике по Postman+REST API. Но коллеги переслали мне несколько отзывов. И в чате практики их тоже было много. Они рассказывают всё за меня.
Я ценю людей, кто приходит в GetAnalyst на практикумы. Все осознанные и стремящиеся к результатам! И это в обратной связи раскрыла одна из участниц.
Валерия:
Спасибо вам, что вы создаете эту крутую атмосферу, где мы работаем и развиваемся вместе.
Мои эмоции и впечатления:
💛 Спасибо за ваше участие! Я искренне рада, что вы сделали мой день и это занятие еще лучше, чем я ожидала!
💪 У всех участников, кто работал с нами онлайн, получены результаты! Каждый ушел со своим мини-проектом для портфолио.
👩🎓 Я дала понятное домашнее задание, по которому можно продолжить практику самостоятельно, чтобы закрепить навык и далее разбираться в темах API + Postman.
Результаты:
1. Поняли основы REST API.
2. Изучили 2 API-документации.
3. Поняли, когда и зачем нужен REST API.
4. Протестировали реальный API и создали коллекцию запросов Postman.
5. Узнали как оформить коллекцию и создать из неё документацию, чтобы делиться Postman-портфолио с работодателями и с разработчиками.
Это вау-результаты за ОДИН вечер! А продолжение практики с более глубоким погружением в тему ждёт нашу новую команду на программе Дизайн REST API 🙌 Встречаемся 6 мая на первом онлайн занятии 😊
Запись вебинара REST API + Postman будет отправлена только для зарегистрированных участников в СБ. Регистрация будет открыта еще 24 часа🙂
Хотела подготовить развернутый пост, чтобы поделиться впечатлениями о практике по Postman+REST API. Но коллеги переслали мне несколько отзывов. И в чате практики их тоже было много. Они рассказывают всё за меня.
Я ценю людей, кто приходит в GetAnalyst на практикумы. Все осознанные и стремящиеся к результатам! И это в обратной связи раскрыла одна из участниц.
Валерия:
Понравилась подача материала, достаточно просто и понятно объяснен.
Отлично проведенное время, после которого хочешь дальше изучать тему и инструменты.
Было интересно услышать не только про опыт спикера, но и про реальные задачи и трудности с которыми сталкивались.
Круто, что есть действительно заинтересованная аудитория, не было сильного хаоса в чате, что бывает иногда когда на вебинар приходят люди совсем далекие от темы либо слабо мотивированные)
Спасибо!
Спасибо вам, что вы создаете эту крутую атмосферу, где мы работаем и развиваемся вместе.
Мои эмоции и впечатления:
💛 Спасибо за ваше участие! Я искренне рада, что вы сделали мой день и это занятие еще лучше, чем я ожидала!
💪 У всех участников, кто работал с нами онлайн, получены результаты! Каждый ушел со своим мини-проектом для портфолио.
👩🎓 Я дала понятное домашнее задание, по которому можно продолжить практику самостоятельно, чтобы закрепить навык и далее разбираться в темах API + Postman.
Результаты:
1. Поняли основы REST API.
2. Изучили 2 API-документации.
3. Поняли, когда и зачем нужен REST API.
4. Протестировали реальный API и создали коллекцию запросов Postman.
5. Узнали как оформить коллекцию и создать из неё документацию, чтобы делиться Postman-портфолио с работодателями и с разработчиками.
Это вау-результаты за ОДИН вечер! А продолжение практики с более глубоким погружением в тему ждёт нашу новую команду на программе Дизайн REST API 🙌 Встречаемся 6 мая на первом онлайн занятии 😊
Запись вебинара REST API + Postman будет отправлена только для зарегистрированных участников в СБ. Регистрация будет открыта еще 24 часа🙂
❤26👍9❤🔥1
📄 Шаблон постановки задачи на REST API метод 📄
Структура требований для разработчиков Backend, которую можно использовать в Confluence при описании контрактов REST API методов.
1. Название метода
2. Общее описание
3. Алгоритм работы
4. Пример запроса
5. Пример ответа: успех и ошибки
6. Маппинг данных
7. Дополнительные требования
Аналогичную структуру постановки задачи можно реализовать через инструменты документирования и тестирования API - Postman и Swagger.
Подробнее в статье:
🔗Структура постановки задачи на REST API метод
Также по ней очень удобно делать команды к ChatGPT - это Искусственный Интеллект, который как младший системный аналитик помогает в разработке требований и делает половину работы за вас 🙌
Если соберём 100 ❤️🔥 под этим постом, на следующей неделе покажу как это делать на примере нашего проекта с умным домом.
Структура требований для разработчиков Backend, которую можно использовать в Confluence при описании контрактов REST API методов.
1. Название метода
2. Общее описание
3. Алгоритм работы
4. Пример запроса
5. Пример ответа: успех и ошибки
6. Маппинг данных
7. Дополнительные требования
Аналогичную структуру постановки задачи можно реализовать через инструменты документирования и тестирования API - Postman и Swagger.
Подробнее в статье:
🔗Структура постановки задачи на REST API метод
Также по ней очень удобно делать команды к ChatGPT - это Искусственный Интеллект, который как младший системный аналитик помогает в разработке требований и делает половину работы за вас 🙌
Если соберём 100 ❤️🔥 под этим постом, на следующей неделе покажу как это делать на примере нашего проекта с умным домом.
❤🔥132❤15👍9
Я постоянно общаюсь с руководителями ИТ-компаний, с разработчиками. И когда речь заходила о найме, знаете, что чаще всего я слышала и слышу:
Где нормальные аналитики? 🧐
Возможно, для кого-то это будет шок-контент, но на рынке порой действительно непросто найти стоящего специалиста.
Получается, когда одни кричат, что рынок IT переполнен и скоро лопнет от переизбытка, другие заявляют, что не могут найти толкового специалиста в команду, т.к. надо искать иголку в стоге сена 🤔И за эту «иголку» компания всегда готова хорошо платить!
За правильную комбинацию навыков работодатели готовы отдать любые деньги. При необходимости, даже помочь с переездом и дать возможность работать из любой точки мира.
Развитие IT-специалиста можно сравнить с игрой в шахматы.
Изучение и понимание, как ходят фигуры, а в случае аналитика это БД, Интеграции, API, архитектура, Kafka, много всего, и даже нейросети... это все продвигает быстрее по игровому полю к победе.
Все эти навыки — ваше войско ♟️И если, например, величественный ферзь — это понимание REST API, то король — это предводитель — знания об архитектуре. И дорога к ней лежит через ферзя.
В итоге то, как вы ловко управляете «фигурами», ценят и работодатели, и разработчики.
Если заканчиваешь учиться, цель развиваться — Game over. То же самое происходит и с доходом — он перестаёт расти.
А вот когда переходишь из позиции "я борюсь за работу", в позицию, где работодатель борется за тебя и ты диктуешь условия, то где-то здесь начинается волшебство 🙌
Наращивайте ваше войско и учитесь управлять им 😉 Желаю отличных выходных!
Где нормальные аналитики? 🧐
Возможно, для кого-то это будет шок-контент, но на рынке порой действительно непросто найти стоящего специалиста.
Получается, когда одни кричат, что рынок IT переполнен и скоро лопнет от переизбытка, другие заявляют, что не могут найти толкового специалиста в команду, т.к. надо искать иголку в стоге сена 🤔И за эту «иголку» компания всегда готова хорошо платить!
За правильную комбинацию навыков работодатели готовы отдать любые деньги. При необходимости, даже помочь с переездом и дать возможность работать из любой точки мира.
Развитие IT-специалиста можно сравнить с игрой в шахматы.
Изучение и понимание, как ходят фигуры, а в случае аналитика это БД, Интеграции, API, архитектура, Kafka, много всего, и даже нейросети... это все продвигает быстрее по игровому полю к победе.
Все эти навыки — ваше войско ♟️И если, например, величественный ферзь — это понимание REST API, то король — это предводитель — знания об архитектуре. И дорога к ней лежит через ферзя.
В итоге то, как вы ловко управляете «фигурами», ценят и работодатели, и разработчики.
Если заканчиваешь учиться, цель развиваться — Game over. То же самое происходит и с доходом — он перестаёт расти.
А вот когда переходишь из позиции "я борюсь за работу", в позицию, где работодатель борется за тебя и ты диктуешь условия, то где-то здесь начинается волшебство 🙌
Наращивайте ваше войско и учитесь управлять им 😉 Желаю отличных выходных!
🔥56💯10❤9👍4🥱4🤔2
Напоминание для тех, кому актуально разбираться с проектированием БД на продвинутом уровне:
📚 Проектирование распределенных БД
🗓 29 Апреля 2024 в 19:00 Мск
👩🏫 Екатерина Ананьева
План:
1. Базовые понятия архитектуры: сервис-ориентированная (SOA) и микросервисная (MSA).
2. Знакомство с проектом и выделение сущностей.
3. Определение логической и физической моделей БД с разбором примеров по проекту.
4. Практика. Фокус на проектировании физических моделей БД - PostgreSQL.
5. Обзор шаблона постановки задачи на разработчиков.
+ Алгоритмы синхронизации данных.
Сразу после записи на практику доступно последнее актуальное занятие по миграции данных между БД, чтобы сразу было что изучать 🙂
Подробнее о продвинутых практикумах по БД и SQL можно узнать по этой ссылке, или задать вопрос в ЛС @getanalyst.
📚 Проектирование распределенных БД
🗓 29 Апреля 2024 в 19:00 Мск
👩🏫 Екатерина Ананьева
План:
1. Базовые понятия архитектуры: сервис-ориентированная (SOA) и микросервисная (MSA).
2. Знакомство с проектом и выделение сущностей.
3. Определение логической и физической моделей БД с разбором примеров по проекту.
4. Практика. Фокус на проектировании физических моделей БД - PostgreSQL.
5. Обзор шаблона постановки задачи на разработчиков.
+ Алгоритмы синхронизации данных.
Сразу после записи на практику доступно последнее актуальное занятие по миграции данных между БД, чтобы сразу было что изучать 🙂
Подробнее о продвинутых практикумах по БД и SQL можно узнать по этой ссылке, или задать вопрос в ЛС @getanalyst.
👏7🔥4👍3❤2
GetAnalyst - ChatGPT + REST API.pdf
12.6 MB
🤖 ChatGPT, сделай дизайн REST API, пожалуйста 🙏
Технологии захватывают мир и надо быть в тренде.
Как только я узнала про общедоступный Искусственный Интеллект (ИИ) ChatGPT зимой 2022, то сразу же начала внедрять его в свою работу. Достаточно много задач я сейчас решаю с его помощью.
Но. Есть нюансы. Важно обучаться работе с ним, учиться строить запросы, искать рабочие связки инструментов, чтобы он действительно помогал, а не тратил время.
На прошлой неделе я опубликовала пост со статьей, где представлена структура постановки задачи на метод REST API. В нем пообещала разобрать, как сделать постановку задачи на разработчика с помощью этой статьи + ChatGPT.
📄 К статье добавила гайд “ChatGPT: Постановка задачи на REST API”. В нем я показала, как создается наполнение задачи с помощью ИИ.
Посмотреть команды онлайн можно по этой ссылке (возможно вам потребуется VPN, доступно без авторизации в ChatGPT) 🙂
#RestApiGA #SHGA
Технологии захватывают мир и надо быть в тренде.
Как только я узнала про общедоступный Искусственный Интеллект (ИИ) ChatGPT зимой 2022, то сразу же начала внедрять его в свою работу. Достаточно много задач я сейчас решаю с его помощью.
Но. Есть нюансы. Важно обучаться работе с ним, учиться строить запросы, искать рабочие связки инструментов, чтобы он действительно помогал, а не тратил время.
На прошлой неделе я опубликовала пост со статьей, где представлена структура постановки задачи на метод REST API. В нем пообещала разобрать, как сделать постановку задачи на разработчика с помощью этой статьи + ChatGPT.
📄 К статье добавила гайд “ChatGPT: Постановка задачи на REST API”. В нем я показала, как создается наполнение задачи с помощью ИИ.
Посмотреть команды онлайн можно по этой ссылке (возможно вам потребуется VPN, доступно без авторизации в ChatGPT) 🙂
#RestApiGA #SHGA
❤30👍3🔥3
📚 Что почитать и посмотреть по REST API: подборка материалов от GetAnalyst 📚
У нас много новых участников в сообществе 🙌 И…! Вместо того, чтобы рассказывать о себе, я решила сделать для вас подборку из полезных материалов по проектированию REST API. Так вы лучше узнаете меня - Екатерину Ананьеву - не на словах, а на деле 🙂
Материалы расположены по порядку - от простого к сложному. Они помогут вам сделать крутой прорыв в освоении темы и разобраться в сложных вопросах.
(В) Связь базы данных и дизайна REST API
(C) Простыми словами про API
(В) Postman: навык тестирования REST API за вечер
(Т) Проект “Система для автосервиса”: полный разбор от проектирования базы данных до дизайна REST API методов.
Ч 1. Проектирование БД
Ч 2. REST API
(В) Проект “Система для автосервиса” - видео-обучение.
1. Системный анализ проекта с нуля: Сбор бизнес-требований, погружение в контекст
2. Системный анализ для проекта: определение сущностей и проектирование логической модели БД
3. REST API с нуля: дизайн методов для работы менеджера с заявками автосервиса
(C) Postman: Практическое руководство с примером тестирования открытого API
(П) Вопросы и ответы по REST API: собеседование на СА
(С) Мини-книга с подробным разбором формата сообщений JSON
(Т) Разбор проекта “Мобильное приложение G-Food для подсчета калорий”
(В) Собеседование на СА: разбор задачи на асинхронные запросы в REST API
(C) Структура постановки задачи на REST API метод
(Т) Разбор проекта по REST API для системы умного дома Smart Home GA
(П) gRPС vs REST - что выбрать для проекта
(C) Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)
(C) Программирование на Python для системных аналитиков: как сделать REST API с нуля
Также вы можете найти у нас мини-обучения по REST API и практическую программу "Дизайн REST API" для опытных аналитиков.
(В) Видео
(П) Подкасты
(С) Статьи
(Т) Серия Telegram-постов с разбором проекта
Делитесь с коллегами, особенно с джунами и мидлами СА!
Сохранили? ❤️
#RestApiGA
У нас много новых участников в сообществе 🙌 И…! Вместо того, чтобы рассказывать о себе, я решила сделать для вас подборку из полезных материалов по проектированию REST API. Так вы лучше узнаете меня - Екатерину Ананьеву - не на словах, а на деле 🙂
Материалы расположены по порядку - от простого к сложному. Они помогут вам сделать крутой прорыв в освоении темы и разобраться в сложных вопросах.
(В) Связь базы данных и дизайна REST API
(C) Простыми словами про API
(В) Postman: навык тестирования REST API за вечер
(Т) Проект “Система для автосервиса”: полный разбор от проектирования базы данных до дизайна REST API методов.
Ч 1. Проектирование БД
Ч 2. REST API
(В) Проект “Система для автосервиса” - видео-обучение.
1. Системный анализ проекта с нуля: Сбор бизнес-требований, погружение в контекст
2. Системный анализ для проекта: определение сущностей и проектирование логической модели БД
3. REST API с нуля: дизайн методов для работы менеджера с заявками автосервиса
(C) Postman: Практическое руководство с примером тестирования открытого API
(П) Вопросы и ответы по REST API: собеседование на СА
(С) Мини-книга с подробным разбором формата сообщений JSON
(Т) Разбор проекта “Мобильное приложение G-Food для подсчета калорий”
(В) Собеседование на СА: разбор задачи на асинхронные запросы в REST API
(C) Структура постановки задачи на REST API метод
(Т) Разбор проекта по REST API для системы умного дома Smart Home GA
(П) gRPС vs REST - что выбрать для проекта
(C) Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)
(C) Программирование на Python для системных аналитиков: как сделать REST API с нуля
Также вы можете найти у нас мини-обучения по REST API и практическую программу "Дизайн REST API" для опытных аналитиков.
(В) Видео
(П) Подкасты
(С) Статьи
(Т) Серия Telegram-постов с разбором проекта
Делитесь с коллегами, особенно с джунами и мидлами СА!
Сохранили? ❤️
#RestApiGA
👍42❤17🔥12💯4❤🔥3🤔1
🎙 Угадай подкаст 🎙
С этого года появился подкаст GetAnalyst. Пока я выбираю темы к разбору из тех, что меня раньше спрашивали в чатах, важное и актуальное для системных аналитиков.
Недавно были эпизоды по gRPC и REST API с разбором вопросов с собеседований, а следующий эпизод совсем вау! Я большой фанат именно технических тем! 💛
В новом эпизоде будет тема, связанная с нестандартным использованием API. На собеседованиях она может ввести в ступор. А если у вас не было опыта работы с этим механизмом, то скорее всего на вопрос вы не ответите, не решите задачу или уйдёте не в ту степь, как это обычно бывает, если пытаешься ловко выкрутиться из ситуации за счет логики.
Готовилась к записи в обстановке любимого кафе. И подумала, что будет круто, если вы попробуете угадать тему по расплывчатым очертаниям букв на фоне пальм, или интуитивно 😉
Давайте включать креативность!
Выбирать буду двух победителей:
1. кто первый наиболее близко угадает тему нового эпизода до релиза,
2. кто предложит ТОП-тему для нового подкаста. За новые темы в комментариях можно голосовать))
В понедельник подведу итоги. Победителям дам доступы к мини-обучениям в записи под индивидуальный запрос, чтобы было актуально именно для вас (БД, REST API, GraphQL, Интеграции, Архитектура или ChatGPT).
P.S. Из-за ботов чат держим закрытым. Поэтому возможно придется немного подождать аппрув, чтобы сделать комментарий.
Всем креативности и идей, жду ваши комментарии 😊
С этого года появился подкаст GetAnalyst. Пока я выбираю темы к разбору из тех, что меня раньше спрашивали в чатах, важное и актуальное для системных аналитиков.
Недавно были эпизоды по gRPC и REST API с разбором вопросов с собеседований, а следующий эпизод совсем вау! Я большой фанат именно технических тем! 💛
В новом эпизоде будет тема, связанная с нестандартным использованием API. На собеседованиях она может ввести в ступор. А если у вас не было опыта работы с этим механизмом, то скорее всего на вопрос вы не ответите, не решите задачу или уйдёте не в ту степь, как это обычно бывает, если пытаешься ловко выкрутиться из ситуации за счет логики.
Готовилась к записи в обстановке любимого кафе. И подумала, что будет круто, если вы попробуете угадать тему по расплывчатым очертаниям букв на фоне пальм, или интуитивно 😉
Давайте включать креативность!
Пишите комментарии под этот пост:
1 + тему предстоящего эпизода,
2 + тему, которую вы хотели бы увидеть в подкасте как можно скорее.
Выбирать буду двух победителей:
1. кто первый наиболее близко угадает тему нового эпизода до релиза,
2. кто предложит ТОП-тему для нового подкаста. За новые темы в комментариях можно голосовать))
В понедельник подведу итоги. Победителям дам доступы к мини-обучениям в записи под индивидуальный запрос, чтобы было актуально именно для вас (БД, REST API, GraphQL, Интеграции, Архитектура или ChatGPT).
Всем креативности и идей, жду ваши комментарии 😊
👍17❤5🔥1
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
В новом эпизоде разобрана работа механизма вебхуков на примере интеграции между медицинской и страховой системой.
В этом эпизоде вы узнаете, как работают Webhooks, их преимущества по сравнению с традиционными методами опроса, и как их можно использовать для улучшения взаимодействия между медицинскими и страховыми информационными системами.
Актуально для опытных системных и бизнес-аналитиков, кто только знакомится с интеграциями систем или уже давно работает с ними, но еще ни разу не работал с вебхуками.
1:50 - Обсуждение возможных вариантов решения задачи, если вы не знакомы с механизмом вебхуков (Webhooks). Polling и Long Polling и почему.
08:53 - Что такое вебхуки - разбор на примере интеграции медицинской и страховой систем.
10:42 - Как технически реализуется вебхук в рамках интеграции систем, когда в нашу систему-подписчика надо получать уведомления из внешней.
14:54 - Почему механизм Webhooks лучше механизма Polling и других подобных способов опроса внешней системы по таймерам, по расписанию.
20:30 - Как обеспечить работу вебхуков: реализация на стороне системы, которая оповещает о событиях.
26:23 - Почему рекомендуется использовать очереди сообщений (RabbitMQ / Kafka) для рассылки уведомлений о произошедших событиях при реализации вебхуков. Алгоритм реализации обработки сообщений из очереди.
28:47 - Механизм подписки на вебхуки для потребителей уведомлений.
31:05 - Прием вебхуков на стороне системы-подписчика в очередь и последующая их обработка.
32:27 - Про реализацию метода POST для вебхука на стороне системы-подписчика.
36:08 - Больше примеров задач и бизнес-процессов, где нужны вебхуки.
39:49 - Подведение итогов и рекомендации.
🔗 Дополнительные материалы к подкасту
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Castbox
⏯ Spotify
Подписывайтесь, чтобы не пропускать новые эпизоды! 🎙
В этом эпизоде вы узнаете, как работают Webhooks, их преимущества по сравнению с традиционными методами опроса, и как их можно использовать для улучшения взаимодействия между медицинскими и страховыми информационными системами.
Актуально для опытных системных и бизнес-аналитиков, кто только знакомится с интеграциями систем или уже давно работает с ними, но еще ни разу не работал с вебхуками.
1:50 - Обсуждение возможных вариантов решения задачи, если вы не знакомы с механизмом вебхуков (Webhooks). Polling и Long Polling и почему.
08:53 - Что такое вебхуки - разбор на примере интеграции медицинской и страховой систем.
10:42 - Как технически реализуется вебхук в рамках интеграции систем, когда в нашу систему-подписчика надо получать уведомления из внешней.
14:54 - Почему механизм Webhooks лучше механизма Polling и других подобных способов опроса внешней системы по таймерам, по расписанию.
20:30 - Как обеспечить работу вебхуков: реализация на стороне системы, которая оповещает о событиях.
26:23 - Почему рекомендуется использовать очереди сообщений (RabbitMQ / Kafka) для рассылки уведомлений о произошедших событиях при реализации вебхуков. Алгоритм реализации обработки сообщений из очереди.
28:47 - Механизм подписки на вебхуки для потребителей уведомлений.
31:05 - Прием вебхуков на стороне системы-подписчика в очередь и последующая их обработка.
32:27 - Про реализацию метода POST для вебхука на стороне системы-подписчика.
36:08 - Больше примеров задач и бизнес-процессов, где нужны вебхуки.
39:49 - Подведение итогов и рекомендации.
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Castbox
⏯ Spotify
Подписывайтесь, чтобы не пропускать новые эпизоды! 🎙
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥8👍3🥰1💯1
Какая цель? 🎯
Это мой обязательный вопрос перед тем, как коллеги попадают к нам на практические программы в GetAnalyst. Обучение ради галочки не нужно ни мне, ни вам. А мы еще заставляем думать, практиковаться и совершать ошибки.
Вот список ваших целей, которые реально мотивируют на результаты:
◾️Хочется сменить проект, но на текущем месте работы нет возможности получить нужный опыт
◾️Хочу освоить навык, чтобы меня повысили в ЗП
◾️Структурировать знания
◾️Обновить резюме и пополнить его новыми навыками
◾️Освоить новые инструменты
В то же время компании выбирают обучение для своих сотрудников, чтобы удержать за счет роста внутри, повысить качество работы, внедрить корпоративную культуру и снизить количество ошибок разработки, которые влияют на стоимость проектов. Да и вообще, найм - это дорого.
Моя цель - доводить вас до результатов. Поэтому любое обучение я начинаю с постановки целей, чтобы вы осознанно подходили к процессу, а не делали это ради галочки.
Помните, с любой темой можно всегда разобраться самостоятельно. В среднем на это уходит от 6 месяцев до 1 года. А когда начинаешь делать практику и работать с реальными задачами, то могут всплыть все нюансы, которые ранее не нашел и не учел. И это тоже хороший подход.
А если вам нужна поддержка, структура, важен срок и вы сейчас думаете о получении опыта в REST API, то до первого онлайн-занятия 6 мая, вы еще можете успеть присоединиться на практическую программу Дизайн REST API.
В течение 2-х месяцев мы будем работать над проектом с нуля до результата: переноса разработанных методов из документации Confluence в интерактивную документацию Postman и Swagger 🤩
Профессиональный рост и интересные проекты начинаются с обучения. Я верю в вас и всегда готова поддержать ❤️
Делайте смелые шаги в своем развитии. Любыми способами! Всё получится! 🚀
Это мой обязательный вопрос перед тем, как коллеги попадают к нам на практические программы в GetAnalyst. Обучение ради галочки не нужно ни мне, ни вам. А мы еще заставляем думать, практиковаться и совершать ошибки.
Вот список ваших целей, которые реально мотивируют на результаты:
◾️Хочется сменить проект, но на текущем месте работы нет возможности получить нужный опыт
◾️Хочу освоить навык, чтобы меня повысили в ЗП
◾️Структурировать знания
◾️Обновить резюме и пополнить его новыми навыками
◾️Освоить новые инструменты
В то же время компании выбирают обучение для своих сотрудников, чтобы удержать за счет роста внутри, повысить качество работы, внедрить корпоративную культуру и снизить количество ошибок разработки, которые влияют на стоимость проектов. Да и вообще, найм - это дорого.
Моя цель - доводить вас до результатов. Поэтому любое обучение я начинаю с постановки целей, чтобы вы осознанно подходили к процессу, а не делали это ради галочки.
Помните, с любой темой можно всегда разобраться самостоятельно. В среднем на это уходит от 6 месяцев до 1 года. А когда начинаешь делать практику и работать с реальными задачами, то могут всплыть все нюансы, которые ранее не нашел и не учел. И это тоже хороший подход.
А если вам нужна поддержка, структура, важен срок и вы сейчас думаете о получении опыта в REST API, то до первого онлайн-занятия 6 мая, вы еще можете успеть присоединиться на практическую программу Дизайн REST API.
В течение 2-х месяцев мы будем работать над проектом с нуля до результата: переноса разработанных методов из документации Confluence в интерактивную документацию Postman и Swagger 🤩
Профессиональный рост и интересные проекты начинаются с обучения. Я верю в вас и всегда готова поддержать ❤️
Делайте смелые шаги в своем развитии. Любыми способами! Всё получится! 🚀
👍10❤4🔥3
📌 Новый проект TelMed: от монолита к микросервисам 📌
Проект "TelMed" - платформа для оказания услуг телемедицины (онлайн приемы к врачу), которая позволит обеспечить удобный и безопасный доступ к медицинским услугам для пациентов вне зависимости от их местоположения.
Для пациентов необходимо будет разработать мобильные и веб-приложение. Для врачей аналогично. Также необходимо будет создать приложения для менеджеров по работе с клиентами, тех-поддержки и администратора системы.
Основная функциональность:
🔸1. ЛК Пациента
Регистрация пациентов. Хранение персональных данных и медицинской истории, включая болезни, диагнозы, лечение, результаты анализов.
🔸2. Запись на прием
Поиск врачей, планирование и отслеживание консультаций, с уведомлением пациентов по всем доступным каналам связи: телефон, почта, push.
🔸3. Учет оборудования для сбора и анализа медицинских показателей
Управление заказом и доставкой дополнительного оборудования. Заказ и доставка на период проведение консультации, в зависимости от вида услуги.
🔸4. Проведение онлайн-консультаций
Защищенная видеосвязь в реальном времени. Чат и возможность обмена документами во время консультации. Интеграция с диагностическими инструментами для сбора и анализа медицинских показателей в реальном времени
🔸5. Аптечные услуги
Создание электронных рецептов. Мониторинг наличия лекарств в партнерской сети аптек, их резервирование или заказ. Управление доставкой лекарств.
🔸6. Анализы
Выдача направлений на анализы. Автоматическое получение результатов.
🔸7. Платежи
Подключение платежной системы.
🔸8. ЛК Врача
Профили врачей и настройка доступного времени для консультаций.
Важно обеспечить защиту данных согласно медицинским стандартам и законодательству.
Это новый проект. С чего начать?
Если по бизнесу уже разобрались, ФТ и НФТ сделали, то теперь надо определиться с архитектурой. Монолит или микросервисы? Будем разбираться в этих темах и исследовать варианты.
Welcome to the new GetAnalyst project!
#АрхитектураGA #TelMed
Проект "TelMed" - платформа для оказания услуг телемедицины (онлайн приемы к врачу), которая позволит обеспечить удобный и безопасный доступ к медицинским услугам для пациентов вне зависимости от их местоположения.
Для пациентов необходимо будет разработать мобильные и веб-приложение. Для врачей аналогично. Также необходимо будет создать приложения для менеджеров по работе с клиентами, тех-поддержки и администратора системы.
Основная функциональность:
🔸1. ЛК Пациента
Регистрация пациентов. Хранение персональных данных и медицинской истории, включая болезни, диагнозы, лечение, результаты анализов.
🔸2. Запись на прием
Поиск врачей, планирование и отслеживание консультаций, с уведомлением пациентов по всем доступным каналам связи: телефон, почта, push.
🔸3. Учет оборудования для сбора и анализа медицинских показателей
Управление заказом и доставкой дополнительного оборудования. Заказ и доставка на период проведение консультации, в зависимости от вида услуги.
🔸4. Проведение онлайн-консультаций
Защищенная видеосвязь в реальном времени. Чат и возможность обмена документами во время консультации. Интеграция с диагностическими инструментами для сбора и анализа медицинских показателей в реальном времени
🔸5. Аптечные услуги
Создание электронных рецептов. Мониторинг наличия лекарств в партнерской сети аптек, их резервирование или заказ. Управление доставкой лекарств.
🔸6. Анализы
Выдача направлений на анализы. Автоматическое получение результатов.
🔸7. Платежи
Подключение платежной системы.
🔸8. ЛК Врача
Профили врачей и настройка доступного времени для консультаций.
Важно обеспечить защиту данных согласно медицинским стандартам и законодательству.
Это новый проект. С чего начать?
Если по бизнесу уже разобрались, ФТ и НФТ сделали, то теперь надо определиться с архитектурой. Монолит или микросервисы? Будем разбираться в этих темах и исследовать варианты.
Welcome to the new GetAnalyst project!
#АрхитектураGA #TelMed
❤30👍14🔥4❤🔥1
🪨 Монолитная архитектура и ее особенности 🪨
Монолитная архитектура – это подход к разработке программного обеспечения, при котором все компоненты приложения объединены в единый и неделимый блок, называемый монолитом.
В такой архитектуре вся функциональность приложения, включая:
+ интерфейс пользователя (UI),
+ базу данных (БД),
+ бизнес-логику (алгоритмы обработки данных),
обычно реализуется внутри одного приложения и работает как единое целое. Весь код в одном месте.
Проще говоря, когда вы ставите задачу на программиста, то вы не задумываетесь о понятиях Backend-Frontend, клиент-сервер, с мобильными приложениями не работаете. Системный аналитик в таких проектах занимается описанием экранов и алгоритмов обработки данных, ставит ОДНУ ЗАДАЧУ НА ОДНОГО ПРОГРАММИСТА (full-stack), который делает всё. Идеально начинать карьеру в таких проектах и из них расти дальше.
Но UI+БД+Логика - это прям жесткий монолит 😢 Есть другой вариант монолитной архитектуры, когда это касается только сервера.
Из-за наличия мобильных приложений, которым проблематично напрямую делать SQL-запросы в БД, UI начали активно выносить из этого жесткого монолита. И сейчас аналитики как правило делают задачи отдельно на UI (Frontend / Mobile), и отдельно на API+БД (Backend). При этом проект может всё еще оставться монолитным в части сервера, так как вся-вся логика обработки данных лежит в одном месте, а все данные в одной БД.
Монолиты хороши для небольших проектов и стартапов 🙌
Но когда мы говорим о высоконагруженных многопользовательских системах, таких как системы бронирования билетов на самолеты. маркетплейсы, социальные сети, платформы для обучения и другие, которыми ежедневно пользуются сотни тысяч или даже миллионы человек, то развивать проект в монолитной архитектуре становится болью для всей команды.
Почему монолиты приносят страдания для больших проектов? Расскажу в следующем посте 👇
#АрхитектураGA
Монолитная архитектура – это подход к разработке программного обеспечения, при котором все компоненты приложения объединены в единый и неделимый блок, называемый монолитом.
В такой архитектуре вся функциональность приложения, включая:
+ интерфейс пользователя (UI),
+ базу данных (БД),
+ бизнес-логику (алгоритмы обработки данных),
обычно реализуется внутри одного приложения и работает как единое целое. Весь код в одном месте.
Проще говоря, когда вы ставите задачу на программиста, то вы не задумываетесь о понятиях Backend-Frontend, клиент-сервер, с мобильными приложениями не работаете. Системный аналитик в таких проектах занимается описанием экранов и алгоритмов обработки данных, ставит ОДНУ ЗАДАЧУ НА ОДНОГО ПРОГРАММИСТА (full-stack), который делает всё. Идеально начинать карьеру в таких проектах и из них расти дальше.
Но UI+БД+Логика - это прям жесткий монолит 😢 Есть другой вариант монолитной архитектуры, когда это касается только сервера.
Из-за наличия мобильных приложений, которым проблематично напрямую делать SQL-запросы в БД, UI начали активно выносить из этого жесткого монолита. И сейчас аналитики как правило делают задачи отдельно на UI (Frontend / Mobile), и отдельно на API+БД (Backend). При этом проект может всё еще оставться монолитным в части сервера, так как вся-вся логика обработки данных лежит в одном месте, а все данные в одной БД.
Монолиты хороши для небольших проектов и стартапов 🙌
Но когда мы говорим о высоконагруженных многопользовательских системах, таких как системы бронирования билетов на самолеты. маркетплейсы, социальные сети, платформы для обучения и другие, которыми ежедневно пользуются сотни тысяч или даже миллионы человек, то развивать проект в монолитной архитектуре становится болью для всей команды.
Почему монолиты приносят страдания для больших проектов? Расскажу в следующем посте 👇
#АрхитектураGA
👍17❤4🥱1
✖️ Проблемы монолита с примерами по проекту ✖️
🔺1. Масштабируемость
Добавление новых функций и рост пользователей требуют больше затрат на серверные мощности: память, ядра процессора и другие.
> Добавляем интеграцию с лабораторией анализов - из-за новых функций может возрастать количество ресурсов, используемых на сервере.
> Планируется повышение нагрузки на приложение в 2 раза из-за новой рекламной акции: надо запустить еще несколько копий ВСЕГО такого же огромного монолита, к уже работающим параллельно копиям приложения. В архитектуре с сервисами добавить копии можно было бы только на основной сервис поиска врачей, который будут “атаковать” в процессе рекламы.
🔺2. Сложность поддержки и развертывания
Бывает, что приходится полностью останавливать работу системы в процессе обновлений. Это почти недопустимо в современных системах. Важно работать 24/7, чтобы обеспечивать высокий уровень сервиса.
> В существующем методе оплаты нужно поменять алгоритм - в результате оплаты сохранять код оплаты. Маленькая задача. В условиях монолита, что выпустить обновление на прод. придётся весь сервер обновить. В условиях сервисов - только маленький сервис платежей, который бы не блокировал поиск докторов и другие важные функции системы.
🔺3. Сложность масштабирования команды
Приходя в проект, аналитики, разработчики и тестировщики должны узнать очень много обо всех частях системы, чтобы не вредить ей при развитии и знать, как очередная маленькая функция, может задеть 100 существующих.
Для аналитиков полноценное погружение в проект может занимать от 3-х месяцев до года. И к концу испытательного срока вы все еще можете допускать ошибки проектирования и продолжать исследования дальше. Это считается нормой в монолитах.
В условиях архитектуры с сервисами аналитику часто достаточно знать только про свои сервисы и его БД, а также про API связанных сервисов внутри проекта и API внешних систем.
🔺4. Единая точка отказа
Монолит ломается целиком.
Из-за отказа в работе основной и единственной БД, возникает остановка работы всей системы. Напротив, в сервисной архитектуре, остановят работу только те сервисы, которые работают с этой БД.
🔺5. Гибкость и инновации
Затрудняется внедрение новых технологий и подходов в разработке, что делает больно разработчикам.
Высококвалифицированные специалисты редко идут в такие проекты, так как им не хочется деградировать и поддерживать легаси код (написанный на старой версии языка, с использованием устаревшего фреймворка, без документации).
Я тоже всегда избегала таких проектов, т.к. знала, что уровень команды, с которой предстоит работать, будет низкий, и я не смогу развиваться - не будет возможности пробовать новое, спрашивать коллег и расти.
Это основные проблемы монолитной архитектуры 😔
Но в ней есть и очень много плюсов:
+ легкость в разработке
+ не нужна супер-опытная команда
+ нет проблем в синхронизации данных, которые распределены по разным БД
+ легче устанавливать проект на сервере
Она идеальна для стартапов! 🚀
Монолит - это не плохо. Его можно сделать архитектурно красивым, и с ним будет интересно и приятно работать 🙌 Но всё зависит от опыта программистов, архитекторов и аналитиков, которые участвуют в разработке.
Вопрос про недостатки монолитов важно знать, если предстоит сотрудничество с архитекторами. А также он есть среди подборок теоретических вопросов для собеседований на СА.
Сохраняем этот пост с примерами в своей памяти, чтобы быть готовыми к развернутым ответам 🙂
#АрхитектураGA #TelMedGA
🔺1. Масштабируемость
Добавление новых функций и рост пользователей требуют больше затрат на серверные мощности: память, ядра процессора и другие.
> Добавляем интеграцию с лабораторией анализов - из-за новых функций может возрастать количество ресурсов, используемых на сервере.
> Планируется повышение нагрузки на приложение в 2 раза из-за новой рекламной акции: надо запустить еще несколько копий ВСЕГО такого же огромного монолита, к уже работающим параллельно копиям приложения. В архитектуре с сервисами добавить копии можно было бы только на основной сервис поиска врачей, который будут “атаковать” в процессе рекламы.
🔺2. Сложность поддержки и развертывания
Бывает, что приходится полностью останавливать работу системы в процессе обновлений. Это почти недопустимо в современных системах. Важно работать 24/7, чтобы обеспечивать высокий уровень сервиса.
> В существующем методе оплаты нужно поменять алгоритм - в результате оплаты сохранять код оплаты. Маленькая задача. В условиях монолита, что выпустить обновление на прод. придётся весь сервер обновить. В условиях сервисов - только маленький сервис платежей, который бы не блокировал поиск докторов и другие важные функции системы.
🔺3. Сложность масштабирования команды
Приходя в проект, аналитики, разработчики и тестировщики должны узнать очень много обо всех частях системы, чтобы не вредить ей при развитии и знать, как очередная маленькая функция, может задеть 100 существующих.
Для аналитиков полноценное погружение в проект может занимать от 3-х месяцев до года. И к концу испытательного срока вы все еще можете допускать ошибки проектирования и продолжать исследования дальше. Это считается нормой в монолитах.
В условиях архитектуры с сервисами аналитику часто достаточно знать только про свои сервисы и его БД, а также про API связанных сервисов внутри проекта и API внешних систем.
🔺4. Единая точка отказа
Монолит ломается целиком.
Из-за отказа в работе основной и единственной БД, возникает остановка работы всей системы. Напротив, в сервисной архитектуре, остановят работу только те сервисы, которые работают с этой БД.
🔺5. Гибкость и инновации
Затрудняется внедрение новых технологий и подходов в разработке, что делает больно разработчикам.
Высококвалифицированные специалисты редко идут в такие проекты, так как им не хочется деградировать и поддерживать легаси код (написанный на старой версии языка, с использованием устаревшего фреймворка, без документации).
Я тоже всегда избегала таких проектов, т.к. знала, что уровень команды, с которой предстоит работать, будет низкий, и я не смогу развиваться - не будет возможности пробовать новое, спрашивать коллег и расти.
Это основные проблемы монолитной архитектуры 😔
Но в ней есть и очень много плюсов:
+ легкость в разработке
+ не нужна супер-опытная команда
+ нет проблем в синхронизации данных, которые распределены по разным БД
+ легче устанавливать проект на сервере
Она идеальна для стартапов! 🚀
Монолит - это не плохо. Его можно сделать архитектурно красивым, и с ним будет интересно и приятно работать 🙌 Но всё зависит от опыта программистов, архитекторов и аналитиков, которые участвуют в разработке.
Вопрос про недостатки монолитов важно знать, если предстоит сотрудничество с архитекторами. А также он есть среди подборок теоретических вопросов для собеседований на СА.
Сохраняем этот пост с примерами в своей памяти, чтобы быть готовыми к развернутым ответам 🙂
#АрхитектураGA #TelMedGA
❤21👍8🔥5