36043
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo
💻 Kysely — типобезопасный скриптовый конструктор SQL-запросов
Kysely — это безопасный для типов и удобный для автозаполнения построитель SQL-запросов на TypeScript. Создан под вдохновением от Knex. В основном разработан для node.js, но также работает во всех других JavaScript-окружениях, таких как deno и bun.
🖥 GitHub
🟡 Доки
@sqlhub
💻 Настройка производительности PostgreSQL: max и group by
Анализ временных рядов в PostgreSQL может предоставить ценную информацию, помочь в принятии обоснованных решений и более глубоком понимании данных. Используя мощные возможности PostgreSQL, мы можем эффективно запрашивать все типы данных измерений для отслеживания тенденций, закономерностей и аномалий во времени.
▶️ Но есть одно требование
@sqlhub
👣 goqu — go-библиотека для построения и выполнения SQL-запросов
— go get -u github.com/doug-martin/goqu/v9
Без проблем поддерживает Postgres, MySQL, SQLite3, SQLServer и кастомные диалекты
🖥 GitHub
@sqlhub
💻Эксперименты с временными таблицами PostgreSQL
Чтобы лучше понять работу TEMP TABLE в PostgreSQL, нужно просто поглубже в них погрузиться, проверить разные гипотезы — именно с практикой и придёт понимание.
Так что держите — здесь подробное исследование TEMP TABLE, рассмотрение временных таблиц под разными углами
📎 Исследование
🖥 GitHub
@sqlhub
⭐️ Data Science разбор реальной задачи с собеседования. Прогнозирование оттока клиентов.
▪Смотреть
▪Данные
▪Ноутбук
@machinelearning_interview
💻Вопросы и ответы по SQL и по БД в целом
Держите, пригодится освежить самые основные моменты перед собеседованием.
Вот некоторые из затронутых здесь вопросов
🟡Вопросы по БД:
— Реляционные БД (SQL)
— Нереляционные БД (NoSQL): Key/Value, документные (документ-ориентированные), колоночные, графовые
— Что такое CAP-теорема (теорема Брюера)?
— Что такое свойство ACID в базе данных?
🟡Вопросы по SQL:
— Из каких подмножеств состоит SQL?
— Что подразумевается под таблицей и полем в SQL?
— В чем разница между операторами DELETE и TRUNCATE?
— Что такое соединения (JOIN) в SQL?
— В чем разница между типом данных CHAR и VARCHAR в SQL?
— Что такое первичный ключ (Primary key)?
— Что такое ограничения (Constraints)?
— Что такое уникальный ключ (Unique key)?
— Что такое внешний ключ (Foreign key)?
— Что подразумевается под целостностью данных?
— Какие уровни изолированности транзакций можешь назвать?
— Что вы подразумеваете под денормализацией?
— Напишите SQL-запрос для отображения текущей даты?
📎 Вопросы/ответы
@sqlhub
💻Руководство по MySQL JOIN с примерами
JOIN в MySQL — это мощный оператор, позволяющий объединять данные из нескольких таблиц на основе соответствия критериям.
Именно об этом и идёт речь в туториале, параллельно разбирается ещё много полезных вещей, рекомендую
Оглавление
⏩Различные типы соединений в MySQL
— INNER JOIN
— LEFT JOIN
— RIGHT JOIN
— FULL JOIN (не поддерживается напрямую MySQL)
⏩Реальные сценарии использования соединений в веб-разработке
— Отображение профилей пользователей с заказами
— Фильтрация товаров по категориям и брендам
— Отображение отзывов с информацией о продукте
⏩Советы по эффективным и оптимизированным соединениям в MySQL
📎 Руководство
@sqlhub
💻 Шпаргалка по SQL-инъекциям
Эта шпаргалка по SQL-инъекциям содержит примеры синтаксиса, который часто используется для проведения атак на БД. Примеры инъекций приведены для разных СУБД: Oracle, PostgreSQL, MySQL, MicrosoftSQL.
Проверьте, не подвержено ли ваше приложение SQL-инъекциям
🟡Рассматриваются SQL-инъекции для извлечения такой информации как:
├╼ Объединение строк
├╼ Подстрока
├╼ Комментарии
├╼ Версия базы данных
├╼ Содержимое базы данных
├╼ Условные ошибки
├╼ Извлечение данных с помощью сообщений об ошибках
├╼ Пакетные (или штабелированные) запросы
├╼ Временные задержки
├╼ Условные временные задержки
├╼ DNS lookup (Поиск DNS)
╰╼ DNS lookup с эксфильтрацией данных
📎 Шпаргалка
@sqlhub
Переходите на формат монитора 4K
Вы сможете увидеть больше контента, чем при обычных разрешениях, и наслаждаться детализированным изображением. Компания MSI рекомендует свою новинку Modern MD271UL для повседневной работы c фото- и видеоредакторами, проведения стриминговых сессий и удаленной работы.
Именно сейчас удачный момент воспользоваться выгодным предложением, чтобы обновить свой старый монитор на новый в сети магазинов DNS.
Подробнее
💻Как сделать дамп PostgreSQL
⏩Держите полезную статью
В ней рассматриваются процессы резервного копирования и восстановления данных в PostgreSQL, обсуждаются различные стратегии и методы, которые позволят обеспечить надежность и доступность ценных информационных ресурсов.
Уверен, будет полезно)
📎 Статья
@sqlhub
💻Как в Postgresql реализовать поиск по первым символам каждого слова в строке?
▶️Суть задачи:
На ввод подаются строки. Например: "один". Запрос в базу должен матчить записи типа "три два один", "одиннадцатый", но не должен матчить записи типа "иван родин"
Как реализовать такое в SQL запросе?
▶️Для этого в PostgreSQL можно использовать оператор ~ и соответствующее регулярное выражение с '\m', обозначающим начало слова:
SELECT *
FROM tbl
WHERE name ~ '\mодин'
🖥 Решение задач с помощью SQL является важным навыком для дата-саентиста по нескольким причинам:
1. SQL позволяет эффективно извлекать, фильтровать и обрабатывать данные из баз данных.
2. SQL предоставляет возможность проводить аналитические запросы к данным, выявлять закономерности, тренды и паттерны, что помогает в принятии бизнес-решений.
3. Часто данные хранятся в различных базах данных или системах. Знание SQL помогает дата-саентисту объединять данные из разных источников для создания цельных наборов данных.
4. Написание оптимизированных SQL-запросов позволяет ускорить обработку данных и повысить производительность аналитических процессов.
В целом, знание SQL позволяет дата-саентисту эффективно работать с данными, проводить анализ и извлекать ценные инсайты для бизнеса.
Предлагаю немного попрактиковаться и порешать задачи на знание SQL.
🖇 Решение заданий из тренажера SQL Academy
🖇 Вводный Курс с задачами по работе с Базами данных
🖇В репозитории представлены проекты курса Аналитик данных
🖇Решение задач hackerrank по SQL
🖇100 ключевых Вопросов с собеседований
@machinelearning_interview
🖥 Знаете ли вы, что в MySQL есть невидимые столбцы!
Они нужны для обеспечения безопасности ваших данных (скрыть приватные данные, ключи).
CREATE TABLE t1 (col1 INT, col2 INT INVISIBLE);
INSERT INTO t1 (col1, col2) VALUES(1, 2), (3, 4);
SELECT * FROM t1;
+------+
| col1 |
+------+
| 1 |
| 3 |
+------+
SELECT col1, col2 FROM t1;
+------+------+
| col1 | col2 |
+------+------+
| 1 | 2 |
| 3 | 4 |
+------+------+
🔥 Крутой список игр, которые помогут вам изучить программирование без скучных лекций, но с интерактивным подходом:
• SQL Murder Mystery — вам предстоит стать шпионом Джаусом и использовать SQL для поиска загадочного убийцы;
• CryptoZombies — Игра разделена на уроки, где вы, используя язык программирования Solidity, создадете свою первую веб-игру 3.0, собирая армию зомби;
• Playground.tensorflow - браузерная игра, от tensorflow есть в которой можно настраивать и обучать нейросеть
• Screeps — игра, которая похожа на Dwarf Fortress, но здесь для управления колонией нужно писать код;
• Flexbox Froggy — милая игра про жаб, которая научит вас работе с CSS flexbox. Для полного погружения рекомендуется играть в определенной среде;
• Checkio — отличное упражнение для программистов на Python и TypeScript. Сборник интересных интерактивных игр, решение которых требует написания кода.
@DevOPSitsec
🔥Подборка лучших обучающих каналов для программистов.
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
💻 Supabase вышел из беты
Совсем недавно вышел из беты Supabase — open-source инструмент на базе PostgreSQL, альтернатива Firebase.
Инструмент предоставляет разработчикам различные сервисы и утилиты, которые упрощают процесс создания и запуска приложений.
Примечательно то, что больше трети проектов из последнего батча YC используют именно Supabase. Кажется, это яркое подтверждение тезиса об упрощении разработки (ну или маркетологи компании хорошо постарались). Так что, если делаете стартап, и не используете Supabase, то можно задать вопросы CTO, почему он не делает как «лучшие» стартапы, которых отобрал YC.
🖥 GitHub
@sqlhub
🖥 SQL генератор
Выпущена Sqlcode 8b на базе Llama-3!
Вероятно, это лучшая на данный момент модель размером <10B для преобразования текста в SQL.
Работает лучше, чем gpt-4-turbo и claude opus для генерации SQL запросов.
▪Github: https://github.com/defog-ai/sql-eval
▪Weights: https://huggingface.co/defog/llama-3-sqlcoder-8b/
▪Demo (optimized for postgres): https://defog.ai/sqlcoder-demo/
@sqlhub
💻Маленькая загадка для любителей PostgreSQL
🟡В таблице получилось дублирование cat_id, хотя это primary key. Что должно быть на месте -- do some things, чтобы это было возможно?
CREATE TABLE cats (
cat_id bigint,
name varchar(128) NOT NULL,
PRIMARY KEY (cat_id)
);
INSERT INTO cats VALUES (1, 'Tihon'), (2, 'Marfa');
SELECT * FROM cats;
cat_id | name
--------+-------
1 | Tihon
2 | Marfa
(2 rows)
-- do some things
SELECT * FROM cats;
cat_id | name
--------+--------
1 | Tihon
2 | Marfa
1 | Tihon2
(3 rows)
🖥 DrawDB
Крутой инструмент для создания баз данных и генерации SQL запросов.
Создание диаграмм займет всего несколько секунд, вы сможете экспортировать готовые скрипты и настроить свой редактор без необходимости создания учётной записи.
▪ GitHub
@sqlhub
👣 Convex
Conve векторная бд, написанная в 200 тысяч строк Convex, "реактивной" базы данных, созданной с нуля на Rust.
Она включает в себя набор клиентских библиотек, которые интегрируются с интерфейсным кодом приложения, и обеспечивает кэширование данных и обновления в режиме реального времени.git clone https://github.com/get-convex/convex-backend.git
cd convex-backend
▪Github
▪Docs
@sqlhub
💻Диагностика производительности PostgreSQL
В этой статье рассмотрим методы диагностики производительности PostgreSQL, которая состоит из 3 шагов.
🟡Шаг 1: Оптимизировать кластер
Для улучшения работы вашей базы данных используйте следующие методы диагностики производительности PostgreSQL:
— примените вертикальное или горизонтальное масштабирование и затем проведите анализ запросов;
— настройте конфигурационные параметры развернутого кластера. Например, используйте онлайн генераторы конфигурационных параметров.
🟡Шаг 2: Анализ логов
Обратите внимание, что включение анализаторов запросов может потреблять около 10% ресурсов. Но после завершения процесса анализа и оптимизации запросов производительность может значительно вырасти.
Вы можете использовать встроенные инструменты для анализа производительности PostgreSQL, чтобы идентифицировать узкие места и медленные запросы:
— pg_stat_statements
— pg_stat_kcache
— auto_explain
— log_min_duration_statement
🟡Шаг 3: Анализ планов
Оптимизация запросов может быть сложной и часто представляет собой итеративный процесс. Вносите изменения постепенно и измеряйте влияние каждого изменения на производительность запросов. Также рекомендуем протестировать выполненные оптимизации в промежуточной среде, прежде чем применять их к рабочей базе данных. Убедитесь в отсутствии непредвиденных последствий.
План запроса PostgreSQL описывает выполнение SQL-запроса, включая сортировку и фильтрацию, а также использование ресурсов во время выполнения.
📎 Статья
@sqlhub
Tarantool Column Store — это новая российская in-memory колоночная СУБД для гибридной транзакционно-аналитической обработки данных (HTAP) в реальном времени.
Позволяет анализировать данные в real-time, ускорять аналитические расчеты. Обладает высокой производительностью благодаря многопоточности.
Где можно применять новую СУБД:
• Формирование финансовой отчетности в real-time;
• Ускорение и повышение точности антифрод-систем — обнаружение подозрительных транзакций практически с нулевой задержкой;
• Повышение производительности системы выдачи кредитов. Tarantool Columnstore в реальном времени анализирует матрицы, в которых содержится более 100 000 вариантов кредитных предложений и дополнительных услуг.
Попробуйте высокую производительность и скорость — 1,6 млн. сканирований и 200 тыс. агрегаций в секунду на ядро, <200 микросекунд на запрос.
➡️ Оставить заявку
💻Работа с PostgreSQL: настройка и масштабирование — открытый учебник
Держите ценный контент — открытый учебник от А. Ю. Васильева aka leopard по Postgres.
Нереально полезно, здесь раскрывается множество важных моментов, связанных с этой СУБД
📎 PDF
@sqlhub
💻 Внутренности PostgreSQL: кэш системного каталога
Системный каталог, или просто каталог — это таблицы, в которых PostgreSQL хранит информацию обо всех остальных объектах, хранящихся в базе данных. К ним относятся таблицы, функции, триггеры, и т.д. Обращение к системному каталогу происходит часто, поэтому для него предусмотрен кэш. Давайте же разберемся, как этот кэш устроен.
Реализация кэша находится в следующих файлах:
⏩syscache.{c,h} — реализация основных функций кэша. Функции оперируют с Datum’ами и HeapTuple’ами;
⏩catcache.{c,h} — низкоуровневые функции, используемые syscache.c. Выделение и освобождение памяти реализовано здесь;
⏩lsyscache.{c,h} — высокоуровневая обертка над syscache.c. Содержит функции «получить имя отношения по его Oid» и подобного рода;
⏩inval.{c,h} — логика инвалидации кэша. Подробности см ниже по тексту;
⏩sinvaladt.{c,h} — реализация кольцевого буфера в разделяемой памяти, через который рассылаются сообщения об инвалидации кэшей;
⏩sinval.{c,h} — интерфейс коммуникации через sinvaladt.c. Содержит функции вроде «отправить / получить SharedInvalidationMessage»;
📎 Подробнее
@sqlhub
Считаешь себя экспертом в IT? Участвуй в «Цифровом марафоне» от Сбера и «Школы 21» и будь на код впереди! Миллион рублей уже ждёт тебя.
В этом масштабном конкурсе ты будешь соревноваться со специалистами по всей России. Тройка лучших поделит в финале в Москве призовой фонд в 1,8 миллионов рублей.
Но сначала нужно пройти онлайн-игру, тестирование и цифровой диктант. Начнёшь с «разминки» и покажешь свои аналитические и мягкие навыки. Далее — ответь на вопросы теста согласно своему уровню подготовки. Прослушай на диктанте техническое задание и напиши код решения.
Поспеши: 20 апреля — твой последний шанс нажать на кнопку «Хочу участвовать». Переходи на сайт и регистрируйся прямо сейчас!
🔊 X5 Tech на связи! Проводим новый митап по Data Science
25 апреля обсудим с экспертами ML системы и все, что вокруг: проверенные и новые методы взаимодействия с пользователями от рекомендаций музыки до генерации контента и чат-ботов на основе ИИ, а также сложности: галлюцинации, мониторинг языковых моделей, методы улучшения RAG-систем.
🎙️У микрофона:
Дарья Андреева и Глеб Панин — менеджеры по работе с большими данными, X5 Tech
Дмитрий Астанков — Machine Learning Engineer, Звук
Артем Ерохин — ведущий менеджер по работе с большими данными, X5 Tech
✅ 25 апреля, 19:00
Москва, пространство Articon + онлайн трансляция
За деталями и регистрацией - сюда
__
Реклама. ООО "Корпоративный центр ИКС 5", ИНН: 7728632689, erid: LjN8KNVda
💻Работа с json в PostgreSQL
В PostgreSQL есть два типа данных для работы с JSON: json и jsonb. Они отличаются друг от друга способом хранения данных и способом работы с ними.
⏩Тип данных json использует текстовый формат хранения JSON-данных, который позволяет хранить только простые типы данных JSON: строки, числа, логические значения, null и массивы или объекты, состоящие только из этих типов. Это означает, что при хранении данных типа json не происходит никакой оптимизации, и любые изменения в данных приводят к перезаписи всей строки JSON.
⏩Тип данных jsonb использует бинарный формат хранения JSON-данных, который позволяет хранить все типы данных JSON, включая вложенные объекты и массивы, а также дополнительные типы данных, такие как булевы значения, даты и времена и т.д. Бинарный формат данных jsonb позволяет эффективно хранить, индексировать и быстро выполнять запросы к данным в формате JSON, и при изменении данных не требует перезаписи всей строки JSON, а лишь тех частей, которые изменились.
⏩Создание объектов json
Одной из основных функций для работы с JSON является jsonb_build_object(), которая позволяет создавать объекты JSON внутри запросов. Это может быть полезно, например, при импорте данных из внешних источников.
Предположим, что мы хотим в select-запросе динамически сгенерировать json-объект. Сделать это можно так:
SELECT jsonb_build_object('name', 'Иван', 'age', 30, 'city', 'Москва') AS person;name, age и city, которые будут содержать соответствующие значения. Результатом запроса будет следующий JSON-объект:{
"age": 30,
"city": "Москва",
"name": "Иван"
}
💻Настройка обслуживания PostgreSQL. Основное и простое
⏩Обслуживание БД — это не единственный вопрос, который следует решать администратору СУБД. И при этом не самый первый, если речь идет о сопровождении сервера.
⏩В этой статье мы не будем рассматривать все вопросы обслуживания и сопровождения в этой публикации, это слишком большое количество информации. Вместо этого мы рассмотрим только самые основные стороны вопроса обслуживания баз данных, при этом подразумевая, что вы уже сделали:
— Настроили под себя оптимальным образом настройки PostgreSQL, например, с помощью сервиса pgtune.
— Решены все инфраструктурные вопросы в части работы сети, железа, дисков и так далее.
— Вы понимаете как работает PostgreSQL в части модификации строк, как работает версионирование, что такое “мертвые” строки и так далее.
Сосредоточимся только на базовых вопросах обслуживания. Итак, поехали!
📎 Статья
@sqlhub
💻SQL-запрос для группировки и взятия уникальных значений
▶️Итак, есть табличка:
Number Item
------------
202 Book
202 Cartoon
202 Book
207 Book
205 Elephant
207 Elephant
208 Book
209 Biggy
209 Smoke
203 Smoke
number и вывести уникальные item для него, наподобие:202 Book Cartoon
207 Book Elephant
205 Elephant
208 Book
209 Biggy Smoke
203 Smoke
SELECT Number,
group_concat (DISTINCT Item separator ' ')
FROM TABLE
GROUP BY Number
🌟 Lightning Studio: Альтернатива Google Colab от создателей PyTorch Lighting
⏩Lightning Studio представляет собой передовую облачную платформу для проектирования и тестирования моделей машинного обучения, разработанную создателями PyTorch Lightning. Эта платформа обеспечивает пользовательский опыт, сравнимый с "iPhone" в сфере инструментов ML, благодаря своей интуитивной простоте и одновременно впечатляющей мощности. Она объединяет инструменты машинного обучения в единый интерфейс, избавляя от необходимости переключения между разными приложениями. Это значительно упрощает процесс создания масштабируемых приложений и конечных точек AI.
⏩Одна из множества функций Lightning Studio способствует повышению производительности разработки на 60%, так как она позволяет легко переходить с работы на CPU на GPU, сокращая таким образом до 80% времени, обычно тратимого на разработку.
⏩Каждому пользователю Lightning Studio предоставляется 22 бесплатных GPU-часа в месяц на базе T4, с опцией покупки дополнительного времени по мере необходимости. Вы будете платить только за время активного использования GPU. Кроме того, для работы над более требовательными проектами вы можете увеличить свои ресурсы, арендовав до 8 GPU A100.
📎 Lightning Studio
@sqlhub