D
Data Science: SQL и Аналитика данных
28.08.2026 15:05 · 👁 6.4K
🔥 Разраб сделал интерактивный мануал, который по шагам показывает, что происходит после нажатия Enter в адресной строке браузера
Внутри прям весь путь запроса: от интерпретации ввода и DNS до TLS, HTTP и рендеринга страницы. Всего 16 этапов и 124 подшага с анимациями и объяснениями.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
28.08.2026 13:00 · 👁 5.8K
Экономия 200 000 ₽ на ИБ-обучении.
Закрываем летнюю акцию!
Никаких унылых проводов лета - только хардкорная прокачка скиллов 👉@cyacademy_support
До конца августа отдаем наш самый жирный ПАК из 5 фундаментальных курсов за 50 000 ₽ вместо ~250 000 ₽.
Да, это ровно по 10 000 ₽ за мощнейшие программы, включая Linux CyberPunk (с официальным дипломом сисадмина!), HackerPoint (Blue/Red Team), HackerPoint 2, SQL для хакера и AI-помощники на Python.
До конца акции осталось всего несколько дней (закрываем 31 августа). Отдавать такой объем знаний и официальные документы за бесценок массово - невозможно. Осталось всего 12 мест по этой цене.
❗️Как только 12 человек заберут бандл, мы досрочно закрываем продажи Жаркого лета. Это беспрецедентный шанс забрать базу пентеста и автоматизации, которая навсегда изменит твой подход к заработку в ИБ.
⏳ Врывайся в осень с новой профессией.
Пиши кодовое слово "ЛЕТО" в саппорт, чтобы забрать бандл, пока есть места:
👉@cyacademy_support
D
Data Science: SQL и Аналитика данных
27.08.2026 09:01 · 👁 5.6K
🔥 Один SQL-запрос выполнялся за 298 мс.
Почти такой же - за 0,66 мс.
Разница в 451 раз из-за одной строки.
Ситуация обычная: cursor pagination, сортировка по date DESC, id DESC, лимит на 1000 записей и composite index по (date, id). На первый взгляд, все должно работать быстро.
Но EXPLAIN ANALYZE показывает другое: Postgres вроде бы использует Index Scan, но после этого выкидывает 900 000 строк через Filter.
То есть индекс есть, но запрос все равно тащит слишком много лишнего.
Проблема в условии:
`date < @date OR (date = @date AND id <= @lastId)`
Для разработчика это выглядит логично: сначала сравниваем дату, потом id.
Но для оптимизатора такой OR плохо ложится на composite index. В итоге база не может сразу пойти по нужному диапазону и вынуждена фильтровать огромный кусок данных.
Правильнее записать условие через tuple comparison:
`(date, id) <= (@date, @lastId)`
Смысл тот же, но для Postgres это уже понятный диапазон по составному индексу.
И результат: 298 мс превращаются в 0,66 мс.
Индекс сам по себе ничего не гарантирует.
Важно не только создать индекс, но и написать запрос так, чтобы оптимизатор реально смог его использовать.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
26.08.2026 09:03 · 👁 5.5K
🔥 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
D
Data Science: SQL и Аналитика данных
25.08.2026 09:01 · 👁 5.4K
➡️ 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
D
Data Science: SQL и Аналитика данных
24.08.2026 09:00 · 👁 6.2K
➡️ Вайбкодер спалился на выдуманном стеке
Кандидат пытался пройти интервью с ИИ-помощником, но интервьюер внезапно спросил про самописные движки Ysasu Bibu и Ynna Zist.
Соискатель уверенно ответил, что работал с обеими
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
20.08.2026 11:26 · 👁 6K
➡️ Как SQLite выжимает скорость: байткод, VM и goto
Некрасивый код, который делает SQLite быстрым
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
17.08.2026 10:08 · 👁 7.1K
🔥 В SQLite есть кусок кода, который выглядит «грязно», но оставлен таким специально ради скорости.
Каждый SQL-запрос SQLite сначала компилируется в байткод, а затем выполняется собственной виртуальной машиной VDBE.
Внутри — большой цикл диспетчеризации с почти 200 opcode.
И вот интересный момент: SQLite использует обычные goto, чтобы быстро прыгать между общими ветками выполнения.
➡️ В исходниках прямо написано:
«Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее».
По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%.
То есть здесь читаемость сознательно пожертвовали ради производительности.
Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее».
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
14.08.2026 10:52 · 👁 6K
Как выгодно сдавать анализы? 🧪
Не все знают, что в ИНВИТРО есть простой способ получать бонусы и потом оплачивать ими анализы и исследования до 90%! Ниже 4 лайфхака:
Во-первых. После регистрации в программе лояльности вам начислят 500 бонусов, а в день рождения – ещё 2000 бонусов.
Во-вторых. За анализы после активации начисляют кешбэк 5%. И его можно увеличить – в личном кабинете выбрать до 3 отдельных услуг и получать по ним до 10% бонусами.
В-третьих. Можно также выбрать готовый пакет и получать до 15% бонусами на анализы, которые в него входят. Например, есть «Контроль над весом», «Здоровый желудок» и др. Выбранный пакет можно заменить через 30 дней.
Самое крутое – накопленными бонусами можно оплатить до 90% стоимости следующих услуг. Например, если анализы вышли на 10 000₸, то бонусами можно списать 9000!
В-четвёртых. Подойдите к администратору на кассе и скажите ИНВИТРО26. После этого вам сделают скидку 20% на первую оплату. Работает во всех городах до 15 сентября 2026 года.
Подключить повышенный кешбэк можно 👉 на сайте. Нужно авторизоваться и открыть в личном кабинете раздел «Программа лояльности». 1 бонус = 1₸.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX
D
Data Science: SQL и Аналитика данных
14.08.2026 10:03 · 👁 6.1K
➡️ 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