Архитектурное решение о котором вы не думаете

  Рет қаралды 3,291

Sergey Nemchinskiy

Sergey Nemchinskiy

Күн бұрын

Пікірлер: 48
@sanioksasha3338
@sanioksasha3338 5 сағат бұрын
А как зовут автора, куда пропал Сергей Немчинский?
@ИмяФамилия-э4ф7в
@ИмяФамилия-э4ф7в 3 сағат бұрын
1:03 - это что, для тебя, какая-то шутка?
@andrewolegovich8754
@andrewolegovich8754 4 сағат бұрын
Ось це ще одна віха крутого контенту. Не привʼязаний до мови, архітектурно направлений, актуальний. Дякую!
@alexbozhko72
@alexbozhko72 4 сағат бұрын
Маэстро, Вы нас вообще ни в хр... ни в грош не ставите! Конечно же мы думаем о Concurrency на этапе проектирования. Просто потом забиваем на это на этапе разработки.
@fillfacks5986
@fillfacks5986 5 сағат бұрын
Фух, вы всё ещё Сергей Немчинский😅🎉
@muksaflash
@muksaflash 4 сағат бұрын
Круто сделано в гугл документах. Там в реальном времени видны исправления другого пользователя, и если он афк, его вроде выкидывает оттуда.
@ukrainetoday960
@ukrainetoday960 12 минут бұрын
Самое оптимальное - это лог чейнджей или же ревизия контента - нажал пользователь на редактирование - оповестил всех кто уже редактирует этот контент, сохранил поля - изменения отобразились у других пользователей - с пометкой у поля кто его сделал - во всплывашке, нажал пользователь на поле для редактирования - у всех отобразилось во всплывашке кто редачит поле. Плюс у каждого поля должна быть кнопка сравнения значений и отката к какому либо предыдущему Если делать с локами то лучше так, редактирование - это запрос на анлок, пользователь нажал кнопку редактировать - у всех кто уже редактирует появилась кнопка отмены с таймером, не нажали на кнопку - сохранился их недописанный вариант - синхронизировались чейнджи - у пользователя кто запросил анлок - появилась возможность редактировать
@ZingeR325
@ZingeR325 2 сағат бұрын
И ещё одна похожая шляпа: рассинхронизация текущей выборки на экране у клиента реальному состоянию данных в базе. Рефрешить нонстоп нельзя, и потому юзер видит то, что было в базе на момент, когда он открыл форму. И вот он с чувством, с толком, с расстановкой выбирает себе запись для работы, открывает её, а она в этот момент УЖЕ изменена/удалена/невалидна. А узнает он об этом в лучшем случае (это если про "конкуренси" позаботились) - уже когда захочет сохранить свою стену текста, которую 40 минут вносил в документ 🤪 з.ы. Это отдельный случай, не описанный в сценарии "пессимистик лок". Речь о случае, когда документ никто не правит прямо сейчас - он его уже исправил, но мы этого не знаем, мы из базы прочитали старую версию.
@alexandr3036
@alexandr3036 17 минут бұрын
круто а где про Архитектурное решение?
@shishlinsv
@shishlinsv Сағат бұрын
О, мы как раз писимистик лок переделывали на оптимистик. А у них названия есть)
@EwwwGeN
@EwwwGeN 2 сағат бұрын
Хотелось бы послушать про всякие событийные паттерны, которые как раз-таки и нацелены на то, чтобы предотвращать проблемы с одновременной записью, а так же помогать работе распределенных систем
@oleksandrivashchenko7916
@oleksandrivashchenko7916 5 сағат бұрын
Недавно столкнулся с проблемой конкурентной записи у себя на проекте. Мы решили через версионирование. Каждый раз когда клиент пытается сделать запись, он дополнительно отправляет версию на основании которой он делал изменения, и если эта версия не совпадает с текущей, мы ему сообщаем об этом и не даем сделать запись. Данный подход предупреждает перетерание данных, но он не дает никаких инструментов по решению конфликтов, справедливости ради, мы сознательно отказались от этого, решили что система решения конфликтов нам не нужна, достаточно будет детекции. Судя по всему это оптимистик лок
@the_huge_knight
@the_huge_knight 4 сағат бұрын
Optimistic OFFLINE Lock
@germanmalinovsky1719
@germanmalinovsky1719 3 сағат бұрын
offline означает что блокировка происходит не в реальном времени, а локально на стороне клиента, типа как при работе с git (децентрализировано) в противовес к svn (централизировано).
@shod76
@shod76 13 минут бұрын
Можно сделать и без админки. Просто джоба сама будет снимать локи после определенного периода времени при отсутствии активности.
@ZingeR325
@ZingeR325 Сағат бұрын
Оффлайн лок - полагаю, это связано с разрывом связи между базой и юзером (его интерфейсом и выборкой данных в него)
@sergeibatiuk3468
@sergeibatiuk3468 36 минут бұрын
Я начал о нем думать - и понеслось: Scala, Akka, Functional Programming, Cats Effect, Haskell, Project Reactor, Go routines
@andreychiglintcew5024
@andreychiglintcew5024 5 сағат бұрын
❤ это прям реальность. У вас больше одного ядра? У вас есть асинхронность и конкурентность тоже)
@MasterSergius
@MasterSergius Сағат бұрын
Конкьюренси... Можно попросить Вас прочитать bicycle и vehicle? Как раз подтягиваю английский, думаю, научусь и тут чему-нибудь...
@STimothy
@STimothy Сағат бұрын
А почему не сделать как в гугл докс, что изменения внесённые одним пользователем сразу отображаются у всех?
@oneway2ba
@oneway2ba 3 сағат бұрын
что такое версия? это просто счетчик условный который плюсуется при каждом редактировании или что-то более глобальное?
@TheAcekon
@TheAcekon 2 сағат бұрын
А в чому проблема при Pessimistic Offline Lock не робити обмеження часу або якщо людина кілька годин не активна завершати його сеанс і знімати всі блокування.
@kozakA8
@kozakA8 Сағат бұрын
а если работа будет делаться 2 часа? Есть не только 2 варианта. До часу или уехал в Тайланд. Есть вариант 3 часовой работы например. Или дать человеку полдня на выполнение работы. Остальных предупредить что бы полдня занимались другим. Например работа с 10-14. Второй человек захотел зайти в 13:50(а вдруг уже первый всё сделал) И наткнулся та лок. В твоём предоложении лучше сменить час времени, на отрезок времени которое назначит админ
@TheAcekon
@TheAcekon Сағат бұрын
@@kozakA8 я про те що блок ставиться поки активний сеанс користувача і знімается розлогіном з системи.
@komputersh4ik546
@komputersh4ik546 27 минут бұрын
​@@kozakA8ну можно сделать если человек например 1 час не вносит каких-то изменений, то выдавать сообщение на продолжение сессии этому человеку, если человек не подтверждает, то блокировка снимается автоматически
@WadeChannal
@WadeChannal 5 сағат бұрын
Забавно, что я как раз на своем проекте сейчас решаю этот вопрос
@postoronny
@postoronny 13 минут бұрын
Мне скоро предстоит этим заниматься... Пока народ говорит: "вапще не надо, будем редактировать с одного места"... (предполагаемые конкуренты рядом за соседними компами) Причём, говорит это тот, кому и предстоит редактировать, хоть у него работы там и так по горло и, строго говоря, редактирование - это не его основная работа на этом месте. Мож сталкивался уже?..
@0imax
@0imax 4 сағат бұрын
По сути, это мердж конфликт, и решать можно подобным же способом.
@АлексейН-р3т
@АлексейН-р3т 5 сағат бұрын
Когда спрашивать решили не человека, а программиста, я понял, что ничего не пойму. Внимательно посмотрел ролик и действительно ничего не понял.
@sergeibatiuk3468
@sergeibatiuk3468 3 сағат бұрын
Такое ощущение, что у него есть некоторое immutable property
@sergeibatiuk3468
@sergeibatiuk3468 3 сағат бұрын
Конкьюренси!
@MasterSergius
@MasterSergius 57 минут бұрын
А-а-рон (Key and Peele - Substitute teacher)
@ukrainetoday960
@ukrainetoday960 25 минут бұрын
5:07 блокировки это не самое лучшее решение
@velsah5763
@velsah5763 4 сағат бұрын
В 1С эта проблема решена просто. Если кто-то открыл документ на редактирование- остальным он открывается ТОЛЬКО на просмотр. Но осталась проблема с отчетами. Есть отчеты , которые моут формироваться несколько часов- а за это время инфа может изменится. Вылезет бред (но обычно не критично)
@indarelloivanov2180
@indarelloivanov2180 4 сағат бұрын
Ну так ситуация когда первый открыл документ на редактирование и пошел пить кофе, проблема как была так и осталась. При чем здесь открытие на чтение?
@the_huge_knight
@the_huge_knight 4 сағат бұрын
фу 1С, там одни проблемы
@0imax
@0imax 4 сағат бұрын
​@@indarelloivanov2180почему бы не пинать афк-шника через х минут?)
@Андрей-к3ъ9е
@Андрей-к3ъ9е 3 сағат бұрын
Если программистам нужно объяснять что такое блокировка,... то я понимаю, почему про программистов 1С говорят что они умнее прочих и почему программисты "правильных" языков так агрятся на 1С. Касательно отчетов на "несколько часов", если это системное, то у вас что-то не так работает.
@_dzen_tv_
@_dzen_tv_ 24 минут бұрын
Учим новое слово - вылогонить
@narimz
@narimz 5 сағат бұрын
Лук топ 😎
@nrmncr37
@nrmncr37 35 минут бұрын
что, так плохо с подписчиками, что надо выкладывать кликбейтное дерьмо?
@YuriyStakhniak
@YuriyStakhniak 5 сағат бұрын
КонкАренсі😊
@muksaflash
@muksaflash 4 сағат бұрын
А гугл переводчик там скорее у говорит, чем а 🤔
@СлаваВолошин-ы3с
@СлаваВолошин-ы3с 3 сағат бұрын
@@muksaflash нет, с спецом его переслушал, там А
@muksaflash
@muksaflash 3 сағат бұрын
@@СлаваВолошин-ы3с это зависит от диалекта, скорее всего. У меня на компьютере более похоже на «А», а на телефоне на «У» 😂.
@КолёКолё-ю2щ
@КолёКолё-ю2щ Сағат бұрын
@@muksaflash😅🔥
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 3,4 МЛН
Synyptas 4 | Жігіттер сынып қалды| 3 Bolim
19:27
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2,5 МЛН
БОСТОН - ЛУТШЫЙ ГОРОД в США
34:57
Алексей Шевцов
Рет қаралды 489 М.
Новый CSS! 2024
18:06
Как пройти в IT?
Рет қаралды 14 М.
Забудь всё, что ты знал о ChatGPT: OpenAI Canvas меняет всё
8:20
информация искусствыныва интеллектa
Рет қаралды 4,5 М.
Лучший Гайд по Kafka для Начинающих За 1 Час
1:15:01
10 глупых вопросов АРХИТЕКТОРУ
25:01
ЖИЗА
Рет қаралды 573 М.
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 3,4 МЛН