Найти в Дзене
Какие бывают блокировки в PostgreSQL на простом примере. Часть 2.(Блокирующие запросы, pg_stats_activity, явные блокировки)
Блокирующие запросы. Это продолжение статьи Какие бывают блокировки в PostgreSQL на простом примере. Часть 1 И вот наступило время, когда Боб тоже хочет поиграть машинкой (обычное дело для детей). Боб делает следующий запрос: [Bob] sandbox=# UPDATE toys SET usage = usage + 1 WHERE id = 1; Но его желание не может быть сейчас исполнено, придется подождать пока Алиса завершит свою транзакцию. Снова посмотрим в таблицу блокировок: Теперь у Боба тоже есть собственный transactionid и он настойчиво просит выдать ему ShareLock на transactionid Алисы — «Эй, я хочу поиграть с этой машинкой»...
240 читали · 2 года назад
Какие бывают блокировки в PostgreSQL на простом примере. Часть 1( pg_lock, transactionid, MVCC).
В основе данной публикации лежит интересная статья «Exploring Query Locks in Postgres». Статье уже 10 лет, но она не потеряла актуальности. От понимания того как работают блокировки зависит написание правильных запросов, которые способны выполняться параллельно и не мешать друг другу. Давайте рассмотрим наглядный пример. Для начала создадим базу «песочницу» с тремя полями: create database sandbox; create table toys ( ...
684 читали · 2 года назад
Вот где собака порылась! Или куда пропал символ @ с клавиатуры.
Как-то раз, работая за компом, нужно было быстро ввести адрес своей почты, я на удаленке и сотрудник ждал ответа на свой запрос. Конечно в этом нет ничего сложного. Быстро набираю BeHappy и дальше жму Shift+2 чтобы ввести символ '@', но вместо этого получаю ' " ' - кавычки. Судорожно переключаю раскладку клавиатуры, но на экране только " " " ". Времени не было разбираться и я просто из текста скопировал эту пропавшую собаку и вставил. После я решил разобраться что за ерунда такая. Нашел вариант: нажал на английской раскладке 'Э' и, о чудо, собака появилась...
1763 читали · 2 года назад
Прокачиваем навыки в Python. Множества (ч.2)
В статье приведены три задачи для иллюстрации в каких случаях использование множеств в программировании весьма уместны и удобны. Поехали! Полиглоты. В школе каждый из N учеников знает Mᵢ языков. Узнайте, какими языками владеют все школьники и языки, которые знает хотя бы один из учащихся. Во входных данных в первой строке записано количество школьников N. Затем идет N чисел Mᵢ, после каждого из чисел идет Mᵢ строк, в которых записаны названия языков, которые знает i-й ученик. 1≤N≤1000, 1≤Mᵢ≤500...
158 читали · 4 года назад
5 примеров использования множеств в решении задач на Python.
В статье рассматриваются решения пяти типовых задач, в которых отрабатываются навыки работы со множествами. Множество в python - это структура данных (контейнер), которая содержит не повторяющиеся элементы в случайном порядке...
328 читали · 4 года назад
Решения задач на Python (списки, вложенные списки, срезы, sort, open, close)
В статье представлены варианты использования вложенных списков для сортировки данных. Так же часть задач использует для ввода и вывода данных текстовые файлы. Представлены задачи: Слияние списков, Пересечение множеств, Гражданская оборона, Средний балл по классам, Отсортировать список участников по алфавиту, Клавиатура, Максимальный балл по классам, Результаты олимпиады. Слияние списков. Даны два целочисленных списка A и B, они отсортированы по неубыванию. Нужно объединить их в один упорядоченный список С, в котором будет len(A)+len(B) элементов...
919 читали · 4 года назад
Примеры решения задач на Python (кортежи, списки, for, split, join).
Задачи для отработки навыков использования кортежей, списков, цикла FOR in range, цикла в цикле, методов split и join. Задачи: лесенка чисел, флаги, ферзи, потерянная карточка, сумма факториалов, замечательные числа, сжатие списка, уникальные элементы, самое частое число...
2061 читали · 4 года назад
IsPointInArea и рекурсия в теореме Лагранжа на Python.
В этой статье приведены решения задач на принадлежность точки области, ограниченной прямыми и окружностью, а также программное представление теоремы Лагранжа и связанной с ней задачей нахождения суммы квадратов или кубов натурального числа...
881 читали · 4 года назад
Рекурсия(ч.2). Примеры на языке Python.
Эта статья продолжает предыдущую статью о рекурсии и примерах ее применения в программировании. Задачи: число Фибоначчи, число сочетаний, разворот последовательности и Ханойские башни.
944 читали · 4 года назад