Что произойдёт, если в транзакции вызвать SET TRANSACTION ISOLATION LEVEL SERIALIZABLE после выполнения запросов?
Anonymous Quiz
20%
A) Уровень изоляции изменится для всей транзакции
34%
B) Изменение будет применено только к следующим запросам
33%
C) Ошибка, уровень изоляции можно задать только в начале транзакции
14%
D) Уровень изоляции изменится глобально для всех сессий
👍7👎1
❌ «В IT сейчас работы нет» — слышали такое?
А вот и нет 🙅♂️ Мы каждый день публикуем новые, живые вакансии с вилкой и прямыми контактами рекрутеров в телеграм.
Подборки для всех направлений — от джуна до лида.
Есть даже еженедельные интерншипы и стажировки для начинающих.
🔎 Выбирай свой канал:
QA → @qa_work
PM → @jobs_pm
BA/SA → @analytics_jobs
.NET → @job_dotnet
DS/ML → @dsml_jobs
PHP → @work_php
Java → @java_dev_job
Python → @jobrocket_python
🧩 Или подпишись сразу на все
А вот и нет 🙅♂️ Мы каждый день публикуем новые, живые вакансии с вилкой и прямыми контактами рекрутеров в телеграм.
Подборки для всех направлений — от джуна до лида.
Есть даже еженедельные интерншипы и стажировки для начинающих.
🔎 Выбирай свой канал:
QA → @qa_work
PM → @jobs_pm
BA/SA → @analytics_jobs
.NET → @job_dotnet
DS/ML → @dsml_jobs
PHP → @work_php
Java → @java_dev_job
Python → @jobrocket_python
🧩 Или подпишись сразу на все
👍6🔥1
Как MySQL обрабатывает запрос с использованием GROUP BY и столбцами, не входящими в агрегатные функции и не перечисленными в GROUP BY?
Anonymous Quiz
36%
Возвращает ошибку синтаксиса
16%
Возвращает произвольное значение из группы для таких столбцов
17%
Автоматически добавляет все столбцы в GROUP BY
30%
Игнорирует такие столбцы в результате
🔥6👍1
Как хранить деньги в базах данных и почему это не так просто, как кажется
#почитать
Некоторые валюты имеют фиксированный курс к другой валюте. Например, гонконгский доллар (HKD) с 1983 года привязан к доллару США в диапазоне 7,75-7,85 HKD за 1 USD.
Большинство валют ведут себя предсказуемо: 2 знака после запятой (точность, precision) — доллары, евро, рубли с их центами и копейками. Но есть и «особенные» — японская йена вообще без дробных частей, а иорданский динар делится на 1000 филсов и может довести до тысячных (0.001 JOD). Приятно, когда есть стандарты, но реальный мир любит отклонения.
Мавритания и Мадагаскар пошли своим путем: их валюты не используют десятичную систему: 1 угия = 5 хумов, 1 ариари = 5 ираймбиланджа.
У криптовалют может быть до 18 десятичных знаков (например, у ETH).
Количество знаков после запятой может изменяться со временем из-за инфляции. Деноминация решает проблему кардинально, но требует введения нового валютного кода. Пример из российской практики: до 29 февраля 2004 года использовался код валюты RUR (810), а после деноминации был введен RUB (643). Интересно, что в некоторых legacy-системах до сих пор можно встретить старый код.
У некоторых валют младшие единицы существуют только на бумаге — физически 0.1 японской йены или 0.1 южнокорейской воны не существует, хотя технически такие суммы возможны в расчетах.
При хранении цен на недорогие товары может потребоваться дополнительная точность. Например, после конвертации товар за $0.01 может стоить 0.009 евро — такую цену нужно где-то хранить, даже если евро формально имеет только 2 знака после запятой.
⏱ Читать статью
#почитать
Некоторые валюты имеют фиксированный курс к другой валюте. Например, гонконгский доллар (HKD) с 1983 года привязан к доллару США в диапазоне 7,75-7,85 HKD за 1 USD.
Большинство валют ведут себя предсказуемо: 2 знака после запятой (точность, precision) — доллары, евро, рубли с их центами и копейками. Но есть и «особенные» — японская йена вообще без дробных частей, а иорданский динар делится на 1000 филсов и может довести до тысячных (0.001 JOD). Приятно, когда есть стандарты, но реальный мир любит отклонения.
Мавритания и Мадагаскар пошли своим путем: их валюты не используют десятичную систему: 1 угия = 5 хумов, 1 ариари = 5 ираймбиланджа.
У криптовалют может быть до 18 десятичных знаков (например, у ETH).
Количество знаков после запятой может изменяться со временем из-за инфляции. Деноминация решает проблему кардинально, но требует введения нового валютного кода. Пример из российской практики: до 29 февраля 2004 года использовался код валюты RUR (810), а после деноминации был введен RUB (643). Интересно, что в некоторых legacy-системах до сих пор можно встретить старый код.
У некоторых валют младшие единицы существуют только на бумаге — физически 0.1 японской йены или 0.1 южнокорейской воны не существует, хотя технически такие суммы возможны в расчетах.
При хранении цен на недорогие товары может потребоваться дополнительная точность. Например, после конвертации товар за $0.01 может стоить 0.009 евро — такую цену нужно где-то хранить, даже если евро формально имеет только 2 знака после запятой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏9❤3🔥1
👑 Кто работает PM — тот в цирке не смеется
Наша сегодняшняя рекомендация — канал с PM юмором.
Мы работаем в проджект-менеджменте и уже не смеемся. Но если вас можно рассмешить — welcome в PM Humor
Наша сегодняшняя рекомендация — канал с PM юмором.
Мы работаем в проджект-менеджменте и уже не смеемся. Но если вас можно рассмешить — welcome в PM Humor
😁11
Как PostgreSQL обрабатывает NULL при использовании оператора DISTINCT ON?
Anonymous Quiz
33%
A) Все NULL считаются одинаковыми и объединяются в одну строку
21%
B) NULL сравниваются по значению и считаются разными
43%
C) NULL игнорируются в сравнении
3%
D) Поведение зависит от настройки сервера
👍7🔥1
Какой тип индекса MySQL лучше всего подходит для геопространственных данных?
Anonymous Quiz
29%
BTREE
28%
HASH
27%
SPATIAL
16%
FULLTEXT
👍6🔥1
Что происходит при использовании ALTER TABLE ... ALTER COLUMN ... SET STATISTICS?
Anonymous Quiz
9%
A) Меняет точность числового столбца
64%
B) Устанавливает уровень сбора статистики для планировщика запросов
4%
C) Изменяет размер поля
24%
D) Обновляет данные в столбце
🔥6👍1
Что делает оператор REPLACE INTO в MySQL?
Anonymous Quiz
70%
Вставляет новую строку или заменяет существующую с таким же уникальным ключом
4%
Удаляет строку из таблицы
9%
Обновляет все строки таблицы
17%
Вставляет только новые строки, игнорируя дубликаты
👍7🔥1
Как PostgreSQL обрабатывает конфликт при одновременном обновлении одной строки в разных транзакциях с уровнем изоляции READ COMMITTED?
Anonymous Quiz
12%
A) Обе транзакции выполняются без конфликтов
54%
B) Вторая транзакция блокируется до завершения первой
18%
C) Вторая транзакция получает ошибку serialization_failure
15%
D) Последняя транзакция перезаписывает данные без ошибок
👍7🔥1
Forwarded from QA Live 🚩 тестирование ПО
This media is not supported in your browser
VIEW IN TELEGRAM
▫️Тестирование Python-приложений в масштабе
▫️Apache Kafka для QA инженера или что нужно знать тестировщику о Kafka
▫️Обзор HTTP-клиента Connekt и примеры сценариев тестирования
▫️Простой и быстрый инструмент для сбора графиков из Grafana
▫️Как я перестал бояться GUI-тестов и научился их любить (почти)
▫️Как мы тестируем Ростелеком.Warehouse: тестовые сценарии, сбор и анализ метрик по результатам тестирования
▫️Интеграция OpenSearch: от функционального тестирования до проверки интеллекта поиска
▫️10 универсальных шаблонов тест-кейсов для тестирования приложений
▫️QA-метрики: что на самом деле важно измерять и как в этом помогает TMS
▫️Бенчмарки для теста телефона на производительность
▫️Джун, который видит: ошибки, которые может заметить только начинающий
▫️Почему QA должен думать о безопасности IT-продукта
▫️Карты, деньги, два бага: погружаемся в программный взлом банкоматов
▫️«Нейросеть, мы тебя отключим»: интервью о взломе LLM и реальной цене ИИ-инструментов
▫️Чтобы взломать нейросеть, достаточно написать запрос стихами — исследование
▫️UI-тестирование с применением машинного обучения
🌴 Отдохнуть
▫️Молитва любви, или трудности нейроперевода на праиндоевропейский язык
▫️Как SMM Газпрома устроили добровольный «слив» данных клиентов
▫️Автономный дом кочевника с дождевой водой, солнечными панелями. Жизнь без водопровода, газа и счетов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
Какой тип индекса в MySQL лучше всего подходит для ускорения поиска по диапазону значений?
Anonymous Quiz
29%
BTREE
36%
HASH
26%
FULLTEXT
10%
SPATIAL
👍7🔥2
Как PostgreSQL обрабатывает CHECK ограничения при массовой вставке с COPY?
Anonymous Quiz
20%
A) Все проверки выполняются сразу после вставки
22%
B) Проверки игнорируются при использовании COPY
45%
C) Проверки выполняются построчно во время вставки
13%
D) Проверки выполняются после вставки каждой партии
🔥6👍1
🔐 Postgresus - self-hosted инструмент для резервного копирования и мониторинга PostgreSQL базы данных
Возможности:
- создание бекапов по расписанию для PostgreSQL 13-18;
- уведомления в Telegram, Slack, Discord, если бекап сломался или база недоступна;
- хранение бекапов локально, в S3 или Google Drive;
- health check базы данных раз в минуту;
- Apache 2.0 лицензия (полностью открытый);
Запуск через Docker:
📌 GitHub
Возможности:
- создание бекапов по расписанию для PostgreSQL 13-18;
- уведомления в Telegram, Slack, Discord, если бекап сломался или база недоступна;
- хранение бекапов локально, в S3 или Google Drive;
- health check базы данных раз в минуту;
- Apache 2.0 лицензия (полностью открытый);
Запуск через Docker:
docker run -d
--name postgresus
-p 4005:4005
-v ./postgresus-data:/postgresus-data
--restart unless-stopped
rostislavdugin/postgresus:latest
📌 GitHub
👍9🔥2❤1
Вы тестируете функционал, который удаляет все временные записи из таблицы temp_logs. В базе данных запущено множество других процессов. Какая команда наименее подвержена проблемам блокировки и не будет сильно нагружать журнал транзакций?
Anonymous Quiz
12%
A) DELETE FROM temp_logs;
20%
B) DROP TABLE temp_logs;
26%
C) TRUNCATE TABLE temp_logs;
43%
D) DELETE FROM temp_logs WHERE created_at < NOW();
😁8🤣3
Forwarded from QA Live 🚩 тестирование ПО
This media is not supported in your browser
VIEW IN TELEGRAM
▫️Автоматическое создание тестов Playwright из Jira с OpenAI GPT-5.1
▫️Proxyman + HAR = mock-данные для iOS-тестов
▫️Агенты Playwright
▫️Как управлять установками в Appium через noReset и fullReset
▫️10 Chrome-расширений для QA часть 2
▫️Общая концепция локаторов и их специфика в Playwright
▫️5 промтов, которые сэкономили мне часы рутинной работы тестировщика
▫️Базовая база для успешного собеседования на джуна в QA. Рассказываю, о чем спрашиваю на собесах
▫️6 простых вопросов, из-за которых сыпятся даже сильные кандидаты (и как отвечать правильно)
▫️Нагрузочное испытание Wi-Fi, «народный» метод
▫️+30% к скорости написания автотестов и сотни чек-листов в день: как мы внедряем LLM в QA
▫️Почему агенты НЕ пишут основную часть нашего кода
▫️Интеграционное тестирование: от теории до боевого опыта
▫️Как мы оптимизировали тестирование с помощью API-сервисов
▫️Cursor и ИИ-ассистенты ускоряют разработку — но без нормальных автотестов топят всю команду
▫️SVG, Canvas, WebGL, WebGPU — кто здесь вообще главный? Большой тест 2D-графики в браузере
▫️Где ломается прокси-балансировщик: наш опыт измерений
▫️Почему ваш сайт ломается, когда его трогают пальцем
▫️Как я тестирую крупные системы, которые невозможно протестить на статичных данных
▫️Тестирование без тонны кейсов: свобода, автотесты и экспертиза
▫️Как ускорить автотесты на Python в Pytest в 8,5 раз
▫️Почему QA должен быть душнилой: тестируем PostgreSQL и не даём разработчикам расслабиться
▫️Роботизированное ручное тестирование в Т-Банке
▫️Качество = Здоровье
▫️Как мы будем тестировать человекоподобных роботов (когда они станут реальностью)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Удобный софт для работы с файлами SQLite
#почитать
Исходный код SQLite находится в общественном достоянии вообще без лицензии и доступен всем для использования в любых целях. Забавно, что проект поддерживают всего три человека, которые не допускают внешних контрибьюторов. В данный момент имена авторов держатся в секрете и удалены с официального сайта во избежание сталкинга.
Среди всех программных компонентов и библиотек SQLite входит в пятёрку самых популярных в мире, вместе с оригинальной реализацией zlib, оригинальным libpng и официальной библиотекой Libjpeg. На этих компонентах держится современная IT-индустрия: библиотеки для графики PNG и JPEG, сжатие данных zlib и наша СУБД SQLite.
⏱ Читать статью
#почитать
Исходный код SQLite находится в общественном достоянии вообще без лицензии и доступен всем для использования в любых целях. Забавно, что проект поддерживают всего три человека, которые не допускают внешних контрибьюторов. В данный момент имена авторов держатся в секрете и удалены с официального сайта во избежание сталкинга.
Среди всех программных компонентов и библиотек SQLite входит в пятёрку самых популярных в мире, вместе с оригинальной реализацией zlib, оригинальным libpng и официальной библиотекой Libjpeg. На этих компонентах держится современная IT-индустрия: библиотеки для графики PNG и JPEG, сжатие данных zlib и наша СУБД SQLite.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤳Прокачайте свою карьеру в мобильном QA
В Академии Selectel вышел бесплатный курс по тестированию мобильных приложений. Он объединил актуальный опыт практикующих экспертов из бигтеха и не только. Материалы будут полезны начинающим тестировщикам и опытным специалистам для систематизации знаний по мобильным платформам.
Курс бесплатный и доступен для прохождения в удобное для вас время. Приятный бонус: промокод для бесплатной работы с мобильной фермой Selectel в процессе обучения.
👉Получите доступ к курсу: https://slc.tl/wk1s5
Реклама. АО "Селектел". erid:2W5zFHuEDmJ
В Академии Selectel вышел бесплатный курс по тестированию мобильных приложений. Он объединил актуальный опыт практикующих экспертов из бигтеха и не только. Материалы будут полезны начинающим тестировщикам и опытным специалистам для систематизации знаний по мобильным платформам.
Курс бесплатный и доступен для прохождения в удобное для вас время. Приятный бонус: промокод для бесплатной работы с мобильной фермой Selectel в процессе обучения.
👉Получите доступ к курсу: https://slc.tl/wk1s5
Реклама. АО "Селектел". erid:2W5zFHuEDmJ
У вас есть таблицы views (посещения) и purchases (покупки). Как найти пользователей, которые просмотрели товары, но ничего не купили?
Anonymous Quiz
4%
A) SELECT user_id FROM views EXCEPT SELECT user_id FROM purchases;
37%
B) SELECT user_id FROM views WHERE user_id NOT IN (SELECT user_id FROM purchases);
27%
C) SELECT user_id FROM views LEFT JOIN purchases USING (user_id) WHERE purchases.user_id IS NULL;
31%
D) Все вышеперечисленные варианты приведут к одному результату.
👍3
Реляционная база данных: сущности, атрибуты, ключи и связи на реальном проекте
#почитать
▪️Сущности и связи. Архитектура данных
▪️Почему важно говорить про структуру
▪️Базы данных: что это и как с ними работать
▪️Зачем разбираться в типах баз данных?
▪️Концептуальная модель: что есть в нашей системе
▪️Нормализация: как навести порядок в данных
▪️Ключи и связи: как элементы объединяются между собой
⏱ Читать статью
#почитать
▪️Сущности и связи. Архитектура данных
▪️Почему важно говорить про структуру
▪️Базы данных: что это и как с ними работать
▪️Зачем разбираться в типах баз данных?
▪️Концептуальная модель: что есть в нашей системе
▪️Нормализация: как навести порядок в данных
▪️Ключи и связи: как элементы объединяются между собой
Please open Telegram to view this post
VIEW IN TELEGRAM