16. Чем отличается синхронная интеграция от асинхронной?
Anonymous Quiz
2%
Асинхронная быстрее
0%
Синхронная не требует подключения к серверу
2%
Асинхронная используется только для REST API
95%
Синхронная требует мгновенного ответа, асинхронная позволяет работать с очередями сообщений
17. Какие существуют стратегии миграции данных?
Anonymous Quiz
0%
Only Parallel Run
15%
Batch Load, Immediate Load
21%
Incremental Run, Sequential Data Load
63%
Big Bang, Parallel Run, Phased Migration
18. Как описывать сложные бизнес-процессы в BPMN?
Anonymous Quiz
3%
Только добавлять подпроцессы
3%
Использовать UML для описания
0%
Исключить все гейты
95%
Использовать события, гейты, подпроцессы и корректно связывать элементы
19. Как провести анализ требований на предмет их полноты?
Anonymous Quiz
0%
Только проверить тестируемость
99%
Проверить согласованность, корректность, тестируемость, непротиворечивость
0%
Исключить противоречивые требования
1%
Только проверить корректность
❤1
(несёт рекомендательный характер)
Junior (0–7 баллов)
Рекомендация — изучить основы моделирования, сбора требований и работы с REST API.
Middle (8–14 балл)
Рекомендация — развивать навыки проектирования систем, интеграции и работы с данными.
Senior (15–19 балл)
Рекомендация — совершенствоваться в стратегиях, архитектурных подходах и работе с бизнес-процессами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🍀BitBitGo🍀 Системный Анализ pinned «№1 категория вопросов: #BA #REQUIREMENTS»
📚 Типы баз данных и их применение: что выбрать?
Выбор базы данных — ключевой этап проектирования любой системы. Каждый тип имеет свои особенности и лучше всего подходит для определённых задач:
1️⃣ Реляционные базы данных
Идеальны для структурированных данных с чёткими связями (таблицы, ключи).
Популярные СУБД: MySQL, PostgreSQL, Oracle.
2️⃣ Объектно-реляционные базы данных
Комбинируют преимущества реляционных и объектно-ориентированных подходов.
Популярные СУБД: PostgreSQL, IBM Db2.
3️⃣ NoSQL базы данных (нереляционные)
Отличный выбор для гибких схем и работы с большими данными.
Типы NoSQL:
• Документоориентированные (MongoDB, Couchbase).
• Колоночные (Apache Cassandra, HBase).
• Графовые (Neo4j).
• Ключ-значение (Redis).
4️⃣ Колоночные базы данных
Оптимальны для анализа больших объёмов данных с высокой скоростью чтения.
Популярные СУБД: Apache Cassandra, ClickHouse.
5️⃣ Текстовые базы данных
Для поиска по тексту и анализа.
Популярные СУБД: Elasticsearch.
💡 Как выбрать?
• Реляционные подходят для CRM, ERP.
• Документоориентированные — для гибких приложений, как чаты.
• Колоночные — для аналитики.
• Графовые — для социальных сетей.
🗄 #DBMS
Выбор базы данных — ключевой этап проектирования любой системы. Каждый тип имеет свои особенности и лучше всего подходит для определённых задач:
1️⃣ Реляционные базы данных
Идеальны для структурированных данных с чёткими связями (таблицы, ключи).
Популярные СУБД: MySQL, PostgreSQL, Oracle.
2️⃣ Объектно-реляционные базы данных
Комбинируют преимущества реляционных и объектно-ориентированных подходов.
Популярные СУБД: PostgreSQL, IBM Db2.
3️⃣ NoSQL базы данных (нереляционные)
Отличный выбор для гибких схем и работы с большими данными.
Типы NoSQL:
• Документоориентированные (MongoDB, Couchbase).
• Колоночные (Apache Cassandra, HBase).
• Графовые (Neo4j).
• Ключ-значение (Redis).
4️⃣ Колоночные базы данных
Оптимальны для анализа больших объёмов данных с высокой скоростью чтения.
Популярные СУБД: Apache Cassandra, ClickHouse.
5️⃣ Текстовые базы данных
Для поиска по тексту и анализа.
Популярные СУБД: Elasticsearch.
💡 Как выбрать?
• Реляционные подходят для CRM, ERP.
• Документоориентированные — для гибких приложений, как чаты.
• Колоночные — для аналитики.
• Графовые — для социальных сетей.
🗄 #DBMS
❤2👍1🔥1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы тоже готовы на всё ради своих?)😉
😁9👍1
📚 Как организованы реляционные базы данных и зачем нужны правила проектирования
🔍 Принципы реляционных баз данных
Все данные хранятся в виде таблиц, где строки — это записи, а столбцы — атрибуты. Для каждой записи в таблице обязателен уникальный идентификатор — первичный ключ.
📋 Типы данных
Каждый столбец имеет строгий тип: например, INTEGER для чисел, VARCHAR для текста, DATE для дат. Это обеспечивает целостность данных.
♻️ Нормализация
Процесс разбиения данных на таблицы, чтобы устранить дублирование и минимизировать аномалии. Основные формы:
• 1NF: атомарные значения в столбцах.
• 2NF: отсутствие частичных зависимостей.
• 3NF: устранение транзитивных зависимостей.
🔑 Ключи
• Первичный ключ: уникально идентифицирует запись.
• Составной ключ: состоит из двух или более полей.
• Внешний ключ: связывает таблицы между собой.
• Суррогатный ключ: искусственный идентификатор, например, AUTO_INCREMENT.
NULL и пустые значения
NULL означает отсутствие значения, тогда как пустое значение может быть строкой "" или числом 0.
Ограничения
Чтобы гарантировать целостность данных:
• NOT NULL: поле не может быть пустым.
• UNIQUE: обеспечивает уникальность значений.
• PRIMARY KEY: уникальный идентификатор записи.
• FOREIGN KEY: связь с другой таблицей.
• CHECK: проверка условия.
• DEFAULT: значение по умолчанию.
• INDEX: ускоряет поиск.
• AUTO_INCREMENT: автоматическое увеличение значения.
🗄 #DBMS
🔍 Принципы реляционных баз данных
Все данные хранятся в виде таблиц, где строки — это записи, а столбцы — атрибуты. Для каждой записи в таблице обязателен уникальный идентификатор — первичный ключ.
📋 Типы данных
Каждый столбец имеет строгий тип: например, INTEGER для чисел, VARCHAR для текста, DATE для дат. Это обеспечивает целостность данных.
♻️ Нормализация
Процесс разбиения данных на таблицы, чтобы устранить дублирование и минимизировать аномалии. Основные формы:
• 1NF: атомарные значения в столбцах.
• 2NF: отсутствие частичных зависимостей.
• 3NF: устранение транзитивных зависимостей.
🔑 Ключи
• Первичный ключ: уникально идентифицирует запись.
• Составной ключ: состоит из двух или более полей.
• Внешний ключ: связывает таблицы между собой.
• Суррогатный ключ: искусственный идентификатор, например, AUTO_INCREMENT.
NULL и пустые значения
NULL означает отсутствие значения, тогда как пустое значение может быть строкой "" или числом 0.
Ограничения
Чтобы гарантировать целостность данных:
• NOT NULL: поле не может быть пустым.
• UNIQUE: обеспечивает уникальность значений.
• PRIMARY KEY: уникальный идентификатор записи.
• FOREIGN KEY: связь с другой таблицей.
• CHECK: проверка условия.
• DEFAULT: значение по умолчанию.
• INDEX: ускоряет поиск.
• AUTO_INCREMENT: автоматическое увеличение значения.
🗄 #DBMS
👍2
Зачем системному аналитику взаимодействовать с UI/UX дизайнером
Системный аналитик и UX/UI дизайнер работают в тесной связке, чтобы создать продукт, сочетающий в себе удобство для пользователя и техническую реализацию. Взаимодействие этих ролей помогает:
🔄 Согласовывать требования. Аналитик передаёт дизайнеру бизнес-требования и ограничения системы, а дизайнер адаптирует их в понятный интерфейс.
⚙️ Учитывать технические возможности. Аналитик помогает дизайнеру понимать, какие решения реализуемы с технической точки зрения, а какие могут привести к избыточным затратам.
🧩 Создавать комфортный пользовательский опыт. Дизайнер формирует интерфейс, а аналитик тестирует его на соответствие функциональным требованиям.
💬 Обеспечивать обратную связь. Совместные обсуждения и корректировки позволяют улучшать продукт итерационно, избегая ошибок.
Эффективное взаимодействие аналитика и дизайнера делает процесс разработки более слаженным и результативным, а продукт — удобным и функциональным.
📚 #OTHER
Системный аналитик и UX/UI дизайнер работают в тесной связке, чтобы создать продукт, сочетающий в себе удобство для пользователя и техническую реализацию. Взаимодействие этих ролей помогает:
🔄 Согласовывать требования. Аналитик передаёт дизайнеру бизнес-требования и ограничения системы, а дизайнер адаптирует их в понятный интерфейс.
⚙️ Учитывать технические возможности. Аналитик помогает дизайнеру понимать, какие решения реализуемы с технической точки зрения, а какие могут привести к избыточным затратам.
🧩 Создавать комфортный пользовательский опыт. Дизайнер формирует интерфейс, а аналитик тестирует его на соответствие функциональным требованиям.
💬 Обеспечивать обратную связь. Совместные обсуждения и корректировки позволяют улучшать продукт итерационно, избегая ошибок.
Эффективное взаимодействие аналитика и дизайнера делает процесс разработки более слаженным и результативным, а продукт — удобным и функциональным.
📚 #OTHER
👍5❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как нужно разговаривать с технарями
🤣8❤1🔥1
📡 Pull и Push модели: простыми словами
Когда разные системы или приложения должны обмениваться данными, используется одна из двух моделей: pull или push. Они определяют, кто инициирует передачу данных — клиент (pull) или поставщик (push).
🔄 Pull-модель
Представьте, что вы голодны и хотите поесть. Вы идёте в магазин, чтобы купить продукты. Это и есть pull-модель: вы сами решаете, когда и что вам нужно, и отправляетесь за этим.
Как работает?
Клиент (например, приложение или система) отправляет запрос и запрашивает данные, когда это нужно.
Пример:
Вы обновляете прогноз погоды в приложении вручную.
➕ Плюсы:
• Клиент сам контролирует, когда нужны данные.
• Простая реализация.
➖ Минусы:
• Если делать запросы слишком часто, сервер перегружается.
• Если не запросить данные вовремя, вы их не получите.
🔗 #INTEGRATION
Когда разные системы или приложения должны обмениваться данными, используется одна из двух моделей: pull или push. Они определяют, кто инициирует передачу данных — клиент (pull) или поставщик (push).
🔄 Pull-модель
Представьте, что вы голодны и хотите поесть. Вы идёте в магазин, чтобы купить продукты. Это и есть pull-модель: вы сами решаете, когда и что вам нужно, и отправляетесь за этим.
Как работает?
Клиент (например, приложение или система) отправляет запрос и запрашивает данные, когда это нужно.
Пример:
Вы обновляете прогноз погоды в приложении вручную.
• Клиент сам контролирует, когда нужны данные.
• Простая реализация.
• Если делать запросы слишком часто, сервер перегружается.
• Если не запросить данные вовремя, вы их не получите.
🔗 #INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
📤 Push-модель
Теперь представьте, что еду доставляют прямо к вам домой, как в случае с доставкой. Это push-модель: поставщик (сервер) сам решает, когда отправить вам данные, исходя из договорённости.
Как работает?
Сервер отправляет данные клиенту автоматически, когда они становятся доступны.
Пример:
Уведомления о новых сообщениях в мессенджерах или автоматическое обновление курсов валют.
➕ Плюсы:
• Данные поступают мгновенно, как только появляются.
• Нет необходимости постоянно запрашивать обновления.
➖ Минусы:
• Более сложная реализация.
• Клиент полностью зависит от поставщика данных.
Когда что использовать?
• Pull-модель подходит для ситуаций, когда данные нужны редко или по запросу. Например, вы хотите проверить остаток на счету.
• Push-модель удобна там, где важна оперативность, как в системах уведомлений или биржевых приложениях.
🔗 #INTEGRATION
Теперь представьте, что еду доставляют прямо к вам домой, как в случае с доставкой. Это push-модель: поставщик (сервер) сам решает, когда отправить вам данные, исходя из договорённости.
Как работает?
Сервер отправляет данные клиенту автоматически, когда они становятся доступны.
Пример:
Уведомления о новых сообщениях в мессенджерах или автоматическое обновление курсов валют.
• Данные поступают мгновенно, как только появляются.
• Нет необходимости постоянно запрашивать обновления.
• Более сложная реализация.
• Клиент полностью зависит от поставщика данных.
Когда что использовать?
• Pull-модель подходит для ситуаций, когда данные нужны редко или по запросу. Например, вы хотите проверить остаток на счету.
• Push-модель удобна там, где важна оперативность, как в системах уведомлений или биржевых приложениях.
🔗 #INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🌐 Принципы REST архитектуры: как строить эффективные API
REST — это один из самых популярных подходов к проектированию веб-сервисов. Чтобы API были простыми, гибкими и эффективными, нужно соблюдать ключевые принципы REST:
🔹 Stateless (без состояния)
Сервер не хранит информацию о состоянии клиента между запросами. Каждый запрос содержит всю необходимую информацию для обработки.
🔹 Resource Identification (идентификация ресурсов)
Каждый ресурс должен иметь уникальный URL, например:
🔹 Uniform Interface (единый интерфейс)
Взаимодействие между клиентом и сервером стандартизировано. Используются методы:
• GET — получить ресурс
• POST — создать ресурс
• PUT — обновить ресурс
• DELETE — удалить ресурс
🔹 Cacheable (кэшируемость)
Ответы сервера могут кэшироваться на клиенте для повышения производительности и уменьшения нагрузки.
🔹 Layered System (многоуровневость)
Архитектура может быть разделена на слои, чтобы клиент не зависел от внутренней реализации сервера.
🔹 Code on Demand (исполняемый код по требованию)
Дополнительно сервер может передавать исполняемый код (например, скрипты) для выполнения на стороне клиента.
REST делает API надёжными, масштабируемыми и понятными. Соблюдение этих принципов помогает создавать продукты, которые легко поддерживать и развивать.
🔗 #INTEGRATION
REST — это один из самых популярных подходов к проектированию веб-сервисов. Чтобы API были простыми, гибкими и эффективными, нужно соблюдать ключевые принципы REST:
🔹 Stateless (без состояния)
Сервер не хранит информацию о состоянии клиента между запросами. Каждый запрос содержит всю необходимую информацию для обработки.
🔹 Resource Identification (идентификация ресурсов)
Каждый ресурс должен иметь уникальный URL, например:
/api/users/123. 🔹 Uniform Interface (единый интерфейс)
Взаимодействие между клиентом и сервером стандартизировано. Используются методы:
• GET — получить ресурс
• POST — создать ресурс
• PUT — обновить ресурс
• DELETE — удалить ресурс
🔹 Cacheable (кэшируемость)
Ответы сервера могут кэшироваться на клиенте для повышения производительности и уменьшения нагрузки.
🔹 Layered System (многоуровневость)
Архитектура может быть разделена на слои, чтобы клиент не зависел от внутренней реализации сервера.
🔹 Code on Demand (исполняемый код по требованию)
Дополнительно сервер может передавать исполняемый код (например, скрипты) для выполнения на стороне клиента.
REST делает API надёжными, масштабируемыми и понятными. Соблюдение этих принципов помогает создавать продукты, которые легко поддерживать и развивать.
🔗 #INTEGRATION
👍3👏3🔥1
🌐 Что такое HTTP-запросы и как они работают?
Каждый раз, когда вы вводите URL в браузере, происходит магия — ваше устройство отправляет HTTP-запрос серверу. Это сообщение может запрашивать данные, например HTML-страницу, или передавать информацию. HTTP — это основной протокол для обмена данными в интернете, определяющий, как устройства должны общаться.
🔍 Как устроен HTTP-запрос?
HTTP-запросы состоят из трёх основных частей:
1️⃣ Стартовая строка. Указывает метод (например, GET или POST), URI и версию протокола.
2️⃣ Заголовки. Это параметры, описывающие запрос (например, Host, Content-Type, Content-Length).
3️⃣ Тело сообщения. Используется для передачи данных, например при отправке формы через POST.
Пример запроса:
⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
• GET. Запрашивает ресурс (например, страницу).
• POST. Передаёт данные в теле запроса.
• PUT. Создаёт или заменяет ресурс.
• DELETE. Удаляет ресурс.
• OPTIONS. Возвращает методы, поддерживаемые сервером.
🔗 #OTHER
Каждый раз, когда вы вводите URL в браузере, происходит магия — ваше устройство отправляет HTTP-запрос серверу. Это сообщение может запрашивать данные, например HTML-страницу, или передавать информацию. HTTP — это основной протокол для обмена данными в интернете, определяющий, как устройства должны общаться.
🔍 Как устроен HTTP-запрос?
HTTP-запросы состоят из трёх основных частей:
1️⃣ Стартовая строка. Указывает метод (например, GET или POST), URI и версию протокола.
2️⃣ Заголовки. Это параметры, описывающие запрос (например, Host, Content-Type, Content-Length).
3️⃣ Тело сообщения. Используется для передачи данных, например при отправке формы через POST.
Пример запроса:
GET /blog/examplepage HTTP/1.1
Host: example.com
⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
• GET. Запрашивает ресурс (например, страницу).
• POST. Передаёт данные в теле запроса.
• PUT. Создаёт или заменяет ресурс.
• DELETE. Удаляет ресурс.
• OPTIONS. Возвращает методы, поддерживаемые сервером.
🔗 #OTHER
👍4
🌐 Методы запросов и коды состояния
⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
• GET. Запрашивает ресурс (например, страницу).
• POST. Передаёт данные в теле запроса.
• PUT. Создаёт или заменяет ресурс.
• DELETE. Удаляет ресурс.
• OPTIONS. Возвращает методы, поддерживаемые сервером.
📋 Коды состояния HTTP
Сервер отвечает трёхзначным кодом, показывающим статус запроса:
• 200 OK. Запрос успешен.
• 404 Not Found. Ресурс не найден.
• 500 Internal Server Error. Внутренняя ошибка сервера.
Коды делятся на классы:
• 1xx — информационные,
• 2xx — успешные,
• 3xx — перенаправления,
• 4xx — ошибки клиента,
• 5xx — ошибки сервера.
🛠 Для чего это нужно?
HTTP-запросы — основа работы веб-приложений, обеспечивающая взаимодействие клиента и сервера. Понимание их структуры помогает разработчикам оптимизировать работу сайта и улучшить пользовательский опыт.
🔗 #OTHER
⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
• GET. Запрашивает ресурс (например, страницу).
• POST. Передаёт данные в теле запроса.
• PUT. Создаёт или заменяет ресурс.
• DELETE. Удаляет ресурс.
• OPTIONS. Возвращает методы, поддерживаемые сервером.
📋 Коды состояния HTTP
Сервер отвечает трёхзначным кодом, показывающим статус запроса:
• 200 OK. Запрос успешен.
• 404 Not Found. Ресурс не найден.
• 500 Internal Server Error. Внутренняя ошибка сервера.
Коды делятся на классы:
• 1xx — информационные,
• 2xx — успешные,
• 3xx — перенаправления,
• 4xx — ошибки клиента,
• 5xx — ошибки сервера.
🛠 Для чего это нужно?
HTTP-запросы — основа работы веб-приложений, обеспечивающая взаимодействие клиента и сервера. Понимание их структуры помогает разработчикам оптимизировать работу сайта и улучшить пользовательский опыт.
🔗 #OTHER
👍3❤1