🍀BitBitGo🍀 Системный Анализ
3.5K subscribers
260 photos
182 videos
152 links
Курс «Системный анализ»
https://bitbitgo.by/
Пишем про системный анализ.
Поможем стартануть в карьере IT. Присоединяйся!
Download Telegram
📜 Пост: КОГДА ТРЕБОВАНИЯ МЕНЯЮТСЯ: АВТОМАТИЧЕСКАЯ ТРАССИРОВКА

Привет, коллеги! 👋 Знаете это чувство: в середине спринта приходит новое требование «добавить статус "В обработке" для заказа». Разработчик добавляет его в код, но забывает поправить отчёты, уведомления и права доступа. Через месяц хаос. Как автоматически проверить, что изменение требования не сломало остальные компоненты? Ответ — трассируемость через код. 🔍

📌 Кейс: «Новый статус заказа — ад для поддержки»

В интернет-магазине ввели новый статус «Комплектуется». Аналитик добавил его в документацию, разработчик — в БД. Но не обновили:

Отчёт «среднее время обработки заказа» — теперь считает неверно.
Уведомление клиенту — не отправляется.
Права менеджера склада — не дают видеть заказы в этом статусе.
Что должен был сделать аналитик?
Написать автоматическую проверку, которая запускается при любом изменении требований к статусам.

# config/order_statuses.py
STATUSES = {
"NEW": {"notify": False, "report_group": "pending"},
"COMPLETING": {"notify": True, "report_group": "processing"}, # новый статус
"SHIPPED": {"notify": True, "report_group": "completed"},
}

Тест, который проверяет все зависимости:

def test_status_consistency():
# Все сервисы должны знать о новом статусе
services = ['notifications', 'reports', 'warehouse', 'analytics']
for service in services:
config = load_service_config(service)
assert "COMPLETING" in config['order_statuses'], \
f"{service} не поддерживает статус COMPLETING"

И тест на уведомления:

def test_notification_for_completing():
order = Order(status="COMPLETING")
notif = NotificationService()
# По требованию: при переходе в "Комплектуется" уведомление НЕ отправляется
assert notif.should_send(order) == False

Такой тест падает, если какой-то сервис не обновлён. CI/CD не пропустит код, пока все не поправят.

📌 Что должен сделать аналитик?

Составить карту зависимостей: где используется статус заказа? (отчёты, уведомления, API, права).
Закодировать эти зависимости в виде автотестов.
Добавить в определение готовности (DoD) пункт: «При изменении статусной модели все тесты зависимостей зелёные».
Вести единый реестр требований с идентификаторами, чтобы связать их с кодом.

Результат: изменения перестают быть «сюрпризами», система остаётся консистентной.

Вывод: Трассируемость требований — это не табличка в Excel, а живые проверки в коде. Аналитик, внедряющий такие тесты, превращает требования в надёжный фундамент. 🏗

#REQUIREMENTS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Тот самый аутстаффер чей ГПХ заканчивается сегодня
😁3👍1
ТЫ ГОТОВ К ВИРУСНОМУ ПРОРЫВУ ?! ВКЛЮЧАЙСЯ ! ⚡️
Нейросети радикально меняют правила игры и никого не ждут. Мы даём тебе полную ПОДБОРКУ лучших ИИ инструментов для работы с практическими примерами и конкретными шагами для старта и роста ⚡️

Здесь собрана настоящая мощь ИИ 🔥 Подписывайся ⬅️ пока искусственный интеллект не решил, что ты вне игры ...
От свежих инсайтов до практичных лайфхаков по работе с ИИ - всё, что поможет создавать контент за считанные минуты:
▪️ секреты и примеры написания промптов для любого ИИ
▪️ создание ИИ-ассистента, который заменит целый отдел
▪️ техники продаж с помощью нейросетей
Хочешь узнать, как ИИ меняет мир прямо на твоих глазах ?!
📌 Добавляй ПАПКУ бесплатно и делись с друзьями * Ссылка ➡️ https://t.me/addlist/3PXSBSiaHSc2ZWRk Отписаться можно в любой момент. Остаться — тоже ✔️ . Получай лучшие ИИ инструменты уже сегодня - не жди ♨️ 👉 Забирай ПОДБОРКУ экспертных каналов прямо сейчас ! * Через 48 часов ссылка будет удалена ...
🔥21
ИИ — ЭТО УЖЕ НЕ «КОГДА-НИБУДЬ ПОТОМ» ... ОН ПРЯМО СЕЙЧАС ПЕРЕПИСЫВАЕТ ПРАВИЛА ИГРЫ 🖋

