Всем привет! 👋
Рассказывать истории проектной команде – это отличный способ спроектировать качественный, а главное нужный продукт 😎
О каких историях речь?
Разбираемся в карусели!💃
#hardGetAnalyst
Рассказывать истории проектной команде – это отличный способ спроектировать качественный, а главное нужный продукт 😎
О каких историях речь?
Разбираемся в карусели!
#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥4👌1
Forwarded from GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
При проектировании REST API есть два места, на которые мы активно смотрим:
👉 Потребности клиента.
Это дизайн экранов или требовани от внешних систем, котрые будут подключаться к нам, чтобы получать данные.
Отсюда мы получаем информацию ЧТО нам нужно вернуть в ответе API или записать в БД.
👉 БД нашей системы.
Мы можем вернуть клиенту API только те данные, которые хранятся в БД, которые могут быть получены с помощью интеграций или расчитаны алгоритмом внутри системы.
На основе модели БД мы получаем ориентир - В КАКОЙ СТРУКТУРЕ данные могут быть представлены в формате JSON.
Поэтому понимание БД проекта важно перед началом работы с дизайном методов REST API.
А подробнее про то, как строить JSON-структуры на основе БД рассказыаю здесь 🔗
👉 Потребности клиента.
Это дизайн экранов или требовани от внешних систем, котрые будут подключаться к нам, чтобы получать данные.
Отсюда мы получаем информацию ЧТО нам нужно вернуть в ответе API или записать в БД.
👉 БД нашей системы.
Мы можем вернуть клиенту API только те данные, которые хранятся в БД, которые могут быть получены с помощью интеграций или расчитаны алгоритмом внутри системы.
На основе модели БД мы получаем ориентир - В КАКОЙ СТРУКТУРЕ данные могут быть представлены в формате JSON.
Поэтому понимание БД проекта важно перед началом работы с дизайном методов REST API.
А подробнее про то, как строить JSON-структуры на основе БД рассказыаю здесь 🔗
YouTube
Связь базы данных и дизайна REST API / Вебинар 17.02.2022
На вебинаре сделали модель базы данных и дизайн REST API:
— построили логическую модель базы данных
— описали JSON-объекты и методы REST API
— разобрали, какие бывают ошибки и как их избежать
Бесплатные вебинары GetAnalyst:
https://getanalyst.ru/events
…
— построили логическую модель базы данных
— описали JSON-объекты и методы REST API
— разобрали, какие бывают ошибки и как их избежать
Бесплатные вебинары GetAnalyst:
https://getanalyst.ru/events
…
👍6❤2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
РЕБЯТА, НЕ СТРЕССУЕМ!
Пятница же. А когда работа в удовольствие – каждый день, как пятница 🥰
Пятница же. А когда работа в удовольствие – каждый день, как пятница 🥰
😁13
Любая система или ПО состоит из разных элементов, каждый из которых выполняет свою уникальную роль и функцию. Понять, как устроена система изнутри, поможет описание её архитектуры.
Архитектура системы — это концептуальное описание организации, которое определяет содержание и взаимосвязи находящихся внутри системы компонентов.
💁 Проектирование архитектуры — это один из первых и важнейших этапов при создании любой системы. Неправильно выстроенная архитектура способна создать множество проблем для сопровождения, развития и масштабирования продукта.
Наиболее популярны два основных вида архитектур: монолитная и микросервисная.
Популярность микросервисной архитектуры в последнее время быстро растёт, и всё чаще крупные компании отказываются от монолитной организации продуктов. Но монолитную концепцию нельзя при этом назвать устаревшей: в каких-то случаях она прекрасно работает и некоторые большие компании всё ещё держат монолитные ПО. Такая архитектура полезна на начальной стадии продукта, монолит идеально подходит стартапам, которым очень важно быстро запустить продукт.
Микросервисы очень популярны и хороши, но они подходят не для всех ПО. Такая архитектура подходит сложным системам, которые должны быть гибкими и масштабируемыми.
☝️ Вопросы про виды архитектуры очень часто задают на собеседованиях на аналитиков, разработчиков и тестировщиков уровня junior. Поэтому чтобы вы чувствовали себя увереннее на встречах с потенциальным работодателем, эту неделю посвятим теме архитектуры и проектированию баз данных.
Ну а затем КВИЗанём полученные знания, чтобы закрепить теорию 😉✨
#hardGetAnalyst
Архитектура системы — это концептуальное описание организации, которое определяет содержание и взаимосвязи находящихся внутри системы компонентов.
💁 Проектирование архитектуры — это один из первых и важнейших этапов при создании любой системы. Неправильно выстроенная архитектура способна создать множество проблем для сопровождения, развития и масштабирования продукта.
Наиболее популярны два основных вида архитектур: монолитная и микросервисная.
Популярность микросервисной архитектуры в последнее время быстро растёт, и всё чаще крупные компании отказываются от монолитной организации продуктов. Но монолитную концепцию нельзя при этом назвать устаревшей: в каких-то случаях она прекрасно работает и некоторые большие компании всё ещё держат монолитные ПО. Такая архитектура полезна на начальной стадии продукта, монолит идеально подходит стартапам, которым очень важно быстро запустить продукт.
Микросервисы очень популярны и хороши, но они подходят не для всех ПО. Такая архитектура подходит сложным системам, которые должны быть гибкими и масштабируемыми.
☝️ Вопросы про виды архитектуры очень часто задают на собеседованиях на аналитиков, разработчиков и тестировщиков уровня junior. Поэтому чтобы вы чувствовали себя увереннее на встречах с потенциальным работодателем, эту неделю посвятим теме архитектуры и проектированию баз данных.
Ну а затем КВИЗанём полученные знания, чтобы закрепить теорию 😉
#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍3😁1
✨ ПРО МОНОЛИТНУЮ АРХИТЕКТУРУ ✨
В такой концепции ПО разные компоненты приложения объединяются в одну программу. Монолитное приложение, как правило, состоит из:
- базы данных, где хранится вся информация, используемая в расчётах и работе ПО,
- клиентского пользовательского интерфейса,
- алгоритмов и расчётов, находящихся на сервере.
Далее поговорим про плюсы и минусы монолитной архитектуры.
ПЛЮСЫ:
🟢 ПО с такой архитектурой быстрее разрабатывать и развёртывать
Разработчикам не нужно развёртывать изменения или обновления по отдельности, это экономит время.
🟢 Лучшая производительность
При правильной сборке монолитное ПО производительнее микросервисного за счёт того, что монолит обеспечивает более быструю связь между программными компонентами благодаря общему коду и памяти.
🟢 Меньше проблем с сопровождением
Благодаря единой кодовой базе ПО легче взаимодействует с инструментами, например с ведением логов и историчности.
МИНУСЫ:
🟣 Если происходит сбой, это оказывает влияние на всю систему.
🟣 Кодовая база становится очень большой и громоздкой.
По мере развития ПО и роста количества кода, его структура становится размытой, код сложно понимать и находить зависимости в случае сбоев и отклонений в работе ПО. Также при доработке в одном месте можно получить проблему в другом.
🟣 Сложность внедрения новых технологий.
Чтобы добавить новую технологию, нужно переписать всю программу, что является очень трудоёмким и дорогим процессом.
Продолжение завтра🫡
В такой концепции ПО разные компоненты приложения объединяются в одну программу. Монолитное приложение, как правило, состоит из:
- базы данных, где хранится вся информация, используемая в расчётах и работе ПО,
- клиентского пользовательского интерфейса,
- алгоритмов и расчётов, находящихся на сервере.
Далее поговорим про плюсы и минусы монолитной архитектуры.
ПЛЮСЫ:
Разработчикам не нужно развёртывать изменения или обновления по отдельности, это экономит время.
При правильной сборке монолитное ПО производительнее микросервисного за счёт того, что монолит обеспечивает более быструю связь между программными компонентами благодаря общему коду и памяти.
Благодаря единой кодовой базе ПО легче взаимодействует с инструментами, например с ведением логов и историчности.
МИНУСЫ:
По мере развития ПО и роста количества кода, его структура становится размытой, код сложно понимать и находить зависимости в случае сбоев и отклонений в работе ПО. Также при доработке в одном месте можно получить проблему в другом.
Чтобы добавить новую технологию, нужно переписать всю программу, что является очень трудоёмким и дорогим процессом.
Продолжение завтра
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4❤2👎1
✨ ПРО МИКРОСЕРВИСНУЮ АРХИТЕКТУРУ ✨
При такой архитектуре разработчики делят большую монолитную систему на маленькие кусочки — микросервисы. Сервисы не оказывают влияния друг на друга, а значит, риск навредить одному сервису в процессе доработки другого минимален.
Микросервисы — это маленькие программы, которые живут на своём сервере и выполняют только свои определённые виды задач.
Например, такой программой может быть микросервис по авторизации, который решает, пускать пользователя в систему или нет. Многие продукты зарождаются на монолите, а затем перерастают в микросервисную архитектуру.
🥷: Кстати говоря, Netflix, Amazon, Twitter, eBay и PayPal эволюционировали из монолита в микросервисы.
Каждый микросервис также может состоять из базы данных, клиентского пользовательского интерфейса и бэкенд-логики на сервере.
Но микросервисы - это не универсальное решение и сейчас разберём, почему. Начнём с плюсов.
ПЛЮСЫ:
🟢 Возможность разгрузить систему, распределив нагрузку на микросервисы
🟢 Отдельные сервисы выполняют свои уникальные функции и в случае сбоя в одном из них приложение не остановит свою работу полностью.
Например, если на сайте магазина одежды с микросервисной архитектурой сломалась поисковая функция для товаров, то это не заблокирует пользователю возможность просматривать одежду, добавлять её в корзину и оформлять заказ.
🟢 При помощи микросервисов несколько разных команд могут быстро работать над разными сервисами независимо друг от друга.
🟢 Каждый микросервис можно масштабировать отдельно, что позволяет легко увеличивать производительность системы.
МИНУСЫ:
🟣 Сложность проектирования
Такое ПО требует очень тщательного планирования, огромных усилий, ресурсов и навыков. Согласованность данных и управление транзакциями становятся сложнее, потому что каждый сервис имеет свою базу данных.
🟣 Угрозы безопасности ПО.
Поскольку становится больше таких микросервисов, которые могут общаться с внешними источниками, повышается вероятность атаки злоумышленников.
🟣 Разнородность языков программирования.
Когда разные сервисы написаны на разных языках, становится сложнее развертывать приложение. А ещё самим разработчикам приходится переключаться между этапами разработки с одного на другой язык.
Ну как-то так.
Завтра планируем запустить КВИЗ, но хочется понять, нужны ли какие-то пояснения к теории или вы готовы проверить свои знания?
Ставьте реакции:
👍 - готовы к КВИЗу!
👀 - ничего непонятно, но очень интересно!
При такой архитектуре разработчики делят большую монолитную систему на маленькие кусочки — микросервисы. Сервисы не оказывают влияния друг на друга, а значит, риск навредить одному сервису в процессе доработки другого минимален.
Микросервисы — это маленькие программы, которые живут на своём сервере и выполняют только свои определённые виды задач.
Например, такой программой может быть микросервис по авторизации, который решает, пускать пользователя в систему или нет. Многие продукты зарождаются на монолите, а затем перерастают в микросервисную архитектуру.
🥷: Кстати говоря, Netflix, Amazon, Twitter, eBay и PayPal эволюционировали из монолита в микросервисы.
Каждый микросервис также может состоять из базы данных, клиентского пользовательского интерфейса и бэкенд-логики на сервере.
Но микросервисы - это не универсальное решение и сейчас разберём, почему. Начнём с плюсов.
ПЛЮСЫ:
Например, если на сайте магазина одежды с микросервисной архитектурой сломалась поисковая функция для товаров, то это не заблокирует пользователю возможность просматривать одежду, добавлять её в корзину и оформлять заказ.
МИНУСЫ:
Такое ПО требует очень тщательного планирования, огромных усилий, ресурсов и навыков. Согласованность данных и управление транзакциями становятся сложнее, потому что каждый сервис имеет свою базу данных.
Поскольку становится больше таких микросервисов, которые могут общаться с внешними источниками, повышается вероятность атаки злоумышленников.
Когда разные сервисы написаны на разных языках, становится сложнее развертывать приложение. А ещё самим разработчикам приходится переключаться между этапами разработки с одного на другой язык.
Ну как-то так.
Завтра планируем запустить КВИЗ, но хочется понять, нужны ли какие-то пояснения к теории или вы готовы проверить свои знания?
Ставьте реакции:
👍 - готовы к КВИЗу!
👀 - ничего непонятно, но очень интересно!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29👎1
ИТАК, КВИЗ! 😮
Ранее мы познакомились с вами с различными видами архитектуры. Пришло время проверить свои знания🙃
КВИЗ будет состоять из двух частей:
- в первой части мы предложим несколько высказываний, которые относятся к какому-то виду архитектуры,
- во второй части вы получите описание условий, в рамках которых необходимо определиться с наиболее подходящим видом архитектуры.
Не переживайте – вы справитесь! Но чтобы улучшить свой результат, рекомендуем ещё раз прочитать теорию из постов выше⬆️
Как только наберём 20🔥 на этом посте, запустим КВИЗ!😘
#quizGetAnalyst
Ранее мы познакомились с вами с различными видами архитектуры. Пришло время проверить свои знания
КВИЗ будет состоять из двух частей:
- в первой части мы предложим несколько высказываний, которые относятся к какому-то виду архитектуры,
- во второй части вы получите описание условий, в рамках которых необходимо определиться с наиболее подходящим видом архитектуры.
Не переживайте – вы справитесь! Но чтобы улучшить свой результат, рекомендуем ещё раз прочитать теорию из постов выше
Как только наберём 20🔥 на этом посте, запустим КВИЗ!
#quizGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40
1. В ПО с таким видом архитектуры проще вносить изменения нескольким одновременно работающих разработчиков.
Anonymous Quiz
6%
Монолитная
94%
Микросервисная
2. Приложение с такой архитектурой на этапе создания можно быстрее ввести в эксплуатацию сразу с полноценным набором возможностей.
Anonymous Quiz
85%
Монолитная
15%
Микросервисная
3. При такой архитектуре приложение распределяет нагрузку по обособленным компонентам, которые выполняют свои типовые задачи.
Anonymous Quiz
1%
Монолитная
99%
Микросервисная
4. Приложение, которое базируется на этом виде архитектуры, развивается и дорабатывается по единой технологии и не может быть написано на разных языках программирования.
Anonymous Quiz
99%
Монолитная
1%
Микросервисная
5. Чтобы добавить новую технологию в такое приложение, нужно внести изменения во всю программу. Иными словами практически переписать её.
Anonymous Quiz
100%
Монолитная
0%
Микросервисная
👍1
6. В случае сбоя в одной из частей ПО, программа не остановит свою работу полностью.
Anonymous Quiz
6%
Монолитная
94%
Микросервисная
👍1
КЕЙС 1:
Нужно создать приложение по доставке продуктов на дом, в котором пользователь сможет наполнять корзину, оформлять доставку, оплачивать заказ и просматривать предложения со скидками. Важно, чтобы в случае поломки какого-либо функционала покупатель смог продолжить работу с другими функциями приложения. Например, собрать корзину, а оплатить заказ позже. Либо не увидеть акционные товары, но всё ещё иметь возможность оформить доставку заказов.
Нужно создать приложение по доставке продуктов на дом, в котором пользователь сможет наполнять корзину, оформлять доставку, оплачивать заказ и просматривать предложения со скидками. Важно, чтобы в случае поломки какого-либо функционала покупатель смог продолжить работу с другими функциями приложения. Например, собрать корзину, а оплатить заказ позже. Либо не увидеть акционные товары, но всё ещё иметь возможность оформить доставку заказов.
Какой вид архитектуры лучше использовать для этого кейса?
Anonymous Quiz
3%
Монолитная
97%
Микросервисная
КЕЙС 2:
Необходимо реализовать простое по функциональным возможностям приложение-калькулятор, которое поможет пользователям после ввода параметров роста, веса и обхватов быстро получать информацию о подходящих размерах одежды в различных форматах (RUS, INT, EU, IT и другие).
Необходимо реализовать простое по функциональным возможностям приложение-калькулятор, которое поможет пользователям после ввода параметров роста, веса и обхватов быстро получать информацию о подходящих размерах одежды в различных форматах (RUS, INT, EU, IT и другие).
Какой вид архитектуры лучше использовать для этого кейса?
Anonymous Quiz
97%
Монолитная
3%
Микросервисная
❤1
Forwarded from GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
💫 Личный опыт: как стать системным аналитиком 💫
Привет!
Мы долго к этому шли и пришли 😎 Ура! Первый эпизод подкаста GetAnalyst - Released! 🎉
Пол года подготовки, как моральной, так и техническо-организационной, и теперь мы готовы стабильно выпускать эпизоды раз в неделю 💫
В первом эпизоде делюсь своим личным опытом в IT и рассказываю, как пришла в системный анализ и нашла свою первую работу.
Обсуждается профессия системного аналитика: роль, задачи и путь к карьерному росту.
0:50 - Екатерина Ананьева и сообщество GetAnalyst
4:00 - Кто такой системный аналитик
8:10 - Процесс работы с рабочими задачами
19:10 - Как Екатерина выбрала системный анализ. О мечтах и "Я тоже могу"
23:25 - Поиск работы и портфолио аналитика: первое предложение о работе junior-системному аналитику
37:55 - Почему был создан проект GetAnalyst
40:25 - Идея подкаста GetAnalyst, пожелания и рекомендации подписчикам
Эпизод доступен в:
⏯ Apple Podcast
⏯ Spotify
⏯ Amazon Music
⏯ Telegram
🔗 Обратная связь и предложения
*Яндекс.Музыка, YouTube (будут выпуски с видео-сопровождением) и Google.Podast в процессе. Ссылки добавим.
Подписывайтесь на платформах! Делитесь с коллегами и начинающими системными аналитиками! 🙌
Привет!
Мы долго к этому шли и пришли 😎 Ура! Первый эпизод подкаста GetAnalyst - Released! 🎉
Пол года подготовки, как моральной, так и техническо-организационной, и теперь мы готовы стабильно выпускать эпизоды раз в неделю 💫
В первом эпизоде делюсь своим личным опытом в IT и рассказываю, как пришла в системный анализ и нашла свою первую работу.
Обсуждается профессия системного аналитика: роль, задачи и путь к карьерному росту.
0:50 - Екатерина Ананьева и сообщество GetAnalyst
4:00 - Кто такой системный аналитик
8:10 - Процесс работы с рабочими задачами
19:10 - Как Екатерина выбрала системный анализ. О мечтах и "Я тоже могу"
23:25 - Поиск работы и портфолио аналитика: первое предложение о работе junior-системному аналитику
37:55 - Почему был создан проект GetAnalyst
40:25 - Идея подкаста GetAnalyst, пожелания и рекомендации подписчикам
Эпизод доступен в:
⏯ Apple Podcast
⏯ Spotify
⏯ Amazon Music
⏯ Telegram
*Яндекс.Музыка, YouTube (будут выпуски с видео-сопровождением) и Google.Podast в процессе. Ссылки добавим.
Подписывайтесь на платформах! Делитесь с коллегами и начинающими системными аналитиками! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤5🥰2👎1