Разбираюсь в API крутых команд

Поділитися
Вставка
  • Опубліковано 18 вер 2022
  • #soer #itubeteam
    Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
    Спонсорство - donate.s0er.ru
    Сайт платным контентом - soer.pro
    Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
    GitHub - github.com/soerdev
    Чат для программистов - / discord
    Группа ВК - codeartblog

КОМЕНТАРІ • 65

  • @user-kw4kp7eq9m
    @user-kw4kp7eq9m Рік тому +1

    Спасибо за очень хорошое объяснение!

  • @artursveshnikov7668
    @artursveshnikov7668 Рік тому +3

    Супер тема, надеюсь дальше будешь продолжать подобное. Это не какие-то библиотечки одногодки, это основа, которой на ютубе мало, потому что не хайповая.

  • @ruslanboroda5145
    @ruslanboroda5145 Рік тому

    Огромное спасибо за информацию!

  • @sovrinfo
    @sovrinfo Рік тому

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

  • @kl45gp
    @kl45gp Рік тому +1

    как всегда - про

  • @ILICH1980
    @ILICH1980 Рік тому +31

    посмотрел и понял что это не про построение а про то как сделано описание АПИ )))

    • @sergeyvas123
      @sergeyvas123 Рік тому

      Там вообще про АПИ ни слова, там про API.

  • @serggorod1423
    @serggorod1423 Рік тому

    Смотреть некогда, но лайк ,комент , и до встречи в будущем... Апи НУЖНО! СПС!

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 8 місяців тому

    Спасибо

  • @seoonlyRU
    @seoonlyRU Рік тому +1

    просто с ходу лайк от СЕООНЛИ

  • @apdgslfhsodbna
    @apdgslfhsodbna Рік тому +4

    Я работаю в компании, которая занимается интеграцией своих программных продуктов в ERP заказчиков с учётом пожеланий, из-за этого все api разрабатываются быстро и не хватает времени на то, чтобы хорошо их продумать, да и заказчики постоянно вносят изменения в протокол 🥲

  • @ArtiomKravchenko
    @ArtiomKravchenko Рік тому +2

    Swagger надо, чтоб был источник актуальных данных. Ну и чтоб разработчики его исправно вели )
    Ну или чтоб кто-то один отвечал за обновление коллекции Постман и ее расшаривал на общем ресурсе )

  • @user-fx9nv1wu5q
    @user-fx9nv1wu5q Рік тому +1

    Посоветуйте, пожалуйста, курсы по продуктовой аналитике
    Про какие можно почитать ?
    Буду очень благодарен!

  • @MrAnetto
    @MrAnetto Рік тому +4

    По Salesforce не соглашусь. Соер говорит про неконсистентное API без примеров, что "это не страшный технический долг и продолжение от этого падать не будет". Таки будет, потому что клиентское приложение писать становится сложнее - нет примеров. Возможно, у них документация этот вопрос закрывает, но всё же иметь примеры ручек упрощает жизнь и уменьшает двусмысленность

  • @tesority
    @tesority Рік тому +10

    кто мне объяснит, почему все делают частичное редактирование ресурса через PUT, а не PATCH? PUT - это замена (полностью) существующего ресурса другим (либо идемпотентное создание, если ресурс не существует), PATCH - частичное обновление. приведу пример: есть ресурс {id:1, name:Test}, мы хотим заменить имя на "NewTest". после PUT {name:NewTest}, ресурс будет равен: {name:NewTest}. после PATCH {name:NewTest}, ресурс равен: {id:1, name:NewTest}.

    • @qwiting
      @qwiting Рік тому +2

      Тоже задавался данным вопросом

    • @sancocaparelli9732
      @sancocaparelli9732 Рік тому +1

      Введи в поиске "Why would you use PUT instead of PATCH?". Первым делом должна появиться страничка с StackOverFlow. Там описано. Если коротко - пользоваться PUT безопаснее, чем PATCH, потому что PUT идемпотентен, а PATCH - нет и может иметь сайд эффекты.

    • @tesority
      @tesority Рік тому +2

      нашел ответ в статье "Please. Don't Patch Like That.". метод PATCH в теле запроса несет не данные ресурса, а операции, которые нужно сделать с ресурсом для его обновления (пример есть в статье).

    • @katetometr
      @katetometr Рік тому

      @@sancocaparelli9732 Как сделает бекендщик. так и будет, с-без сайдэффектов. Гугл. н-р, почти везде в своих апи юзает patch

    • @evilQuister
      @evilQuister Рік тому

      Он просто не вписывается в концепцию REST, использовать/не использовать - это на плечах архитектора, в зависимости от требуемых задач.

  • @mbalukh
    @mbalukh Рік тому +1

    все до 2х сотой являются положительным ответом и можно экономить ресурсы используя резервы от 200 до 299

  • @eugeneponomarov7429
    @eugeneponomarov7429 Рік тому +1

    Хм, так вроде SHOW это как раз-таки по стандарту работы с ресурсом, разве нет? (GET, POST, GET (show by id), PUT, DELETE)

    • @artursveshnikov7668
      @artursveshnikov7668 Рік тому +1

      Это слово путает разработчиков. С get все ясно и понятно. А что такое show?. Можно отправить post rpc запрос show on server my local logs. Или ещё что-то. По сути это не гет запрос, а пост запрос на вызов процедуры где-то там. А в другой директории может быть другой show но уже get. Типа showUserById. И как потом в этом зоопарке разобраться? Вот что имел ввиду соер.

  • @pompei2
    @pompei2 Рік тому +4

    А как проектировать АПИ, если заранее не известна структура? Например: вначале есть физическое лицо, продажа и запрос. Потом надо добавить юридическое лицо - уже после внедрения на прод. Притом у юридического лица почти всё одинаковое, кроме некоторых полей. И параллельно выясняется, что запросы нужно делить по общей сумме: при малых суммах всё как сейчас, а при большых добавляется проверки в полиции и пр. И для этих проверок нужна дополнительная инфраструктура. Ввели второй этап. А на третьем этапе выясняется новая тема, которая вообще не планировалась, но она сильно нужна, потому что много даёт денег - запрсы в китай - а там вообще всё по другому. Как пректировать АПИ столь динамично развивающихся систем? Притом заранее известно, что система будет сильно менятся на проде, но не известно в какую сторону?
    P.S. Это ситуация из реальной жизни.

    • @user-vq5vb7tz8v
      @user-vq5vb7tz8v Рік тому

      Вы только что описали как работает 1с)

    • @pompei2
      @pompei2 Рік тому

      @@user-vq5vb7tz8v 😂

    • @pompei2
      @pompei2 Рік тому

      @@user-vq5vb7tz8v я вообще спрашиваю серьёзно. Есть клиент, который готов платить - это живые деньги, которые можно забрать себе - и у него горит, т.е. он готов тебе их отдать. И глупо их не взять. Поэтому нужно быстро разработать маленькую систему и пустить её в прод. Притом это крупный клиент, и он точно будет хотеть больше. И нужно сделать так, чтобы новая система могла расти дальше... в любую сторону. ЭТО РЕАЛЬНОСТЬ. и в ней приходиться жить, и проектировать...

    • @user-zt2ob3le7e
      @user-zt2ob3le7e Рік тому

      Ну, тут либо смириться и не претендовать на звание "хороший" API, предупреждать всех, что рано или поздно начнутся проблемы. Либо, как мне кажется, просто все серьёзные апдейты должны быть в новой версии API, под которую пишется новая версия клиента. Да, если "нужно было вчера выкатить фичу", такое не прокатит, но тут не удастся и рыбку съесть и ..., ну вы понимаете.

    • @indigoram89
      @indigoram89 Рік тому +2

      Как вариант - думать наперёд и задавать правильные вопросы заказчику ))

  • @N5O1
    @N5O1 7 місяців тому

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

  • @serggorod1423
    @serggorod1423 Рік тому +1

    Хорошо бы разбор апи , есп32 прожектов разбор!

    • @kalobyte
      @kalobyte Рік тому +1

      там json гоняют так же как на обычных проектах
      есть конечно те, кто генерит хтмл, но это только потому, что он не в курсе построения приложений на современных вебтехнологиях

    • @serggorod1423
      @serggorod1423 Рік тому

      @@kalobyte это просто для тех хто знает... Тем и так всё понятно!
      Не любил ни когда преподавателей которым и так всё понятно... Одной рукой пишет, другой стирает... Зачем что-то объяснять!
      У меня уровень базиса С и Срр стм32cmsis ... Щас смотрю индуса и британца... стал чучуть понимать ВСкод....и то что прощеVS чемЕклипс(,експресиф)!
      Про то как доставать поля из jsonпакетов... Перехватывать их ПостМен.... и тестировать!
      Приходится смотреть 4 канала ... 2 по железу... 2 по вёрстке...и догадывался где с чем пересекается!

    • @kalobyte
      @kalobyte Рік тому +1

      @@serggorod1423
      🤣 можеш посмотреть, на какие каналы я подписан и что мне приходится смотреть
      ты еще не смотрел ролики по реакту
      но если ты пишеш под стм32 и на фреймворке производителя, то осилить веб будет намного проще
      ты можеш сначала написать свой рестапи на есп и тестировать его постманом
      в вскоде есть плагин для тестирования рестапи
      а потом можеш отдельно писать вебморду и тестировать на компутере ее, а бекенд будет уже работать на есп
      как только все заработает нормально, то можеш всю вебморду запаковать и залить в есп как обычно делается
      есть готовые фреймворки, где за тебя уже кучу всего сделали и надо только все компоненты собрать в кучу и минифицировать при помощи вебпака или галпа
      можеш посмотреть например такую штуку как lte admin

    • @serggorod1423
      @serggorod1423 Рік тому

      @@kalobyte спасибо посмотрю плагин в Вс.
      Звучит ка план! Но всегда легче идти по чужим следам.
      Люблю все функции писать / понимать сам без фреймов... Понимать все что написано...требует "очень много времени исследовать каждый пядь земли.... Кто бы прошёл показал сад, кто знает"

    • @kalobyte
      @kalobyte Рік тому +1

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

  • @user-sv1ze9gk3b
    @user-sv1ze9gk3b Рік тому

    +

  • @petrplotnikov4307
    @petrplotnikov4307 Рік тому +1

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

    • @freedomtv2295
      @freedomtv2295 Рік тому

      Я поработал какое время в русскоязычной команде, какое то время в польской и сделал такой вывод: хоть английский поначалу и сложнее для восприятия, это единственное верное решение для наименования. Всё остальное это кринж, бегите оттуда))

  • @interstellarv0id
    @interstellarv0id Рік тому +2

    Каналы про программирование они как каналы про качалку, зайди через 5 лет, а там один фиг основы ооп, рест апи 😂. Соер, тут один фиг 5 лямов просмотров не будет, давай уже про шардинг микросервисов, CDC, сравнение native у популярных фронтенд фреймворков.

    • @artursveshnikov7668
      @artursveshnikov7668 Рік тому +2

      Фронтендеров с их js недофреймворками на ютубе как 💩 на свалке. А Соер интересно и наглядно все рассказывает. Это архитектурные основы которых тут как раз мало, потому что они не хайповые, как например несчастные хуки в реакте, или супер пупер "новые" технологии по загаживанию фронтенда джаваскриптом.

    • @interstellarv0id
      @interstellarv0id Рік тому

      @@artursveshnikov7668 это основы изучаются на втором уроке любых недокурсов и гуглятся на раз два, а набитые шишки в выборе нейтив фреймворка за 100 500 исследований человеко-часов соера и его команды избавят от кучи гемора и набивания шишек. В идеале узнать инфы за которую работодатель соера выложил сотню другую тысяч баксов ))

    • @artursveshnikov7668
      @artursveshnikov7668 Рік тому

      @@interstellarv0id эти основы если где и изучаются, то очень поверхностно. Я к тому, что на Ютубе мало кто эту тему вообще затрагивает. А фронтенд Фреймворками он завален на любой вкус.

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 8 місяців тому

      соер не рассказывает про основы рест апи, а анализирует описания реальных апи в компаниях

  • @itforall89
    @itforall89 Рік тому +1

    Почему в JavaScript (0.1+0.2) == 0.3 false?

    • @user-wr4rp3ht1u
      @user-wr4rp3ht1u Рік тому

      Проблема представления дробных чисел в памяти. Если выведешь в консоль сумму 0.1+0.2 увидишь что-то типа 0.2999999999998 или 3.000000000001 что не эквивалентно значению 0.3

    • @user-wr4rp3ht1u
      @user-wr4rp3ht1u Рік тому

      Дробные числа сравнивать оператором == в принципе является дурным тоном. Более правильный подход проверять находится ли разница двух значений в пределах допустимой погрешности
      Например вместо
      0.1+0.2 ==0.3
      правильнее написать
      abs(0.1+0.2-0.3) < 0.00001
      Не уверен что в js есть abs, я если что имел ввиду модуль. Находится ли разница между числами 0.1+0.2 и 0.3 в пределах 0.000001, если находится то мы считаем что эта разница равна нулю, иначе - отлична от нуля

    • @maxm1nd
      @maxm1nd Рік тому

      0.30000000000000004.ком если желаешь узнать, что не в JS дело (само собой нужно догадаться заменить ком на com)

    • @apdgslfhsodbna
      @apdgslfhsodbna Рік тому

      IEEE754 стандарт можно почитать

  • @soltaurus
    @soltaurus Рік тому

    "дэлет" читается "делит".

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 8 місяців тому

    В название видео слово "команд" может выглядеть двусмысленным

  • @No7Gen
    @No7Gen Рік тому

    Очень тихо

  • @astrotrain
    @astrotrain Рік тому

    Монтаж жесть конечно, смотреть максимально трудно
    Почему бы не показывать код на весь экран и не дёргать его туда-сюда?
    5:44 это что?