Тексты, аналитика, продажи, дизайн, экономия десятков часов в неделю — это не футурология.
Это ваш обычный вторник, если вы в теме.

Вопрос больше не в том, заменит ли ИИ людей.
Вопрос в том, кто обгонит вас, пока вы раздумываете.


Хотите быть среди первых, кто использует нейросети на все сто?

Тогда вот что вам нужно ⚡️:
👉 ПОДБОРКА реально сильных и продвинутых экспертов по нейросетям, ИИ, IT & HR Tech, а также последние - AI Life hacks

Забирайте, пока другие бездумно скролят ленту новостей.
Отписаться можно в любой момент — без проблем ✔️

Ссылка на ПАПКУ ⬇️
https://t.me/addlist/3PXSBSiaHSc2ZWRk * Добавляйте себе в избранное и скидывайте ссылку коллегам.
1🔥1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Если вы хотите зарабатывать в Telegram, вам нужна эта папка.

Там собраны материалы по:

— продвижению каналов
— маркетингу
— инфобизнесу
— привлечению трафика
— монетизации

Это концентрат знаний, который обычно собирают годами.

Очень часто мне пишут:

«Почему канал не растёт?»
«Где брать подписчиков?»
«Как начать зарабатывать в Telegram?»

И почти всегда проблема одна — нет системного понимания продвижения и маркетинга.

По сути, это концентрат знаний, который обычно собирается по крупицам из разных источников.

Я просто сделала удобную подборку, чтобы всё было в одном месте.

Если вы:
— ведёте канал
— развиваете личный бренд
— продаёте услуги
— или только хотите начать зарабатывать в Telegram

сохраните папку и добавьте её себе.

Переходите по ссылке
https://t.me/addlist/PE0khuyk7UY0YjFi

Записывайся в подборку🫶
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🗄 Пост : «ВНЕЗАПНЫЕ ТОРМОЗА»: КАК ПОТЕРЯЛСЯ ИНДЕКС

Привет, коллеги! 👋 Ситуация: запрос работал 500 мс, а после релиза стал выполняться 10 секунд. Код не меняли, данных стало ненамного больше. Почему? Часто проблема — индекс перестал использоваться. Сегодня разберём реальный кейс и покажем, как аналитик может помочь найти причину. 🧐

📌 Кейс: «Отчёт по продажам тормозит»

В интернет-магазине отчёт «Топ‑10 товаров за неделю» выполнялся 0.3 секунды. После обновления СУБД время выросло до 15 секунд. Разработчики уверяли, что ничего не меняли. Аналитик заподозрил проблему в индексе.

Что выяснилось:
Раньше был индекс (sale_date, product_id). После обновления оптимизатор стал использовать другой индекс, который не подходил для группировки. Аналитик проверил план запроса через EXPLAIN и увидел Seq Scan (полное сканирование таблицы) вместо Index Scan.

Пример проверки (PostgreSQL):

-- Аналитик попросил разработчика показать план
EXPLAIN (ANALYZE, BUFFERS)
SELECT product_id, SUM(amount)
FROM sales
WHERE sale_date >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY product_id
ORDER BY 2 DESC
LIMIT 10;

-- Увидели Seq Scan на 50 млн строк
-- Принудительно указали нужный индекс
SET enable_seqscan = off;
-- Запрос снова стал быстрым
Что сделали:
Пересоздали индекс, обновили статистику (ANALYZE), а в коде прописали подсказку (индексный хинт), чтобы оптимизатор не ошибался.

📌 Что должен сделать аналитик?
Знать, как посмотреть план запроса (EXPLAIN).

При падении производительности требовать план у разработчиков.
Понимать разницу: Seq Scan (плохо для больших таблиц) vs Index Scan (хорошо).
Фиксировать в требованиях необходимость регулярного обновления статистики и мониторинга планов.

Результат: аналитик сэкономил команде неделю гаданий и спас репутацию продукта. 💪

#DBMS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
IT-специалисты и диджитал-эксперты! 📈 Недавно прочитали интересную статистику: 73% компаний замедлили цифровую трансформацию из-за нехватки экспертизы и подходящих инструментов — это хороший повод задуматься о своих процессах.

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

