Тёмный
James Cutajar
James Cutajar
James Cutajar
Подписаться
Комментарии
@user-ul8ue9bq4t
@user-ul8ue9bq4t День назад
That`s was really helpful. Thank you❤
@mohamads9759
@mohamads9759 5 дней назад
Great.
@rzezol
@rzezol 5 дней назад
If anybody is looking for performant solution with caching max value (not applying it every time we encounter "max counter" operation - it's very time consuming) there you have it: vector<int> solution(int N, vector<int> &A) { std::vector<int> counters(N, 0); int max_val = 0; bool apply_max = false; for (int operation : A) { if (operation <= N) { int& cur_val = counters[operation - 1]; cur_val++; if (cur_val > max_val) { max_val = cur_val; apply_max = true; } } else { if (apply_max) { std::fill(counters.begin(), counters.end(), max_val); apply_max = false; } } } return counters; }
@heri0n
@heri0n 27 дней назад
I like watching at 2x with captions but for some reason its auto-generating them as Portuguese 😂 Thanks for the video though
@fytubevw
@fytubevw Месяц назад
Very clear and interesting way that you present the content. Got sparked to kafka rrright here. :D
@marcosoliveira1538
@marcosoliveira1538 Месяц назад
Great video! Very clear explanation!
@vakman9497
@vakman9497 Месяц назад
You should’ve gone into education, very well explained
@tmanley1985
@tmanley1985 Месяц назад
This was extremely well done. You've earned a sub.
@user-ob1pk4rw1t
@user-ob1pk4rw1t Месяц назад
Thank you sir for explaining with example.
@nanaamoako4175
@nanaamoako4175 Месяц назад
Thank you! Great presentation and delivery. Very easy to understand. Subscribed!
@suleakcay3531
@suleakcay3531 Месяц назад
That is very beatiful video! Thank you.
@Tekno1796
@Tekno1796 Месяц назад
Thank you so much for this video. Summarizes the general concepts brilliantly.
@dashmasterful
@dashmasterful Месяц назад
Damn. Finally a good video on Kafka. Thank you!
@ThiagoRodrigues-ib5dk
@ThiagoRodrigues-ib5dk 2 месяца назад
I just needed to watch it to become clear. Thanks a lot.
@ejpianoivan5829
@ejpianoivan5829 2 месяца назад
Y gregorio?
@KeloaTV
@KeloaTV 2 месяца назад
great video ! love this animation style and the simple explanation
@lucianoinso
@lucianoinso 2 месяца назад
This is genius, thank you so much!
@SamirJahchan
@SamirJahchan 2 месяца назад
It was very well presented, in a simple and effective way. This put me on the page about Kafka technology.
@moveonvillain1080
@moveonvillain1080 3 месяца назад
Idk how many videos I went over but not a single one would say that partition in Kafka is JUST A QUEUE. They would unnecessarily make it complicated with more technical jargon. Thank You good Sir🧔‍♂👋🎩
@sarwajeetbharti2856
@sarwajeetbharti2856 2 месяца назад
I felt the same ,bro 👍
@satoshi1285
@satoshi1285 3 месяца назад
Great Video! I love it!
@pepper856
@pepper856 3 месяца назад
extremely helpful! Thanks James!
@anandrajgunnala5955
@anandrajgunnala5955 3 месяца назад
Well explained 🙏🏻
@mateushesed
@mateushesed 3 месяца назад
Please continue with the Golang content! It's so good!
@user-rh7xd6ie8z
@user-rh7xd6ie8z 3 месяца назад
Beautiful, thank you!!
@James__Bond_007
@James__Bond_007 3 месяца назад
bless you sir
@VisionViral05
@VisionViral05 4 месяца назад
promotion ka tareeka thoda cazual hai😂
@shivamanand8998
@shivamanand8998 4 месяца назад
To add Kekfa helps to achieve 2 main goals 1. Use Ques for async communication 2. Achieve a pub-sub model
@adriancontreras7691
@adriancontreras7691 4 месяца назад
best explanation ever!
@chaosaroundyou8748
@chaosaroundyou8748 5 месяцев назад
simply beautiful, thank you
@kshow666
@kshow666 5 месяцев назад
Great intro to the fundamentals! Great use of example too
@wassimchebaane5261
@wassimchebaane5261 5 месяцев назад
thank you for this clear video
@Namrata766
@Namrata766 5 месяцев назад
A great starter video. 😊
@kirilnavalihin1222
@kirilnavalihin1222 5 месяцев назад
Simple
@ketanjoshi4568
@ketanjoshi4568 5 месяцев назад
Love the brevity of the video !
@bensdevjourney7081
@bensdevjourney7081 5 месяцев назад
I love this animation style and want to use one similar for a course's extra credit project! What software did you use to create these if you don't mind me asking?
@mberle1
@mberle1 6 месяцев назад
Could there be figures that do not change locations? For example, "A,B,C,D,E" could A ever be the first post-randomiztion?
@fullmuppet
@fullmuppet 6 месяцев назад
Yes. But the same is true with a "real life" shuffle. If you shuffle a deck of cards, any cards could be in the same position after the shuffle. Indeed, to be a true random shuffle, this needs to be the case. If items were guaranteed *not* to be in the same position, that provides information about the previous state, which means it can't be truly random.
@jakestandley7668
@jakestandley7668 6 месяцев назад
Great vid!
@iezioaudi22
@iezioaudi22 6 месяцев назад
thanks!!
@manhamvan5909
@manhamvan5909 6 месяцев назад
sub: Apache Kafka is the answer to the problems faced by the distribution and the scaling of messaging systems. let me try to illustrate this by an example imagine we were to design a system that listens to various basketball game updates from various sources such updates might include game scoring participants and timing information it then displays the games status on various channels such as mobile devices and computer browsers in our architecture we have a process that reads these updates and writes them in a queue we call this process a producer since it's producing these updates onto the queue at the head of this queue a number of downstream processes consume these updates to display them on the various channels we call these processes consumers over time we decide to expand and start following more and more games the problem is that our servers are now struggling to handle the load this is mainly because the queue is hosted on one server which is running out of memory and processing capacity our consumers are also struggling in a similar fashion so now we start thinking of how we can add more computing power by distributing our architecture but how do we go about distributing AQ data structure by its nature the items in a queue follow a specific ordering we could try to randomly distribute the contents of the queue onto multiple ones if we do this our consumers might consume the updates in the wrong order this would result in inconsistencies for example the wrong scoring being displayed across the channels one solution is to let the application specify the way to distribute the items in the queue in our example we could distribute the items using the match name meaning that the updates coming from the same match would be on the same queue this strategy would maintain an ordering per basketball match this is the basic fundamental difference of Kafka from other messaging systems that is item sent and received Kafka require a distribution strategy let's have a look at some more detail and terminology used in Kafka each one of these queues is called the partition and the total number of partitions is called a partition count each server holding one or more of these partitions is called a broker and each item in a partition is called a record the field used decide which partition the record should be stored in it's called the partition key it's up to the application to decide which field to use as the partition key if no key is specified Kafka simply assigns a random partition a grouping of partitions handling the same type of data is called a topic in order to identify each record uniquely Kafka provides a sequential number to each record this is called an offset essentially a recording that topic is identified by a partition number and an offset in our application since we have now distributed our data in the topic using the name as the partition key we can now also parallelize our consumer applications having one consumer per partition guarantees ordering per game consumers can live on one machine or distributed amongst multiple ones one important concept in Kafka is that consumers are very lightweight and we can create many of them without affecting performance this is mainly because Kafka only needs to maintain the latest offsets read by each consumer typically consumers read one record after the other and resume from where they left after a restart however in Kafka it's up to the consumer implementation to decide on how to consume records it's quite common to have consumers to read all the records from the beginning on startup or to read the record in different orders such as reading back to front for example in Kafka each consumer belonging to the same consumer group do not share partitions this means that each consumer would read different records from the other consumers multiple consumer groups are useful when you have different applications reading the same contents in our example we could have a consumer group called mobile and another consumer group called computer these groups will read the same records but update different channels each consumer in these groups will have separate offset pointers to keep track which latest record was read if consumers can read using custom ordering how can Kafka determine that the record has been consumed and it can safely delete that record so it can free up space the answer is that tough comp provides various policies that allow it to do a record cleanup for example using irritation policy you can provide a record age limits say 24 hours after which the records are automatically deleted using this policy if your consumer application is never down for more than this age limit no messages are lost another capability of Kafka is to store records in a fault tolerant and durable way each record is stored on persistent storage so that if a broker goes down it can recover when it comes back up additionally Kafka replicates partitions so that when a broker goes down a backup partition takes over and processing can resume this replication is configured using a replication factor for example a replication factor of three leads to three copies of a partition one leader and two backups this means that we can tolerate up to two brokers going down at the same time Kafka can be a solution to your scalability and redundancy problems if the problem is well stated and the technologies are well understood there are of course a lot more technical and implementation details which can be found on kafkas documentation I hope that this short video has been helpful at providing an introduction but the fundamental concepts in Kafka if you like it please give it a thumbs up and subscribe.
@thegodfatheram
@thegodfatheram 6 месяцев назад
Thank you sir very simple and informative explanation
@joaocampos9615
@joaocampos9615 6 месяцев назад
Thank you, not many info or vídeos about divolte and avron :)
@shanemay-gunlogson9575
@shanemay-gunlogson9575 7 месяцев назад
Best intro to Kafka video I've seen. Thank you.
@fryt-zv3tm
@fryt-zv3tm 7 месяцев назад
what software do you use for illustration?
@MirekKrenc
@MirekKrenc 6 месяцев назад
The same question - what tool did you use to make such nice animations and presentation?
@ruiguimaraes9989
@ruiguimaraes9989 8 месяцев назад
Top stuff! Very clear and simple explanation. Thanks!
@MirekKrenc
@MirekKrenc 8 месяцев назад
Nice and clear explanation - thank you.
@hadesunseen6388
@hadesunseen6388 8 месяцев назад
thank you for sharing
@chrismenui7344
@chrismenui7344 9 месяцев назад
how to scale queue? each queue need it's own distribution strategy replication factor
@Sunshine-sv6lw
@Sunshine-sv6lw 9 месяцев назад
Only a person who has deep knowledge on a subject can explain anything with clarity in a short video. Looking forward to more videos from you!
@mikahoy
@mikahoy 9 месяцев назад
view a lot of videos about kafka, and you 're video is the best one
@mosalman5174
@mosalman5174 9 месяцев назад
Simple clear and concise. Thank you James