The 2021 Java Developer RoadMap [UPDATED]

Hello guys, first of all, I wish you a very Happy New Year 2021. I have been sharing a lot of roadmaps to become a Web developer, DevOps engineer, and recently React.js developer. One of the requests I received from many of my readers was for creating a Java Developer Roadmap. Since Java is my expertise, It wasn't a problem to create a Java Developer Roadmap, but it took slightly longer for me to create one because of the limited time I get. Anyway, I am finally ready to share my Java developer RoadMap with you. This Roadmap contains my years of experience and the unobstructed path of how to become a Java expert. It answers many burning questions like which technologies a Java developer should learn? What tools make you a better Java developer? And, which framework a Java developer must absolutely learn.

Top 5 Courses to Crack AWS Solutions Architect - Associate Exam (SAA-C01) - Best of Lot

Hello guys, are you preparing for AWS Solutions Architect - Associate Exam?  or Do you want to become Amazon Web Services (AWS) Certified Developer to give your Cloud Computing career a push? and looking for some useful resources to prepare well for your exam then you have come to the right place. In the past, I have shared some free courses to learn AWS for beginner and in this article, I will share some of the best online courses to pass the AWS Solutions Architect - Associate Exam and become Amazon Web Services Certified Associate - a certification which will not only add value into your resume but also help you to get the high-paying job you always wanted.

10 Tips to Become a Better Java Developer in 2021 [UPDATED]

I often receive emails from my readers about how they can become a better Java developer, what things they should learn, and which area they can work on to become a Rockstar Java developer. After answering them individually over the last few years, I thought to jot down a couple of points, which I think will make you a better Java Programmer and Application developer. But, before going into that, I would like to stress that a better programmer is always a better Java developer, and that's why all the tips I have shared before to improve your programming skill and become a better programmer still holds true.

Top 10 Courses to Learn JavaScript in 2021 - Best of Lot

There is no doubt that JavaScript is the most popular programming language at this moment, and it's also confirmed by StackOverFlow's Survey. You can build static websites, web applications, native mobile applications (yes, you can do that too), desktop applications, and even server-side applications in JavaScript. It also makes you a hundred times more employer as there are tons of web development jobs out there. Because of that, more and more developers are learning JavaScript to become web developers.

Top 10 Computer Programming, Artificial Intelligence, and Sci-Fi Movies for Programmers and Tech geeks

Hello guys, being a computer programmer, I love movies that are based on programmers' life, work, and concept. Thankfully Hollywood is no short of films based on computers, programming, and geeky technical stuff. Another day, I was pretty bored, and when I look back to my DVD collection, I found Inception, Matrix Reloaded, and The Social Network, this all movies are in some way related to computers and technology, which strike me the idea to publish my list of Top 10 Computer programming movies.

Top 5 Courses to Learn Angular Framework in 2021- Best of Lot

If you are a Web developer or someone who wants to learn Angular for web development and looking for some excellent resources, like books, online courses, and tutorials, then you have come to the right place. In the past, I have shared some of the best Angular tutorials, and today, In this article, I am going to share some of the best Angular courses to learn modern-day web development. If you don't know what Angular is and how it helps you to develop modern-day web development, let me give you a brief overview. It's a Javascript front-end framework that allows you to build a modern big e-commerce web application as well as a single page web application that runs on a browser.

Top 10 Technology Jobs Programmers and Software Engineers Can Aim in 2021 for Better Salary

If you are a Computer Science Graduate or someone who is thinking of making a career in the Software development world or an experienced programmer who is thinking about his next career move in 2021 but not so sure which field you should go then you have come to the right place. In this article, I will tell you the top 10 highest paying technical jobs you can aim for. All you need is some Programming and Coding experience and a passion for learning. Particularly the Machine learning and Data science field looking very promising for fresh Computer Science graduates, beginners, and experienced programmers.

Top 10 Free Courses to Learn Python in Depth - Best of Lot

There is no doubt that Python is currently the world's #1 programming language and the biggest advantage of that is it's bringing more and more people into the programming world. In recent years, I have seen more people learning Python than any other languages, yes, not even JavaScript. Many of them learning Python to explore some awesome Data Science and Machine learning libraries provided by Python. Some people are also learning Python for web development and there are still many developers who are learning Python for scripting and automating trivial tasks. It doesn't matter why you are learning Python at this moment, it's a great thing in itself that you have decided to learn Python.

10 Reasons to Learn Python Programming Language in 2021

If you are a regular reader of this blog, then you may be wondering why am I writing a blog post to tell people to learn Python in a Java blog? Didn't I ask you to prefer Java over Python a couple of years ago? Well, things have changed a lot since then. In 2016, Python replaced Java as the most popular language in colleges and universities, and since then, it has never looked back. Python is growing and growing big time. If you read programming and technology news or blog post, then you might have noticed the rise of Python as many popular developer communities, including StackOverflow and CodeAcademy has mentioned the growth of Python as a dominant programming language.

Top 5 Free Git Courses for Programmers to Learn Online - Best of Lot

One of my goals is to learn and master Git and Github this year and I have been searching for some good tutorials and courses to start with. The Internet is full of git tutorials and a simple Google search will leave you thousands of tutorials but the big question mark is where do you start? It's easy to pick a tutorial or a blog post if you have some background about what is Git, what it does? and how to use it but if you don't have much background then you need a course that can tell you all the information from the ground up. I personally like learning from a book or an online course before moving to blog posts as they were often well structured.

Top 3 Programming Languages Java Developers Can Learn in 2021

If you are a Java programmer and thinking to learn some news programming languages to expand your knowledge and skill, but not sure which programming language is better for you then you have come to the right place. In this article, I'll share 3 programming languages Java developers should learn in 2021 and why they should learn them. There is no surprise that all of these programming languages are JVM-based programming languages but they all have different qualities that make them unique and useful for a certain task. Also, being a Polyglot developer is good quality and often valued high on interviews. It also expands your thinking because different programming languages have different features that make certain things really easy.

Top 5 React and Redux Courses to Learn Online - Best of Lot

If you are a Web developer or someone passionate about web development and looking for some awesome courses to learn React or React JS, a popular JavaScript framework to develop a component-based user interface then you have come to the right place. Facebook's React library has taken the front-end development world by storm. More and more people have started using React even in favor of Google's Angular, another popular front-end development framework. Well, I am not going into the classic debate of Angular vs React as both the framework has their own advantage and disadvantage but if you have chosen to learn React, you have made the right decision.

Top 10 Gift Ideas for Programmers, Software Engineers, and Tech Geeks

Hello guys, it's that time of the year again when we buy gifts for our loved ones, friends, and colleagues. If you are looking for gift ideas for your programmer friends and colleagues then you have come to the right place. My friend circle has a lot of programmers and non-programmers. When it comes to buying gifts for birthdays, anniversaries, or holidays, I receive a lot of queries from my non-programmer family and friends about what to buy for a programmer? Well, buying a gift is easy but choosing or finding the right gift for someone is really really tough. I have had this experience when it comes to buying gifts for kids. 

Top 5 Free Data Structure and Algorithm Courses for Java and C Programmers

Data Structure and Algorithm is one of the essential topics for programmers, both to get a job and do well on Job. Good knowledge of data structure and algorithm is the foundation of writing good code. If you are familiar with essential data structures e.g. array, string, linked list, tree, map, and advanced data structure e.g. Tries, AVL trees, etc and know when to use which data structure and compute the CPU and memory cost of your code in terms  Even though you don't need to write your own array, linked list or hashtable, given every major programming SKD provides them e.g. JDK or C++ STL library, you will need to understand them so that you can use them in right place. Using the right data structure can drastically improve the performance of an algorithm.

10 Things Java Programmers Should Learn in 2021 [UPDATED]

It's 24th December now, and only a few days have left in the year 2020, one of the year which no one will forget the rest of their life. Now, it's time to look back and retrospect what you have achieved in 2020 and what you could have done better, despite all the challenges 2020 has thrown to all of us. This will help you to create your goals for 2020. As a programmer, our biggest challenge is to keep ourselves up-to-date. Technology changes very fast, and you will see a new version of programming language and framework coming to every couple of years. This year has plentiful changes with keeping up-to-date with a new Java version every 6 months, Spring 5, Spring Security 5, and Spring Boot 2; it's probably the busiest year in terms of changes for Java developers.

Where and How to download Spring Framework JAR file (Spring 5.0 or Spring 4.0) without Maven, Gradle

One of the easiest and oldest ways to run a Java program which depends on an external library or framework is to download dependency JAR files, put them on the classpath and then run the program by creating a Main class with the main() method. This is simple but not as easy as you think, there are many challenges down the road e.g. you need to find the right version of JAR files and their dependencies e.g. Spring might have a dependency on other third-party libraries like Log4j. So, when the build tool like Maven and Gradle comes, everybody stopped downloading the JAR file manually.

Udemy vs DataCamp Review? Which is better to Learn Python, SQL, and Data Science?

Hello guys, if you want to learn Python, SQL, DataScience, and Data Analysis and wondering whether you should go for Udemy or DataCamp then you have come to the right place. Earlier, I have published a review of Udemy vs Coursera and Udemy vs Pluralsight and in this article, we will review Udemy vs DataCamp. When it comes to learning Data skills like SQL, Data Science, Data Visualization, Tableau, Microsoft Power BI, Datacamp has some of the best resources and that's the unique selling point for them but what about price? Well, these are the questions which I have tried to answer in this article. 

3 Best Spring Security Online Training Courses for Java Developers

The Spring Security is one of the leading open-source, security framework which allows you to implement security in Java-based web applications. It provides several security features like authentication, authorization, remember me out-of-the-box, which means you can directly use them without adding code or changing your class. Yes, Spring Security implements security at the application level i.e. you can even secure your non-secure resource without modifying them. It is also the leading framework to secure RESTful Web Services. Because of all these, the demand for Java developers with good knowledge of Spring Security is very high.

Udemy's The Data Science Course 2021: Complete Data Science Bootcamp Review - Is it worth it?

Hello guys, if you want to learn Data Science and looking for the best courses or want to join The Data Science Course 2021: Complete Data Science Bootcamp course on Udemy but not sure whether this course is right for you then you have come to the right place. Earlier, I have shared the best Data Science courses and in this article, I am going to review this popular Udemy course to learn Data Science in 2021. This is one of the most popular Udemy courses when it comes to learning Data Science and with more than 360K students it's right there with the Data Science A-Z course by Kirill Eremenko, my favorite Udemy instructor for Data Science and Machine Learning. 

How HTTP Basic Authentication works in Spring Security?

In the last article, you have learned how to enable Http basic authentication in Spring security-based Java application, and now we'll go one step further to understand how exactly http basic authentication works in Spring security. If you remember, when you use HTTP Basic for authentication purposes, the client, like a browser or a rest client sends login credentials in the http request header. The header is aptly named "Authorization," and it contains a Base64 encoded string, which is created by concatenating username and password using a colon. For example, if the username is "johnsmith" and the password is "JOHN3214" then they will be concatenated as "johnsmith:JOHN3214" before encoded using base 64 encoding algorithms.

Top 10 DevOps Courses for Experienced Programmers to Learn Online - Best of Lot

DevOps is really hot at this moment, and many job opportunities are lying for distinguished engineers and DevOps professionals. If you are an experienced Java programmer and want to become a DevOps engineer, then you have come to the right place. In this article, I am going to share some of the best online training courses you can take to become a DevOps professional. The most crucial advantage of DevOps is that it helps you to deliver better software and provide more control over your environment and software development process with the help of modern tools and automation. That's the reason the demand for DevOps professionals is growing exponentially. It's also one of the high paying jobs along with Data Science and Machine learning specialists.

How to enable Spring Security in Java Web application?

Spring Security is one of the most popular open-source frameworks to implement security in Java web applications in a declarative way. It provides several essential security features like LDAP authentication, authorization, role-based access control,  remembers the password, URL protection, concurrent active sessions management, etc. To enable Spring security in Java Web application, you need to configure three things -  declare a delegating proxy filter in web.xml, add the ContextLoaderListener in web.xml and provide actual security constraints on applicationContext-Security.xml file. Since Spring security uses a chain of filters to implement various security constraints, also known as Spring's "security chain filter", it relies on web container for the initialization of delegating filter proxy.

Top 5 Online Courses to Learn React Native for Beginners in 2021 - Best of Lot

If you are a web developer who wants to go into the massive world of mobile app development but don't want to spend time learning Java or Kotlin for Android development, or Objective C or Swift for iOS development, then React Native could be an excellent tool for you. React Native is an extension of React, a popular JavaScript framework to develop web applications, which allows you to build native Android and iOS applications in JavaScript. Unlike Ionic and Cordova, which promotes write once run everywhere but doesn't offer you to create a native app, React Native does convert your code into native code, especially for GUI.

Top 3 Spring Security Books and Courses to Learn in 2021 - Best of Lot

Spring Security is one of the big projects under the Spring framework umbrella which addresses the security requirements of modern web applications. Since Security is a paramount concern for enterprise Java applications, good knowledge of a security framework like Spring security goes a long way in someone's career. It not only helps you to become a full-stack developer but also opens a lot of opportunities in terms of job and career growth. There is a lot of demand for Java developers who know the Spring framework and understand how to secure their application on the web. They are also one of the highest-paid professionals in the Java world, where a Java developer with Spring + Spring Security getting anywhere to 120,000 - 150,000 USD or equivalent across the globe. Even in India, you get a lot of excellent opportunities, exciting work, and a higher salary if you have these skills.

Top 5 Courses to Learn Jenkins for CI/CD and DevOps in 2021

In today's world of Agile and DevOps, Jenkins has become an indispensable tool for both Java programmers and DevOps engineers. Jenkins allows you to set up continuous integration (CI) and continuous deployment (CD) pipeline, which reduces risk on Software development and delivery. This means hassle-free development and deployment. It also means quicker feedback because as soon as a commit has been made into a source control system like Git, Jenkins can start building artifacts and running unit tests. If the build failed due to an issue or if a unit test doesn't pass, you will receive an email instantly. This quick feedback loop ensures that your codebase remains error-free.

How to limit number of concurrent session in a Java web application using Spring Security?

If you don't know, Spring security can limit the number of sessions a user can have in a Java web application. If you are developing a web application especially a secure web application in Java JEE then you must have come up with the requirement similar to many online banking portals have like only one session per user at a time or no concurrent session per user. If the user tries to open a new session then either an alert is shown or his previous session is closed. Even though you can also implement this functionality without using spring security but with Spring security, it's just a piece of cake with coffee :). 

Top 5 Java Multithreading and Concurrency Courses for Experienced Programmers - Best Of Lot

If you are a Java developer and looking for some awesome resources e.g. books and courses to improve your multi-threading and concurrency skills in Java then you have come to the right place. In the past, I have shared books and tutorials on Java Concurrency and Multithreading, and in this article, I am going to talk about some of the best free and paid courses to learn multi-threading and concurrency in Java. You can join these free courses to improve your understanding of Java Concurrency and Multithreading. It's one of the most important skills for Java developers as almost all the companies who interview Java developers pay particular attention to his knowledge and experience in this area.

2 Ways to setup LDAP Active Directory Authentication in Java - Spring Security Example Tutorial

The LDAP authentication is one of the most popular authentication mechanism around the world for enterprise application and Active directory (an LDAP implementation by Microsoft for Windows) is another widely used LDAP server. In many projects, we need to authenticate against active directory using LDAP by credentials provided in the login screen. Sometimes this simple task gets tricky because of various issues faced during implementation and integration and no standard way of doing LDAP authentication in a Java web application. Even though Java provides LDAP support but in this article, I will mostly talk about spring security because of it's my preferred Java framework for authentication, authorization, and security-related stuff.

Top 5 Postman Online Courses for Java Web Developers and API Testers

There is no doubt that Postman is one of the most popular and essential tools for API development and testing, particularly for front-end web developers. It is used by over 3 million developers across the world, which is a good indication of the fact that Postman is an essential tool for REST API development and API Testing. It is also one of the vital tools for Web Developers, and I have already included Postman in my list of 10 Things Every Web Developer should learn in 2021. If you agree with me that Postman is definitely worth learning for frontend and backend developers and looking for some excellent resources to master this awesome tool, then you have come to the right place. In this article, I am going to share some of the best online courses and tutorials to learn Postman for API testing and development.

How to enable HTTP Basic Authentication in Spring Security using Java and XML Configuration

In the last article, I have shown you how to enable Spring security in Java application and today we'll talk about how to enable Basic HTTP authentication in your Java web application using Spring Security. I'll show you how to do that using both the Java configuration and XML configuration if you are using Spring Security 3.1 or lower version, but before that let's understand what is Http basic authentication and why do you need that? One of the most common ways to authenticate a user in a web application is by using a form login like you provide a login page and the user will enter his username and password for authentication. This works great for human users but sometimes there are situations where you can't use a login form for authentication.

Top 5 Courses to Learn Python 3 in 2021 - Best of Lot

If you are a Programmer or a Computer Science graduate and thinking of learning Python in 2021, then you have come to the right place. In this article, I am going to share some of the best online courses to learn Python in 2021. Python is one of the most popular programming languages, and it's used in many domains, like Web development, Automation, Data Science, Machine learning, etc. In recent years, Python has also become a default language for Data Science and Machine learning Projects, and that's another reason why many experienced programmers are learning Python in 2021. It's also one of the top languages on my list of programming languages to learn in 2021. But, for all its power and flexibility, Python is still a straightforward language to learn and often touted as a beginner's programming language.

What is SecurityContext and SecurityContextHolder in Spring Security?

The SecurityContext and SecurityContextHolder are two fundamental classes of Spring Security. The SecurityContext is used to store the details of the currently authenticated user, also known as a principle. So, if you have to get the username or any other user details, you need to get this SecurityContext first. The SecurityContextHolder is a helper class, which provides access to the security context. By default, it uses a ThreadLocal object to store security context, which means that the security context is always available to methods in the same thread of execution, even if you don't pass the SecurityContext object around. Don't worry about the ThreadLocal memory leak in web application though, Spring Security takes care of cleaning ThreadLocal.

Top 5 Courses to Learn Hibernate and JPA in 2021 - Best of Lot

Hibernate is one of the essential frameworks for Java and Java EE or JEE programmers, especially if you are working on the server-side of a Java Web development project. It's an ORM tool or a framework that allows you to deal with only objects while Hibernate takes care of your data on your behalf. For example, instead of writing classes with SQL to load, save, and update data using the DAO design pattern, you can simply use the Hibernate framework in your project. It will allow you to deal with just objects while it will load, save, and update data in the background. It's also one of the top Java frameworks in my list of top 10 Java frameworks Programmers can learn.

Role based Access control using Spring Security and MVC, Mapping LDAP Groups to Authorities for Authorization

Authentication and Authorization is an integral part of any Java enterprise or web application. Since most of the company uses LDAP Active directory for authentication, authorization, and Role-based access control (RBAC), it's good to know How to implement Role-based access control using Spring MVC and Spring Security. This is the second part of my articles on using Spring Security for authentication and authorization in Spring MVC based Java application. In the last part, we have learned about doing LDAP authentication against Windows active directory, and in this Spring Security tutorial, we will learn How to map LDAP groups to authorities for implementing Role-based access control or authorization.

Top 5 Courses to Learn Hadoop and Big Data in 2021 - Best of Lot

If you are learning Big Data and want to explore the Hadoop framework and looking for some excellent courses, then you have come to the right place. In this article, I am going to share some of the best Hadoop courses to learn Hadoop in depth. In the last couple of articles, I have shared some Big Data and Apache Spark resources, which are well received by my readers. After that, a couple of my readers emailed me and asked about some Hadoop resources, like books, tutorials, and courses, which they can use to learn Hadoop better. This is the first article in the series on Hadoop; I am going to share a lot more about Hadoop and some excellent resources in the coming month, like books and tutorials.

JDBC Database Connection Pool in Spring Framework – How to Setup Example

Setting up JDBC Database Connection Pool in Spring framework is easy for any Java application, just matter of changing a few configurations in the spring configuration file. If you are writing core java application and not running on any web or application server like Tomcat or  Weblogic,  Managing Database connection pool using Apache Commons DBCP and Commons Pool along-with Spring framework is a nice choice but if you have the luxury of having web server and managed J2EE Container, consider using Connection pool managed by J2EE server those are a better option in terms of maintenance, flexibility and also help to prevent java.lang.OutofMemroyError: PermGen Space in tomcat by avoiding loading of JDBC driver in web-app class-loader.

Top 5 Courses to Learn TypeScript for Web Developers in 2021 - Best of Lot

Hello guys, if you are thinking of learning TypeScript this year and looking for some excellent resources like books, courses, and tutorials, then you have come to the right place. In my last few articles, I have shared some of the best Angular framework tutorials and courses, and today, I am going to share some of the best TypeScript online courses you can join to learn it by yourself. Many programmers and web developers are learning TypeScript because of its powerful syntax and advanced OOP features and, more importantly, to develop Angular based application. Since the Angular team has chosen TypeScript as the official language for Angular development, it's crucial to know TypeScript if you want to make full use of Angular, but that's not the only reason you should learn TypeScript.

How to call Stored Procedures from Java using IN and OUT parameter - Spring Framework Example Tutorial

Spring Framework provides excellent support to call stored procedures from Java application. In fact, there are multiple ways to call stored procedures in Spring Framework, e.g. you can use one of the query() method from JdbcTemplate to call stored procedures, or you can extend abstract class StoredProcedure to call stored procedures from Java. In this Java Spring tutorial, we will see the second approach to call a stored procedure. It's more object-oriented, but at the same time requires more coding. StoredProcedure class allows you to declare IN and OUT parameters and call stored procedure using it's various execute() method, which has protected access and can only be called from a subclass.

Top 5 Courses to Learn Dynamic Programming for Coding Interviews - Best of lot

Hello guys, If you are looking for a job and giving interviews then you might have noticed that getting a Software development Job is becoming more and more difficult every day. For example, there was a time when you can get a Java developer position by just knowing Core Java concepts like String, Collections, and Multithreading, etc, but, not anymore. There were definitely some questions on Data structure and Algorithms and even on Dynamic Programming that time as well, but the focus was always on programming language expertise like Java or Python. But, things have completely changed now, and the focus is more and more on the candidate's ability to solve coding problems.

Difference between Setter vs Constructor Injection in Spring

Spring Setter vs. Constructor Injection
Spring supports two types of dependency Injection, using a setter method, e.g. setXXX(), where XXX is a dependency or via a constructor argument. The first way of dependency injection is known as setter injection while later is known as constructor injection. Both approaches of Injecting dependency on Spring bean has there pros and cons, which we will see in this Spring framework article. The difference between Setter Injection and Constructor Injection in Spring is also a popular Spring framework interview question

Top 5 Object Oriented Programming and Design Courses for Java Programmers - Best of Lot

There is no doubt that Object-oriented programming is a pillar of software development and also one of the reasons for the massive success of Java. Good knowledge of Object-oriented programming helps you to create better software. It also helps you to communicate your ideas better with your team members and fellow programmers. Despite being such an important technology, it's difficult to find programmers who understand OOP well. Many programmers just think that OOP is nothing more than Abstraction, Inheritance, Encapsulation, and Polymorphism, without truly understanding these concepts and mastering them.

How to delete from a table using JOIN in SQL Server

It's a little bit tricky to delete from a table while using any type of JOIN in SQL like Inner Join, Left Outer Join, or Right Outer Join. The obvious syntax doesn't work as shown below:
delete from #Expired e INNER JOIN 
Deals d ON e.DealId = d.DealId
Where d.Brand = 'Sony'

here I have a table with a list of expired deals that I want to delete from the Deals tables, but only for Sony.

5 Free Online Courses to Learn OpenCV and Computer Vision in 2021

Hello guys, if you want to learn OpenCV and Computer Vision in 2021 and looking for free OpenCV and ComputerVision courses then you have come to the right place. Earlier, I have shared the best OpenCV courses which are loved by you guys but some of you also asked to share free OpenCV and Computer Vision and that's what I'll be doing today. In this article, I am going to share 5 free online courses to learn Computer Vision and Open CV in 2021. These courses are created by OpenCV experts and trusted by thousands of developers on platforms like Udemy, Coursera, and Pluralsight. You can also join them to kick start your career in Computer Vision and OpenCV field.

Top 5 Websites for Coding Interview Preparation - Best of Lot

Are you preparing for Coding Interviews? If yes then you might know that there are a number of free online resources to practice important topics for coding Interviews like data structure and algorithms, database and SQL, and others. These websites are equally useful for both, new programmers who are just learning the fundamentals and for experienced ones who are brushing up their coding skills for interviews. I have been sharing useful resources for programming and technical interviews for a long time in this book. In the past, I have shared some recommended online courses and books for coding interviews, as well as some of the frequently asked programming interview questions from tech companies (see here). But, my readers have been asking about some recommended websites for practicing programming challenges and coding interview questions.

Top 6 Courses to Learn Spring Framework in Depth in 2021 - Best of Lot

Spring Framework is an essential skill for Java developers, not only to get a job as a Java developer but also for your career advancement. Since Spring is now used in almost every Java project, it becomes virtually mandatory to learn the Spring framework. Now, the question comes, what is the best way to learn the Spring framework? Are there any online courses out there that are focused on Spring? What are some good books and resources for learning Spring? These questions are widespread among Java developers, and I often see them on forums, online chat channels, and even many of my readers also ask this to me on Facebook chats and email. Well, the best way to learn any technology is by coaching, online courses, and books.

Top 5 Courses to Learn SQL and Database in 2021 - Best of Lot

Hello guys, if you are a computer science graduate or new to the programming world, interested in learning SQL, and looking for some excellent resources, like books, courses, and tutorials to start with, then you have come to the right place. In the past, I have shared some of the best SQL books and tutorials, and today I am going to share some of the best SQL and database courses to learn and master this useful technology. If you don't know what SQL is and why you should learn it, let me give you a brief overview of SQL for everyone's benefit. SQL is a programming language to work with a database. You can use SQL to create database objects, like tables, stored procedures, etc. and also to store and retrieve data from the database.

Top 10 Coursera Guided Projects to Learn Essential Programming Skills in 2021 - Best of Lot

Learning new skills and programming languages is essential for anyone to have a professional carer but most of the people think that reading books and watching some tutorials make them professional and expert at what they are doing but that totally wrong and they need to create projects to put their skills under the test. For that reason, you have to practice more and more and gain skills that you need to call yourself a professional programmer or developer and here come the benefits of an online learning platform known as Coursera that offers you courses to learn skills then you can also enroll in a program called a guided project to test your skills.

Top 10 Free Courses to Learn Docker in 2021 - Best of Lot

I have been answering a lot of questions about what programmers should learn in 2021, and Docker Container is one of such skill. Docker and containers are a whole new way of developing and delivering applications and IT infrastructure. In this post, I'll talk about what Docker is and why a programmer should learn Docker. In today's world of massive scalability, where every single mobile app and web application needs to support billions of users (think of Youtube, WhatsApp, Uber), software application development and deployment have become increasingly complex. Gone are the days when the software is developed by a small team of onshore people.

Top 10 Coursera Courses, Specializations, and Certifications to Join in 2021

Hello guys, if you are looking for the best Coursera courses, certification, and specialization to join in 2021 then you have come to the right place. In the last few articles I have shared the best Coursera courses to learn PythonSoftware Development, and Cloud Computing, and today, I will share the best Coursera courses, specializations, and certifications you can join in 2021. Taking online courses and certifications have become mandatory in order to have a professional and successful career and the process is similar to the college education just by staying at your home taking classes watching videos and pass the quizzes and done you are now officially certified and when it comes to the best platform to learn online no one can compete with Coursera.

Top 5 Courses to Learn C Programming Language in 2021 - Best of Lot

Hello guys, today, I am going to talk about one of the oldest, reliable, powerful and a programming language which has survived for 50 years. Yes, that's right, 50 years. It's a great achievement for any technology to remain relevant for such a long period. If you don't know, the C Programming language is one of the first general-purpose programming language, invented by Dennis Ritchie and Ken Thomson around 1969. Ken was writing UNIX, another accessible technology that has survived for 50 years around the same time and needed a programming language that can do all kinds of tasks; the result was C programming language.

Top 5 Career Options for Experienced Java Developers

If you are an experienced Java programmer who has done a good amount of coding and development, like someone with more than 5 to 8 years of experience, working as a senior Java developer or a technical lead and wondering how to grow to the next level, then you have come to the right place. In this article, I'll share five career options and Jobs experienced developers like you can choose to take your career to the next level. Apart from becoming a project manager, which is what many programmers wanted, there are other more technical and better career opportunities are available now. It's especially great for Programmers with less or no people management skills or who love coding and development and always want to remain hands-on.

Top 5 Project-Based Courses to learn Coding with Java, Python, and JavaScript in 2021

Hello guys, if you are aiming to learn programming and code in 2021 with Java, Python, or JavaScript, the top 3 programming languages of the world then I suggest you join a project-based course. These are the courses where you will learn things by doing and I think that's the best way to learn programming and coding. Reading a book is Ok, watching videos are also Ok but they will not make you a Programmer or Coder, you must code to become a coder and these project-based courses give you that opportunity.

Top 5 Java Design Pattern Courses for Experienced Java Developers

Hello guys, today, we'll talk about design patterns and some of the best online courses to learn design patterns in Java from scratch. If you are wondering what is a design pattern and why Java developers should learn them? then let me give you a brief overview. Design patterns are nothing but a tried and tested solutions of common programming problems, for example, the creational design patterns deal with the problems of object creation. They exist from a long time but made popular by famous Gang of four of Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm in their classic 1994 book Design Patterns: Elements of Reusable Object-Oriented Software, also known as GOF design patterns. This book documented 24 design patterns which are reusable to solve common programming problems. 

Top 5 Websites to Learn Java Coding for FREE - Best of lot

Hello guys, if you want to learn Java Programming and looking for the best websites to learn Java coding for free then you have come to the right place. In the past, I have shared the best Java courses and today, I am going to share free websites to learn Java Programming for free. being the author of a Java blog and programmer I often receive questions like how to improve my coding skills?,  or how do I learn to code in Java?, or I am having difficulty solving programming problems, please help, etc. This is mostly from programmers who have just started programming or a graduate with a programming degree or even some programmers with a year or two in Job.

Top 10 Online Courses to Crack Coding Interviews in 2021 - Best of Lot

To be honest with you, getting your first job is never easy. It is, in fact, the most laborious task, and you need to put your best effort into finding a role in your dream company. Most of the computer science graduates dream of working for Google, Facebook, Amazon, Microsoft, and Apple, but they often not able to clear their rigors coding interviews. The single most important reason for failing those coding job interviews is a lack of knowledge and practice; hence, it becomes increasingly important that you prepare hard in advance. Unfortunately, I learned this little too late after spoiling my chances at Microsoft and Amazon, but you can learn from my experience and prepare better for your programming job interviews.

Top 5 Websites to Learn Python Coding for FREE - Best of Lot

Believe it or not, but Python has inspired many people to learn to code, and it's continually inspiring them. I know a handful of people who are learning Python for different reasons, starting from web development to machine learning. I have seen new people learning Python to write web apps using Django, create a Machine learning Model using Python, and just to write some handy scripts to automate the boring stuff. Python is currently the world's #1 programming language and its popularity is growing every passing day, thanks to Data Science and Machine learning and awesome Python libraries like Pandas, PyTorch, NumPy, and TensorFlow.

Top 5 Courses to Learn Microservices and SOA (Service Oriented Architecture) in Java - Best Of Lot

Hello guys, Service-Oriented Architecture (SOA) and Microservice Architecture are essential skills for modern Java developers as most of the Java applications developed today follow SOA and Microservice architecture or their variants. Good knowledge of SOA architecture not only helps you to understand your current project better but also can give your career a boost, especially to senior Java developers who want to become software or solution architects. In the past, I have shared some books for aspiring software architects, and you can also use these courses along with those to master your architecture and solution design skills.

Top 5 Online Courses to Learn Flutter in 2021 - Best of Lot

If you are like me, who thinks Flutter is the future of mobile development and looking for some excellent online courses to learn Flutter, then you have come to the right place. In this article, I am going to share some of the best online courses to learn Flutter in 2021 from Udemy, Pluralsight, and Coursera, but before going into that, let's see what Flutter is and why everyone is so excited about it. Well, in general, whenever something comes from Google, it makes a lot of developers excited like Angular, Dart, and now Flutter. I have got my hand dirty in both Android and iOS using Java and Objective-C in the past, but after working for some time, I decided to move on.

Top 10 Udemy Courses to Learn Essential Skills for Programmers - Best of Lot

There is no doubt that Udemy is one of the most popular e-learning platforms, and it helps more and more people to learn valuable skills like Programming, Coding, Web development, App development, Python, Java, C/C++, Data Science, Machine Learning, Node.js, React.js, Javascript and others which helps them to get a job and career in technology. Even though Udemy has all kinds of courses from Programming to Photography, from Music to Digital Media, in this article, we have compiled a list of best Udemy Courses and certifications for Programmers and Developers.

2 Best Deals for Educators and Online Course Creators - [Teachable & Thinkific Discounts]

Hello guys, I have been advocating for programmers and developers to create online courses to both learn and earn. In today's world, there is no better way to teach than creating courses and this pandemic has proved that e-learning is going to stay and increase in near future. But, creating a course is easier said than done, especially if you are a perfectionist. There are a lot of things involved like choosing a camera, mike, online course hosting platforms, tools, and buying other gear. If you want to invest in your online course creation tools and platforms then Black Friday is probably the best time to buy anything.

Grokking The Java Interview - My First Book After 10 Years as Java Blogger

Hello guys, I am very excited to announce the release of my first book after 10 years of writing Java articles and Java interview questions While I have been blogging for the last 10 years, I have never really sold anything, didn’t have any book, course, or any digital product. Finally, now I have my first book and it's going to help Java developer cracking interview — Grokking the Java interview. This was my long desire to have my content in a structured and organized way to provide more value and this book does that. It provides a structured way to prepare for Java interviews and learn essential core Java concepts.

Top 5 Black Friday and Cyber Monday Deals for Programmers

Hello guys, Black Friday is a special occasion and probably the best time to invest in your technical skills. This is the time when every company offers sweet deals on books, courses, tools, and things that matter most for programmers and developers. But, at the same time, it's not easy to find out great deals which are worth it for you. I have been receiving a lot of great offers from sites like Udemy, Pluralsight, Educative, CodeCademy, DataCamp, Coursera about their Black Friday deals and many of my readers were also asking me about that. 

Top 5 Courses to Crack Salesforce Administrator (CRT-101) Certification in 2021 - Best of Lot

Hello guys, if you are preparing for Salesforce Administrator (CRT - 101) certification and looking for the best online courses then you have come to the right place. Earlier, I have shared the best Salesforce developer and App Builder courses and in this article, I am going to share the best Salesforce Administrator courses you can join to crack this in-demand certification in 2021. If you follow Cloud Computing trends then there is a good chance that you might have heard about popular Salesforce certifications like the Salesforce Certified Administrator program (CRT-101). There is a great demand for certified Salesforce administrator due to the immense popularity of Salesforce in cloud-based CRM.

How to write Thread-Safe Code in Java

thread-safety or thread-safe code in Java refers to code which can safely be used or shared in concurrent or multi-threading environment and they will behave as expected. any code, class, or object which can behave differently from its contract on the concurrent environment is not thread-safe. thread-safety is one of the risks introduced by using threads in Java and I have seen java programmers and developers struggling to write thread-safe code or just understanding what is thread-safe code and what is not?

Top 5 Courses to Learn Microsoft Power BI in 2021 - Best of Lot

Hello guys, if you are learning Microsoft Power BI or keen to learn Microsoft Power BI and looking for the best Power BI online courses then you have come to the right place. In the past, I have shared the best tableau course and online courses to learn QlikView/Qliksense, and today I am going to share the best courses to learn Microsoft Power BI in 2021. This is the world of Data and any organization which has the right set of data has a competitive advantage over others, but data alone is of no use unless you can analyze and visualize it to find useful insights to grow the business. 

Difference between a Thread and an Executor in Java

Even though both Thread and Executor, both are used to execute some code in parallel, there are some key differences between them. The main difference between a Thread and an Executor in Java is that it later provides a thread pool in Java. Along with several concurrency utilities like CountDownLatch, CyclicBarrier, Semaphore, FutureTask, Callable interface, and Conditions, JDK 5 also introduced a built-in thread pool, which provides a set of working threads to run your code in parallel. Since creating, starting, and running a thread is a time-consuming and expensive operation, many Java applications create a spool of thread at start-up and leverage that for executing the task in parallel until Java introduced the built-in thread pool.

Top 5 Online Courses to Learn Puppet for DevOps - Best of Lot

Hello guys, If you are interested in DevOps then you might have heard about Puppet, one of the most popular infrastructure automation tools. If you want to learn Puppet and looking for the best Puppet courses then you have come to both right places. Earlier, I have shared the best DevOps courses and today I am going to share the 5 best Puppet courses you can join to learn this useful DevOps tool. It is no surprise that automation and orchestration make life very easy, be it a small organization or a large-scale industry that houses hundreds of servers and Puppet plays an important role in infrastructure automation like creating and configuring application servers.

Can You Make an Array or ArrayList Volatile in Java?

This is one of the many interesting multi-threading questions I have shared in my post 50 multi-threading interview questions. Yes, you can make an array volatile in Java, there is no problem with that, neither compiler will flag any error not JVM will throw any exception but the tricky part is why you want to make an array volatile and what is the effect of making an array volatile in Java? In order to answer this question, you must be familiar with both volatile modifier and Java memory model, otherwise, it would be difficult to answer, and that's why it's also one of the trick questions from Java interviews.

Udemy's The 2021 Complete Python Bootcamp - Go From Zero to Hero Review

With various programming languages in nowadays world, it becomes really hard to choose what language you should learn if you are planning to have a software engineer career, but that actually depends on what thing you should be good at like being a front-end web developer you must learn HTML and CSS, and for the android app development you should learn Java or Kotlin.  Most of the language has a specific industry that you can use it in but what if told you that there is a language called python that can work in many industries.

Difference between Executor Framework and Fork Join Pool in Java?

Java 5 added Executor Framework to provide an out-of-box thread pool to Java programmers and Java 7 added ForkJoinPool an implementation of ExecutorService which specifically designed to execute ForkJoinTask. The Executor Framework provides several classes e.g. Executor, ExecutorService, and Executors for execution and creating thread pools. It also provides several built-in, ready to use thread pools like a pool of fixed threads, cached thread pool which can expand itself, spawn new threads if required due to heavy load.

Top 5 Courses to learn Design Thinking in 2021 - Best of Lot

Hello guys, if you are interested in creative ideas and solutions then you may have heard about the Design Thinking technique. Design thinking is the process of making good products that suit users, and also it is a method for problem-solving by focusing on the people's needs and discovering the best creative solutions that meet these needs. If you are keen to learn about the Design Thinking process and looking for resources to learn Design thinking then you have come to the right place.

Top 5 Certified Kubernetes Administrator (CKA) Online Courses to Learn in 2021 - Best of Lot

Hello guys, if you are preparing for Kubernetes Administrator certification and looking for the best online courses to start with then you have come to the right place. In the past, I have shared the best courses to learn Kubernetes and Docker and in this article, I am going to share the best online courses to prepare for the prestigious Certified Kubernetes Administrator (CKA) exam. There is a lot of demand for skilled Kuberntest administrators to manage cloud environments and Kubernetes cluster and this exam aims to produce skilled Kubernetes developers and administrators.

Top 10 Pluralsight Courses to learn React.js for Beginners in 2021 - Best of Lot

Hello guys, Pluralsight free Weekend is coming on this weekend. This means all the Pluralsight courses, projects, and interactive learning material will be free. Why not use this opportunity to learn React.js? I thought so and collected a bunch of React.js courses to learn React in depth. You can also use these courses to learn React.js in 3 days. By the end of this weekend, you can become zero to hero in React.js. I mean from just knowing that React.js is a cool library to build responsive UI, you can actually start building real React applications.

Top 10 Java wait, notify, Locking and Synchronization Interview Questions

There has been a lot of articles and books written on how to use wait and notify in Java, how they work, when do you need synchronization, and how to write concurrent code in Java, but, unfortunately, I still see many Java programmer struggles to solve even the classic producer-consumer problem. I know, writing correct concurrent code is challenging and it takes a lot of practice, think through ability, and experience to get it right, but at the same time, every Java programmer should be familiar with the basics of inter-thread communication, synchronization, locking, and understand how all the things work together.

Top 5 Google Cloud Professional Architect Certification Courses & Practice Tests [UPDATED]

Hello guys, if you are preparing for Google Cloud Architect Certification and looking for the best GCP Cloud Architect course then you have come to the right place. In the past, I have shared about the GCP Cloud Engineer and Data Engineer Certification, and today, I will share the best online courses for the GCP Cloud Architect Certification exam. If you want to enrich your CV or work with Google cloud platforms but you're unable to decide which course is the right fit for you, then check out these great options. The list contains the best online training courses to prepare for the Google Cloud Certified Professional Cloud Architect exam from Udemy, Coursera, Whizlabs, and Pluralsight.

Difference between ExecutorService.submit() and Executor.execute() methods in Java?

What is the difference between Executor.submit() and Executor.execute() method in Java? This is one of the good multi-threading questions for experienced Java programmers, mostly asked in Investment Banks like Barclays, Deutsche Bank, or Citibank. A main difference between the submit() and execute() method is that ExecuterService.submit()can return the result of computation because it has a return type of Future, but the execute() method cannot return anything because's return type is void. The core interface in Java 1.5's Executor framework is the Executor interface which defines the execute(Runnable task) method, whose primary purpose is to separate the task from its execution.

Top 5 UX/UI Design Courses & Certifications to Learn in 2021 - Best of Lot [UPDATED]

Hello guys, If you always wanted to learn UX design and become a UX designer and looking for the best UI/UX design online courses to start with then you have come to the right place. In the past, I have shared the best web design courses and web development courses and In this article, I am going to share the best UX online courses and certifications you can join to become a UX designer in 2021. The demand for UX/UI and Web Design professionals continues to increase in today's job market. Learning UI or UX skills can open doors to many jobs both local and remote.  It goes without saying that certification in any discipline will give you a leg up on your job hunt.

