EdgeDB — open-source БД с декларативной схемой, встроенной системой миграции и языком запросов нового поколения
— curl https://sh.edgedb.com --proto '=https' -sSf1 | sh
EdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.
🖥 GitHub
🟡 Доки
Ваш код и алгоритмы уже устарели, а вы даже не подозреваете об этом
Каждый день появляются новые подходы в Machine Learning и Data Science, а вы всё ещё используете старые методы?
Artificial Intelion — это ежедневные инсайты из мира ИИ, актуальные исследования и полезные фреймворки, которые вы сможете сразу применить в работе.
Прокачайте свои навыки и узнайте, как внедрить последние технологии в проекты, чтобы оставаться впереди конкурентов.
Удиви своих коллег знаниями по DS и ML: @artificial_intelion
JupySQL — позволяет выполнять SQL-запросы в Jupyter/IPython с помощью %sql и %%sql
— pip install jupysql duckdb-engine
JupySQL — это форк ipython-sql с множеством исправленных ошибок и массой новых возможностей
JupySQL позволяет выполнять SQL-запросы и строить графики для больших наборов данных в Jupyter с помощью команд %sql
, %%sql
и %sqlplot
.
JupySQL совместим со всеми основными БД (PostgreSQL, MySQL, SQL Server и др.), хранилищами данных (типа Snowflake, BigQuery, Redshift) и движками (SQLite и DuckDB).
🖥 GitHub
🟡 Доки
DBT – мессия, блажь или реальность дата-инженера?
8 октября приглашаем вас на бесплатный вебинар от учебного центра Слёрм! Встретимся с опытными специалистами из мира big data, чтобы обсудить:
👉🏻 Как управлять жизненным циклом данных в мире победившего Modern Data Stack?
👉🏻 Могут ли современные инструменты преобразить процесс Data Governance и сделать его простым и быстрым?
👉🏻 Как разные компании и команды применяют dbt для решения задач Data Governance?
Эксперты встречи:
— Евгений Ермаков, руководитель платформы данных Tоlоkа.аi
— Николай Марков, Data Platform Lead в Altenar, спикер курсов Слёрма и ментор проекта «Где дата, Коль?»
📌 Когда: 8 октября в 19:00 мск
📌 Занять место на вебинаре — через бота.
erid: LjN8KZrpZ
Стоимостной подход в SQL
Стоимостной подход - это один из методов оптимизации запросов в SQL. Он основывается на том, что оптимальный план запроса может быть выбран путем оценки стоимости каждого возможного плана и выбора того, который имеет наименьшую стоимость.
Для выполнения данного запроса в SQL сервере может быть несколько возможных планов, например:
1. Сначала выполнить выборку из таблицы customers, затем из orders. Далее объединить результаты с помощью оператора JOIN по customer_id.
2. Сначала выполнить выборку из таблицы orders, затем из customers. Далее объединить результаты с помощью оператора JOIN по customer_id.
3. Использовать индексы на таблицах для выполнения быстрой выборки.
Для выбора наилучшего плана выполнения запроса SQL-сервер оценивает стоимость каждого плана, исходя из статистики таблиц, наличия индексов и других факторов.
Например, если таблица customers содержит много строк и немного соответствующих строк в таблице orders, то выборка из таблицы customers должна быть выполнена первой, чтобы уменьшить количество строк, которые нужно объединять с таблицей orders. Таким образом, стоимостной подход позволяет выбирать наиболее эффективный план выполнения запроса, что ускоряет работу SQL-сервера и сокращает время выполнения запросов.
#Вопросы_с_собеседования
Что такое сущности и отношения?
Объект представляет собой абстракцию набора связанных данных и представлен в виде таблиц . Отношения определяют, как объекты связаны друг с другом.
Например, предположим, что у нас есть две таблицы с именами orders и users. Наши orders и users являются нашими сущностями.
Мы можем представить, что у одного пользователя может быть много заказов. Таким образом, пользователи могут иметь отношения «один ко многим» с заказами. Сущности и отношения часто используются в процессе разработки схемы таблицы. Понимая, как определять объекты и отображать их отношения, вы показываете, что можете продуктивно работать в коллективном сеансе проектирования таблиц базы данных.
👩💻 Программирование теперь в Telegram!
Вот 10 обучающих каналов по самым востребованным направлениям в IT.
Выбирай своё направление:
👩💻 Python: @python_ready
👩💻 Java: @java_ready
👩💻 Backend: @backend_ready
👩💻 Frontend: @code_ready
👩💻 Весь IT: @roadmap_ready
👩💻 C#: @csharp_ready
👩💻 C/C++: @cpp_ready
🖥 Базы Данных & SQL: @sql_ready
📖 IT Архив: @archive_ready
🖥 Design: @time_design
📌 Ресурсы, гайды, шпаргалки, книги и задачи для каждого языка программирования.
Используйте умные ссылки – создавайте и настраивайте сервисы для динамического управления редиректами
Как именно, спросите вы?
А очень просто: приходите на открытый урок OTUS «Проектирование сервиса умных ссылок»
Вы узнаете:
- как спроектировать сервис умных ссылок и создавать ссылки с динамическими правилами редиректа
- как настраивать редирект в зависимости от геолокации, устройства пользователя и других параметров
- как разрабатывать и оптимизировать масштабируемый и гибкий сервис умных ссылок
Вебинар проведёт действующий директор компании по разработке ПО, в прошлом – профессиональный разработчик на C++
👨💻🛠👨🏻💻 Будет интересно: бэкенд-разработчикам, фулстек-разработчикам, техническим архитекторам
📅 8 октября, 20:00
🆓 Бесплатно. Урок в рамках старта курса «Microservice Architecture»
🔴 Записаться на открытый урок: https://clck.ru/3DeVyxРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
#Вопросы_с_собеседования
❓Опишите различные типы индексов
Есть три типа индексов, а именно:
1. Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2. Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3. Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
Разбираем как решать задачи на LeetCode
✅ Примеры решений
✅ Пояснения
Выбери своё направление:
1. Python
2. JavaScript
3. Java
4. C#
5. Golang
6. C/C++
7. PHP
8. Kotlin
9. Swift
#Вопросы_с_собеседования
Объясните разницу между INNER JOIN и LEFT JOIN в SQL и приведите пример ситуации, в которой каждый из них наиболее подходит
INNER JOIN в SQL возвращает строки, когда есть совпадение в обеих таблицах, в то время как LEFT JOIN возвращает все строки из левой таблицы и совпадающие строки из правой таблицы; строки, для которых нет совпадений в правой таблице, будут иметь NULL в этих столбцах. INNER JOIN подходит, когда необходимо найти точные совпадения между таблицами, тогда как LEFT JOIN используется, когда нужно включить все записи из одной таблицы, даже если соответствующих совпадений в другой таблице нет.
Самостоятельно погружаетесь в IT и изучаете необходимые технологии, чтобы построить карьеру за 2-3 года? 🤔
А что, если мы скажем вам, что это можно сделать быстрее и уже через 5-6 месяцев выйти на позицию Middle в крупную компанию? 😯 Это возможно с программой «Системный аналитик с нуля» от IT Mentor.
Системные аналитики — это востребованные специалисты на рынке, которые помогают упорядочивать работу команды и вести внутреннюю документацию проекта. А заработные платы Middle-специалистов стартуют от 170 тыс.₽.💸
Как найти работу после изучения нужных технологий? С IT Mentor это не проблема. Они обучают студентов без вложений с гарантией трудоустройства. Если вы решили не продолжать обучение или не смогли найти работу — ничего не платите 🔥🔥
В программе обучения:
— методики разработки и Agile, методология работы в команде;
— Jira и Confluence;
— UML, BPMN;
— API, SQL;
— основные инструменты системного анализа, проектирование баз данных и API и работа с WEB;
— подготовка к собеседованиям, помощь в составлении резюме и карьерные консультации.
👆🏻И все это под руководством опытных менторов Senior-уровня, которые помогут освоить ключевые темы и поддерживать мотивацию во время обучения.
Переходите по ссылке на сайт https://clck.ru/3DtLrd, чтобы узнать подробнее о курсе и оставить заявку на обучение
*Количество мест в группе ограничено.
Реклама. ИП Тюльников ИНН 526223159257.
Spice — унифицированный интерфейс запросов SQL и портативная среда выполнения для быстрого извлечения данных из любой БД, хранилища данных или озера данных
curl https://install.spiceai.org | /bin/bash
spice init spice_qs
cd spice_qs
spice run
🖥 sqlite-vec
Чрезвычайно маленькое и "достаточно быстрое" расширение для векторного поиска SQLite, которое работает в любом месте!
Проект преемник sqlite-vss.
- Храните и запрашивайте float, int8 и двоичные векторы в виртуальных таблицах vec 0.
- Написан на чистом C, без зависимостей, работает везде, где работает SQLite (Linux/ macOS /Windows, в браузере с WASM, Raspberry Pis и т.д.)
- Предварительная фильтрация векторов с rowid В подзапросах (...)
▪ Github
⚡️ Вся база знаний по IT в одном месте!
🧑💻 IT База — краткие разборы самого важного из мира IT. Сотни мастхев-ресурсов, каждый день новые материалы по работе и подготовке к собеседованиям. Подойдёт как новичкам, так и состоявшимся айтишникам;
🖥 Frontend База — всё для фронтенд разработчиков. Готовые решения для проектов, полезные курсы по JS/HTML/CSS, готовые роадмапы для комфортного освоения в профессии и дальнейшего развития;
👣 Backend База — самое важное для бэкендеров. Всё о работе с PHP, MySQL, MongoDB, Golang и Rust в одном месте, плюс полные курсы и лайфхаки для работы на каждый день;
🖥 База Знаний — склад полезных курсов и материалов, где легко найти что-то нужное по хэштегам. Если вам что-то интересно про IT, то оно уже лежит на Базе, проверяйте.
⏲ Успей подписаться, чтобы не потерять!
#Вопросы_с_собеседования
❓Для чего используются агрегатные функции?
Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией.
Несколько примеров агрегатных функций: COUNT(), SUM(), MAX(), MIN(), AVG() и ROUND().
Вебинар «Возьмите кластеры под контроль»
15 октября в 16:00 на вебинаре команда Tarantool расскажет, как построить высокопроизводительное кластерное хранилище с простым управлением и гарантиями отказоустойчивости. Покажем демо: развернем кластер и продемонстрируем работу с ним из JAVA-приложения с использованием spring data 3.x.
В программе:
-В каких системах вам не обойтись без in-memory хранилища.
-Как легко развернуть «горячее» кластерное in-memory хранилище под ваши задачи и централизованно управлять им через интуитивно понятный графический интерфейс и CLI.
-Как построить геораспределенный кластер, не падающий даже при неустойчивом канале связи или аварии в ЦОДе.
Вебинар будет полезен системным и корпоративным архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.
Регистрация
🔒 6895 ГБ платного контента для программистов выложили в Telegram
Тонны курсов, уроков и видео теперь в открытом доступе:
🖥 Python — 724 ГБ
🖥 Frontend — 981 ГБ
🖥 Backend — 817 ГБ
👩💻 Все языки — 4373 ГБ
Успей подать заявку, пока не удалили
Шпаргалка SQL → Pandas
— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.
#Вопросы_с_собеседования
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
#Вопросы_с_собеседования
❓Что такое строковые функции в SQL?
Строковые функции SQL используются в основном для обработки строк. Некоторые из широко используемых строковых функций SQL представлены ниже:
• LEN () — возвращает длину значения в текстовом поле.
• LOWER () — преобразует символьные данные в нижний регистр
• UPPER () — преобразует символьные данные в верхний регистр
• SUBSTRING () — извлекает символы из текстового поля.
• LTRIM () — Это удалить все пробелы в начале строки.
• RTRIM () — удалить все пробелы в конце строки.
• CONCAT () — функция Concatenate объединяет несколько символьных строк вместе.
• REPLACE () — для обновления содержимого строки.
💸 Вакансии для IT'шников
Выбери своё направление ⤵
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
#вопросы_с_собеседований
Имеет ли значение порядок колонок в составном индексе?
Да, порядок колонок в составном индексе имеет значение.
Рассмотрим пример:
У нас есть таблица orders с колонками order_id, customer_id, order_date, product_id и quantity. Нам необходимо создать составной индекс для ускорения поиска заказов по customer_id и order_date.
Мы можем создать два индекса:
1. Индекс по (customer_id, order_date)
2. Индекс по (order_date, customer_id)
В первом случае, запросы с условием WHERE customer_id = ? AND order_date = ? будут выполняться быстрее, так как эти колонки находятся в порядке, указанном в индексе.
Во втором случае, запросы с условием WHERE order_date = ? AND customer_id = ? будут выполняться медленнее, так как порядок колонок не соответствует порядку в индексе.
Таким образом, порядок колонок в составном индексе имеет значение и должен соответствовать порядку, в котором используются колонки в запросах.
Объяснение Запроса
Подзапрос: Здесь используется подзапрос для выбора CustomerID из таблицы Orders, группируя по CustomerID и применяя условие HAVING COUNT(OrderID) > 2. Это выбирает клиентов, сделавших более двух заказов.
Объединение (JOIN): Основной запрос использует JOIN для соединения таблиц Customers и результата подзапроса по CustomerID.
Условие WHERE: Фильтрация происходит по полю City в таблице Customers, чтобы выбрать только тех клиентов, которые находятся в "New York".
Этот запрос тестирует понимание кандидата в области объединения таблиц, работы с агрегатными функциями и подзапросами, а также фильтрации данных в SQL.
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift