🗄 Пост : «ВНЕЗАПНЫЕ ТОРМОЗА»: КАК ПОТЕРЯЛСЯ ИНДЕКС
Привет, коллеги! 👋 Ситуация: запрос работал 500 мс, а после релиза стал выполняться 10 секунд. Код не меняли, данных стало ненамного больше. Почему? Часто проблема — индекс перестал использоваться. Сегодня разберём реальный кейс и покажем, как аналитик может помочь найти причину. 🧐
📌 Кейс: «Отчёт по продажам тормозит»
В интернет-магазине отчёт «Топ‑10 товаров за неделю» выполнялся 0.3 секунды. После обновления СУБД время выросло до 15 секунд. Разработчики уверяли, что ничего не меняли. Аналитик заподозрил проблему в индексе.
Что выяснилось:
Раньше был индекс (sale_date, product_id). После обновления оптимизатор стал использовать другой индекс, который не подходил для группировки. Аналитик проверил план запроса через EXPLAIN и увидел Seq Scan (полное сканирование таблицы) вместо Index Scan.
Пример проверки (PostgreSQL):
-- Увидели Seq Scan на 50 млн строк
-- Принудительно указали нужный индекс
SET enable_seqscan = off;
-- Запрос снова стал быстрым
Что сделали:
Пересоздали индекс, обновили статистику (ANALYZE), а в коде прописали подсказку (индексный хинт), чтобы оптимизатор не ошибался.
📌 Что должен сделать аналитик?
Знать, как посмотреть план запроса (EXPLAIN).
При падении производительности требовать план у разработчиков.
Понимать разницу: Seq Scan (плохо для больших таблиц) vs Index Scan (хорошо).
Фиксировать в требованиях необходимость регулярного обновления статистики и мониторинга планов.
Результат: аналитик сэкономил команде неделю гаданий и спас репутацию продукта.💪
#DBMS
Привет, коллеги! 👋 Ситуация: запрос работал 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 — чек-листы по трансформации, скрипты автоматизации, кейсы импортозамещения и материалы по ИИ-оптимизации.
Сохранить подборку себе 📨
Мы сталкивались с подобным пару лет назад, когда обновлял IT-стек: без правильных материалов уходило много времени на поиск решений.
Поэтому рекомендуе вам эту подборку для диджитал и IT — чек-листы по трансформации, скрипты автоматизации, кейсы импортозамещения и материалы по ИИ-оптимизации.
Сохранить подборку себе 📨
❤2🔥2
Media is too big
VIEW IN TELEGRAM
Тот самый 1to1 в шарашкиной конторе) (часть 1)
У кого было?) на сколько окладов смогли договориться?)
У кого было?) на сколько окладов смогли договориться?)
ПОДПИСКИ НА ИИ-КАНАЛЫ ЕСТЬ, А СВЕЖИХ ИДЕЙ — НОЛЬ !?
* Твои подписки устарели (outdated). Пора сделать АПГРЕЙД своего информационного поля.
Сегодняшний ИИ — это не «10 крутых промтов» и не новость про ChatGPT-5. Это рабочие связки, реальные кейсы, свежие инструменты, которые сэкономят тебе часы уже на этой неделе.
Проблема не в том, что ты мало читаешь. А в том, что ты читаешь не тех ...
Мы собрали свежую ПОДБОРКУ каналов, где авторы реально работают с технологиями здесь и сейчас. Никаких повторов и воды. Только практика, кейсы, новые тулы и разборы, которые имеют значение.
📂 Добавляй ПАПКУ — и получи полный АПГРЕЙД своей ленты:
➡️ https://t.me/addlist/r5VfG-YYZB9mNzM8
* Сделай свою подписку умнее, пока другие читают вчерашние новости и не бойся перемен ...
Отписаться можно в любой момент. Остаться — тоже ✔️
* Твои подписки устарели (outdated). Пора сделать АПГРЕЙД своего информационного поля.
Сегодняшний ИИ — это не «10 крутых промтов» и не новость про ChatGPT-5. Это рабочие связки, реальные кейсы, свежие инструменты, которые сэкономят тебе часы уже на этой неделе.
Проблема не в том, что ты мало читаешь. А в том, что ты читаешь не тех ...
Мы собрали свежую ПОДБОРКУ каналов, где авторы реально работают с технологиями здесь и сейчас. Никаких повторов и воды. Только практика, кейсы, новые тулы и разборы, которые имеют значение.
📂 Добавляй ПАПКУ — и получи полный АПГРЕЙД своей ленты:
➡️ https://t.me/addlist/r5VfG-YYZB9mNzM8
* Сделай свою подписку умнее, пока другие читают вчерашние новости и не бойся перемен ...
Отписаться можно в любой момент. Остаться — тоже ✔️
🔌 Пост: ИДЕМПОТЕНТНОСТЬ: КАК НЕ СПИСАТЬ ДЕНЬГИ ДВАЖДЫ
Привет, коллеги! 👋 Знаете ситуацию: платёжный шлюз прислал callback об успешной оплате, вы списали деньги, а через минуту — ещё один такой же. Дубликат. Если обработка не идемпотентна — клиент заплатит дважды. Скандал, возвраты, потеря репутации. Сегодня разберём, как код помогает аналитику заложить защиту от дублей. 💸
📌 Кейс: «Билеты куплены дважды»
Сервис продажи билетов получал от платежной системы уведомления (webhook). Иногда из-за сетевого таймаута шлюз повторно отправлял то же уведомление. Система списывала бонусы и помечала билет как оплаченный повторно — второй раз появлялась запись. В итоге: дубли билетов, конфликты в отчётах, клиенты в поддержке.
Что сделал аналитик?
Потребовал идемпотентности: каждый платёж имеет уникальный payment_id, перед списанием проверяется, не обрабатывали ли уже этот ID.
Почему это работает:
Redis проверяет уникальность за миллисекунды.
Повторный вызов с тем же payment_id не пройдёт проверку.
Ключ живёт 24 часа – покрывает любые задержки повторов.
📌 Что должен зафиксировать аналитик
Требование идемпотентности для всех коллбэков внешних систем.
Поле-идентификатор (например transaction_id, payment_id), которое предоставляет внешняя система.
Механизм хранения обработанных ID (БД, Redis) и время жизни ключа.
Тест-кейсы на случай дублей (имитировать повторный вызов и убедиться, что повторной обработки нет).
Вывод: Идемпотентность — это страховка от дублей. Аналитик, закладывающий её в интеграционные требования, спасает бизнес от финансовых потерь и клиентского ада. 💪
#INTEGRATION
Привет, коллеги! 👋 Знаете ситуацию: платёжный шлюз прислал 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-логикой.
📌 Что должен зафиксировать аналитик
Порог ошибок и таймаут восстановления.
Fallback-стратегию: кэш, сообщение «сервис временно недоступен», ленивая очередь.
Мониторинг срабатываний предохранителя.
Тесты на эмуляцию отказа внешнего сервиса.
Результат: при сбое платёжного шлюза сайт продолжал работать, пользователи видели предложение повторить позже, а не бесконечную загрузку.
Вывод: Circuit Breaker — обязательный паттерн для всех HTTP-интеграций. Аналитик, требующий его внедрения, спасает систему от каскадных падений.🎯
#INTEGRATION
Привет, коллеги! 👋 Внешний 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 дней
• База проверенных блогеров для рекламы в тг
• Простые инструменты ИИ для ускорения работы и генерации лидов
• Шаблоны сообщений для закрытия клиентов на продажу по переписке
• Схема продаж на холодную аудиторию
• Примеры лидмагнитов, которые продают за вас
• Фишки в продвижении во ВКонтакте
• Движуха в МАХ, где можно набрать подписчиков бесплатно!
• Подборка сервисов по поиску каналов для рекламы в МАХ
И многое другое!
Чек-листы, полезные статьи, уроки, подкасты - как находить клиентов в новых реалиях и не сливать бюджет на рекламу впустую!
👇👇👇
https://t.me/addlist/DZdPxDwua4VhN2Zi
Все разделись на разные лагеря, кто-то:
— Продвигает Телеграм
— Уходит в Мах
— Развивает ВК и Нельзяграм, и другие площадки
Кто бы что не говорил, но наступает эра многоканальности и важно не расслабляться!
Поэтому мы с коллегами для вас подготовили в закрытом канале готовые инструкции по продвижению
Что вас ждет?
• Как набрать первую 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
Вы как используете ИИ: поиграться или уже в работе?
умение правильно ставить задачи ИИ.
Можно дать один и тот же запрос -
и получить либо «воду»,
либо результат, который экономит часы работы.
И дело не в инструменте.
А в том, как ты формулируешь.
Чем точнее вопрос — тем сильнее результат.
ИИ — это про мышление
Я собрал папку с теми, кто реально умеет с этим работать — иногда захожу, чтобы держать уровень.
https://t.me/addlist/apNCMgFIc6g2NjVi
Вы как используете ИИ: поиграться или уже в работе?
Подарки от маркетологов, которые заменят десятки курсов!
🎁 Чек-листы, инструкции, воронки, скрипты —
всё, что можно взять и сразу применить в реальной практике:
— привлечь клиентов уже за первую неделю
— выстроить стабильный поток заявок
— быстрее найти работающие связки в разных соц.сетях ( Телеграм, МАХ, ВКонтакте, Авито, Дзен, Нельзяграм, Тредс, Pinterest)
Подпишись на подборку и получи доступ к материалам👇
https://t.me/addlist/DZdPxDwua4VhN2Zi
🎁 Чек-листы, инструкции, воронки, скрипты —
всё, что можно взять и сразу применить в реальной практике:
— привлечь клиентов уже за первую неделю
— выстроить стабильный поток заявок
— быстрее найти работающие связки в разных соц.сетях ( Телеграм, МАХ, ВКонтакте, Авито, Дзен, Нельзяграм, Тредс, Pinterest)
Подпишись на подборку и получи доступ к материалам👇
https://t.me/addlist/DZdPxDwua4VhN2Zi
This media is not supported in your browser
VIEW IN TELEGRAM
Когда ОЧЕНЬ важного тех специалиста решили поругать
😁2
🏗 Пост: CQRS: КОГДА ЧИТАТЬ И ПИСАТЬ НУЖНО ПО-РАЗНОМУ
Привет, коллеги! 👋 Бывает: в одной системе есть и оперативные запросы (должны быть быстрыми), и аналитические (тяжёлые, с агрегатами). Если их смешать, страдают и те, и другие. Выход — CQRS (Command Query Responsibility Segregation). Разбираем на реальном кейсе. ⚙️
📌 Кейс: «Аналитика тормозит интерфейс»
В CRM для менеджеров отчёты по продажами грузились 10 секунд, а список клиентов открывался мгновенно. Проблема: отчёты делали тяжёлые GROUP BY по той же таблице, блокируя индексы. Менеджеры жаловались, продажи падали.
Что сделал архитектор?
Разделил команды (запись) и запросы (чтение). Команды идут в нормализованную БД (OLTP), запросы — в денормализованную read-модель (Redis + материализованные представления). Изменения из командной модели асинхронно проецируются в read-модель через Kafka.
Как выглядит код проекции (упрощённо):
Что дал CQRS:
Список заказов (команды) — < 50 мс.
Отчёт по продажам (запрос) — 200 мс (вместо 10 секунд).
База под команды не страдает от сложных выборок.
📌 Что должен зафиксировать аналитик
Разделить потоки записи и чтения в архитектуре.
Допустимость eventual consistency (задержка между записью и чтением до 5 секунд).
Выбрать хранилище для read-модели (Redis, Elasticsearch, реплика).
Описать события, на которые подписываются проекторы.
Вывод: CQRS — мощный паттерн, когда у вас разные требования к скорости записи и чтения. Аналитик, понимающий CQRS, может предложить его для развязки нагрузки и спасения производительности.🎯
#ARCHITECTURE
Привет, коллеги! 👋 Бывает: в одной системе есть и оперативные запросы (должны быть быстрыми), и аналитические (тяжёлые, с агрегатами). Если их смешать, страдают и те, и другие. Выход — CQRS (Command Query Responsibility Segregation). Разбираем на реальном кейсе. ⚙️
📌 Кейс: «Аналитика тормозит интерфейс»
В CRM для менеджеров отчёты по продажами грузились 10 секунд, а список клиентов открывался мгновенно. Проблема: отчёты делали тяжёлые GROUP BY по той же таблице, блокируя индексы. Менеджеры жаловались, продажи падали.
Что сделал архитектор?
Разделил команды (запись) и запросы (чтение). Команды идут в нормализованную БД (OLTP), запросы — в денормализованную read-модель (Redis + материализованные представления). Изменения из командной модели асинхронно проецируются в read-модель через Kafka.
Как выглядит код проекции (упрощённо):
# Слушаем события из Kafka
for event in kafka.consumer():
if event.type == "ORDER_CREATED":
# Денормализуем: считаем агрегаты и сохраняем в Redis
redis.hincrby(f"sales:{event.date}", "total", event.amount)
redis.hincrby(f"sales:{event.date}", "count", 1)
Что дал CQRS:
Список заказов (команды) — < 50 мс.
Отчёт по продажам (запрос) — 200 мс (вместо 10 секунд).
База под команды не страдает от сложных выборок.
📌 Что должен зафиксировать аналитик
Разделить потоки записи и чтения в архитектуре.
Допустимость eventual consistency (задержка между записью и чтением до 5 секунд).
Выбрать хранилище для read-модели (Redis, Elasticsearch, реплика).
Описать события, на которые подписываются проекторы.
Вывод: CQRS — мощный паттерн, когда у вас разные требования к скорости записи и чтения. Аналитик, понимающий CQRS, может предложить его для развязки нагрузки и спасения производительности.
#ARCHITECTURE
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Если приложение не умеет общаться с внешним миром (банками, CRM, AI-сервисами), оно бесполезно для бизнеса.
Нужен мгновенный ответ пользователю (например, логин на сайте)? Используем REST/gRPC (Синхрон).
Нужно отправить тяжелый отчет или обработать миллион транзакций без зависания интерфейса? Зовите брокеров сообщений (Kafka, RabbitMQ). Асинхронность — это про масштабируемость и отказоустойчивость.
Сначала пишем спецификацию (OpenAPI/Swagger), утверждаем поля, типы данных и обязательность, и только потом разработчики пишут код. Нет контракта — нет интеграции.
Сервис-получатель упал? (Нужны Retry-политики).
Запрос ушел, а ответ не пришел? (Привет, таймауты).
Пользователь нажал кнопку «Оплатить» дважды? (Здесь нужна идемпотентность).
Итог: Хороший аналитик знает, как передать данные. Отличный аналитик знает, почему именно так, и что делать, если все сломается.
#INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
ИИ уже не “будущее” — он тихо стал частью повседневности.🤖
Нейросети помогают писать тексты, генерировать изображения, анализировать данные, искать ошибки в коде и даже придумывать идеи для бизнеса. Но самое интересное — ИИ не заменяет человека, а усиливает того, кто умеет правильно задавать вопросы.🧠
Главный навык ближайших лет — не просто пользоваться технологиями, а понимать, как с ними сотрудничать.
IT + ИИ + нейро = новая реальность, где побеждает не тот, кто знает всё, а тот, кто быстрее учится. 🚀
Забрать папку 🎁
Добавиться в папку ⚡️
Нейросети помогают писать тексты, генерировать изображения, анализировать данные, искать ошибки в коде и даже придумывать идеи для бизнеса. Но самое интересное — ИИ не заменяет человека, а усиливает того, кто умеет правильно задавать вопросы.🧠
Главный навык ближайших лет — не просто пользоваться технологиями, а понимать, как с ними сотрудничать.
IT + ИИ + нейро = новая реальность, где побеждает не тот, кто знает всё, а тот, кто быстрее учится. 🚀
Забрать папку 🎁
Добавиться в папку ⚡️
Telegram
PRO IT🧠
Арина🔥 Романова invites you to add the folder “PRO IT🧠”, which includes 36 chats.
Представьте: CRM система 📋 и складская система 🏭 «договорились» обмениваться данными о заказах. На совещании всё понятно. Но когда дело доходит до кода — начинается хаос 🤯.
📌 ПРОБЛЕМА «УСТНЫХ ДОГОВОРЕННОСТЕЙ 🎤 → 💥
• «Поле
userName или username?» 🤔• «Сумма заказа — целое число или с копейками?» 💰
• «Дата в UTC или в местном времени?» 🕐
• «
status: "active" или "enabled"?» 🔄Эти мелкие нестыковки ломают интеграции в production 💥. Системный аналитик здесь — не просто посредник, а *архитектор коммуникации* 🏗, который формализует диалог систем в виде исполняемого контракта 📜.
💡 КЛЮЧЕВАЯ МЫСЛЬ. В современной разработке; КОД — это и есть самая точная документация 📖 → 💻. Поэтому лучший способ согласовать интеграцию — начать с написания её формального описания на специальном 'языке контрактов' ✍️.
🎯 ДЛЯ ЧЕГО ЭТО НУЖНО АНАЛИТИКУ 🎓:
1️⃣ Устранить неоднозначность требований ✅
2️⃣ Позволить командам работать параллельно 🚀
3️⃣ Обнаруживать breaking changes до деплоя 🔍
4️⃣ Автоматически генерировать клиентские библиотеки ⚙️
🛠 ПРАКТИЧЕСКИЙ ИНСТРУМЕНТАРИЙ🧰:
• 📊 OpenAPI/Swagger — для REST API
• 🔄 AsyncAPI — для событийных шин (Kafka, RabbitMQ)
• 🕸 GraphQL Schema — для гибких запросов
• ⚡️ Protobuf/gRPC — для высокопроизводительных RPC
📋 ПРОСТОЙ ПРИМЕР: как выглядит «договор» между системой заказов 🛒 и системой доставки 🚚:
# 📜 Контракт на создание заказа (OrderCreated.event.yaml)
event: OrderCreated
version: 1.0.0
description: 🎉 Заказ успешно создан и оплачен 💳
payload:
type: object
required: 📌
- orderId
- customerId
- items
- totalAmount
properties:
orderId:
type: string
format: uuid
example: "550e8400-e29b-41d4-a716-446655440000" 🆔
customerId:
type: string
format: uuid 👤
items:
type: array
minItems: 1 📦
items:
type: object
properties:
productId: { type: string } 🏷
quantity: { type: integer, minimum: 1 } 🔢
price: { type: number, minimum: 0 } 💵
totalAmount:
type: number
minimum: 0
exclusiveMinimum: true 💰
currency:
type: string
pattern: '^[A-Z]{3}$'
default: "RUB" ₽
createdAt:
type: string
format: date-time
description: "⏰ Время в формате ISO 8601 (UTC)"
🔍 ПОЧЕМУ ИМЕННО ФОРМАЛЬНЫЙ КОНТРАКТ, А НЕ ДОКУМЕНТ В CONFLUENCE? 📄❌
1️⃣ 🤖 МАШИНОЧИТАЕМОСТЬ:
• Можно автоматически сгенерировать код на Java ☕️, Python 🐍, C# ⚡️
• Можно провести валидацию данных в рантайме ✅
• Можно создать mock-сервер для тестирования 🧪
2️⃣ ✅ ВЕРИФИЦИРУЕМОСТЬ:
Если система-потребитель ожидает поле deliveryAddress 🏠, а система-источник его не отправляет — тест упадёт на этапе CI/CD 🔧, а не в production 💥.
3️⃣ 🔄 ЭВОЛЮЦИОННОСТЬ:
Версии контракта позволяют плавно мигрировать. Можно добавить новое поле discountAmount 🎁, не ломая старых потребителей.
🎭 РОЛЬ СИСТЕМНОГО АНАЛИТИКА В ЭТОМ ПРОЦЕССЕ 👨💼 → 🏗:
Вы становитесь не просто «собирателем требований», а проектировщиком языка общения между системами 🗣. Ваша задача:
1️⃣ 🎯 Выявить ключевые сущности и их атрибуты
2️⃣ 📝 Определить обязательные и опциональные поля
3️⃣ ⚙️ Установить форматы данных (даты 📅, валюты 💱, идентификаторы 🆔)
4️⃣ 🚨 Спроектировать сценарии ошибок и их обработки
5️⃣ 🔮 Предусмотреть будущие расширения
📈 КОНКРЕТНЫЙ РЕЗУЛЬТАТ ДЛЯ БИЗНЕСА 📊:
• ⏱️ Сокращение времени на интеграцию на 30-40%
• 🛡 Уменьшение инцидентов в production на 60-70%
• 🔌 Возможность быстрого подключения новых систем
• 🔍 Прозрачность взаимодействия между командами
💎
В мире микросервисов и распределённых систем 🌐, интеграция — это не «подключили и забыли» 🔌. Это постоянный диалог 🗣, где код выступает в роли формального протокола 📜.
Системный аналитик, который умеет проектировать эти протоколы 🏗, становится ключевым звеном 🔑 в создании устойчивых, масштабируемых и понятных IT-ландшафтов 🏙.
#INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
📂 Подборка каналов по ИИ и IT технологиям
Подборка каналов для тех, кто работает в IT, хочет держать руку на пульсе без мониторинга сотни источников и сделать АПГРЕЙД своего информационного поля.
Что внутри:
🔗 [Добавить папку]
Подборка каналов для тех, кто работает в IT, хочет держать руку на пульсе без мониторинга сотни источников и сделать АПГРЕЙД своего информационного поля.
Что внутри:
– AI: реальные инструменты и внедрения, без хайпа;
– IT технологии: тренды, обзоры, инсайты от первых лиц;
– Карьера: как расти и не выгорать;
– HR Tech: кто и как нанимает профессионалов сейчас;
– AI life hacks: применение ИИ для удаленки и работы за рубежом.
🔗 [Добавить папку]
👌2❤1🔥1🎉1
ДЛЯ РОСТА НЕ ВСЕГДА ОБЯЗАТЕЛЬНО НУЖНО КУДА-ТО БЕЖАТЬ, ЧТО-ТО ВПАРИВАТЬ И/ИЛИ КОГО-ТО ДОГОНЯТЬ ... * На деле — часто достаточно просто оказаться в том месте, где "дышится" иначе ✔️
Мы собрали для тебя ПОДБОРКУ каналов про продажи с IT & AI, в которую хотим тебя пригласить. Там всё без надрыва:
🚫 Без кричащих заголовков
🚫 Без "купи прямо сейчас, иначе потом будет дороже"
🚫 Без ощущения, что ты что-то упускаешь
▪️ Там про другое:
— про то, как слышать клиента, а не продавливать
— про сделки, после которых не чувствуешь себя выжатым
— про Telegram как про живое пространство, где хочется быть
— и про деньги, которые приходят не через манипуляции, а через доверие
Делимся знаниями и аудиторией — растём вместе ⚡️ Забирай ПАПКУ бесплатно. * Отписаться можно в любой момент. Остаться — тоже. ✔️
Ссылка ➡️ https://t.me/addlist/3sxzEXxFW2Q5YTNk
Мы собрали для тебя ПОДБОРКУ каналов про продажи с IT & AI, в которую хотим тебя пригласить. Там всё без надрыва:
🚫 Без кричащих заголовков
🚫 Без "купи прямо сейчас, иначе потом будет дороже"
🚫 Без ощущения, что ты что-то упускаешь
▪️ Там про другое:
— про то, как слышать клиента, а не продавливать
— про сделки, после которых не чувствуешь себя выжатым
— про Telegram как про живое пространство, где хочется быть
— и про деньги, которые приходят не через манипуляции, а через доверие
Делимся знаниями и аудиторией — растём вместе ⚡️ Забирай ПАПКУ бесплатно. * Отписаться можно в любой момент. Остаться — тоже. ✔️
Ссылка ➡️ https://t.me/addlist/3sxzEXxFW2Q5YTNk
🆒2👍1🔥1
🧩 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 — это ваш навигатор в проекте
Умение писать и читать SQL-запросы даёт вам, как аналитику, три ключевых преимущества:
Глубокое понимание «анатомии» системы. Вы видите, как данные связаны между собой, и можете предсказать, где возникнут проблемы при масштабировании.
Проверка требований на реализуемость. Можно сразу набросать структуру будущих таблиц и выявить противоречия в требованиях до этапа разработки.
Предотвращение архитектурных ошибок. Помогает оценить, как сегодняшнее решение повлияет на завтрашние возможности системы. Часто проще потратить день на проектирование, чем месяцы на исправление «костылей».
💥 Боль из реальных проектов: когда незнание SQL било по срокам
Давайте на примерах. Думаете, я преувеличиваю?
Кейс 1: ФИО одной строкой. В проекте было решено хранить ФИО пользователя в одном поле full_name. Казалось бы, мелочь. Но когда потребовалась интеграция с госсистемой, где ФИО передаются тремя раздельными полями, пришлось:
Писать хрупкий алгоритм разбивки строки (а как быть с двойными фамилиями или отчествами вроде «оглы»?).
Менять API, интерфейсы и все интеграции.
Результат: три месяца незапланированной работы вместо одной маленькой фичи.
Кейс 2: Один владелец на машину. В системе для автосервиса изначально заложили, что у машины один владелец. В жизни же часто бывает два-три совладельца. Пришлось экстренно менять связь в БД с «один-ко-многим» на «многие-ко-многим», что потянуло за собой лавину изменений.
Этих проблем можно было бы избежать, если бы на этапе анализа и проектирования кто-то спросил: «А как эти данные лежат в базе?» и смог проверить это сам.
🛠 Ваш базовый арсенал: SQL-запросы, которые стоит освоить в первую очередь
Теория — это хорошо, но давайте к практике. Вот 5 типов запросов, которые стоит отточить. Для примеров возьмем упрощенную модель интернет-магазина.
🚀🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 ❓
1. SELECT и WHERE: Видеть и фильтровать
Базовый запрос — ваш главный инструмент изучения данных.
sql
-- Выбрать всех активных пользователей из Москвы, зарегистрированных после 2023 года
SELECT first_name, last_name, email
FROM customers
WHERE city = 'Москва'
AND registration_date >= '2023-01-01'
AND status = 'active';
2. JOIN: Связывать сущности
Суть реляционных баз — в связях. JOIN помогает их восстановить.
sql
-- Узнать, какие товары и в каком количестве заказал каждый клиент
SELECT c.first_name, c.last_name, p.product_name, oi.quantity
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id;
3. GROUP BY и агрегатные функции: Считать и обобщать
Для анализа и отчетов без этого никуда.
4. Подзапросы и CTE (WITH): Декомпозировать сложные вопросы
Когда запрос становится слишком сложным, его нужно разбить на части.
5. Оконные функции (OVER): Анализировать в контексте
Мощный инструмент для скользящих сумм, ранжирования и сравнений без потери детализации.
#SQL
Умение писать и читать SQL-запросы даёт вам, как аналитику, три ключевых преимущества:
Глубокое понимание «анатомии» системы. Вы видите, как данные связаны между собой, и можете предсказать, где возникнут проблемы при масштабировании.
Проверка требований на реализуемость. Можно сразу набросать структуру будущих таблиц и выявить противоречия в требованиях до этапа разработки.
Предотвращение архитектурных ошибок. Помогает оценить, как сегодняшнее решение повлияет на завтрашние возможности системы. Часто проще потратить день на проектирование, чем месяцы на исправление «костылей».
💥 Боль из реальных проектов: когда незнание SQL било по срокам
Давайте на примерах. Думаете, я преувеличиваю?
Кейс 1: ФИО одной строкой. В проекте было решено хранить ФИО пользователя в одном поле full_name. Казалось бы, мелочь. Но когда потребовалась интеграция с госсистемой, где ФИО передаются тремя раздельными полями, пришлось:
Писать хрупкий алгоритм разбивки строки (а как быть с двойными фамилиями или отчествами вроде «оглы»?).
Менять API, интерфейсы и все интеграции.
Результат: три месяца незапланированной работы вместо одной маленькой фичи.
Кейс 2: Один владелец на машину. В системе для автосервиса изначально заложили, что у машины один владелец. В жизни же часто бывает два-три совладельца. Пришлось экстренно менять связь в БД с «один-ко-многим» на «многие-ко-многим», что потянуло за собой лавину изменений.
Этих проблем можно было бы избежать, если бы на этапе анализа и проектирования кто-то спросил: «А как эти данные лежат в базе?» и смог проверить это сам.
🛠 Ваш базовый арсенал: SQL-запросы, которые стоит освоить в первую очередь
Теория — это хорошо, но давайте к практике. Вот 5 типов запросов, которые стоит отточить. Для примеров возьмем упрощенную модель интернет-магазина.
🚀
1. SELECT и WHERE: Видеть и фильтровать
Базовый запрос — ваш главный инструмент изучения данных.
sql
-- Выбрать всех активных пользователей из Москвы, зарегистрированных после 2023 года
SELECT first_name, last_name, email
FROM customers
WHERE city = 'Москва'
AND registration_date >= '2023-01-01'
AND status = 'active';
2. JOIN: Связывать сущности
Суть реляционных баз — в связях. JOIN помогает их восстановить.
sql
-- Узнать, какие товары и в каком количестве заказал каждый клиент
SELECT c.first_name, c.last_name, p.product_name, oi.quantity
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id;
3. GROUP BY и агрегатные функции: Считать и обобщать
Для анализа и отчетов без этого никуда.
-- Посчитать выручку и средний чек по каждому городу
SELECT
c.city,
COUNT(o.order_id) as total_orders, -- количество заказов
SUM(o.total_amount) as total_revenue, -- общая выручка
AVG(o.total_amount) as avg_order_value -- средний чек
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.city;
4. Подзапросы и CTE (WITH): Декомпозировать сложные вопросы
Когда запрос становится слишком сложным, его нужно разбить на части.
-- Найти клиентов, которые делали заказы на сумму больше средней
WITH avg_order_value AS ( -- CTE: вычисляем средний чек один раз
SELECT AVG(total_amount) as avg_amount FROM orders
)
SELECT c.first_name, c.last_name, o.total_amount
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE o.total_amount > (SELECT avg_amount FROM avg_order_value);
5. Оконные функции (OVER): Анализировать в контексте
Мощный инструмент для скользящих сумм, ранжирования и сравнений без потери детализации.
-- Для каждого заказа показать сумму заказа и общую сумму всех заказов его клиента
SELECT
o.order_id,
o.customer_id,
o.total_amount,
SUM(o.total_amount) OVER (PARTITION BY o.customer_id) as customer_lifetime_value
FROM orders o;
#SQL
Please open Telegram to view this post
VIEW IN TELEGRAM