analyst.exe | просто о сложном в IT – Telegram
analyst.exe | просто о сложном в IT
372 subscribers
237 photos
28 videos
3 files
238 links
Помогаю аналитикам понять, а не просто делать
Чат — @analyst_balabol
Админ, душнила и такой же как ты — @darkwing_duck101
Download Telegram
Оставили отзыв -> я публикую

Сразу же вспоминется мульт про мешок яблок, посмотрите, отвлекитесь от суеты

Какой был запрос?
Пройти весь цикл от идеи и до макетов, научиться формировать аналитические артефакты, стать уверенней в аналитике


Чем мы занимались?
🔸
Собрали требования к кейсу с предзаказом кофе
🔸 Сформировали границы проекта, критерии приемки, успешности, обсудили саму ценность реализации
🔸 Разобрали виды требований, выделили JTBD, user stories,
🔸 Нарисовали bpmn схемку и обсудили, как текущая реализация встраивается в существующие процессы кофейни
🔸 Сформировали use cases
🔸 В довесок разгонялись данетками и тестированием интерфейсов

Думаю, если дальше мы соберем документацию и закинем в AI, поглядим на готовый сервис!

Приходите развиваться -> @darkwing_duck101

@analyst_exe
3👍2👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Что в черном ящике? #1

Сегодня я почувствовал, что мне неудобно переключаться между окнами, чтобы вручную добавлять события в календарь.
И тут же я захотел написать Telegram-бота с AI, который планировал бы мероприятия прямо на свободные слоты. Чтоб так "рас рас и готово".

Есть вариант собрать бота на n8n или другом «сервисе построения автоматизированных цепочек». Однако в таком случае придется оплачивать подписку. Поэтому я предпочел self-hosted решение – то есть запустить все на своей машине.

Стал искать подобный инструмент с помощью ChatGPT – и нашел репозиторий Calibot. Никогда не видел на гитхабе проект с таким уровнем документации – там есть и видео с демонстрацией, и диаграмма компонентов, и сиквенсы! Может, я плохо искал? Да не суть...

Структура репозитория
calibot/
├── backend/
│ └── app/ # весь код приложения
│ ├── agent/ # NLP-агент: извлечение намерений из сообщений
│ ├── api/ # маршруты FastAPI, модели запросов/ответов
│ ├── services/ # основная бизнес-логика: календарь, Telegram, LLM-интеграция
│ ├── utils/ # утилиты/хелперы
│ ├── config.py # конфигурация (env, ключи, настройки)
│ ├── main.py # точка входа при запуске сервера
│ └── prompts.py # prompt-шаблоны для LLM
├── .python-version # версия Python
├── pyproject.toml # зависимости проекта (pip / poetry-подобное)
├── README.md # описание, инструкция по запуску и настройке
├── calibot_demo.mp4 # демонстрация как работает бот (видео)
├── calibot_system_design.png # схема архитектуры
└── calibot_sequence_diagram.png # диаграмма последовательности взаимодействий



Давайте разберем как оно работает:
0. Настраиваем конфиг (в частности токен Telegram-бота, ключи от Google Календаря, ключи от AI-модели). Без этого ничего не заведется.
1. Сообщение, отправленное через интерфейс Telegram-бота, поступает в наш сервис, на слой NLP-процессора. Определяется релевантность сообщения (это сообщение про событие для календаря?), затем сообщение структурируется – превращается в четкий запрос к AI. Интересный подход, попытка сделать ответы AI более предсказуемыми. Кстати, сделано это также с помощью AI. Посмотрите
2. Отправляется запрос к AI согласно типу команды, с соответствующим промптом.
3. Действия, запрошенные пользователем, осуществляются посредством интеграции с Google Календарем. При этом происходит авторизация и исполнение самих запросов.
4. Весь процесс логируется в БД, а рассылка уведомлений организована через webhook.

В итоге я задумался: почему таких продуктов нет на рынке? Только этот репозиторий с 40 звездами…

А причина вот в чем – ценность сомнительна.
Что мы оптимизируем? Пару секунд переключения на интерфейс календаря?

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

Авторам репозитория – огромный респект за схемы! Благодаря им легко понять, как все устроено.

10 лайков – и мы продолжим ковыряться в открытых сервисах и смотреть "как они работают изнутри".

@analyst_exe
11🔥5🤩3
This media is not supported in your browser
VIEW IN TELEGRAM
Сложный понедельник лечится просто — мемом и планом на неделю.

Держите расписание, чтобы знать, куда летим:

🔸 Среда — AI против аналитика.
Кто кого перегрузит и кто в итоге будет дописывать требования.

🔸 Пятница — Техразбор #2.
Обещал копнуть глубже — ищу репозиторий для вскрытия

🔸 Воскресенье — Операционные системы 2025.
Начнём с азов того, за чем вы сидите каждый день — вашего компуктера.

Готовьтесь, неделя будет бодрой ⌨️

@analyst_exe
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👏1😁1
Media is too big
VIEW IN TELEGRAM
AI vs Аналитик?

Ученик показывает:
«Смотри, как удобно. Пишу требования к форме заказа, прошу GPT дополнить – он накидывает, что я забыл».
Открываю. Там: валидация с кастомными ошибками, автосохранение черновика, мультиязычность, голосовой ввод, интеграция с адресным классификатором, A/B тест, аналитика по каждому полю.

Красиво. Полно. Но невозможно или оооочень дорого

— Дедлайн когда?
— Две недели.
— Команда?
— Два разработчика, один джун.
— MVP?
— Ага.

Документ уже согласовали. Уже в Jira разбили. А потом будут удивляться, почему сроки поехали.

В чём подвох?

ИИ не знает, что у тебя две недели и полтора землекопа. Он генерирует «как правильно» в вакууме. Ты спрашиваешь «что ещё добавить» – он добавляет. Ещё спрашиваешь – ещё добавляет. Он услужливый. Он не скажет «стоп, хватит, притормози [свистит]».

Это как навигатор, который строит маршрут через платные дороги. Самый быстрый и удобный, но у тебя на карте нет денег... Навигатор просто не в курсе =)

Проблема глубже

Почитайте великолепный пост кримсона

Если люди могут чем-то упороться и кайфануть, они будут делать это до конца... ИИ станет еще одним фактором расслоения общества. Об этом, кстати, недавно высказался В. В. Путин.

Мы неизбежно идем к разделению на тех, кто думает сам и использует ИИ как инструмент, и тех, кто разучился думать вообще.

Советский мультик снова все предсказал (смотрим видео). Поручать свою работу другим – идея сомнительная. Надо сначала самому научиться ее делать.

Лайфхак
Сгенерировал требования, ТЗ, все что угодно – не неси сразу согласовывать. Закинь обратно:

«Две недели, два разработчика, MVP. Разбей на "критично" и "можно потом". Что можно выкинуть, чтобы успеть? [ просьба провести ревью документа как опытный спец ]»


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

ИИ генерируетты режешь и думаешь.
Он инструмент – ты голова.

А как вы используете ИИ? Что вы ему доверяете? Моя версия в комментариях

@analyst_exe
7🔥4👍1
Ребята, мы в тренде!

Срочно срочно все развиваем в себе хорошие качества анал.....итика конечно же =)

@analyst_exe
😁10🔥7
Media is too big
VIEW IN TELEGRAM
Сокращатель ссылок. Техразбор #2

А вы задумывались, как считают переходы по ссылкам?

Есть два основных способа:
🔸 UTM-метки – дописываешь к ссылке ?utm_source=telegram&utm_campaign=... и смотришь в аналитике.
🔸 Сокращатель ссылок – как пример, bit.ly. Ты переходишь по короткой ссылке, сервис записывает клик и перенаправляет тебя дальше.

Вот второй вариант и разберём. Нашёл репозиторий на FastAPI + PostgreSQL – типовое решение, которое часто спрашивают на собесах по System Design.

В этот раз в репозитории документации не было – ни диаграмм, ни схем. Так что сделал сам для вас. Посмотрите

Что оно умеет:
🔸Сократить ссылку
🔸Редирект + подсчёт кликов
🔸Посмотреть куда ведёт ссылка без перехода (peek)
🔸Включить/выключить ссылку
🔸Регистрация, JWT-авторизация
🔸Админка: бан юзеров, просмотр всех ссылок

Структура репозитория
url-shortener2/
├── resources/ # роуты API (auth, urls, users)
├── managers/ # бизнес-логика
├── models/ # модели SQLAlchemy (User, URL)
├── schemas/ # валидация Pydantic
├── migrations/ # миграции Alembic
├── config/ # настройки из .env
├── main.py # точка входа FastAPI
└── api-admin # CLI для создания юзеров


Как работает:
1. Поднимаем PostgreSQL, прописываем креды от учетных записей в .env, накатываем миграции. (в общем, разворачиваем все это счастье на сервере)
2. Пользователь регистрируется (POST /register) – пароль хешируется через bcrypt, на почту летит код верификации. После логина получает JWT токен на 120 минут + refresh на 30 дней.
3. Создаёт короткую ссылку (POST /create) — сервис генерирует случайный ключ через secrets.token_urlsafe(), проверяет что такого ещё нет в базе, сохраняет вместе с user_id.
4. Кто-то переходит по короткой ссылке (GET /K3M9X) – сервис ищет ключ в базе, делает clicks += 1 и возвращает HTTP 302 Redirect на оригинальный URL.
5. Есть ещё peek – позволяет посмотреть, куда ведёт ссылка без перехода. И activate/deactivate – мягкое удаление.

Почему такая архитектура?
(смотрим на диаграмму контейнеров c4)

Это решение для небольшой нагрузки – десятки-сотни запросов в секунду. Каждый редирект делает два обращения к базе: SELECT + UPDATE счётчика.

Для highload (тысячи запросов в секунду) добавляют:
🔸 Redis – кэш горячих ссылок, чтобы не дёргать PostgreSQL на каждый клик
🔸 Асинхронный счётчик – пишем клики в очередь, а в базу сбрасываем пачками
🔸 Шардирование – распределяем ссылки по нескольким базам

Но для pet-проекта или внутреннего сервиса текущего решения хватит с запасом.

Сценарии
Нарисовал sequence-диаграммы для трёх основных флоу:
🔸 Создание ссылки
🔸 Редирект
🔸 Регистрация + логин

Написал небольшой UI, из коробки его не было =)

Поиграться можно тут: https://short.analystexe.ru/

Логин/пароль:
user1@analystexe.ru / 8AHoCzPdPJy8CA
Создавайте ссылки, смотрите, как устроен API, через Swagger

Исходники: github.com/seapagan/url-shortener2

Лайки = продолжение, помните об этом

@analyst_exe
🔥64👏1
Воскресенье – день игр

Сегодня играем в тестирование ПО!

Знаете, что отличает хорошего тестировщика?
Он не боится нажимать на всё подряд. Не "а вдруг сломается", а "интересно, что будет, если...[ломает систему]"

Предлагаю потренировать этот навык в игровой форме. На страничке спрятаны пасхалки – найди их все 👇

https://test.analystexe.ru/

Играем с компуктера, так удобнее

Случайным 3-м победителям разыграю 30 минут консультации или книжку на выбор.

Кидайте скрины в комментарии. Поехали!

@analyst_exe
🔥7👏1
analyst.exe | просто о сложном в IT
Воскресенье – день игр Сегодня играем в тестирование ПО! Знаете, что отличает хорошего тестировщика? Он не боится нажимать на всё подряд. Не "а вдруг сломается", а "интересно, что будет, если...[ломает систему]" Предлагаю потренировать этот навык в игровой…
Первые три победителя есть. Играем дальше

Итоги подведем 21 декабря перед следующей частью c помощью рандомайзера. Не забудьте кинуть скрин в комментарии.

Несколько инсайтов от тех, кто нашел все 8 пасхалок:
Попыток было несколько))) и несколько устройств🤫 как оказалось можно все с ноута воспроизвести)
Кликайте везде, а где-то острожно) и внимание на детали
Мне понравилось))) потыкать и сломать всегда интересно))) ну и порой такой "будь как пользователь, кликай бездумно и сломай"

Да, было интересно) мы примерно также каждую сборку подсистемы тестим сразу после выхода))) поэтому уже плюс/минус было понятно куда тыкать и на что обратить внимание

Давай, давай, давай, надо пройти этот путь самому, "на бережно расставленные грабли"--> https://test.analystexe.ru/

@analyst_exe
🔥31👏1
Папищики вы там живые вообще? Уже вторник, информирую

@analyst_exe
😁9👍4💯1
Моя задача – зажечь в вас огонь

Да, вам не показалось. Моя первостепенная задача на этом канале передать частичку своего внутреннего огня вам. Чтобы маленький, но яркий отблеск в ваших зрачках говорил "Да, эта штука пробудила интерес, любопытство, я готов потерять счет времени и погрузиться в неизведанное".

Недавно я стал ходить к преподавателю по электрогитаре (Серега не читай это ахаха). Ну вы представляете себе это? "Один опытный учитель рассказывает другому также прошаренному учителю и профилактически пиздит его за отсутствие самостоятельной работы".

И вот что я понял: мне передается его огонь. Маэстро своим видом, примером восполняет не просто мои старые упущения в работе с музыкой, но и передает свой подход к делу, свою страсть.

Или вот, например, в этом канале в комментарии периодически заходит Денис Котов, CEO StormBpmn. Вчера там же появился Алексей Голобурдин с канала Диджитализируй! Вы представляете, какую поддержку они мне оказывают? Да я каждый раз просто в афиге сижу и такой "надо делать, надо, вот умные люди, с которых я стараюсь брать пример, заряжают меня своей энергией".

Какой вывод? Ищите тех, кто вас по настоящему вдохновляет. Берите тот огонь, которым с вами делятся. Используйте его для собственного развития и передавайте другим.

Штош, сияйте, а я пойду готовить материал про QR-коды и новую часть игры. Приятного вечера!

@analyst_exe
🔥127💯5
Воскресные игры #2

Есть такая штука, которую никто не проговаривает вслух.
Ты пишешь требования. Всё чётко: acceptance criteria, edge cases, диаграмму нарисовал. Отдал в разработку.
Вернулось с комментарием: «А вот тут противоречие, поправь».
И ты смотришь – и правда противоречие. Которое ты сам написал. И не заметил.

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

Сделал тренажёр. Не курс, не лекция – просто ситуация «требования vs реализация».

Твоя задача – найти, где баг, а где ок.

👉 test.analystexe.ru

Сайт адаптирован под мобилки, можно играть с любых устройств

Правила те же:
1. Присылаете скрин с результатом в комментариии (больше 70%)
2. Подведу итоги через рандомайзер ближе к новому году
3. Приз: книга на выбор или 30 минут консультации


Результаты прошлой игры

@fedos16 и @Aeternam_31337 парни, не забудьте получить призы

Играем дальше!
А я пошел придумывать новую часть =)

@analyst_exe
🔥73
Две боли перед собесом:

1. Резюме вроде норм, но под эту вакансию не бьётся
2. Готовишься ко всему — и ни к чему конкретно

Тестирую гипотезу двух инструментов:
📄 Матчер — показывает, что в резюме переписать под вакансию
🎯 Скринер — даёт вопросы именно под эту позицию

Сейчас проверяю, нужно ли это кому-то кроме меня. Погляди и скажи: "надо или фигня"

https://s.analystexe.ru/

@analyst_exe
19🔥12👎2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Я буду работать 10, нет, 12, нет, все 18 часов, только согласуйте 🙏

@analyst_exe
😁10🥰1👏1
Что, уже 2026 близко? А как же недоделанные дела?

Бросайте все. Пусть горит. Завтра итоги подведём и наметим планы. А пока вот вам Новогодняя Фея!

@analyst_exe
12🔥7🎉4🥰3