Аналитика Telegram-канала
Подписчики
3 008
Охват за 24 ч
545
ER за 24 ч
18,12%
Публикаций
283

Динамика подписчиков

7 дней 30 дней 6 месяцев Больше
23 окт26 окт29 окт
Показаны последние 7 дней Больше истории →

Охваты публикаций

20.1020.1023.1026.1027.1028.10
719
Средний охват
1,5K
Лучший результат
Показаны 6 публикаций — последние в канале Больше статистики →

Упоминания

60
Упоминаний
7
Из них репостов
38
Каналов
Все упоминания

Последние посты

3 из 283 2 из 283
Фото
Уровни изоляций. Честно, я первый раз про них узнал на собесах. Меня спросили, я продолбался и пошёл читать. Разобраться — разобрался, но ещё долго думал, что они нужны только для того, чтобы на собесах отвечать 🌟 Если того же мнения — велком. Сначала на пальцах разберёмся что это такое, а затем — зачем вообще уметь их настраивать https://youtu.be/_IVRzj94z4w
ещё
657 8 9 28 окт, 17:08
Вчерашний квиз: правильно ответили 38% 🥰 Останется 70. 25% выбрали 40, и бухгалтерия с ними согласна: списали дважды по 30. А в базе 70: клиент потратил 60, заплатил 30. Представь копилку и тетрадку, где записан остаток. Двое одновременно заглянули в тетрадку: 100. Каждый взял из копилки 30 и написал "осталось 70". В копилке 40, в тетрадке 70. Арифметика верная, просто второй переписал первого. Почему Read Committed не спас? Он обещает одно: ты не прочитаешь то, что другой ещё не закоммитил. Оба прочитали закоммиченные 100. От "прочитал, посчитал, записал" он не защищает. Ошибку (23%) дал бы Repeatable Read: Postgres увидит, что строку поменяли после чтения, и ответит второму ошибкой 40001. Её надо ловить и повторять. "Как повезёт" (14%) тоже мимо: оба успели прочитать, поэтому 70 каждый раз. А теперь обычный код на EF: var account = db.Accounts.Single(a => a.Id == id); account.Balance -= 30; db.SaveChanges(); В базу уходит SET "Balance" = @p0, и в @p0 лежит 70. EF шлёт готовое число, а не вычитание 🔥 db.Accounts.Where(a => a.Id == id) .ExecuteUpdate(s => s.SetProperty(a => a.Balance, a => a.Balance - 30)); Здесь уходит "Balance" - 30. Второй запрос ждёт первый, перечитывает строку и списывает уже с 70. Итог 40. Транзакция не спасает от гонки, если считаешь в памяти. Считай в базе. Поищи у себя Balance -=. Я подожду 🫡
ещё
882 5 1 17 27 окт, 10:46
ещё
966 3 4 4 26 окт, 14:00
Больше постов

Продолжить анализ этого канала

  • История роста подписчиков
  • Просмотры и охваты публикаций
  • Кто упоминает канал и кого упоминает он
  • Похожие каналы и подбор для рекламы
Открыть аналитику
Демо до 14 дней