How to Join Multiple Threads in Java? [Thread.join() Example]

Join method from the Thread class is an important method and used to impose order on the execution of multiple Threads. The concept of joining multiple threads is very popular in a multithreading interview question. Here is one such question, “You have three threads T1, T2, and T3, How do you ensure that they finish in order T1, T2, T3 ?. This question illustrates the power of the join method on multithreaded programming. Unlike classical thread questions like the difference between the wait and sleep method or solving the producer-consumer problem in Java, This one is a bit tricky.

Top 5 Courses & Practice Tests to Crack CompTIA Security+ Certification (SY0–501) in 2021 - Best of Lot

Hello guys, the CompTIA Security+ certification is aimed to be for people who are a beginner in security but at least have some fundamentals in IT in general and you will learn some fundamentals in  Cyber Security such as SQL injection, malware, zero-day vulnerabilities, and much more. If you are preparing for CompTIA Security + Certification and looking for the best online training course to boost your preparation then you have come to the right place. In the past, I have shared the best Cyber Security courses, CompTIA A+ Courses, Cloud+ Courses, and today, I will share the best online courses to crack the CompTIA Security+ certification. These courses have been prepared by experts and trusted by thousands of candidates preparing for this prestigious exam.

Top 5 Difference Between Callable and Runnable Interface in Java

The difference between Callable and Runnable is one of the most frequently asked multi-threading and concurrency interview questions in the Java world. I remember it was 2007 when I first heard about the Callable interface and that too on a telephonic interview. Till then, I was happy using Runnable to implement threads and just started paying attention to Java 1.5, as most of the applications by then using Java 1.4. That one interview question encouraged me to learn more about several other useful features introduced in Java 5 concurrency library like CountDownLatch, CyclicBarrier, Semaphore, Atomic variables, and Thread pool. This is one of the reasons I always encourage Java developers to give/take regular interviews, just to update your knowledge.

Difference between Executor, ExecutorService and Executers class in Java

All three classes Executor, ExecutorService, and Executors are part of Java's Executor framework which provides thread pool facilities to Java applications. Since the creation and management of Threads are expensive and the operating system also imposes restrictions on how many Threads an application can spawn, it's a good idea is to use a pool of threads to execute tasks in parallel, instead of creating a new thread every time a request comes in. This not only improves the response time of the application but also prevent resource exhaustion errors like "java.lang.OutOfMemoryError: unable to create new native thread".

Top 5 Courses to learn Groovy and Grails in 2021 - Best of Lot

Hello guys, If you want to learn Groovy or Grails in 2021 and looking for some awesome resources like books, courses, and tutorials then you have come to the right place. In the past, I have shared the best Groovy books and best Gradle courses, and today, I am going to share some of the best online courses to learn both Groovy programming language and Grails framework .you might have heard about Groovy, if not maybe heard about Grails, Akka, Play, and Gradle, the top 5 Groovy frameworks for Java developer. Groovy instead of competing with Java, it focuses on co-existing with Java and enhancing Java developer's capability on Java's traditional weak areas like scripting.

What is CyclicBarrier Example in Java 5 – Concurrency Tutorial

What is CyclicBarrier in Java
CyclicBarrier in Java is a synchronizer introduced in JDK 5 on java.util.Concurrent package along with other concurrent utility like Counting Semaphore, BlockingQueue, ConcurrentHashMap, etc. CyclicBarrier is similar to CountDownLatch which we have seen in the last article  What is CountDownLatch in Java and allows multiple threads to wait for each other (barrier) before proceeding. The difference between CountDownLatch and CyclicBarrier is also a very popular multi-threading interview question in Java. CyclicBarrier is a natural requirement for a concurrent program because it can be used to perform the final part of the task once individual tasks are completed.

How to use Exchanger for sharing Object between Threads in Java [Example]

Hello guys, if you are working in a concurrent Java application then you might have heard about the Exchanger class of java.util.concurrent package. The Exchanger in Java is another concurrency or synchronization utility introduced in Java 1.5 along with CountDownLatch, CyclicBarrier, and Semaphores. As the name suggests, the Exchanger allows two Threads to meet and exchange data at the rendezvous or meeting point. This means you can use Exchanger to share objects between threads and for inter-thread communication. The java.util.Exchanger is a parametric class, which defines and holds the type of object to be exchanged. It has an overloaded method called the exchange(), which is used to exchange objects between threads.

Difference between atomic, volatile and synchronized in Java?

Hello guys, a lot of people are asking me about the volatile, synchronized, and volatile variables in Java concurrency. After answering them individually on Facebook and LinkedIn, I thought to write this article. In this Java multi-threading tutorial, we will learn about the difference between atomic, volatile, and synchronized variables in Java. Though there are a lot of articles, posts, books, courses, and tutorials already exist on Java concurrency and synchronization, where different people have tried to explain concurrency concepts, but unfortunately, multi-threading and concurrency concepts are still hard to grasp, especially the volatile variables.

Top 10 Coursera Courses for AWS, Google Cloud, Azure, and Cloud Computing in 2021

Hello guys, Cloud Computing is an in-demand skill for programmers, Software Developers, and any IT professionals including support engineers, sysadmins, and even QA and business analysts. In the last few years, more and more companies have moved to the cloud and most of the technical development happening there, hence Cloud computing has become an essential skill to service the tech world. If you are wan to become a Cloud developer or administrator or just want to know about Cloud computing then you have come to the right place.

Maven Eclipse plugin M2Eclipse issues after updating passwords

Most Java programmers use Maven in Eclipse via the M2EClipse plug-in, which gives one capability to build, run, and test Java application using Maven. I also use the M2Eclipse plugin for integrating Maven with Eclipse, but more often there are issues dealing with them like Maven not able to find certain archetypes, or maven not able to download Jar files from remote maven repository. Since I need to change the password often for security reasons like every 3 months, I do see a lot of maven issues in Eclipse related to building projects. Most of the time these are compilation errors that are caused because maven is not able to connect to remote maven central repository, even though you have updated password in settings.xml in the maven installation folder like C:\apache-maven-2.2.1\conf\settings.xml