Всем привет! Хочу порекомендовать канал @ds_memes с большим количеством мемов про IT / DS.
Мемы публикуются 4+ раза в день, можете найти для себя интересные и делиться с коллегами👉
Советую подписаться и следить за мемасами🤪
Мемы публикуются 4+ раза в день, можете найти для себя интересные и делиться с коллегами
Советую подписаться и следить за мемасами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥7👍3
Сегодня расскажу, как спрогнозировать выручку (GMV) или другие метрики (часто полезно при подсчете KPI) во временных рядах с помощью Prophet в Python.
Что узнаешь:
Зачем это нужно?
⏱️ Экономьте время: никаких сложных настроек.
💡 Внутри — полный код с комментариями.
Приятного чтения - ссылка на статью.
Итог:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Teletype
Machine Learning в Бизнесе - как просто сделать Прогноз Временных Рядов при помощи Prophet
Сначала разберём, что такое временной ряд — это важно для понимания. Временной ряд (time series) — это последовательность данных...
🔥11❤5❤🔥2
🍿 Что посмотреть на выходных и мои размышления о фильмах Тарантино:
🍸 Вот и пятничка, решил отойти от сложных тем и обсудить с вами, какие фильмы вам нравятся и что сейчас смотрю я и поделиться своими впечатлениями.
😎 Последнее время я стараюсь глубже проникнуть в мир Тарантино — смотрю его фильмы, так как слышал много хорошего, но впечатления у меня неоднозначные. Итак, мои "Тарантиновские приключения":
1️⃣ "Бесславные ублюдки" — не понял смысла фильма, да и не сказать, что в целом было интересно, но пару моментов смешных было, понял откуда много мемов взялось)
2️⃣ "Криминальное чтиво" — классика, все хвалят, а я вот не совсем понял хайп. Понравилось пару моментов. Когда приехал Уинстон Вульф (Чистильщик) и показал, как он решает вопросы, а также диалог в кафе, где Джулс Уиннфилд решил отойти от дел.
3️⃣ "Бешеные псы" — тоже мимо. Самое не понятный для меня фильм из просмотренных Тарантино. Понравился только один момент - это танец мистера блондина, который, кстати, был сделан за один дубль и на полной импровизации.
4️⃣ "Джанго освобожденный" — это фильм мой фаворит. Хорошая игра, сюжет, юмор, рекомендую.
5️⃣ "Однажды в Голливуде" — Атмосфера старого Голливуда, Брэд Питт и Лео идеально сыграли самих себя). Если не смотрели — тоже рекомендую!
🫶 Сейчас в планах пересмотреть "Сокровища нации" с Николасом Кейджем. Фильм о поиске затерянных сокровищ и чтобы найти их нужно разгадать много загадок и головоломок, возможно из-за того, что здесь присутствует характер анализа он мне и нравится, кто знает)
❓ А вы планируете что-нибудь посмотреть в эти выходные и как вам фильмы Тарантино ?
@dima_sqlit
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6💯5
Дима SQL-ит 🧑💻 (Аналитика данных) pinned «🪙 Machine Learning в Бизнесе - как просто сделать Прогноз Временных Рядов при помощи Prophet: Сегодня расскажу, как спрогнозировать выручку (GMV) или другие метрики (часто полезно при подсчете KPI) во временных рядах с помощью Prophet в Python. Что узнаешь:…»
Я часто думаю о мире вокруг. Всё, что мы видим и делаем, — это как попытка подойти ближе к чему-то правильному, но мы никогда не доберёмся до конца. Абсолютная правда существует только там, где мы её сами создали.
Например, математика. 2 + 2 = 4 — это точно, потому что мы сами придумали правила. Мы решили, что так будет, и в этой системе всё работает без вопросов.
Как только мы выходим за эти рамки, всё меняется. Нет чётких правил, нет 100% уверенности. Мы работаем с вероятностями — с тем, что "скорее всего" сработает.
Возьмём аналитику, которой я занимаюсь. Мы смотрим на пользователей: сколько они покупают, какой средний чек, как часто заходят. На основе этого стараемся с какой-то долей вероятности увеличить их вовлечение в продукт — подбираем скидки или предложения, чтобы повысить шансы на покупку. Но мы не можем быть уверены, что это лучшее решение. Мы лишь пытаемся увеличить вероятность успеха, корректируя на ходу.
То же самое в повседневной жизни. Даже простая вещь, как подброс монетки, показывает это. В теории вероятность выпадения орла или решки — 50/50. Но на деле может случиться что угодно: монетка упадёт на ребро, ветер её сдует, или — в каком-то фантастическом сценарии — гравитация вдруг пропадёт. Мир полон неожиданностей, и даже в такой "простой" ситуации мы не контролируем всё. Мы рассчитываем на 50/50, но реальность напоминает: это всего лишь приближение. Весь мир — сплошные вероятности, и мы с какой-то долей стремимся к бесконечно максимальному результату. По крайней мере, пытаемся, повышая шансы шаг за шагом.
Мы выбираем, где купить подешевле, какую профессию выбрать, чтобы быть счастливым, или даже с кем дружить. Нет правильного ответа на 100%. Мы смотрим на факты, взвешиваем и решаем: "Это, наверное, сработает лучше". Но насколько лучше и может ли быть ещё лучше — сложно сказать. Мы снова лишь с какой-то вероятностью приблизились к результату бесконечно ближе, но не достигли идеала.
Числа помогают в этом. Без них мы бы не понимали, улучшается ли всё. Метрики вроде роста продаж или уровня стресса дают ориентир: "Шансы на успех выросли". Но они не дают истину — только показывают, насколько мы приблизились.
Сначала это кажется страшным: нет точных ответов, нет финиша. Но на самом деле это освобождает. Мы не гонимся за невозможным — просто делаем каждый выбор чуть лучше предыдущего. Принимай неопределённость, повышай вероятности и двигайся вперёд.
В итоге, жизнь — не про поиск истины, а про навигацию в мире шансов. И мы в этом процессе вечно приближаемся к чему-то лучшему.
Итог:
😌 Это ещё и подготовка к следующему посту про тревожность, которую многие просили. Этим постом я хотел донести до всех: мир — это лишь набор вероятностей, и вам нужно принять неопределённость, как бы вы этого не хотели и как бы трудно это ни было. Только так можно жить спокойнее и эффективнее.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥14💯5❤🔥4
📕 Понимание тревожности: почему она возникает в мире неопределённостей и как с ней справляться. Часть 1:
В прошлом посте я рассказал, что мир — это набор вероятностей, без абсолютной истины, и нужно принимать неопределённость. Теперь разберём тревожность, которую вы просили.
💯 Что такое тревожность и как она работает:
Тревожность — это эволюционный механизм для выживания. Когда мозг чувствует угрозу (реальную или в мыслях), он запускает реакцию: сердце колотится, мысли кружат, тело напрягается. Полезно для быстрого реагирования, но в современном мире она становится хронической от неопределённости — работы, новостей, отношений. Главный триггер: мозг ненавидит неизвестность, потому что не может планировать. Лучше знать плохое, чем не знать вовсе.
👀 Почему тревога берёт верх: две системы мозга по Канеману:
Мозг имеет Систему 1 (быструю, эмоциональную) и Систему 2 (медленную, логическую). В тревоге Система 1 доминирует: ты паникуешь импульсивно, катастрофизируешь ("всё пропало, если не отвечу на email"). Система 2 отключается, но её можно активировать: сделай паузу, дыши глубоко и разбери ситуацию логично.
👌 Корни тревоги: ключевые триггеры — причины и связь:
1️⃣ Синдром FOMO (Fear of Missing Out) — тревожное состояние, при котором человек боится пропустить нечто важное или интересное, происходящее у других людей.
Причины: Мозг эволюционно настроен на социальное сравнение — мы оцениваем себя по другим, чтобы выживать в группе. Соцсети усиливают это: видим только "хайлайты" чужой жизни (путешествия, успехи), а свою реальность сравниваем с этой витриной. Алгоритмы подкидывают бесконечный поток, активируя дофамин — ожидание "награды" от скроллинга.
Связь с тревожностью: FOMO рождает ощущение отставания. "А вдруг я упускаю важное?" — это усиливает неопределённость. В итоге — хроническая тревога, снижение самооценки, как будто все другие "выигрывают" в лотерее жизни.
2️⃣ Информационная перегрузка — мозг имеет лимит на обработку данных — как пропускная способность. Современный мир бомбардирует уведомлениями, новостями, задачами; мы пытаемся "многозадачить", но на деле многозадачности не существует. Многозадачность - это быстрое переключения с одного на другое. Это в свою очередь тратит много энергии. Перегрузка парализует решения — слишком много вариантов, мозг в панике от неопределённости. "Не успеваю всё переварить" — это держит в хроническом напряжении.
3️⃣ Негативные новости — эволюционно мозг фокусируется на угрозах, чтобы выжить (пропустить опасность = смерть). Медиа эксплуатируют это: 80% контента негативное, с эмоциональными заголовками ("шок", "ужас"), яркими образами, которые обходят логику и цепляют Систему 1 (эмоциональную).
Продолжение в посте ниже👇
@dima_sqlit
В прошлом посте я рассказал, что мир — это набор вероятностей, без абсолютной истины, и нужно принимать неопределённость. Теперь разберём тревожность, которую вы просили.
💯 Что такое тревожность и как она работает:
Тревожность — это эволюционный механизм для выживания. Когда мозг чувствует угрозу (реальную или в мыслях), он запускает реакцию: сердце колотится, мысли кружат, тело напрягается. Полезно для быстрого реагирования, но в современном мире она становится хронической от неопределённости — работы, новостей, отношений. Главный триггер: мозг ненавидит неизвестность, потому что не может планировать. Лучше знать плохое, чем не знать вовсе.
👀 Почему тревога берёт верх: две системы мозга по Канеману:
Мозг имеет Систему 1 (быструю, эмоциональную) и Систему 2 (медленную, логическую). В тревоге Система 1 доминирует: ты паникуешь импульсивно, катастрофизируешь ("всё пропало, если не отвечу на email"). Система 2 отключается, но её можно активировать: сделай паузу, дыши глубоко и разбери ситуацию логично.
👌 Корни тревоги: ключевые триггеры — причины и связь:
Причины: Мозг эволюционно настроен на социальное сравнение — мы оцениваем себя по другим, чтобы выживать в группе. Соцсети усиливают это: видим только "хайлайты" чужой жизни (путешествия, успехи), а свою реальность сравниваем с этой витриной. Алгоритмы подкидывают бесконечный поток, активируя дофамин — ожидание "награды" от скроллинга.
Связь с тревожностью: FOMO рождает ощущение отставания. "А вдруг я упускаю важное?" — это усиливает неопределённость. В итоге — хроническая тревога, снижение самооценки, как будто все другие "выигрывают" в лотерее жизни.
Продолжение в посте ниже
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥5💯3
📕 Понимание тревожности: почему она возникает в мире неопределённостей и как с ней справляться. (1-я часть — находится в посте выше). Часть 2:
🧠 Когнитивные искажения и тревожность.
Когнитивные искажения — это такие «ошибки восприятия». Из‑за них реальность кажется опаснее, чем есть. А тревожность питается именно этим: мозг видит больше угроз, чем реально существует. Например:
1️⃣ Эффект якорения:
• Как работает: зацикливаемся на первом впечатлении.
• Жизнь: друг сказал «скорее всего на работе будут сокращения» → и даже если вероятность 5%, мозг воспринимает это как «100%» и начинает крутить сценарии увольнения.
• Результат: тревожность растёт, потому что держим в голове якорь, а не реальные факты.
2️⃣ Иллюзия контроля:
• Как работает: кажется, что мы управляем вещами, которые неконтролируемы.
• Жизнь: «Если я проверю почту каждые 5 минут, точно не пропущу важное письмо и всё будет хорошо».
Но мир хаотичен → письмо всё равно придёт неожиданно, или решение примут без нас.
• Результат: когда контроль рушится, тревога резко возрастает («значит, я упустил», «со мной что‑то не так»).
3️⃣ Ошибка выжившего:
• Как работает: мы видим только успехи и игнорируем неудачи.
• Жизнь: читаем про парня, который стал миллионером на стартапе, и думаем: «У всех получается, а я туплю».
• Результат: тревожность растёт от сравнения с «успешными выжившими», хотя реальность искажена — тысячи людей провалились, но об этом не пишут.
🤝 Простые практики против тревоги:
1️⃣ Ограничение соцсетей и инфополя - Ограничьте чтение социальных сетей, новостей, просмотра телевизора и т.п.
2️⃣ Техника "мозгового дампа" для разгрузки мозга: Возьмите ручку и бумагу, начинайте выписывать всё, что крутится в голове — беспокойства, задачи, мысли (хаотично, без цензуры). Потом структурируй: преврати в понятный список дел с реалистичными дедлайнами. Начинай разгребать. Это снимает перегрузку. Далее делай и вычёркивай задачки — мозг получает дофамин от прогресса, становится проще, тревога уходит.
3️⃣ Борьба с когнитивными искажениями: Знай типичные ошибки (как якорение или иллюзия контроля), лови их в моменте ("Это ошибка выжившего — я вижу только успехи, а провалы?"). Активируй Систему 2: сделай паузу, дыши, разбери мысль логично — собери факты, рассмотри альтернативы.
4️⃣ Тело и привычки: Доказано, что спорт "сжигает" гормоны стресса, вырабатывает эндорфины (выберите, то что вам нравится, здесь подойдет любая физическая активность, даже ходьба). Питание: Ешьте рыбу (омега-3), орехи (магний), избегайте сахара и кофеина — они усиливают тревогу.
5️⃣ Качественно отдыхайте: Мозгу требуется смена контекста — пообщайтесь с друзьями, займитесь хобби, уделите время себе и т.п. И не забывайте про качественный сон (не слушайте тех кто спит по 6 часов и чувствует себя отлично, это генетические уникуму или они вам просто врут).
⭐️ Дополнительные источники:
Также обещал посоветовать автора, который разбирает тему когнитивных искажений и в целом множество других интересных тем. Псевдоним автора FreshLife28 и вот с чего стоит начать:
• Ссылка на плейлист по когнитивным искажениям - здесь
• Книга по когнитивным искажениям (у него есть и другие нон-фикшн книги): "Быть нельзя казаться"
Итог:
🙂 Нужно принять тревогу и жить дальше:
Тревога — сигнал в мире шансов, не враг. Не стремись к нулю (невозможно), а повышай вероятность спокойствия: принимай неопределённость, лови искажения, применяй описанные практики.
🍸 Если вы нашли пост для себя полезным, то накидывайте реакций, чтобы я понимал, что вам эта тема интересна!
❤️ Поддержать канал бустами, чтобы у автора появился дополнительный функционал можно - здесь (это бесплатно и доступно с подпиской telegram premium)
❓ Что думаете по этой теме, нашли для себя что-то полезное?
❗️ Как и говорил - тема оказалась сложной для написания и я постарался максимально коротко и ясно написать про тревогу и борьбу с ней. Надеюсь на вашу поддержку и обратную связь.
@dima_sqlit
🧠 Когнитивные искажения и тревожность.
Когнитивные искажения — это такие «ошибки восприятия». Из‑за них реальность кажется опаснее, чем есть. А тревожность питается именно этим: мозг видит больше угроз, чем реально существует. Например:
• Как работает: зацикливаемся на первом впечатлении.
• Жизнь: друг сказал «скорее всего на работе будут сокращения» → и даже если вероятность 5%, мозг воспринимает это как «100%» и начинает крутить сценарии увольнения.
• Результат: тревожность растёт, потому что держим в голове якорь, а не реальные факты.
• Как работает: кажется, что мы управляем вещами, которые неконтролируемы.
• Жизнь: «Если я проверю почту каждые 5 минут, точно не пропущу важное письмо и всё будет хорошо».
Но мир хаотичен → письмо всё равно придёт неожиданно, или решение примут без нас.
• Результат: когда контроль рушится, тревога резко возрастает («значит, я упустил», «со мной что‑то не так»).
• Как работает: мы видим только успехи и игнорируем неудачи.
• Жизнь: читаем про парня, который стал миллионером на стартапе, и думаем: «У всех получается, а я туплю».
• Результат: тревожность растёт от сравнения с «успешными выжившими», хотя реальность искажена — тысячи людей провалились, но об этом не пишут.
Также обещал посоветовать автора, который разбирает тему когнитивных искажений и в целом множество других интересных тем. Псевдоним автора FreshLife28 и вот с чего стоит начать:
• Ссылка на плейлист по когнитивным искажениям - здесь
• Книга по когнитивным искажениям (у него есть и другие нон-фикшн книги): "Быть нельзя казаться"
Итог:
Тревога — сигнал в мире шансов, не враг. Не стремись к нулю (невозможно), а повышай вероятность спокойствия: принимай неопределённость, лови искажения, применяй описанные практики.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥13🔥6💯3✍1
Пока все говорят про Cursor AI и его платную подписку, Alibaba тихо запустили свой аналог — Qoder с полноценным spec-режимом.
🧠 Что такое vibe coding? Это революционный подход к программированию с ИИ. Вот основные фишки IDE в которую встроен ИИ:
• Анализ всего проекта: ИИ изучает каждый файл, понимает архитектуру и связи между компонентами
• Контекстное программирование: по твоему запросу создаёт код, который идеально вписывается в существующий проект
• Чат с проектом: можешь просто задавать вопросы типа "Как работает эта функция?" или "Где хранятся настройки?" — ИИ объяснит всё!
• Изучение чужого кода: загрузил проект и можешь его изучать, задавая вопросы. Просто ВАУ!
📋 Что такое spec-mode (спек-режим)? Spec = Specification (техническое задание). Суть:
• Пишешь ТЗ обычным языком: "Сделай бота для Telegram, который показывает погоду"
• ИИ создаёт полный проект: структуру папок, все файлы, код, конфигурации
• Получаешь готовое приложение: которое можно сразу запускать
• Называется "спек-режим": потому что работает по принципу технического задания
Итог:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥16🐳8❤🔥6✍1
Давайте посмотрим на таблицу:
таблица orders:
id amount
1 100
2 NULL
3 200
Выполним вот такой запрос:
SELECT
SUM(amount), -- 100 + 200 = 300 (NULL пропущен)
COUNT(amount), -- 2 (NULL не считается)
AVG(amount) -- (100+200)/2 = 150 (делим только на не-NULL)
FROM orders
Результат всегда рассчитывается только по НЕ-null значениям!
Имейте это ввиду.
Что делать? Нужно использовать функцию coalesce:
Выполним вот такой запрос:
SELECT
SUM(COALESCE(amount, 0)), -- 100 + 0 + 200 = 300
COUNT(COALESCE(amount, 0)), -- 3 (учтёт все строки, NULL стал 0)
AVG(COALESCE(amount, 0)) -- (100 + 0 + 200) / 3 = 100
FROM orders
Отлично мы не занизили метрику.
COUNT(*) — считает все строки, независимо от значения поля. Т.е. учитывает и NULL, и не-NULL.
Выполним вот такой запрос:
SELECT
COUNT(*), -- 3 (все строки)
COUNT(amount), -- 2 (только не-NULL)
COUNT(COALESCE(amount, 0)) -- 3 (NULL стал 0)
FROM orders
Итог:
• COUNT(*) — нужен, когда важно узнать общее число строк (например, всю активность, включая пропуски).
• COUNT(поле) — только по реально заполненным значениям (NULL не попадает).
• COALESCE(поле, 0) — необходим, если логика отчёта требует трактовать NULL как 0 (например, “нет продаж” = 0), иначе метрики — сумма, среднее — будут ошибочными.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥36🐳13❤🔥12
⚡️ Как работают конструкции ANY и ALL в SQL — объяснение на простых примерах:
Будем работать вот с такой таблицей:
Предположим, что нам нужно найти сотрудников у которых зарплата:
1) больше чем хотя бы у одного из программистов
2) больше чем у всех программистов
1️⃣ Конструкция ANY:
Находим всех, у кого зарплата больше, чем хотя бы у одного программиста:
• В подзапросе будут зарплаты программистов: 30_000, 20_000.
• ANY — это условие вида: salary > 20_000 ИЛИ salary > 30_000.
• По сути, это то же самое, что salary > MIN(зарплат_программистов).
2️⃣ Конструкция ALL:
Теперь ищем тех, у кого зарплата больше, чем у всех программистов:
• Здесь ALL работает как "И": salary > 20_000 И salary > 30_000 одновременно.
• Это равнозначно salary > MAX(зарплат_программистов).
Итог:
🍸 Если вы нашли пост для себя полезным, то накидывайте реакций, чтобы я понимал, что вам эта тема интересна!
❤️ Поддержать канал бустами, чтобы у автора появился дополнительный функционал можно - здесь (это бесплатно и доступно с подпиской telegram premium)
❓ А вы в каких задачах использовали ANY и ALL или предпочитаете min/max? Пишите в комментариях!
@dima_sqlit
Будем работать вот с такой таблицей:
Таблица: employees
id name role_name salary
1 Ваня Программист 30_000
2 Таня Аналитик 40_000
3 Петя Программист 20_000
4 Саша Менеджер 50_000
Предположим, что нам нужно найти сотрудников у которых зарплата:
1) больше чем хотя бы у одного из программистов
2) больше чем у всех программистов
Находим всех, у кого зарплата больше, чем хотя бы у одного программиста:
SELECT *
FROM employees
WHERE salary > ANY (
SELECT salary FROM employees WHERE role_name = 'Программист'
);
• В подзапросе будут зарплаты программистов: 30_000, 20_000.
• ANY — это условие вида: salary > 20_000 ИЛИ salary > 30_000.
• По сути, это то же самое, что salary > MIN(зарплат_программистов).
Теперь ищем тех, у кого зарплата больше, чем у всех программистов:
SELECT *
FROM employees
WHERE salary > ALL (
SELECT salary FROM employees WHERE role_name = 'Программист'
);
• Здесь ALL работает как "И": salary > 20_000 И salary > 30_000 одновременно.
• Это равнозначно salary > MAX(зарплат_программистов).
Итог:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥25❤🔥12🦄4
🤩 Бесплатные нейросети для аналитики и кода: Qwen, DeepSeek и Google Notebook AI — без ограничений:
Если вы хотите упростить себе работу с SQL, Python или анализом данных с помощью LLM (больших языковых моделей), но не готовы платить за подписки — это пост для вас. Сегодня расскажу про три полностью бесплатных инструмента, которые можно использовать без ограничений.
1️⃣ Qwen:
Китайская модель, которая не уступает многим западным аналогам и полностью бесплатна.
Что умеет:
• Общаться и давать советы по любым темам.
• Анализировать загруженные файлы.
• Писать код на Python, SQL, Java и других языках.
🔜 Начать пользоваться можно по ссылке
2️⃣ Deepseek:
Ещё один топовый китайский проект, который также абсолютно бесплатен и обладает схожим набором функций, как у Qwen
🔜 Начать пользоваться можно по ссылке
3️⃣ Google Notebook AI:
Notebook AI работает не просто как чат, а как исследовательский ассистент. Вы создаете «блокнот» и указываете ему источники (текст, PDF, видео с YouTube), а нейросеть будет отвечать на ваши вопросы, основываясь только на предоставленной вами информации.
🔜 Начать пользоваться можно по ссылке
🔜 Более подробное описние этой нейронки можно посмотреть у меня в посте по ссылке
Итог:
🙂 Теперь у вас есть три мощных и абсолютно бесплатных ИИ-инструмента в арсенале. Qwen и DeepSeek — ваши универсальные инструменты для кода, анализа файлов и идей, а Google Notebook AI — уникальный сервис для глубокой работы с вашими собственными документами и источниками без «выдумок».
🍸 Если этот обзор сэкономил вам время и силы (и возможно, деньги на подписке), то накидывайте реакций 🔥! Так я пойму, что тема ИИ-инструментов вам интересна.
❤️ Поддержать канал бустами, чтобы у автора появился дополнительный функционал можно - здесь (это бесплатно и доступно с подпиской telegram premium)
❓ А вы уже пользовались этими нейросетями? Какая впечатлила больше всего? Или может знаете другие бесплатные аналоги? Жду ваши мнения в комментариях!
@dima_sqlit
Если вы хотите упростить себе работу с SQL, Python или анализом данных с помощью LLM (больших языковых моделей), но не готовы платить за подписки — это пост для вас. Сегодня расскажу про три полностью бесплатных инструмента, которые можно использовать без ограничений.
Китайская модель, которая не уступает многим западным аналогам и полностью бесплатна.
Что умеет:
• Общаться и давать советы по любым темам.
• Анализировать загруженные файлы.
• Писать код на Python, SQL, Java и других языках.
Ещё один топовый китайский проект, который также абсолютно бесплатен и обладает схожим набором функций, как у Qwen
Notebook AI работает не просто как чат, а как исследовательский ассистент. Вы создаете «блокнот» и указываете ему источники (текст, PDF, видео с YouTube), а нейросеть будет отвечать на ваши вопросы, основываясь только на предоставленной вами информации.
Итог:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🐳5❤🔥3
Если вы, как и я, проводите кучу времени за компьютером, то знаете: сидячий образ жизни — это сплошной вред для всего организма. Я решил запустить серию постов, где поделюсь, как минимизирую это влияние. В каждой части разберу свои привычки: от спорта и перерывов до образа жизни в целом.
Но помните, это не медсовет!
Мой топ 5 добавок:
Итог:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥24👌5🤩3
Когда данных слишком много — например, тысячи ID для выгрузки из базы или API — обрабатывать всё сразу рискованно: можно словить таймаут, ошибку или просто "зависание". Здесь на помощь приходит батчинг — разбиение на маленькие порции.
import pandas as pd
from utils import sql_query #Представим, что это функция, которая берет на вход sql запрос и возвращает результат в Pandas DataFrame
user_id_df = pd.read_excel('user_id.xlsx') #Загружаем файл с user_id в Pandas DataFrame
user_id_tuple = tuple(user_id_df['user_id']) #Преобразуем в формат кортежа, чтобы можно было подставить удобно в sql запрос через f строку Python
sql_query("""select
user_id,
count(*)
from events
where
user_id in {user_id_tuple} #подставляем через f строку наши user_id
and event_date between '2025-08-01' and '2025-08-31' #рассматриваем август
and event_name = 'purchase' #смотрим события покупки
group by
1
""")
Все отлично, но такой запрос, скорее всего, упадет с ошибкой, так как список с user_id нам дали большой и событий соответственно тоже много и СУБД выдаст ошибку, чтобы защититься от "падения". Что делать в таком случае? Ответ - а давайте ограничим выборку, а как мы ее можем ограничить? Давайте будем смотреть не сразу всех user_id из списка, а по частям.
def split_into_n_parts(lst, n=10):
k = len(lst) // n #Целочисленное деление (Например, 23//10 = 2)
m = len(lst) % n #Остаток от деления (Например, 23//10 = 3)
parts = [] #Результат
start = 0
for i in range(n):
size = k + (1 if i < m else 0)
end = start + size
parts.append(lst[start:end])
start = end
return parts
Вот наша функция: она берёт список lst и делит его на ровно n частей (по умолчанию 10). Остаток распределяется по первым частям для равномерности.
user_id_list = list(user_id_df['user_id']) #Преобразуем в формат списка, чтобы можно было подставить в нашу функцию для батчинга
iters = split_into_n_parts(user_id_list, 10) #Получили список у которого в качестве элементов другие списки, например [[1,2,3] , [4,5,6]] и т.д.
df_list = [] #Сюда будем запихивать промежуточные результаты, чтобы в конце их объединить
for batch_user_id_list in iters:
df_add = sql_query("""select
user_id,
count(*)
from events
where
user_id in {tuple(batch_user_id_list)} #подставляем через f строку наши user_id
and event_date between '2025-08-01' and '2025-08-31' #рассматриваем август
and event_name = 'purchase' #смотрим события покупки
group by
1)
df_list.append(df_add)
# Объединяем все DataFrame в один
df_buy = pd.concat(df_list, ignore_index=True)
Вуаля, мы смогли выгрузить все нужные нам данные.
Итог:
• Батчинг — супер-инструмент для работы с большими данными в Python. С этой функцией и циклом вы легко обработаете любые объёмы без сбоев!
• Вопрос, который может возникнуть — а что если нужно по всем user_id информацию выгрузить за тот же август, то уже не выйдет так сделать ? Ответ — выйдет, но для этого, как правило используют хэш функцию (Об этом в одном из следующих постов).
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🐳6❤🔥5
Вы когда-нибудь замечали, что в новой теме, будь то Математика, Языки программирования и т.п. всё кажется хаосом, пока не разберётесь с базовыми понятиями? Есть крутая теория, которая говорит: если сначала выучить ключевые термины в предметной области, то освоение пойдёт в разы быстрее. Это не просто слова — это подкреплено когнитивными подходами, такими как Cognitive Learning Theory и Fast Mapping.
• Eng – A>>>M: Acid, API, Airflow, A/B-tests, BI, BigQuery, ClickHouse, Confluence, DWH, Docker, Excel, ETL, Figma, Git, Hadoop и многое другое.
• Eng – N>>>Z: NoSQL, OLAP/OLTP, Pandas, Plotly, PostgreSQL, Redash, SQL, Spark, Tableau, UML, VBA, XML, Yandex Metrika.
• Рус – А>>>М: Анализ, Агрегация, Визуализация, Гипотезы, Дашборды, Инсайт, Кластеризация, Линейная регрессия, Модели.
• Рус – Н>>>Я: Нормализация, Оптимизация, Панели, Ритейл, Статистика, Телеком, Управление данными, Хранилище, Яндекс Директ.
• Плюс разделы по метрикам – (финансовые, маркетинговые, продуктовые), базам данных, моделям.
Итог:
Ссылка на курс - Аналитик данных: подготовка к собеседованию
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Stepik: online education
Аналитик данных: подготовка к собеседованию
Курс для аналитика данных, построенный на терминах из реальных, свежих вакансий. Применение Python: проведён исследовательский анализ данных, построена гистограмма, выделены главные термины из таких областей, как аналитика + маркетинг, визуализация, финансы…
❤🔥29🔥14🦄9
Коррелированные подзапросы — это подзапросы, которые зависят от основного запроса. Они ссылаются на данные из внешней части и выполняются для каждой строки основного запроса. Звучит сложно? На самом деле, это как если подзапрос "спрашивает" у основной таблицы: "Эй, для этой строки дай мне нужное значение!". Давайте разберём на простом примере.
Таблица: employees
id | name | department | salary
1 Ваня IT 50000
2 Таня IT 60000
3 Петя Sales 40000
4 Саша Sales 55000
5 Маша HR 45000
6 Коля IT 70000
SELECT
id,
name,
department,
salary
FROM
employees as e
WHERE
salary > (SELECT AVG(salary) FROM employees WHERE department = e.department);
• Для каждой строки e подзапрос берёт её department (например, IT для Вани) и считает среднюю зарплату только по этому отделу ((50000 + 60000 + 70000)/3 = 60000). Если salary строки > этой средней — она попадет в результат.
Итог:
Коррелированные подзапросы — для случаев, когда нужно "персонализированное" вычисление по строке, как сравнение со средней в группе. Выбирайте их, когда join усложняет запрос и данных в таблице не много.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥19❤🔥6🐳4🗿1
Многие путают CTE (Common Table Expressions) и представления (VIEW), потому что оба позволяют создавать "временные таблички" из запросов. Но под капотом они работают по-разному: CTE — для одного запроса, а представления — как сохранённые ярлыки. Давайте разберёмся на простых примерах.
Представим что у нас в базе данных есть таблица sales (продажи в магазине:
id | user_id | product | amount | date
1 | 101 | Кофе | 500 | 2025-01-15
2 | 102 | Чай | 300 | 2025-01-16
3 | 101 | Печенье | 200 | 2025-01-17
4 | 103 | Кофе | 500 | 2025-01-18
Представление — это просто сохранённый SQL-запрос, который выглядит и работает как обычная таблица. Оно не хранит данные физически — каждый раз при обращении запрос выполняется заново, показывая свежие данные. Есть два типа: постоянные (живут пока не удалишь) и временные (исчезают с закрытием сеанса).
Сеанс — это период времени от подключения к базе данных до отключения от неё. Представьте: вы открываете DBeaver или другой SQL-клиент, подключаетесь к серверу — начинается сеанс. Вы выполняете запросы, создаёте временные объекты. Закрываете программу, отваливается соединение или истекает таймаут — сеанс заканчивается.
Пример постоянного представления:
-- Создаём постоянное VIEW
CREATE VIEW user_summary AS
SELECT user_id, COUNT(*) as order_count, SUM(amount) as total_spent
FROM sales GROUP BY user_id;
-- Используем как таблицу
SELECT * FROM user_summary WHERE total_spent > 400; -- ✅ Работает даже через неделю
Пример временного представления:
-- Создаём временное VIEW
CREATE TEMP VIEW temp_summary AS
SELECT user_id, COUNT(*) as order_count, SUM(amount) as total_spent
FROM sales GROUP BY user_id;
-- Работает в текущем сеансе
SELECT * FROM temp_summary; -- ✅
-- Новый сеанс (закрыли/открыли клиент) — исчезло
SELECT * FROM temp_summary; -- ❌ Ошибка!
CTE — это обобщённое табличное выражение, временный результат запроса, который существует только в рамках одного SQL-запроса. Оно определяется с помощью WITH и исчезает сразу после выполнения. CTE удобно для разбиения сложных запросов на части, улучшая читаемость.
Простой пример CTE:
-- CTE для расчёта сумм по пользователям
WITH user_totals AS (
SELECT user_id, SUM(amount) as total_spent
FROM sales GROUP BY user_id
)
SELECT * FROM user_totals WHERE total_spent > 500; -- ✅ Работает в этом запросе
-- В следующем запросе CTE уже нет
SELECT * FROM user_totals; -- ❌ Ошибка!
• Область видимости: CTE — только в одном запросе, представления — в сеансе (временные) или постоянно.
• Создание: CTE с WITH внутри запроса, представления с CREATE VIEW или CREATE TEMP VIEW.
Итог:
CTE и VIEW — это похожие инструменты, только с разным "сроком хранения". CTE — для быстрых фишек внутри одного запроса, типа "собрал данные на лету и сразу использовал". А представления — как готовые шаблоны, которые можно дёргать когда угодно, чтобы не писать одно и то же по сто раз.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
❤🔥26🔥14 8
А вы знали, что не все аналитики в IT ежедневно пишут SQL-запросы — для некоторых это редкий гость? 🤩
Я слышал краем уха о системных аналитиках, но толком не вникал, пока не наткнулся на канал Системный анализ на максималках от Сергея, старшего системного аналитика в UmbrellaIT, который делится своим путем и карьерным развитием простым и увлекательным языком
Сергей рассказывает о своей работе так живо и доступно, что я проникся — наконец-то разобрался, чем они занимаются: берут идеи и пожелания от бизнеса, переводят их в понятные инструкции для программистов, создают схемы, как всё должно работать. Его посты как личный блог: от технарьских разборов до историй из жизни, обзоров книг и советов по росту. Вот несколько примеров, которые меня зацепили и помогли разобраться в теме:
🔜 Нужно ли СА знать программирование? + Краткий анализ рынка
🔜 Шаблоны документации – пустая трата времени или действительно полезно?
🔜 Промт для генерации User Story и Use Case
🔜 Фронт раньше бэка – это вообще законно?
🔜 Что такое Polling и причем тут Шрек
А еще Сергей рассказывает о своих намерениях дорасти до архитектора и делится планом по достижению цели:
🔜 Путь до архитектора (части 1-3)
Частая проблема в IT это выгорание и про это Сергей тоже написал, советую ознакомиться очень полезно:
🔜 Почему я впервые отдохнул только в 26 лет
🔜 Лучшее лекарство от стресса – спорт
Рекомендую подписаться🏖 и ознакомиться, может быть СА это именно ваше направление?
А вы сталкивались с системными аналитиками в работе? Делитесь в комментариях, используете ли их подходы в своей аналитике!
Я слышал краем уха о системных аналитиках, но толком не вникал, пока не наткнулся на канал Системный анализ на максималках от Сергея, старшего системного аналитика в UmbrellaIT, который делится своим путем и карьерным развитием простым и увлекательным языком
Сергей рассказывает о своей работе так живо и доступно, что я проникся — наконец-то разобрался, чем они занимаются: берут идеи и пожелания от бизнеса, переводят их в понятные инструкции для программистов, создают схемы, как всё должно работать. Его посты как личный блог: от технарьских разборов до историй из жизни, обзоров книг и советов по росту. Вот несколько примеров, которые меня зацепили и помогли разобраться в теме:
А еще Сергей рассказывает о своих намерениях дорасти до архитектора и делится планом по достижению цели:
Частая проблема в IT это выгорание и про это Сергей тоже написал, советую ознакомиться очень полезно:
Рекомендую подписаться
А вы сталкивались с системными аналитиками в работе? Делитесь в комментариях, используете ли их подходы в своей аналитике!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Системный анализ на максималках
Ведущий системный аналитик 🅰️ | IT Ментор
Пишу про IT: личный опыт, хард-скиллы, карьерные байки и полезные находки
Менторство/другие вопросы: @bening_cloth, подробнее https://sergey-saprykin-sa.yonote.ru/share/ssa
Пишу про IT: личный опыт, хард-скиллы, карьерные байки и полезные находки
Менторство/другие вопросы: @bening_cloth, подробнее https://sergey-saprykin-sa.yonote.ru/share/ssa
🔥5 4🐳3
🔥 GitHub Copilot Pro за 400 рублей: доступ к GPT-5 mini с unlimited запросами для IT, аналитики, разработки и повседневной жизни:
Если вы работаете в IT — будь то программирование, аналитика данных, системное администрирование или другие направления — GitHub Copilot Pro может стать вашим суперпомощником. Сегодня разберём, как купить подписку дёшево, что она даёт и почему это выгодно для повседневных задач. Я расскажу на простых примерах, чтобы было понятно даже тем, кто только начинает.
1️⃣ Цены на подписку:
400 рублей за месяц или 830 за три месяца (купить можно на plati market):
• 1 месяц за 400 рублей — отлично для теста, чтобы понять, как инструмент вписывается в ваш workflow
• 3 месяца за 830 рублей — выгоднее в долгосрочной перспективе, около 277 рублей в месяц
2️⃣ Что позволяет подписка:
• Доступ к GPT-5 mini с unlimited запросами — генерируйте код, SQL-запросы, аналитику и т.д. сколько угодно, без ограничений.
• Copilot Pro интегрирует мощный ИИ в вашу среду разработки (VS Code)
• Всего 300 премиум-запросов в месяц на топовые модели (claude, gemini, gpt), но для рутинных задач mini-версии более чем достаточно.
• Одна из ключевых фич — автодополнение кода в реальном времени: пока вы печатаете, ИИ предлагает готовые строки или блоки кода, которые идеально вписываются в ваш стиль.
• Ещё круче — понимание контекста проекта: ИИ анализирует все файлы, структуру кода и зависимости, чтобы давать персонализированные предложения. Не просто общий ответ, а такой, который учитывает вашу библиотеку (например, Pandas для аналитики) или настройки (типа Airflow для задач).
Важно сказать, что для работы требуется VPN
3️⃣ Если вам интересна тема ИИ, можете посмотреть предыдущие посты на эту ему:
• Бесплатные нейросети для аналитики и кода
• Вайбкодинг — бесплатный аналог Cursor AI от Alibaba (Qoder)
• Бесплатная нейросеть от Google для работы с любыми материалами — NotebookLM
• Как за 400 рублей в год получить доступ к Claude, ChatGPT, Gemini и Grok через Perplexity и без использования VPN
Итог:
GitHub Copilot Pro — универсальный инструмент для IT-специалистов (и не только), ускоряющий задачи в программировании, аналитике и за её пределами.
🍸 Если вы нашли пост для себя полезным, то накидывайте реакций, чтобы я понимал, что вам эта тема интересна!
❤️ Поддержать канал бустами, чтобы у автора появился дополнительный функционал можно - здесь (это бесплатно и доступно с подпиской telegram premium)
❓ Пробовали GitHub Copilot Pro как чат или для кодинга? Делитесь в комментариях, помогает ли автодополнение в ваших задачах или предпочитаете другие ИИ?
✔️ Подпишитесь на канал, чтобы не пропустить следующие посты.
@dima_sqlit
Если вы работаете в IT — будь то программирование, аналитика данных, системное администрирование или другие направления — GitHub Copilot Pro может стать вашим суперпомощником. Сегодня разберём, как купить подписку дёшево, что она даёт и почему это выгодно для повседневных задач. Я расскажу на простых примерах, чтобы было понятно даже тем, кто только начинает.
400 рублей за месяц или 830 за три месяца (купить можно на plati market):
• 1 месяц за 400 рублей — отлично для теста, чтобы понять, как инструмент вписывается в ваш workflow
• 3 месяца за 830 рублей — выгоднее в долгосрочной перспективе, около 277 рублей в месяц
• Доступ к GPT-5 mini с unlimited запросами — генерируйте код, SQL-запросы, аналитику и т.д. сколько угодно, без ограничений.
• Copilot Pro интегрирует мощный ИИ в вашу среду разработки (VS Code)
• Всего 300 премиум-запросов в месяц на топовые модели (claude, gemini, gpt), но для рутинных задач mini-версии более чем достаточно.
• Одна из ключевых фич — автодополнение кода в реальном времени: пока вы печатаете, ИИ предлагает готовые строки или блоки кода, которые идеально вписываются в ваш стиль.
• Ещё круче — понимание контекста проекта: ИИ анализирует все файлы, структуру кода и зависимости, чтобы давать персонализированные предложения. Не просто общий ответ, а такой, который учитывает вашу библиотеку (например, Pandas для аналитики) или настройки (типа Airflow для задач).
Важно сказать, что для работы требуется VPN
• Бесплатные нейросети для аналитики и кода
• Вайбкодинг — бесплатный аналог Cursor AI от Alibaba (Qoder)
• Бесплатная нейросеть от Google для работы с любыми материалами — NotebookLM
• Как за 400 рублей в год получить доступ к Claude, ChatGPT, Gemini и Grok через Perplexity и без использования VPN
Итог:
GitHub Copilot Pro — универсальный инструмент для IT-специалистов (и не только), ускоряющий задачи в программировании, аналитике и за её пределами.
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12 6 6
Продолжаем разбираться с временными конструкциями в SQL.
Первую часть можно посмотреть вот здесь
Многие путают временные таблицы (TEMP TABLE) и материализованные представления (MATERIALIZED VIEW), потому что оба хранят данные физически. Но временные таблицы — для сеанса, а материализованные — как кэш с обновлениями. Давайте разберём их работу на таблице sales из первой части.
Представим, что у нас в базе данных есть таблица sales (продажи в магазине):
id | user_id | product | amount | date
1 | 101 | Кофе | 500 | 2025-01-15
2 | 102 | Чай | 300 | 2025-01-16
3 | 101 | Печенье | 200 | 2025-01-17
4 | 103 | Кофе | 500 | 2025-01-18
Временная таблица — это реальная таблица, которая создаётся на время сеанса и хранит данные физически. Она исчезает автоматически при закрытии сеанса (что такое сеанс описано в первой части). Полезна для промежуточных расчётов с большими данными.
Пример временной таблицы:
-- Создаём временную таблицу
CREATE TEMP TABLE temp_sales AS
SELECT * FROM sales WHERE amount > 300;
-- Используем в сеансе
SELECT user_id, SUM(amount) FROM temp_sales GROUP BY user_id; -- ✅ Работает
-- Новый сеанс — исчезла
SELECT * FROM temp_sales; -- ❌ Ошибка!
Материализованное представление — это VIEW, которое хранит данные физически, как таблица, но обновляется по расписанию или вручную. В отличие от обычного VIEW, оно не пересчитывается каждый раз — данные "заморожены" до обновления. Полезно для тяжёлых отчётов.
Пример материализованного VIEW (в PostgreSQL, например):
-- Создаём материализованное VIEW
CREATE MATERIALIZED VIEW mat_user_summary AS
SELECT user_id, COUNT(*) as order_count, SUM(amount) as total_spent
FROM sales GROUP BY user_id;
-- Используем как таблицу
SELECT * FROM mat_user_summary WHERE total_spent > 400; -- ✅ Быстро, данные из кэша
-- Обновляем данные
REFRESH MATERIALIZED VIEW mat_user_summary; -- Пересчитывает
• Хранение: Оба физически, но временные — только в сеансе, материализованные — постоянно, с обновлениями.
• Создание: TEMP TABLE для сеанса, MATERIALIZED VIEW для долгосрочного кэша.
• Обновление: Временные таблицы не обновляются автоматически (данные статичны после создания; для изменений нужно вручную обновлять их содержимое, например, через INSERT/UPDATE). Материализованные — вручную по команде (REFRESH) или через триггеры/расписания в некоторых СУБД.
Итог:
Временные таблицы — для быстрых расчётов в одном сеансе, а материализованные VIEW — для ускорения частых запросов с редкими обновлениями. Не путайте с обычными VIEW!
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
❤🔥13 6 4🐳3
Райан Гослинг нашел канал в котором автор делится, как он вкатился в IT после 30 лет в Аналитику данных
В Бегущем по лезвию данных вы найдете:
🔤 Что делать, если к 30 высох мозг?
🔤 Как гарантировано ничего не выучить?
🔤 Еще один список бесплатных курсов, чтобы никогда их не пройти
🔤 Как запустить Jupyter в смартфоне и зачем оно вам надо?
🔤 Где поюзать предка Excel, чтобы почувствать себя олдом?
🔤 Как импортировать датафрейм из буфера обмена?
Подпишись на @data_dg, если тоже хочешь пробежаться по лезвию данных.
В Бегущем по лезвию данных вы найдете:
Подпишись на @data_dg, если тоже хочешь пробежаться по лезвию данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥4 3
Многие новички (и не только) в Python сталкиваются с длинными циклами — например, при обработке больших данных или вычислениях.
Возникает вопрос — завис ли процесс? Можно, конечно, проставлять print с номером итерации, но это примитивно и неудобно.
Есть крутое решение — библиотека tqdm, которая добавляет стильный прогресс-бар.
Представим, что у нас есть список из 100 элементов, и мы хотим мониторить цикл for.
import time # Для имитации задержки
items = range(100) # 100 элементов
for i in items:
print(f"Обработка элемента {i}") # Выводит номер каждый раз
time.sleep(0.1) # Имитация работы
Это базовый вариант — вставляем print внутри цикла, чтобы видеть, на каком шаге мы. Полезно для отладки, но консоль быстро замусоривается, и нет информации о времени или скорости.
import time # Для имитации задержки
from tqdm import tqdm # Импортируем tqdm
items = range(100) # 100 элементов
for item in tqdm(items, desc="Обработка элементов"):
time.sleep(0.1) # Имитация работы (0.1 секунды на итерацию)
print("Цикл завершён!")
Tqdm — это лёгкая библиотека, которая оборачивает ваш цикл в прогресс-бар с процентами, скоростью (итераций в секунду) и временем до завершения.
Устанавливается просто:
pip install tqdm
Обработка элементов: 42%|████▏ | 42/100 [00:04<00:06, 9.50it/s]
Итог:
Если цикл короткий — хватит print. Но для серьёзных задач используйте tqdm.
Сделал сайт - оцените:
@dima_sqlit
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Дима SQL-ит 🧑💻 (Аналитика данных)
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥17❤🔥7 6