Напоминаю, что, помимо курсов, доступны онлайн консультации на любые темы системного анализа и архитектуры.
На них подробно разбираем вопросы, накопившиеся в ходе прохождения обучения или общие вопросы, на которые не удалось самостоятельно найти ответы.
P.S. Три таких консультации уже включены в тариф "Интерактивный" каждого курса.
На них подробно разбираем вопросы, накопившиеся в ходе прохождения обучения или общие вопросы, на которые не удалось самостоятельно найти ответы.
P.S. Три таких консультации уже включены в тариф "Интерактивный" каждого курса.
👍5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Пока проходит пора праздников и выходных, сложные приколы разгадывать не будем🙃
Видео из серии «единственный аналитик на проекте» 😉
Видео из серии «единственный аналитик на проекте» 😉
😁16🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
❔«Какие бывают интеграции?»
Синхронные, асинхронные, real-time.
✅ Синхронные: REST, SOAP, RPC(классический), GraphQL.
✅ Асинхронные: брокеры сообщений, шины данных.
✅ Real-time: WS, long polling.
⚠️ Интеграция на уровне БД - не всегда антипаттерн
Синхронные, асинхронные, 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 (действителен до запуска курса, о точной дате сообщу позже).
📅 Старт курса — уже скоро! Успей забронировать место по выгодной цене.
👉 Жми "Записаться" и сможешь интегрировать сервисы без боли!
Курс включает в себя:
✅Форматы данных, используемых в интеграциях систем;
✅Правильное использование 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-методы.
Типичная ошибка:
❌ 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. Если не знакомы с распределенным монолитом, то не упоминайте его, дабы избежать курьезных дополнительных вопросов.
Типичная ошибка:
❌ Монолит и микросервисы.
Правильный ответ:
✅ Существуют монолитные и распределенные системы.
✅ Виды распределенных систем: 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️⃣ Для всех сервисов:
🔸Авторизация штатными средствами вашей системы;
🔸Используйте формат данных, принятый для таких сервисов на проекте;
🔸Напомните разработчику про правильные коды ответов;
🔸Не забывайте о принципе единственной ответственности.
1️⃣ Если сервис не является владельцем сущности системы, а просто выполняет какую-то функцию, необходимо:
🔸 Реализовать синхронный метод для вызова функции сервиса;
🔸 Реализовать асинхронный метод для вызова функции сервиса;
🔸 При необходимости, реализовать методы для множественного вызова по списку объектов.
2️⃣ Сервис является владельцем сущности в системе:
🔸Реализовать методы на все CRUD-операции (могут быть множественными);
🔸Реализовать метод получения списка объектов;
🔸Не забыть про пагинацию, если она нужна;
🔸Не забыть про фильтрацию списка;
🔸Для сложной фильтрации стоит использовать метод POST для получения списка;
🔸При наличии дополнительной логики работы с объектами реализовать для нее методы.
3️⃣ Для всех сервисов:
🔸Авторизация штатными средствами вашей системы;
🔸Используйте формат данных, принятый для таких сервисов на проекте;
🔸Напомните разработчику про правильные коды ответов;
🔸Не забывайте о принципе единственной ответственности.
🔥9👍8🤯2
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Передача большого объекта через брокер сообщений.
✅ Использовать отдельное хранилище, доступ к которому должен быть у всех сервисов, участвующих в работе с объектом.
1️⃣ Сервис producer сохраняет объект в хранилище и получает в ответ ссылку на него;
2️⃣ Сервис producer отправляет в брокер сообщение, которое содержит ссылку на объект в хранилище, а не сам объект;
3️⃣ Сервис consumer получает ссылку из брокера;
4️⃣ Сервис consumer обращается в хранилище для получения объекта.
Ниже приложу схему для наглядности👇
Системный анализ | Дмитрий Помаскин
✅ Использовать отдельное хранилище, доступ к которому должен быть у всех сервисов, участвующих в работе с объектом.
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
Для наглядности прикладываю видеоинструкцию.
Вижу, что многие заходят на бесплатный "Ознакомительный" тариф, поэтому повторно выкладываю инструкцию, как сменить тариф в рассрочку или с применением промокода:
1. Выйти из аккаунта;
2. Перейти на страницу курса, на которой вы регистрировались на "Ознакомительный" тариф;
3. Выбрать интересующий вас тариф и ввести промокод;
4. Указать почту, на которую вы уже зарегистрировались, и нажать "Перейти к оформлению";
5. У вас откроется окно входа в систему, так как данная почта уже используется;
6. Просто введите свои данные для входа, и у вас откроется окно оформления рассрочки.
P.S. О данном ограничении уже сообщил разработчикам платформы, обещали устранить.
P.P.S. Если у вас возникают какие-то вопросы или трудности, всегда можете написать мне в личные сообщения :) @system_analysis_dmitriy
Для наглядности прикладываю видеоинструкцию.
👍4👏2
👋 Обращение к студентам курса "Основы архитектуры"
Проверял домашние работы и заметил, что в 1 модуле почти все допускают ошибку при описании мониторинга системы.
Обратите внимание, что вам нужно описать не только технические метрики, но и безнес-метрики.
P.S. Я об это говорю в модуле, специально сам пересмотрел:)
Проверял домашние работы и заметил, что в 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 - частично-кэшируемый метод, зависит от способа применения и заголовков.
Неполный ответ:
⚠️ GET - получает ресурс, POST - создает ресурс.
Обязательно не забывайте сравнивать их по свойствам:
✅ Наличие тела: GET - нет, POST - да;
✅ Кэшируемость: GET - да, POST - нет;
✅ Безопасность: GET - да, POST - нет;
✅ Идемпотентность: GET - да, POST - нет.
P.S. Метод POST - частично-кэшируемый метод, зависит от способа применения и заголовков.
👍13🔥6
🚀 Запускаю интересный сервис :)
Бесплатная оценка ваших навыков без примитивных тестов и телеграм-ботов.
Только хардкор и свободные(текстовые) ответы на вопросы 😎
Проверю всё самостоятельно и направлю вам подробную обратную связь в личные сообщения.
✅ Вас ждут 42 вопроса по хард скилам системного аналитика;
🕐 У вас будет 60 минут и только 1 попытка на прохождение, поэтому рассчитывайте своё время;
⛔️ Чтобы получить честную оценку, лучше не пользоваться поисковыми сервисами и нейросетями:)
Записаться можно здесь
P.S. Вопросы на абсолютно разные грейды, поэтому не переживайте, если вы чего-то не знаете :)
Системный анализ | Дмитрий Помаскин
Бесплатная оценка ваших навыков без примитивных тестов и телеграм-ботов.
Только хардкор и свободные(текстовые) ответы на вопросы 😎
Проверю всё самостоятельно и направлю вам подробную обратную связь в личные сообщения.
✅ Вас ждут 42 вопроса по хард скилам системного аналитика;
🕐 У вас будет 60 минут и только 1 попытка на прохождение, поэтому рассчитывайте своё время;
⛔️ Чтобы получить честную оценку, лучше не пользоваться поисковыми сервисами и нейросетями:)
Записаться можно здесь
P.S. Вопросы на абсолютно разные грейды, поэтому не переживайте, если вы чего-то не знаете :)
Системный анализ | Дмитрий Помаскин
🔥11
Media is too big
VIEW IN TELEGRAM
🚩Кейс: формирование отчетов по данным вашей системы.
1️⃣ Разрабатываем отдельный сервис, который будет содержать логику формирования отчетов;
2️⃣ Под этим сервисом поднимаем отдельную БД для статистики и отчетов;
3️⃣ Реплицируем в эту БД часть данных, необходимую для формирования отчетов;
4️⃣ Строим отчеты без эффекта на критически важные модули системы.
Ниже приложу схему для наглядности👇
Системный анализ | Дмитрий Помаскин
1️⃣ Разрабатываем отдельный сервис, который будет содержать логику формирования отчетов;
2️⃣ Под этим сервисом поднимаем отдельную БД для статистики и отчетов;
3️⃣ Реплицируем в эту БД часть данных, необходимую для формирования отчетов;
4️⃣ Строим отчеты без эффекта на критически важные модули системы.
Ниже приложу схему для наглядности👇
Системный анализ | Дмитрий Помаскин
👍15🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Создание новой формы в интерфейсе.
1️⃣ Описывая требования к front-end, не забывайте про правила заполнения формы: обязательность полей, маска ввода и т.д.
2️⃣ Описывая требования к back-end, вам точно так же необходимо помнить про валидацию полученной в запросе информации. Сервис должен проверить правильность заполнения полей, необходимых для дальнейшего исполнения задачи.
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️⃣ Описывая требования к front-end, вы закладываете ограничения на доступ к каким-то элементам интерфейса для определенных ролей пользователей.
2️⃣ Описывая требования к back-end, не забывайте, что ваши сервисы также должны проверять наличие роли у пользователя, отправившего запрос.
Системный анализ | Дмитрий Помаскин
1👍20