Умеете отдыхать? Поделитесь, как вы расслабляетесь?
Признаюсь, у меня есть проблема — я не умею отдыхать. 😅
Всегда кажется, что нужно делать что-то полезное, иначе время потрачено зря.
Но отдых тоже важен, и я хочу у вас спросить: как вы отдыхаете?
Проголосуйте или поделитесь своим способом в комментариях! 👇
Признаюсь, у меня есть проблема — я не умею отдыхать. 😅
Всегда кажется, что нужно делать что-то полезное, иначе время потрачено зря.
Но отдых тоже важен, и я хочу у вас спросить: как вы отдыхаете?
Проголосуйте или поделитесь своим способом в комментариях! 👇
🔥8
Возвращаемся в строй!
Привет! 👋
Праздники позади, и самое время снова образовываться! 🧠
До Нового года мы много говорили про фронтенд. Разбирали:
* Что разработчики хотят видеть в задачах.
* Как описывать логику в формате «Если — То — Иначе».
* Плохие задачи на фронт и как их исправить.
* Кэширование данных на фронте и многое другое.
Если пропустили — читайте по хэштегу #frontend.
Теперь плавно переходим к новой теме — диаграммы. ✨
Диаграммы помогают системному аналитику наглядно показать взаимодействия внутри системы, между компонентами, людьми, другими системами. А продолжая тему фронтенда, начнём с диаграммы последовательности (Sequence Diagram). Ведь это идеальный инструмент, чтобы показать, как взаимодействуют фронтенд и бэкенд, как фронт реагирует на ответы бэка. Все сценарии и обработка ошибок — наглядно и понятно.
В ближайшие дни будем разбирать, как строить сиквенс-диаграмму на UML.
Следите за обновлениями и готовьте свои вопросы! 😊
#uml #diagrams
Привет! 👋
Праздники позади, и самое время снова образовываться! 🧠
До Нового года мы много говорили про фронтенд. Разбирали:
* Что разработчики хотят видеть в задачах.
* Как описывать логику в формате «Если — То — Иначе».
* Плохие задачи на фронт и как их исправить.
* Кэширование данных на фронте и многое другое.
Если пропустили — читайте по хэштегу #frontend.
Теперь плавно переходим к новой теме — диаграммы. ✨
Диаграммы помогают системному аналитику наглядно показать взаимодействия внутри системы, между компонентами, людьми, другими системами. А продолжая тему фронтенда, начнём с диаграммы последовательности (Sequence Diagram). Ведь это идеальный инструмент, чтобы показать, как взаимодействуют фронтенд и бэкенд, как фронт реагирует на ответы бэка. Все сценарии и обработка ошибок — наглядно и понятно.
В ближайшие дни будем разбирать, как строить сиквенс-диаграмму на UML.
Следите за обновлениями и готовьте свои вопросы! 😊
#uml #diagrams
👍16❤5🔥4
Sequence Diagram
Диаграмма последовательности или Sequence Diagram (сиквенс-диаграмма) предназначена для наглядного отображения взаимодействий между объектами в системе. Она демонстрирует порядок обмена сообщениями между объектами во времени, а также их жизненный цикл.
Sequence Diagram универсальна и может использоваться для множества кейсов, где важно показать взаимодействия:
1️⃣ Фронтенд ↔️ Бэкенд
2️⃣ Сервис ↔️ Сервис
3️⃣ Пользователь ↔️ Система
4️⃣ Система ↔️ Внешние API
Примеры конкретных кейсов см. в картинках 👆
Дополнительные сценарии применения:
5️⃣ Моделирование сложных процессов
6️⃣ Документация для команды
Sequence Diagram полезна там, где нужно:
* Показать взаимодействие между участниками.
* Уточнить порядок выполнения шагов.
* Отловить узкие места и детально проработать сценарии.
Как рисовать?
1️⃣ В графических редакторах вроде draw.io.
2️⃣ Текстом в PlantUML — это удобно и наглядно. Вы пишете код, а система автоматически строит диаграмму.
#uml #sequence #diagrams
Диаграмма последовательности или Sequence Diagram (сиквенс-диаграмма) предназначена для наглядного отображения взаимодействий между объектами в системе. Она демонстрирует порядок обмена сообщениями между объектами во времени, а также их жизненный цикл.
Sequence Diagram универсальна и может использоваться для множества кейсов, где важно показать взаимодействия:
1️⃣ Фронтенд ↔️ Бэкенд
2️⃣ Сервис ↔️ Сервис
3️⃣ Пользователь ↔️ Система
4️⃣ Система ↔️ Внешние API
Примеры конкретных кейсов см. в картинках 👆
Дополнительные сценарии применения:
5️⃣ Моделирование сложных процессов
6️⃣ Документация для команды
Sequence Diagram полезна там, где нужно:
* Показать взаимодействие между участниками.
* Уточнить порядок выполнения шагов.
* Отловить узкие места и детально проработать сценарии.
Как рисовать?
1️⃣ В графических редакторах вроде draw.io.
2️⃣ Текстом в PlantUML — это удобно и наглядно. Вы пишете код, а система автоматически строит диаграмму.
#uml #sequence #diagrams
👍19❤3👏3
Фронтенд ↔️ Бэкенд
Диаграмма последовательности отлично подходит для отображения реакции фронтенда на ответы от бэкенда.
📌 Пример: как фронт обрабатывает разные коды ответа после сохранения ресурса.
Диаграмма сделана в PlantUML. Хотите увидеть её визуально?
1️⃣ Зайдите на plantuml.com
2️⃣ Вставьте код👇
3️⃣ Нажмите Submit
#uml #sequence #diagrams
Диаграмма последовательности отлично подходит для отображения реакции фронтенда на ответы от бэкенда.
📌 Пример: как фронт обрабатывает разные коды ответа после сохранения ресурса.
Диаграмма сделана в PlantUML. Хотите увидеть её визуально?
1️⃣ Зайдите на plantuml.com
2️⃣ Вставьте код👇
3️⃣ Нажмите Submit
@startuml
actor User
participant Frontend
participant Backend
User -> Frontend: Нажимает «Сохранить»
Frontend -> Backend: POST /resources
alt Ответ 200 OK
Backend --> Frontend: {«id», «data»}
Frontend -> Frontend: Отображает сущность в режиме ред-я
else Ответ 500 Internal Server Error
Backend --> Frontend: {«error»: «Server error»}
Frontend -> Frontend: Показывает универсальное сообщение об ошибке
else Ответ 401 Unauthorized
Backend --> Frontend: {«error»: «Unauthorized»}
Frontend -> Frontend: Редирект на страницу авторизации
else Ответ 422
alt Ошибка формата
Backend --> Frontend: {«error»: «Invalid data format», «details»}
Frontend -> Frontend: Показывает сообщение об ошибке из «details»
else Ошибка бизнес-логики
Backend --> Frontend: {«error»: «Business logic error», «details»}
Frontend -> Frontend: Показывает сообщение об ошибке из «details»
end
end
@enduml
Попробуйте построить свою диаграмму и протестировать разные кейсы! 😉
#uml #sequence #diagrams
👍10🔥4❤3
Что вам больше всего нравится проектировать? Какое взаимодействие?
Anonymous Poll
15%
Фронтенд ↔️ Бэкенд
11%
Сервис ↔️ Сервис
36%
Пользователь ↔️ Система
13%
Система ↔️ Внешние API
26%
Люблю всё ❤️🔥
👍3
Что сейчас происходит в нашем втором канале? 🚀
Привет! 👋
В этом канале мы в ближайшее время будем обсуждать схемы, которые помогают системному аналитику показывать взаимодействия, процессы и алгоритмы. Но это полезно только в том случае, если вы уже понимаете, что там должно быть нарисовано.
Если вы не уверены, как составить схему, откуда берутся шаги, кто их диктует — это сигнал взяться за обучение более фундаментально.
На нашем втором канале Старт карьеры мы как раз сейчас учимся:
📌 Строить технические процессы, бизнес-процессы и алгоритмы.
📌 Мыслить системно: откуда берутся шаги? Как их находить?
📌 Работать с основами системного анализа.
Если вам трудно сориентироваться, что рисовать в схемах — начните с базы. Это поможет уверенно строить диаграммы и прокачает ваши аналитические навыки.
👉 Переходите в канал Старт карьеры.
С вами Вера и Юрий,
основатели AnalystCore ❤️
Привет! 👋
В этом канале мы в ближайшее время будем обсуждать схемы, которые помогают системному аналитику показывать взаимодействия, процессы и алгоритмы. Но это полезно только в том случае, если вы уже понимаете, что там должно быть нарисовано.
Если вы не уверены, как составить схему, откуда берутся шаги, кто их диктует — это сигнал взяться за обучение более фундаментально.
На нашем втором канале Старт карьеры мы как раз сейчас учимся:
📌 Строить технические процессы, бизнес-процессы и алгоритмы.
📌 Мыслить системно: откуда берутся шаги? Как их находить?
📌 Работать с основами системного анализа.
Если вам трудно сориентироваться, что рисовать в схемах — начните с базы. Это поможет уверенно строить диаграммы и прокачает ваши аналитические навыки.
👉 Переходите в канал Старт карьеры.
С вами Вера и Юрий,
основатели AnalystCore ❤️
👍11❤🔥3🔥3
Система ↔️ Внешние API
Ещё один пример применения диаграммы последовательности. На этот раз — взаимодействие системы с внешним API для отображения подсказок адресов.
Диаграмма показывает процесс:
1️⃣ Пользователь вводит текст в поле «Адрес».
2️⃣ Система отправляет запрос к внешнему API.
3️⃣ Варианты сценариев: успешный ответ с подсказками, успешный, но пустой ответ или ошибка.
Попробуйте сами!
Заходите на plantuml.com.
Вставьте код👇
#uml #sequence #diagrams
Ещё один пример применения диаграммы последовательности. На этот раз — взаимодействие системы с внешним API для отображения подсказок адресов.
Диаграмма показывает процесс:
1️⃣ Пользователь вводит текст в поле «Адрес».
2️⃣ Система отправляет запрос к внешнему API.
3️⃣ Варианты сценариев: успешный ответ с подсказками, успешный, но пустой ответ или ошибка.
Попробуйте сами!
Заходите на plantuml.com.
Вставьте код👇
@startuml
actor User
participant Frontend
participant Backend
participant DaDataAPI
User -> Frontend: Вводит текст в поле «Адрес»
Frontend -> Backend: POST /suggestions (текст)
Backend -> DaDataAPI: POST /suggestions (текст)
alt Успешный ответ с подсказками
DaDataAPI --> Backend: «suggestions»: [{"value», «unrestricted_value»,"data"}]
Backend --> Frontend: «suggestions»: [«value», «id»]
Frontend -> Frontend: Отображает список подсказок
else Успешный ответ, но пустой массив
DaDataAPI --> Backend: «suggestions»: []
Backend --> Frontend: «suggestions»: []
Frontend -> Frontend: Отображает сообщение «Адрес не найден»
else Ошибка от DaDataAPI (код != 200)
DaDataAPI --> Backend: «error»
Backend -> Backend: Логирует ошибку
Backend --> Frontend: «error»
Frontend -> Frontend: Отображает сообщение «Что-то пошло не так. Попробуйте позже»
end
@enduml
#uml #sequence #diagrams
👍11❤3🔥1🌚1
Система ↔️ Система
Нарисовали сиквенс-диаграмму на взаимодействие между двумя сервисами.
Кстати, этот пример демонстрирует, что не только «человек» инициирует какой-то процесс. В нашем примере процесс запускается автоматически, по триггеру — в 01:00.
Хотите нарисовать такую же схему?
Заходите на plantuml.com
Вставьте код👇
#uml #sequence #diagrams
Нарисовали сиквенс-диаграмму на взаимодействие между двумя сервисами.
Кстати, этот пример демонстрирует, что не только «человек» инициирует какой-то процесс. В нашем примере процесс запускается автоматически, по триггеру — в 01:00.
Хотите нарисовать такую же схему?
Заходите на plantuml.com
Вставьте код👇
@startuml
actor TimeTrigger as «Триггер времени»
participant ReportService as «Сервис отчетности»
participant Kafka as «Kafka»
participant NotificationService as «Сервис уведомлений»
TimeTrigger -> ReportService: Наступило 01:00
ReportService -> ReportService: Генерирует отчет
ReportService -> Kafka: Публикует событие «Отчет готов»
NotificationService -> Kafka: Pull сообщения из топика
NotificationService -> NotificationService: Отправляет письмо, что отчет готов
@enduml
#uml #sequence #diagrams
👍11❤🔥4🔥4
Вам интересна теория про Sequence Diagram на PlantUML? Хотите разбор элементов диаграммы?
Anonymous Poll
66%
✨ Да, хочу понять элементы и посмотреть на примерах.
27%
🛠️ Да, но только если будут разборы сложных кейсов.
6%
😎 Нет, я уже всё это знаю.
1%
🎨 Лучше про другие диаграммы.
0%
💬 Другое (пишите в комментариях).
👍9🔥4
Sequence Diagram: базовые элементы. Часть 1
Всем привет! 👋
По итогам опроса большинство выбрало разобрать элементы сиквенс-диаграммы в PlantUML. Начнём с основ — без них никуда:
1️⃣ Участники
Это всё, что взаимодействует в рамках процесса: пользователь (включая разные роли), микросервис, внешняя система, брокер и пр.
Если нужно визуально отделить участников (participant), используйте типы:
* actor
* boundary
* control
* entity
* database
* collections
* queue
Объявляем участников на PlantUML так:
2️⃣ Линии жизни
Они отображаются автоматически после объявления участника и показывают период, в течение которого объект «живёт» в процессе. Проще говоря, это визуализация начала и завершения активности объекта, чтобы было понятно, когда и как он участвует во взаимодействии.
3️⃣ Сообщения
Отображаются в виде стрелок, показывают, кто инициирует вызов, и кто отвечает:
Попробуйте прямо сейчас на plantuml.com: вставьте этот код и посмотрите, как всё визуализируется.
В следующих постах поговорим о ветвлениях (alt, opt), других полезных конструкциях и хорошем стиле.
#sequence #plantuml #diagrams
Всем привет! 👋
По итогам опроса большинство выбрало разобрать элементы сиквенс-диаграммы в PlantUML. Начнём с основ — без них никуда:
1️⃣ Участники
Это всё, что взаимодействует в рамках процесса: пользователь (включая разные роли), микросервис, внешняя система, брокер и пр.
Если нужно визуально отделить участников (participant), используйте типы:
* actor
* boundary
* control
* entity
* database
* collections
* queue
Объявляем участников на PlantUML так:
participant Participant
actor Actor
boundary Boundary
control Control
entity Entity
database Database
collections Collections
queue Queue
2️⃣ Линии жизни
Они отображаются автоматически после объявления участника и показывают период, в течение которого объект «живёт» в процессе. Проще говоря, это визуализация начала и завершения активности объекта, чтобы было понятно, когда и как он участвует во взаимодействии.
3️⃣ Сообщения
Отображаются в виде стрелок, показывают, кто инициирует вызов, и кто отвечает:
User -> System: Запрос
System --> User: Ответ
Попробуйте прямо сейчас на plantuml.com: вставьте этот код и посмотрите, как всё визуализируется.
В следующих постах поговорим о ветвлениях (alt, opt), других полезных конструкциях и хорошем стиле.
#sequence #plantuml #diagrams
👍15❤🔥5🔥4
Когда открыл PlantUML и видишь, что всё пишется в виде кода:
💬 Да это же просто! Сейчас нарисую!
…через 10 минут…
🤔 А как там создать notebox? И где подключить стили? Кто-нибудь, спасите!
#plantuml #sequence #diagrams
💬 Да это же просто! Сейчас нарисую!
…через 10 минут…
🤔 А как там создать notebox? И где подключить стили? Кто-нибудь, спасите!
💡 Лайфхак: Начните с самых простых элементов из прошлого поста. А украшение диаграммы (note, цвет, стили) добавьте потом, когда логика на диаграмме будет выстроена правильно — ведь это самое главное.
#plantuml #sequence #diagrams
🔥8❤4
Всем привет! 👋 Поделитесь, сколько лет вы работаете системным аналитиком?
Anonymous Poll
22%
До 1 года
14%
От 1 до 3
14%
От 3 до 6
9%
Более 6
41%
Без опыта, но хочу стать системным аналитиком
❤9