REST-Архитектура ★ Ключевые моменты разработки REST-API

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ค. 2024
  • На что обратить особенное внимание при разработке REST-приложений.
    Подробная информация об AJAX, структуре ответов в формате JSON, методах HTTP-запросов к серверу и кодах HTTP-ответов. Так же из этого ролика вы узнаете наиболее часто совершаемые программистами ошибки.
    === КРАТКОЕ СОДЕРЖАНИЕ ===
    0:00 Вступление
    0:55 Ajax
    1:20 REST-протокол
    1:55 Понятие "PURE-DATA"
    5:15 Коды ответов
    6:20 Методы запросов
    8:10 Основные ошибки
    === СПРАВОЧНАЯ ИНФОРМАЦИЯ ===
    REST: ru.wikipedia.org/wiki/REST
    AJAX: ru.wikipedia.org/wiki/AJAX
    HTTP: ru.wikipedia.org/wiki/HTTP
    Коды ответов HTTP: ru.wikipedia.org/wiki/%D0%A1%...
    #rest #restapi #restful #ajax #http

ความคิดเห็น • 124

  • @user-uh5zc4hm5x
    @user-uh5zc4hm5x 5 หลายเดือนก่อน

    Доброе время суток. Спасибо за ролик. Укажите плиз, где Вы ведете документирование API? Какой софт используете в проекте?

    • @MasterLid
      @MasterLid  5 หลายเดือนก่อน

      Добрый день. Я кратко упоминал софт для создания документации к REST-апи в этом же видео: Swagger. По нему и по Redoc (другой софт для того же) у меня есть отдельный ролик: th-cam.com/video/LorZ-_tElG8/w-d-xo.html

  • @user-tx5ib9gr9k
    @user-tx5ib9gr9k 3 ปีที่แล้ว +79

    Мужик за 15 минут разъяснил как должно быть ВСЕ!!!
    Не введение в курс по введению - 2 часа.
    Мощно. Мне очень нравится. Побольше бы такого контента ))

  • @Allademet
    @Allademet 3 ปีที่แล้ว +49

    Пересмотрел кучу видосов по RESTу и с полной увереностью хочу сказать что это самый информативный и доходчивый видос на эту тему. Удачи автору

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +1

      Спасибо, бро!

  • @ivanpotapko1531
    @ivanpotapko1531 2 ปีที่แล้ว +2

    Вот кого не смотрел, ничего не понятно. А тут сразу видно, человек понимает все что говорит

  • @riversong9841
    @riversong9841 3 ปีที่แล้ว +9

    Какой колоритный персонаж. Подписалась сразу после фотки леса.

  • @user-sj1ml4yp3o
    @user-sj1ml4yp3o 3 ปีที่แล้ว +3

    мужик, до тебя был на двух каналах с видосами на 15 минут и без смысла, у тебя со старта пошла суть, спасибо!

  • @krasser650
    @krasser650 3 ปีที่แล้ว +20

    Давно ждал ТАКОГО формата подачи информации. Чувствуется, что человек сам прошел через все это, отсюда такие четкие и внятные рекомендации.
    Спасибо!

  • @Rhemaxus
    @Rhemaxus 2 ปีที่แล้ว +8

    Просто великолепная подача материала. Лучшее по данной теме что я встречал в рунете. Спасибо Вам!

  • @user-hd3lx8qc7s
    @user-hd3lx8qc7s 3 ปีที่แล้ว +2

    Человек в загадочном образе вещает умные вещи.

  • @e1.st0rm99
    @e1.st0rm99 3 ปีที่แล้ว +1

    Всё чётко, по полочкам, без лишних слов. Автору респект.

  • @user-sr5fl8vn9z
    @user-sr5fl8vn9z 3 ปีที่แล้ว +3

    Очень хороший материал! Спасибо вам за отличную подачу!

  • @annaschekotikhina3150
    @annaschekotikhina3150 2 ปีที่แล้ว +2

    Все по полочкам! Четко, доступно, информативно. Отличное видео!!!

  • @stellarnexus6649
    @stellarnexus6649 3 ปีที่แล้ว +4

    Хорошее и лаконичное объяснение, спасибо!

  • @comradea8119
    @comradea8119 3 ปีที่แล้ว +3

    Отлично! Весьма информативно и полезно.

  • @AlexandrSpirit
    @AlexandrSpirit 3 ปีที่แล้ว +2

    Тесты - наше всё!
    Когда только начинал писать API на сервере, тестировал через postman. Попробовал тесты написать. Экономия времени колоссальная.

  • @endlessdim6150
    @endlessdim6150 3 ปีที่แล้ว +3

    Спасибо! Качественно и информативно!

  • @ryazhartur
    @ryazhartur 2 ปีที่แล้ว +2

    Отличное видео! Все понятно и объяснено простым языком, спасибо большое)

  • @santex85
    @santex85 3 ปีที่แล้ว +3

    Очень все круто! Себя увидел во многих ситуациях со стороны. Спасибо большое!

  • @user-ls4gh7cq3s
    @user-ls4gh7cq3s 3 ปีที่แล้ว +7

    Спасибо большое, очень хорошая подача. Непонятно почему так мало просмотров(

  • @astepanov83
    @astepanov83 3 ปีที่แล้ว +2

    Шикарно объяснил, отлично. Спасибо.

  • @Andrushenka83
    @Andrushenka83 10 วันที่ผ่านมา

    Хорошо рассказываете. Хо ель бы увидеть уроки по Node Js, express, ,методы и т.п.

  • @MayorKozin
    @MayorKozin ปีที่แล้ว

    Отличная подача материала, залип в лампу, что стоит сзади)

  • @coldtouch9099
    @coldtouch9099 2 ปีที่แล้ว +3

    Круто, по делу и без воды, определенно лайк, подписка🔥👍

  • @dodokwak
    @dodokwak 3 ปีที่แล้ว +2

    Спасибо. Очень ясное изложение.

  • @user-ub2rg3eg8z
    @user-ub2rg3eg8z 2 ปีที่แล้ว +1

    Годный плотный контент без воды
    Приправлено личным опытом

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 ปีที่แล้ว

    Спасибо! Грамотно, кратко и наглядно.

  • @vinogradova82
    @vinogradova82 ปีที่แล้ว +1

    Уже какой раз смотрю ваш этот видос, как же вы правы в этом всем, на счет апи и рест и доки! Спасибо за видос!)

    • @MasterLid
      @MasterLid  ปีที่แล้ว +1

      Большое спасибо за положительную оценку!
      Рад, что мой самый первый ролик, который я снимал просто на пробу, оказался таким востребованным.

  • @ascar66
    @ascar66 3 ปีที่แล้ว +1

    классное видео, все понятно и доступно

  • @Br0omer
    @Br0omer 2 ปีที่แล้ว

    Спасибо!
    Познавательно и доступно!

  • @Alex-yx2ye
    @Alex-yx2ye ปีที่แล้ว

    Все по месту, отличное видео, спасибо.

  • @vitaliidrapaliuk5652
    @vitaliidrapaliuk5652 3 ปีที่แล้ว +1

    очень хорошее видео, спасибо)

  • @JlovenPK1
    @JlovenPK1 3 ปีที่แล้ว +1

    Сильно, мне понравилось!

  • @BearVodkaAndValenki
    @BearVodkaAndValenki 3 ปีที่แล้ว +1

    Отличное объяснение.

  • @user-yw2jv9sz7f
    @user-yw2jv9sz7f 3 ปีที่แล้ว +1

    Оч. Полезно, спасибо

  • @Tenundor
    @Tenundor 3 ปีที่แล้ว +1

    Спасибо. Годное видео.

  • @krekerstna1941
    @krekerstna1941 2 ปีที่แล้ว

    Многое прояснилось, спасибо большое!

  • @user-hb3mm5ol1f
    @user-hb3mm5ol1f 2 ปีที่แล้ว

    Классное видео:) Спасибо.

  • @androidkotlin-6234
    @androidkotlin-6234 2 ปีที่แล้ว +4

    Классная подача!
    Мужик, хочу у тебя учиться. Сам изучаю Java полтора месяца, дошёл уже до Java Core.

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว +1

      Привет. Спасибо за положительный отзыв! : )

  • @yarbersheer8559
    @yarbersheer8559 3 ปีที่แล้ว +2

    Это я удачно зашёл))
    Выражаясь архаично - Аффтар жжёт!!11 Пишы исчо!

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +2

      Салют олдфагам!
      Всенепременно! Пишу!

  • @user-ml5vp6rp9n
    @user-ml5vp6rp9n 2 ปีที่แล้ว

    солидный мистер вещает о тонкостях разработки))) лайк, подписка

  • @ivanstrelka3448
    @ivanstrelka3448 ปีที่แล้ว

    Спасибо. Максимально от души

  • @lilidemini
    @lilidemini 2 ปีที่แล้ว +13

    Очень круто, спасибо огромное!!! Однозначно подписка

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว +3

      Большое спасибо за положительную оценку!
      Если не затруднит, посмотрите и другие ролики с моего канала. Вдруг что еще полезное для Вас найдется. ; )
      Почему-то все смотрят именно этот ролик про REST-архитектуру, хотя я его делал просто для разминки.

    • @JohnDoe-lc3tc
      @JohnDoe-lc3tc ปีที่แล้ว

      @@MasterLid Я начал именно с него, а потом уже решил посмотреть все остальное, так что вы проделали хорошую работу, заинтересовали своим контентом. Спасибо вам!

  • @alldawn8312
    @alldawn8312 3 ปีที่แล้ว

    Автор канала красавчик. Пустыня нервно курит в сторонке!

  • @user-qw9uo4wo5p
    @user-qw9uo4wo5p 3 ปีที่แล้ว +1

    Благодарю 😨🤗

  • @orcsamuro9687
    @orcsamuro9687 11 หลายเดือนก่อน

    Спасибо, было полезно

  • @rabbit7849
    @rabbit7849 2 ปีที่แล้ว

    Отличный контент! думал видео с какого-то канала где хотя бы 500 тыс подписчиков, был удивлен когда увидел намного меньше :)

  • @user-ub2pv8mz8h
    @user-ub2pv8mz8h 2 ปีที่แล้ว +1

    О , крутой образ!

  • @R0MaNbI4-
    @R0MaNbI4- 2 ปีที่แล้ว +1

    Какая классная картинка и монтаж

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว +3

      Спасибо на добром слове! Но на самом деле, конкретно в этом видео самая плохая картинка и самый дурацкий монтаж. Потому что это вообще мой первый ролик. Посмотрите что-нибудь из более свежего. Там тоже много чего интересного! 😉

  • @golgottera8205
    @golgottera8205 3 ปีที่แล้ว +1

    За абстрактный слой - респект!

  • @Roman_jv
    @Roman_jv 2 ปีที่แล้ว +1

    Спасибо)

  • @ilyakharitonov7833
    @ilyakharitonov7833 2 ปีที่แล้ว

    Мужик, целую! Донес суть как боженька!

  • @oldzas
    @oldzas ปีที่แล้ว

    Спс, узнал пару новых моментов

  • @user-jg4ee5sv1d
    @user-jg4ee5sv1d 2 ปีที่แล้ว

    Капец, мужик - ты крут)

  • @TheKolek2009
    @TheKolek2009 3 ปีที่แล้ว +6

    Да благословит тебя Зевс! Продолжай, пожалуйста, наконец-то кто-то всё четко разъяснил!!

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +2

      Ха-ха... Ну Зевс, так Зевс. Спасибо за положительную оценку! : )
      Планов много, так что продолжать обязательно буду.

  • @Th-xo9qr
    @Th-xo9qr ปีที่แล้ว

    Добрый день! Спасибо вам большое за такое развернутое объяснение REST. Только начала изучение серверных запросов, и ваше видео отлично объясняет все нюансы, все мои проблемы. Хорошее видео, спасибо вам большое!!!☺

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      И вам большое спасибо за положительную оценку! Рад был помочь!

  • @eb6006
    @eb6006 3 ปีที่แล้ว +1

    Крутой чувак!

  • @muhammadumarsotvoldiev8768
    @muhammadumarsotvoldiev8768 7 หลายเดือนก่อน

    Спасибо большое

  • @bengunn8365
    @bengunn8365 ปีที่แล้ว

    Спасибо!

  • @ljutiyhren2308
    @ljutiyhren2308 2 ปีที่แล้ว

    Мое почтение. Снимаю шляпу. Ваше Умнейшество.

  • @kitN
    @kitN ปีที่แล้ว

    Мужик, зашел со скепсисом, но глянул минуту и понял, подписка.)

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      Спасибо за положительную оценку! Рад, что контент заходит! : )

    • @kitN
      @kitN ปีที่แล้ว

      @@MasterLid Та нз уважаемый, контент годный это факт :)

  • @user-ny3hp9oe2f
    @user-ny3hp9oe2f ปีที่แล้ว

    Спасибо за интересную подачу. С каждым видео ставится понятнее что к чему. Единственная просьба, меньше перебивок)) Спасибо)

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      Приветствую! Спасибо за комментарий!
      Я уже учёл пожелание насчёт перебивок, и в новых роликах их практически нет.

  • @Qupear
    @Qupear ปีที่แล้ว +2

    Отлично. Было бы даже чуть лучше, по возможности, если бы слайды с текстом растягивали где-то на 90% ширины кадра. Например 14:18 я вижу заголовки, но чтобы увидеть код, надо напрячь зрение.

  • @MrPieNo1
    @MrPieNo1 3 ปีที่แล้ว +6

    А ютуб иногда что-то хорошее предлагает!
    Я чейчас учу DjangoRestFramework, подобный контент помогает разобраться в сути API, а в частности и RestApi.

  • @bbrother92
    @bbrother92 2 ปีที่แล้ว

    За костюм подписка😀 Еще хотелось б узнать больше о вас: какой типичный день, типичные задачи которые перед вами стоят

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว +1

      Только за костюм? : )
      День как день, ничего особенного. Работаю удалёнщиком в довольно крупной российской компании. Занимаюсь фронтендом на ангуляре.

    • @bbrother92
      @bbrother92 2 ปีที่แล้ว

      @@MasterLid чтож тогда ждем уроки по фронту)

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว

      Всё будет.

  • @DRanduletti
    @DRanduletti 3 ปีที่แล้ว +6

    Четко и понятно. Большое спасибо! Сразу виден практический опыт.
    Вопрос: можно ли наличие swaggera считать документацией?

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +4

      Да, разумеется. Речь именно о том, чтобы облегчить работу фронтенд-разработчикам или тем, кто будет использовать ваше REST-API. Сваггер или редок вполне для этого годятся.

  • @PrettyStreet-xx9if
    @PrettyStreet-xx9if ปีที่แล้ว

    Главный герой фильма "Заводной апельсин", рассказывает про REST API

  • @user-vt5zm8fn3d
    @user-vt5zm8fn3d 2 ปีที่แล้ว +1

    Добрый вечер. Спасибо за дельные советы, чувствую опыта у Вас было предостаточно. Посоветуйте книгу или ресурс для чтения.

  • @petrivanovich7699
    @petrivanovich7699 3 ปีที่แล้ว +1

    Спасибо. Интересно. Вот только звуковая заставка в конце очень громкая.

  • @Anton-kh9bj
    @Anton-kh9bj 3 ปีที่แล้ว +2

    Спасибо, объяснения просто отличные!
    Хотелось бы вводные видео по технологиям nginx и kafka, но это наверно не ваш профиль?

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +1

      Ну почему ж не мой, вполне себе мой. Надо подумать. Спасибо за запрос!

    • @dodokwak
      @dodokwak 3 ปีที่แล้ว +1

      @@MasterLid присоединяюсь к челобитной. про кафку не знаю, а про nginx очень прошу.
      особенно интересует, как разместить 2 pet проекта на django на одном nginx (не сколько из-за жадности, сколько из желания сэкономить пока нет источника постоянного дохода). спасибо.

  • @bekzatabdysatarov1041
    @bekzatabdysatarov1041 ปีที่แล้ว

    Понял то что, без знания яп смотреть не стоит.

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z ปีที่แล้ว

    😎😏

  • @user-dc9zg4ew6h
    @user-dc9zg4ew6h 2 หลายเดือนก่อน

    Отличное объяснение! Без воды и исчерпывающее. Используется ли метод PATCH в рест апи?

    • @MasterLid
      @MasterLid  2 หลายเดือนก่อน +1

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

  • @StuBz211
    @StuBz211 2 ปีที่แล้ว

    От человека в таком прикиде я бы мог ожидать ультранасилия (заводной апельсин), но не как разговоры про rest))

  • @Garivprogari
    @Garivprogari ปีที่แล้ว

    удивил ++++++++++++++++++++

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      В смысле "удивил"? Мы знакомы? Мы с вами на "ты"?

    • @Garivprogari
      @Garivprogari ปีที่แล้ว

      @@MasterLid думал опять бабер а нет оказался нормальный вот и удивил

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      Даже не знаю, что на это сказать. Пока в раздумьях, не отправить ли вас в бан.
      Не комментируйте не по делу, будьте так любезны!

  • @AlexandrSpirit
    @AlexandrSpirit 3 ปีที่แล้ว +2

    Неужели бекенду сложно прикрутить Swagger для автогенерации документации к API

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +1

      Как ни странно, не для всех очевидно, что документация к REST API обязательна. Не важно, написана она вручную или сгенерирована автоматически.
      Кстати, про создание документации к REST API с помощью сваггера у меня есть видео: th-cam.com/video/LorZ-_tElG8/w-d-xo.html

    • @AlexandrSpirit
      @AlexandrSpirit 3 ปีที่แล้ว +1

      @@MasterLid я бэкенд на FastAPI реализую. Сваггер там встроен.
      Но спасибо

  • @sgp3815
    @sgp3815 3 ปีที่แล้ว

    Черноголовке, вот это да.
    Я из Ногинск - 9

    • @MasterLid
      @MasterLid  3 ปีที่แล้ว +1

      Салют землякам! : )

  • @animalslon9567
    @animalslon9567 2 ปีที่แล้ว

    Оо
    Ты обьясняешь как Хасподь

  • @avel8965
    @avel8965 2 ปีที่แล้ว

    Когда пройду собес и устроюсь джуном, хочу такого сеньора рядом. Чтобы меня грузили 24 на 7. Через 2 года буду ветераном боевым действий на фронте.

  • @obychy_chelovek
    @obychy_chelovek ปีที่แล้ว

    Бэкендер, ищу фронтендера, чтобы делать пет-проджекты, хочу интернет-магазин вязаных вещей запилить. Сори, хз просто где ещё товарищей искать х)

  • @bohdanvovkotrub1314
    @bohdanvovkotrub1314 ปีที่แล้ว

    Если я хочу оповещать какую-то группу пользователей в почте о каких-нибудь изменениях (например, какой-то пользователь создал новый запрос и кому-то другому приходит сообщение «к вам поступил новый заказ»),
    то по-правильному сервис оповещений должен быть отдельным сервисом, например каким-нибудь “Notification API”, и наш сервер API должен к нему обращаться после регистрации нового заказа или пусть наш сервер API сразу отправляет в почту сообщение? В будущем помимо почты мы ещё можем захотеть telegram использовать или что-нибудь другое. Как правильно сделать?
    Спасибо!

    • @MasterLid
      @MasterLid  ปีที่แล้ว +1

      Не очень понятно, какое отношение ваш вопрос имеет к теме данного ролика, но ладно...
      Если у вас уже микросервисная архитектура, то сделайте службу оповещений отдельным сервисом. Если у вас монолитная архитектура, и вы планируете перейти на микросервисы, то попробуйте опять же первый вариант (отдельный сервис). Если у вас монолит, и на микросервисы вы переходить не планируете, то просто допишите этот функционал к вашему монолиту.

    • @bohdanvovkotrub1314
      @bohdanvovkotrub1314 ปีที่แล้ว

      @@MasterLid спасибо за ответ!

  • @itcloudguy
    @itcloudguy ปีที่แล้ว

    Всё хорошо. Очень полезные советы из практики. Спасибо. Но почему для чтения докуметнации вы отсылаете на Википедию? По вашему ИТ-специалистам документацию нужно читать именно там? :) Не кажется ли вам это странным советом?

    • @MasterLid
      @MasterLid  ปีที่แล้ว

      Я отсылаю не в Википедию вообще, а конкретно на статью по HTTP-протоколу и кодам ответов. Я хорошо знаю эту статью, пользовался ею, и могу смело рекомендовать к прочтению.

  • @nikolaifedorov685
    @nikolaifedorov685 ปีที่แล้ว

    Про документацию смешно всегда было)

  • @I248
    @I248 ปีที่แล้ว

    звук в перебивках прям по мозгу царапает

  • @eugenechernyshenko4933
    @eugenechernyshenko4933 2 ปีที่แล้ว

    Зачем дублировать код ответа http в payload?

  • @mediontamginskii5889
    @mediontamginskii5889 3 ปีที่แล้ว +1

    Да епрст все так просто??? Все время гадал почему РЕСТ зачем РЕСТ почему HR с таким умным и непроницаеымым лицом спрашивает про это? а ты барахтаешься и толком ничего не можешь ответить потому как нихера сам не понимал!!! А тут как то обидно даже. Случайно понял что такое РЕСТ!!!

  • @NoName-oh9fh
    @NoName-oh9fh 2 ปีที่แล้ว

    Всегда возвращать 200 плохая практика.

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว

      Аргументы? Почему это плохо?

    • @NoName-oh9fh
      @NoName-oh9fh 2 ปีที่แล้ว +1

      @@MasterLid имхо. Некоторые JS пакеты работающие с запросами ajax из коробки имеют логику для работы с кодами состояния, что избавляет писать от своих кастомных обработчиков/парсеров. Тоже самое скажу про фреймворки http nodejs, они все это имеют из коробки. Зачем тогда себя мучать?) Тем более раз есть такая фишка, почему бы не использовать и не избавится от метода, когда всегда возвращаете 200.
      Дальше, когда разрабатываем апи, клиенты не должны зависеть от нас. В данном случае, когда сервер возвращает код состояния 200 и json status. Все клиенты зависят от такого ответа сервера, что я считаю плохо.

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว +1

      Если вы используете какой-то готовый клиент, то, разумеется, вы должны под него подстраиваться. Если вы проектируете архитектуру от и до, и серверную часть и клиентскую, то разницы никакой нет. Лично я предпочитаю код ответа делать в соответствии с HTTP-протоколом (т.е. не всегда возвращать ответ 200, как вы и пишете). Но это только потому, что мне проще объяснить этот вариант бэкенд-разработчику, ткнув его в статью в википедии и не тратя время на долгие объяснения.

  • @zond_amond
    @zond_amond 2 ปีที่แล้ว

    только не отправляйте людей в википедию, это как на х.. послать.

    • @MasterLid
      @MasterLid  2 ปีที่แล้ว

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

    • @zond_amond
      @zond_amond 2 ปีที่แล้ว

      @@MasterLid да ничего, это не критика, скорее предложение. Просто правильнее было бы нормальную ссылку разместить на качественную статью по каждой из тем

    • @lexbekker
      @lexbekker 2 ปีที่แล้ว

      ​@@zond_amond​правильнее искать нужную тебе информацию

  • @hdhhehehjdjdjjd3982
    @hdhhehehjdjdjjd3982 ปีที่แล้ว

    Писать тесты - это скучно))) Тестировщики такие - Уууууууууу

  • @raccoon8230
    @raccoon8230 ปีที่แล้ว

    Спасибо!