From Web to Flux: Tackling the Challenges of Reactive Programming By Victor Rentea

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

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

  • @aksh1618
    @aksh1618 ปีที่แล้ว +18

    What a showman 🙌🏼 I have never had this much fun with anything related to reactive programming!

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

    The best talk about reactive programming that I had ever watched, with case by case.

  • @harshadkumarshrishrimal1728
    @harshadkumarshrishrimal1728 11 หลายเดือนก่อน +6

    Very well done presentation. Thank you.

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

    Impressive as it is, Virtual Threads make 99% of it obsolete.

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

    Best video on reactive webflux

  • @JorisOosterhuis
    @JorisOosterhuis ปีที่แล้ว +7

    Amazing talk. It helped me grasp some of the concepts of reactive i had not understood till now. Thanks!

  • @10xtenx10xtenx10xten
    @10xtenx10xtenx10xten ปีที่แล้ว +6

    Does anyone know what tool he is using to all the arrows?
    Edit: It's ScreenBrush app for Mac.

  • @tendaipfidze7933
    @tendaipfidze7933 6 หลายเดือนก่อน +2

    Had almost given up on reactive until this guy showed up 👏👏

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

    This guy is a GOAT! Super helpful and informative.

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

    Love the way you teaches us!

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

    Project Loom equivalent presentation would be interesting to compare 😇

  • @Archanava-s5s
    @Archanava-s5s ปีที่แล้ว +4

    Thanks for the awesome content and what an engaging and entertaining talk!!

  • @lukasz-cpu2416
    @lukasz-cpu2416 ปีที่แล้ว +4

    Reactive programming is cool for the kind of tasks you show in your presentation like CRUD operations. When it comes to projects where we have a very complex business domain, there are many different exceptions, rules, checks and so on reactive code becomes harder and harder to maintain. We have a situation where we have pipelines of 10 lines each with a Map/FlatMap for example. Not to mention how to diagnose the error in production or performance issue. I don't wish this on anyone. In summary, reactive programming is cool for easy applications, building data transfers but nothing more. Peace

    • @TJ-hs1qm
      @TJ-hs1qm 10 หลายเดือนก่อน

      how? if every function is total combining those will give a total function. To better understand performance pure functions can be compared to imperative style coding using local mutable state, ex. for-loops instead of recursion. And due to referential transparency different coding styles may be mixed as long as they stay pure and total.

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

    where can we find this repo?

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

    Great performance and presentation style. I really enjoyed it!

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

    any chance sharing the repo?

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

    1:50:50 isn't row 50 Mono too? why there is no need to add a return something there too?

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

      delayUntil subscribes to the inner code but returns the original item, which is the saved post from line 43 in this case. You can think of it like it's a procedure which executes its body, but then returns its argument (something like "Long myProc(Long arg) { return arg }"). That's why you can map this saved post into a Long using getId and return that ID as Mono.

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

    Very good explanations and I really liked playing the right sounds at the right time 😂

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

    If your machine cannot process data coming to it fast enough, then you use reactive to tell the data producer to slow down. Does that mean the data producer has some way to hold the data? Does that mean that instead of holding the data in our machine to gradually process it, we hold the data in the data producing machine to gradually release it? Does that mean we only move our issue from this machine to another machine?

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

      The idea is to have an end-to-end reactive chain, where each part takes care of their responsibility, until the final publisher. So if you're using a mongodb reactive driver as the final publisher, it can take care of the "tough" job of how to handle backpressure, and the intermediate producers and consumers just have to take care of propagating it to the source. So the "issue" keeps getting propagated till it becomes mongodb's issue, which knows how to deal with it. (Disclaimer: This is a very simplistic view for the sake of a direction towards the answer.)

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

      Ideally, the producers produce, the consumers consume. Typically there's a buffer in the middle ( databases, message queues, kafka topics, ... etc).

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

      @@phanvanhoa if I'm getting data from a database, how can I tell the db to give me data slowly enough so that I can consume it without using reactive?

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

    1:39:31 i wasn't ready for it! xD

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

    I have literally been through this whole learning curve with some folks how had not programmed in scala as I had. It was complete carnage 😂

  • @РоманПивоваров-ф7ш
    @РоманПивоваров-ф7ш หลายเดือนก่อน

    The Legend!

  • @neotechfriend
    @neotechfriend 5 หลายเดือนก่อน +1

    ❤ superb!

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

    Java 21, the Reactive webflux Killer?

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

    amazing!!!

  • @theprince08853
    @theprince08853 3 วันที่ผ่านมา

    I can't believe I have to use this shit at work. 30 mins in and I already know I'm going to have to repeat parts of the video.

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

    awesome

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

    Lord have mercy on those that have to read and maintain this kind of code, not to mention those that are new to this kind of project. Just horror and nightmares. Luckily there are other ways in the world.

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

      I have read and maintaining such application. What are the other ways you suggest ?

    • @simonmassey8850
      @simonmassey8850 8 หลายเดือนก่อน +1

      Tomorrow Java 22 comes out with the 2nd preview version of “structured concurrency” where you can write blocking code with 1,000,000 virtual threads and clear stack traces. Then you can write obvious code that scales without it needing to use a reactive framework that must do complex things to juggle traditional threads.