Реляционные базы данных в книге «Двенадцать стульев»
#почитать
⏱ Читать статью
#почитать
Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг поняла: его бумажный архив ордеров на имущество бывших дворян не что иное, как идеальный пример реляционной базы данных. Алфавитные указатели — это индексы, книги учета — таблицы с первичными ключами, ордера — настоящие транзакции.
Мне сразу захотелось пофантазировать, как бы выглядела СУБД Варфоломея Коробейникова спустя сто лет. Так и возникла идея этой статьи о структуре реляционных баз данных и базовых SQL-запросах. Начинающим знакомиться с базами данных будет полезно и интересно рассмотреть тему под таким углом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Какой оператор в PostgreSQL позволяет выполнить атомарное обновление или вставку строки (UPSERT)?
Anonymous Quiz
20%
INSERT OR UPDATE
11%
MERGE
26%
INSERT ... ON CONFLICT DO UPDATE
20%
UPSERT
11%
REPLACE INTO
13%
UPDATE OR INSERT
👍6
Что возвращает функция pg_backend_pid()?
Anonymous Quiz
12%
A) Идентификатор текущего пользователя
77%
B) Идентификатор процесса сервера, обслуживающего сессию
7%
C) Версию PostgreSQL
4%
D) Имя базы данных
👍6🔥1
Как работает ограничение EXCLUDE в PostgreSQL?
Anonymous Quiz
22%
A) Гарантирует уникальность по одному столбцу
61%
B) Запрещает пересечение значений по заданному правилу
14%
C) Аналог UNIQUE для числовых данных
4%
D) Работает только с B-tree индексами
👍6
Forwarded from QA Live 🚩 тестирование ПО
🐞Дайджест полезных материалов по QA |7-13 октября
🛠 Инструменты и технологии
▫️gRPC для тестировщика: быстрый старт после REST
▫️Playwright Agents — тесты, которые “живут своей жизнью”
▫️Фикстуры в Playwright на простом примере
▫️Kick для QA-инженеров
▫️Группировка сабтестов в Go: от простого к сложному
💡 Подходы
▫️Паттерны проектирования для автотестов: от теории к практике
▫️Четыре фрейма тестирования, часть 5: Намерение, Дисциплина, Тестируемость, Реализация
▫️Что значит «хороший вкус» в разработке ПО?»
▫️Function Object — как основа бизнес логики приложения
▫️Дорожная карта Java backend-разработчика: c Junior до Middle
⚙️ Кейсы
▫️Как я автоматизировал анализ логов из Kibana с помощью LLM и AI-агентов
▫️Три по цене одного, или как мы в Яндекс ID автотесты перепридумали
▫️Тест-драйв документации: как мы научились ловить баги до релиза
▫️Как я создала аккаунт с именем «NULL» и мне стали приходить уведомления о покупке доменов другими пользователями
▫️Решили не выбирать, а взяли всех: как мы объединили несколько хостеров
▫️Исчезнувший агент
🟢 Подборка на TestEngineer
▫️gRPC для тестировщика: быстрый старт после REST
▫️Playwright Agents — тесты, которые “живут своей жизнью”
▫️Фикстуры в Playwright на простом примере
▫️Kick для QA-инженеров
▫️Группировка сабтестов в Go: от простого к сложному
▫️Паттерны проектирования для автотестов: от теории к практике
▫️Четыре фрейма тестирования, часть 5: Намерение, Дисциплина, Тестируемость, Реализация
▫️Что значит «хороший вкус» в разработке ПО?»
▫️Function Object — как основа бизнес логики приложения
▫️Дорожная карта Java backend-разработчика: c Junior до Middle
▫️Как я автоматизировал анализ логов из Kibana с помощью LLM и AI-агентов
▫️Три по цене одного, или как мы в Яндекс ID автотесты перепридумали
▫️Тест-драйв документации: как мы научились ловить баги до релиза
▫️Как я создала аккаунт с именем «NULL» и мне стали приходить уведомления о покупке доменов другими пользователями
▫️Решили не выбирать, а взяли всех: как мы объединили несколько хостеров
▫️Исчезнувший агент
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Что делает оператор RETURNING в PostgreSQL?
Anonymous Quiz
28%
A) Возвращает результат запроса без изменений
51%
B) Возвращает данные, изменённые в команде INSERT/UPDATE/DELETE
19%
C) Откатывает транзакцию
2%
D) Создаёт новую таблицу
❤5
SQL: бесплатные курсы и тренажёры, которые стоит попробовать
#почитать
Этот язык незаменим для разработчиков, тестировщиков, аналитиков данных, администраторов баз данных и маркетологов — всех, кто работает с большими объёмами информации. Грамотно составленные SQL-запросы помогают находить ценные инсайты о клиентах, анализировать работу бизнеса и структурировать данные по заданным критериям.
⏱ Читать статью
#почитать
Этот язык незаменим для разработчиков, тестировщиков, аналитиков данных, администраторов баз данных и маркетологов — всех, кто работает с большими объёмами информации. Грамотно составленные SQL-запросы помогают находить ценные инсайты о клиентах, анализировать работу бизнеса и структурировать данные по заданным критериям.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
Что из перечисленного верно для DELAYED вставок в MySQL?
Anonymous Quiz
8%
Вставки выполняются синхронно и сразу
63%
Вставки временно буферизуются и выполняются позже
14%
DELAYED поддерживается во всех движках хранения
15%
Вставки с DELAYED гарантируют порядок
❤6
Как MySQL обрабатывает повторяющиеся ключи при использовании INSERT IGNORE?
Anonymous Quiz
20%
Вставляет все строки, включая дубликаты
64%
Игнорирует строки с конфликтующими ключами без ошибки
5%
Выдаёт ошибку и откатывает всю операцию
11%
Обновляет существующие строки с конфликтом
👍7
Какой из перечисленных типов данных в PostgreSQL используется для хранения UUID?
Anonymous Quiz
56%
A) UUID
15%
B) CHAR(36)
5%
C) TEXT
24%
D) VARCHAR(36)
👍7
Какой тип данных в PostgreSQL используется для хранения двоичных данных?
Anonymous Quiz
5%
A) TEXT
50%
B) BYTEA
28%
C) BLOB
18%
D) JSON
❤8
Что делает оператор EXPLAIN PARTITIONS в MySQL?
Anonymous Quiz
65%
Показывает план выполнения с информацией о партициях, задействованных в запросе
28%
Выполняет запрос и разбивает результат по партициям
6%
Создаёт партиции для таблицы
2%
Удаляет партиции, не используемые в запросе
👍6
Что произойдет, если в PostgreSQL создать индекс с опцией INCLUDE и добавить туда столбец, который уже входит в ключ индекса?
Anonymous Quiz
27%
A) Ошибка создания индекса
15%
B) Столбец будет продублирован в индексe
53%
C) Столбец в INCLUDE игнорируется, так как он уже в ключе
5%
D) Индекс создастся, но с предупреждением
👍8
Что делает параметр query_cache_type в MySQL?
Anonymous Quiz
34%
Включает или отключает кэширование результатов запросов
24%
Определяет размер кэша для индексов
16%
Управляет кэшированием соединений
27%
Настраивает кэширование данных таблиц
👍6🔥1
Что произойдет при попытке выполнить UPDATE на таблице с триггером BEFORE UPDATE, который изменяет значение обновляемого столбца?
Anonymous Quiz
9%
A) Изменения триггера игнорируются
31%
B) Триггер может изменить значение, и это повлияет на обновление
13%
C) Обновление отменится с ошибкой
47%
D) Значение обновится, но только после выполнения триггера
🔥6👍1
Как MySQL обрабатывает FOREIGN KEY при удалении родительской записи с опцией ON DELETE CASCADE?
Anonymous Quiz
13%
Запрещает удаление родительской записи
73%
Удаляет все дочерние записи, связанные с родительской
5%
Оставляет дочерние записи без изменений
9%
Устанавливает дочерним записям значение NULL
❤4
Индексы в базах данных: сколько индексов — перебор?
#почитать
Вопрос о количестве индексов на таблице часто становится предметом жарких обсуждений среди разработчиков и администраторов баз данных. Одни считают: чем больше индексов — тем лучше производительность. Другие предупреждают: избыточная индексация может замедлить запись и увеличить нагрузку.
Так где же золотая середина?
⏱ Читать статью
#почитать
Вопрос о количестве индексов на таблице часто становится предметом жарких обсуждений среди разработчиков и администраторов баз данных. Одни считают: чем больше индексов — тем лучше производительность. Другие предупреждают: избыточная индексация может замедлить запись и увеличить нагрузку.
Так где же золотая середина?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from QA Live 🚩 тестирование ПО
This media is not supported in your browser
VIEW IN TELEGRAM
🐞Дайджест полезных материалов по тестированию QA |14-26 октября
⚙️ Инструменты и фреймворки
▫️Опыт изучения Python с точки зрения QA-инженера
▫️Топ-10 полезных расширений для браузера в арсенале QA-инженера
▫️Как автоматизировать тестирование батч-моделей? Гайд
▫️UI-автотесты: Fluent-стиль и умные данные — чтобы тесты работали на вас, а не вы на них
▫️Как запускать 100k+ браузеров в день и спать спокойно
▫️DIY Observability для автотестов, используя Pytest, ClickHouse и Grafana
▫️Почему для автоматизации тестирования мы выбрали Selenium и вам советуем
▫️Requestly: гайд для тестировщиков
🛡 Безопасность и API
▫️Тестирование Push-уведомлений: Полный чек-лист (ну или почти)
▫️Тестирование безопасности API – Отсутствие защиты от автоматизированных угроз
▫️От Basic Auth до OIDC: тестирование аутентификации и авторизации для QA-инженеров
🤖 Искусственный интеллект
▫️Я устал от ИИ
▫️Автоматическая генерация тест-кейсов в GitHub Copilot по шаблонам
▫️ChatGPT Atlas: пока ещё не торт для тестировщиков
▫️AI-генерация тестов: как превратить 3 месяца работы в 1 неделю
🧠 Методологии и процессы
▫️Покрытие тестами и о чем оно может рассказать
▫️Стоицизм как база для TDD: страданиями код совершенствуется
▫️Test Design на практике: как сократить число сценариев и отлавливать даже незаметные баги сложных систем
▫️Зеркало команды: Что «запахи» в тестах говорят о ваших процессах коммуникации
▫️Как выбрать TMS и не пожалеть: обзор популярных решений от тестировщика
▫️Сокращаем дефекты: практическое руководство по кросс-ревью
▫️Применение структурно-логических схем в организации тестирования
🤝 Карьера
▫️Не бойтесь, просто ходите: как пройти первые собеседования, если ты QA-инженер без опыта
▫️Как поддерживать вовлеченность в сообществе тестировщиков
▫️Опыт сдачи ISTQB в Финляндии on-site
👀 Посмотреть
🌐 Playwright Page Object Model | Step-by-Step Guide ⏱️50 минут
🌐 Мы тестировали LLM для собеседований, а они тестировали нас ⏱️45 минут
🌐 Сайзинг тестовых сред. Что надо знать ⏱️45 минут
🌐 Тестирование ПО для космических аппаратов и миссий ⏱️1 час
⚙️ Инструменты и фреймворки
▫️Опыт изучения Python с точки зрения QA-инженера
▫️Топ-10 полезных расширений для браузера в арсенале QA-инженера
▫️Как автоматизировать тестирование батч-моделей? Гайд
▫️UI-автотесты: Fluent-стиль и умные данные — чтобы тесты работали на вас, а не вы на них
▫️Как запускать 100k+ браузеров в день и спать спокойно
▫️DIY Observability для автотестов, используя Pytest, ClickHouse и Grafana
▫️Почему для автоматизации тестирования мы выбрали Selenium и вам советуем
▫️Requestly: гайд для тестировщиков
🛡 Безопасность и API
▫️Тестирование Push-уведомлений: Полный чек-лист (ну или почти)
▫️Тестирование безопасности API – Отсутствие защиты от автоматизированных угроз
▫️От Basic Auth до OIDC: тестирование аутентификации и авторизации для QA-инженеров
🤖 Искусственный интеллект
▫️Я устал от ИИ
▫️Автоматическая генерация тест-кейсов в GitHub Copilot по шаблонам
▫️ChatGPT Atlas: пока ещё не торт для тестировщиков
▫️AI-генерация тестов: как превратить 3 месяца работы в 1 неделю
🧠 Методологии и процессы
▫️Покрытие тестами и о чем оно может рассказать
▫️Стоицизм как база для TDD: страданиями код совершенствуется
▫️Test Design на практике: как сократить число сценариев и отлавливать даже незаметные баги сложных систем
▫️Зеркало команды: Что «запахи» в тестах говорят о ваших процессах коммуникации
▫️Как выбрать TMS и не пожалеть: обзор популярных решений от тестировщика
▫️Сокращаем дефекты: практическое руководство по кросс-ревью
▫️Применение структурно-логических схем в организации тестирования
🤝 Карьера
▫️Не бойтесь, просто ходите: как пройти первые собеседования, если ты QA-инженер без опыта
▫️Как поддерживать вовлеченность в сообществе тестировщиков
▫️Опыт сдачи ISTQB в Финляндии on-site
👀 Посмотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍1🔥1
PostgreSQL поддерживает параметры с дефолтными значениями, которые применяются, если аргумент не передан.
Anonymous Quiz
22%
A) Параметр меняется глобально для всех сессий
48%
B) Параметр меняется только внутри текущей транзакции
15%
C) Изменение сохраняется после коммита и отката
15%
D) SET LOCAL вызывает ошибку в транзакции
👍1
Что произойдет, если в транзакции PostgreSQL вызвать SET LOCAL для параметра, а затем выполнить ROLLBACK?
Anonymous Quiz
17%
A) Параметр останется изменённым после отката
51%
B) Параметр вернётся к значению до транзакции
29%
C) ROLLBACK вызовет ошибку из-за SET LOCAL
3%
D) Параметр изменится глобально
👍1