Что такое идемпотентность, или история Васи и его приложения

Поделиться
HTML-код
  • Опубликовано: 20 июн 2021
  • В этом необычном формате статьи мы узнаем историю разработчика Васи, и как он применял идемпотентность при создании приложения для заказа такси. Автор статьи - руководитель одной из бэкенд групп в Яндекс.Такси, который придумал историю некого Васи-стажёра, чтобы на реальных ситуациях показать, с какими сложностями можно столкнуться при разработке приложений, и как с ними справляться с помощью идемпотентности.
    Из статьи узнаем:
    - Что такое идемпотентность?
    - Как применять идемпотентность?
    - Что такое ключ идемпотентности (idempotency key)?
    - Какие методы идемпотентны, а какие нет?
    - Когда нужно применять идемпотентность?
    - Какие запросы должны быть идемпотентны?
    - Использование идемпотентности на реальном примере.
    Listen IT на Я.Дзене - zen.yandex.ru/listenit
    Поддержать канал разово - yoomoney.ru/to/410012243709514
    Поддержать канал подпиской - boosty.to/listenit
    Телеграм-канал - t.me/listenit_channel
    По вопросам сотрудничества - t.me/ed_akimov
    Ссылка на статью - habr.com/ru/company/yandex/bl...
    Различия REST и SOAP за 4 минуты - • Различия REST и SOAP з...
    Введение в REST API за 7 минут - • Введение в REST API за...
    Что такое Swagger и OpenAPI за 3 минуты - • Что такое Swagger и Op...
    Что такое middleware за 7 минут - • Что такое middleware з...
    Различия SOA и микросервисной архитектуры за 9 минут - • Различия SOA и микросе...
    Что такое HATEOAS за 4 минуты - • Что такое HATEOAS за 4...
    Что такое Code First подход за 4 минуты - • Что такое Code First п...
    Что такое Contract First подход за 4 минуты - • Что такое Contract Fir...
    Что такое CI/CD - • Что такое CI/CD? Разби...
    Что такое Docker за 5 минут - • Что такое Docker за 5 ...
    Что такое Kubernetes за 9 минут - • Что такое Kubernetes з...

Комментарии • 32

  • @StefanEtre
    @StefanEtre 3 года назад +31

    Очень интересно) спасибо, что делаете такие видео. Особенно мне нравится ваше визуальное оформление)🔥

    • @ListenIT_channel
      @ListenIT_channel  3 года назад +2

      Спасибо, приятно слышать, рады что нравится :)
      Стилистика из старой пиксельной игры Поле Чудес никогда не устаревает) 💪👾

  • @emilvafin436
    @emilvafin436 Год назад +9

    Пример очень хороший. Мне как новичку стало гораздо понятнее что это и с чем едят 🔥

  • @user-lg2ks6rv9m
    @user-lg2ks6rv9m 2 года назад +11

    На удивление мало просмотров для довольно качественного ролика с полезным материалом

  • @DeMMIs
    @DeMMIs 3 года назад +21

    Спасибо большое за видео и в целом за то что вы делаете:)
    К таким длинным видео было бы неплохо добавить дополнительных иллюстраций примеров, так как довольно сложно одновременно визуализировать пример бага и в то же время понять что к чему и зачем(если это видео смотрит новичок по типу меня), и из-за этого хочется просто перейти к текстовой версии.

    • @ListenIT_channel
      @ListenIT_channel  3 года назад +1

      Спасибо, что слушаете нас :)
      В принципе, все иллюстрации и примеры вызовов, которые есть в текстовой версии, мы добавили в презентацию, но идея понятна - будем учитывать 👌

  • @nerewan
    @nerewan 2 года назад +10

    спасибо!
    но при просмотре о-о-очень не хватало графического отображения того, что происходит
    да, канал, как видно из названия, про "послушать", но объёмные штуки немного сложно воспринимать чисто на слух (например, 8-ю главу)

  • @alonealone6368
    @alonealone6368 2 года назад +4

    Просто огонь! Больше такого !!!

  • @faststart6409
    @faststart6409 2 года назад +3

    Просто лучшенький.
    Спасибо больше очень доступно

  • @svetlanamazhaykina6918
    @svetlanamazhaykina6918 Год назад +5

    Спасибо за Ваш труд! Коммент в поддержку канала

    • @ListenIT_channel
      @ListenIT_channel  Год назад

      Спасибо, очень приятно! Стараемся!

  • @user-ut2ii3qi6x
    @user-ut2ii3qi6x Год назад +1

    Благодарю вас. Очень полезное видео.

  • @andyanderson222
    @andyanderson222 Год назад +2

    Шикарное объяснение!

  • @user-kw7vn6vd8k
    @user-kw7vn6vd8k Год назад +1

    Спасибо автору! Очень круто!!!

  • @user-ew2pd6fq8j
    @user-ew2pd6fq8j Год назад +2

    Топ, качественно!

  • @denissh5234
    @denissh5234 Год назад +1

    Очень круто и полезно

  • @user-xv3gn9nr9k
    @user-xv3gn9nr9k Год назад +1

    Спасибо!

  • @rents34
    @rents34 11 месяцев назад +1

    Всем собесящимся в тинковъ смотреть обязательно)

  • @ShulV
    @ShulV Месяц назад +1

    👍👍👍👍

  • @VitMS1
    @VitMS1 Год назад +1

    Очень интересная тема, хотел е на пальцах понять, но визуализации не хватает, в итоге, на слух плохо воспринимается, на половине ролика пришлось выключить - пойду другое видео искать, где есть, инфо-графика, а жаль, интересно было.

  • @nikolay4362
    @nikolay4362 7 месяцев назад

    обязательно надо сказать про пончики и кофе

  • @mdayzz
    @mdayzz 2 месяца назад +1

    А есть среди зрителей этого видео такие же любители мазохизма, которые 4 часа пытались понять разницу между PUT и PATCH с точки зрения идемпотентности?
    (Я так и не смог осознать почему PUT идемпотентен, а PATCH нет, поэтому знающие люди, молю 🙏

    • @ListenIT_channel
      @ListenIT_channel  2 месяца назад +2

      Тут дело в том, что PUT заменяет текущую версию ресурса на сервере, т. е. если несколько раз сделать один и тот же PUT, то результат не изменится, т. к. ресурс полностью заменяется той версией, которую мы присылаем в запросе PUT. А вот PATCH меняет только часть ресурса, и тут его идемпотентность сильно зависит от того, что именно мы пришлём в запросе. Т. е. в PATCH мы присылаем некую "инструкцию", что и с каким атрибутом ресурса мы хотим сделать. И если эта инструкция простая, то в целом, при нескольких повторных запросах PATCH может привести к одному результату (например, "сделай атрибут price=1000"), но ключевой момент здесь в том, что совсем необязательно, что эта "инструкция" будет простой в PATCH-запросе - она может выглядеть как "уменьши атрибут price на 50" - тогда каждый такой повторный запрос PATCH будет приводить к новому состоянию ресурса, т. к. каждый запрос будет уменьшать price на 50.
      Получается, PATCH может быть идемпотентным, но вообще не факт, что он будет идемпотентным - всё зависит от самого запроса.

  • @indristwetrust
    @indristwetrust Год назад +3

    Ребят, а подкаст есть?

    • @ListenIT_channel
      @ListenIT_channel  Год назад +5

      Всё планируем, но пока нет. Но круто, что кому-то это нужно в виде подкаста, буду учитывать!

    • @indristwetrust
      @indristwetrust Год назад +4

      @@ListenIT_channel такой формат просто хорошо заходит для подкаста

  • @user-nr4to4mp1y
    @user-nr4to4mp1y 6 месяцев назад

    К каждому кейсу б наглядную схему
    Ну да ладно. Все равно понятнее ничего пока нет🤷‍♂️

  • @100kgstyle9
    @100kgstyle9 8 месяцев назад +1

    В целом вторая половина видео еле еле на слух воспринимается

  • @user-ut2ii3qi6x
    @user-ut2ii3qi6x Год назад +1

    И сколько за все это "Вася" смог получить?

  • @dashkevi4Mike
    @dashkevi4Mike 9 месяцев назад

    Статья заслуживает места в золотом пантеоне