Системный анализ | Дмитрий Помаскин
1.37K subscribers
44 photos
150 videos
266 links
📍Обучение системному анализу
📍Полезные материалы для развития навыков
📍Разбор практических кейсов по системному анализу и архитектуре
📍Индивидуальные консультации (менторство)

Моя онлайн-школа:
https://system-analysis.skillspace.ru
Download Telegram
Напоминаю, что, помимо курсов, доступны онлайн консультации на любые темы системного анализа и архитектуры.

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

P.S. Три таких консультации уже включены в тариф "Интерактивный" каждого курса.
👍5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Пока проходит пора праздников и выходных, сложные приколы разгадывать не будем🙃

Видео из серии «единственный аналитик на проекте» 😉
😁16🔥1
Веду активную работу, не смотря на выходные 🫡
Скоро вас ждёт мощный курс для освоения системных интеграций! 🚀
🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
«Какие бывают интеграции?»

Синхронные, асинхронные, real-time.

Синхронные: REST, SOAP, RPC(классический), GraphQL.

Асинхронные: брокеры сообщений, шины данных.

Real-time: WS, long polling.

⚠️ Интеграция на уровне БД - не всегда антипаттерн
🔥12
🚀 Курс по системным интеграциям уже практически готов.

Курс включает в себя:

Форматы данных, используемых в интеграциях систем;

Правильное использование REST / SOAP / GraphQL;

Подробный разбор брокеров сообщений на примерах RabbitMQ и Apache Kafka;

Проектирование интеграционных шин;

RPC (Remote Procedure Call);

Real-time взаимодействие (WS, Long Polling, SSE);

Интеграция на уровне баз данных;

Безопасность в интеграциях;

Паттерн Circuit Breaker;

Observability (Наблюдаемость) интеграций;

API-first подход и документация.


🔥 Предзапись уже открыта.
Получи скидку 15% по промокоду SYSTEMINT (действителен до запуска курса, о точной дате сообщу позже).

📅 Старт курса — уже скоро! Успей забронировать место по выгодной цене.

👉 Жми "Записаться" и сможешь интегрировать сервисы без боли!
🔥9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
«Чем отличается REST от SOAP?»

Типичная ошибка:
REST - архитектурный стиль поверх протокола HTTP, а SOAP - самостоятельный протокол.

Правильный ответ:
REST - всегда использует HTTP, SOAP помимо HTTP может использовать другие протоколы.

У SOAP есть WSDL-файл, описывающий контракт обмена.

SOAP всегда использует XML формат, REST может использовать JSON, XML и т.д.

У SOAP встроенная поддержка WS-security, у REST только стандартные HTTPS-методы.
🔥14👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
«Какие вы знаете архитектурные стили?»

Типичная ошибка:
Монолит и микросервисы.

Правильный ответ:
Существуют монолитные и распределенные системы.

Виды распределенных систем: service-oriented architecture (SOA), domain-driven design (DDD), event-driven architecture (EDA), микросервисы, распределенный монолит.

P.S. Если не знакомы с распределенным монолитом, то не упоминайте его, дабы избежать курьезных дополнительных вопросов.
🔥9👍5
Проведём небольшой опрос, чтобы канал был для вас полезнем и интересным 😊
Какие темы вы хотели бы видеть чаще?
Final Results
37%
Вопросы с собеседований
45%
Типичные ошибки аналитиков
80%
Разбор технических кейсов
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Проектирование REST API для нового сервиса.

1️⃣ Если сервис не является владельцем сущности системы, а просто выполняет какую-то функцию, необходимо:
🔸 Реализовать синхронный метод для вызова функции сервиса;
🔸 Реализовать асинхронный метод для вызова функции сервиса;
🔸 При необходимости, реализовать методы для множественного вызова по списку объектов.

2️⃣ Сервис является владельцем сущности в системе:
🔸Реализовать методы на все CRUD-операции (могут быть множественными);
🔸Реализовать метод получения списка объектов;
🔸Не забыть про пагинацию, если она нужна;
🔸Не забыть про фильтрацию списка;
🔸Для сложной фильтрации стоит использовать метод POST для получения списка;
🔸При наличии дополнительной логики работы с объектами реализовать для нее методы.

3️⃣ Для всех сервисов:
🔸Авторизация штатными средствами вашей системы;
🔸Используйте формат данных, принятый для таких сервисов на проекте;
🔸Напомните разработчику про правильные коды ответов;
🔸Не забывайте о принципе единственной ответственности.
🔥9👍8🤯2
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Передача большого объекта через брокер сообщений.

Использовать отдельное хранилище, доступ к которому должен быть у всех сервисов, участвующих в работе с объектом.

1️⃣ Сервис producer сохраняет объект в хранилище и получает в ответ ссылку на него;

2️⃣ Сервис producer отправляет в брокер сообщение, которое содержит ссылку на объект в хранилище, а не сам объект;

3️⃣ Сервис consumer получает ссылку из брокера;

4️⃣ Сервис consumer обращается в хранилище для получения объекта.

Ниже приложу схему для наглядности👇

Системный анализ | Дмитрий Помаскин
👍9🔥5
Media is too big
VIEW IN TELEGRAM
‼️Если возникли проблемы с рассрочкой или промокодом.

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

1. Выйти из аккаунта;

2. Перейти на страницу курса, на которой вы регистрировались на "Ознакомительный" тариф;

3. Выбрать интересующий вас тариф и ввести промокод;

4. Указать почту, на которую вы уже зарегистрировались, и нажать "Перейти к оформлению";

5. У вас откроется окно входа в систему, так как данная почта уже используется;

6. Просто введите свои данные для входа, и у вас откроется окно оформления рассрочки.

P.S. О данном ограничении уже сообщил разработчикам платформы, обещали устранить.

P.P.S. Если у вас возникают какие-то вопросы или трудности, всегда можете написать мне в личные сообщения :) @system_analysis_dmitriy


Для наглядности прикладываю видеоинструкцию.
👍4👏2
👋 Обращение к студентам курса "Основы архитектуры"

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

P.S. Я об это говорю в модуле, специально сам пересмотрел:)
🤔3🙏3
Media is too big
VIEW IN TELEGRAM
«Чем отличается GET от POST?»

Неполный ответ:
⚠️ GET - получает ресурс, POST - создает ресурс.

Обязательно не забывайте сравнивать их по свойствам:
Наличие тела: GET - нет, POST - да;

Кэшируемость: GET - да, POST - нет;

Безопасность: GET - да, POST - нет;

Идемпотентность: GET - да, POST - нет.

P.S. Метод POST - частично-кэшируемый метод, зависит от способа применения и заголовков.
👍13🔥6
🚀 Запускаю интересный сервис :)

Бесплатная оценка ваших навыков без примитивных тестов и телеграм-ботов.

Только хардкор и свободные(текстовые) ответы на вопросы 😎

Проверю всё самостоятельно и направлю вам подробную обратную связь в личные сообщения.

Вас ждут 42 вопроса по хард скилам системного аналитика;

🕐 У вас будет 60 минут и только 1 попытка на прохождение, поэтому рассчитывайте своё время;

⛔️ Чтобы получить честную оценку, лучше не пользоваться поисковыми сервисами и нейросетями:)

Записаться можно здесь

P.S. Вопросы на абсолютно разные грейды, поэтому не переживайте, если вы чего-то не знаете :)

Системный анализ | Дмитрий Помаскин
🔥11
Media is too big
VIEW IN TELEGRAM
🚩Кейс: формирование отчетов по данным вашей системы.

1️⃣ Разрабатываем отдельный сервис, который будет содержать логику формирования отчетов;

2️⃣ Под этим сервисом поднимаем отдельную БД для статистики и отчетов;

3️⃣ Реплицируем в эту БД часть данных, необходимую для формирования отчетов;

4️⃣ Строим отчеты без эффекта на критически важные модули системы.

Ниже приложу схему для наглядности👇

Системный анализ | Дмитрий Помаскин
👍15🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Создание новой формы в интерфейсе.

1️⃣ Описывая требования к front-end, не забывайте про правила заполнения формы: обязательность полей, маска ввода и т.д.

2️⃣ Описывая требования к back-end, вам точно так же необходимо помнить про валидацию полученной в запросе информации. Сервис должен проверить правильность заполнения полей, необходимых для дальнейшего исполнения задачи.
👍11
Периодически буду с выкладывать вопросно-ответный пост (это он).

Если у вас возникают какие-то вопросы, касающиеся тематики канала, можете задавать их в комментариях.
Сложные кейсы, с которыми столкнулись в работе, теоретические вопросы, вопросы по курсам и т.д.

💬 Я отвечу на них в комментариях, а самые интересные разберу в видеоформате.
🔥12👏3
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Проверка прав доступа у пользователя.

1️⃣ Описывая требования к front-end, вы закладываете ограничения на доступ к каким-то элементам интерфейса для определенных ролей пользователей.

2️⃣ Описывая требования к back-end, не забывайте, что ваши сервисы также должны проверять наличие роли у пользователя, отправившего запрос.

Системный анализ | Дмитрий Помаскин
1👍20