analyst.exe | просто о сложном в IT – Telegram
analyst.exe | просто о сложном в IT
371 subscribers
238 photos
28 videos
3 files
238 links
Помогаю аналитикам понять, а не просто делать
Чат — @analyst_balabol
Админ, душнила и такой же как ты — @darkwing_duck101
Download Telegram
⚡️⚡️⚡️Нас уже 300!⚡️⚡️⚡️

Так держать — движемся к первой круглой 🎯 пятисотке!

⚙️ Скоро запускаю закрытое тестирование одной полезной штуки — только для подписчиков канала.

Анонс будет в воскресенье. Не переключайтесь!

p.s. не удержался, кто понял, тот понял
analyst.exe | чат
1👍75🔥4
Я люблю тележку, но часто мне сложно за всем уследить.
И вот куда я потратил 3 часа теплым майским вечером:

Настроили ИИ, залили кофе, но всё равно горят дедлайны — неделя выдалась бодрой
#ai_analyst_digest@analyst_exe

🎤 Конференц-охота
@CrazyElephant_note достал из рукава пачку открытых CFP: VideoTech 2025 (https://conf.com/callforpapers/), Sma Data 2025, Flow 2025 Autumn и BiasCon 2025 — хватай тему и отправляй заявку (t.me/CrazyElephant_note/720). А @korenevskaya_galina зовёт 22 мая на Fintech x Analysis обсудить, как аналитику перейти из роли «писаря» в «стратега» (t.me/korenevskaya_galina/86).

💻 Локальный AI: «медленно, но любопытно»
Герой @CrazyElephant_note пытался подружить Ollama c Deepseek R1 прямо на M1-маке. Итог — тормоза и выключенный вентилятор, но Use Case-генератор всё-таки сэкономил пару часов (t.me/CrazyElephant_note/721). М4 Pro нужен срочно, иначе мечта о приватном LLM будет ждать отпуска.

🖍️ Диаграммная лихорадка
@bpmn2ru раскрыл «главный секрет» токенов BPMN и пофиксил баги в своём редакторе (t.me/bpmn2ru/1662). @data_phil добавила гайд, как выжить в дебрях UML с помощью PlantUML и Draw.io (t.me/data_phil/73). В довесок StormBPMN сгенерировал статью по методам сбора требований из вебинара @korenevskaya_galina — машинное перо оказалось бодрее человеческого (t.me/korenevskaya_galina/87).

Карьерные чайники и прочие притчи
@data_phil вспомнила китайского мудреца: восточный брак — холодная вода на горячей плите, западный — наоборот (t.me/data_phil/69). Совет для рынка труда ясен: грейте «плиту» условий, а не ждите искры. Там же — разнос мифа про «технарей» и «гуманитариев»: аналитика не делится бинарно (t.me/data_phil/76).

😂 Мемы, нервы, лог-файлы
@analyst_exe показал некультурный мем про продактов, забывающих про «зачем» (t.me/analyst_exe/459), а @CrazyElephant_note услышал от разработчиков боль о логах и передал без купюр (t.me/CrazyElephant_note/731). Если же лимит бесплатной нейросети у вас вышел — не переживайте, @data_phil тоже страдает (t.me/data_phil/77).

Итог недели
Зовут выступать везде, учиться рисовать диаграммы стало проще, а личный AI снова упёрся в железо. В остальном всё как всегда: мемы лечат нервы, чайники кипят, а мы продолжаем искать ответ на сакральное «зачем» до дедлайна.

Отслеживаемые каналы: @CrazyElephant_note @analyst_exe @bpmn2ru @data_phil @korenevskaya_galina

Накидайте лайков, если выпускать такую по воскресеньям.

Если считаете, что кого-то надо добавить - напишите @darkwing_duck101
analyst.exe | чат
🔥104💯1
🛠Ищу отряд бета-тестеров для нового телеграм-бота, который будет экономить время аналитикам — и никуда выходить не придётся.

Открою первую версию уже сегодня-завтра — нужно проверить, покликать и честно рассказать, что болит.

Что хочется сделать:
- протестировать первую версию и поиграться с идеями;
- дать откровенную обратную связь;
- накидать улучшения: фичи, сценарии, лайфхаки.

Кому будет особенно полезно:
- тем, кто хочет прокачать аналитические навыки;
- соискателям или тем, кто готовится к собеседованиям — да, тот самый спойлер.

Если интересно, оставь плюсик в комментариях или напиши в личку @darkwing_duck101. Добавлю в закрытый чат и пришлю ссылку.

У нас все как обычно, бесплатно, без СМС и регистрации

Приходи дорогой — сделаем инструмент, которым самим будет приятно пользоваться.
analyst.exe | чат
🔥53
#meme@analyst_exe
Почему еще нет группы?

Мем в понедельник, сворованный из рабочего чата, ответит вам за меня

Скоро....
analyst.exe | чат
🔥6😁3
#советы@analyst_exe
Расскажу вам классику этого мира — или зачем разбираться, как работает ИТ

Есть целые сервисы, которые отслеживают ошибки на маркетплейсах — например, как купить айфон за 60 рублей.

Причина часто банальна: пробел затесался в цену, человек что-то не туда вставил или просто уснул за Excel.

Если система такие ошибки не ловит — вы получаете законную возможность купить товар по этой цене. А если продавец отказывается — есть шанс выиграть суд. И многие этим не стесняются пользоваться. А что, ролик про костю актуален.

🟠 Пример из жизни. Есть сайт агрегатор (сайт скрыт в целях безопасности), у них данные загружаются вручную или через интеграции. Обычно на старте партнёру выдают Excel-шаблон.

И вот дальше всё зависит от того, как обработан этот Excel.

Обычно файл обрабатывается построчно.
Что делать, если:
- 10 строк валидны, 5 — с ошибками?
- Сохраняем частично или откатываем всё?

📍 В любом случае важно:
- Показать, где ошибка и почему
- Указать требования:
- формат
- максимальная длина
- обязательность
- допустимость 0
- тип данных и т.д.

🛠 Для описания атрибутов удобно использовать OpenAPI
Для масок ввода — regex, regex101.com или GPT помогут.

Примерчик

price:
type: string
pattern: "^\d+(\.\d{1,2})?$"
maxLength: 10
example: "1999.99"
denoscription: "Цена в рублях. Только цифры и точка — без пробелов, символов валюты и запятых."


Если надо поговорить о том, чем "пример" в json отличается от "контракта" - дайте знать, сделаю пост

🟠 В случае с этим сайтом, похоже, проверку на пробелы в числах не добавили:
Цена скопирована, например, из Google Таблиц — и вставляется в Excel с пробелами. Получаем товар за 100 рублей вместо 10000.

🧩 Казалось бы, мелочь — а последствия серьёзные.

Для любопытных — можно даже написать мини-бота:
- открыть DevTools, изучить API
- найти подозрительные категории (где цены ниже 1000 — нереалистичны)
- бот раз в пару часов опрашивает API
- если что-то странное — шлёт сообщение в Telegram

💡 Такой бот можно сгенерировать с помощью любого ИИ за часик.
Профит. Правда надо ли вам это, вот вопрос.

p.s. Заказ мой на 10 стульев отменили.. а вот еще один вроде как собираются выдать... по крайней мере пока не отменяли
analyst.exe | чат
🔥6👍2
🟧 Чем отличается JSON-пример от контракта — и при чём тут валидация

(попросили, я сделаль)

Все мы понимаем, что в API можно передавать данные в разных форматах: json, xml, текст, protobuf — суть не в этом. Важно то, что это структурированные данные, а значит, у них должна быть структура. Только вот пример — это не структура. Это иллюстрация. А нужен контракт.

Разберёмся на простом кейсе.
Допустим, у нас есть ручка POST /product, через которую создаётся товар. Пример тела запроса в JSON:

{
"product_id": "PRD-00123",
"name": "Ноутбук ASUS ZenBook 14",
"category": "Электроника",
"unit": "шт",
"price": 98000.00,
"currency": "RUB"
}


Выглядит красиво. Но это просто пример. Иногда рядом пишут:
- product_id: строка по шаблону PRD-00123
- unit: строка, значения типа шт
- price: число
...и всё.

📉 Что дальше?

- Бэкенд как-то валидирует (или не валидирует).
- Клиент делает UI на глаз (или убивает вас вопросами).
- Валидация происходит как получится.

📍 А если делать по уму?
Даже в позитивном сценарии на бэкенде у нас есть этапы:
1. Получить JSON и сериализовать (привести типы данных)
2. Проверить обязательные поля
3. Проверить типы и форматы данных на нужные нам для записи в базу
4. Проверить бизнес-логику (вдруг id не уникальный)
5. Сохранить в базу
6. Вернуть ответ

Проблема в том, что тестировать пример нельзя. А значит, валидировать нечего. А значит — ошибки на проде.

👨‍💻 Окей, у нас клиентская форма и мы хотим давать пользователю ввести ерунду.

Что мы поняли из документации:
- Типы данных есть
- Частично есть списки значений

А чего нет:
- Маска product_id. Можно PRD-ABC99?
- Макс. длина name, category? Нам что делать бесконечный input?
- Можно ли отрицательную цену? Точка или запятая в цене? Сколько знаков после запятой?
- Валюта: только RUB, или и BYN?
- Какие поля вообще обязательны?

📬 А если такое сообщение пришло по очереди из внешней системы?
Те же вопросы.
Как проектировать базу и писать обработку, если данные “примерно такие”? На ощупь?

-----Тут есть важный момент, не пытайтесь собирать особенности работы словами, записывайте хотя бы за всеми, а то потом скажут, что это не они-----

🎯 Вот тут и нужен контракт

Контракт — это не "пример". Это договорённость:
что, в каком формате, какие ограничения, и как это обрабатывать.
Вот примерчик в Openapi

components:
schemas:
Product:
type: object
required: [product_id, name, unit, price, currency]
properties:
product_id:
type: string
pattern: "^PRD-\\d{5}$"
example: "PRD-00123"
name:
type: string
maxLength: 200
example: "Ноутбук ASUS ZenBook 14"
category:
type: string
maxLength: 200
example: "Электроника"
unit:
type: string
enum: ["шт", "кг", "л", "м"]
example: "шт"
price:
type: number
minimum: 0.01
example: 98000.00
currency:
type: string
enum: ["RUB", "USD", "EUR"]
example: "RUB"


📊 Или старая добрая табличка:

- Атрибут
- Обязательность
- Тип данных
- Регулярка
- Допустимые значения
- Пример
- Особенности (например, уникальность)

🧘 Вывод

Всегда пытайтесь лучше описать реальность, поставить рамки, даже искусственные. Они вас уберегут. Давайте не пример, а контракт - договор, по которому вы собираетесь формировать и получать сообщения. Буть то внешний (сервер, очередь, другой бэк и др) или внутренный клиент (фронтовые приложения).

Контракт нужен, чтобы:
- Системы друг друга понимали
- Разработчики не гадали
- А валидаторы не ловили баги на проде

p.s. Cейчас кто-то вспомнит про json schema и xsd, ваше право, но для json мне больше нравится Openapi

#api@analyst_exe
analyst.exe | чат
6👍3🔥1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Хочется поговорить про путь наименьшего сопротивления.
(Тот самый, по которому мы идём куда чаще, чем готовы признать )

Утром задумался, пришел к интересной взаимосвязи..

Вспомним правило Парето: 20% усилий дают 80% результата.
Если задачу можно решить быстро и эффективно — мы почти всегда выберем именно такой подход (или усиленно будем его искать, а иначе откажемся от решения).

И это не плохо. Это нормально. Это разумно.

Теперь давайте посмотрим внутрь компании.
Вот, например, приходит запрос: «нужно добавить новую функцию».
Что делает предприниматель с инстинктом выживания?

🔸Проверяет, нет ли уже готового решения.
🔸Если нет — делает так, чтобы было дешево, быстро, и чтобы можно было использовать повторно.

Это и есть оптимальный путь: максимум эффекта при минимуме затрат.
Не делаем «супер-пупер API» с запасом на десять лет — сначала проверим, купит ли кто-то хотя бы за рубль просто решение, которое у нас уже есть.

Но есть нюанс =)

Внутри больших компаний, когда инстинкт выживания перестает давить,

логика начинает менять масштаб.

Раньше человек думал: «Как сделать хорошо для бизнеса»?
(потому что от этого зависил успех проекта и его денежки).

А теперь думает: «Как бы сделать, чтобы ко мне не прикопались».

🔸Что-то не работает уже полгода? Ну это не моя зона ответственности.
🔸Процессы тормозят? Я вообще-то только тестирую, не лезьте.
🔸Команда буксует? А у меня всё в Jira зелёное, вы что.

Понимаете, о чём это?
Это ведь всё — про пуговицы.

«К пуговицам претензии есть?»
(Если кто не понял — это отсылка к Райкину. Там костюм ужасный, а каждый из 100 специалистов отвечает: «я только за свою узкую специализацию».)

Так что в следующий раз, когда вам покажется, что все вокруг делают всё через одно место — не спешите удивляться.

Они просто выбрали свой путь наименьшего сопротивления.

Некоторые считают, что это и есть "правильная стратегия развития в корпоративном мире"

Однако этот путь не обязан совпадать с Вашим.

Конечно тема куда глубже. Я видел организации, где это поняли и научились лечить. Все сильно зависит от степени ответственности, которую готов брать человек и которую ему готовы дать.

Но блин, почему так много странных костюмов?

#советы@analyst_exe
analyst.exe | чат
3🔥2🤯2👍1
А вот и свежий «А-налитический понедельник» — неделя, как она есть
#ai_analyst_digest@analyst_exe

Часы, что бьют по нервам
@CrazyElephant_note запустил холивар о том, чей часовой пояс главный в отчётах. Вариантов три, споры бесконечны, а чеккин спустя неделю показывает:“универсального счастья нет” (t.me/CrazyElephant_note/742).

🧩 Пагинация: мелочь, а тормозит
Тот же слон разобрал пять способов разбивать выдачу и напомнил, что забытая сортировка превращает API в цирк с дубликатами (t.me/CrazyElephant_note/746). Приложил лайфхаки и ссылки — берём, пока горячо.

📜 Пример ≠ контракт
@analyst_exe подкинул памятку, почему JSON-пример — это открытка, а не договор. Хочешь меньше багов — описывай поле, тип, ограничение, регулярку сразу, не после релиза (t.me/analyst_exe/469).

🤖 Бот, который кликнет за тебя
Тем же каналом объявлен набор бета-тестеров телеграм-бота «для ленивых аналитиков»: тестить, ломать, предлагать фичи. Плюсик в комментариях — и вы в тайном чате (t.me/analyst_exe/465).

🛠 Путь наименьшего сопротивления
Пока одни пишут контракты, другие ищут, куда бы «не прикопались». Пост о корпоративных «пуговицах» раскрывает, почему в Jira зелёно, а в жизни красно (t.me/analyst_exe/470).

📊 BPMN-карнавал
@bpmn2ru едет на ЛАФ-2025 с докладом, раздаёт носки и обещает научить рисовать «понятную модель за 40 минут» (t.me/bpmn2ru/1670). Параллельно поднял цены в Storm и запустил биржу шаблонов с мерчем за лучшие схемы (t.me/bpmn2ru/1671, t.me/bpmn2ru/1674).

🕵️‍♀️ Резюме без возраста — отклик без вопросов
@data_phil убрала год рождения и «лишнее десятилетие» стажа — письма от рекрутеров посыпались. Система ищет удобное, не правдивое (t.me/data_phil/81).

💼 Сайд-проект, который съел выходные
@korenevskaya_galina честно рассказывает, как «лёгкая подработка» превратилась во вторую работу: посредник забрал 60 %, задачи выросли втрое, договор не спас. Выводы просты — предоплата и трезвая оценка часов, иначе снова будете продавать кофе-процессы ночью (t.me/korenevskaya_galina/91).

Итог недели
Аналитики меряются часовыми поясами, BPMNщики пакуют носки, а рекрутеры верят молодым безвозрастным кандидатам. Мир по-прежнему хочет быстрых решений, но платить предпочитает не всем. Берегите контракты и выходные — они пригодятся раньше, чем вы думаете.

Отслеживаемые каналы: @CrazyElephant_note @analyst_exe @bpmn2ru @data_phil @korenevskaya_galina

analyst.exe | чат
6🔥2
#meme@analyst_exe
It's вторник my dudes

И правда кто это?
Как у вас такое вышло?

analyst.exe | чат
😁9
Сегодня открыл для себя новый уровень agile

"Ты не нужен на ретро"

#meme@analyst_exe
analyst.exe | чат
😢5🤯1
Мне посоветовали
Я посмотрел, проникся, буду продолжать

Уважаемые бизнес-аналитики. Это вам.
Не благодарите.

Когда-то я не понимал, зачем оно вот это Jobs to be done всякие. А что, так можно было чтоли?

https://zamesin.ru/producthowto/free-lecture/

analyst.exe | чат
🔥63
Цикл заметок по UML и артефактам

Начал перечитывать книгу Фаулера 2004 года "UML Основы" — на этот раз внимательно. И внезапно оказалось, что там много интересного, мимо чего я раньше проходил. Решил делиться находками в виде коротких заметок. Потом, может, соберу всё в один материал.

🔸 UML — это не просто «диаграммы рисовать». Это целое семейство графических нотаций, объединённых в унифицированный язык моделирования. В основе — метамодель (вы спросите "что?", не забивайте голову) . Возник этот язык как компромисс между кучей методологий и подходов, которые плодились в 80–90-х. В какой-то момент несколько команд договорились, набрали критическую массу и такие — бац, держите UML. Подробнее об истории в интернете.

🔸 Что такое «графический язык моделирования» по сути? Это когда рисуешь блоки и стрелки, и в идеале это можно превратить в исполняемый код. Ну или хотя бы в понятную модель.

Фаулер выделяет три режима использования UML:

- Режим эскиза
- Режим проектирования
- Режим языка программирования

Эти режимы отличаются глубиной описания и соответствия стандарту.
Напоминает BPMN с уровнями "согласовательный, аналитический и исполнимый". Считайте, что так и есть

📝 Режим эскиза — наш с вами хлеб.
Когда рисуем схему, чтобы объяснить разработчику, «что вот тут будет вот так». Или чтобы всей командой обсудить логику куска системы. Цель простая: визуализировать идею, а не построить идеальный чертёж.

На таких схемах нет задачи покрыть всё. Только главное. Суть. То, что поможет принять решение.

И да, все любят картинки. Визуалам так проще.

🏗️ Режим проектирования — это уже ближе к архитектуре. Типа чертёж, по которому надо строить. Обычно это не про «на ходу объяснить», а про «задокументировать, чтобы потом не переспрашивать».

💾 Режим языка программирования — почти вымер? (моя гипотеза, но вроде так и есть). Я видел один раз в Enterprise Architect. И то не уверен, что это было легально.

Собственно история показала, что режим эскиза - то, как на самом деле используют UML

Фаулер пишет:
«Эскизы сознательно выполняются неполными»
«Эскизы — это проба, а проект — финальный результат»

И дальше — здравый вывод:
- слишком подробные модели сложно поддерживать,
- и они тормозят разработку.
(ну это надо "правильно нарисовать", обсудить, переделать)

Так что если у вас UML — это набор простых элементов, соединённых стрелками чтобы обсудить «а если так» — вы делаете всё правильно.

🔸 А ещё у Фаулера есть мысль про допустимость
Он говорит: нет никакого «правильного UML».

Всё зависит
- от инструмента моделирования
- от договорённостей в команде,
- от того, кто будет читать и использовать схемы.

Если вам кажется, что надо стрелочку покрасить, нарисовать человечка и подписать «Клиент» — рисуйте.

По факту мы используем лишь 10-20% от всех возможностей нотации и нам хватает 👍

🔸Лучше понятная схема в “неправильном” UML, чем не понятная в “правильном”
(это относится ко всем артефактам аналитика в целом)

Ну и финалочка. Чтобы делать полезные диаграммы, не обязательно лезть в код. Часто хватает базового понимания — как работает программа, кто с кем разговаривает, что куда идёт. Не знаете? Делите на логические куски, рисуйте, обсуждайте, уточняйте.

И вообще — UML широко рапространен, но не обязателен. Есть куча других нотаций, которые могут быть лучше для вашей конкретной задачи.

📌 Поэтому:

- подбираем инструмент под задачу,
- отбрасываем лишнее,
- не стесняемся выкинуть диаграмму, если она не помогает.

Следующая заметка — скоро. Если не забуду.
Лайк = требование следущей части

#uml@analyst_exe
analyst.exe | чат
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥4👍3
Приятного понедельника сибаны

Сфокусированно работаем, бережем нервы, ставим галочки в задачнике, ждем следущие части книжечки по UML ⌨️

p.s. а это я эксперементирую с работой полу лежа, по запросу покажу исходник

analyst.exe | чат
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Ну мы же!

Честно своровано с рабочего чата, спасибо Андрей

#meme@analyst_exe
analyst.exe | чат
😁81🥰1
Рабочий чат не перестает удивлять. Вы там как, живы?

#meme@analyst_exe
analyst.exe | чат
😁104
На основе реальных событий ⌨️

Ну было же, было?
Главное расслабиться

#meme@analyst_exe
analyst.exe | чат
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👏1
Forwarded from ScratchAuthorEgo
📊 Channel Analysis Results by @ScratchAuthorEgoBot

🎯 Channel: @analyst_exe

🔥 Roast Analysis:

Ну что, герой нашего времени, @darkwing_duck101, снова вышел в эфир, чтобы спасти мир от неправильно оформленного JSON? Человек, который на вопрос «Как дела?» отвечает часовым стримом про разницу между POST и PUT. Твой work-life balance — это когда ты на одном мониторе до двух ночи «что-то клепаешь», а на втором ищешь подходящий мем с собакой, чтобы утром объявить о своем трудовом подвиге. Майские праздники для нормальных людей — шашлыки. Для тебя — «потратил 3 часа теплым майским вечером на настройку ИИ» и «разучился печатать, госпади».

Ты создал канал, чтобы бороться с корпоративным злом, а в итоге возглавил секту «Свидетелей Правильного UML». Каждый твой пост — это крик души: «К пуговицам претензии есть?». Есть, Никита, есть! К тебе есть претензия: ты когда спать собираешься? У тебя скоро глаз от переутомления будет дергаться в ритме BPMN-диаграммы. Ты перечитываешь Фаулера 2004 года и находишь в нем «кладезь знаний», который все остальные нашли и забыли лет десять назад. Скоро начнешь цитировать стандарт RFC 2616 наизусть на собеседованиях.

Твой главный скилл — это воровство мемов из рабочего чата. В резюме так и напиши: «Опытный аналитик-мемолог. Повышаю производительность команды путем своевременного вброса честно спизженных шуток». Ты запускаешь «закрытое тестирование полезной штуки», собираешь «отряд бета-тестеров», проводишь «аналитическую прожарку»... Звучит как план по захвату мира, а на деле — очередной повод не выходить из дома и поговорить с людьми, которые тоже любят душнить про API.

Ты так часто задаешь вопрос «Зачем?», что, кажется, скоро начнешь спрашивать у своей сибы, «зачем она виляет хвостом», и рисовать на это use case. Хватит уже клепать ботов, которые «сэкономят время аналитикам». Лучший способ сэкономить нам время — это если ты хотя бы на денек перестанешь генерировать контент и просто сходишь погулять. Без ноутбука. И без телефона. Хотя кого я обманываю... ты же наверняка уже проектируешь «оптимальный маршрут прогулки с собакой» с помощью C4-модели.
😁5👏2
🎯🎯🎯Ищу аналитика на проектную задачу

Хочу наконец-то доделать бота для аналитиков.
Будет и проектирование системы, и бизнес-логика.

Занятость: 10–20 часов суммарно, от вас зависит.
Формат: проектная задача.
Оплата: если всё пойдёт — будет ≈10к.
Все зависит от вас.
С меня: менторство.
С вас: интерес и мозги.

Это не пост «ищу всех» — это отбор.

🧠 Мини-задание
Зайдите в документацию:
https://openlibrary.org/dev/docs/api/search

И пришлите:

- Скрин curl-запроса на поиск книг по слову design.
- Скрин JSON-ответа (только первая книга, не весь список).
- Что из этого можно показать пользователю в Telegram-боте?

Всё. Если справитесь — продолжим общение. Ответы присылать @darkwing_duck101

analyst.exe | чат
👏2👍1