🧰 TOGAF (The Open Group Architecture Framework) 🧰
Это стандарт архитектурного фреймворка. Он предоставляет методы и инструменты для работы над Корпоративной Архитектурой ( КА | EA, Enterprise Architecture): создания, управления изменениями, сопровождения и пр.
КА раскладывается на 4 домена:
🪛 Бизнес: стратегия компании, управленческая и орг-структуры, БП
⛏ Данные: логическая и физическая структуры данных и управление ими
🔨 Приложения: бизнес-приложения предприятия, их взаимодействие и связь с БП
🔧 Технологии: ПО и железо для развёртывания бизнес-сервисов (ИТ инфраструктура, сервера, сеть и пр.)
🪚 Весной '22 вышла новая, 10-я версия. Это рефакторинг прежней версии, объединение разных веток с материалами под крыло стандарта + включение Digital и Agile. Рекомендую ознакомиться с заметками по теме: mxsmirnov | cio.osp | cleverics.
🔩 Вспомнить прежнюю версию (v9.2 +.pdf) помогут: babok-school | logrocon | cfin | infostart.
🪜 Бесплатные курсы и видеолекции 🪜
1. Курс лекций о TOGAF. Александр Кварцхава
2. TOGAF Foundations Skills (SkillUp)
3. Открытая лекция Александра Крамаренко "Построение архитектуры по стандарту TOGAF"
4. The Open Group. Рекомендую ради картинок
⚒ Software 🛠
1. 💲EA, Sparx Enterprise Architect
2. 🆓 Archimate
3. 🆓 OpenSource Modelio |💲 Enterprise Modelio
4. 💲 SAP PowerDesigner
#артефакты #инструменты #подборка | Analyst Boost
Это стандарт архитектурного фреймворка. Он предоставляет методы и инструменты для работы над Корпоративной Архитектурой ( КА | EA, Enterprise Architecture): создания, управления изменениями, сопровождения и пр.
КА раскладывается на 4 домена:
🪛 Бизнес: стратегия компании, управленческая и орг-структуры, БП
⛏ Данные: логическая и физическая структуры данных и управление ими
🔨 Приложения: бизнес-приложения предприятия, их взаимодействие и связь с БП
🔧 Технологии: ПО и железо для развёртывания бизнес-сервисов (ИТ инфраструктура, сервера, сеть и пр.)
🪚 Весной '22 вышла новая, 10-я версия. Это рефакторинг прежней версии, объединение разных веток с материалами под крыло стандарта + включение Digital и Agile. Рекомендую ознакомиться с заметками по теме: mxsmirnov | cio.osp | cleverics.
🔩 Вспомнить прежнюю версию (v9.2 +.pdf) помогут: babok-school | logrocon | cfin | infostart.
🪜 Бесплатные курсы и видеолекции 🪜
1. Курс лекций о TOGAF. Александр Кварцхава
2. TOGAF Foundations Skills (SkillUp)
3. Открытая лекция Александра Крамаренко "Построение архитектуры по стандарту TOGAF"
4. The Open Group. Рекомендую ради картинок
⚒ Software 🛠
1. 💲EA, Sparx Enterprise Architect
2. 🆓 Archimate
3. 🆓 OpenSource Modelio |💲 Enterprise Modelio
4. 💲 SAP PowerDesigner
#артефакты #инструменты #подборка | Analyst Boost
publications.opengroup.org
The TOGAF® Standard, 10th Edition
The TOGAF Standard is the most prominent and reliable Enterprise Architecture standard, ensuring consistent standards, methods, and communication among Enterprise Architecture professionals. Those professionals who are fluent in the TOGAF approach enjoy greater…
🔥13
❔ Никита, почему так часто пропадаешь? ❔
Готовил для вас крутой интерактив, буду рад всех завтра видеть!
Готовил для вас крутой интерактив, буду рад всех завтра видеть!
🎤 UPD: Прошёл мой мастер-класс по PlantUML 🎤
📆 30.11.22
📍 Онлайн, записи доступны
💸 Бесплатно, нужна регистрация
🚓 На интерактивном мастер-классе мы вместе:
🚗 Создали простейший Sequence и модифицируем его
🚕 Потренировали командную работу над диаграммой с импортом из Git
🚙 Разобрали частые ошибки, лайфхаки и реальные примеры из практики
🚚 Поговорили о продукте и его online- и offline-моделировании
🚛 Обсудим цветовую дифференциацию, функции, процедуры и прочее
🏎 И целый час после обсуждали всё на свете.
См. Запись моего выступления
Записи докладов других классных спикеров (с тегом comday):
📕 13:45 Документация в коде. Сергей Гришанов, Евгений Зингер
📗 16:15 Распределенный высоконагруженный BI-движок — как сделать массовую облачную BI-аналитику доступной для человечества. Александр Сербул
📘 17:30 User Story Splitting: как и зачем добавлять детали пользовательским историям. Юрий Куприянов
📙 18:45 Нефункциональные требования: как их определять. Наталья Желнова
#доклады | Analyst Boost
📆 30.11.22
📍 Онлайн, записи доступны
💸 Бесплатно, нужна регистрация
🚓 На интерактивном мастер-классе мы вместе:
🚗 Создали простейший Sequence и модифицируем его
🚕 Потренировали командную работу над диаграммой с импортом из Git
🚙 Разобрали частые ошибки, лайфхаки и реальные примеры из практики
🚚 Поговорили о продукте и его online- и offline-моделировании
🚛 Обсудим цветовую дифференциацию, функции, процедуры и прочее
🏎 И целый час после обсуждали всё на свете.
См. Запись моего выступления
Записи докладов других классных спикеров (с тегом comday):
📕 13:45 Документация в коде. Сергей Гришанов, Евгений Зингер
📗 16:15 Распределенный высоконагруженный BI-движок — как сделать массовую облачную BI-аналитику доступной для человечества. Александр Сербул
📘 17:30 User Story Splitting: как и зачем добавлять детали пользовательским историям. Юрий Куприянов
📙 18:45 Нефункциональные требования: как их определять. Наталья Желнова
#доклады | Analyst Boost
Flow 2022. Конференция по системному и бизнес-анализу
PlantUML с нуля до гуру: учимся «кодить» sequence-диаграммы | Доклад на Flow 2022
Любите диаграммы последовательности, но всё ещё готовите их вручную? Тогда мы идём к вам!
На мастер-классе мы вместе создадим простой Sequence, потренируем командную работу и разберём ошибки. Приходите убедиться во всей мощи инструмента сами!
На мастер-классе мы вместе создадим простой Sequence, потренируем командную работу и разберём ошибки. Приходите убедиться во всей мощи инструмента сами!
🔥11🤩6
🤖 Разве может робот написать симфонию? Спорно. А вот разработать тех. документацию — вполне. 🤖
🍏 OpenAI, детище Маска и ко, выдало доступ к ChatGPT — нейросетевому чат-боту, который не только очень умело ведёт диалог, но и генерирует небесполезный код. Твиттер бурлит примерами продуктов и сайтов под ключ за 10 минут (1|2|3|4|5). Картинка в посте — целиком его механических рук дело.
🍎 Т.к. бот выдаёт только текстовые ответы, то диаграмму или картинку с него не получить. Но ведь можно попросить его подготовить такое символьное описание, которое затем можно переправить другому боту на вход, тому же ruDALL-E или midjourney. Конечно же, уже сделали тг бота, который такую цепочку воспроизвёл. И расширение Chrome, которое включает результаты поисковой выдачи в работу сетки.
🍐 Однако мне интересен разрез автоматизации написания документации. Простыми вопросами бота можно заставить подробно откомментировать и отдебажить код, как если бы рядом сидел разработчик-рассказчик. Ну или почти. Т.е. получится описание по готовому, можно встраивать в Doc-as-Code pipeline. В ГОСТовые стандарты сетка не умеет, но зато как волшебно генерирует PlantUML! (1|2)
🍋 Интересный эксперимент со спецификацией требований к LMS провёл Юрий Куприянов. Бот умеет не только формировать бэклог и диаграммы, но и проектировать разного рода API, причём не только CRUDL операции. Нейросеть не вытеснит аналитика с рынка, но жизнь упростить способна. Печатная машинка ведь не уничтожила писателей, а лишь дала доступ более широкой аудитории к ремеслу. А где больше людей, там и здоровая конкуренция, что нашей сфере только на пользу.
🍑 Мои рекомендации:
• Любой рабочий запрос к гуглу сначала прогнать через бота
• Если нужно насочинять какой-либо перечень, прикинуть срез рынка или самые популярные решения в нише — стучитесь к сетке в ЛС
• Не злоупотреблять сеткой для выполнения тестового задания на вакансию
• Если вы собеседующий, то прогнать свои кейсы через сетку и сделать правильные выводы
• Не передавать никаких чувствительных данных
• Экспериментировать! Тимофей, мой товарищ по Физтеху, проводит завтра открытый ChatGPT хакатон, дабы вместе с сообществом родились новые продукты
#мысли | Analyst Boost
🍏 OpenAI, детище Маска и ко, выдало доступ к ChatGPT — нейросетевому чат-боту, который не только очень умело ведёт диалог, но и генерирует небесполезный код. Твиттер бурлит примерами продуктов и сайтов под ключ за 10 минут (1|2|3|4|5). Картинка в посте — целиком его механических рук дело.
🍎 Т.к. бот выдаёт только текстовые ответы, то диаграмму или картинку с него не получить. Но ведь можно попросить его подготовить такое символьное описание, которое затем можно переправить другому боту на вход, тому же ruDALL-E или midjourney. Конечно же, уже сделали тг бота, который такую цепочку воспроизвёл. И расширение Chrome, которое включает результаты поисковой выдачи в работу сетки.
🍐 Однако мне интересен разрез автоматизации написания документации. Простыми вопросами бота можно заставить подробно откомментировать и отдебажить код, как если бы рядом сидел разработчик-рассказчик. Ну или почти. Т.е. получится описание по готовому, можно встраивать в Doc-as-Code pipeline. В ГОСТовые стандарты сетка не умеет, но зато как волшебно генерирует PlantUML! (1|2)
🍋 Интересный эксперимент со спецификацией требований к LMS провёл Юрий Куприянов. Бот умеет не только формировать бэклог и диаграммы, но и проектировать разного рода API, причём не только CRUDL операции. Нейросеть не вытеснит аналитика с рынка, но жизнь упростить способна. Печатная машинка ведь не уничтожила писателей, а лишь дала доступ более широкой аудитории к ремеслу. А где больше людей, там и здоровая конкуренция, что нашей сфере только на пользу.
🍑 Мои рекомендации:
• Любой рабочий запрос к гуглу сначала прогнать через бота
• Если нужно насочинять какой-либо перечень, прикинуть срез рынка или самые популярные решения в нише — стучитесь к сетке в ЛС
• Не злоупотреблять сеткой для выполнения тестового задания на вакансию
• Если вы собеседующий, то прогнать свои кейсы через сетку и сделать правильные выводы
• Не передавать никаких чувствительных данных
• Экспериментировать! Тимофей, мой товарищ по Физтеху, проводит завтра открытый ChatGPT хакатон, дабы вместе с сообществом родились новые продукты
#мысли | Analyst Boost
Analyst Boost on Notion
ChatGPT PlantUML Example | Notion
Код PlantUML, полностью сгенерированный нейросетью ChatGPT, отображённый в онлайн редакторе.
🔥7
✒️ Утверждён обновлённый профстандарт "Технический писатель" 🖋
🖌 ПС утверждается Минтрудом и рядом смежных инстанций, обычно используется при составлении образовательных программ, должностных инструкций, карт компетенций и индивидуальных планов развития, поэтому для сообщества очень важно поддерживать его в актуальном состоянии. Редакция вступает в силу уже в марте.
🖍 Помимо уточнений и дополнений по функциям, обязанностям и навыкам, введено и новое направление — управление знаниями о продукте. "Харды" смежного специалиста, на которые в моём понимании важно обратить внимание аналитику:
• "Принципы поисковой оптимизации и инф. архитектуры"
• "Строить карты знаний и матрицы компетенций ..."
• "Получение и обработка обратной связи от пользователей базы знаний"
• "Создание описаний ... API и средств разработки приложений (SDK)"
• "Работать с системой контроля версий"
• "Исследовать ... на тестовом стенде"
• "Использовать средства автотестирования (верификации) и средств проверки синтаксиса (статических анализаторов)"
📝 Любопытная разница между ПС "Системный аналитик" (2014г|2022г) и ПС тех. писателя:
» ТП: "Программирование в объеме программы технического вуза"
» СА: "Программировать на базовом уровне (в пределах требований ФГОС Среднее общее образование)"
При формировании стандарта для СА на эту тему было много споров, что и отразилось на содержании.
✏️ На прошедшей конференции я узнал, что ТП уже сравнялся по зарплатным ожиданиям с СА. Судя по стандарту, аналитику есть чему поучиться у своего коллеги. Рекомендую каждому, кто хоть немного причастен к созданию документации, от аналитика до разработчика, ознакомиться со свежей версией. Возможно, что-то захочется включить в свой путь развития, либо же вежливо запросить у своего коллеги.
#артефакты | Analyst Boost
🖌 ПС утверждается Минтрудом и рядом смежных инстанций, обычно используется при составлении образовательных программ, должностных инструкций, карт компетенций и индивидуальных планов развития, поэтому для сообщества очень важно поддерживать его в актуальном состоянии. Редакция вступает в силу уже в марте.
🖍 Помимо уточнений и дополнений по функциям, обязанностям и навыкам, введено и новое направление — управление знаниями о продукте. "Харды" смежного специалиста, на которые в моём понимании важно обратить внимание аналитику:
• "Принципы поисковой оптимизации и инф. архитектуры"
• "Строить карты знаний и матрицы компетенций ..."
• "Получение и обработка обратной связи от пользователей базы знаний"
• "Создание описаний ... API и средств разработки приложений (SDK)"
• "Работать с системой контроля версий"
• "Исследовать ... на тестовом стенде"
• "Использовать средства автотестирования (верификации) и средств проверки синтаксиса (статических анализаторов)"
📝 Любопытная разница между ПС "Системный аналитик" (2014г|2022г) и ПС тех. писателя:
» ТП: "Программирование в объеме программы технического вуза"
» СА: "Программировать на базовом уровне (в пределах требований ФГОС Среднее общее образование)"
При формировании стандарта для СА на эту тему было много споров, что и отразилось на содержании.
✏️ На прошедшей конференции я узнал, что ТП уже сравнялся по зарплатным ожиданиям с СА. Судя по стандарту, аналитику есть чему поучиться у своего коллеги. Рекомендую каждому, кто хоть немного причастен к созданию документации, от аналитика до разработчика, ознакомиться со свежей версией. Возможно, что-то захочется включить в свой путь развития, либо же вежливо запросить у своего коллеги.
#артефакты | Analyst Boost
🔥10
🔟 Бесплатных тренажёров и плейлистов по SQL 🔟
👟 Тренажёры — теория прилагается
1. SQL-ex: Древнющий, но классика
2. HackerRank: На все уровни и с сертификацией
3. SQLBolt: Понятный туториал на английском
4. Learn SQL | SQL for data aggregation: На английском
5. Tech on the net SQL: На английском и посложнее
6. Strata Scratch | Data Lemur: Задачи мировых компаний
7. SQL Zoo: Wiki-подобный туториал
8. Learn DB: Бесплатны только основы, на русском
9. W3 Schools | Перевод: Бесплатно, а сертификат платный
10. SQL-Academy: Платные решения и сертификация
👞 Видео — подбирайте на свой вкус
1. Илья Фофанов: 14 видео
2. Максим Кухарь: 24 видео
3. Александр Кварцхава: 24 видео
4. Гоша Дударь: 8 видео
5. Сергей Яременко: 16 видео + notion
6. Peter Radko: 18 видео
7. Артём Семуков: 18 видео для новичков и SQL+VBA
8. Александр Кротов: 4 видео
9. freeCodeCamp: 4 часа и 14 млн просмотров
10. Web Dev Simplified: обещают справиться за час
🧦 Бой с тенью — тренировка на собственных вводных
1. Live SQL Oracle: Учебная БД
2. SQL Test: Доступно без регистрации
3. SQL Fiddle: Без регистрации и без https
👡 Тесты — пятиминутки для разминки
JavaTpoint | LearnQA | itProger | Tutorials point | Free Test
👢 Книги — рекомендуйте в комментариях, включу в подборку
👠 Курсы — ставьте 🔥, если наберём 100 огней, выложу подборку бесплатных курсов незамедлительно
#подборка | Analyst Boost
👟 Тренажёры — теория прилагается
1. SQL-ex: Древнющий, но классика
2. HackerRank: На все уровни и с сертификацией
3. SQLBolt: Понятный туториал на английском
4. Learn SQL | SQL for data aggregation: На английском
5. Tech on the net SQL: На английском и посложнее
6. Strata Scratch | Data Lemur: Задачи мировых компаний
7. SQL Zoo: Wiki-подобный туториал
8. Learn DB: Бесплатны только основы, на русском
9. W3 Schools | Перевод: Бесплатно, а сертификат платный
10. SQL-Academy: Платные решения и сертификация
👞 Видео — подбирайте на свой вкус
1. Илья Фофанов: 14 видео
2. Максим Кухарь: 24 видео
3. Александр Кварцхава: 24 видео
4. Гоша Дударь: 8 видео
5. Сергей Яременко: 16 видео + notion
6. Peter Radko: 18 видео
7. Артём Семуков: 18 видео для новичков и SQL+VBA
8. Александр Кротов: 4 видео
9. freeCodeCamp: 4 часа и 14 млн просмотров
10. Web Dev Simplified: обещают справиться за час
🧦 Бой с тенью — тренировка на собственных вводных
1. Live SQL Oracle: Учебная БД
2. SQL Test: Доступно без регистрации
3. SQL Fiddle: Без регистрации и без https
👡 Тесты — пятиминутки для разминки
JavaTpoint | LearnQA | itProger | Tutorials point | Free Test
👢 Книги — рекомендуйте в комментариях, включу в подборку
👠 Курсы — ставьте 🔥, если наберём 100 огней, выложу подборку бесплатных курсов незамедлительно
#подборка | Analyst Boost
🔥130🤩3
2️⃣0️⃣ Бесплатных SQL курсов и ресурсов 2️⃣0️⃣
🏳️ Stepik. Классика рекомендаций
0. Каталог курсов. Числа ниже — количество обучившихся
1. Интерактивный тренажер по SQL. Галина Озерова, ДВФУ | ~235к
2. Введение в базы данных. Александр Мяснов, Иван Савин, ВШЭ | ~93к
3. Базы данных. Елена Михайлова, Наталья Графеева, СПбГУ | ~28к
4. Свободное погружение в СУБД. Дмитрий Барашев, ВШЭ | ~20к
5. Знакомство с SQLite. Антон Жиянов | ~5к
🏴 Must-have альтернативы
1. SQL для непрограммистов. Григорий Печёнкин
2. Симулятор SQL. Анатолий Карпов
3. SQL Course. Sololearn
4. Intro to SQL: Querying and managing data. Khan Academy
5. Learn SQL. Code Cademy
🏁 Дополнительные источники
1. PostgreSQL Exercises. Упражнения с проверкой
2. SQL Course от SQL Teaching
3. Intro to SQL. Kaggle будет круто смотреться в резюме
4. SQL Для Начинающих. Академия IT. Артём Семуков
5. Coursera. Альтернатива Stepik'у, широкий диапазон на любой вкус. Например, Основы инженерии данных.
🏴☠️ Плейлисты по SQL. Ориентируйтесь по вкусу
1. Кирилл Антонов. SQLite | 150 (!) видео
2. Аве Кодер. PostgreSQL | 15 видео
3. Алексей Тарасов. Курс MySQL 8 | 24 видео
4. Илья Хохлов. SQL. ORACLE | 26 видео
5. Гаус. SQL для начинающих | 25 видео
🤗 Спасибо за огоньки, я был приятно удивлён! Ставьте 🔥, уже готовлю заключительную часть этого цикла.
#подборка | Analyst Boost
🏳️ Stepik. Классика рекомендаций
0. Каталог курсов. Числа ниже — количество обучившихся
1. Интерактивный тренажер по SQL. Галина Озерова, ДВФУ | ~235к
2. Введение в базы данных. Александр Мяснов, Иван Савин, ВШЭ | ~93к
3. Базы данных. Елена Михайлова, Наталья Графеева, СПбГУ | ~28к
4. Свободное погружение в СУБД. Дмитрий Барашев, ВШЭ | ~20к
5. Знакомство с SQLite. Антон Жиянов | ~5к
🏴 Must-have альтернативы
1. SQL для непрограммистов. Григорий Печёнкин
2. Симулятор SQL. Анатолий Карпов
3. SQL Course. Sololearn
4. Intro to SQL: Querying and managing data. Khan Academy
5. Learn SQL. Code Cademy
🏁 Дополнительные источники
1. PostgreSQL Exercises. Упражнения с проверкой
2. SQL Course от SQL Teaching
3. Intro to SQL. Kaggle будет круто смотреться в резюме
4. SQL Для Начинающих. Академия IT. Артём Семуков
5. Coursera. Альтернатива Stepik'у, широкий диапазон на любой вкус. Например, Основы инженерии данных.
🏴☠️ Плейлисты по SQL. Ориентируйтесь по вкусу
1. Кирилл Антонов. SQLite | 150 (!) видео
2. Аве Кодер. PostgreSQL | 15 видео
3. Алексей Тарасов. Курс MySQL 8 | 24 видео
4. Илья Хохлов. SQL. ORACLE | 26 видео
5. Гаус. SQL для начинающих | 25 видео
🤗 Спасибо за огоньки, я был приятно удивлён! Ставьте 🔥, уже готовлю заключительную часть этого цикла.
#подборка | Analyst Boost
🔥92
📟 Хакатоны и кейс-чемпионаты 📟
🎖 Хакерские марафоны...
... но без хакеров и бега: это соревнования по созданию прототипа продукта в сверхсжатые сроки, от нескольких недель до всего пары суток. Ориентированы на выявление потребностей заказчика, исследование рынка решений и питч собственного варианта. Иногда появляются мероприятия без требований по написанию кода: для менеджеров продукта, системных и бизнес-аналитиков.
🥇 Дерзайте!
Я рекомендую хотя бы раз поучаствовать в любой подобной активности, как начинающим спецам, так и опытным товарищам. Даже в кодерских соревнованиях можно оказаться востребованным: в роли капитана \ организатора \ presenter'а и генератора идей.
🥈 В чём же польза?
• Пополнение своего резюме и портфолио работами, не закрытыми NDA
• Расширение сети проф. контактов и возможность найти заряженных единомышленников
• Шанс начать свой стартап и попасть на сопровождение к менторам от индустриальных партнёров
• Попадание в short-list потенциального работодателя или поиск будущих коллег под своё крыло
• Дополнительный заработок (за первые места можно получить сотни тысяч на команду)
🥉 Прошедшие аналитические хакатоны
SberCode, видео нашего победного питча | Совкомбанк | Иннохак | Shift+Enter | BCS coding days | FIT-M |
Иногда удаётся найти чаты и материалы победителей, чтобы ещё лучше составить представление об этой деятельности.
🏆 Кейс-чемпионаты
Очень хорошо тренируют навыки, нужные и БА, и иногда СА. Отличная тренировка, чтобы погрузиться в новую предметную область, может пригодиться на собеседовании в соответствующий домен. Кубки регулярно проводит Changellenge, а про опыт таких мероприятий и других организаторов можно почитать здесь: Тинькофф.журнал.
#доклады | Analyst Boost
🎖 Хакерские марафоны...
... но без хакеров и бега: это соревнования по созданию прототипа продукта в сверхсжатые сроки, от нескольких недель до всего пары суток. Ориентированы на выявление потребностей заказчика, исследование рынка решений и питч собственного варианта. Иногда появляются мероприятия без требований по написанию кода: для менеджеров продукта, системных и бизнес-аналитиков.
🥇 Дерзайте!
Я рекомендую хотя бы раз поучаствовать в любой подобной активности, как начинающим спецам, так и опытным товарищам. Даже в кодерских соревнованиях можно оказаться востребованным: в роли капитана \ организатора \ presenter'а и генератора идей.
🥈 В чём же польза?
• Пополнение своего резюме и портфолио работами, не закрытыми NDA
• Расширение сети проф. контактов и возможность найти заряженных единомышленников
• Шанс начать свой стартап и попасть на сопровождение к менторам от индустриальных партнёров
• Попадание в short-list потенциального работодателя или поиск будущих коллег под своё крыло
• Дополнительный заработок (за первые места можно получить сотни тысяч на команду)
🥉 Прошедшие аналитические хакатоны
SberCode, видео нашего победного питча | Совкомбанк | Иннохак | Shift+Enter | BCS coding days | FIT-M |
Иногда удаётся найти чаты и материалы победителей, чтобы ещё лучше составить представление об этой деятельности.
🏆 Кейс-чемпионаты
Очень хорошо тренируют навыки, нужные и БА, и иногда СА. Отличная тренировка, чтобы погрузиться в новую предметную область, может пригодиться на собеседовании в соответствующий домен. Кубки регулярно проводит Changellenge, а про опыт таких мероприятий и других организаторов можно почитать здесь: Тинькофф.журнал.
#доклады | Analyst Boost
YouTube
Хакатон SberCode, трек SberDevices, Команда Бэрримор, Финальный питч
Хакатон SberCode, прошедший с 31 июля по 2 августа 2020 онлайн. Финальный питч команды Бэрримор, победителя хакатона.
Официальная страница хакатона: https://sbercode.tech/sber-devices
Новость о победителях по каждому треку: https://rb.ru/news/sbercode-winners/…
Официальная страница хакатона: https://sbercode.tech/sber-devices
Новость о победителях по каждому треку: https://rb.ru/news/sbercode-winners/…
🔥7
🔥 Идёт набор на весенний поток 🔥
🎯 Сейчас активно формируется группа для занятий. В первую очередь будут зачислены те, кто не успел попасть на прошлый поток.
📖 Принципы курса отражены здесь, а подробная программа доступна по той же ссылке с перенаправлением.
🚀 Приходите сами, делитесь с заинтересованными знакомыми! Спешите успеть, осталось всего несколько мест!
#объявления | Analyst Boost
🎯 Сейчас активно формируется группа для занятий. В первую очередь будут зачислены те, кто не успел попасть на прошлый поток.
📖 Принципы курса отражены здесь, а подробная программа доступна по той же ссылке с перенаправлением.
🚀 Приходите сами, делитесь с заинтересованными знакомыми! Спешите успеть, осталось всего несколько мест!
#объявления | Analyst Boost
Telegram
Analyst Boost. Никита Харичкин
🎯 Основные принципы курса 🎯
Analyst Boost — это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.
Analyst Boost —…
Analyst Boost — это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.
Analyst Boost —…
🤩7
🥣 «Нарисуйте суп» или что от нас хотят на собеседовании 🥣
🍜 Собес — это не только точка схождения ожиданий кандидата и возможностей компании, но и тизер атмосферы потенциальных 40 часов в неделю. Помимо мастерства самопрезентации стоит помнить и о встречной проверке самого работодателя: к каким процессам быть готовым, насколько токсична команда или заказчик, сколько кругов бюрократии за каждым углом и принесёт ли авантюра полезный (и нетравмирующий) опыт. Капель «лишних» N% на карту забудется уже после испыталки, а вот воспоминания о выгорании в угли сохранятся надолго, поэтому никогда сразу не соглашайтесь на предложение. Поспите, взвесьте всё на холодную голову и совершите активное действие (перезвоните сами) вместо пассивного кивка. Я несколько раз отказывался от очень щедрых на тот момент предложений именно благодаря этому «очевидному» приёму, ни разу не пожалел.
🍲 Премии — это, конечно, хорошо, но вы когда-нибудь пробовали свободу действий?
Впрочем, у каждого свой подход, и универсального рейтинга не составить: то, что отпугнёт одного, для другого будет бодрящим вызовом, а третий и вовсе не ощутит. Чтобы не осечься, подготовьте заранее свои вопросы дяде — QnA сессия обычно идёт в самом конце, поверьте, после стресс-теста лучше опереться на свои холодные заготовки, чтобы не жалеть об упущенном моменте. Если всё же осенило уже после беседы, не постесняйтесь сформулировать и направить HR’у свою просьбу прояснить оставшиеся моменты. Это тоже неплохой способ проверить отзывчивость компании.
🍹 «Сколько в Москве прямо сейчас движется вагонов метро?» спросили меня на первом в жизни собеседовании. По физтеховской привычке, взял я лист да начал молча решать, введя с пятёрку параметров в систему. Выдал какую-то жуткую формулу с разными диапазонами для ответа в зависимости от входа. Допускаю, что формула таки была верна, но смотреть её даже не стали, и я получил отказ. Благо я настоял на обратной связи, ответ меня тогдашнего убил: эта позиция предполагала тесную работу с заказчиком, а не точные решения задач. Ожидались доп. вопросы, рассуждения, допущения, да даже ход «а зачем вам вообще это знать; какую пользу пытаетесь получить для бизнеса» сошёл бы за корректный ответ.
🥃 Так я научился на любую входящую задачу задаваться вопросом «чтобы что», да и вообще сформировал привычку сначала «разговаривать», затем предлагать. Таким инструментом важно владеть не только аналитику, но и остальным участникам команды.
🥫— А теперь нарисуйте суп!
— Систему Управления Предприятием?
— Нет, обычный суп, с картохой.
Это уже с другого собеса, на котором умудрённый опытом я уже бодро вслух рассуждал, уточнял и предлагал. У меня тогда получилась bpmn’ка для ресторана и классы для кухни. Однако прочие подозрительные факторы меня отпугнили, и мы обоюдно решили не сотрудничать. Если вы уже middle и выше, а вам всё подсовывают то супы рисовать (проект был в далёкой от фудтеха сфере ПО для лифтов), то «давать определение слову определение», то «вычислять комбинации замка», знайте — это флажок. В лучшем случае им лень подобрать релевантный кейс для найма, в худшем — остальные процессы тоже через пень-колоду.
🍚 Напоследок насладитесь, как с дурегенерацией справляется GPT-4! Предлагайте свои решения в комментариях и делитесь примерами встреченных вами странных задачек.
#лайфхаки | Analyst Boost
🍜 Собес — это не только точка схождения ожиданий кандидата и возможностей компании, но и тизер атмосферы потенциальных 40 часов в неделю. Помимо мастерства самопрезентации стоит помнить и о встречной проверке самого работодателя: к каким процессам быть готовым, насколько токсична команда или заказчик, сколько кругов бюрократии за каждым углом и принесёт ли авантюра полезный (и нетравмирующий) опыт. Капель «лишних» N% на карту забудется уже после испыталки, а вот воспоминания о выгорании в угли сохранятся надолго, поэтому никогда сразу не соглашайтесь на предложение. Поспите, взвесьте всё на холодную голову и совершите активное действие (перезвоните сами) вместо пассивного кивка. Я несколько раз отказывался от очень щедрых на тот момент предложений именно благодаря этому «очевидному» приёму, ни разу не пожалел.
🍲 Премии — это, конечно, хорошо, но вы когда-нибудь пробовали свободу действий?
Впрочем, у каждого свой подход, и универсального рейтинга не составить: то, что отпугнёт одного, для другого будет бодрящим вызовом, а третий и вовсе не ощутит. Чтобы не осечься, подготовьте заранее свои вопросы дяде — QnA сессия обычно идёт в самом конце, поверьте, после стресс-теста лучше опереться на свои холодные заготовки, чтобы не жалеть об упущенном моменте. Если всё же осенило уже после беседы, не постесняйтесь сформулировать и направить HR’у свою просьбу прояснить оставшиеся моменты. Это тоже неплохой способ проверить отзывчивость компании.
🍹 «Сколько в Москве прямо сейчас движется вагонов метро?» спросили меня на первом в жизни собеседовании. По физтеховской привычке, взял я лист да начал молча решать, введя с пятёрку параметров в систему. Выдал какую-то жуткую формулу с разными диапазонами для ответа в зависимости от входа. Допускаю, что формула таки была верна, но смотреть её даже не стали, и я получил отказ. Благо я настоял на обратной связи, ответ меня тогдашнего убил: эта позиция предполагала тесную работу с заказчиком, а не точные решения задач. Ожидались доп. вопросы, рассуждения, допущения, да даже ход «а зачем вам вообще это знать; какую пользу пытаетесь получить для бизнеса» сошёл бы за корректный ответ.
🥃 Так я научился на любую входящую задачу задаваться вопросом «чтобы что», да и вообще сформировал привычку сначала «разговаривать», затем предлагать. Таким инструментом важно владеть не только аналитику, но и остальным участникам команды.
🥫— А теперь нарисуйте суп!
— Систему Управления Предприятием?
— Нет, обычный суп, с картохой.
Это уже с другого собеса, на котором умудрённый опытом я уже бодро вслух рассуждал, уточнял и предлагал. У меня тогда получилась bpmn’ка для ресторана и классы для кухни. Однако прочие подозрительные факторы меня отпугнили, и мы обоюдно решили не сотрудничать. Если вы уже middle и выше, а вам всё подсовывают то супы рисовать (проект был в далёкой от фудтеха сфере ПО для лифтов), то «давать определение слову определение», то «вычислять комбинации замка», знайте — это флажок. В лучшем случае им лень подобрать релевантный кейс для найма, в худшем — остальные процессы тоже через пень-колоду.
🍚 Напоследок насладитесь, как с дурегенерацией справляется GPT-4! Предлагайте свои решения в комментариях и делитесь примерами встреченных вами странных задачек.
#лайфхаки | Analyst Boost
🔥25😁4
🎤 Конференция Analyst Days 16 завершена 🎤
Организаторы оперативно поделились презентациями: дропбокс;
А программу можно найти здесь.
Мне в этот раз не удалось быть лично, но коллегу из команды напитываться знаниями направил, товарищ очень доволен. Записи обычно выкладывают через 6 месяцев, так что ждём, а пока можно вспомнить прошлую AD EA 1.
#доклады | Analyst Boost
Организаторы оперативно поделились презентациями: дропбокс;
А программу можно найти здесь.
Мне в этот раз не удалось быть лично, но коллегу из команды напитываться знаниями направил, товарищ очень доволен. Записи обычно выкладывают через 6 месяцев, так что ждём, а пока можно вспомнить прошлую AD EA 1.
#доклады | Analyst Boost
🔥20
🧑🎤 Конференция Analyst Days 15 🧑🎤
👩🎤 UPD: Опубликованы все доклады ноября 2022: Youtube playlist.
👨🎤 Прежние записи AD:
Презентации 16й конфы;
EA 1 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
Некоторых давних видео нет в YT, самый полный архив см. на vimeo.
#доклады | Analyst Boost
👩🎤 UPD: Опубликованы все доклады ноября 2022: Youtube playlist.
👨🎤 Прежние записи AD:
Презентации 16й конфы;
EA 1 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
Некоторых давних видео нет в YT, самый полный архив см. на vimeo.
#доклады | Analyst Boost
🔥28
Analyst Boost. Никита Харичкин
📟 Хакатоны и кейс-чемпионаты 📟 🎖 Хакерские марафоны... ... но без хакеров и бега: это соревнования по созданию прототипа продукта в сверхсжатые сроки, от нескольких недель до всего пары суток. Ориентированы на выявление потребностей заказчика, исследование…
🥷 Разбор отборочного этапа хакатона 🥷
👾 Тинькофф недавно завершил свои соревнования в т.ч. по направлению системного анализа, а сегодня ребята опубликовали эталонные решения первого этапа. 29 разнонаправленных вопросов, которые не оставили сеньорную публику равнодушными: Полный разбор.
🤖 От разминочных "Как сделать POST для создания заказа идемпотентным" и "Какое значение имеет поле userId в payload следующего JSON Web Token (JWT)
Приложение для работы с биржей было решено разделить на несколько микросервисов, один из которых будет выделен для работы только с криптовалютой. Какие утверждения про будущее приложение ошибочны?
• Приложению больше не требуется авторизация внешних вызовов, потому что технология блокчейн уже имеет достаточно высокую степень защищенности
• Генерация уникального traceId на уровне каждого приложения позволит однозначно идентифицировать ошибочные вызовы именно нашего приложения при разборе ошибок в системе трассировки Jaeger
• Для работы в режиме реального времени будет достаточно применения Firebase
• Использование мультирегиональности в Firebase позволит быстро «раскатить» приложение по всей стране и сохранить DeFi структуру исходного приложения
• Для хранения «холодных» данных достаточно использовать S3
• Потребуется новый вид тестирования E2E, которого не может быть в монолитном приложении
• Упростится масштабирование приложения и увеличится устойчивость к сбоям
• Перенос получения NPE для NFT повысит доступность нового приложения
• Использование стеганографии позволит уменьшить вероятность утечки данных больше, чем аутентификация
#артефакты | Analyst Boost
👾 Тинькофф недавно завершил свои соревнования в т.ч. по направлению системного анализа, а сегодня ребята опубликовали эталонные решения первого этапа. 29 разнонаправленных вопросов, которые не оставили сеньорную публику равнодушными: Полный разбор.
🤖 От разминочных "Как сделать POST для создания заказа идемпотентным" и "Какое значение имеет поле userId в payload следующего JSON Web Token (JWT)
eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJDLTNQTyJ9.kAtduYyxBxdNSdwPaJ80mYjp58edOi
r1J7_bCHCYFHc" до интерпретации представленных диаграмм и ещё вот такой красоты (попробуйте ответить, а уже затем проверьте себя):Приложение для работы с биржей было решено разделить на несколько микросервисов, один из которых будет выделен для работы только с криптовалютой. Какие утверждения про будущее приложение ошибочны?
• Приложению больше не требуется авторизация внешних вызовов, потому что технология блокчейн уже имеет достаточно высокую степень защищенности
• Генерация уникального traceId на уровне каждого приложения позволит однозначно идентифицировать ошибочные вызовы именно нашего приложения при разборе ошибок в системе трассировки Jaeger
• Для работы в режиме реального времени будет достаточно применения Firebase
• Использование мультирегиональности в Firebase позволит быстро «раскатить» приложение по всей стране и сохранить DeFi структуру исходного приложения
• Для хранения «холодных» данных достаточно использовать S3
• Потребуется новый вид тестирования E2E, которого не может быть в монолитном приложении
• Упростится масштабирование приложения и увеличится устойчивость к сбоям
• Перенос получения NPE для NFT повысит доступность нового приложения
• Использование стеганографии позволит уменьшить вероятность утечки данных больше, чем аутентификация
#артефакты | Analyst Boost
🔥21
🛫 Телега полезностей или воз инфошума? 🛬
🛩 Telegram продолжает работать над конверсией в подписку, посему недавно он обогатился функцией публичных папок. Пользователь собирает чаты в связку, создаётся постоянная ссылка на подборку, составитель делится детищем и оставляет за собой право управления составом папки. В бесплатном режиме количество и личных, и публичных папок ограничено. В результате, пока Павел Валерьевич растит метрики, читатели волнообразно тонут от притока новых каналов, а их авторы наблюдают приливы (на руку внутренней рекламе) и отливы (не понравится «живому» рекламодателю) подписчиков. Делюсь с вами такой организацией чатов, которая заставит работать непрочитки на вас, а не против.
🛰 Заводим архив, сразу жмём "спрятать из ленты". Добавляем в архив все большие группы, которые вы почитываете, но срочное реагирование в них не требуется, и каналы, контент которых вам важно отсмотреть хотя бы раз в сутки. Если страдаете от переполненной лички, то по тому же принципу смело добавляйте в архив несрочных собеседников. Отключаем уведомления в этих чатах, даже если считаете, что push'и и счётчик непрочитанных вам не мешают. Дорофеев вот уверен, что мешают. Не волнуйтесь, как только вам ответят или тегнут в группе, она выпрыгнет из архива в ленту чатов.
🛸 Заводим вторую симку (например, e-sim без абон. платы), на неё заводим новый пустой тг-аккаунт, добавляем его в приложении — теперь между ними легко переключаться. Создаём на основной учётке папку не вошедших в категории выше чатов и делимся ей со своим анон-аккаунтом.
🚁 Заводим локальные папки, даём максимально ёмкие названия либо назначаем эмодзи служить смысловыми пиктограммами, как сделал я. Упорядочиваем папки сначала по частоте обращения, затем по важности. Закрепляем самые частотные чаты внутри папок, включая базовую "Все чаты". Разбор стоит провести для обоих аккаунтов, ведь в его процессе приходит понимание, от каких сущностей пора отписаться. Видите счётчик за сотню непрочиток в канале — смело сокращайте свою ленту.
✈️ @Analyst_Boost был включен в одну из таких подборок: Каналы Физтехов. Рекомендую ознакомиться с перечнем осознанно: добавить папку на второй аккаунт, далее пройтись по каждому каналу и прочитать интро из закрепа + два свежих поста — если суть была ясна, и в голове не возникло желания отвлечься — смело оставляйте канал. Если иначе — будет небесполезно отписаться. С некоторыми авторами я знаком лично, но многих открыл для себя впервые, за что спасибо организатору — Денису Айвазову. Пишите в комментариях, какими из орг. практик для телеги уже пользуетесь и делитесь своими.
#лайфхаки | Analyst Boost
🛩 Telegram продолжает работать над конверсией в подписку, посему недавно он обогатился функцией публичных папок. Пользователь собирает чаты в связку, создаётся постоянная ссылка на подборку, составитель делится детищем и оставляет за собой право управления составом папки. В бесплатном режиме количество и личных, и публичных папок ограничено. В результате, пока Павел Валерьевич растит метрики, читатели волнообразно тонут от притока новых каналов, а их авторы наблюдают приливы (на руку внутренней рекламе) и отливы (не понравится «живому» рекламодателю) подписчиков. Делюсь с вами такой организацией чатов, которая заставит работать непрочитки на вас, а не против.
🛰 Заводим архив, сразу жмём "спрятать из ленты". Добавляем в архив все большие группы, которые вы почитываете, но срочное реагирование в них не требуется, и каналы, контент которых вам важно отсмотреть хотя бы раз в сутки. Если страдаете от переполненной лички, то по тому же принципу смело добавляйте в архив несрочных собеседников. Отключаем уведомления в этих чатах, даже если считаете, что push'и и счётчик непрочитанных вам не мешают. Дорофеев вот уверен, что мешают. Не волнуйтесь, как только вам ответят или тегнут в группе, она выпрыгнет из архива в ленту чатов.
🛸 Заводим вторую симку (например, e-sim без абон. платы), на неё заводим новый пустой тг-аккаунт, добавляем его в приложении — теперь между ними легко переключаться. Создаём на основной учётке папку не вошедших в категории выше чатов и делимся ей со своим анон-аккаунтом.
🚁 Заводим локальные папки, даём максимально ёмкие названия либо назначаем эмодзи служить смысловыми пиктограммами, как сделал я. Упорядочиваем папки сначала по частоте обращения, затем по важности. Закрепляем самые частотные чаты внутри папок, включая базовую "Все чаты". Разбор стоит провести для обоих аккаунтов, ведь в его процессе приходит понимание, от каких сущностей пора отписаться. Видите счётчик за сотню непрочиток в канале — смело сокращайте свою ленту.
✈️ @Analyst_Boost был включен в одну из таких подборок: Каналы Физтехов. Рекомендую ознакомиться с перечнем осознанно: добавить папку на второй аккаунт, далее пройтись по каждому каналу и прочитать интро из закрепа + два свежих поста — если суть была ясна, и в голове не возникло желания отвлечься — смело оставляйте канал. Если иначе — будет небесполезно отписаться. С некоторыми авторами я знаком лично, но многих открыл для себя впервые, за что спасибо организатору — Денису Айвазову. Пишите в комментариях, какими из орг. практик для телеги уже пользуетесь и делитесь своими.
#лайфхаки | Analyst Boost
🔥15🤩2
Никита_Харичкин_@Analyst_Boost_PlantUML_с_нуля_до_гуру_Конференция.pdf
2.4 MB
🏭 PlantUML с нуля до гуру: Учимся «кодить» sequence-диаграммы 🏭
В общий доступ выложили мой мастер-класс с конференции Flow'22: YouTube
Прикладываю презентацию, весь контент в ней копируемый, пользуйтесь на здоровье.
Вопросы по псевдоязыку мы активно разбираем в tg-группе, заходите, всем рады: @plant_uml
🏗 В качестве бонуса небольшой лайфхак:
вместо
Для кратких сценариев смело используйте
Копируемый код с комментариями и картинка в посте ниже.
#доклады | Analyst Boost
В общий доступ выложили мой мастер-класс с конференции Flow'22: YouTube
Прикладываю презентацию, весь контент в ней копируемый, пользуйтесь на здоровье.
Вопросы по псевдоязыку мы активно разбираем в tg-группе, заходите, всем рады: @plant_uml
🏗 В качестве бонуса небольшой лайфхак:
вместо
activate и deactivate можно использовать ++ и --. Когда активация разделена блоками альтернатив, бывает удобно писать полноценный activate, чтобы видеть начало и конец "полоски" и сворачивать блок кода в IDE или наглядно присваивать цвет.Для кратких сценариев смело используйте
++ и --.Копируемый код с комментариями и картинка в посте ниже.
#доклады | Analyst Boost
🔥29
Analyst Boost. Никита Харичкин
Никита_Харичкин_@Analyst_Boost_PlantUML_с_нуля_до_гуру_Конференция.pdf
@startuml plusplus_activation
autonumber 0
'из-за лишнего hidden шага приходится стартовать нумерацию с 0
actor Пользователь as user #LightCyan
participant "Приложение" as client #LemonChiffon
database "База Данных" as db
queue "Брокер" as b
'activate user
user -[hidden]-> user ++ #LightCyan: a
user -> client ++ #LemonChiffon: Активировать элемент\nуправления
'activate client
par
client -> b ++: Отправить запрос в очередь
'activate b
else
client -> db: Сохранить запрос в кэш
end
opt
user -> client --: Сделать скриншот
end
'deactivate user
alt #f0feed Операция успешна
b --> client: Передать ответ
client -> client: Отобразить сообщение
else #fff0f5 Истёк Timeout
client <-- b --: Передать код ошибки
end
'deactivate b
loop 2 раза
client -> db --: Сохранить лог ошибки
end
'deactivate client
@enduml
#лайфхаки | Analyst Boost🔥21🤩3
🔥 Запускаем осенний поток 🔥
👨🎓 Сегодня ещё один наш выпускник порадовал меня добытым оффером. Сергей, мои поздравления! А я, в традиционной паузе между наборами, ещё немного доработал курс. Честно скажу, опасаюсь за доступность продуктов Atlassian, однако это лишь инструмент, что нашей практике вовсе не преграда.
🎯 Группа почти укомплектована, спасибо всем, кто ждал черёд с прошлого набора! У нас ещё осталась пара мест, так что пишите, контакт в закрепе.
📖 Принципы курса отражены здесь, а подробная программа доступна по той же ссылке с перенаправлением.
🚀 Приходите сами, делитесь с заинтересованными знакомыми! Спешите успеть, начинаем с бесплатного вводного занятия уже 23 августа.
#объявления | Analyst Boost
👨🎓 Сегодня ещё один наш выпускник порадовал меня добытым оффером. Сергей, мои поздравления! А я, в традиционной паузе между наборами, ещё немного доработал курс. Честно скажу, опасаюсь за доступность продуктов Atlassian, однако это лишь инструмент, что нашей практике вовсе не преграда.
🎯 Группа почти укомплектована, спасибо всем, кто ждал черёд с прошлого набора! У нас ещё осталась пара мест, так что пишите, контакт в закрепе.
📖 Принципы курса отражены здесь, а подробная программа доступна по той же ссылке с перенаправлением.
🚀 Приходите сами, делитесь с заинтересованными знакомыми! Спешите успеть, начинаем с бесплатного вводного занятия уже 23 августа.
#объявления | Analyst Boost
Telegram
Analyst Boost. Никита Харичкин
🎯 Основные принципы курса 🎯
Analyst Boost — это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.
Analyst Boost —…
Analyst Boost — это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.
Analyst Boost —…
🔥9🤩5
👣 Как в PlantUML выудить номер шага? 👣
В своих докладах я делился прекрасной функцией autonumber, которая сама нумерует шаги, сколько их не добавляй. Однако коллега в сообществе столкнулся с интересной потребностью: динамически высчитывать номер шага под конкретный интересующий его вызов.
🦶 Порассуждаем на примере. Допустим, у меня описана сложная и многокомпонентная интеграция, детали вызовов постоянно уточняются, добавляются новые шаги, какие-то упраздняются. Т.е. порядковый номер для конкретного интересующего нас вызова из A в B будет постоянно "скакать". Как же быть, если мы хотим далее ссылаться на тот самый вызов? Руками прописывать в ссылке номер шага? Тогда придётся постоянно следить, чтобы при обновлении диаграммы он был актуальным. Велика вероятность ошибки. Т.о. осознаём, что нам нужно динамически понимать, какой же номер сам plantUML присваивает важному вызову. Здесь я нашёл 3 способа:
1️⃣ Простой. Сохранять автономер в переменную
Ограничение в том, что тип параметра
2️⃣ Явный. Создать функцию инкремента, чтобы итератор был целочисленным
Тогда не придётся повторять инкремент в коде после каждого вызова:
#лайфхаки | Analyst Boost
В своих докладах я делился прекрасной функцией autonumber, которая сама нумерует шаги, сколько их не добавляй. Однако коллега в сообществе столкнулся с интересной потребностью: динамически высчитывать номер шага под конкретный интересующий его вызов.
🦶 Порассуждаем на примере. Допустим, у меня описана сложная и многокомпонентная интеграция, детали вызовов постоянно уточняются, добавляются новые шаги, какие-то упраздняются. Т.е. порядковый номер для конкретного интересующего нас вызова из A в B будет постоянно "скакать". Как же быть, если мы хотим далее ссылаться на тот самый вызов? Руками прописывать в ссылке номер шага? Тогда придётся постоянно следить, чтобы при обновлении диаграммы он был актуальным. Велика вероятность ошибки. Т.о. осознаём, что нам нужно динамически понимать, какой же номер сам plantUML присваивает важному вызову. Здесь я нашёл 3 способа:
1️⃣ Простой. Сохранять автономер в переменную
!$autonum = "%autonumber%"И добавлять такую метку в каждый интересующий нас вызов (создаём аналог якоря в Confluence).
Ограничение в том, что тип параметра
autonum останется string, и никаким %intval это не сконвертировать в int. Т.е. записывать значение в итератор не получится. Каждая операция i++ будет вызывать конкатенацию строк, а не сложение.2️⃣ Явный. Создать функцию инкремента, чтобы итератор был целочисленным
!function $step($a)В таком случае придётся вызывать её после каждого вызова, чтобы увеличивать самописный счётчик шагов. Можно делать это и без функции, напрямую:
!return $a + 1
!endfunction
!$i = $i + 13️⃣ Изящный. Создать и вызывать процедуру, которая номер шага и увеличит, и вернёт его значение
Тогда не придётся повторять инкремент в коде после каждого вызова:
!procedure $stepper($a)
$step($a)
!global $i = $i+1
!endprocedure
Полный код и диаграмма в посте ниже. Я был удивлён, что на форуме планта никто явно такие решения не предлагал, хотя вопрос возникал не раз. Если знаете ещё более наглядный или изящный способ — делитесь в комментариях.#лайфхаки | Analyst Boost
🔥15🤩4
Analyst Boost. Никита Харичкин
👣 Как в PlantUML выудить номер шага? 👣 В своих докладах я делился прекрасной функцией autonumber, которая сама нумерует шаги, сколько их не добавляй. Однако коллега в сообществе столкнулся с интересной потребностью: динамически высчитывать номер шага под…
@startuml @Analyst_Boost autonumbers#лайфхаки | Analysst Boost
autonumber
'Наш счётчик шагов $i
!$i = 0
== %autonumber% ==
!$AN = "%autonumber%"
a -> b: autonum: $AN
'Если записать в наш итератор значение autonum'а AN, то он
'станет string, и сложение сработает как конкатенация строк
!$i = $AN + 1
!$request_A = $AN
note left
i+1: $i
autonum: $request_A
endnote
== Function or ++ ==
!function $step($a)
!return $a + 1
!endfunction
!$i = 1
a -> b: autonum: $AN | Функция: $step($i)
!$i = $i + 1
a -> b: autonum: $AN | Функция: $step($i)
!$i = $step($i)
a -> b: autonum: $AN | Функция: $step($i)
!$i = $step($i)
!$request_B = $i
note left
i: $request_B
endnote
== Procedure ==
!procedure $stepper($a)
$step($a)
!global $i = $step($i)
!endprocedure
a -> b: autonum: $AN | Процедура: %invoke_procedure($stepper, $i)
a -> b: autonum: $AN | Процедура: %invoke_procedure($stepper, $i)
!$request_C = $i
note left
i: $request_C
endnote
@enduml
🔥12