1. Высокий спрос на рынке
Все компании — от банков до стартапов — хотят понимать свои данные. А значит, специалисты нужны всегда 🔥
2. Карьерный рост без потолка
Можно расти в продакт-аналитику, data science, machine learning или переходить в менеджмент. Опций — море 🌊
3. Отличная зарплата
Даже джуны получают выше среднего по рынку, а мидлы и сеньоры выходят на очень достойные суммы 💸
4. Прямая польза бизнесу
Ты реально влияешь на решения: от маркетинга до разработки. Чувствуешь, что делаешь что-то важное ⚡️
5. Постоянное развитие
Новые инструменты, новые подходы, новые данные — скучать просто не получится 🤓
6. Гибкость формата работы
Удалёнка? Гибкий график? Полу-офис? Всё реально. Главное — результат 💼
7. Низкий порог входа
Не всегда требуется суперматематика: достаточно логики, Python/SQL и умения думать 🧠
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
1. Много рутины
Очистка данных, проверка гипотез, подготовка отчётов — иногда это превращается в бесконечный цикл 🌀
2. Большая ответственность
Одна неверная цифра может повлиять на решение бизнеса и поломать процессы. Ошибаться страшно 😅
3. Постоянное обучение
Инструменты обновляются, появляются новые подходы, и держать уровень бывает тяжело. Учиться приходится всегда 📚
4. Давление со стороны менеджеров
От аналитика часто ждут быстрых ответов, даже если данных недостаточно. Нужно уметь держать удар ⚔️
5. Много коммуникации
Придётся объяснять цифры людям, которые вообще не обязаны разбираться в аналитике. Иногда это выматывает 😮💨
6. Разрозненные данные
В компаниях часто хаос: разные источники, разная структура, баги. И всё это нужно как-то свести в одно целое 🧩
7. Не всегда есть чёткие критерии успеха
Иногда твоя работа — это «помог» или «не помог». Метрики размыты, и бывает сложно понять, хорошо ли ты справляешься 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Хорошие новости для всех питонистов! 🔥
В этом году ожидается релиз Python 3.14, который может стать самым быстрым Python в истории! Главная новинка — новый тип интерпретатора, который обещает ускорение выполнения кода до 30% без необходимости переписывать его.
🔥 В чём суть?
Разработчики CPython внедрили новую технику оптимизации байт-кода:
✅ Использование хвостовых вызовов между C-функциями, которые обрабатывают опкоды Python.
✅ Снижение накладных расходов на интерпретацию инструкций.
✅ Более эффективное управление стеком вызовов, что снижает издержки на переключение контекста.
🛠 Что нужно, чтобы это заработало?
🔹 Новый интерпретатор будет доступен при сборке Python из исходного кода с соответствующим флагом.
🔹 Поддерживается только Clang 19+ и архитектуры x86-64, AArch64 (но в будущем планируют добавить GCC).
🔹 Обычные дистрибутивные версии Python пока не получат эту фишку «из коробки».
❓ Стоит ли ждать?
Python 3.14 делает шаг к более высокой производительности, но пока нововведение требует ручной сборки. Это может стать стандартом в будущем, если комьюнити примет новинку.
Ссылка на доку https://docs.python.org/3.14/whatsnew/3.14.html
Кому не лень, можете почитать
📢 Как думаете, нужно ли ускорение Python или его главная сила не в скорости?
@pycode1
В этом году ожидается релиз Python 3.14, который может стать самым быстрым Python в истории! Главная новинка — новый тип интерпретатора, который обещает ускорение выполнения кода до 30% без необходимости переписывать его.
🔥 В чём суть?
Разработчики CPython внедрили новую технику оптимизации байт-кода:
✅ Использование хвостовых вызовов между C-функциями, которые обрабатывают опкоды Python.
✅ Снижение накладных расходов на интерпретацию инструкций.
✅ Более эффективное управление стеком вызовов, что снижает издержки на переключение контекста.
🛠 Что нужно, чтобы это заработало?
🔹 Новый интерпретатор будет доступен при сборке Python из исходного кода с соответствующим флагом.
🔹 Поддерживается только Clang 19+ и архитектуры x86-64, AArch64 (но в будущем планируют добавить GCC).
🔹 Обычные дистрибутивные версии Python пока не получат эту фишку «из коробки».
❓ Стоит ли ждать?
Python 3.14 делает шаг к более высокой производительности, но пока нововведение требует ручной сборки. Это может стать стандартом в будущем, если комьюнити примет новинку.
Ссылка на доку https://docs.python.org/3.14/whatsnew/3.14.html
Кому не лень, можете почитать
📢 Как думаете, нужно ли ускорение Python или его главная сила не в скорости?
@pycode1
Please open Telegram to view this post
VIEW IN TELEGRAM
Python documentation
What’s new in Python 3.14
Editors, Adam Turner and Hugo van Kemenade,. This article explains the new features in Python 3.14, compared to 3.13. Python 3.14 was released on 7 October 2025. For full details, see the changelog...
🔥3
Что внутри:
https://github.com/metabase/metabase
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Почему именно python? 📱
Я уже говорил о том, что писал на многих языках программирования, но почему решил остановился именно на питоне, напишу ниже🔽
1️⃣ Высокий спрос на рынке труда
Python востребован в разных областях:
веб-разработка, автоматизация, анализ данных📊 искусственный интеллект 🤖 DevOps. Компании активно ищут Python-разработчиков, что увеличивает шансы найти работу, особенно на позиции junior-разработчика. Но нужно учитывать, что конкуренция высокая.
2️⃣ Простота и скорость изучения
Python обладает лаконичным и понятным синтаксисом, что позволяет быстрее освоить основы программирования🧑💻 Благодаря этому можно быстро приступить к решению реальных задач.
3️⃣ Широкая экосистема библиотек
Для Python существует огромное количество библиотек и фреймворков:
🔻 Для веб-разработки: Django Flask, FastAPI.
🔻 Для работы с данными: Pandas, NumPy, Matplotlib.
🔻 Для машинного обучения: TensorFlow, Scikit-learn, PyTorch. На этом языке вы можете написать буквально, все что возможно.
4️⃣ Кросс-платформенность
Python поддерживается на всех популярных операционных системах — Windows, macOS, Linux. Это удобно как для разработки, так и для запуска приложений✅
5️⃣ Сообщество и документация
У Python одно из крупнейших сообществ разработчиков. Это значит, что для большинства вопросов уже есть готовые ответы. Качественная документация📖 и большое количество обучающих материалов делают изучение языка и его инструментов проще.
6️⃣ Автоматизация задач
Python отлично подходит для автоматизации рутинных процессов: парсинга сайтов,🖥 работы с файлами, 🗂 тестирования приложений и многого другого. Это полезный навык для любой сферы разработки.
7️⃣ Поддержка современных технологий
Python активно развивается и поддерживает новые технологии: асинхронное программирование, микросервисы, cloud-решения, интеграцию с другими языками и сервисами📱
8️⃣ Подходит для старта и роста
Python позволяет легко начать с простых проектов, а затем переходить к сложным архитектурным решениям👨💻 С его помощью ты можешь освоить все ключевые концепции бэкенд-разработки: работу с базами данных, API, многопоточность и т.д.
@pycode1
Я уже говорил о том, что писал на многих языках программирования, но почему решил остановился именно на питоне, напишу ниже
Python востребован в разных областях:
веб-разработка, автоматизация, анализ данных
Python обладает лаконичным и понятным синтаксисом, что позволяет быстрее освоить основы программирования
Для Python существует огромное количество библиотек и фреймворков:
Python поддерживается на всех популярных операционных системах — Windows, macOS, Linux. Это удобно как для разработки, так и для запуска приложений
У Python одно из крупнейших сообществ разработчиков. Это значит, что для большинства вопросов уже есть готовые ответы. Качественная документация
Python отлично подходит для автоматизации рутинных процессов: парсинга сайтов,
Python активно развивается и поддерживает новые технологии: асинхронное программирование, микросервисы, cloud-решения, интеграцию с другими языками и сервисами
Python позволяет легко начать с простых проектов, а затем переходить к сложным архитектурным решениям
@pycode1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1💯1
Как понять айтишников?
У вас когда нибудь бывало такое, что слушаете какого то программиста, и не понимаете на каком языке он говорит? У меня тоже.
Так вот, я создал словарик, который простыми словами объясняет сложный ИТ-сленг. Он поможет быстрее разобраться в терминах, упростит общение в команде и сделает обучение комфортнее.
📝Этот глоссарий — не просто шпаргалка, а способ побороть синдром самозванца и перестать чувствовать себя чужим в мире ИТ. Когда я только начинал, мне бы он сэкономил кучу нервов на созвонах, потому что даже в контексте задачи многое оставалось непонятным.
Переходите по ссылке, сохраняйте документ себе и изучайте новые слова 🔥
У вас когда нибудь бывало такое, что слушаете какого то программиста, и не понимаете на каком языке он говорит? У меня тоже.
Так вот, я создал словарик, который простыми словами объясняет сложный ИТ-сленг. Он поможет быстрее разобраться в терминах, упростит общение в команде и сделает обучение комфортнее.
📝Этот глоссарий — не просто шпаргалка, а способ побороть синдром самозванца и перестать чувствовать себя чужим в мире ИТ. Когда я только начинал, мне бы он сэкономил кучу нервов на созвонах, потому что даже в контексте задачи многое оставалось непонятным.
Переходите по ссылке, сохраняйте документ себе и изучайте новые слова 🔥
🔥2
Почему программировать на самом деле сложно❓
Сегодня тысячи программ для обучения кодингу. Очно, заочно, онлайн, можно даже бесплатно учиться. Но почему тогда не все становятся программистами? Это же самая востребованная и дорогая профессия.💵
📝 Начнем с того, что программирование и кодинг это не одно и то же. Кодингу по сути даже учиться не обязательно. Можно запречь бесплатный OpenAI от Gemini или DeepSeek. Они будут за секунду клепать тысячи строк кода. А программирование – это образ мышления 🧠
Надо понимать суть написания программы, логику ее работы, функционала, какие инструменты где и как применять. Этому тоже можно научиться. Но как и многое в этой жизни, по-настоящему понимать и чувствовать такие вещи начинаешь только с опытом🌡
Откуда берется опыт? Даже не из практики, а из ошибок. Ты становишься сеньором не тогда, когда запомнил наизусть 10 языков или написал 20 программ, а когда научился предвидеть, понимать, находить и решать ошибки☑️ Большинство новичков идут за дорогой и востребованной профессией, но они не вывозят, когда сталкиваются с проблемами. А это не проблемы на работе раз-два в неделю. Это регулярный процесс.
Даже опытные инженеры ошибаются и порой не могут найти косяки неделями. Так что бояться ошибок не стоит, это часть вашей работы. Если вы ошибаетесь, значит учитесь.
Сегодня тысячи программ для обучения кодингу. Очно, заочно, онлайн, можно даже бесплатно учиться. Но почему тогда не все становятся программистами? Это же самая востребованная и дорогая профессия.
Надо понимать суть написания программы, логику ее работы, функционала, какие инструменты где и как применять. Этому тоже можно научиться. Но как и многое в этой жизни, по-настоящему понимать и чувствовать такие вещи начинаешь только с опытом
Откуда берется опыт? Даже не из практики, а из ошибок. Ты становишься сеньором не тогда, когда запомнил наизусть 10 языков или написал 20 программ, а когда научился предвидеть, понимать, находить и решать ошибки
Даже опытные инженеры ошибаются и порой не могут найти косяки неделями. Так что бояться ошибок не стоит, это часть вашей работы. Если вы ошибаетесь, значит учитесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
О чем молчат на собеседованиях? 🤫
Полезная инфа не только вкатунам, но и тем кто уже работает. Проработав какое то время в IT, я понял, что:
▶️ У каждой компании есть чёткая вилка по зарплате на позицию. Но первое правило HR - заставить тебя назвать цифру первым. Кто первый назвал сумму - тот проиграл.
▶️ Твоя годовая оценка часто не имеет ничего общего с твоими реальными достижениями. Это игра в квоты и бюджеты. На весь отдел уже заранее размечено, сколько человек получат низкие оценки, независимо от их реального вклада.
▶️ Самый токсичный миф - «карьерный рост внутри компании». Правда в том, что за 2-3 перехода между компаниями ты вырастешь больше, чем за 5-7 лет лояльности одной.
▶️ «Корпоративный психолог» - это не твой психолог. Это инструмент компании. Всё, что ты скажешь, может быть использовано... сами знаете как.
▶️ Крутое название должности часто маскирует примитивную работу. Senior Cloud Architecture Designer может заниматься простой поддержкой легаси-кода.
▶️ HR - не твой друг. Их задача - чтобы компания работала эффективно. Твоё счастье в их КРІ не входит.
▶️ Если слышишь от коллег разговоры про «корпоративную культуру» - беги. Это верный признак, что компания - дно, там где реально есть культура ты ни разу про неё не услышишь.
▶️ В компании есть должность «скрам мастер»? - беги. Это компания где люди будут заниматься чем угодно, только не делом, в основном сидеть и порастать мхом, но если ты деятельный то на тебе будут ехать все.
▶️ Система грейдов и уровней придумана не для твоего роста, а чтобы было удобнее держать людей в рамках.
🐸 Самое страшное - большинство так и проживает всю карьеру, не понимая этих правил игры.
Ставим 🔥 если согласны
Полезная инфа не только вкатунам, но и тем кто уже работает. Проработав какое то время в IT, я понял, что:
Ставим 🔥 если согласны
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Синдром overthinking или почему вы прокрастинируете
Уверен, что каждый из вас сталкивался с ситуацией, когда очень долго сидишь за определенной задачей, пытаясь подобрать идеальное решение.
Чрезмерное обдумывание ситуаций, анализ каждого мелкого аспекта и прокручивание возможных исходов, и есть синдром overthinking.
У программистов он встречается довольно часто. Особенно если ты новичок или работаешь над сложной задачей. Вот почему:
1. Желание написать идеальный код➡️ Бесконечное продумывание лучшей архитектуры, выбора библиотек, алгоритмов.
2. Страх ошибок➡️
Можно зациклиться на поиске потенциальных багов, даже если они маловероятны.
3. Много вариантов решения➡️
В программировании почти всегда есть несколько путей, и выбор может затянуться.
4. Импостер-синдром➡️ Мысль “А вдруг мой код плохой?” заставляет переделывать и анализировать бесконечно.
5. Постоянное обучение➡️ Размышления о том, какие технологии учить, какую карьерную стратегию выбрать.
Как с этим бороться❔
✔️ Практиковать принцип KISS (Keep It Simple, Stupid) – проще = лучше.
✔️ Ограничивать время на обдумывание – если за 30 минут нет решения, переходи к прототипированию.
✔️ Не бояться ошибок – быстрее ошибся → быстрее исправил → быстрее научился.
✔️ Разбивать задачи на маленькие части – так легче принимать решения.
✔️ Делать приоритеты – не всё требует глубокого анализа. Иногда достаточно просто рабочего решения.
Ставьте ❤️ если сталкивались с этим
Уверен, что каждый из вас сталкивался с ситуацией, когда очень долго сидишь за определенной задачей, пытаясь подобрать идеальное решение.
Чрезмерное обдумывание ситуаций, анализ каждого мелкого аспекта и прокручивание возможных исходов, и есть синдром overthinking.
У программистов он встречается довольно часто. Особенно если ты новичок или работаешь над сложной задачей. Вот почему:
1. Желание написать идеальный код
2. Страх ошибок
Можно зациклиться на поиске потенциальных багов, даже если они маловероятны.
3. Много вариантов решения
В программировании почти всегда есть несколько путей, и выбор может затянуться.
4. Импостер-синдром
5. Постоянное обучение
Как с этим бороться
Ставьте ❤️ если сталкивались с этим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Классный способ визуализации, который открыл для себя недавно
Сегодня хочу поделиться мощным способом визуализации, который отлично подходит для анализа распределения непрерывной переменной (например, зарплаты) в зависимости сразу от двух категориальных признаков.
В чём суть ?
Берём два категориальных признака (в моём примере — IT-специализация и грейд) и для каждой их комбинации строим boxplot. Это позволяет одним взглядом оценить комплексное влияние двух факторов на целевую переменную.
Какие инсайты можно найти? 💡
Вот что я обнаружил на примере датасета с зарплатами в IT:
• Чёткий рост зарплаты от middle к senior почти во всех специализациях
• В сфере Research and Advanced ML джуны получают неожиданно много — часто больше, чем миддлы в других направлениях. Вероятно, сказывается высокий порог входа и нехватка сильных кадров
• Аномально высокие зарплаты у некоторых джунов (например, 300к у AI Developer) — возможно, это ошибки в данных или уникальные кейсы
• Самый перспективный карьерный рост (по разрыву в зарплате между грейдами) — в ML Engineering, Management и Data Engineering
Как это построить? 🛠
Вот пример кода на Python с seaborn:
Ссылка на датасет
Сегодня хочу поделиться мощным способом визуализации, который отлично подходит для анализа распределения непрерывной переменной (например, зарплаты) в зависимости сразу от двух категориальных признаков.
В чём суть ?
Берём два категориальных признака (в моём примере — IT-специализация и грейд) и для каждой их комбинации строим boxplot. Это позволяет одним взглядом оценить комплексное влияние двух факторов на целевую переменную.
Какие инсайты можно найти? 💡
Вот что я обнаружил на примере датасета с зарплатами в IT:
• Чёткий рост зарплаты от middle к senior почти во всех специализациях
• В сфере Research and Advanced ML джуны получают неожиданно много — часто больше, чем миддлы в других направлениях. Вероятно, сказывается высокий порог входа и нехватка сильных кадров
• Аномально высокие зарплаты у некоторых джунов (например, 300к у AI Developer) — возможно, это ошибки в данных или уникальные кейсы
• Самый перспективный карьерный рост (по разрыву в зарплате между грейдами) — в ML Engineering, Management и Data Engineering
Как это построить? 🛠
Вот пример кода на Python с seaborn:
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(10, 8))
sns.boxplot(x='experience_level', y='salary_in_usd', hue='job_category', data=df, palette='Set2')
plt.title('Зависимость зарплаты от грейда и сферы деятельности', fontsize=15)
plt.xlabel('Грейд')
plt.ylabel('Заработная плата, $ в год')
plt.legend(title='Сфера деятельности')
plt.tight_layout()
plt.show()
Ссылка на датасет
🔥5
Насколько важны алгоритмы для аналитика данных? 🤔📊
Если коротко, то важны. Но не так, как для разраба.
Для аналитика данных алгоритмы это не про сложные формулы в 3 экрана, а про понимание логики, которая стоит за инструментами, которыми ты пользуешься каждый день🔍
На своем опыте скажу, что действительно нужно на уровне мидла или выше
🔤 Понимание базовых структур данных
Списки, словари, таблицы, матрицы - вся твоя работа крутится вокруг них.
Чем лучше понимаешь их поведение, тем быстрее решаешь задачи.
🔤 2. Алгоритмическое мышление
Умение разложить задачу на шаги: как обработать данные, как оптимизировать выборку, где ускорить, где не нужно.
🔤 3. Знание классики: сортировки, фильтрации, группировки
Это основа SQL, Python (Pandas), Excel. Всего, чем живёт аналитик🤓
🔤 4. Минимум математики - максимум практичности
Не нужно знать Дейкстру или FFT, но стоит понимать, как работает регрессия, классификация, кластеризация.
Не по формулам а по смыслу🤝
🔤 5. Скорее важно понимать не “как написать алгоритм”, а “как он работает внутри”
Этим ты отличаешься от тех, кто просто жмёт кнопки. Это и есть уровень выше🚀
📌 Что по итогу?
Аналитику не нужно уметь писать сложные алгоритмы. Но нужно понимать их логику, чтобы уверенно работать с данными, моделями и инструментами. Собственно это и делает тебя ценным специалистом💡
Если коротко, то важны. Но не так, как для разраба.
Для аналитика данных алгоритмы это не про сложные формулы в 3 экрана, а про понимание логики, которая стоит за инструментами, которыми ты пользуешься каждый день
На своем опыте скажу, что действительно нужно на уровне мидла или выше
Списки, словари, таблицы, матрицы - вся твоя работа крутится вокруг них.
Чем лучше понимаешь их поведение, тем быстрее решаешь задачи.
Умение разложить задачу на шаги: как обработать данные, как оптимизировать выборку, где ускорить, где не нужно.
Это основа SQL, Python (Pandas), Excel. Всего, чем живёт аналитик
Не нужно знать Дейкстру или FFT, но стоит понимать, как работает регрессия, классификация, кластеризация.
Не по формулам а по смыслу
Этим ты отличаешься от тех, кто просто жмёт кнопки. Это и есть уровень выше
Аналитику не нужно уметь писать сложные алгоритмы. Но нужно понимать их логику, чтобы уверенно работать с данными, моделями и инструментами. Собственно это и делает тебя ценным специалистом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Кто устроился лучше всех в IT ❓
Каждый задавал себе вопрос, чему лучше обучаться, чтобы не сильно тяжело было и нормально платили? Frontend, Backend, Тестировщик, Мобильщик, а может вообще на аналитика пойти🤔
Нужно выбирать то, что вам больше нравится. Чтобы это понять, нужно немало времени. Порешать какие то задачки, посмотреть видео на ютабе, попилить проекты. И уже тогда выбрать верный путь✅
Неважно кто вы, web программист, devops или жесткий MLщик. Если вы хороший специалист + грамотный продажник💵 (да, без навыка «хорошо себя продавать» не обойтись), то вас ждет хорошее соотношение денег в час/трудовой день 👨💻
Вам может показаться что достаточно просто быть очень крутым техническим специалистом, но для того чтобы устроиться лучше всех, этого, к сожалению, недостаточно❌
Я лично встречал случаи когда крутые специалисты получают меньше более наглых ребят и самое интересное, в дальнейшем более наглые ребята, за счет того что они замотивированы☄️ получать все больше и больше, находили более высокооплачиваемые офферы и были вынуждены расти в профессиональном уровне, в итоге, обгоняя скромных, но очкошных гениев
🛡 По итогу, наглость в хорошем смысле этого слова, ценность себя как специалиста и осознание того что ты заслуживаешь больше денег - приносит успех 🥇
Со мной кто-то может не согласиться. Если так, то напишите в комменты ваще мнение👇
Каждый задавал себе вопрос, чему лучше обучаться, чтобы не сильно тяжело было и нормально платили? Frontend, Backend, Тестировщик, Мобильщик, а может вообще на аналитика пойти
Нужно выбирать то, что вам больше нравится. Чтобы это понять, нужно немало времени. Порешать какие то задачки, посмотреть видео на ютабе, попилить проекты. И уже тогда выбрать верный путь
Неважно кто вы, web программист, devops или жесткий MLщик. Если вы хороший специалист + грамотный продажник
Вам может показаться что достаточно просто быть очень крутым техническим специалистом, но для того чтобы устроиться лучше всех, этого, к сожалению, недостаточно
Я лично встречал случаи когда крутые специалисты получают меньше более наглых ребят и самое интересное, в дальнейшем более наглые ребята, за счет того что они замотивированы
Со мной кто-то может не согласиться. Если так, то напишите в комменты ваще мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Советы, которые я использую при работе с SQL-запросами 😎
Сейчас я стал писать гораздо больше кода, чем раньше, особенно это касается SQL. Поэтому решил составить небольшую памятку с рекомендациями, которые помогают мне не путаться и не ломать запросы💀
Используйте отступы, выравнивание и пишите ключевые слова в верхнем регистре
Не обязательно вручную расставлять пробелы и держать нажатым caps lock. Всё это можно настроить автоформатированием в любой среде. Это нужно, чтобы не запутаться в длинных однострочных запросах.
Запрашиваем только нужные столбцы, а не всё подряд
Так правильно:
Если использовать SELECT *, а в таблице десятки колонок — читать такой результат неудобно. А если ещё и замешаны JOIN на несколько крупных таблиц, то рискуем вытащить сотню лишних полей, перегрузить запрос и устроить себе хаос.
Подзапросы
Я не фанат подзапросов. Их сложнее читать, тестировать и понимать (кому-то легко, но мне не очень). Особенно когда их 3-4 подряд. Потом ищи, где сломались данные.
Лучше заменить подзапросы на CTE или JOIN🫨
Раннее фильтрование данных
Чем раньше отфильтруем строки, тем меньше объёмы данных, которые пойдут в соединения. Это снижает нагрузку и ускоряет запросы.
EXISTS
Для больших таблиц EXISTS часто работает быстрее, чем IN.
Пример:
Используем CTE
В сложных запросах всегда применяю CTE: сначала фильтрую данные там, а затем подключаю их в основном запросе. Так проще отлаживать и заметно повышается читаемость.
EXPLAIN
Написали тяжёлый запрос — смотрим его через EXPLAIN. Команда показывает план выполнения и помогает понять, насколько ваш SQL нагружает систему. Это ключевой инструмент для оптимизации.
Читаемый SQL = меньше багов и проще поддержка.
Оптимизированный SQL = быстрее выполнение и меньшая нагрузка на базу.
Что ещё можно добавить в этот список? 🍂
Сейчас я стал писать гораздо больше кода, чем раньше, особенно это касается SQL. Поэтому решил составить небольшую памятку с рекомендациями, которые помогают мне не путаться и не ломать запросы
Используйте отступы, выравнивание и пишите ключевые слова в верхнем регистре
Не обязательно вручную расставлять пробелы и держать нажатым caps lock. Всё это можно настроить автоформатированием в любой среде. Это нужно, чтобы не запутаться в длинных однострочных запросах.
Запрашиваем только нужные столбцы, а не всё подряд
Так правильно:
SELECT id, name, email
FROM Table
Если использовать SELECT *, а в таблице десятки колонок — читать такой результат неудобно. А если ещё и замешаны JOIN на несколько крупных таблиц, то рискуем вытащить сотню лишних полей, перегрузить запрос и устроить себе хаос.
Подзапросы
Я не фанат подзапросов. Их сложнее читать, тестировать и понимать (кому-то легко, но мне не очень). Особенно когда их 3-4 подряд. Потом ищи, где сломались данные.
Лучше заменить подзапросы на CTE или JOIN
Раннее фильтрование данных
Чем раньше отфильтруем строки, тем меньше объёмы данных, которые пойдут в соединения. Это снижает нагрузку и ускоряет запросы.
EXISTS
Для больших таблиц EXISTS часто работает быстрее, чем IN.
Пример:
SELECT id, name FROM products p
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.product_id = p.id)
Используем CTE
В сложных запросах всегда применяю CTE: сначала фильтрую данные там, а затем подключаю их в основном запросе. Так проще отлаживать и заметно повышается читаемость.
EXPLAIN
Написали тяжёлый запрос — смотрим его через EXPLAIN. Команда показывает план выполнения и помогает понять, насколько ваш SQL нагружает систему. Это ключевой инструмент для оптимизации.
Читаемый SQL = меньше багов и проще поддержка.
Оптимизированный SQL = быстрее выполнение и меньшая нагрузка на базу.
Что ещё можно добавить в этот список? 🍂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Разбирем продуктовые метрики.
Начнем с ARPU/ARPPU
Определение:
ARPU - средний доход на юзера. Берем сумму продаж допустим за месяц, делим на активных юзеров этого месяца.
ARPPU - тоже самое что и ARPU, но делим на платящих юзеров.
Применение:
Очень часто используется в аб как контрольная метрика. И как любая денежная метрика говорит о "здоровье" продукта, и позволяет прикидывать сколько денег получаем/теряем в динамике. Ее оценивают как в прогнозах так и в презах для инвесторов.
пример расчета в SQL:
Подсветить:
ARPPU это не средний чек!
ARPPU = доход/платников
Сред. чек = доход/ кол-в чеков
ну мало ли кто не понял)
Upd:
Еще бы добавил одну штуку, что «удобность» этих метрик в том, что они составные и позволяют оценить совокупный эффект изменения конверсии и среднего чека (особенно арпу, например базово давая скидку насколько в конверсии в оплату перекрываем)
Начнем с ARPU/ARPPU
Определение:
ARPU - средний доход на юзера. Берем сумму продаж допустим за месяц, делим на активных юзеров этого месяца.
ARPPU - тоже самое что и ARPU, но делим на платящих юзеров.
Применение:
Очень часто используется в аб как контрольная метрика. И как любая денежная метрика говорит о "здоровье" продукта, и позволяет прикидывать сколько денег получаем/теряем в динамике. Ее оценивают как в прогнозах так и в презах для инвесторов.
пример расчета в SQL:
WITH revenue_per_user AS (
SELECT
user_id,
SUM(amount) AS revenue
FROM payments
WHERE pay_date BETWEEN '2025-04-01' AND '2025-04-30'
GROUP BY user_id
)
SELECT
ROUND(SUM(revenue)::NUMERIC / (SELECT COUNT(*) FROM users), 2) AS arpu,
ROUND(SUM(revenue)::NUMERIC / COUNT(user_id), 2) AS arppu
FROM revenue_per_user;
Подсветить:
ARPPU это не средний чек!
ARPPU = доход/платников
Сред. чек = доход/ кол-в чеков
ну мало ли кто не понял)
Upd:
Еще бы добавил одну штуку, что «удобность» этих метрик в том, что они составные и позволяют оценить совокупный эффект изменения конверсии и среднего чека (особенно арпу, например базово давая скидку насколько в конверсии в оплату перекрываем)
🔥5
🛢️ SQL-задача с подвохом: GROUP BY и скрытая ловушка
Условие:
Есть таблица orders:
| id | customer_id | amount | status |
|-----|-------------|--------|-----------|
| 1 | 101 | 200 | completed |
| 2 | 102 | 150 | NULL |
| 3 | 101 | 300 | completed |
| 4 | 103 | NULL | completed |
| 5 | 102 | 100 | completed |
| 6 | 101 | 250 | NULL |
Задача: найти всех клиентов, у которых сумма заказов больше 500.
Ты пишешь запрос:
❓ Вопрос:
Какие клиенты вернутся? Есть ли тут подвох? Что произойдёт с заказами, где amount или status — NULL?
🔍 Подвох:
На первый взгляд запрос правильный: мы группируем по клиентам и суммируем их заказы. Но вот критичные моменты:
1️⃣ Что происходит с NULL в `amount`?
В SQL агрегатные функции (например, SUM) игнорируют NULL значения. Это значит:
- Заказ id=4 (`amount = NULL`) не участвует в суммировании.
- Заказ id=6 (`amount = 250`) участвует, потому что amount не NULL.
2️⃣ Считаем по каждому клиенту:
3️⃣ Кто попадёт в результат:
Только customer_id=101 (с суммой 750 > 500).
---
✅ Результат:
| customer_id | total |
|-------------|--------|
| 101 | 750 |
💥Подвох #2:
Допустим ты случайно написал:
HAVING SUM(amount) IS NOT NULL AND SUM(amount) > 500;
Кажется логичным? А вот нет: SUM всегда возвращает 0 (не NULL), даже если у клиента нет заказов с ненулевой суммой.
➡️ Даже клиент с только NULL значениями (например, customer_id=103) получит SUM(amount) = 0, а не NULL.
Это частая ловушка:
COUNT, SUM, AVG игнорируют NULL внутри, но результат НЕ NULL (обычно 0 или NULL в зависимости от агрегата).
🛠 Что ещё важно:
• Если хочешь учитывать только выполненные заказы (status = 'completed'), нужно добавить:
WHERE status = 'completed'
⚠️ Не пиши условие в HAVING для фильтрации строк - лучше фильтровать через WHERE до группировки.
✏️ Вывод:
- ✅ Агрегатные функции типа SUM игнорируют NULL внутри группы.
- ✅ SUM возвращает 0, даже если все значения NULL (НЕ NULL, как думают многие).
- ✅ HAVING применяется ПОСЛЕ группировки, а WHERE — ДО.
- ✅ Ошибки часто возникают, если условие на фильтр пишут в HAVING вместо WHERE.
Условие:
Есть таблица orders:
| id | customer_id | amount | status |
|-----|-------------|--------|-----------|
| 1 | 101 | 200 | completed |
| 2 | 102 | 150 | NULL |
| 3 | 101 | 300 | completed |
| 4 | 103 | NULL | completed |
| 5 | 102 | 100 | completed |
| 6 | 101 | 250 | NULL |
Задача: найти всех клиентов, у которых сумма заказов больше 500.
Ты пишешь запрос:
SELECT customer_id, SUM(amount) as total
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 500;
❓ Вопрос:
Какие клиенты вернутся? Есть ли тут подвох? Что произойдёт с заказами, где amount или status — NULL?
🔍 Подвох:
На первый взгляд запрос правильный: мы группируем по клиентам и суммируем их заказы. Но вот критичные моменты:
В SQL агрегатные функции (например, SUM) игнорируют NULL значения. Это значит:
- Заказ id=4 (`amount = NULL`) не участвует в суммировании.
- Заказ id=6 (`amount = 250`) участвует, потому что amount не NULL.
- customer_id=101:
- id=1: 200
- id=3: 300
- id=6: 250
Итого: 200 + 300 + 250 = 750
- customer_id=102:
- id=2: 150
- id=5: 100
Итого: 150 + 100 = 250
- customer_id=103:
- id=4: NULL (игнорируется)
Итого: 0
Только customer_id=101 (с суммой 750 > 500).
---
✅ Результат:
| customer_id | total |
|-------------|--------|
| 101 | 750 |
💥Подвох #2:
Допустим ты случайно написал:
HAVING SUM(amount) IS NOT NULL AND SUM(amount) > 500;
Кажется логичным? А вот нет: SUM всегда возвращает 0 (не NULL), даже если у клиента нет заказов с ненулевой суммой.
Это частая ловушка:
COUNT, SUM, AVG игнорируют NULL внутри, но результат НЕ NULL (обычно 0 или NULL в зависимости от агрегата).
🛠 Что ещё важно:
• Если хочешь учитывать только выполненные заказы (status = 'completed'), нужно добавить:
WHERE status = 'completed'
⚠️ Не пиши условие в HAVING для фильтрации строк - лучше фильтровать через WHERE до группировки.
- ✅ Агрегатные функции типа SUM игнорируют NULL внутри группы.
- ✅ SUM возвращает 0, даже если все значения NULL (НЕ NULL, как думают многие).
- ✅ HAVING применяется ПОСЛЕ группировки, а WHERE — ДО.
- ✅ Ошибки часто возникают, если условие на фильтр пишут в HAVING вместо WHERE.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Верный подход к обучению✍️
Вы замечали, что большинство курсов и учебников учат программированию одинаково? Сначала синтаксис, потом простые задачи, в конце - «дипломный проект». Но почему тогда 90% новичков бросают обучение или так и не находят работу?🤷♀️
Потому что традиционный подход в корне неверен.
на самом деле
Что не так с обычным обучением❓
1️⃣ Слишком много теории без практики. Вы зубрите типы данных, операторы, структуры - но когда дело доходит до реальной задачи, руки опускаются.
2️⃣ Искусственные задачи по типу «Напишите калькулятор» — отличное упражнение, но оно не объясняет, как создают реальные приложения.
3️⃣ Отсутствие контекста
Вы учите циклы, но не понимаете, где и зачем они применяются в настоящих проектах.
Как учиться эффективно💡
1️⃣ Начинайте с конечной цели 🎯
Хотите делать сайты? Не учите Python «для общего развития». Сразу берите HTML/CSS
и JavaScript.
2️⃣ Учитесь на реальных задачах. Вместо абстрактных упражнений попробуйте:
➖ Создать простой сайт для друга
➖ Написать скрипт для автоматизации рутинной работы тай описание
➖ Сделать бота для Telegram
3️⃣ Копируйте работающие проекты
Возьмите чужой код (например, с GitHub), запустите его, модифицируйте. Так вы увидите, как устроены реальные программы.
4️⃣ Ошибайтесь быстрее
Не стремитесь писать идеальный код с первого раза. Лучше сделайте 10 кривых, но работающих версий, чем 1 «идеальную», которая никогда не запустится.
Старайтесь программировать каждый день
30 минут кода ежедневно дадут больше, чем
8 часов раз в неделю💯
Главный секрет🗝
Программирование - это не про запоминание, а про решение проблем.
Лучшие разработчики не знают все языки, а умеют быстро находить и применять нужную информацию✅
Перестаньте учиться «как все». Начните создавать.
Вы замечали, что большинство курсов и учебников учат программированию одинаково? Сначала синтаксис, потом простые задачи, в конце - «дипломный проект». Но почему тогда 90% новичков бросают обучение или так и не находят работу?
Потому что традиционный подход в корне неверен.
на самом деле
Что не так с обычным обучением
Вы учите циклы, но не понимаете, где и зачем они применяются в настоящих проектах.
Как учиться эффективно
Хотите делать сайты? Не учите Python «для общего развития». Сразу берите HTML/CSS
и JavaScript.
Возьмите чужой код (например, с GitHub), запустите его, модифицируйте. Так вы увидите, как устроены реальные программы.
Не стремитесь писать идеальный код с первого раза. Лучше сделайте 10 кривых, но работающих версий, чем 1 «идеальную», которая никогда не запустится.
Старайтесь программировать каждый день
30 минут кода ежедневно дадут больше, чем
8 часов раз в неделю
Главный секрет
Программирование - это не про запоминание, а про решение проблем.
Лучшие разработчики не знают все языки, а умеют быстро находить и применять нужную информацию
Перестаньте учиться «как все». Начните создавать.
Please open Telegram to view this post
VIEW IN TELEGRAM
💯6👍1
Топ 5 инструментов для анализа данных в 2025 году 🔥
Когда я только начинал разбираться в аналитике данных, у меня постоянно в голове крутилась одна мысль: «Инструментов слишком много, с чего вообще начать?».
За последние годы я перепробовал кучу всего. От SQL-запросов до визуализации данных и анализа в Python. И постепенно стало ясно, какие инструменты реально нужны, а какие просто создают лишний шум.
И вот сегодня я делюсь теми пятью, которые лично для меня стали фундаментом в 2025 году.
1️⃣ Pandas - моя точка входа в мир данных
Pandas всегда был для меня инструментом «здесь и сейчас». Загружаю датасет, смотрю первые строки, чищу, агрегирую, считаю метрики - и всё это живо, интерактивно и понятно.
Иногда мне достаточно пары строк, чтобы увидеть, что данные вообще из себя представляют:
Вот за это я люблю Pandas — никаких «долго думать», сразу действие.
Когда нужно прототипировать идею или просто быстро найти закономерности — Pandas прямо спасает.
2️⃣ SQL - язык, который я использую чаще всех
Если Pandas это свобода, то SQL это порядок.
В какой бы компании вы ни работали, данные всегда лежат в базе. И в какой-то момент вы понимаете: без уверенного SQL никуда.
У меня это выглядело так:
Сел, написал первый SELECT… затем JOIN… затем понял, что запрос стал слишком большим, переписал заново - классика.
Типичный запрос из жизни:
И вот эта штука уже превращается в мини-отчёт для менеджера.
SQL - это костяк аналитики. Хочешь ты этого или нет.
3️⃣ Power BI - мой первый шаг в профессиональные дашборды
Когда я впервые открыл Power BI, я не понимал, почему столько людей его обожают.
А потом собрал первый дашборд и всё стало ясно. Простые конструкторы, визуалы понятные даже директору, всё собирается быстро.
Power BI для меня это рабочая лошадка: отчёты по продажам, динамика клиентов, эффективность кампаний. Почти всё, что нужно бизнесу.
И главное, что я могу собрать целый отчёт, даже если везде куча источников: Excel, база данных, API.
4️⃣ Tableau - когда хочется красоты и вау эффекта
Tableau я подключаю тогда, когда нужно сделать что то не просто информативное, а эффектное.
Презентации для руководства, визуализация временных рядов, интерактивные истории - вот где он раскрывается.
Tableau требует чуть больше терпения в обучении, но отдача у него невероятная.
Если Power BI про скорость, то Tableau про визуальный уровень.
Я иногда строю в Tableau визуализации просто ради удовольствия. Настолько инструмент гибкий.
5️⃣ Looker - инструмент, который стал часто появляться в моей работе
Looker (особенно Looker Studio) это про облачный подход.
Если у вас BigQuery, рекламная аналитика, много web-данных, события, трафик, то Looker здесь чувствует себя как дома.
Меня привлекает то, что Looker быстро подключается к огромным таблицам.
Когда я загружаю датасет на миллион строк в Power BI, это иногда боль.
И да, можно за 15 минут собрать дашборд по маркетинговым метрикам, который будет жить месяцами без переделок.
🎯 Что бы я выбрал, если бы начинал заново:
SQL🔜 Pandas 🔜 Power BI 🔜 (по необходимости) Tableau/Looker.
SQL - это фундамент.
Pandas - гибкость и навыки Python-аналитики.
Power BI - первый реальный навык для работы.
Tableau и Looker - уже под конкретные задачи компаний.
📌 Итог
В 2025 году рынок слегка меняется, появляются новые штуки, инструменты начинают быть связаны с ИИ.
Но три вещи пока что остаются железобетонными: данные, SQL и умение визуализировать.
А всё остальное просто инструменты, которые ты выбираешь под свой стиль работы.
И лично для меня эти пять стали золотой пятёркой, с которой я закрываю практически все задачи, от быстрых исследовательских штук до сложных дашбордов.
Накидайте реакций🔥если согласны с топом
Когда я только начинал разбираться в аналитике данных, у меня постоянно в голове крутилась одна мысль: «Инструментов слишком много, с чего вообще начать?».
За последние годы я перепробовал кучу всего. От SQL-запросов до визуализации данных и анализа в Python. И постепенно стало ясно, какие инструменты реально нужны, а какие просто создают лишний шум.
И вот сегодня я делюсь теми пятью, которые лично для меня стали фундаментом в 2025 году.
Pandas всегда был для меня инструментом «здесь и сейчас». Загружаю датасет, смотрю первые строки, чищу, агрегирую, считаю метрики - и всё это живо, интерактивно и понятно.
Иногда мне достаточно пары строк, чтобы увидеть, что данные вообще из себя представляют:
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.head())
print(df.groupby("category")["revenue"].sum())
Вот за это я люблю Pandas — никаких «долго думать», сразу действие.
Когда нужно прототипировать идею или просто быстро найти закономерности — Pandas прямо спасает.
Если Pandas это свобода, то SQL это порядок.
В какой бы компании вы ни работали, данные всегда лежат в базе. И в какой-то момент вы понимаете: без уверенного SQL никуда.
У меня это выглядело так:
Сел, написал первый SELECT… затем JOIN… затем понял, что запрос стал слишком большим, переписал заново - классика.
Типичный запрос из жизни:
SELECT category,
SUM(revenue) AS total_revenue,
COUNT(*) AS orders
FROM sales
WHERE date >= '2025-01-01'
GROUP BY category
ORDER BY total_revenue DESC;
И вот эта штука уже превращается в мини-отчёт для менеджера.
SQL - это костяк аналитики. Хочешь ты этого или нет.
Когда я впервые открыл Power BI, я не понимал, почему столько людей его обожают.
А потом собрал первый дашборд и всё стало ясно. Простые конструкторы, визуалы понятные даже директору, всё собирается быстро.
Power BI для меня это рабочая лошадка: отчёты по продажам, динамика клиентов, эффективность кампаний. Почти всё, что нужно бизнесу.
И главное, что я могу собрать целый отчёт, даже если везде куча источников: Excel, база данных, API.
Tableau я подключаю тогда, когда нужно сделать что то не просто информативное, а эффектное.
Презентации для руководства, визуализация временных рядов, интерактивные истории - вот где он раскрывается.
Tableau требует чуть больше терпения в обучении, но отдача у него невероятная.
Если Power BI про скорость, то Tableau про визуальный уровень.
Я иногда строю в Tableau визуализации просто ради удовольствия. Настолько инструмент гибкий.
Looker (особенно Looker Studio) это про облачный подход.
Если у вас BigQuery, рекламная аналитика, много web-данных, события, трафик, то Looker здесь чувствует себя как дома.
Меня привлекает то, что Looker быстро подключается к огромным таблицам.
Когда я загружаю датасет на миллион строк в Power BI, это иногда боль.
И да, можно за 15 минут собрать дашборд по маркетинговым метрикам, который будет жить месяцами без переделок.
🎯 Что бы я выбрал, если бы начинал заново:
SQL
SQL - это фундамент.
Pandas - гибкость и навыки Python-аналитики.
Power BI - первый реальный навык для работы.
Tableau и Looker - уже под конкретные задачи компаний.
В 2025 году рынок слегка меняется, появляются новые штуки, инструменты начинают быть связаны с ИИ.
Но три вещи пока что остаются железобетонными: данные, SQL и умение визуализировать.
А всё остальное просто инструменты, которые ты выбираешь под свой стиль работы.
И лично для меня эти пять стали золотой пятёркой, с которой я закрываю практически все задачи, от быстрых исследовательских штук до сложных дашбордов.
Накидайте реакций🔥если согласны с топом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤4👍1
SQL Flow позиционируется как «DuckDB для потоковых данных» — лёгковесный движок stream-обработки, позволяющий описывать весь pipeline единственным языком SQL и служащий компактной альтернативой Apache Flink.
- Источники (Sources): Kafka, WebSocket-стримы, HTTP-webhooks и др.
- Приёмники (Sinks): Kafka, PostgreSQL, локальные и S3-подобные хранилища, любые форматы, которые поддерживает DuckDB (JSON, Parquet, Iceberg и т.д.).
- SQL-обработчик (Handler): встраивает DuckDB + Apache Arrow; поддерживает агрегаты, оконные функции, UDF и динамический вывод схемы.
- Управление окнами: in-memory tumbling-windows, буферные таблицы.
- Наблюдаемость: встроенные Prometheus-метрики (с релиза v0.6.0).
Конвейер описывается YAML-файлом с блоками `source → handler → sink`.
Во время выполнения:
1. Source считывает поток (Kafka, WebSocket …).
2. Handler выполняет SQL-логику в DuckDB.
3. Sink сохраняет результаты в выбранное хранилище.
Быстрый старт (≈ 5 минут)
# получить образ
docker pull turbolytics/sql-flow:latest
# тестовая проверка конфигурации
docker run -v $(pwd)/dev:/tmp/conf \
-v /tmp/sqlflow:/tmp/sqlflow \
turbolytics/sql-flow:latest \
dev invoke /tmp/conf/config/examples/basic.agg.yml /tmp/conf/fixtures/simple.json
# запуск против Kafka
docker-compose -f dev/kafka-single.yml up -d # поднять Kafka
docker run -v $(pwd)/dev:/tmp/conf \
-e SQLFLOW_KAFKA_BROKERS=host.docker.internal:29092 \
turbolytics/sql-flow:latest \
run /tmp/conf/config/examples/basic.agg.mem.yml --max-msgs-to-process=10000
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2🤷♂1👍1
Советы для аналитиков данных. Как стать лучше?
Иногда кажется, что работа аналитика данных — это бесконечные запросы, графики и попытки объяснить менеджеру, почему так, а не иначе. Но чем дольше я наблюдаю за людьми в этой профессии, тем яснее понимаю: лучшие аналитики — это не те, кто знает больше всех формул, а те, кто умеет смотреть чуть глубже, чем остальные.
Прокачка начинается не с новых инструментов, а с привычки задавать правильные вопросы. Когда перед тобой задача — не спеши сразу писать SQL. Сначала попробуй понять, что на самом деле хочет бизнес, какую боль пытается закрыть команда и какое решение будет действительно приносить ценность. Часто именно это отличает зрелого аналитика от просто “человека, который умеет строить графики”.
Ещё один важный момент — уметь видеть историю в данных. Сухие цифры сами по себе мало кому интересны, но как только ты превращаешь их в понятный сюжет, тебя начинают слушать. Это умение приходит с практикой: чем больше ты работаешь с реальными кейсами, тем проще замечать закономерности, выбросы, странные пики и падения, которые могут объяснить гораздо больше, чем огромные отчёты.
И, конечно, любопытство. Настоящее, детское, когда хочется копать глубже просто потому что интересно. Задавать себе вопрос «а почему?» чуть чаще, чем требуется. В итоге именно это любопытство превращается в навык, за который аналитиков ценят сильнее всего — находить ответы, которых никто не ожидал.
Иногда кажется, что работа аналитика данных — это бесконечные запросы, графики и попытки объяснить менеджеру, почему так, а не иначе. Но чем дольше я наблюдаю за людьми в этой профессии, тем яснее понимаю: лучшие аналитики — это не те, кто знает больше всех формул, а те, кто умеет смотреть чуть глубже, чем остальные.
Прокачка начинается не с новых инструментов, а с привычки задавать правильные вопросы. Когда перед тобой задача — не спеши сразу писать SQL. Сначала попробуй понять, что на самом деле хочет бизнес, какую боль пытается закрыть команда и какое решение будет действительно приносить ценность. Часто именно это отличает зрелого аналитика от просто “человека, который умеет строить графики”.
Ещё один важный момент — уметь видеть историю в данных. Сухие цифры сами по себе мало кому интересны, но как только ты превращаешь их в понятный сюжет, тебя начинают слушать. Это умение приходит с практикой: чем больше ты работаешь с реальными кейсами, тем проще замечать закономерности, выбросы, странные пики и падения, которые могут объяснить гораздо больше, чем огромные отчёты.
И, конечно, любопытство. Настоящее, детское, когда хочется копать глубже просто потому что интересно. Задавать себе вопрос «а почему?» чуть чаще, чем требуется. В итоге именно это любопытство превращается в навык, за который аналитиков ценят сильнее всего — находить ответы, которых никто не ожидал.
👍5🔥4❤3😁1
Просто о кэшировании
Когда-то я думал, что кэширование — это что-то сложное и запутанное😱 На деле всё проще, хотя нюансы есть. Разберёмся по порядку.
Что такое кэширование❔
🏠 Представьте кладовку дома, где лежат часто используемые вещи. Мы не возим их в гараж за три квартала, потому что они должны быть под рукой. В IT это и есть кэширование, то есть хранение часто востребованных данных в быстродоступном месте. Разница лишь в том, что такие данные «живут» ограниченное время и со временем исчезают.
Зачем оно нужно❔
Если вещи рядом, не нужно тратить время на поездку в гараж💡 Так же и в системах: кэширование ускоряет доступ к данным и снижает нагрузку на БД. Даже при сбое сервиса мы можем получить данные из кэша.
Какие данные кэшируют❔
Всё зависит от частоты изменений:
• Очень часто (каждую секунду) — кэш бесполезен. Пример: биржевые котировки.🕯
• Иногда (раз в минуты или часы) — нужно оценить целесообразность. Пример: курс валют, рейтинг товаров.
• Редко (дни, недели, месяцы) — отличные кандидаты. Пример: коды регионов РФ, список стран.
Где хранится кэш❔
Варианты:
• Клиентский (браузер, мобильное приложение)
• Серверный (in-memory, Redis)
• Распределённый (CDN)
На сервере выделяют два подхода:
• Внутренний (in-memory) — хранение прямо в памяти сервиса➕ Очень быстро, но 🚨 требует синхронизации при масштабировании.
• Внешний (например, Redis) — чуть медленнее, зато можно хранить больше данных и легко масштабировать➕ .
Чаще всего выбирают внешнее кэширование, если нет жёстких требований к скорости.
Основные термины:
• TTL (Time To Live)⏱ — время жизни данных в кэше.
• Cache miss — данных нет в кэше.
• Cache hit — данные найдены в кэше.
• Hit ratio — процент попаданий в кэш, показатель его эффективности.
• Горячий ключ🔥 — ключ с наибольшим числом запросов.
• Прогрев кэша — наполнение данными заранее.
• Инвалидация 🗑 — удаление данных из кэша.
Как это работает❔
• Cache Aside — сервис сам решает, когда обратиться к кэшу, а когда к БД.➕ Простота, минимум рисков.
• Cache Through — все запросы идут через кэш, а тот уже тянет данные из БД.➕ Консистентность данных.
• Cache Ahead — кэш сам периодически подгружает данные из БД.➕ Нет «промахов» (Cache Miss).
Итог
Кэширование — это мощный способ ускорить работу и разгрузить систему. Чаще всего используют внешнее кэширование с паттерном Cache Aside для редко изменяемых данных.
Когда-то я думал, что кэширование — это что-то сложное и запутанное
Что такое кэширование❔
Зачем оно нужно❔
Если вещи рядом, не нужно тратить время на поездку в гараж
Какие данные кэшируют❔
Всё зависит от частоты изменений:
• Очень часто (каждую секунду) — кэш бесполезен. Пример: биржевые котировки.
• Иногда (раз в минуты или часы) — нужно оценить целесообразность. Пример: курс валют, рейтинг товаров.
• Редко (дни, недели, месяцы) — отличные кандидаты. Пример: коды регионов РФ, список стран.
Где хранится кэш❔
Варианты:
• Клиентский (браузер, мобильное приложение)
• Серверный (in-memory, Redis)
• Распределённый (CDN)
На сервере выделяют два подхода:
• Внутренний (in-memory) — хранение прямо в памяти сервиса
• Внешний (например, Redis) — чуть медленнее, зато можно хранить больше данных и легко масштабировать
Чаще всего выбирают внешнее кэширование, если нет жёстких требований к скорости.
Основные термины:
• TTL (Time To Live)
• Cache miss — данных нет в кэше.
• Cache hit — данные найдены в кэше.
• Hit ratio — процент попаданий в кэш, показатель его эффективности.
• Горячий ключ
• Прогрев кэша — наполнение данными заранее.
• Инвалидация 🗑 — удаление данных из кэша.
Как это работает❔
• Cache Aside — сервис сам решает, когда обратиться к кэшу, а когда к БД.
• Cache Through — все запросы идут через кэш, а тот уже тянет данные из БД.
• Cache Ahead — кэш сам периодически подгружает данные из БД.
Итог
Кэширование — это мощный способ ускорить работу и разгрузить систему. Чаще всего используют внешнее кэширование с паттерном Cache Aside для редко изменяемых данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤4