GetAnalyst - Старт карьеры в IT • Системный аналитик • Бизнес-аналитик
4.77K subscribers
1.96K photos
77 videos
20 files
360 links
Канал для начинающих карьеру системных аналитиков. Влюбиться в системый анализ и начать свой путь в IT можно здесь! 🚀

Для опытных аналитиков - Навыки • БД • Интеграции • API:
t.me/getanalysts

Обучение:
https://getanalyst.ru/education
Download Telegram
Всем привет! 👋

Рассказывать истории проектной команде – это отличный способ спроектировать качественный, а главное нужный продукт 😎

О каких историях речь?
Разбираемся в карусели! 💃

#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥4👌1
При проектировании REST API есть два места, на которые мы активно смотрим:

👉 Потребности клиента.
Это дизайн экранов или требовани от внешних систем, котрые будут подключаться к нам, чтобы получать данные.

Отсюда мы получаем информацию ЧТО нам нужно вернуть в ответе API или записать в БД.


👉 БД нашей системы.
Мы можем вернуть клиенту API только те данные, которые хранятся в БД, которые могут быть получены с помощью интеграций или расчитаны алгоритмом внутри системы.

На основе модели БД мы получаем ориентир - В КАКОЙ СТРУКТУРЕ данные могут быть представлены в формате JSON.


Поэтому понимание БД проекта важно перед началом работы с дизайном методов REST API.

А подробнее про то, как строить JSON-структуры на основе БД рассказыаю здесь 🔗
👍62👎1
This media is not supported in your browser
VIEW IN TELEGRAM
РЕБЯТА, НЕ СТРЕССУЕМ!
Пятница же. А когда работа в удовольствие – каждый день, как пятница 🥰
😁13
Любая система или ПО состоит из разных элементов, каждый из которых выполняет свою уникальную роль и функцию. Понять, как устроена система изнутри, поможет описание её архитектуры.

Архитектура системы — это концептуальное описание организации, которое определяет содержание и взаимосвязи находящихся внутри системы компонентов.

💁 Проектирование архитектуры — это один из первых и важнейших этапов при создании любой системы. Неправильно выстроенная архитектура способна создать множество проблем для сопровождения, развития и масштабирования продукта.

Наиболее популярны два основных вида архитектур: монолитная и микросервисная.

Популярность микросервисной архитектуры в последнее время быстро растёт, и всё чаще крупные компании отказываются от монолитной организации продуктов. Но монолитную концепцию нельзя при этом назвать устаревшей: в каких-то случаях она прекрасно работает и некоторые большие компании всё ещё держат монолитные ПО. Такая архитектура полезна на начальной стадии продукта, монолит идеально подходит стартапам, которым очень важно быстро запустить продукт.
Микросервисы очень популярны и хороши, но они подходят не для всех ПО. Такая архитектура подходит сложным системам, которые должны быть гибкими и масштабируемыми.

☝️ Вопросы про виды архитектуры очень часто задают на собеседованиях на аналитиков, разработчиков и тестировщиков уровня 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👍42👎1
ПРО МИКРОСЕРВИСНУЮ АРХИТЕКТУРУ

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

Микросервисы — это маленькие программы, которые живут на своём сервере и выполняют только свои определённые виды задач.

Например, такой программой может быть микросервис по авторизации, который решает, пускать пользователя в систему или нет. Многие продукты зарождаются на монолите, а затем перерастают в микросервисную архитектуру.

🥷: Кстати говоря, Netflix, Amazon, Twitter, eBay и PayPal эволюционировали из монолита в микросервисы.

Каждый микросервис также может состоять из базы данных, клиентского пользовательского интерфейса и бэкенд-логики на сервере.

Но микросервисы - это не универсальное решение и сейчас разберём, почему. Начнём с плюсов.

ПЛЮСЫ:

🟢Возможность разгрузить систему, распределив нагрузку на микросервисы

🟢Отдельные сервисы выполняют свои уникальные функции и в случае сбоя в одном из них приложение не остановит свою работу полностью.
Например, если на сайте магазина одежды с микросервисной архитектурой сломалась поисковая функция для товаров, то это не заблокирует пользователю возможность просматривать одежду, добавлять её в корзину и оформлять заказ.

🟢При помощи микросервисов несколько разных команд могут быстро работать над разными сервисами независимо друг от друга.

🟢Каждый микросервис можно масштабировать отдельно, что позволяет легко увеличивать производительность системы.


МИНУСЫ:

🟣Сложность проектирования
Такое ПО требует очень тщательного планирования, огромных усилий, ресурсов и навыков. Согласованность данных и управление транзакциями становятся сложнее, потому что каждый сервис имеет свою базу данных.

🟣Угрозы безопасности ПО.
Поскольку становится больше таких микросервисов, которые могут общаться с внешними источниками, повышается вероятность атаки злоумышленников.

🟣Разнородность языков программирования.
Когда разные сервисы написаны на разных языках, становится сложнее развертывать приложение. А ещё самим разработчикам приходится переключаться между этапами разработки с одного на другой язык.


Ну как-то так.
Завтра планируем запустить КВИЗ, но хочется понять, нужны ли какие-то пояснения к теории или вы готовы проверить свои знания?

Ставьте реакции:
👍 - готовы к КВИЗу!
👀 - ничего непонятно, но очень интересно!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29👎1
ИТАК, КВИЗ! 😮

Ранее мы познакомились с вами с различными видами архитектуры. Пришло время проверить свои знания 🙃

КВИЗ будет состоять из двух частей:
- в первой части мы предложим несколько высказываний, которые относятся к какому-то виду архитектуры,
- во второй части вы получите описание условий, в рамках которых необходимо определиться с наиболее подходящим видом архитектуры.

Не переживайте – вы справитесь! Но чтобы улучшить свой результат, рекомендуем ещё раз прочитать теорию из постов выше ⬆️

Как только наберём 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 и другие).
Какой вид архитектуры лучше использовать для этого кейса?
Anonymous Quiz
97%
Монолитная
3%
Микросервисная
1
💫 Личный опыт: как стать системным аналитиком 💫

Привет!

Мы долго к этому шли и пришли 😎 Ура! Первый эпизод подкаста 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
🔥115🥰2👎1