не могу вспомнить термин
От: cruse  
Дата: 05.02.13 12:03
Оценка:
Помню когда читал доки по RabbitMQ, там рекомендовалось строить обмены таким образом, чтоб повторно принятое сообщение не приводило к некорректному поведению. Как это реализуется, вопрос другой. Главный вопрос, термин, который говорит о таком свойстве обмена или данных.

PS. Точно помню, что не приснилось, но из головы вылетело. Перечитал доку на сайте, но так и не нашел. Возможно это было в какой-то другой доке или статье, коих немало читано.
Re: не могу вспомнить термин
От: SergH Россия  
Дата: 05.02.13 12:05
Оценка: 4 (2) +2
Здравствуйте, cruse, Вы писали:

C>Помню когда читал доки по RabbitMQ, там рекомендовалось строить обмены таким образом, чтоб повторно принятое сообщение не приводило к некорректному поведению. Как это реализуется, вопрос другой. Главный вопрос, термин, который говорит о таком свойстве обмена или данных.


C>PS. Точно помню, что не приснилось, но из головы вылетело. Перечитал доку на сайте, но так и не нашел. Возможно это было в какой-то другой доке или статье, коих немало читано.


идемпотентность
Делай что должно, и будь что будет
Re[2]: не могу вспомнить термин
От: jazzer Россия Skype: enerjazzer
Дата: 06.02.13 03:24
Оценка:
Здравствуйте, SergH, Вы писали:

SH>идемпотентность


вау

всегда говорил "игнорирование дубликатов" и все меня всегда понимали
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: не могу вспомнить термин
От: cvetkov  
Дата: 06.02.13 05:05
Оценка:
Здравствуйте, jazzer, Вы писали:

SH>>идемпотентность

J>вау
J>всегда говорил "игнорирование дубликатов" и все меня всегда понимали
это не совсем одно и то-же.
игнорирование дубликатов это скорее реализация.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[3]: не могу вспомнить термин
От: cvetkov  
Дата: 06.02.13 05:12
Оценка:
Здравствуйте, jazzer, Вы писали:

SH>>идемпотентность

J>вау
J>всегда говорил "игнорирование дубликатов" и все меня всегда понимали
это не совсем одно и то-же.
игнорирование дубликатов это скорее реализация.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re: не могу вспомнить термин
От: dilmah США  
Дата: 06.02.13 05:56
Оценка:
главное, с нильпотентностью не перепутай, а то похеришь все нафиг
Re[4]: не могу вспомнить термин
От: cruse  
Дата: 06.02.13 07:22
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>Здравствуйте, jazzer, Вы писали:


SH>>>идемпотентность

J>>вау
J>>всегда говорил "игнорирование дубликатов" и все меня всегда понимали
C>это не совсем одно и то-же.
C>игнорирование дубликатов это скорее реализация.

Да, реализация/применение. На той же вики приводиться пример GET запросов к http серверу. Пока ресурс не изменился, по спецификации, результат один и тот же, соответственно можно кэшировать.
Re[2]: не могу вспомнить термин
От: cruse  
Дата: 06.02.13 07:25
Оценка:
Здравствуйте, dilmah, Вы писали:

D>главное, с нильпотентностью не перепутай, а то похеришь все нафиг


Попытался понять суть этого свойства, не получилось. Старость — не радость
Re[5]: не могу вспомнить термин
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.02.13 05:29
Оценка:
Здравствуйте, cruse, Вы писали:

C>Да, реализация/применение. На той же вики приводиться пример GET запросов к http серверу. Пока ресурс не изменился, по спецификации, результат один и тот же, соответственно можно кэшировать.

Нет. Get — это safe запрос, т.е. у него не должно быть побочных эффектов. У идемпотентного метода побочные эффекты могут быть, но повторное исполнение не меняет уже достигнутый результат.
Читать http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: не могу вспомнить термин
От: dilmah США  
Дата: 12.02.13 06:08
Оценка:
D>>главное, с нильпотентностью не перепутай, а то похеришь все нафиг

C>Попытался понять суть этого свойства, не получилось. Старость — не радость


это задумывалось как искрометная шутка, от которой к этому времени я ожидал не менее десятка смайликов чистой прибыли

идемпотентность это термин из алгебры, означающий свойство элементов, удовлетворяющих условию a*a=a
Традиционны и интересны случаи, когда этими элементами являются преобразования, а операцией * -- композиция преобразований.
То есть идемпотентные преобразования это те, двухкратное применение которых не отличается от однократного применения.

Если у нас есть сервер, то каждому приходящему сообщению соответствует преобразование на множестве состояний сервера.
Соответственно, сервер обладает свойством идемпотентности, когда любое такое преобразование идемпотентно.

Нильпотентность это свойство a*a*...*a=0
Где ноль это нулевое преобразование, которое все уничтожает.
Re[3]: не могу вспомнить термин
От: Константин Россия  
Дата: 12.02.13 06:15
Оценка: +1
Здравствуйте, cruse, Вы писали:

D>>главное, с нильпотентностью не перепутай, а то похеришь все нафиг

C>Попытался понять суть этого свойства, не получилось. Старость — не радость

Нильпотентное преобразование, применённое некоторое конечное число раз обращает всё в 0. Например, покоординатный сдвиг обладает этим свойством:
A:        (a, b, c, d) -> (0, a, b, c)
A*A :     (a, b, c, d) -> (0, 0, a, b)
A*A*A :   (a, b, c, d) -> (0, 0, 0, a)
A*A*A*A : (a, b, c, d) -> (0, 0, 0, 0)
то есть A*A*A*A = 0
Re[6]: не могу вспомнить термин
От: cruse  
Дата: 12.02.13 19:35
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Нет. Get — это safe запрос, т.е. у него не должно быть побочных эффектов. У идемпотентного метода побочные эффекты могут быть, но повторное исполнение не меняет уже достигнутый результат.

S>Читать http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Эээ, ладно, пример в вики скользкий.

PS. Слово "должно" у тебя что означает? Не имеет, Не рекомендуется..
Re[7]: не могу вспомнить термин
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.02.13 06:43
Оценка:
Здравствуйте, cruse, Вы писали:

S>>Читать http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

C>Эээ, ладно, пример в вики скользкий.
C>PS. Слово "должно" у тебя что означает? Не имеет, Не рекомендуется..
Означает, что пользователь (user-agent) имеет право полагаться на то, что побочных эффектов нет.
То есть, сервер, конечно же, может применять различные побочные эффекты в ответ на safe-запрос (например, подсчёт статистики), но не стоит делать там ничего существенного. Подробнее эта концепция описана в документе, на который я сослался.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: не могу вспомнить термин
От: cruse  
Дата: 13.02.13 07:10
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, cruse, Вы писали:


S>То есть, сервер, конечно же, может применять различные побочные эффекты в ответ на safe-запрос (например, подсчёт статистики), но не стоит делать там ничего существенного. Подробнее эта концепция описана в документе, на который я сослался.


Вот-вот, should not — не стоит. Просто слово должен, мне не понятно в принципе.
Статью я конечно же прочитал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.