Сурен Хоренян

Сурен Хоренян 

Образовательные ролики по программированию

246subscribers

266posts

goals1
31 of 100 paid subscribers
Сотня платных подписчиков сможет обеспечить монтаж роликов на целый месяц!

Зачем PlantUML, когда есть С4?

PlantUML
Если вы хоть чуть-чуть в сфере ИТ, вы точно встречали PlantUML диаграммы. Это такие схемки с пошаговым описанием действий в системе, или описанием структуры проекта (сервисы, базы, и тд). Визуализация это, конечно, прекрасно, но хорошая визуализация ещё лучше. А PlantUML предоставляет хорошую визуализацию только для одного уровня абстракции. 
С4
В проекте всегда можно выделить несколько уровней абстракции, и именно про это модель C4. Четверка в названии означает уровни:
1. Диаграмма системы — что приносит пользу пользователю. Система состоит из контейнеров.
2. Диаграмма контейнера — наши программистские сущности: базы данных, s3, отдельные приложения и микросервисы, это всё контейнеры. И каждый контейнер состоит из компонентов.
3. Диаграмма компонента — это модули ПО. Например, микросервис состоит из нескольких компонентов: СУБД, контейнер с приложением, веб-сервер. 
4. Диаграмма кода — каждый компонент как-то напрограммирован. Вот тут можно сделать описание модулей и классов (опускаться до этого уровня обычно не нужно).
Кто кого?
Ещё есть правило, что нужно указывать направленность взаимодействия. Например, код ходит в базу данных. Да, тут сразу понятно, кто к кому обращается, ведь БД сама не ходит к приложению.
Если взаимодействие с API, то указывать направленность очень важно: мы можем запрашивать данные с внешнего ресурса, а также ресурс может уведомлять наше приложение о новом событии. И при указании направленности мы ещё и подписываем стрелочку, уточняем, что именно тут происходит.
А самый кайф C4, что никому не нужно приближение дальше второго уровня, изредка третьего. 
PlantUML всё ещё актуален для Sequence диаграмм — схем с последовательностью действий, например “пользователь запросил А, система вытащила данные из B, перепроверила через C и отдала пользователю”. А вот если структура системы описана по C4, то это гораздо понятнее.
Кстати, что PlantUML, что C4 рисовать руками не нужно, используйте для этого текстовый формат: его легко версионировать и распространять. Есть свои языки для этого, а также реализации на привычных нам Python, JS и тд.
О, интересную тему поднял.
Мне с С4 пока не доводилось работать ещё плотно, но девопсы очень хотели beaming_face Всё никак не доберусь изучить тему.
MaksSh, мне как-то сказали, что очень нужна схема к "завтра", я больной в ночи делал, утром отдал, днём спрашиваю ну как, а мне сказали что не пригодилось. Вот это обидно было
только сегодня коллега восторгался PlantUML, как Сурен с альтернативой)
Георгий Дубовицкий, хаа
в UML ценные и рабочие диаграммы: классов, состояний, последовательности, активности (это чаще заменяется BPMNом, т.к. для описания процесса он удобнее, а для взаимодействия компонентов - диаграмма последовательности). В целом С4 сильно коррелирует с UML, в UML есть виды диаграмм для всех уровней С4.
PlantUML очень прикольная штуковина, она кстати не только UML умеет визуализировать. Она охренительно отрисовывает JSON - https://plantuml.com/ru/json
Прямо в онлайне скармливаешь ей - и вуаля ))
https://www.plantuml.com/plantuml/uml/RP71RuCW5CRl_XKlx6epfUeQJsrssy5BJysoWrCiR0W6S4kp-ByFdjh4f0SW_3xUnyVZQ5rjt9VLAdhYuigb7mw8hAshwfwH3QtRrZ1h2Jm3QOIxRTM1QyMgiVzaPZwIuAoGaEWl0Y2TC8jn2UHDSqNYWE_NUNhkXUCp5lOanK-WpemCKNqDMtgODqkU4eAv1zOPnjpfZWbDWQeMpiZH59ReNgpOBroq-LwvRuN32DLbHOFsKBxg5dcQ93JTxVr2l3nXXishItZ7kZcELzrjm4gk_UFYbIujmNmKyZpVfNIV4PId-B63xZhHFFGeiW8zihnuMJpy_87f6YwaRuOAoMPY1ptQuAX6AQCfEZBLulV_0m00
simforum, оооо крутяк! Как-то меня обошло использование JSON в UML
Там не столько в UML, сколько конкретно в plantuml, это ж библиотека визуализации, она не только UML умеет визуализировать. Кроме json там ещё много всего.
simforum, а, точно. Не подумал
Subscription levels7

Новичок

$2.88 per month
- Телеграм чатик
- Ранний доступ к некоторым видео для общего доступа
- Анонсы новых видео (текстом и картинкой)
- Ответы на вопросы
- Рубрика [Смотрим] (формат реакций, на паузе до конца осени)
За два месяца подписки вы обеспечите оплату одного превью!
+ chat

Умелец

$6.9 per month
- Всё доступное Новичкам
- Рубрика [Рассказывает] (подкаст / интервью)
- Доступ к роликам, которые не выходят на публичных площадках
Спасибо за помощь в обеспечении одного превью!
+ chat

Продвинутый

$13.6 per month
- Всё доступное Умельцам
- Отдельная позиция в титрах
⁠Этот уровень не даёт вам доступ к дополнительным материалам.
+ chat

Эксперт

$26.7 per month
- Всё доступное Продвинутым
- Отдельная секция в титрах.
Этот уровень не даёт вам доступа к дополнительным материалам. Выбирайте его, если готовы поддерживать на такую сумму.⁠
Спасибо за обеспечение монтажа одного разбора задачи в месяц, твоё имя обязательно будет в титрах!
+ chat

Профессионал

$44 per month
- Всё доступное Экспертам
- 🎁 готов прислушаться к твоему пожеланию по теме видео в благодарность за помощь с производством
⁠⁠
Спасибо за обеспечение монтажа одного видео в месяц! Я выражу тебе личную благодарность в этом видео.
+ chat

Заслуженный работник ИТ РФ

$69 per month
Уважаемые и иногда даже сертифицированные специалисты долго не думают над выбором подписки.
На тебе держатся самые большие и сложные ролики канала 🔥
Личная благодарность в видео.
+ chat

Мастер

$2 052 per month
Настолько важный человек не тратит время на выбор уровня подписки и просто берет самую дорогую из возможных.
Ребята, это шуточный уровень!
+ chat
Go up