Чеининг функций и объектов, обработка ошибок в JavaScript

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ต.ค. 2024

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

  • @anatolykobzisty9827
    @anatolykobzisty9827 5 ปีที่แล้ว +20

    -------------------------------------------------------------- Чеининг ----------------------------------------------------------
    00:00:00 Введение
    00:01:10 Чеининг через синтаксис вызова функций
    00:02:12 Prototype
    00:05:45 Сlass
    00:06:11 Functor
    00:11:54 Mutable
    00:16:34 Iterator
    00:26:18 Promise
    00:26:35 Test
    00:37:08 Compare
    00:39:45 Benchmark
    00:40:48 Запуск и анализ тестов
    ---------------------------------------------------- Обработка ошибок --------------------------------------------------
    01:03:48 Первый способ возвращение ошибок в синхронном коде
    01:09:24 Второй способ возвращение ошибок в синхронном коде
    01:12:26 Возвращение ошибок в асинхронном коде
    01:16:14 Корректное возвращение ошибок
    01:20:03 Обработка ошибок c promise
    01:23:58 Обработка ошибок c async-await

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

    Дякую, дуже корисна інформація, класні приклади і зрозумілі пояснення!

  • @91Days-
    @91Days- ปีที่แล้ว +3

    Благодарю Вас за труды, ваш курс - лучший из тех, что мне встречались

  • @ИгорьКудряков-л3я
    @ИгорьКудряков-л3я 3 ปีที่แล้ว +8

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

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

      Это же не первая читка лекций, годами выверенные фразы ) Спасибо!

    • @kazbekelmurzaev9600
      @kazbekelmurzaev9600 6 หลายเดือนก่อน +1

      Это полтора часа концентрированной информации. Тут пятнадцать минут бы усидеть слушая внимательно. На секунду отвлекся мыслями и пропустил важную информацию. По этим лекциям можно просто стенограмму сделать и вот вам готовый учебник.

  • @АльбертРубцов
    @АльбертРубцов 4 ปีที่แล้ว +8

    Вот это прямо кладязь ) Благодарю .

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

    Спасибо большое! Про чейнинг очень понравилось, рассматриваемые примеры с разными вариантами реализации заставляют пересмотреть привычные модели и способы написания кода. Огромное сенкью)

  • @vanja7610
    @vanja7610 5 ปีที่แล้ว +8

    Contents:
    Chaining - 0:06
    Error handling - 1:03:48

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

    Спасибо огромное, классная лекция, особенно интересно было по ошибкам

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

    Ощущения после ролика => 🤯

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

    Мне очень нравится, во время лекции по Javascript-у Тимур поднимает такие фундаментальные такие как ф-ное программирование, монады, контракты, итераторы.
    Как я понял по теме чейнинга, цепочка вызовов позволяет строить некий пайп операций над данными.
    Видел так же что с помощью цепочек в Метархии настраиваются некоторые абстракции.
    Лично для себя увидел несколько примеров, которые могу применить на практике.
    После каждой лекции пересматриваю свои знания в Javascripte.
    Огромное спасибо.

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

    💥💥💥

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

    01:03:40 Обработка ошибок

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

    А як знайти лекцію, яка згадується на цьому моменті th-cam.com/video/PfuEfIiLX34/w-d-xo.html?
    Лекція про те, як провіряти з якою швидкістю працює код.

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

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

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

    Походу выражение `${ ... }` вызывает метод toString переданному ему значений под капотом. Если смотреть лекции сосредоточенным то можно уловить и разные фичи 😅

    • @404Negative
      @404Negative 26 วันที่ผ่านมา

      вот это да, ничего себе. попробуй еще конкатенацию с пустой строкой, вообще охренеешь.

  • @nikitasobolev8288
    @nikitasobolev8288 4 ปีที่แล้ว

    Можете подсказать, в примере "Обработка ошибок c async-await" при запуске у вас вывелось 5. Почему 5, если функции async/await всегда возвращают Promise, и по идее мы должны были написать: sum(2, 5).then(data => console.log(data)); ?

  • @Antonio-fm1sq
    @Antonio-fm1sq 3 ปีที่แล้ว +1

    Спасибо!

  • @legioner9mix
    @legioner9mix 4 ปีที่แล้ว

    Вопрос к случаю uncaughtException - стоит ли при создании функции попутно класть в нее подписку на событие которое будет эмититься внутри вызова uncaughtException - что бы колбек этого эмиттера обеспечивал корректную парковку функции а не просто exit(1) ?

  • @rtfmetal
    @rtfmetal 4 ปีที่แล้ว +5

    10-35 Там опечатка, кажется? text.line() не сработает, так как text - функция.

  • @тимур_атмосферный
    @тимур_атмосферный หลายเดือนก่อน

    1:05:56 в этом случае семантичнее было бы выбросить TypeError вместо более общего Error

  • @СергейЖданов-э5р
    @СергейЖданов-э5р 2 ปีที่แล้ว

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

  • @UniBreakfast
    @UniBreakfast 4 ปีที่แล้ว +5

    сложность просто заоблачная... Не представляю себе тех, кто это поймёт.

    • @TimurShemsedinov
      @TimurShemsedinov  4 ปีที่แล้ว

      Смотрите курс последовательно, студенты 1 курса 1 семестра осваивают github.com/HowProgrammingWorks/Index/blob/master/Courses/Fundamentals.md

    • @UniBreakfast
      @UniBreakfast 4 ปีที่แล้ว

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

    • @TimurShemsedinov
      @TimurShemsedinov  4 ปีที่แล้ว +5

      @@UniBreakfast Ну лекции этого года я добавил для более плавного вхождения для начинающих и это массово работает. Скажем так, сначала лекций 10 все смотрят большими глазами, а потом у половины будто что-то включается и они начинают понимать тебя, и въезжать уже, пересматривают старое и нормально к экзамену выходят.

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

      @@TimurShemsedinov где взять вопросы на ваш экзамен

  • @Wra-ij8yk
    @Wra-ij8yk 11 หลายเดือนก่อน

    Может кто-нибудь объяснить почему прототипы быстрее в итоге выполняются?

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

      Чем что?

    • @Wra-ij8yk
      @Wra-ij8yk 11 หลายเดือนก่อน

      @@TimurShemsedinov, 43:58 ну вот же реализации чеининга на прототипах обогнала все остальные реализации на промисах, функторе

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

      ​@@Wra-ij8ykну тут явно проблема в доступе к идентификаторам, но этим вообще не нужно париться, в большинстве программ это несущественно

    • @Wra-ij8yk
      @Wra-ij8yk 11 หลายเดือนก่อน

      @@TimurShemsedinov, ок спасибо

    • @TimurShemsedinov
      @TimurShemsedinov  11 หลายเดือนก่อน +1

      @@Wra-ij8yk посмотрите еще th-cam.com/video/SzaXTW2qcJE/w-d-xo.html

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

    Спасибо, но для меня это уже ниндзя-код - особенно функторы.

  • @НиколайМельников-к4е
    @НиколайМельников-к4е 2 ปีที่แล้ว

    ни у кого нетполучилось выполнить 5 задание? я распарсил строску через split в symbol.iterator, но ни как не получаеться каждый элемент массива запихивать в value и вызывать next для каждого элемента массива. мучаюсь несколько дней, хотя думаю, что решение на поверхности

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

    Пример 4 это кошмар, кому такое в голову пришло написать ))

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

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

    • @SilverStormAndGoldenRain
      @SilverStormAndGoldenRain 5 ปีที่แล้ว

      @@TimurShemsedinov Сделано все красиво, просто очень непривычно и даже в голову бы не пришло такое написать, видимо надо изучать больше языков для расширения сознания ))

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

      @@SilverStormAndGoldenRain ну это же курс не по js, а по программированию с примерами на js. Так что, пришлось показывать и неестественные для js практики. Благо, что js позволяет почти все.

    • @masterguyver84
      @masterguyver84 5 ปีที่แล้ว

      Тяжело все заходит, придется пересматривать не раз. Даже надо на блоки делить, правда информации много как остальное успевать ... МАСТЕРСТВО ОПЫТА

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

      @@masterguyver84 я пропускаю все что с третьего раза не могу до конца понять - все равно полную глубину и красоту можно начать понимать только начав изучение лекций ПО ВТОРОМУ кругу от первой до последней

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

    process.on('uncaughtException', cb) Gracefull shutdown ?