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

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

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

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

#VRHSZ
Download Telegram
SQL-задача с подвохом: почему запрос вернёт 0 строк?

Есть таблицы:


users
id | name
1 | Anna
2 | Boris
3 | Dima



orders
id | user_id
1 | 1
2 | NULL


Нужно найти пользователей, у которых нет заказов.

Кто-то пишет так:


SELECT *
FROM users
WHERE id NOT IN (
SELECT user_id
FROM orders
);


Ожидание:


Boris
Dima


Но результат может быть:


0 rows


Подвох в `NULL`.

Подзапрос возвращает:


1, NULL


А выражение:


id NOT IN (1, NULL)


превращается в логическую ловушку. SQL не может точно сказать, что id не равен NULL, потому что NULL — это неизвестность.

Правильнее так:


SELECT *
FROM users u
WHERE NOT EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);


Правило: если в подзапросе может быть NULL, осторожнее с NOT IN. Часто безопаснее использовать NOT EXISTS.
🔥146👍4
PostgreSQL переписали на Rust с нуля. И это уже не игрушечный прототип.

Проект pgrust заявляет, что новая реализация:

• проходит 46 066 запросов из regression-тестов PostgreSQL 18.3

• совместима с текущей директорией данных Postgres

• запускается в браузере как демо

Rust даёт безопасность памяти, а AI-assisted development помогает быстрее разбирать и переписывать огромную кодовую базу.

Самая дерзкая часть: авторы говорят о WIP-версии, которая пока не опубликована, но якобы даёт до +50% в transactional workloads и до 300x в аналитике.

Звучит почти слишком смело, поэтому к цифрам лучше относиться осторожно. Но сама идея мощная: взять одну из самых сложных СУБД в мире и пересобрать её на Rust, сохранив совместимость с PostgreSQL.

GitHub: https://github.com/malisper/pgrust
👍16😢21
Кто-то разобрал Claude Code почти до винтика

learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры.

Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги.

Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции.

https://github.com/justxor/Claudecourse/
🔥74👍4👎1
SQL и Python есть: что часто отсекает на собеседовании

Классика вакансий на аналитика: SQL и Python на уровне «уверенно», статистика — «понимание методов A/B-тестирования и работы с большими выборками». Первые две галочки ставятся спокойно. Третья часто оказывается самым сложным местом на собеседовании.

Статистика и ML (машинное обучение) плохо ложатся на короткие курсы — они дают фрагменты, а не систему. Академическая программа работает иначе: серьезная математическая база плюс прикладные задачи по ML.

Именно так устроена совместная онлайн-магистратура karpovꓸcourses и НИУ ВШЭ «Аналитика больших данных». От ВШЭ — экспертиза и опыт одного из крупнейших вузов России, от karpovꓸcourses — практический опыт в сфере анализа данных.

21 июля в 18:00 мск проведут бесплатный День открытых дверей. На эфире разберут: из чего состоит программа, как устроена практика через тренажеры от karpovꓸcourses и как совмещать обучение с работой.

Ведут эфир Анатолий Карпов — основатель karpovꓸcourses, самый популярный эксперт в сфере аналитики данных (по данным NEWHR) — и Евгений Соколов, руководитель департамента больших данных и информационного поиска ФКН НИУ ВШЭ.

Присоединяйтесь по ссылке — после эфира всем участникам придет запись: https://clc.to/erid_2W5zFGPtHER

Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFGPtHER
3👍2🔥1🤬1
Какой параметр в postgresql.conf задает объем общей памяти, используемой сервером для кэширования блоков данных?
Anonymous Quiz
53%
shared_buffers
22%
temp_buffers
21%
work_mem
4%
max_connections
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

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

Окружение решает больше, чем кажется.

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

AI: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Хакинг: t.iss.one/linuxkalii
DevOps: t.iss.one/DevOPSitsec
Docker: t.iss.one/DevopsDocker
Golang: t.iss.one/Golang_google
Rust: t.iss.one/rust_code
C++: t.iss.one/cpluspluc
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
JavaScript: t.iss.one/javascriptv
React: t.iss.one/react_tg
Frontend: t.iss.one/front
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Мобильная разработка: t.iss.one/mobdevelop
Базы данных: t.iss.one/sqlhub
Data Science: t.iss.one/data_analysis_ml
Big Data: t.iss.one/bigdatai
Математика: t.iss.one/data_math
Физика: t.iss.one/fizmat
Kubernetes: t.iss.one/kubernetc
GameDev: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg

Собеседования и карьера:

DS собеседования: t.iss.one/machinelearning_interview
Python собеседования: t.iss.one/python_job_interview

Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.iss.one/memes_prog
Английский для программистов: t.iss.one/english_forprogrammers
ИИ и технологии: t.iss.one/vistehno
954 ГБ open-source курсов: @courses
ИТ-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии.
9👎2👍1🔥1
Хитрый 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.

#sql #postgresql #database
🔥16👍71🥰1
Forwarded from Rust
Рой ИИ-агентов написал аналог 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

@rust_code
10🔥8👍5👎2🤔1🤬1
SQL-совет: сравнивайте `NULL` через `IS NOT DISTINCT FROM`

Обычное сравнение ломается на NULL:


SELECT NULL = NULL;
-- NULL


Поэтому условие:


WHERE old_value = new_value


не считает два NULL равными.

В PostgreSQL используйте:


WHERE old_value IS NOT DISTINCT FROM new_value


Оператор работает как безопасный аналог =:


1 IS NOT DISTINCT FROM 1 -- true
NULL IS NOT DISTINCT FROM NULL -- true
1 IS NOT DISTINCT FROM NULL -- false


Полезно при сравнении версий строк, поиске изменений и синхронизации таблиц:


SELECT *
FROM old_data o
JOIN new_data n USING (id)
WHERE o.email IS DISTINCT FROM n.email;


Запрос вернёт строки, где значение действительно изменилось, включая переходы NULL → значение и значение → NULL.
👍8🔥86
✔️ 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
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3👍2🎉2
SQLite установлен практически везде. Но отправить туда обычный pull request у вас не получится.

SQLite работает на каждом iPhone и Android, в Chrome, Firefox, Safari, Windows, телевизорах, автомобилях и миллиардах других устройств. По оценке самого проекта, сейчас активно используется больше триллиона SQLite-баз.

И при этом SQLite принципиально остаётся проектом с очень маленькой командой разработчиков.

На официальном сайте это сформулировано прямо:

Open source, but not open-contribution.

Проект не принимает случайные pull request'ы и патчи из интернета. Чтобы код вообще мог попасть в SQLite, автор должен юридически передать свой вклад в public domain. Для этого существует отдельный подписываемый документ.

Причина не в высокомерии разработчиков. Так они защищают одну из главных особенностей SQLite: весь основной код должен оставаться свободным от чужих copyright-претензий.

Получился довольно редкий парадокс:

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

И эта модель работает уже больше 25 лет.
👍206🔥5
«Сэр… всё кончено. Китайцы выложили веса Kimi K3 в открытый доступ»

Moonshot AI опубликовала Kimi K3 на Hugging Face — мультимодальную MoE-модель с 2,8 трлн параметров, из которых на токен активируются около 104 млрд.

Что внутри:

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

На Terminal-Bench 2.1 авторы заявляют 88,3 балла, а на FrontierSWE — 81,2. Результаты получены в собственном агентном окружении Kimi Code, поэтому сравнивать их нужно с учётом harness.

Веса доступны по лицензии Kimi K3 License. Это уже не экспериментальная модель «для посмотреть», а открытый 3T-класс, который можно разворачивать через vLLM или SGLang.
👍94🔥1
🤯 OPUS 5 ЗА 10 МИНУТ УДАЛИЛ ВСЮ БАЗУ ДАННЫХ, А ПОТОМ ВЕЖЛИВО ПРИЗНАЛ ОШИБКУ

Пользователь Reddit решил протестировать Claude Code. После одного запроса агент уничтожил базу проекта и сообщил: «Это моя вина, и я должен немедленно вам об этом сказать».

Позже Gemini 3.6 помог восстановить 96 страниц, ещё 21 пришлось пересоздавать. Автор уточнил, что это был тестовый проект с небольшим числом пользователей, поэтому последствия оказались не критичными.

Самое показательное: модель получила режим Always Allow, доступ к данным и возможность выполнять разрушительные команды без подтверждения.

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

ИИ-агенту в проде нужны минимальные права, отдельное окружение, снапшоты и ручное подтверждение любых DROP, DELETE и миграций.

Иначе вайб-кодинг быстро превращается в вайб-восстановление базы.

https://www.reddit.com/r/Anthropic/comments/1v9iurd/and_just_like_that_opus_5_ultracode_wipes_the/?solution=44899d8f83b98cbf44899d8f83b98cbf&js_challenge=1&token=7afd7253fec22262ff1c52b1703fe9ec98100ded527c5fb6747eed7511fb37a6&jsc_orig_r=
👍85🔥4😱2