Data Science. SQL hub
36K subscribers
1.16K photos
97 videos
37 files
1.17K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo

#VRHSZ
Download Telegram
🖥 Учим SQL не по учебнику, а расследуя преступления

В Steam выходит Ghost in the SQL - детективная игра, где главный инструмент расследования не лупа и не допросы, а SQL-запросы.

Чтобы найти подозреваемого, восстановить события или докопаться до нужной улики, придётся работать с базами данных, фильтровать информацию, связывать таблицы и писать запросы.

Каждое дело постепенно знакомит с SQL через практику - от простых выборок до более сложного анализа данных.

Обещают разные расследования - поджоги, убийства и другие преступления.

Редкий случай, когда SELECT, JOIN и WHERE действительно помогают найти преступника.

https://store.steampowered.com/app/5072430/Ghost_in_the_SQL_Data/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥6👎1
🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы.

Stepik: «Python современный AI для разработчика и автоматизации задач»

63 урока, 382 шага, практика с кодом и автопроверкой.

Внутри: RAG, tool calling, агенты, evals, MCP, Ollama, vLLM, pgvector + HNSW, безопасный text-to-SQL, prompt injection, кэш, очереди и sandbox для агентного кода.

Плюс реальные автоматизации: почта, отчёты, боты, вебхуки и браузерные сценарии.

Для тех, кто уже знает Python и хочет перейти к production AI.

72 часа скидка 55%

https://stepik.org/a/295921
2👍2🔥2👎1
Forwarded from Machinelearning
✔️ OpenAI усилила защиту в Codex в ответ на инциденты удаления файлов

Руководитель Codex Тибо Соттьё подвёл итог изменениям последних недель, которые снижают риск деструктивных действий Codex.

🟡Контекст

Месяц назад в сети появились жалобы на то, что GPT-5.6 в Codex делает с файлами то, о чем его не просили.

Самый серьезный кейс - команда, которая должна была почистить за собой временные файлы, вместо этого удаляла файлы пользователя.

В ходе разбора выяснили, что Codex создает временные папки и потом чистит их, и в редких случаях чистил неправильно - он переиспользовал под временную работу системную переменную окружения, а некорректная команда очистки затем указывала на настоящий домашний каталог вместо временной папки.

Второй случай проще - модель удаляла или перезаписывала временный путь, не посмотрев, что там уже лежит.


По итогам расследования добавили дополнительную защиту на нескольких уровнях:

🟢Инструкции самой модели.

Codex теперь обязан проверять, что именно он собирается удалить, заводить временные каталоги заново, не переиспользовать системные переменные окружения, выбирать обратимые действия и останавливаться, когда масштаб операции неясен.

🟢Проверки на исполнении.

Механизм, который выявляет рискованные команды удаления и отправляет их на ревью, усилили. Если команду отклонили, модель направляют к более безопасному способу.

🟢Ужесточение Full access.

Включить полный доступ случайно стало труднее, предупреждения переписали понятнее, а самые рискованные сочетания разрешений дополнительно ограничили.

🟢Обновленный Auto-review.

Он стал лучше распознавать деструктивные действия.

🟢Тесты и обучение.

OpenAI собрала условия и данные, воспроизводящие найденные сбои. Сейчас добавляются RL-задачи и грейдеры под эти риски, а деструктивные действия вычищаются из обучающих данных.

🟡Что советуют делать самим

Обновлять Codex и работать в одном из режимов песочницы - Ask for approval или Approve for me.

Full access включать только там, где среде можно доверять и откуда легко восстановиться.


@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👎2🔥1
🔥 LatticeDB - локальная база для Graph RAG и памяти AI-агентов

Проект объединяет в одном embedded-движке сразу три способа работы с данными:

* граф связей
* векторный поиск через HNSW
* полнотекстовый поиск BM25

Вся база хранится в одном файле - без отдельного сервера и сложной конфигурации. Есть bindings для Python, TypeScript/Node.js и Go.

Подходит для Graph RAG, agent memory и локальных knowledge-систем.

https://readhacker.news/s/73wnt
5👍3🔥3
Antares SQL Client

Современный, быстрый и ориентированный на продуктивность SQL-клиент с акцентом на пользовательский опыт (UX).

Текущие ключевые функции:
- Подключение к нескольким базам данных одновременно.
- Управление базами данных (добавление/редактирование/удаление).
- Полное управление таблицами, включая индексы и внешние ключи.
- Управление представлениями, триггерами, хранимыми процедурами, функциями и планировщиками (добавление/редактирование/удаление).
- Современная и удобная система вкладок; держите открытыми все необходимые вкладки в вашем рабочем пространстве.
- Заполнение тестовых данных в таблицах для генерации большого объема данных.
- Подсказки и автозаполнение запросов.
- История запросов: поиск по последним 1000 запросам.
- Сохранение запросов, заметок или задач.
- Поддержка SSH-туннелей.
- Режим ручного выполнения транзакций.
- Импорт и экспорт дампов баз данных.
- Настраиваемые горячие клавиши.
- Темная и светлая тема.
- Темы редактора.

https://github.com/antares-sql/antares
4👍3🔥1
🔥 Tabularis - единое open-source приложение для работы с SQL

Если приходится постоянно переключаться между разными клиентами для PostgreSQL, MySQL и SQLite, Tabularis собирает всё в одном desktop-приложении.

Что умеет:

- PostgreSQL, MySQL/MariaDB и SQLite из коробки
- SQL notebooks с Markdown, результатами и графиками
- визуальный конструктор запросов
- Visual EXPLAIN с интерактивным разбором query plan
- переменные между ячейками
- MCP-сервер для AI-агентов
- расширение поддержки других БД через плагины

Подходит как единое рабочее место для аналитики, разработки и отладки SQL.

Apache 2.0.

https://github.com/TabularisDB/tabularis
4👍4🔥3
⚡️ MongrelDB-V - клиент для MongrelDB на языке V.

Сам MongrelDB - open-source колоночная база на Rust с довольно необычным набором возможностей:

- SQL через DataFusion
- vector search и ANN
- full-text search
- MVCC
- WAL
- replication и CDC
- шифрование AES-256-GCM
- bitmap, MinHash, learned-range и другие индексы
- встроенный и серверный режимы

MongrelDB-V позволяет работать с этой базой из V через HTTP-клиент. Устанавливается обычной командой v install.

Интересный проект для тех, кто хочет попробовать V не только для небольших CLI-утилит, но и для работы с SQL, поиском и AI-native retrieval.

https://github.com/visorcraft/MongrelDB-V
3👍3🔥2
💡 SQL-задача: почему запрос возвращает НЕПРАВИЛЬНЫЙ результат?

Есть таблица платежей:


CREATE TABLE payments (
user_id BIGINT,
paid_at TIMESTAMP,
amount NUMERIC
);


Нужно найти последний платёж каждого пользователя.

Разработчик пишет:


SELECT
user_id,
MAX(paid_at) AS paid_at,
amount
FROM payments
GROUP BY user_id;


В некоторых СУБД запрос вообще не выполнится.

А в тех, где выполнится, amount может оказаться вообще НЕ от последнего платежа.

Почему?

Потому что MAX(paid_at) вычисляется отдельно, а amount не обязан принадлежать той же строке.

Например:

user_id | paid_at | amount
--------+--------------------+-------
1 | 2026-01-01 10:00 | 100
1 | 2026-02-01 10:00 | 900

Можно получить:

1 | 2026-02-01 10:00 | 100

Дата последняя, а сумма - от другой строки.

Правильный вариант в PostgreSQL:


SELECT DISTINCT ON (user_id)
user_id,
paid_at,
amount
FROM payments
ORDER BY user_id, paid_at DESC;


Или универсально через оконную функцию:


SELECT user_id, paid_at, amount
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY paid_at DESC
) AS rn
FROM payments
) t
WHERE rn = 1;


Но тут есть ещё одна ловушка.

Что будет, если у пользователя два платежа с одинаковым paid_at?

Тогда результат становится недетерминированным.

• Нужно добавить tie-breaker:


ORDER BY paid_at DESC, id DESC


Вот уже хороший вопрос для собеседования:

Как получить последнюю строку из группы так, чтобы результат был детерминированным даже при одинаковых timestamp?
🔥75👍4🥰1