Data Science: SQL и Аналитика данных
前往频道在 Telegram
№ 6205468675 На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL. Сотрудничество: @niktwix Менеджер: @Spiral_Yuri
显示更多📈 Telegram 频道 Data Science: SQL и Аналитика данных 的分析概览
频道 Data Science: SQL и Аналитика данных (@pizdatascience) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 35 384 名订阅者,在 技术与应用 类别中位列第 3 691,并在 俄罗斯 地区排名第 18 176 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 35 384 名订阅者。
根据 25 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -631,过去 24 小时变化为 21,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 17.10%。内容发布后 24 小时内通常能获得 11.33% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 6 050 次浏览,首日通常累积 4 007 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 0。
- 主题关注点: 内容集中在 sql, индекс, sqlite, строка, index 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“№ 6205468675
На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL.
Сотрудничество: @niktwix
Менеджер: @Spiral_Yuri”
凭借高频更新(最新数据采集于 26 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
35 384
订阅者
+2124 小时
-3607 天
-63130 天
帖子存档
🔥 PPT Master делает презентации из PDF, DOCX и сайтов прямо внутри Claude Code и Cursor. И на выходе это настоящий редактируемый PowerPoint
ppt-master работает как skill для AI-IDE. Можно просто написать: «сделай презентацию из этого PDF», после чего агент сам разбирает материал, продумывает структуру, собирает дизайн и экспортирует .pptx. Поддерживаются PDF, DOCX, URL и Markdown.
Самая сильная часть проекта в том, что слайды не превращаются в набор картинок. Текст, фигуры, таблицы и графики экспортируются как нативные объекты PowerPoint, которые можно открыть и вручную отредактировать. Есть шаблоны, live preview, анимации, speaker notes и даже генерация озвучки с последующим встраиванием аудио в PPTX.
Работает с Claude Code, Cursor, VS Code + Copilot и другими agent harness. Сам пайплайн выполняется локально, кроме обращений к выбранной AI-модели.
➡️ По сути:
PDF / DOCX / URL → AI-agent → структура → дизайн → настоящий editable .pptx
Автор отдельно пишет, что цель не заменить финальную ручную полировку, а убрать примерно 90% работы с пустого листа.
➡️ github.com/hugohe3/ppt-master
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
➡️ SQL-совет, который многие игнорируют: не используй `COUNT(*)`, если тебе нужно только проверить существование строки.
Часто пишут так:
SELECT COUNT(*)
FROM orders
WHERE user_id = 42;
А потом проверяют, больше ли результат нуля.
Но базе приходится посчитать все совпадения, хотя тебе нужна всего одна информация: есть хотя бы одна строка или нет.
Лучше использовать:
SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 42
);
EXISTS может остановить поиск сразу после первого совпадения.
На маленькой таблице разницы почти не заметишь. На миллионах строк и частых проверках это уже может серьёзно экономить ресурсы.
Если нужен ответ «да/нет» — не заставляй SQL считать всё.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX➡️ Вайбкодер спалился на выдуманном стеке
Кандидат пытался пройти интервью с ИИ-помощником, но интервьюер внезапно спросил про самописные движки Ysasu Bibu и Ynna Zist.
Соискатель уверенно ответил, что работал с обеими
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
➡️ Как SQLite выжимает скорость: байткод, VM и goto
Некрасивый код, который делает SQLite быстрым
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
🔥 В SQLite есть кусок кода, который выглядит «грязно», но оставлен таким специально ради скорости.
Каждый SQL-запрос SQLite сначала компилируется в байткод, а затем выполняется собственной виртуальной машиной VDBE.
Внутри — большой цикл диспетчеризации с почти 200 opcode.
И вот интересный момент: SQLite использует обычные
goto, чтобы быстро прыгать между общими ветками выполнения.
➡️ В исходниках прямо написано:
«Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее».
По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%.
То есть здесь читаемость сознательно пожертвовали ради производительности.
Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее».
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX+1
Как выгодно сдавать анализы? 🧪
Не все знают, что в ИНВИТРО есть простой способ получать бонусы и потом оплачивать ими анализы и исследования до 90%! Ниже 4 лайфхака:
Во-первых. После регистрации в программе лояльности вам начислят 500 бонусов, а в день рождения – ещё 2000 бонусов.
Во-вторых. За анализы после активации начисляют кешбэк 5%. И его можно увеличить – в личном кабинете выбрать до 3 отдельных услуг и получать по ним до 10% бонусами.
В-третьих. Можно также выбрать готовый пакет и получать до 15% бонусами на анализы, которые в него входят. Например, есть «Контроль над весом», «Здоровый желудок» и др. Выбранный пакет можно заменить через 30 дней.
Самое крутое – накопленными бонусами можно оплатить до 90% стоимости следующих услуг. Например, если анализы вышли на 10 000₸, то бонусами можно списать 9000!В-четвёртых. Подойдите к администратору на кассе и скажите
ИНВИТРО26. После этого вам сделают скидку 20% на первую оплату. Работает во всех городах до 15 сентября 2026 года.
Подключить повышенный кешбэк можно 👉 на сайте. Нужно авторизоваться и открыть в личном кабинете раздел «Программа лояльности». 1 бонус = 1₸.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX➡️ Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта
GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.
Что внутри:
⏺️ четыре независимых слоя на Rust: parser → IR → planning → execution;
⏺️ результаты сразу возвращаются как Apache Arrow Table;
⏺️ данные легко передаются в Pandas и Polars;
⏺️ постоянное хранение построено на Parquet;
⏺️ встроены PageRank, Louvain и гибридный текстово-векторный поиск;
⏺️ Python- и Node.js-биндинги работают поверх одного движка.
from graphforge import GraphForge
graph = GraphForge("research/")
result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")
print(result.to_pandas())
При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.
Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.
https://github.com/CurateLabs/graphforge
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX🔥 SQL-совет: `LATERAL` вместо тяжёлого оконного запроса
Нужно получить последнюю операцию каждого пользователя? В PostgreSQL можно не ранжировать всю таблицу через
ROW_NUMBER().
SELECT
u.id,
last_order.id,
last_order.created_at
FROM users AS u
LEFT JOIN LATERAL (
SELECT id, created_at
FROM orders
WHERE user_id = u.id
ORDER BY created_at DESC
LIMIT 1
) AS last_order ON true;
LATERAL запускает подзапрос отдельно для каждой строки слева и разрешает обращаться к u.id.
Добавьте индекс:
CREATE INDEX ON orders (user_id, created_at DESC);
Тогда PostgreSQL сможет брать последнюю запись прямо из индекса, не сортируя все заказы пользователя.
Такой приём особенно полезен для задач:
⏺️ последняя операция пользователя;
⏺️ актуальный статус заказа;
⏺️ последнее событие устройства;
⏺️ последние N записей для каждой группы.
Для больших таблиц это часто быстрее и проще, чем оконная функция по всему набору данных.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX🔥Редкий и реально продвинутый SQL-совет: используй логарифмы для произведения вероятностей.
В SQL удобно считать SUM, AVG, COUNT, но почти никто не думает про PRODUCT. А в аналитике он часто нужен: вероятность цепочки событий, retention funnel, скоринговые модели, reliability, ML-фичи.
Проблема: если перемножать много маленьких чисел, например 0.97 * 0.91 * 0.88 * ..., быстро получишь underflow или потерю точности.
Математический трюк:
a * b * c = exp(ln(a) + ln(b) + ln(c))То есть вместо прямого произведения считаем сумму логарифмов.
SELECT
user_id,
EXP(SUM(LN(probability))) AS total_probability
FROM events
WHERE probability > 0
GROUP BY user_id;
Где это полезно:
SELECT
user_id,
EXP(SUM(LN(conversion_rate))) AS funnel_survival_rate
FROM funnel_steps
GROUP BY user_id;
Это стандартный численный прием из математики, который делает расчет стабильнее. Особенно полезно, когда у тебя много шагов в воронке, вероятностная модель, риск-скоринг или аналитика событий. Главное правило: LN(x) работает только для x > 0, поэтому нули нужно обрабатывать отдельно. Например, если хотя бы одна вероятность равна нулю, итоговое произведение тоже будет ноль.🫡 Всё про Data Science 🇷🇺 Читайте нас в MAX
🔥 Constella: локальная память для файлов, заметок и AI-агентов
Constella — open-source desktop-приложение, которое индексирует локальные файлы и превращает их в единую базу знаний для поиска и AI-агентов.
Данные хранятся на устройстве: LanceDB используется для векторов, SQLite — для метаданных и knowledge graph.
Что умеет:
⏺️ индексировать Obsidian, Documents, Downloads и любые выбранные папки;
⏺️ извлекать текст из PDF, DOCX, Markdown и изображений;
⏺️ строить семантический поиск по локальным данным;
⏺️ автоматически связывать заметки, темы и концепты;
⏺️ работать с локальными и облачными LLM;
⏺️ отдавать базу знаний через MCP в Claude Code;
⏺️ использовать агентов и переиспользуемые workflows.
Схема примерно такая:
Файлы
↓
chunks + embeddings
↓
LanceDB + SQLite
↓
Knowledge Graph
↓
поиск / агенты / MCP
➡️ https://github.com/Constella-OS/constella-desktop
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX❌ Хотите внедрить ИИ в компании? Не начинайте с выбора модели.
Иначе есть риск потратить бюджет, а получить красивые, но бесполезные ответы.
Причина большинства неудачных AI-проектов — не технологии. Проблема в данных: они разрознены, устарели, хранятся в 1С, CRM, Excel и десятках других систем.
На бесплатном вебинаре разберем, как подготовить данные, чтобы корпоративный ИИ действительно помогал бизнесу, а не генерировал «галлюцинации».
Расскажем:
✔️ почему данные важнее модели;
✔️ как автоматизировать получение данных из 1С;
✔️ зачем компании DWH и единый слой корпоративных знаний;
✔️ как выглядит рабочая AI-ready архитектура на реальном примере.
🎁 Всем зарегистрированным — запись вебинара, презентация спикеров, материалы по архитектуре AI-ready и возможность задать вопросы экспертам.
📅 12 августа | 11:00 (МСК)
💻 Онлайн, участие бесплатное.
👉 Зарегистрируйтесь сейчас и узнайте, с чего действительно стоит начинать внедрение корпоративного ИИ.
🔥Логическая аналитика с LynxDB
LynxDB — это легковесная система для анализа логов, работающая в одном бинарном файле без зависимостей. Она использует язык запросов Lynx Flow, позволяющий легко обрабатывать данные в виде конвейера.
Основные моменты:
⏺️ Пайплайн-запросы для обработки данных
⏺️ Полнотекстовый поиск и колоночное хранилище
⏺️ Поддержка кластерного режима и материализованных представлений
⏺️ Никакой конфигурации — разумные настройки по умолчанию
⏺️Активная разработка, обратная связь приветствуется
➡️ GitHub: https://github.com/lynxbase/lynxdb
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
🔥 Продвинутый SQL-прием: partial index вместо “универсального” индекса
Если в таблице много строк, но запрос почти всегда смотрит только активные записи, не обязательно индексировать всё.
Например, есть таблица заказов:
SELECT *
FROM orders
WHERE user_id = 42
AND status = 'active';
Обычный индекс:
CREATE INDEX idx_orders_user_status
ON orders(user_id, status);
Работает, но он хранит данные по всем статусам: active, cancelled, archived, failed и так далее.
Если чаще всего нужны только активные заказы, можно сделать partial index:
CREATE INDEX idx_orders_active_user
ON orders(user_id)
WHERE status = 'active';
Такой индекс меньше, быстрее обновляется и лучше помещается в память. Планировщик сможет использовать его для запросов, где условие совпадает:
SELECT *
FROM orders
WHERE user_id = 42
AND status = 'active';
Индекс не обязан покрывать всю таблицу. Иногда лучший индекс - это индекс только по тем строкам, которые реально участвуют в горячих запросах.
Особенно полезно для флагов вроде deleted_at IS NULL, status = 'active', is_published = true, processed = false.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX➡️ Используй EXISTS вместо IN на больших таблицах
-- медленнее
SELECT *
FROM orders o
WHERE o.user_id IN (SELECT id FROM users WHERE active = true);
-- быстрее
SELECT *
FROM orders o
WHERE EXISTS (
SELECT 1
FROM users u
WHERE u.id = o.user_id AND u.active = true
);
EXISTS останавливается на первом совпадении и не тянет весь подзапрос в память. На больших данных разница может быть кратной.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX🔥 США решили отжать open source у китайцев: на сцену выкатили Laguna S 2.1
Стартап Poolside выкатил свою четвёртую версию Laguna S 2.1 — открытую модель для агентного программирования, которая весит аж 118 млрд параметров. В конторе заявляют, что это самая мощная открытая модель Запада: на кодинговых тестах Laguna не отстаёт от моделей, которые крупнее неё в разы, а кое-где даже обходит их. И главное — она запускается на настольном компе NVIDIA DGX Spark, без всяких суперкомпов.
Веса уже висят на Hugging Face, и юзать модель можно даже в коммерции.
Читать далее
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
🔥 Anthropic запустили официальный плагин для поиска уязвимостей
Можно отправить Claude Security проверить изменения перед коммитом или просканировать всю репу.
Он найдет дыры и предложит, что можно и нужно исправить
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
+1
Апдейты в плагин!
Давно мы не слышались: я упёрся в сложные технические проблемы при разработке и на время сделал паузу. Теперь [надеюсь] эти проблемы позади — и новые релизы будут выходить чаще.
Что в новой версии:
🔴Исправлен баг, из-за которого в редких случаях столбики рисовались неправильных размеров.
🔴Добавлена beta-версия площадной диаграммы.
Апдейт должен прилететь в фигму автоматически. А если плагина нет — установить его можно тут.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
+6
🔥 Рой ИИ-агентов написал аналог SQLite на Rust за несколько часов
Cursor провела необычный эксперимент: агентам выдали только официальную документацию SQLite объёмом 835 страниц и поручили с нуля реализовать собственный движок базы данных на Rust.
Без интернета, готового исходного кода и дополнительной помощи.
Уже через четыре часа получившиеся реализации правильно выполняли 73–85% запросов из скрытого теста. После дальнейшей работы некоторым командам удалось довести результат до 100%.
Но особенно удивила стоимость:
⏺️ связка Opus 4.8 и Composer 2.5 потратила около $1 400; ⏺️ Fable — примерно $20 000.Одинаковая задача, но почти пятнадцатикратная разница в цене. Во время разработки агенты столкнулись с до боли знакомыми командными проблемами: дублировали работу, конфликтовали при изменении одних и тех же файлов и избегали трогать ядро системы, даже когда без этого было невозможно двигаться дальше. Получается, ИИ уже способен за часы собрать сложный системный проект, но митинги, конфликты и страх ответственности он тоже автоматизировал 😂 #ai #rust #sqlite #agents #programming ➡️ https://cursor.com/blog/agent-swarm-model-economics 🫡 Всё про Data Science 🇷🇺 Читайте нас в MAX
Компании ценят специалистов, которые разбираются как в технической стороне продукта, так и в потребностях бизнеса. Перекрёстные навыки часто встречаются в вакансиях.
Нетология объединила две профессии в один курс — «Системный и бизнес-аналитик». На занятиях своим опытом поделятся эксперты из Qiwi, М.Видео — Эльдорадо и Bolt.
За 12 месяцев вы научитесь:
- использовать гибкие методологии Agile и Scrum;
- разбираться в нотациях моделирования: UML, BPMN, IDEF;
- описывать user story и use case;
- создавать прототипы приложений и сервисов;
- работать с АРІ и проектной документацией.
Сейчас на курс действует скидка 50%, а с промокодом IT10JULY цена станет ещё на 10% ниже. Плюсом подарим курс о развитии карьеры при покупке до 31 июля.
Записаться
Реклама. ООО “Нетология” ОГРН 1207700135884 Erid: 2VSb5yBsme2
🔥 Хитрый SQL-совет: осторожнее с `NOT IN`
Кажется, что эти запросы делают одно и то же:
SELECT *
FROM users
WHERE id NOT IN (
SELECT user_id
FROM banned_users
);
Но если banned_users.user_id содержит хотя бы один NULL, запрос может вернуть ноль строк.
Надёжнее использовать NOT EXISTS:
SELECT u.*
FROM users AS u
WHERE NOT EXISTS (
SELECT 1
FROM banned_users AS b
WHERE b.user_id = u.id
);
Причина в трёхзначной логике SQL: сравнение с NULL даёт UNKNOWN, а не TRUE или FALSE.
Правило простое: если подзапрос потенциально возвращает NULL, вместо NOT IN почти всегда выбирайте NOT EXISTS.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX