- 59
- 8 563
Shandilya Codes
India
Приєднався 5 жов 2023
Hey there! I am a Software Engineer passionate about all things Computer Science! I am on a mission of building the largest free of cost tutorial content for Computer Science. Videos are designed and arranged as playlists to help you with progressive learning path from basic to advanced concepts. All the videos are highly researched and explained in the easiest possible English without any jargons or abstractions. I believe that once you remove jargons, Computer Science is indeed nothing but Common Sense.
On professional front I am currently working as a senior engineer with Uber. Before Uber I have worked with early stage to mid stage startups like Revsure & Clari. Prior to dipping my toes in the fast paced startup world, I have worked in large software corporations (Informatica, British Telecom, Netcracker, etc) where I was building enterprise grade software solutions. In total I hold 11+ years of experience in building and scaling backend services across diverse set of domains.
On professional front I am currently working as a senior engineer with Uber. Before Uber I have worked with early stage to mid stage startups like Revsure & Clari. Prior to dipping my toes in the fast paced startup world, I have worked in large software corporations (Informatica, British Telecom, Netcracker, etc) where I was building enterprise grade software solutions. In total I hold 11+ years of experience in building and scaling backend services across diverse set of domains.
Spring Boot Tutorial For Beginners | Build In Memory REST APIs using Spring Boot
In this video tutorial we'll learn Spring Boot by creating simple REST APIs. If you are new to Spring Boot, this video could your perfect introduction to the topic with good amount of hands on coding.
-----------------
Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html
Code Repo : github.com/shandilya07/Spring-Boot-IM
-----------------
👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
-----------------
Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html
Code Repo : github.com/shandilya07/Spring-Boot-IM
-----------------
👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
Переглядів: 45
Відео
Spring AOP Tutorial | Complete Hands On Coding Tutorial Of Spring AOP
Переглядів 3116 годин тому
In this video we learn about "Spring AOP Tutorial | Complete Hands On Coding Tutorial Of Spring AOP". Spring AOP is a very important concept to know for any matured Spring developer. I have covered all the required concepts in optimum depth and details along with suitable code examples to clearly explain and demonstrate even the most complicated concepts in the Spring AOP. Please do watch it an...
What Is Autowiring In Spring Framework | Explained In Depth With Code Examples
Переглядів 1119 годин тому
In this video we learn about "What Is Autowiring In Spring Framework | Explained In Depth With Code Examples". Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
How to Use @Component Annotation to Create Bean in Spring Framework | What Is Stereotype Annotation
Переглядів 1221 годину тому
In this video we learn about "How to Use @Component Annotation to Create Bean in Spring Framework". We also learn about what is meant by stereotype annotations in Spring Framework. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
What Is @Primary Annotation in Spring Framework
Переглядів 14День тому
In this video we learn about "Why Use @Primary Annotation in Spring Framework". This is the 6th episode of Mastering Spring Framework playlist. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
How to give CUSTOM Name to a Bean in Spring
Переглядів 11День тому
In this video we learn about "How to give CUSTOM Name to a Bean in Spring" Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
How to resolve NoUniqueBeanDefinitionException in Spring
Переглядів 12День тому
In this video we learn How to resolve NoUniqueBeanDefinitionException in Spring caused due to not passing Bean name in the get bean method while fetching bean from the bean container. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
How to create beans in spring using @Bean annotation
Переглядів 14День тому
In this video we learn about How to create beans in spring using @Bean annotation. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html Code Link : github.com/shandilya07/SpringBeans 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀
What Is IoC Container In Spring | Explained in 3 minutes
Переглядів 1914 днів тому
This video teaches about What Is IoC Container In Spring. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀 Chapters 0:00 Introduction 0:05 Agenda 0:27 Why IoC container? 0:47 What are BEANS? 1:09 Where are BEANS kept? 1:28 Types of IoC/Bean containers 1:58 Roles of IoC container 2:24 Ways of supplying configuration 2:53 Goodbye & Take ca...
Introduction To Spring Framework | Inversion Of Control & Dependency Injection
Переглядів 6314 днів тому
This video is an introduction to spring framework. It also includes an interesting ELI5 discussion to the topic of Inversion of Control & Dependency Injection. Playlist : ua-cam.com/play/PLG-dyv583o8yUvYCP_oCxew-qv0yCInmB.html 👉🏼 Subscribe us : bit.ly/subcodecraft 🚀 Chapters 0:00 Introduction 0:05 Agenda 0:57 Application Development 1:53 Backend Development 2:41 Backend Development In Java 3:12...
Time and Space Complexity Analysis COMPLETE Tutorial | What is Big O? | Taught By An Uber Engineer
Переглядів 3355 місяців тому
Time and Space Complexity Analysis COMPLETE Tutorial | What is Big O? | Taught By An Uber Engineer
What Is Fork Join Pool In Java | Explained With Code | Complete Multithreading Tutorial Series Ep 33
Переглядів 2285 місяців тому
What Is Fork Join Pool In Java | Explained With Code | Complete Multithreading Tutorial Series Ep 33
What Is Mutex In Java? | Complete Multithreading Tutorial Series Ep 32
Переглядів 515 місяців тому
What Is Mutex In Java? | Complete Multithreading Tutorial Series Ep 32
What Is Semaphore In Java? | Explained With Code | Complete Multithreading Tutorial Series Ep 31
Переглядів 555 місяців тому
What Is Semaphore In Java? | Explained With Code | Complete Multithreading Tutorial Series Ep 31
What Is Deadlock In Java? | Detect & Resolve Deadlocks | Complete Multithreading Series Ep 30
Переглядів 555 місяців тому
What Is Deadlock In Java? | Detect & Resolve Deadlocks | Complete Multithreading Series Ep 30
What Is Volatile Keyword In Java? | Code Example | Complete Multithreading Tutorial Series Ep 29
Переглядів 665 місяців тому
What Is Volatile Keyword In Java? | Code Example | Complete Multithreading Tutorial Series Ep 29
What Is ReadWrite Lock In Java? | Complete Multithreading Tutorial Series Ep 27
Переглядів 635 місяців тому
What Is ReadWrite Lock In Java? | Complete Multithreading Tutorial Series Ep 27
What Is Reentrant Lock In Java? | Complete Multithreading Tutorial Series Ep 26
Переглядів 1515 місяців тому
What Is Reentrant Lock In Java? | Complete Multithreading Tutorial Series Ep 26
What Is Lock Condition in Java? | Complete Multithreading Tutorial Series Ep 25
Переглядів 515 місяців тому
What Is Lock Condition in Java? | Complete Multithreading Tutorial Series Ep 25
What Are Locks in Java? | Complete Multithreading Tutorial Series Ep 24
Переглядів 455 місяців тому
What Are Locks in Java? | Complete Multithreading Tutorial Series Ep 24
What Is CopyOnWriteArray in Java? | Complete Multithreading Tutorial Series Ep 23
Переглядів 295 місяців тому
What Is CopyOnWriteArray in Java? | Complete Multithreading Tutorial Series Ep 23
What Is Exchanger in Java? | Complete Multithreading Tutorial Series Ep 22
Переглядів 515 місяців тому
What Is Exchanger in Java? | Complete Multithreading Tutorial Series Ep 22
What Is CyclicBarrier in Java? | Complete Multithreading Tutorial Series Ep 21
Переглядів 1005 місяців тому
What Is CyclicBarrier in Java? | Complete Multithreading Tutorial Series Ep 21
What Is ConcurrentMap in Java? | Complete Multithreading Tutorial Series Ep 20
Переглядів 485 місяців тому
What Is ConcurrentMap in Java? | Complete Multithreading Tutorial Series Ep 20
What Is BlockingQueue in Java? | Complete Multithreading Tutorial Series Ep 19
Переглядів 575 місяців тому
What Is BlockingQueue in Java? | Complete Multithreading Tutorial Series Ep 19
What Is CountDownLatch in Java? | Complete Multithreading Tutorial Series Ep 18
Переглядів 595 місяців тому
What Is CountDownLatch in Java? | Complete Multithreading Tutorial Series Ep 18
What Are Synchronized Collections In Java? | Complete Multithreading Tutorial Series Ep 17
Переглядів 825 місяців тому
What Are Synchronized Collections In Java? | Complete Multithreading Tutorial Series Ep 17
What Is Callable And Future In Java? | Complete Multithreading Tutorial Series Ep 16
Переглядів 625 місяців тому
What Is Callable And Future In Java? | Complete Multithreading Tutorial Series Ep 16
What Is The Ideal Thread Pool Size In Java? | Complete Multithreading Tutorial Series Ep 15
Переглядів 575 місяців тому
What Is The Ideal Thread Pool Size In Java? | Complete Multithreading Tutorial Series Ep 15
What Is Scheduled Thread Pool In Java? | Complete Multithreading Tutorial Series Ep 14
Переглядів 605 місяців тому
What Is Scheduled Thread Pool In Java? | Complete Multithreading Tutorial Series Ep 14
good man , that subscribe things also can you plz stop this b sound , this maked us sleep
Haha! Thanks for the feedback. I'd work on this in the further videos. Keep watching and hope you found the content useful
This is one of the best channel.... thank you Shandilya bhai for sharing your knowledge with us. Is paropkar ke lie bhagwan aapko sab sukh samriddhi de 🙏
Bahut bahut dhanyawad bhai saab! Happy learning :)
bro you're gem
Thanks for watching, I am glad you liked it :) Happy learning.
Hi Sir, please make one video on how you setup your Intellij like the way it's in video. it looks super attractive and hence it will help us being productive :) Please please please 🙏🙏🙏
Thanks for your comment Ankit! I have it planned, will make a video on this soon :) Keep watching and learning, thanks!
@@shandilyacodes Desperately waiting for it ;)
When will you create part 2 for Multithreading which will have parallel streams and many other topics?
I have it planned for upcoming months, keep watching :) Thanks for your comment!
very productive playlist. Learnt a lot. Thank you so much.
:) Glad you found it helpful! Thanks!
19:43 Oh man! just look at that fork() method. Yes you are right. It is indeed recursion on steroid!
Thanks for your comment, I am glad yo found it helpful :)
Very nicely taught. Can you add "Phaser" to the playlist. Very confused with its overall concept. MAIN THREAD is also one of the parties in it. Why do we have to mention int parties in awaitAdvance method. I think you can do justice in explaining it and demonstrating it in your style.
Noted! I'd try to cover this topic on my channel :)
Wooooo you nailed it ❤❤❤
Thanks for your comment, I am glad yo found it helpful :)
Awesome sir jee ❤❤❤❤❤
Thanks for your comment, I am glad yo found it helpful :)
superb.. specially that theory around "line of truth"
Thanks for your comment, I am glad you found it helpful :)
Hi Ramendu, I just want to know if there exists different Write and Read locks in ConcurrentHashMap implementation..
So here is how it goes. In Java implementation of ConcurrentHashMap, write operations like put or remove acquire exclusive locks on specific segments (or buckets); it ensures thread-safe updates by preventing other threads from modifying the same segment. However, it allows multiple segments to be updated simultaneously, enhancing concurrency (Understand this as locking is done on a per-segment (or per-bucket) basis). Read operations like get are lock-free, leveraging volatile variables to ensure visibility of the latest data, allowing multiple threads to read concurrently without contention. Hope this helps :) Thanks for watching!
@@shandilyacodes first of all thank you so much for sharing the detail. so there can be multiple locks acquired on different buckets (one lock per bucket) for writes and for reads there are volatile variables to ensure visibility from shared L3 cache as you taught.
👍 Good video. Understood now. Thank you.
Thanks for your comment, I am glad yo found it helpful :)
I read somewhere, that it is always advised to put wait in some sort of conditional while-loop. But in this example as it is being notified from both ends we can omit that rule.
Yes, putting wait in loop could lead to busy waiting, this was done only to show and demonstrate the current video example :) Thanks for watching and sharing your thoughts!
Yes you are right. *bufferNotFull* and *bufferNotEmpty* are confusing. You could have used some different nomenclature like _makeBufferFull_ , _makeBufferEmpty_ or may be _bufferToBeFull_ and _bufferToBeEmplty_ . But otherwise this is so cool example! Thank You for sharing this.
Thanks for your comment. I am glad you found it helpful :)
Masha Allah brotha , I completed this tutorials from start to end in less than a week , awesome bro . Very good Explanation . I am planning to start these kinds of cool lecture in the near future planning to help other people Since then see ya
Thanks for your comment, I am so glad you found the tutorial helpful :)
Please explain concurrent collections in shorts (CopyOnWriteArrayList,Blocking queue,ArrayBlockingQueue, priorityblockedqueue,linkedblockingqueue) seperately
Thanks for your comment, hope this was helpful. All these topics are planned and in pipeline :) They are coming soon!
Can u explain the difference between synchronise(this) and synchronised(other external object) please explain if possible by a short
Or synchronized(private static object)
Sure! I'd try to create a video on this, but for now to answer your question find the answer below When you use synchronized(this), it locks the current object (this) for synchronized access. It ensures that only one thread can execute synchronized code blocks on this object at a time. When you use synchronized(otherObject), it locks the specified external object (otherObject). It allows synchronized control over a different object, not just the current instance. Use synchronized(this) for instance-level synchronization and synchronized(otherObject) when you need to coordinate threads across different objects or shared resources. Hope this was useful and answered your question! :)
Please create videos on spring security i face a lot of problem ur videos are so easy to understand and grasp the content even in 2x please take this as a request and upload asap
Thanks for you comment. I am glad you found it helpful. I have plans to make an elaborated series on Spring Security, please stay tuned :)
great brother your playlist very useful. thank you for these videos
Thanks for your comment :) I am very glad you found the playlist useful. Please keep supporting my work by subscribing, liking and sharing the videos :)
Very nice explanations. Thank you so much bro :)
Thanks for your comment :) I am glad you found it helpful, happy learning!
Looks like we still need to keep track of ids and the responses of the LLM and send it with every prompt, doesn't that will blow up the 'context-window' of the model and also the cost repercussions.
Thanks for your comment. Yes, sending the ids and LLM response in each conversation indeed does blow up the context window. That's why I suggested one approach where we can use the LLM itself to summarise the discussion so far in short if the context window goes beyond certain size. Other approach is to be track only a few of the last conversations, but downside is LLM could lose track of the previous details, for example, we have had 100 conversations in a thread, but we are tracking only last 25 conversation, so depending on how related things are loss of the previous 75 conversation could lead to uncertain response. Other approach could be create some sort of relation (a directed graph may be?) between the conversation, and use that wisely as needed. So given that LLMs are stateless, idea is to get as creative as possible to get the most optimal result without blowing up the token cost :) Hope you found the video and this comment useful. Thanks!
@@shandilyacodes Thanks for replying back, interesting to hear your thoughts on this. Could you please suggest how the `ChatMemory` object of Spring AI package can help in this regard.
Very informative! Keep sharing such videos. Please consider covering LLD questions that handles concurrency.
Thanks for your comment Jyoti! Glad you found this helpful. Sure, I'll try to cover LLD question involving concurrency in future :) Also, if you have topic in mind related to LLD involving concurrency, please suggest, that'll help me in deciding on the topic better.
@@shandilyacodes yep,Can you make video on Pub Sub Model
I've never seen such an excellent explanation on UA-cam. You're a gem! Keep up the great work. Please consider covering system design as well
Thank you for your comment :) I am glad you found the explanation excellent! Yes, I have extensive plans to cover system design as well. I will be releasing extensive playlists covering basic operating system concepts, networking concepts, which will be followed by System design in coming months. Stay tuned!
@@shandilyacodes thankyou
hi brother, what type of IDE, are you using. How include the theme on the IDE.
Hello! Thanks for your comment. I am using Intellij Idea with material theme :) Please subscribe my channel if not done already to support my work!
@@shandilyacodes thank you brother, i already subscribed and perfered to my friends. Your playList is more helpful to understand this concepts.
@@kalaiarasanpa Thank you! :) Appreciate your help and support!
You have good experience by seeing your video. Please make videos on micro services design pattern as one series
Thanks for your comment, I am glad you liked my video :) Sure, an extensive series on micro services, design patters is in pipeline :) If not done already subscribe my channel to support me!
Nice. Keep it up.💪
Thank you! Glad you liked it.
Thanks for tutorial!! whats the code editor & distro that you're using?
Thank you! Glad you liked the tutorial. I am using Intellj Idea with some customisations on a Macbook. Please subscribe if not done already :)
When compare to freecodecamp here learning must simple and easy for cover these topics. Thank you
Nice Explanation Sir!! Can you upload more content related to a Java developer?
Glad that you loved the explanation. Please tell me what topics you want tutorial on, I'd add them to my todo list and will surely make videos on those. Thanks for watching, if not done already please subscribe :)
@@shandilyacodes I've already subscribed ! Following Topics Are required: Servlet, JDBC, RDBMS(MYSQL) Thank You Sir !!
@@RajKhade-r1h Sure thing!
Which Intellij theme is that, it's awesome
It's material theme with a background set to some transparency 😊
Nice tutorial 🔥
Glad you found it helpful 😊 Do subscribe for more content 😅
Is this outated? I later found ChatClient and InMemoryChatMemory, no need to implement ourselves :)
I was wondering why my model lost context when I asked a 2nd question and you saved my day! So, all the history prompt will also be regarded as token_count right? And it will accumulate each time I continue a conversation, if so, that will spend me quite a bit money.
Ah, I realized the prompt history just contains the question part, not that much then
Thanks for your comment and I am glad you found the video helpful. To answer your question, yes, all that you send in the conversation context would be counted towards total token consumption and will cost money. One workaround to this is with two combined approaches 1. Keep only a range of last 'few' questions and answers in the discussion for the context. For example, last 7 questions and their answers 2. Summarise the discussion so far so that LLM has the context but less tokens are used Ofcourse, both the approaches have their own pros and cons, but for some one who is on a budget and wants to play around, these two approaches are good starting point. If it was helpful, please do consider subscribing my channel, thanks again!
Excellent tutorial.
Thanks for your comment. I am glad you liked. If not done already, I request you to please subscribe and help the channel grow :)
Thanks for the great video! I had previously done something similar and stored the conversation context in a mySql db. I really like how you have used the delimiter. I will try this and see if it improves the chat responses I get. Also your system prompt is really well done.
Thanks for your comment and glad that you found the content helpful :) Pls subscribe if not done already! If you like the prompt, today I'll be releasing a video on using Prompts with Spring AI, hopefully you'd like that as well :)
litrally me rn fr fr
Haha :) Can relate! Spring AI is fun.
Bro, you should make a tutorial series on spring AI module. I came from reddit, btw
Thanks for the comment buddy, I already have a Playlist in progress on Spring AI module. I try to add atleast tutorial on atleast one topic every two days. Have covered two topics 1. How to setup Spring boot project for chat completion api using open ai key and 2. How to give memory to a conversational AI to retain the context of a conversation. Here is the link, ua-cam.com/play/PLG-dyv583o8woeeMV5N08X-sE3jz0vJ6o.html , check it out :)
*Bro can you tell me the niche 100$ rpm?*
Sorry brother! This video is about making Spring AI applications, I am not sure what you are asking here. Let me know if you have any questions relevant to this video. Thanks.