Forwarded from Data Science. SQL hub
concurrently control. При том, не только в БД, а везде где хоть что-то выполняется параллельно.Допустим есть пользователь, у него есть 100 денег на счету. Пользователь может их тратить, вы проверяете баланс
SELECT balance ..., затем обновляете баланс при покупке UPDATE ... SET balance = ? WHERE .... И вот в счастливый день как-то так вышло, что приходят сразу 2 запроса на покупки для этого пользователя. Одна на 50 денег, вторая на 70. Одна из них должна быть отклонена, т.к. денег недостаточно. Но в результате получается что обе покупки прошли и у вас проблема, вы продали то, что не надо было. И это даже не видно по балансу пользователя. Как же?Это типичный
race condition, обе транзакции сначала данные читают, потом локально что-то делают, потом что-то пишут.При конкурентном доступе к ресурсу подрались только на последнем шаге, транзакция которая начала обновлять данные позже сначала подождала завершение первой транзакции. А затем банально перезаписала баланс на тот который считала правильным сама —
lost update аномалия.FOR SHARE, FOR UPDATE дополнения. Потому они кстати и задокументированы в разделе Explicit Locking@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
PostgreSQL Documentation
13.3. Explicit Locking
13.3. Explicit Locking # 13.3.1. Table-Level Locks 13.3.2. Row-Level Locks 13.3.3. Page-Level Locks 13.3.4. Deadlocks 13.3.5. Advisory Locks PostgreSQL provides various …
Forwarded from Хабр Новости
15 марта 2024 года Microsoft сообщила, что с 31 марта 2025 года компания прекратит работу Центра приложений Visual Studio (Visual Studio App Center). Microsoft рекомендует разработчикам приложений для iOS, Android, Windows и macOS подготовиться к этому событию и переходить на Azure Pipelines, BrowserStack App Automate, Package Flights, AppStore и TestFlight, Google Play и Google Play Console, Azure Native ISV, специальную версию CodePush и Microsoft Store Services SDK.
#разработка
#разработка
Forwarded from Однажды в трендах
Ускоренный импорт библиотек
Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком.
Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком.
Forwarded from Простой Python | Программирование
Forwarded from thecommunity.ru | Community
Диалоговое окно «Форматировать» для Windows NT было создано около 30 лет назад в качестве временного решения. С тех пор оно фактически не менялось.
Нет ничего более постоянного, чем временное 😏
https://thecommunity.ru/microsoft/windows/windows11/10394-kak-dialogovoe-okno-formatirovanija-windows-nt-prevratilos-v-neizmennuju-klassiku.html
Нет ничего более постоянного, чем временное 😏
https://thecommunity.ru/microsoft/windows/windows11/10394-kak-dialogovoe-okno-formatirovanija-windows-nt-prevratilos-v-neizmennuju-klassiku.html
thecommunity.ru | Community
Как диалоговое окно форматирования Windows NT превратилось в неизменную классику » thecommunity.ru | Community
Почти 30 лет назад в одно утро четверга в штаб-квартире Microsoft в Редмонде разработчик Дэйв Пламмер (Dave Plummer) создал диалоговое окно «Форматировать» для операционной системы Windows. Оно должно было быть временным, поэтому он не беспокоился о том,…
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Хабр
Эксперт под ником Albacore обнаружил в новых версиях Windows 11 старый диспетчер задач, который в Microsoft решили не удалять из системы. Его можно запустить только вручную, так как по нажатию Ctrl+Shift+Esc запускается новый диспетчер задач с обновлённым пользовательским интерфейсом.
«Знаете ли вы, что можно открыть диспетчер задач без нового XAML/WinUI фрейма, запустив taskmgr -d?», — пояснил Albacore. Старое приложение до сих пор находится в системе по пути «C:\Windows\SysWOW64\Taskmgr.exe».
Примечательно, что в Windows 11 нельзя одновременно использовать старый и новый диспетчер задач. Запустить старую версию, когда новая уже запущена, невозможно, и наоборот.
«Знаете ли вы, что можно открыть диспетчер задач без нового XAML/WinUI фрейма, запустив taskmgr -d?», — пояснил Albacore. Старое приложение до сих пор находится в системе по пути «C:\Windows\SysWOW64\Taskmgr.exe».
Примечательно, что в Windows 11 нельзя одновременно использовать старый и новый диспетчер задач. Запустить старую версию, когда новая уже запущена, невозможно, и наоборот.
⬆️ на нашем канале сегодня только актуальные туториалы для крутых прогеров
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Code Ready | Frontend
✅ Улучшение читаемости кода
Indent Rainbow - плагин для VSCode, который добавляет цветовую разметку для каждого уровня отступа в вашем коде, улучшая его читаемость и понимание структуры. Благодаря этому плагину вы сможете легко отслеживать вложенность блоков кода, делая процесс разработки более удобным и эффективным.
@code_ready | #плагин
Indent Rainbow - плагин для VSCode, который добавляет цветовую разметку для каждого уровня отступа в вашем коде, улучшая его читаемость и понимание структуры. Благодаря этому плагину вы сможете легко отслеживать вложенность блоков кода, делая процесс разработки более удобным и эффективным.
@code_ready | #плагин
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Простой Python | Программирование
Python Flet: PyDracula
Делимся циклом видео, где автор рассказывает про UI дизайн приложений. В этот раз рассматривается библиотека PyDracula. Это надстройка для программы PyQT.
👀Смотреть видео
#видео
Делимся циклом видео, где автор рассказывает про UI дизайн приложений. В этот раз рассматривается библиотека PyDracula. Это надстройка для программы PyQT.
👀Смотреть видео
#видео
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM

