- 73
- 95 737
Viraj Shetty
United States
เข้าร่วมเมื่อ 29 ธ.ค. 2019
This channel will be focused on interesting changes happening in the Software Industry. Primarily about new changes to the Java Platform, OAuth Security Platform, SAML, Software Architecture and so on. Subscribe to my channel for quality content.
Java Streams to Complex Maps
This Video shows how to quickly convert Java streams to Complex Java Maps. These are useful techniques that can be used in your own projects.
มุมมอง: 419
วีดีโอ
Java Method Reference - The Tricky Parts
มุมมอง 2523 หลายเดือนก่อน
This video discusses the tricky parts of the Method References which will be useful in clearly understanding what can be passed to streams methods like filter(), map() etc.
Java Enums Internals
มุมมอง 2354 หลายเดือนก่อน
This video covers the basics as well as goes into the internals of Java Enums. A few best practices are laid out.
Java Optionals - A Complete Tutorial
มุมมอง 4885 หลายเดือนก่อน
This tutorial explains everything you need to know about Java Optionals to make you an expert. Check out my other links below for discounted popular courses (12.99$ or best local price) My Website : www.mudraservices.com/ Virtual Threads Course : www.mudraservices.com/udemycoupon.html?course=vthread Java Generics Course : www.mudraservices.com/udemycoupon.html?course=jgen My Blog : medium.com/@...
Java Generics - What's under the hood ?
มุมมอง 2765 หลายเดือนก่อน
Java Generics - What's under the hood ?
Java CompletableFuture - The Flaws in allOf(...) method
มุมมอง 2866 หลายเดือนก่อน
Java CompletableFuture - The Flaws in allOf(...) method
Spring Boot - Avoid MODE_INHERITABLETHREADLOCAL like the plague
มุมมอง 2656 หลายเดือนก่อน
Spring Boot - Avoid MODE_INHERITABLETHREADLOCAL like the plague
Enterprise Versus OAuth Authorization
มุมมอง 2476 หลายเดือนก่อน
Enterprise Versus OAuth Authorization
Java Spring Boot - @Async and Security Context Propagation
มุมมอง 8687 หลายเดือนก่อน
Java Spring Boot - @Async and Security Context Propagation
Java Thread Locals - A complete Tutorial
มุมมอง 3267 หลายเดือนก่อน
Java Thread Locals - A complete Tutorial
Java Generics - 12 Examples of Type Inference
มุมมอง 2128 หลายเดือนก่อน
Java Generics - 12 Examples of Type Inference
Java Arrays and Generics - Can they Play Together?
มุมมอง 3049 หลายเดือนก่อน
Java Arrays and Generics - Can they Play Together?
Java Intersection Type - You MUST know this
มุมมอง 93210 หลายเดือนก่อน
Java Intersection Type - You MUST know this
Java Optional - Integrate with stream Pipeline
มุมมอง 40510 หลายเดือนก่อน
Java Optional - Integrate with stream Pipeline
Java Optional - Use it in Fluent Style
มุมมอง 63010 หลายเดือนก่อน
Java Optional - Use it in Fluent Style
Java 10 Onwards - Local Variable Type Inference
มุมมอง 20211 หลายเดือนก่อน
Java 10 Onwards - Local Variable Type Inference
Java 14 Onwards - Improved Null Pointer Exception
มุมมอง 34511 หลายเดือนก่อน
Java 14 Onwards - Improved Null Pointer Exception
Java Records - Are they really Immutable?
มุมมอง 64011 หลายเดือนก่อน
Java Records - Are they really Immutable?
Java Nested Classes - Use Static or Inner ?
มุมมอง 28111 หลายเดือนก่อน
Java Nested Classes - Use Static or Inner ?
Java Synchronization - The Other Half of the Story
มุมมอง 42611 หลายเดือนก่อน
Java Synchronization - The Other Half of the Story
AuthN Identity Brokers - Brokers worth your time
มุมมอง 893ปีที่แล้ว
AuthN Identity Brokers - Brokers worth your time
Java 21 String Templates - THIS FEATURE IS SHELVED
มุมมอง 1.3Kปีที่แล้ว
Java 21 String Templates - THIS FEATURE IS SHELVED
Java 21, 22 Implicit Classes and Instance main method
มุมมอง 457ปีที่แล้ว
Java 21, 22 Implicit Classes and Instance main method
Structured Concurrency with Java Virtual Threads - No Tasks left behind
มุมมอง 3Kปีที่แล้ว
Structured Concurrency with Java Virtual Threads - No Tasks left behind
90 mins FREE Tutorial on Java Futures and Completable Futures
มุมมอง 3Kปีที่แล้ว
90 mins FREE Tutorial on Java Futures and Completable Futures
Baba Nam Kevalam
Very well explained. Thank you. You have a clear cut knowledge on the topics, that reflects in your way of teaching. Please continue to post videos and support.
Great series! Thank you
Great explanation! looking forward to more contents from you..
Superb tutorial Viraj.
Glad you liked it
What an ugly design!
Stolen from python
Omg
Weird
Unbelievable
Why?
Very well explained - one of the best videos on TH-cam for ease of understanding - subscribed!
I know very little about method references earlier, had many doubts. I have clear understanding, after watching this lecture. Thanks a lot Sir.
I'm glad it helped clear things up!
Nice overview. Some code samples would have been nice, though
Thanks 🙏!
Really really great explanation.
Glad you enjoyed!
Not enough likes considering the quality of the content here
Thanks 🙏
Please cover some examples of streams with optional
for the case where we have many tasks submitted, do we have to manually compare are the future as (future == taskXfuture) ? id there any inbuilt way to deal with such requirements
Excellent! Basically every application has to do its own authorization. What you are calling as 'Enterprise Authorization' is where LMS is authorizing the user to do something in the LMS app itself. Obviously, if the user wants to post his learning cert to LinkedIN - that is now an action he is talking in the LinkedIN app - and therefore LinkedIn has to do the authorization for that posting action. This is what you are calling as oAuth Authorization. oAuth is the protocol that allows LMS to take the action in ON BEHALF of the user, in the LinkedIN app. AUTHENTICATION however, does not need to be done by the application itself (and is actually better if it is not) - and can be instead centralized instead in a IDENTITY MANAGEMENT application . Authentication can therefore be done either through a centralized Enterprise Identity Management solution (like Okta) , or using social identities (like Google ID) which leverage the OpenID Connect protocol
Another excellent video! In the other video, you had described oAuth as more of the authorization protocol (eg to post to LinkedIn and FB) , and not so much as a authentication protocol (you mentioned OIDC as more of an authentication protocol). So I am curious why in this video , you are referring to oAuth as a 'Delegated AUTHENTICATION' protocol?
Excellent video ! Couple of Suggestions - (1) In the middle there , you started talking about Google/Apple authentication, and then went back and drew the picture for linkedin and FB . Suggest fixing that , because it breaks the flow (2) Towards the end, when you were talking about enterprise apps, and you had said the apps may be interested in access tokens as well - I was unclear on where the LMS is getting the access tokens from, when talking to Google / Apple
Quality content
Glad you enjoyed !
Thank you for explaining. For those coming from Kotlin coroutines, it sounds like Futures are analogous to Deferred<V> (or Job).
Mann,what a lecture cleared all the doubts. Initially I had so many doubts but gradually you cleared all of them
Glad the lectures are able to help you!
GREATTT VIDEO, VIRAJ CLEARED MANY DOUBTS
Thanks 🙏 and I am glad it helped
Hi vijay, doubt from india. I have few doubts Task-2 will execute in a separate thread??? 2) .thenCombine().thenApply() in this method chaining, these methods execute concurrently/parallely or one after the other??
any task that is passed to a CompleteableFuture.supplyAsync it creates a CompletableFuture, immediately queued to be run in the global thread pool(if not customized). you can do a lot of chain like this, but all these are queued in the threadpool. however the .then chains only work when the respective CompletableFuture's is done, i.e. the task itself is done.
6:47 output is of hex format, not base64. Thank you for the quick hands-on! 😊
Great series 👏
Glad you enjoyed
Very nice explanation.Thanks for this series
Happy you liked !
With your explanation, it seems login with Google or Facebook option on websites is using openId connect. Am I correct?
Correct 👍🏼
reactive programming is abstration gone wrong, just like FP
Wonderful explanation
Glad you liked it
Very nice and clear explanation !!
Glad you liked it
very nicely explained Viraj. Good job
Glad you liked it
Simply superb. Stand and deliver style
Thanks 🙏
final class has the function of making the generated class uninheritable
Also enums cannot extend from any other class
Thanks for clear explanation.. Kudos 🎉
Glad it was helpful!
13:19 I am not going to use anymore
You can use Structured Concurrency classes when it gets out of preview if you need concurrency. Virtual Threads + Structured Concurrency is cool
10:55 Automatic switching is cool
I think so too
Thanks for this video. By the way your Virtual Threads course is best out there.
Glad you think so!
Thanks! Nice explanation for use cases of OAuth and OpenID connect.
Glad it was helpful!
Hi Viraj, one question. when we use thenApplyAsync and supplyAsync methods in pipeline, these will be exectued by different threads, do not know, when supplyAsync will complete the execution of the task then how thenApplyAsync() will get know when the previous task is completed.
All these stages know about the pipeline. So when supply Async thread finishes the task, it will use the same thread to submit the lambda passed to thenapplyAsync to an executor service. They will run serially but in different threads
@@viraj_shetty thank you
@@kiranmayi-p1d you are welcome 🙏
Very nice explanation Viraj. Thank you.
You are welcome. Glad you liked it
Very good explanation...
Glad you enjoyed
Perfect
Glad you enjoyed
Wow great explanation. Please create more videos covering end to end
Thanks 🙏
Cool , thanks
You bet!
This just adds unnecessary complexity making the code unreadable and un-maintainable. Why not just write for loops and keep it simple? Streams do not provide any performance advantage over loops.
You have a point when it comes to complexity. In general functional style of programming is hard to get at first. It needs getting used to. Streams are very tightly coupled with Generics, Lambda expressions, Method References, Functional interfaces. It's not about performance (though you could argue in some cases you can use parallel streams). When you get used to functional programming, you will find it easier to create complex data structures - it will be less buggy.
@@viraj_shetty Thanks for the reply. I respectfully disagree, it's not about getting used to, it's about writing code that will be understood quickly and can be changed quickly by someone who has never seen the code before. I have seen non-trivial "functional" code that is a complete spaghetti of maps/collectors that spans over 50 lines and no one has a clue what's supposed to happen if we remove one of the "apply" calls :) I only care about performance, if I can save 10 micro-seconds by writing "for" loops, I will do it and "functional" style slows me down. Just my opinion, not that it matters :)
I guess we can write bad code given any tool. You will find functional coding styles now in every programming language.. It's yet another tool in the toolbox. Choose your poison wisely :)
Yes, please. Do create some extra videos with examples. Better still add in one of your Udemy courses, or create a new one, please.
Will do
Please create a udemy course on Core Java (deep dive).
Will try