Size: a a a

Software Design/Architecture/Zen

2021 January 12

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
а, точно. выходит что есть соединение - стейтфул, нет соединения - стейтлесс
источник

HH

Human Human in Software Design/Architecture/Zen
I Scarab
Ну или про удаление, например.
Да про любую операцию, которая атомарна.
Чем мои операции не атомарны?

/schedule/start-editing
/schedule/continue-editing
/schedule/change
/schedule/no-change
источник

IS

I Scarab in Software Design/Architecture/Zen
stateful нужен, если у тебя либо больше одной операции (транзакционность), либо если состояние зависит не только от тебя.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Human Human
Чем мои операции не атомарны?

/schedule/start-editing
/schedule/continue-editing
/schedule/change
/schedule/no-change
что передается при вызове change?
источник

IS

I Scarab in Software Design/Architecture/Zen
Human Human
Чем мои операции не атомарны?

/schedule/start-editing
/schedule/continue-editing
/schedule/change
/schedule/no-change
Тем, что редактирование невозможно без предварительного получения лока, например. Или нельзя закончить редактирование, не начав.
источник

HH

Human Human in Software Design/Architecture/Zen
Алексей Гевондян
что передается при вызове change?
Набор изменений для расписания. Те как его поменять.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Human Human
Набор изменений для расписания. Те как его поменять.
а почему для этого необходим сеанс изменения?
источник

HH

Human Human in Software Design/Architecture/Zen
I Scarab
Тем, что редактирование невозможно без предварительного получения лока, например. Или нельзя закончить редактирование, не начав.
Нельзя получить ресурс если его нет на сервере и кто то его удалил. Это атомарно?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
I Scarab
stateful нужен, если у тебя либо больше одной операции (транзакционность), либо если состояние зависит не только от тебя.
для гарантий доставки нужны подтверждения и пересылка пакетов - уже нужен стэйт. Но тому кто на другом уровне уже можно стэйт не держать и все это скрывается за уровнем абстракции.
источник

HH

Human Human in Software Design/Architecture/Zen
I Scarab
Тем, что редактирование невозможно без предварительного получения лока, например. Или нельзя закончить редактирование, не начав.
Поэтому мы типо прикрываемся тем, что мы не “начинаем редактирование” а “создаем ресурс” и вжух уже атомарно?
источник

IS

I Scarab in Software Design/Architecture/Zen
Human Human
Нельзя получить ресурс если его нет на сервере и кто то его удалил. Это атомарно?
Если просто получить - атомарно. Запрашиваешь файл, получаешь 404, уходишь плакать.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Human Human
Нельзя получить ресурс если его нет на сервере и кто то его удалил. Это атомарно?
атомарное чтение?) никогда о таком не слышал
источник

HH

Human Human in Software Design/Architecture/Zen
Алексей Гевондян
а почему для этого необходим сеанс изменения?
Это по сути банальный лок. Чтобы никто другой не мог менять пока этот лок весит.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
почему нельзя это сделать в рамках одного запроса? зачем межзапросный лок?
источник

HH

Human Human in Software Design/Architecture/Zen
Sergey Protko
атомарное чтение?) никогда о таком не слышал
Я хз в каком контексте тут атомарность)
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
и как сервер отделяет "свой" запрос от "чужого"?
источник

IS

I Scarab in Software Design/Architecture/Zen
Human Human
Поэтому мы типо прикрываемся тем, что мы не “начинаем редактирование” а “создаем ресурс” и вжух уже атомарно?
Ну типа того. Операции с ресурсом сами по себе атомарны, они либо выполняются, либо нет. Прошёл change - ура. Не прошёл - увы.
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
кстати, а чем лок лучше временной/версионной отметки на редактируемых данных?
источник

HH

Human Human in Software Design/Architecture/Zen
Алексей Гевондян
почему нельзя это сделать в рамках одного запроса? зачем межзапросный лок?
Лочит на юзера. Банально лочим объект, потом работаем с ним и отпускаем лок
источник

IS

I Scarab in Software Design/Architecture/Zen
atcq (Алексей)
кстати, а чем лок лучше временной/версионной отметки на редактируемых данных?
Гарантией того, что ресурс никто не поменяет, пока ты с ним возишься.
Версионность - это гвоздь от другой стены.
источник