Поэтому рекомендуе вам эту подборку для диджитал и IT — чек-листы по трансформации, скрипты автоматизации, кейсы импортозамещения и материалы по ИИ-оптимизации.

Сохранить подборку себе 📨
2🔥2
Media is too big
VIEW IN TELEGRAM
Тот самый 1to1 в шарашкиной конторе) (часть 1)
У кого было?) на сколько окладов смогли договориться?)
ПОДПИСКИ НА ИИ-КАНАЛЫ ЕСТЬ, А СВЕЖИХ ИДЕЙ — НОЛЬ !?

* Твои подписки устарели (outdated). Пора сделать АПГРЕЙД своего информационного поля.


Сегодняшний ИИ — это не «10 крутых промтов» и не новость про ChatGPT-5. Это рабочие связки, реальные кейсы, свежие инструменты, которые сэкономят тебе часы уже на этой неделе.

Проблема не в том, что ты мало читаешь. А в том, что ты читаешь не тех ...
Мы собрали свежую ПОДБОРКУ каналов, где авторы реально работают с технологиями здесь и сейчас. Никаких повторов и воды. Только практика, кейсы, новые тулы и разборы, которые имеют значение.

📂 Добавляй ПАПКУ — и получи полный АПГРЕЙД своей ленты:
➡️ https://t.me/addlist/r5VfG-YYZB9mNzM8

* Сделай свою подписку умнее, пока другие читают вчерашние новости и не бойся перемен ...
Отписаться можно в любой момент. Остаться — тоже ✔️
🔌 Пост: ИДЕМПОТЕНТНОСТЬ: КАК НЕ СПИСАТЬ ДЕНЬГИ ДВАЖДЫ

Привет, коллеги! 👋 Знаете ситуацию: платёжный шлюз прислал callback об успешной оплате, вы списали деньги, а через минуту — ещё один такой же. Дубликат. Если обработка не идемпотентна — клиент заплатит дважды. Скандал, возвраты, потеря репутации. Сегодня разберём, как код помогает аналитику заложить защиту от дублей. 💸

📌 Кейс: «Билеты куплены дважды»

Сервис продажи билетов получал от платежной системы уведомления (webhook). Иногда из-за сетевого таймаута шлюз повторно отправлял то же уведомление. Система списывала бонусы и помечала билет как оплаченный повторно — второй раз появлялась запись. В итоге: дубли билетов, конфликты в отчётах, клиенты в поддержке.

Что сделал аналитик?
Потребовал идемпотентности: каждый платёж имеет уникальный payment_id, перед списанием проверяется, не обрабатывали ли уже этот ID.

import redis
cache = redis.Redis()

def payment_webhook(payment_id, amount, user_id):
# Ключ идемпотентности
if cache.exists(payment_id):
print(f" Дубликат {payment_id}, пропускаем")
return {"status": "already_processed"}

# Блокируем ключ на 24 часа
cache.setex(payment_id, 86400, "processed")

# Основная бизнес-логика (списание)
debit_user(user_id, amount)
print(f" Платёж {payment_id} обработан")
return {"status": "success"}

Почему это работает:

Redis проверяет уникальность за миллисекунды.
Повторный вызов с тем же payment_id не пройдёт проверку.
Ключ живёт 24 часа – покрывает любые задержки повторов.

📌 Что должен зафиксировать аналитик

Требование идемпотентности для всех коллбэков внешних систем.
Поле-идентификатор (например transaction_id, payment_id), которое предоставляет внешняя система.
Механизм хранения обработанных ID (БД, Redis) и время жизни ключа.
Тест-кейсы на случай дублей (имитировать повторный вызов и убедиться, что повторной обработки нет).

Вывод: Идемпотентность — это страховка от дублей. Аналитик, закладывающий её в интеграционные требования, спасает бизнес от финансовых потерь и клиентского ада. 💪

#INTEGRATION
🔌 Пост: CIRCUIT BREAKER: КОГДА ВНЕШНИЙ СЕРВИС НАЧИНАЕТ ТОРМОЗИТЬ

Привет, коллеги! 👋 Внешний API завис на 30 секунд. Все запросы из вашего приложения к нему встали в очередь, потоки исчерпались, и через пару минут легла вся система. Знакомо? Паттерн Circuit Breaker (предохранитель) не даёт этому случиться. Разбираем на реальном кейсе. 🛡

📌 Кейс: «Авиабилеты – простой из-за платёжного шлюза»

Онлайн-кинотеатр принимал оплату через внешний шлюз. В один вечер шлюз стал отвечать по 20 секунд. Запросы накапливались, заняли все потоки веб-сервера. В итоге перестали работать даже страницы с программой передач. Сайт лёг целиком.

Что сделал аналитик?
Предложил внедрить Circuit Breaker с fallback-логикой.

class CircuitBreaker:
def __init__(self, failure_threshold=5, timeout=30):
self.failure_threshold = failure_threshold
self.timeout = timeout
self.failures = 0
self.state = "CLOSED" # CLOSED, OPEN, HALF_OPEN
self.last_failure = 0

def call(self, func, fallback):
if self.state == "OPEN":
if time.time() - self.last_failure > self.timeout:
self.state = "HALF_OPEN"
else:
return fallback() # быстро возвращаем fallback
try:
result = func()
if self.state == "HALF_OPEN":
self.state = "CLOSED"
self.failures = 0
return result
except Exception:
self.failures += 1
self.last_failure = time.time()
if self.failures >= self.failure_threshold:
self.state = "OPEN"
return fallback()
CLOSED: запросы идут в сервис. При 5 ошибках за 10 секунд → OPEN.
OPEN: все вызовы мгновенно возвращают fallback (30 секунд).
HALF_OPEN: один пробный вызов после таймаута; успех → CLOSED, ошибка → OPEN.

📌 Что должен зафиксировать аналитик

Порог ошибок и таймаут восстановления.
Fallback-стратегию: кэш, сообщение «сервис временно недоступен», ленивая очередь.
Мониторинг срабатываний предохранителя.
Тесты на эмуляцию отказа внешнего сервиса.

Результат: при сбое платёжного шлюза сайт продолжал работать, пользователи видели предложение повторить позже, а не бесконечную загрузку.

Вывод: Circuit Breaker — обязательный паттерн для всех HTTP-интеграций. Аналитик, требующий его внедрения, спасает систему от каскадных падений. 🎯

#INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы уже выбрали где будете продвигаться в 2026 году ?

Все разделись на разные лагеря, кто-то:

Продвигает Телеграм
Уходит в Мах
Развивает ВК и Нельзяграм, и другие площадки

Кто бы что не говорил, но наступает эра многоканальности и важно не расслабляться!

Поэтому мы с коллегами для вас подготовили в закрытом канале готовые инструкции по продвижению🚀

Что вас ждет?

Как набрать первую 1000 подписчиков в Telegram бесплатно
Жирная статья «30 актуальных способов трафика в Телеграм»
Как бесплатно привлекать подписчиков из Threads и получать заявки системно
АВИТО: Как найти рабочую связку за 15000р
Как получать заявки из Pinterest
Как набрать подписчиков в свой блог в Дзене
Секретные связки, которые обеспечивают поток заявок за 7 дней
База проверенных блогеров для рекламы в тг
Простые инструменты ИИ для ускорения работы и генерации лидов
Шаблоны сообщений для закрытия клиентов на продажу по переписке
Схема продаж на холодную аудиторию
Примеры лидмагнитов, которые продают за вас
Фишки в продвижении во ВКонтакте
Движуха в МАХ, где можно набрать подписчиков бесплатно!
Подборка сервисов по поиску каналов для рекламы в МАХ

И многое другое!

Чек-листы, полезные статьи, уроки, подкасты - как находить клиентов в новых реалиях и не сливать бюджет на рекламу впустую!

Чтобы получить доступ к материалам:

1.
Подпишитесь на всех экспертов из папки
2. Перейдите в закрытый канал с названием «ПОДАРКИ»


👇👇👇
https://t.me/addlist/DZdPxDwua4VhN2Zi
Please open Telegram to view this post
VIEW IN TELEGRAM
Самый недооценённый навык сейчас —
умение правильно ставить задачи ИИ.

Можно дать один и тот же запрос -
и получить либо «воду»,
либо результат, который экономит часы работы.

И дело не в инструменте.
А в том, как ты формулируешь.
Чем точнее вопрос — тем сильнее результат.


ИИ — это про мышление

Я собрал папку с теми, кто реально умеет с этим работать — иногда захожу, чтобы держать уровень.

https://t.me/addlist/apNCMgFIc6g2NjVi

Вы как используете ИИ: поиграться или уже в работе?