AT extra 👨‍💻 devcode
4 subscribers
601 photos
145 videos
1 file
574 links
Главное не ставить деплой в пятницу 🤣

#трюкдня #мемдня

Мемы тут: @atextra_entertrends
Download Telegram
Forwarded from IT Юмор
​​Когда за задачу взялся сеньор:
Forwarded from iPhones.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчики смогли запустить эмулятор Windows XP в visionOS.

Им предстоит реализовать поддержку ввода, потому что после загрузки системы она не реагирует на стандартные жесты visionOS.

https://www.iphones.ru/iNotes/razrabotchiki-smogli-zapustit-emulyator-windows-xp-v-visionos-08-10-2023
Forwarded from Senior SQL Developer
Функция LCASE

LCASE — преобразует строку в нижний регистр.
Примечание: Функция LOWER() является синонимом функции LCASE()

Синтаксис: LCASE(text)

Например, если у вас есть строка "HeLLo WoRLD", применение функции LCASE к этой строке вернет "hello world".

Функция может быть полезна при поиске данных или сортировке данных в алфавитном порядке, где важен только регистр символов.
Forwarded from Senior SQL Developer
Использование составных триггеров (compound triggers) Oracle

Oracle позволяет создавать триггеры, которые реагируют на изменения в таблицах базы данных. Если вы хотите создать триггер, который реагирует на изменения в нескольких таблицах, используйте составные триггеры (compound triggers). Они позволяют объединять до четырех типов триггеров в одном объекте, что упрощает создание, отладку и обслуживание.

Составные триггеры имеют секции, выполняющиеся в разное время: BEFORE STATEMENT, BEFORE EACH ROW, AFTER EACH ROW, и AFTER STATEMENT.

BEFORE STATEMENT
выполняется перед операцией DML.
BEFORE EACH ROW выполнится перед каждой строкой операции DML.
AFTER EACH ROW выполняется после каждой строки операции DML.
AFTER STATEMENT выполняется после выполнения операции DML.

Секции BEFORE EACH ROW и AFTER EACH ROW имеют доступ к NEW и OLD значениям строк, а также имеют возможность изменять значения в NEW. Секции BEFORE STATEMENT и AFTER STATEMENT не имеют доступа к NEW и OLD значениям, но могут использоваться для общих задач, таких как создание временных таблиц или логирование.

Преимущества использования составных триггеров

Составные триггеры позволяют более гибко управлять логикой выполнения операций, так как все блоки объединены в один. Кроме того, составные триггеры позволяют использовать общие переменные и функции, что упрощает код и снижает вероятность ошибок.
Поднимаем кластер PostgreSQL в Docker и Testcontainers

Читать статью
Forwarded from Хабр
​«Мне захотелось сделать игру, напоминающую о ретроэпохе игр на портативных консолях с их уникальным квадратным экраном, низким разрешением и видом сверху вниз. Я решил реализовать быстрый геймплей в стиле action-RPG с простым, но увлекательным геймплеем, мотивирующим игрока продолжать игру»

Создание игры в стиле GameBoy в 13 КБ
Forwarded from Хабр
​Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс

17 сентября ядру Linux исполнится 32 года. Это прекрасный повод вспомнить, как всё начиналось. Попытаемся повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01.
Forwarded from vc.ru
В 1980-х инженеры Microsoft создавали сложные продукты ради собственного удовольствия. Но когда компания поняла, что компьютерами пользуются тысячи разных специалистов, подход пришлось изменить.

Как Microsoft училась работать с клиентами, которые экономили на техподдержке, заливали смолой USB-порты и вырезали функции из Word, превращая его в блокнот

vc.ru/services/307415
Forwarded from Хабр
​Курс проложит аналитик: проверьте, какими SQL-скилами вы экипированы

Если вы не первый год в аналитике, то знаете, каково это — прокладывать дорогу сквозь неопределённость. Рассматривать гипотезы и принимать ту, по которой работать, — это как выбирать дорогу, по которой идти всей команде. Волнительно и непросто отправляться на неосвоенные земли.

Вот вы — хороший штурман? Готовы встретиться с вызовами? Перетряхнём же рюкзак, посмотрим, чем он набит, и есть ли там самое важное, без чего не выжить в пути!
Forwarded from SQL Pro
Ответ на #вопрос71

Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.

Пример использования:

CREATE TABLE order (
order_id INT NOT NULL,
user_id INT,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);

В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.

#вопросы #собеседование
Forwarded from Senior SQL Developer
MySQL: DIV

Функция DIV в MySQL возвращает целочисленное деление двух заданных чисел. Она принимает два аргумента: делимое и делитель, и возвращает результат деления в виде целого числа.

Синтаксис функции DIV выглядит следующим образом:
DIV(dividend, divisor)
- Здесь dividend - это делимое, а divisor - это делитель. Оба аргумента должны быть числами. Если один из аргументов NULL, то результатом будет NULL.

Пример использования функции DIV

Предположим, у нас есть таблица с информацией о продажах. Нам нужно вычислить среднее количество продаж в день, зная общее количество продаж и количество дней, в течение которых эти продажи были сделаны. Мы можем использовать функцию DIV для вычисления среднего количества продаж в день
Forwarded from Хабр
​«После того, как я посмотрел на клавиатуры популярных компьютеров конца 70-х и начала 80-х, я решил, что создатели ПК не особенно заморачивались, и взяли за базу печатные машинки. Действительно, кому могут понадобиться курсорные клавиши, расположение которых будет одинаковым на всех клавиатурах, которые можно нажимать одной рукой, да ещё вслепую?»

OPQAM, IJKL, 67890. О том, как нам реально повезло с курсорными клавишами
Forwarded from Data Science. SQL hub
SQL_Pandas.pdf
515.4 KB
🔥 Шпаргалка SQL → Pandas

— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.

@sqlhub
Forwarded from IT Юмор
Путевые войны
👏2
Forwarded from Senior SQL Developer
Оптимизация SQL-запросов в Oracle (ч.1)

1. Минимизация использования DISTINCT
Ключевое слово DISTINCT может быть использовано для удаления дубликатов из результирующего набора данных. Однако использование DISTINCT увеличивает время выполнения запроса, поскольку база данных должна выполнить дополнительные операции для удаления дубликатов. Поэтому рекомендуется использовать DISTINCT только тогда, когда это действительно необходимо.

2. Минимизация использования ORDER BY
Ключевое слово ORDER BY используется для упорядочивания результирующего набора данных по одному или нескольким столбцам. Однако, использование ORDER BY увеличивает время выполнения запроса, особенно если сортировка выполняется по большому количеству данных. Если сортировка не является необходимой, то лучше избегать использования ORDER BY, либо использовать ее в интерфейсе программы:

- путем экспорта в excel и последующим использованием встроенных фильтров (если дальнейшая работа с данными предстоит именно в этом инструменте);

- путем сортировки BI-инструменте, если скрипт будет использован там.
Forwarded from IT Юмор
Слепили из того, что было
Forwarded from Data Science. SQL hub
✔ Зачем инструмент dbt нужен аналитику данных

dbt — open-source проект, который решает проблему организации данных и открывает много возможностей для их трансформации, обработкии моделирования.

dbt (Data Build Tool) — инструмент, который позволяет дата-инженерам и аналитикам автоматизировать процессы тестирования, внедрения, документирования в рамках трансформации данных. Проще говоря, dbt — это всё о букве T в акрониме ELT (Extract — Transform — Load). Этот фреймворк не выгружает данные из источников, но предоставляет огромные возможности по работе с теми данными, которые уже загружены в Хранилище (в Internal или External Storage).

dbt основан на языках SQL и Jinja, с версии 1.4.* также поддерживает Python.

Основное назначение dbt — взять код, скомпилировать его в SQL, выполнить команды в правильной последовательности в хранилище

Чем полезен фреймворк

▪Контроль качества. Для бизнеса важно получать качественные данные, а для этого, в свою очередь, нужны инструменты контроля качества. dbt как инструмент позволяет реализовать любые вариации тестирования: на этапе обновления каких-либо данных мы всегда можем собрать быструю статистику по любым метрикам.

▪Хранение данных. Даже из «коробки» этот фреймворк позволяет реализовать на уровне хранилища хранение данных с историей СКД-2 (хранения технической истории, изменение атрибутов). С ним можно выстраивать снэпшоты — детальные слои с историей данных. dbt помогает собрать любую историю данных, чтобы отвечать на вопросы аналитиков и бизнеса.

▪Связывание данных в единую цепочку. Инструмент описывает ациклические зависимости (DAG) и связи, что позволяет легко анализировать цепочку преобразований данных. Когда мы используем и переиспользуем данные, выполнение этих задач связано: если что-то где-то меняется, то сказывается на других сущностях. С помощью dbt мы решаем задачу консистентности данных — устраиваем зависимость выполнения, чтобы одна сущность была рассчитана только после другой, без задержек и потери актуальности данных. Фреймворк помогает собрать в одном месте и связать всю логику — от исходных данных до итоговых результатов и их переиспользования.

▪Перенос в другие среды. Фреймворк позволяет легко переносить и настраивать разные подходы к работе моделей в различных средах: тестовые модели, продуктовый уровень, промышленный слой.

▪Настройка дополнительных возможностей. С dbt можно вписать документацию данных и работать с ними, можно настроить логирование стандартными способами и отслеживать аналитику исполнения запросов. Всё это реализуемо, поскольку у фреймворка на основе SQL и Jinja нет ограничений, кроме возможностей самих хранилищ и уровня знаний исполнителя.

Установка
Открываем терминал.
Запускаем команды:
pip install dbt-core #Установка
последней версии;
pip install dbt-core==1.4.0
#Установка конкретной версии.
dbt —version #Проверка установленной
версии.


▪Документация
▪Github

@sqlhub