Analyst Boost. Никита Харичкин
Open in Telegram
Лучшие практики, опыт, инструменты, статьи и мысли на тему как системного и бизнес-анализа, так и карьеры в целом. Запись на курс AnalystBoost: @avtolicsipu
Show more5 407
Subscribers
No data24 hours
+57 days
+4130 days
Posts Archive
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
🔟 Бесплатных тренажёров и плейлистов по 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
✒️ Утверждён обновлённый профстандарт "Технический писатель" 🖋
🖌 ПС утверждается Минтрудом и рядом смежных инстанций, обычно используется при составлении образовательных программ, должностных инструкций, карт компетенций и индивидуальных планов развития, поэтому для сообщества очень важно поддерживать его в актуальном состоянии. Редакция вступает в силу уже в марте.
🖍 Помимо уточнений и дополнений по функциям, обязанностям и навыкам, введено и новое направление — управление знаниями о продукте. "Харды" смежного специалиста, на которые в моём понимании важно обратить внимание аналитику:
• "Принципы поисковой оптимизации и инф. архитектуры"
• "Строить карты знаний и матрицы компетенций ..."
• "Получение и обработка обратной связи от пользователей базы знаний"
• "Создание описаний ... API и средств разработки приложений (SDK)"
• "Работать с системой контроля версий"
• "Исследовать ... на тестовом стенде"
• "Использовать средства автотестирования (верификации) и средств проверки синтаксиса (статических анализаторов)"
📝 Любопытная разница между ПС "Системный аналитик" (2014г|2022г) и ПС тех. писателя:
» ТП: "Программирование в объеме программы технического вуза"
» СА: "Программировать на базовом уровне (в пределах требований ФГОС Среднее общее образование)"
При формировании стандарта для СА на эту тему было много споров, что и отразилось на содержании.
✏️ На прошедшей конференции я узнал, что ТП уже сравнялся по зарплатным ожиданиям с СА. Судя по стандарту, аналитику есть чему поучиться у своего коллеги. Рекомендую каждому, кто хоть немного причастен к созданию документации, от аналитика до разработчика, ознакомиться со свежей версией. Возможно, что-то захочется включить в свой путь развития, либо же вежливо запросить у своего коллеги.
🤖 Разве может робот написать симфонию? Спорно. А вот разработать тех. документацию — вполне. 🤖
🍏 OpenAI, детище Маска и ко, выдало доступ к ChatGPT — нейросетевому чат-боту, который не только очень умело ведёт диалог, но и генерирует небесполезный код. Твиттер бурлит примерами продуктов и сайтов под ключ за 10 минут (1|2|3|4|5). Картинка в посте — целиком его механических рук дело.
🍎 Т.к. бот выдаёт только текстовые ответы, то диаграмму или картинку с него не получить. Но ведь можно попросить его подготовить такое символьное описание, которое затем можно переправить другому боту на вход, тому же ruDALL-E или midjourney. Конечно же, уже сделали тг бота, который такую цепочку воспроизвёл. И расширение Chrome, которое включает результаты поисковой выдачи в работу сетки.
🍐 Однако мне интересен разрез автоматизации написания документации. Простыми вопросами бота можно заставить подробно откомментировать и отдебажить код, как если бы рядом сидел разработчик-рассказчик. Ну или почти. Т.е. получится описание по готовому, можно встраивать в Doc-as-Code pipeline. В ГОСТовые стандарты сетка не умеет, но зато как волшебно генерирует PlantUML! (1|2)
🍋 Интересный эксперимент со спецификацией требований к LMS провёл Юрий Куприянов. Бот умеет не только формировать бэклог и диаграммы, но и проектировать разного рода API, причём не только CRUDL операции. Нейросеть не вытеснит аналитика с рынка, но жизнь упростить способна. Печатная машинка ведь не уничтожила писателей, а лишь дала доступ более широкой аудитории к ремеслу. А где больше людей, там и здоровая конкуренция, что нашей сфере только на пользу.
🍑 Мои рекомендации:
• Любой рабочий запрос к гуглу сначала прогнать через бота
• Если нужно насочинять какой-либо перечень, прикинуть срез рынка или самые популярные решения в нише — стучитесь к сетке в ЛС
• Не злоупотреблять сеткой для выполнения тестового задания на вакансию
• Если вы собеседующий, то прогнать свои кейсы через сетку и сделать правильные выводы
• Не передавать никаких чувствительных данных
• Экспериментировать! Тимофей, мой товарищ по Физтеху, проводит завтра открытый ChatGPT хакатон, дабы вместе с сообществом родились новые продукты
🎤 UPD: Прошёл мой мастер-класс по PlantUML 🎤
📆 30.11.22
📍 Онлайн, записи доступны
💸 Бесплатно, нужна регистрация
🚓 На интерактивном мастер-классе мы вместе:
🚗 Создали простейший Sequence и модифицируем его
🚕 Потренировали командную работу над диаграммой с импортом из Git
🚙 Разобрали частые ошибки, лайфхаки и реальные примеры из практики
🚚 Поговорили о продукте и его online- и offline-моделировании
🚛 Обсудим цветовую дифференциацию, функции, процедуры и прочее
🏎 И целый час после обсуждали всё на свете.
См. Запись моего выступления
Записи докладов других классных спикеров (с тегом comday):
📕 13:45 Документация в коде. Сергей Гришанов, Евгений Зингер
📗 16:15 Распределенный высоконагруженный BI-движок — как сделать массовую облачную BI-аналитику доступной для человечества. Александр Сербул
📘 17:30 User Story Splitting: как и зачем добавлять детали пользовательским историям. Юрий Куприянов
📙 18:45 Нефункциональные требования: как их определять. Наталья Желнова
#доклады
❔ Никита, почему так часто пропадаешь? ❔
Готовил для вас крутой интерактив, буду рад всех завтра видеть!
🧰 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
#артефакты #инструменты
🧱 Составные приложения 🧱
🧩 СП состоят из пакетных бизнес-ориентированных компонент, что позволяет переиспользовать код, упростить сопровожденте и оперативно релизиться.
Одним из гибких подходов к формированию СП является разработка единой платформы — унифицированного SDK, потенциально совместимого со всей линейкой продуктов компании.
🛤 Развитие отдельной платформы как продукта интересно большим компаниям и экосистемам с разветвлённой сетью цифровых продуктов. Если вы владелец заводов, газет, пароходов, то вам невыгодно параллельно создавать и поддерживать одни и те же функции для всех своих предприятий. Например, механизм конвейера — гораздо проще его однажды изобрести и только потом тиражировать по своим предприятиям, где затем настраивать под нужды конкретного производства.
🎛 Такой же принцип и у SDK: его можно встраивать в клиентские приложения и использовать для прошивок физических устройств (телефонов из переговорок, телеприставок, устройств умного дома). Уже не нужно в каждой дочерней компании строить с нуля, например, систему телеконференц-связи.
📦 Ключевые принципы построения такой платформы:
• Независимо развивающийся модуль, поставляющий конечную ценность потребителю,
• Гарантия единого пользовательского опыта на всех устройствах,
• Расширяемость и модульность решения.
🗄 При этом не стоит воспринимать SDK как очередную интеграцию. Будучи автономной частью родительского приложения, SDK гораздо проще в сопровождении и масштабируемости за счёт:
• Возможности гибкого управления — переключения функций и изменения конфигураций,
• Единого SDK-механизма сбора метрик, однозначно интерпретируемого среди всех инсталляций,
• Развития собственного API.
🗳 Уверен, что в конкурентной борьбе крупнейших корпораций спрос на такой подход будет только расти.
#мысли
🫲 Что повторить перед собеседованием? 🫱
Инсайты от Tinkoff и мои рекомендации одним постом
1. Спецификация OpenAPI | Инструмент Swagger Editor | Документирование REST API от starkovden
2. Очереди и (а)синхроннщина. Различия и причины выбора
3. Микросервисы | Паттерны работы с ними
4. SOAP vs REST vs GraphQL vs gRPC | HTTP Методы и ошибки| Идемпотентность
5. Кэширование данных, реализация инвалидации
6. Обратная совместимость и версионирование API
7. Нефункциональные требования от babok-school
8. Kafka и её компоненты | Принципы работы
9. СУБД | (Не)реляционные БД, виды, различия | Книга NoSQL Distilled | Ключи в БД | Нормальные формы + wiki
10. Табличные индексы: Необходимость | Корректность | Последствия | Уникальность | Оптимизация
11. План запроса в PostgreSQL | EXPLAIN | ANALYZE
12. Транзакции | Хабр | ACID, CAP | Видео | План выполнения запроса | Шаблон Saga
13. Партиционирование | Шардинг | Секционирование
14. SQL на тренажёрах: SQL Academy | SQL-ex
⚾️ Лично дополнительно рекомендую 🥎
15. Хореография и оркестрация (доклад). Плюсы, минусы | Способы реализации
17. Сергей Константинов про API
18. Ещё REST | RESTful | JSON | Цикл статей от Ranga Karanam
19. JSON-RPC | Лучше REST'а? | Надёжнее REST'а?
20. Пробный тест от Neoflex
21. Брайан Кукси. An introduction to APIs
#статьи
🧑🎤 Конференция Analyst Days EA 1 👩🎤
Выложены материалы:
🎬 Плейлист видео докладов (здесь — с англ. версиями)
🎼 Программа и презентации (см. внутри каждого доклада)
🎰 Как фанат автоматизации, хочу обратить внимание на доклад "Documentation-as-Code или как мы источники платформы данных описываем" коллег из СберЗдоровья, которые использовали интересный инструмент datahubproject.io.
🎗Спасибо организаторам за столь скорую публикацию.
#доклады
🧶 Неоднозначные термины, слова-ловушки 🧵
Недвусмысленность и проверяемость — важные критерии качества требований. Ниже приведены "опасные" для употребления термины и способы борьбы с ними. Рекомендуется включить в чек-лист ревью артефакта и пробегать их ctrl+F'ом. Основано на списке от Карла Вигерса.
🌵Приемлемый, адекватный, выполнимый, эффективный, цельный, прозрачный, бесшовный, достаточный, реальный || Указать, как система это может проверить, оценить. Задать конкретные измеримые значения. Указать степень параметра, свидетельствующего о достаточности
🎄Быстрый, мгновенный, моментальный || Задать конкретные значения скорости и быстродействия
🌲Дружественный, простой, лёгкий || Описать системные характеристики, закрывающие потребности пользователей по лёгкости, простоте и пр.
🌳Улучшенный, более быстрый, превосходный || Задать значение дельты изменения, либо итоговую величину
🌴Поддерживает, позволяет || Определить, действия системы, поддерживающие конкретную возможность
🌱Включает, такой как || Привести полный список элементов
🌿По меньшей мере, как минимум, не более чем, не должно превышать, между, несколько, максимизируйте, минимизируйте, оптимизируйте || Задать явно границы: 0 < N < 10
☘️Обычно, в идеале, устойчивый к сбоям || Описать исключения и отклик системы при нештатных условиях
🍀Гибкий, А зависит от Б, разумный, при необходимости, при соответствующих условиях || Переформулировать в "если <условие>, то <действие>"
🪴Необязательно, опционально || Указать, кто делает выбор: система, пользователь или разработчик
🍃Не следует, не должен, не <глагол> || Формулировать только в утвердительной форме (без НЕ), описывая ДЕЙСТВИЯ, а не бездействие системы, т.к. второе не нуждается в реализации.
Вместо "Без ID система не должна обработать запрос" писать "Система должна обработать запрос только при наличии ID"
#лайфхаки
🕺🏻Набор в осенний поток окончен! 💃🏻
Начинаем занятия с группой в эту среду, 5.10 в 19-00 по Мск.
Самое первое занятие — обзорное, бесплатное. Кому интересно узнать про курс от меня вживую — пишите @avtolicsipu, приходите на занятие, всех жду. Это последний шанс занять дополнительное место в нашей уютной группе.
А теперь возвращаемся к классическим постам в канале.
🔥 Идёт набор в осенний поток 🔥
🎯 Сейчас активно формируется группа для занятий на новом потоке. Напомню некоторые основные принципы:
Analyst Boost — это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.
Analyst Boost — это не разрозненные куски домашней работы, схожие по содержанию среди обучающихся.
Analyst Boost — это единый, цельный и уникальный проект, который свеж на идею и привлекателен для работодателя своей “нешаблонностью”.
📖 Подробную программу можно найти здесь: ссылка с перенаправлением.
🚀 Приходите сами, делитесь с заинтересованными знакомыми! Спешите успеть, пока есть места!
♨️ Импорт внешних данных внутрь диаграммы PlantUML ♨️
PlantUML позволяет включать файлы подобно импорту библиотек. На картинке приведён весь код отрисованного агрегата, кроме служебных start/enduml:
🅾️ BaseURL
Описание локальной функции по возврату базового URL вашего пространства к импортируемым файлам
🅰️ Прямой импорт файла
Необходимо вставить !include в нужное место диаграммы-агрегата в вашем коде.
🅱️ Вставка в функцию
Вызываем заданную выше функцию BaseURL и передаём ей название файла или путь к нему.
🆑 Процедура %LoadJSON
Внешняя процедура, позволяющая загрузить json по ссылке. Можно картинкой, можно кодом, но без json-форматирования.
🆘 Возможные трудности
• Alias’ы участников должны совпадать по всем диаграммам
• Будет применён тот параметр отображения, который встретился в коде последним (например, MaxMessageSize применяется = 100. Аналогично и для прочих, общих на весь файл параметров)
• Импорт не сработает, если безопасность не разрешает доступ из вашего контура вовне
#лайфхаки
🤫 Тихий уход aka Quiet Quit 😶🌫️
Это оттенок выгорания в эпоху экономической неуверенности: вместо "громкого" явного ухода с декларацией намерений и конкретным сроком получается "трудовая внутренняя эмиграция". Коллега молчаливо (тихо) отказывается от выполнения задач сверх минимально одобряемого плана и делает всё, чтобы просто удержаться на своём месте. Амбиции что-то улучшить, достичь и развиться заменяются на режим "экономии заряда".
В привычном выгорании это приводило к смене работы и закрытию потребностей на новом месте. Сейчас же, когда слово "планы" стало эфемерным как двойная радуга, риск потерять ощущение стабильности заставляет сотрудника не расставаться с работодателем раньше времени. Однако ему приходится жертвовать своим развитием ради сохранения тех крох своего ресурса, которые ещё не истлели.
Как с этим бороться? Я бы сказал, что, как обычно — честным регулярным диалогом. Завести one-to-one раз в неделю и без спешки обмениваться мыслями на все темы, и да, даже не только на рабочие. Дайте понять коллеге, что вы тоже человек со своими чувствами и переживаниями, поделитесь с ним, как лично вам удаётся самосохраняться. Постарайтесь закреплять отметки, к которым хотелось бы прийти, будьте открыты, дружелюбны и не давите.
Статья на тему: ссылка.
#мысли
Как правильно "кодить" в PlantUML?
🌜Локально🌛
▪️Git: скачать
○ Ctl+Shift+X (Вкладка View → Extensions): PlantUML (by jebbs)
○ Скачать: java || graphviz
○ Github.vscode-pull-request-github || видео и инструкция.
▪️Visual Studio Code: скачать
○ Обновить preview: Alt+D (Option+D)
○ Курсор строго между @ startuml и @ enduml
○ Command Palette (F1 или Ctrl+Shift+P) и набираем команду: Export Current Diagram. Доступны:
○ PNG, SVG, EPS, PDF, VDX, XMI, SCXML, HTML, TXT, UTXT, LaTeX
▪️Редактор Atom: скачать
○ file → settings → install: plantuml-viewer или plantuml-preview
○ !function и некоторые другие фишки не поддерживаются
🌜Онлайн🌛
• Kkeisuke редактор
• Planttext редактор
• Confluence Macro
#лайфхаки
PlantUML — инструмент отрисовки диаграмм из текста
♦️ Diagram-as-a-Code подход: изображения идемпотентно генерируются из псевдокода. Код лёгок для восприятия и прост в сопровождении чужих наработок.
♠️ Компиляция моментальна: редакторы подсветят некорректный синтаксис, поправят картинку на лету и выдадут файл в LaTeX , PNG и SVG расширениях. Последний интерактивен с гиперссылками.
♣️ И онлайн, и офлайн: работайте хоть из браузера с любого устройства, хоть локально в IDE, чтобы не бояться рабочего VPN, плохого интернета и утечек чувствительных данных.
♥️ Интеграция git: отслеживайте изменения, ведите совместную командную работу над end-to-end сценарием, не мешая друг другу
🃏 Open Source популярность: PlantUML дорабатывается сообществом и встроен во многие системы, например, Confluence. Полный список здесь: ссылка.
#инструменты
Нотации: кто такие и зачем нужны?
Нотация — совокупность графических элементов, применяемых в моделях. Т.е. это система условных обозначений, которая закрепляет:
• Каким образом мы отражаем на диаграмме процессы, операции, события, объекты и прочие сущности,
• По каким правилам соединяем их между собой,
• Как их следует интерпретировать.
Иногда, имея в виду нотацию в определённом выше смысле, говорят о понятиях "методология" или "метод". Для первого знакомства перечислим лишь некоторые нотации, о которых стоит знать аналитику. От субъективно наиболее популярных глобально к более редким:
• UML: Unified Modeling Language
• BPMN: Business Process Model and Notation
• ER: Entity-Relationship
• DFD: Data Flow Diagram
• IDEF семейство: I-CAM DEFinition или Integrated DEFinition
• EPC: Event-driven Process Chain
• ARIS: Architecture of Integrated Information Systems
• CPN: Coloured Petri Net
• Блок-схемы, ГОСТ 19 и 34 и ДРАКОН: Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность.
#нотации
