Объясняю RxJS

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

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

  • @НовиковаНадежда-щ2е
    @НовиковаНадежда-щ2е 3 วันที่ผ่านมา +1

    Видео очень понятное, хорошее сравнение промисов и rxjs, хорошие "жизненные" примеры кода. Мне как имеющему опыт работы с rxjs было легко понять и структурировать какие-то знания об rxjs. Но новичку наверное будет немного сложнее сходу въехать в тему

    • @Kulibins1
      @Kulibins1  3 วันที่ผ่านมา +1

      @@НовиковаНадежда-щ2е я видосики больше для продвинутых делаю.

  • @АлексейФиленко-ф4к
    @АлексейФиленко-ф4к ปีที่แล้ว +10

    Отличная лекция, спасибо!

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

      Всегда пожалуйста 🤗

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

    Thank you for content, definitely wanna see more videos about Angular. Thank you

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

    Круто объясняете! Прям на одном дыхании смотрится. Спасибо!

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

      рад что нравится 🤗

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

    Спасибо, очень доступно и классные примеры!

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

    Спасибо Вам огромное, видео просто ТОП!!!

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

      всегда пожалуйста

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

    Благодарю! Мне, как начинающему, это видео очень помогло осознать некоторые описанные вами тонкости работы с библиотекой RxJS. Подписался на канал)

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

      Рад что полезно

  • @wall-wrecker-my6ss
    @wall-wrecker-my6ss ปีที่แล้ว +1

    Хорош мужик, выручил. Сейчас посмотрю

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

    Спасибо за ваше время и контент!

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

      Всегда пожалуйста 😊

  • @Kuvaldis1983
    @Kuvaldis1983 7 หลายเดือนก่อน +1

    Очень классно, снимаю шляпу! :)
    спасибо!

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

    Круто, еще больше видео по RxJs и Angular!😀

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

      Сегодня будет по angular

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

    Дуже добре, коли програміст з досвідом роботи і робочими кейсами, уміє усе зрозуміло і просто пояснити новачкам!

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

    Спасибо, очень понятное объяснение 👍

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

      пожалуйста 😉

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

    Использовал rxcpp для разработки приложухи на бортовой контроллер машины, которая собирала информацию с кучи датчиков, сохраняла в сиквелайт, отправляла данные из БД по сетке из очередей с двумя приоритетами, выводила метрики и другую важную инфу на UI, принимала ввод от водителя, мониторила изменения конфигов и т.п. И все это на rx. А еще мог для тестов/демо подменить данные реальных датчиков на генерируемые также через rx + ranges. Сознательно ушел от слотов/сигналов кьюта, иначе не получилось бы также классно, я думаю) К сожалению, поддержка версии для крестов полуживая.

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

      для плюсов вероятно слишком высокоуровнево 🤣 я только для c# и для ts rx использовал в продакшене. Может еще с go и rust буду использовать.

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

    Спасибо за вашу работу 👍

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

      Всегда пожалуйста. Как же долго я этот ролик записывал, несколько раз начинал заново.

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

      @@Kulibins1 Особенно понравились объяснения pipe т.к. все в них путаются, и если есть возможность сделайте видео про особенности pipe переключения на обзёрвеблы т.к. там множество вариантов.

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

      Я как раз в конце сказал что будет ещё по этой теме ролики 😉

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

    Спасибо, очень подробно и наглядно.

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

      Пожалуйста 😉

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

    Спасибо больше за разъяснение, очень интересную тему вы затронули, так как бывало пару моментов на работе, когда коллега доказывал, что лучше использовать промисы, чтобы не усложнять код, а местами было сложно ответить почему этого не стоит делать, а теперь понимаю их основные отличия
    Еще раз спасибо!

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

      Всегда пожалуйста

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

      Промисы поддерживаются на уровне языка через async\await, а эти сабскрайберы нет. в итоге вернулись туда с чего начали - к колбекам. Я не спорю что сама библиотека имеет право на жизнь при обработке некоторых типов данных, которые можно представить как последовательности. Но лепить ее везде, как это сделали в ангуляре и представлять как серебряную пулю это полная ерунда. А в сочетании с тайп скриптом эта хрень получается ооочень многословная. В итоге что бы написать простенького клиента на ангуляре программисту нужно +знать еще один язык, +rxjs ну и ануляр само собой. Я использовал старый ануляр, не было проблем, год назад нужно было написать несложный клиент - я пошел смотреть в сторону нового ангуляра, 3 дня его покрутил - плюнул, взял vue (который ничего не навязывает) и за 2 недели написал. Сейчас вот учувствую в проекте где команда год писала клиента на ангуляре 2 и сервер на .Net. Заказчик решил нанять еще людей так как типа успехи скромные. Я смотрю на эту писанину - да скромные, но объем кода поражает на любой пшик куча кода как на стороне клиента так и на стороне сервера, с какими-то контролерами хандлерами и т.д. явный оверинженеринг. В итоге смотрю видео по этой хуете и тайп скрипту, и не понимаю как эта хрень поможет нам ускориться (чуваки с тайп-скриптом ловко подменили понятие скорости разработки, (основная фишка джаваскрипт) на "безопасность" во время подготовки проекта)

    • @АндрейРычагов-ч8г
      @АндрейРычагов-ч8г ปีที่แล้ว

      @@vadymsushchenko1680 Расти тебе ещё в понимании разработки и расти

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

    Супер! Спасибо! Лайк

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

      За лайк спасибо 😊

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

    Хорошее видео, спасибо!

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

      Всегда пожалуйста

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

    Интересный курс, для новичков, но я такое люблю)
    18:30 при создании нового промиса, он сразу же отрабатывает. То есть then ни как не влияет на промис. Then можно написать несколько раз на один и тот же промис, просто он вернет один результат для всех (как горячий обсервабл*)
    В свою очередь подписка на Observable активирует его именно для конкретной подписки. То есть Observable это условный конструктор, а не сам объект...а вот Subscription это именно тот объект который делает всю работу
    Утверждение как бы то правильное, но есть огромный оттенок опыта использования RxJS вместо чистого JS, что для новичка может быть не понятно, почему это then должен на что-то влиять
    То есть вышло что пояснил ангуларщиком чем RxJS круче, а не JS разработчикам)
    P.S. спасибо за продвижение RxJS, может качество кода повысится в командах)

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

      Этот материал начинал записывать несколько раз и всякий раз меня либо отвлекали либо сам понимал что видео получится часа на 3, в примерах подготовил и создание своих PromiseLike и что они с async тоже работают, и как создаются свои операторы для pipe, но как бы хочется рассказать все, но ведь не будут смотреть и так на 1 час получилось. И да на чистом Js я гораздо меньше кода написал чем на TS, и RxJS гораздо чаще использую чем Promise (но тоже использую, уж большой async await хорош)

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

      Кстати когда можно несколько раз писать then это только потому что сам then возвращает Promise и он новый и не обязательно вернёт то же самое, как раз в примере с PromiseLike это рассматривал, но что-то сомневаюсь что это поймут. И виде записал потому что "мои" новички не понимают, вот что бы не повторятся будут видео смотреть 🤣

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

      @@Kulibins1 я не про этот случай говорил
      А про такой
      const responseAsync = fetch(‘json.json’)
      responseAsync.then(res => console.log(res));
      responseAsync.then(res => alert(res));
      То есть дважды подписались на один и тот же промис, а не цепочка. По аналогии как мы subscribe делаем и он дважды делает запрос
      Запись такого длинного видео это очень сложно, часто все получается смазано, но это видео получилось хорошо, я решил такой хронометраж не делать у себя на канале)

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

      @@grommaks я это понял мы тут на самом деле не на один и тоже подписываемся а then возвращает новый Promise 🤣 и с этой точки зрения на один промис можно подписаться один раз

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

      @@Kulibins1 а мне кажется видео на 3 часа было бы самое оно. Потому что посмотрев это видео многое осталось не понятным, так как код был уже написан, и часть кода мы не видим из других файлов. И вообще, новечку нужно больше времени что бы понять детали, т.к. вы объясняете саму суть, но чтоб ее понять, нужно понимать и всё вокруг. Или это только у меня так работает, не знаю.
      В любом случае спасибо за видео!

  • @ooshkapooshkin8048
    @ooshkapooshkin8048 10 หลายเดือนก่อน +1

    получается, что при получении списка данных из Observable, мы каждый раз в цикле гоняем элементы? типо получили of(1_000_000 elems...), далее в пайпе мы миллион раз пробегаемся мапом и потом фильтром? скорее всего это все комбинировать можно, но выглядит как кучу раз повтор одного и того же?

    • @Kulibins1
      @Kulibins1  10 หลายเดือนก่อน +1

      Не понял в чём повторения, но да сначала луше filter, потом map.

    • @ooshkapooshkin8048
      @ooshkapooshkin8048 10 หลายเดือนก่อน +1

      @@Kulibins1 повторение в том, что к примеру, если мы бежим по 1_000_000 элементам и у каждого есть айдишка и элементы не отсортированы по айди (а айди пускай будет число) и задача удалить айди с номером 825_139, то мне в худшем случае придется пробежаться сначала в filter 1 млн раз и потом в мапе уже 999_999, и так каждый раз, когда я что то добавляю в пайп итерационное?

    • @Kulibins1
      @Kulibins1  10 หลายเดือนก่อน +1

      @@ooshkapooshkin8048 это поток и работаем мы с ним как с потоком, т.е. нет на самом деле нескольких циклов, один оператор создаёт новый поток в который помещаются значения из первого и т.д. т.е. когда в исходном будет первый элемент он передастся во второй observable, там он пройдёт функцию оператора, после чего поместится в свой observable и т.д. т.е. нет такого, что все ваши элементы сначала попадают в один, потом в другой. Обработка идёт последовательно

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

    подпишусь, пожалуй

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

      Это радует 😉

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

    28:45 - Александр, так, ведь, эти функции, это же обычные функции Functional Programming, которые являются Immutable. Спасибо, кстати за объяснения. Я пришёл с Джавы и Реакта, смотрю курс сейчас одного горе-ментора.... вот, приходится смотреть дополнительно, чтобы разобраться.) Так что лайк и спасибо тебе.

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

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

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

    @Kulibins1 А можно увидеть все Extension для VSCode? Возможно JSON?

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

      Давайте я свой набор скину в группу телеги.

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

      @@Kulibins1 можете кинуть линк та телегу?

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

      @@Kulibins1 телегу нашёл, скиньте когда получится) Спасибо

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

      @@maksmaryanchuk710 t.me/zhelnin_au (чуть позже сегодня/завтра скину)

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

    Добрый день, скажите пожалуйста а как на 21:33 в 201 строке: где `${_}` - сюда попадает значение 1? Я просто такого синтаксиса ранее не видел, и не могу понять, никакой переменной в ${ } нету? O_o

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

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

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

    Спасибо Алексей! Супер объяснение.

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

      Всегда пожалуйста

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

    Александр добрый день! Подскажите пожалуйста, почему всё-таки на 21:30 (минуте) log ( 220 строка) у вас отрабатывает в конце функции а не самым первым, я пробовал различные эксперименты и получаю другой результат, спасибо.

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

      220 это же ошибка, её вообще нет, она не отрабатывает ни где. Может 228?

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

      @@Kulibins1 да точно 228 (забавное сочетание цифр ахах)

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

      @@Kulibins1 вообще раньше думал что подписка на observable как и then (promise) попадет в стопку микрозадач, но наверное это не совсем так, судя по вашему уроку

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

      @@dmitryoleynichenko7610 если под задачу создался отдельный observable, на подобии httpclient, то можно не отписываться, а вот если общий observable, то обязательно

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

      @@Kulibins1 вы скорее всего немного не поняли мой вопрос, я не очень понял почему код в функции (228 строка) выполнился после подписок а не первее

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

    Видео очень крутое и полезное!
    Спасибо за ваш труд...
    Можете сделать выпуск по настройкам и плагинам VsCode
    которые установлены у вас?

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

      Сделаю.

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

    Красота какая, спасибо 👍

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

      Всегда пожалуйста

  • @ooshkapooshkin8048
    @ooshkapooshkin8048 10 หลายเดือนก่อน +1

    возник вопрос, касаемый обновления данных с помощью rxjs, с сервера я получаю массив продуктов (к примеру), в потоке я добавляю их в форму и вижу в консольке, что они добавляются по 1 штуке и вопрос в том, что у нас каждый раз идет перерисовка интерфейса или ошибаюсь?

    • @Kulibins1
      @Kulibins1  10 หลายเดือนก่อน +1

      вероятно вы выводите компоненты для каждого продукта, и в каком-то месте сделали вывод в консоль. но ngfor создаёт все компоненты разом, или обновляет (как у вас он сделан)

    • @ooshkapooshkin8048
      @ooshkapooshkin8048 10 หลายเดือนก่อน

      @@Kulibins1 понял спасибо за ответ! у меня в ngOnInit был вывод в консоль, получал от сервиса данные, добавлял в форму и смотрю, что каждый раз консолька пишет сообщение

  • @F.C.Poet_
    @F.C.Poet_ ปีที่แล้ว +1

    афигеть! спасибо

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

      Всегда пожалуйста 😉

  • @alekscosevoi4157
    @alekscosevoi4157 4 หลายเดือนก่อน +1

    сделай плиз ролик про rxdb

    • @Kulibins1
      @Kulibins1  4 หลายเดือนก่อน +2

      @@alekscosevoi4157 интересноя штука, сам еще не использовал, поизучаю

  • @user-qm5fv5by5z
    @user-qm5fv5by5z 4 หลายเดือนก่อน +1

    кто знает как на 20:29 так переменную переименовывать?

    • @Kulibins1
      @Kulibins1  4 หลายเดือนก่อน +1

      @@user-qm5fv5by5z если стоит хоткеи как в Visual studio, то ctrl + r + r

    • @user-qm5fv5by5z
      @user-qm5fv5by5z 4 หลายเดือนก่อน +1

      @@Kulibins1 спасибо, у меня стандартные, но я уже пдфку с хоткеями начал смотреть, очень хотелось бы тоже использовать)

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

    Спасибо. А видео по работе с объединением потоков и вообще манипуляцией с потоком данных будет?

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

      Да там есть особенности про который хотел рассказать. Сейчас сделаю еще одно маленькое виде почему нужен RxJS (из заданных вопросов), то что не сказал в этом виде, а следующее по RxJS уже было бы работа с группами потоков.

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

    На всякий случай:
    На жс промис из коробки можно много раз подписаться

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

      Подписаться можно но результат будет получен одним. Тут можно посмотреть что Максим Гром написал. Сама функция then возвращает новый промис и мы тоже на него можем подписаться, но ведь это уже другой промис.

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

      @@Kulibins1
      const promise = Promise.resolve(1);
      console.log(await promise);
      console.log(await promise);
      console.log(await promise);

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

      @@Kulibins1 не одним:
      const promise = Promise.resolve(1);
      promise.then((result) => { console.log(`первая подписка ${result}`) })
      promise.then((result) => { console.log(`вторая подписка ${result}`) })
      promise.then((result) => { console.log(`третья подписка ${result}`) })

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

    Первый раз вижу next: в subscribe, обычно пишут .subscribe(value => {}) и всё

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

      .subscribe({next:_=>{}}) эквивалентно .subscribe(_=>{}) причем последний вариант внутри rxjs преобразуется к первому.

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

    Круто вообще. Спасибо, что поделись знаниями. Очень доступно разъясняете!

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

      Всегда пожалуйста

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

    Спасибо за видео! Был ли у Вас опыт использования микрофронтендов с использованием Angular?

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

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

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

      @@Kulibins1 т.е. все модули хостятся на разных серверах и динамически загружаются в оболочку главного приложения? Как я понимаю, в таком случае нужно использовать ModuleFederation?

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

      @@denisviktorovich7958 если мы говорим про Хосты, то используется web components. Так же Про то что я написал, то имел ввиду что само приложение разбито на независимые блоки, блоки грузятся отдельно, стандартная ленивая загрузка роутингов.

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

      @@Kulibins1 понял, спасибо за разъяснение!

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

    супер!

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

      Спасибо

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

    На промис может подписаться сколько угодно наблюдателей через then

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

      Не совсем так как раз с Максом обсуждали. Каждый then это новый промис, и вход будет результат поредыдущего. Если что мне промисы нравятя, и в своих проектах я их активно использую async/await. Очень часто их достаточно, кроме того есть лёгкое преобразование туда и обратно.

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

      @@Kulibins1 технически да, но с точки зрения использования, если есть промис const p = new Promise(...), сколько угодно потребителей могут сделать p.then(..,) и ждать, пока он разрезолвится, не обязательно делать это цепочкой p.then().then().then(), а так же промис может быть косвенно использован в нескольких Promise.all([..., p]) как одна из составляющих. Я тоже не ради холи вара, просто утверждение что у одного промиса всегда один подписчик может сбить с толку новичков.

  • @Roger-qj4wu
    @Roger-qj4wu 10 หลายเดือนก่อน +2

    Хз почему так задизлайкано. Наверное потому, что понять видео не почитав про Rxjs хотя бы основы - будет не особо реально. Тем не менее, неплохой видос, когда уже есть что-то в голове, но понять суть - еще не понимаешь. Как вторая передача у авто. Приемлемо крч) Мне помогло. Спасибо

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

    где таймкоды?

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

      Если есть желание можешь сделать - добавлю

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

    Хотелось бы видео про ngrx с сложной архитектурой, получением данных и тд

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

      Есть хорошие видео по ngrx на канале "Максим Гром" или требуется что-то более сложное?

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

      @@Kulibins1 спасибо большое за Ваш труд, да хотелось бы что-то посложнее, с более сложной архитектурой, ведь пишут что ngrx имеет смысл только в этом случае.

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

      @@dmitryoleynichenko7610 Я просто не люблю rxjs 😁 вот и не снимал видео

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

      @@Kulibins1 да там тема объемная, эффекты, редюсер, получение данных, как бы вы построили сложную архитектуру с этим всем из ngrx

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

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

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

      Вроде в новых роликах должно нормально со звуком быть

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

      он "пропадал" , когда не говорил

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

    RxJS вроде на верхнем уровне понятен, но когда пытаешься разобраться с mergeMap/concatMap/switchMap и разницей между ними - мозг ломается.
    И после этого у тебя возникает ощущение, что ты вообще не правильно все понял...

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

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

  • @alesiakolbik4710
    @alesiakolbik4710 9 หลายเดือนก่อน

    18:33

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

    Стиль написания на rxjs отличается от классического похода, и Как показывает практика, разработчики херово его понимают, и говнокода ещё больше получается, лучше уж async/await, и сентетического сахара типа debounce()

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

      Смотря кто разработчики, как то не было особых проблем с rxjs, хотя любой код могут испортить 🤣 И с помощью RxJS можно сделать то, что не сделаешь на промисах.

  • @user-hruser
    @user-hruser 7 หลายเดือนก่อน

    Минус rxjs что он весит 5 мб

    • @Kulibins1
      @Kulibins1  7 หลายเดือนก่อน +1

      В проекте никогда не используется 100% функционала, и срабатывает тришейкинг, и в итрговую сборку попадает довольно мало

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

    Вода и тошно

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

      вам кажется что вода? я как раз конкретные вещи попытался объяснить.