Ресурсы, где можно подтянуть знания SQL ⚡️
⏩ https://mode.com/sql-tutorial/
Много бесплатных уроков для начинающих, идущих по нарастающей
⏩ https://www.kaggle.com/learn/intro-to-sql
https://www.kaggle.com/learn/advanced-sql
Короткие уроки от kaggle вводящие в курс дела, подойдут для повторения основ
⏩ https://www.sql-ex.ru/ лучший
⏩ https://mode.com/sql-tutorial/
Много бесплатных уроков для начинающих, идущих по нарастающей
⏩ https://www.kaggle.com/learn/intro-to-sql
https://www.kaggle.com/learn/advanced-sql
Короткие уроки от kaggle вводящие в курс дела, подойдут для повторения основ
⏩ https://www.sql-ex.ru/ лучший
❤3
Этот курс охватывает ключевые математические концепции, лежащие в основе современных алгоритмов машинного обучения, таких как линейная алгебра, теория вероятностей, статистика и оптимизация.
Курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
PostgreSQL – одна из самых мощных СУБД с открытым исходным кодом. Этот гайд подробно охватывает ключевые аспекты PostgreSQL: от внутренней архитектуры до приёмов оптимизации. Мы рассмотрим администрирование, производительность, расширения, инструменты, а также сравним популярные ORM для Python и Go. В конце приведён список продвинутых вопросов, часто встречающихся на собеседованиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🥰2🥱1
Как переписать и оптимизировать ваши SQL-запросы к Pandas на пяти простых примерах
Аналитики данных, инженеры и учёные одинаково знакомы с SQL. Язык запросов по-прежнему широко используется для работы с реляционными базами данных любого типа.
Однако, в настоящее время, всё больше и больше, особенно для аналитиков данных, растут технические требования, и ожидается, что люди, по крайней мере, знают основы языка программирования. При работе с данными Python и Pandas являются обычным дополнением к списку требований в описании вакансий.
Хотя Pandas может быть новым для людей, знакомых с SQL, концепции выбора, фильтрации и агрегирования данных в SQL легко переносятся в Pandas. Давайте рассмотрим в этой статье некоторые распространённые SQL-запросы и способы их написания и оптимизации в Pandas.
Читать
Аналитики данных, инженеры и учёные одинаково знакомы с SQL. Язык запросов по-прежнему широко используется для работы с реляционными базами данных любого типа.
Однако, в настоящее время, всё больше и больше, особенно для аналитиков данных, растут технические требования, и ожидается, что люди, по крайней мере, знают основы языка программирования. При работе с данными Python и Pandas являются обычным дополнением к списку требований в описании вакансий.
Хотя Pandas может быть новым для людей, знакомых с SQL, концепции выбора, фильтрации и агрегирования данных в SQL легко переносятся в Pandas. Давайте рассмотрим в этой статье некоторые распространённые SQL-запросы и способы их написания и оптимизации в Pandas.
Читать
❤5👍2
SQL-инъекции остаются одной из самых частых и опасных уязвимостей в веб-приложениях. Ошибка в одном запросе — и злоумышленник получает доступ к базе данных, паролям и пользовательским данным.
В этом материале — полный практический разбор:
как именно происходят SQL-инъекции, какие ошибки разработчиков к ним приводят, как их распознать в коде и главное — как защититься.
Разберём реальные примеры на Python, PHP и Go, посмотрим, как атакующий «взламывает» запрос, и научимся писать безопасный код с параметризованными запросами и ORM.
Это не теория, а руководство, которое поможет понять уязвимость изнутри и навсегда закрыть её в своих проектах.
👉 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1🥱1
Здесь на пальцах объясняют не только как писать SQL-запросы, а строить настоящие backend-сервисы с базой данных как у профи.
В этом курсе ты шаг за шагом создашь REST API на FastAPI + PostgreSQL:
от установки среды и первых таблиц - до масштабируемого приложения с безопасностью и CRUD-операциями.
🔹 На практике разберете:
• SQL-запросы, фильтры, агрегаты и подзапросы
• Связи между таблицами и нормализацию БД
• Взаимодействие Python и PostgreSQL
• Реализацию REST API и подключение базы
• Оптимизацию и разбор реальных задач с собеседований
⚡ После курса у вас будет свой работающий API-проект и реальные навыки работы с PostgreSQL в продакшене.
🎁 Сегодня дарим промокод –30% от цены:
SQLISGREAT🚀 Прокачаю свои знания: https://stepik.org/course/255542/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Media is too big
VIEW IN TELEGRAM
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
📘 Как PostgreSQL научился масштабироваться без боли
Менеджер буферов в PostgreSQL отвечает за кэширование 8KB-страниц диска в общей памяти фиксированного размера. Для поиска используется хеш-таблица (через BufferTag → buffer ID), а для удаления страниц — clock-sweep алгоритм.
Первые версии были предельно простыми — с глобальной блокировкой, что быстро приводило к узким местам под нагрузкой. За 30 лет система эволюционировала:
от единой глобальной блокировки
к блокировкам на каждый буфер и партицию
и, наконец, к атомарным операциям, обеспечивающим почти lock-free доступ к структурам памяти.
Это позволило резко снизить конфликтность и повысить масштабируемость в OLTP-нагрузках, сохранив устойчивость при работе с общей памятью.
Философия дизайна PostgreSQL — минимальное время удержания блокировок, абстракция аппаратных различий через атомики и постоянная оптимизация реальных узких мест по результатам профилирования.
Отличный блог-пост с хронологией ключевых вех и ссылками на важные коммиты за эти годы — по ссылке 👇
Подробности
Менеджер буферов в PostgreSQL отвечает за кэширование 8KB-страниц диска в общей памяти фиксированного размера. Для поиска используется хеш-таблица (через BufferTag → buffer ID), а для удаления страниц — clock-sweep алгоритм.
Первые версии были предельно простыми — с глобальной блокировкой, что быстро приводило к узким местам под нагрузкой. За 30 лет система эволюционировала:
от единой глобальной блокировки
к блокировкам на каждый буфер и партицию
и, наконец, к атомарным операциям, обеспечивающим почти lock-free доступ к структурам памяти.
Это позволило резко снизить конфликтность и повысить масштабируемость в OLTP-нагрузках, сохранив устойчивость при работе с общей памятью.
Философия дизайна PostgreSQL — минимальное время удержания блокировок, абстракция аппаратных различий через атомики и постоянная оптимизация реальных узких мест по результатам профилирования.
Отличный блог-пост с хронологией ключевых вех и ссылками на важные коммиты за эти годы — по ссылке 👇
Подробности
❤5❤🔥2
Какой SQL оператор отвечает за создание таблицы?
Anonymous Quiz
3%
ALTER
1%
INSERT
1%
DROP
92%
CREATE
3%
MAKE
0%
DELEGATE
🙉9😱4😁1💅1
Media is too big
VIEW IN TELEGRAM
🔥 Hugging Face снова выкатили полезные материалы.
Вышел бесплатный плейбук о том, как изнутри строят SOTA-модели.
Без общих слов - только реальные решения и нюансы, которые обычно скрыты внутри исследовательских команд.
Это полноценный мастеркласс на 214 страниц для тех, кто хочет понимать, как устроены современные LLM.
Что внутри:
• Логика построения модели: зачем → что → как
• Как разработчики берут модель и по частям включают/выключают компоненты (или меняют их)
• Архитектура: ключевые выборы и trade-offs
• Искусство подбора и очистки данных
• Как проходит обучение моделей
• Пост-тренинг и RLHF в 2025
• Инфраструктура больших моделей
По первым страницам - уровень деталей как в Ultra-scale playbook.
Ссылка: https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook#designing-the-model-architecture
Видео: https://www.youtube.com/watch?v=LGzO-Mn0DJQ
#AI #LLM #MachineLearning #HuggingFace
@sql_lib - библиотека МЛ и ИИ книг
Вышел бесплатный плейбук о том, как изнутри строят SOTA-модели.
Без общих слов - только реальные решения и нюансы, которые обычно скрыты внутри исследовательских команд.
Это полноценный мастеркласс на 214 страниц для тех, кто хочет понимать, как устроены современные LLM.
Что внутри:
• Логика построения модели: зачем → что → как
• Как разработчики берут модель и по частям включают/выключают компоненты (или меняют их)
• Архитектура: ключевые выборы и trade-offs
• Искусство подбора и очистки данных
• Как проходит обучение моделей
• Пост-тренинг и RLHF в 2025
• Инфраструктура больших моделей
По первым страницам - уровень деталей как в Ultra-scale playbook.
Ссылка: https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook#designing-the-model-architecture
Видео: https://www.youtube.com/watch?v=LGzO-Mn0DJQ
#AI #LLM #MachineLearning #HuggingFace
@sql_lib - библиотека МЛ и ИИ книг
❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🚨 SQL Никогда НЕ ДЕЛАЙ ТАК #sql
НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.
Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.
Это одна из самых тихих причин, почему запросы внезапно превращаются в тормоза.
Вместо этого приводи значения заранее или используй функциональные индексы.
https://www.youtube.com/shorts/AyiAslOeJFA
НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.
Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.
Это одна из самых тихих причин, почему запросы внезапно превращаются в тормоза.
Вместо этого приводи значения заранее или используй функциональные индексы.
Плохо: индекс по email НЕ используется
SELECT *
FROM users
WHERE LOWER(email) = 'user@example.com';
-- Хорошо: нормализуем значение заранее
SELECT *
FROM users
WHERE email = 'user@example.com';
-- Или создаём функциональный индекс (PostgreSQL)
CREATE INDEX idx_users_email_lower ON users (LOWER(email));
https://www.youtube.com/shorts/AyiAslOeJFA
🔥6❤4👍3👎1🤔1
Эта статья - не про «как написать
SELECT, а про настоящую инженерную работу: принципы нормализации, дизайн схем, практики оптимизации SQL, работа с транзакциями, и главное - как выбрать и использовать ORM так, чтобы он помогал, а не мешал.Если тебе нужен инструмент, который выдержит рост проекта и не взорвётся через год, здесь ты найдёшь системный подход, проверенные шаблоны и практические примеры, которым уже доверяют зрелые инженерные команды.
Готовы? Тогда начинаем строить архитектуру, которую не стыдно масштабировать.
https://uproger.com/sql-bolshoj-gajd-kak-pravilno-vybrat-orm/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Производительные или и выгодные базы данных в облаке
Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch
Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:
🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.
Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/y7zta
Реклама. АО "Селектел". erid:2W5zFH92NVE
Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch
Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:
🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.
Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/y7zta
Реклама. АО "Селектел". erid:2W5zFH92NVE
❤1
Когда нужно взять по одному самому свежему событию на пользователя, не делай вложенные подзапросы с MAX и лишние JOIN, используй оконную функцию ROW_NUMBER по разделу и упорядочиванию, так запрос будет понятнее и часто быстрее на реальных данных.
SELECT *
FROM (
SELECT
user_id,
event_type,
created_at,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY created_at DESC
) AS rn
FROM events
) t
WHERE rn = 1;
-- Для каждого user_id вернется только самое последнее событие
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🤨2
Полиглот – человек, знающий много языков 😛
IT-полиглот – функциональность для ускоренного перехода с Oracle и MS SQL 🤖 Но обо всем по порядку:
Основная сложность перехода на российскую СУБД — не поиск аналога, а обеспечение комплексного перехода с единой ответственностью, гарантиями регуляторов и прозрачной экономикой проекта.
Digital Q.DataBase от Диасофт решает эту задачу кардинально. Система обеспечивает переход с зарубежных СУБД без переписывания кода приложений.
Новая функциональность "Полиглот" в Digital Q.DataBase обеспечивает непосредственное исполнение запросов, написанных на диалектах SQL ведущих зарубежных СУБД: Oracle (PL/SQL), Microsoft SQL Server (T-SQL), а также PostgreSQL (PL/pgSQL).
🆓 Диасофт запустил бесплатную версию СУБД Digital Q.DataBase. Решение подходит для всех категорий пользователей, включая коммерческие организации и госучреждения.
Скачивайте дистрибутив бесплатно на сайте!
Реклама. ООО "ДИАСОФТ ЭКОСИСТЕМА". ИНН 9715403607.
IT-полиглот – функциональность для ускоренного перехода с Oracle и MS SQL 🤖 Но обо всем по порядку:
Основная сложность перехода на российскую СУБД — не поиск аналога, а обеспечение комплексного перехода с единой ответственностью, гарантиями регуляторов и прозрачной экономикой проекта.
Digital Q.DataBase от Диасофт решает эту задачу кардинально. Система обеспечивает переход с зарубежных СУБД без переписывания кода приложений.
Новая функциональность "Полиглот" в Digital Q.DataBase обеспечивает непосредственное исполнение запросов, написанных на диалектах SQL ведущих зарубежных СУБД: Oracle (PL/SQL), Microsoft SQL Server (T-SQL), а также PostgreSQL (PL/pgSQL).
🆓 Диасофт запустил бесплатную версию СУБД Digital Q.DataBase. Решение подходит для всех категорий пользователей, включая коммерческие организации и госучреждения.
Скачивайте дистрибутив бесплатно на сайте!
Реклама. ООО "ДИАСОФТ ЭКОСИСТЕМА". ИНН 9715403607.
🚀 SQL-совет:
Используйте computed (вычисляемые) колонки и индексы по ним, когда ваши запросы постоянно фильтруют или сортируют по функции.
Запросы становятся мгновенно быстрее, а индекс используется эффективно.
Очень немногие разработчики знают и применяют этот трюк, но он спасает производительность на реальных системах.
Используйте computed (вычисляемые) колонки и индексы по ним, когда ваши запросы постоянно фильтруют или сортируют по функции.
Плохо:
WHERE LOWER(email) = 'user@mail.com'
Это ломает индекс — оптимизатор не может его использовать.
Лучше:
ALTER TABLE users
ADD email_lower AS LOWER(email) STORED;
CREATE INDEX idx_users_email_lower ON users(email_lower);
Теперь:
WHERE email_lower = 'user@mail.com'
Запросы становятся мгновенно быстрее, а индекс используется эффективно.
Очень немногие разработчики знают и применяют этот трюк, но он спасает производительность на реальных системах.
👍5❤2🔥2