Библиотека баз данных
10.3K subscribers
216 photos
13 videos
27 files
231 links
Самая большая библиотека бесплатных книг по SQL

По всем вопросам- @haarrp

@ai_machinelearning_big_data - machine learning

@pythonl - Python

@itchannels_telegram - 🔥 best it channels

@ArtificialIntelligencedl - AI

РКН:  № 5037640984
Download Telegram
🖥 Интерактивный SQL-тренажёр для аналитиков в телеграм боте:


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

практические кейсы
удобный эмулятор работы Аналитика бесплатно
пополняем задачами с реальных собеседований
собираем фидбек и улучшаем тренажёр вместе с вами

Готов работать с данными уверенно? Попробуй симулятор и расти как аналитик.

t.me/Analitics_databot
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥2
💡 SQL-совет, который спасает от самой “хитрой” ошибки

Одна из самых коварных ситуаций в SQL - когда ты ожидаешь данные, а запрос возвращает 0 строк, хотя “всё правильно”.
Чаще всего причина - `NOT IN` + `NULL`.

Если в подзапросе есть хотя бы один NULL, то NOT IN ломает логику и не вернёт ничего.

Правило:
- Не используй `NOT IN` с подзапросами
- Используй `NOT EXISTS` или LEFT JOIN ... IS NULL


-- ПЛОХО: NOT IN ломается из-за NULL

SELECT *
FROM users u
WHERE u.id NOT IN (
SELECT user_id
FROM banned_users
);


-- ХОРОШО: NOT EXISTS безопасен

SELECT *
FROM users u
WHERE NOT EXISTS (
SELECT 1
FROM banned_users b
WHERE b.user_id = u.id
);
👍9🔥74
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/vistehno

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: https://xn--r1a.website/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: https://xn--r1a.website/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 EXISTS РАБОТАЕТ БЫСТРЕЕ COUNT

SQL-совет: перестаньте считать всё через COUNT(*)

Многие пишут так:

SELECT COUNT(*)
FROM orders
WHERE user_id = 123;

Чтобы проверить — есть ли записи.

Проблема:
COUNT(*) считает все строки, даже если нужна просто проверка существования.
На больших таблицах это лишняя нагрузка и медленный запрос.

Правильнее использовать EXISTS.

Почему это лучше:
- База останавливается на первой найденной строке
- Меньше чтения данных
- Быстрее на больших таблицах
- Использует индексы эффективнее

Пример:


-- Плохо
SELECT COUNT(*)
FROM orders
WHERE user_id = 123;

-- Хорошо
SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 123
);

-- Или в условии
SELECT *
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);
8👍4
Forwarded from Machinelearning
🌟 Zvec: встраиваемая векторная база данных для RAG без внешних сервисов.

Alibaba открыла исходный код Zvec - встраиваемой векторной СУБД, которую авторы называют «SQLite для векторных баз данных».

Проект заточен на локальные RAG-пайплайны, семантический поиск и агентские сценарии на ноутбуках, мобильных устройствах или другом edge-железе.

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

Существующие решения не подходят для маломощных устройств: Faiss дает только ANN-индекс без скалярного хранилища и крэш-рекавери; DuckDB-VSS ограничен в опциях индексирования; Milvus и облачные векторные хранилища требуют сеть.


Под капотом - Proxima, векторный движок продакшен-уровня, который Alibaba сама использует в собственных сервисах. Поверх него сделали лаконичный Python API:

🟢полный CRUD и поддержка схем;

🟢поиск по нескольким векторам для комбинации разных эмбеддинг-моделей;

🟢встроенный реранкер с weighted и RRF;

🟢гибридный поиск (векторный + фильтры по скалярным полям) с инвертированными индексами.

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

По производительности Zvec заявляет победу на бенче VectorDBBench с датасетом Cohere 10M - более 8 000 QPS при сопоставимом реколле. Это вдвое больше, чем у лидера ZillizCloud и с более быстрым построением индекса.

Авторы объясняют успех глубокой оптимизацией под CPU: SIMD, кэш-эффективные структуры, многопоточность и prefetching.

Пока платформенная поддержка ограничена (Windows отсутствует), но для Linux x86/ARM64 и macOS Zvec уже готов к экспериментам на Python 3.10–3.12.


📌Лицензирование: Apache 2.0 License.


🟡Статья
🟡Документация
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #VDB #ZVEC #Alibaba
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
Вы выполнили серию операций в рамках одной транзакции (изменили несколько строк). Как отменить все эти изменения?
Anonymous Quiz
7%
A) COMMIT;
3%
B) SAVEPOINT;
84%
C) ROLLBACK;
7%
D) UNDO;
2
1.5 млн разговоров с Claude показали тревожную правду об ИИ

https://uproger.com/1-5-mln-razgovorov-s-claude-pokazali-trevozhnuyu-pravdu-ob-ii/
1👎1
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
✔️ Google представила голосовую модель Gemini 3.1 Flash Live.

Модель превосходит 2.5 Flash Native Audio по скорости отклика и тоньше распознает акустические нюансы, темп и высоту голоса. Важным техническим улучшением стала способность эффективно фильтровать фоновый шум. Модель уже доступна через Gemini Live API в платформе Google AI Studio.

Gemini 3.1 Flash Live лучше справляется с вызовом внешних инструментов и строго следует системным инструкциям. Модель не выходит за установленные рамки при неожиданных поворотах диалога и поддерживает мультимодальное общение на 90+ языках в реальном времени.

Новинка ляжет в основу потребительских сервисов Gemini Live и Search Live. Общение с ИИ станет более плавным: сократится количество неловких пауз, а контекст беседы будет удерживаться в 2 раза дольше. Параллельно с релизом модели Google делает Search Live доступной более чем в 200 странах.
blog.google


✔️ Mistral релизнула открытую text-to-speech модель Voxtral.

Модель для синтеза речи Voxtral TTS поддерживает 9 языков (русского нет) и умеет клонировать голос по аудиосэмплу короче 5 секунд, копируя не только тембр, но и микроинтонации, акценты и естественные особенности дикции. При этом она способна на лету менять язык произношения, сохраняя оригинальные характеристики спикера.

Архитектура построена на базе LLM Ministral 3B. Создатели сделали ставку на скорость работы в реальном времени: генерация 10-секундной аудиодорожки занимает около 1,6 секунды. Веса базовой модели опубликованы на Hugging Face под некоммерческой лицензией, а протестировать Voxtral TTS можно через Mistral Studio и Le Chat.
mistral.ai


✔️ Cohere выпустила открытую ASR-модель.

Cohere Transcribe - обученная с нуля на 14 языках модель автоматического распознавания речи на 2 млрд. параметров на архитектуре Conformer, которая справляется со сложной акустикой, перекрывающимися голосами и специфическими акцентами.

Cohere заявляет рекордную точность. Transcribe возглавила рейтинг HuggingFace Open ASR Leaderboard: средний показатель WER для английского языка составил всего 5.42%. Модель обошла Whisper Large v3 от OpenAI, ElevenLabs Scribe v2 и Qwen3-ASR.

Развернуть модель можно локально, на edge-устройствах, либо воспользоваться API и платформой Cohere Model Vault. Веса доступны на Hugging Face.
cohere.com


✔️ Intel выводит на рынок видеокарты Arc Pro B70 и B65 с 32 ГБ памяти.

Новые GPU на архитектуре Battlemage созданы специально для инференса нейросетей и ресурсоемких вычислений. Старшая модель Arc Pro B70 получила 32 ядра Xe с частотой 2,8 ГГц, что дает 22,9 TFLOPS в операциях FP32.

Младшая версия, Arc Pro B65, сохраняет тот же объем видеопамяти, но использует лишь 20 ядер Xe. Обе карты оснащены памятью GDDR6 с 256-битной шиной и пропускной способностью 608 ГБ/с.

Arc Pro B70 уже поступила в продажу по цене $949, что делает ее значительно доступнее Nvidia RTX Pro 4000 ($1800). Младшая модель B65 начнет продаваться через партнерскую сеть Intel в середине апреля.
newsroom.intel.com


✔️ GitHub по умолчанию начнет использовать код пользователей Copilot для обучения ИИ.

С 24 апреля обновится политика конфиденциальности GitHub. Промпты, сгенерированные ответы, фрагменты кода и связанный с ними контекст подписчиков тарифов Free, Pro и Pro+ будут автоматически собираться для тренировки моделей. Чтобы защитить свои проекты, разработчикам придется вручную отключить передачу данных в настройках приватности.

Платформа анализирует широкий спектр данных. В датасет попадает код, комментарии и документация, архитектура репозитория, названия файлов, паттерны навигации в IDE и реакции на предложенные автодополнения.

GitHub заявляет, что собранная телеметрия может передаваться только Microsoft и ее аффилированным компаниям. Нововведение не затронет корпоративный сегмент планов Copilot Business и Enterprise.
github.blog


@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Claude Cowork: 90% возможностей, о которых вы не знали

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

Проблема в том, что так используется от силы 10% того, на что способен Claude Cowork. Остальные 90% просто игнорируются. Давайте разберемся, что именно вы упускаете.

Что такое Claude Cowork на самом деле

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

Четыре вещи раскрывают весь потенциал: файл claude.md, навыки (skills), коннекторы и запланированные задачи. Большинство пользователей не трогали ни одну из них.

Шаг ноль: укажите Claude на папку
Без привязки к папке Claude начинает каждый разговор с чистого листа. Никакой памяти, никакого контекста, никакого понятия о том, кто вы и что строите. Он не может получить доступ к вашим файлам и не запускает пользовательские команды.

С папкой все иначе. Claude помнит, кто вы, автоматически загружает навыки, читает файлы и становится умнее после каждой сессии. Думайте о каждой папке как об отдельном телефоне. На рабочем стоит Slack, Gmail и календарь. На личном - планирование питания, бюджет, дневник. Отдельные папки, отдельные идентичности, отдельные рабочие процессы.

Файл claude.md: хватит объяснять одно и то же каждый день
Каждый раз, когда вы открываете Claude, он понятия не имеет, кто вы. Ваш бизнес, ваш тон, ваши правила, чего избегать - все это приходится объяснять заново. Файл claude.md решает эту проблему раз и навсегда. Это обычный текстовый файл, который Claude читает до того, как прочитает хоть слово из вашего сообщения. Настраиваете один раз - и он никогда не забывает.

Skills: научите Claude один раз, он запомнит навсегда
Навыки (skills) - это пользовательские команды, которые запускают целые рабочие процессы одним словом. Вместо того чтобы каждый раз писать длинный промпт, вы пишете его один раз, упаковываете в навык и просто вводите одну команду для запуска. Все, что вы делаете повторно, можно превратить в навык. Генерация счетов, планирование уроков, еженедельные отчеты, черновики предложений. Если делаете что-то больше одного раза - вам нужен навык.

Коннекторы: дайте Claude доступ к вашим приложениям
Навыки мощные, но без коннекторов они живут в песочнице. С коннекторами Claude читает вашу Gmail напрямую, проверяет календарь, обращается к Google Drive и пишет в Slack от вашего имени. Сейчас в Claude от 30 до 50 встроенных коннекторов: Asana, Canva, GitHub, HubSpot, Notion, Slack, Google Calendar. Для всего остального есть Zapier MCP, который подключается к 8000+ приложениям.

Запланированные задачи: сотрудник, который работает 24/7
Здесь все складывается воедино. Навыки определяют "как". Коннекторы определяют "доступ". Запланированные задачи определяют "когда". Вы задаете время, выбираете частоту, и Claude выполняет весь рабочий процесс без вашего участия. Навыки + коннекторы + запланированные задачи = ИИ, который ведет ваш рабочий процесс на автопилоте. Обучаете один раз - работает всегда.

Cowork vs Claude Code: в чем разница
Claude Code и Claude Cowork - это один и тот же ИИ, но совершенно разные инструменты. Claude Code - это кодинг-агент. Он живет в терминале, читает всю кодовую базу, пишет и запускает код, деплоит в продакшен. Создан для разработчиков. Cowork - это золотая середина. Без терминала, без командной строки. Создан для всех, не только для разработчиков. Они не конкурируют, а дополняют друг друга.

https://uproger.com/claude-cowork-90-vozmozhnostej-o-kotoryh-vy-ne-znali/
4😁2
✔️ 10 книг, чтобы наконец понять, как реально работают LLM (2026)

Большинство просто дергают API
Мало кто понимает, что происходит внутри

Если хочешь перейти из «пользователя» в «инженера» — вот база

1. Deep Learning
https://deeplearningbook.org
Библия нейросетей - backprop, архитектуры, вся база

2. Artificial Intelligence: A Modern Approach
https://aima.cs.berkeley.edu
Фундаментальный взгляд на AI как систему

3. Speech and Language Processing
https://web.stanford.edu/~jurafsky/slp3/
NLP, трансформеры и язык - максимально глубоко

4. Machine Learning: A Probabilistic Perspective
https://probml.github.io/pml-book/
Вероятности, статистика и основа ML

5. Understanding Deep Learning
https://udlbook.github.io/udlbook/
Современное объяснение DL с хорошей интуицией

6. Designing Machine Learning Systems
https://oreilly.com/library/view/designing-machine-learning/9781098107956/
Как довести модели до продакшена

7. Generative Deep Learning
https://github.com/3p5ilon/ML-books/blob/main/generative-deep-learning-teaching-machines-to-paint-write-compose-and-play.pdf
Практика генеративных моделей и трансформеров

8. Natural Language Processing with Transformers
https://dokumen.pub/natural-language-processing-with-transformers-revised-edition-1098136799-9781098136796-9781098103248.html
Как строить NLP-системы на трансформерах

9. Machine Learning Engineering
https://mlebook.com
Инженерия ML и продакшен

10. The Hundred-Page Machine Learning Book
https://themlbook.com
Суперконцентрированная база без лишнего
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Cовет по SQL-тестам: тестируйте не только результат запроса, а его инварианты.

Обычно SQL проверяют так:


SELECT * FROM orders WHERE status = 'paid';


И потом сравнивают: «вернулись нужные строки или нет».

Но в реальных системах чаще ломается не сам happy path, а скрытые свойства данных.

Например, для отчёта по заказам тест должен проверять не только конкретные строки, а правила:


-- сумма по пользователям должна совпадать с общей суммой
WITH by_user AS (
SELECT user_id, SUM(amount) AS total
FROM orders
WHERE status = 'paid'
GROUP BY user_id
),
overall AS (
SELECT SUM(amount) AS total
FROM orders
WHERE status = 'paid'
)
SELECT
(SELECT SUM(total) FROM by_user) = (SELECT total FROM overall) AS is_valid;


То есть вы тестируете не «мне вернулось 10 строк», а:

агрегаты не теряют деньги
join не размножает строки
фильтр не выкидывает валидные данные
NULL не ломает расчёты
сумма после группировки совпадает с суммой до группировки
каждый order попадает ровно в одну категорию
дедупликация не удаляет нужные записи

Особенно полезный приём - тест на размножение строк после JOIN:


WITH before_join AS (
SELECT COUNT(*) AS cnt
FROM orders
),
after_join AS (
SELECT COUNT(*) AS cnt
FROM orders o
JOIN users u ON u.id = o.user_id
)
SELECT
after_join.cnt <= before_join.cnt AS no_unexpected_multiplication
FROM before_join, after_join;


Если после JOIN строк стало больше без явной причины - у вас почти наверняка проблема с кардинальностью.

Хороший SQL-тест проверяет не только ответ, а свойства запроса, которые должны оставаться истинными при любых данных. Именно так ловятся баги, которые не видно на маленьком тестовом датасете.

https://www.youtube.com/shorts/Rj2HKshtWO8
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍41