HTML

Top 10 JavaScript Frameworks and Libraries for FullStack Developers in 2021 - Best of Lot

There is no doubt that JavaScript is now the #1 programming language in the world and also the king of web development. If you want to become a web developer who can quickly create websites like you see on the internet, then a good knowledge of JavaScript and various, popular JavaScript web development frameworks is essential for you. These frameworks have completely changed the way people developed web applications a decade ago. After node.js, it's even possible to create a complete web application from front-to-back using just one programming language, JavaScript. That's why it has become the preferred programming language of all Full-stack Web Developers.

Top 5 Free HTML and CSS Courses for Frontend Developers in 2021 - Best of Lot

HTML and CSS are two pillars of web development, they are used to create web pages you see every day. HTML provides the structure to your web page, and CSS gives them the style to look better. If you want to become a front-end web developer or web designer, then a good knowledge of HTML and CSS is a must. Even though modern-day web development is all about framework and library, like  Angular and React, you still need to know HTML and CSS to understanding what's going on and troubleshoot any issue you face while developing a web application. Btw, JavaScript is another pillar of web development, but we'll not discuss this article. I have already shared some good books and courses to learn JavaScript before

Top 10 Open Source Frameworks & Libraries for Java Web Developers [UPDATED]

Java programming language and platform has been fortunate in terms of frameworks, standards, and libraries, I guess which is one of the important reasons for its huge success. Apart from standard frameworks like Swing for desktop GUI application, JavaFX, Servlets and JSP, EJB, and JSF, there are a lot more open-source frameworks and libraries available for Java programmers. These Open source framework, not only helps and speed up development but also enforce to use best practices required to build enterprise Java application and desktop application.

Top 5 Free Android Development Courses for Beginners in 2021 - Best of Lot

Hello guys, Happy New Year 2021 in advance. I am sure you all have made your goals and started planning on how to achieve them. If you are passionate about creating mobile games and applications and want to learn how to develop Android apps or want to become an Android application developer, then you have come to the right place. In this course, I am going to share some of the best and free Android development courses for Java programmers and others. You might know that earlier Java was the only language that is used to create Android applications. Still, since last year, Google has announced Kotlin as the official language for Android app development, which means you can use either Kotlin or Java to create Android apps.

Top 10 Frameworks & Libraries Programmers can Learn in 2021 [UPDATED]

Hello Guys, we are just a few days away from 2021 now, and many of you might have already made your goals about what to learn in 2021, but if you haven't, then you have come to the right place. In this article, I am sharing some of the best frameworks and libraries for web development, mobile app development, and big data, an application developer can learn in 2021. The New Year will be all about the mobile. Machine learning, and next-generation web with a greater focus on big data technologies like Hadoop and Spark, but you can still learn the popular Java and Web development frameworks like React, Node.js, Spring Boot to take your career to the next level. These frameworks are tried and tested and will be here for at least the next 5 years to come.

Top 5 Free Swift Programming Courses for Beginners in 2021- Best of Lot

Hello guys, how are you doing this lazy Saturday? You might be thinking, as a Java developer why I am suggesting you learn Swift. Still, the truth is that I am not suggesting you abandon Java and join Swift, I am suggesting you join Swift if you want to develop iOS applications. We all use Apple's products, and we love them; I have used iPod, iPhone, iPad, Apple Watch, and even MacBook, and every time I use their product, I just say wow, and Swift is no different from that. It's a programming language from Apple, so you will find all the features which make Apple product great.

Difference between first level and second level cache in Hibernate

The main difference between the first level and second level cache in Hibernate is that the first level is maintained at the Session level and accessible only to the Session, while the second level cache is maintained at the SessionFactory level and available to all Sessions. This means, you can use the first level cache to store local data, i.e. the data which is needed by the Session, and you can use the second-level cache to store global data, i.e. something which can be shared across sessions. This is also one of the frequently asked Hibernate Interview questions and accessible in both telephonic rounds as well as on face to face interview, in both fresher and experienced level interviews.

Top 5 Free Courses to learn Node.js in 2021 - Best of lot

Node JS has completely changed the way JavaScript is used for development. Earlier JavaScript was considered as a client-side language because it runs on a browser and mostly used for client-side validations, animations, and interaction. Node.js takes that to the next level by allowing JavaScript to run on a server-side, which means you can now write JavaScript applications that can execute without a browser. Node JS uses Google Chrome's execution engine and asynchronous processing to do this. All you need to is include a node.js script in your application, and you are ready to create server-side applications in JavaScript, which wasn't possible until a few years back.

Difference between save(), saveOrUpdate() and persist() in Hibernate Session

The Session interface in Hibernate provides a couple of methods to move an object from a new or transient state to a persistent state e.g. save(), saveOrUpdate(), and persist() are used to store an object into the database, but there are some significant differences between them. The Session.save() method does an INSERT to store the object into the database and it also returns the identifier generated by the database. On the other hand, saveOrUpdate() can be used to reattach a detached object in Hibernate Session i.e. it can do INSERT or UPDATE depending upon whether an object exists in the database or not. 

10 Free Java Programing Books for beginners - download, pdf and HTML

Every Java programmer loves free eBooks on Java, don't you? When I shared my collection of top 10 Java programming books, one of my readers asked me to share some free Java books as well. Doing a quick search on the internet reveals lots of free books, resources, and tutorials to learn Java. I have chosen some of the good Java books, which are FREE, available for download or you can read it online in HTML or PDF format. These books are an excellent resource for any Java beginners, as well as an experienced programmer, and since they are free, it makes absolute sense to have a look on this before buying any other book in Java.

Top 5 Free Apache Spark Course for Java, Scala, and Python Programmers

Hello guys, if you are thinking of learning Apache Spark to start your Big Data journey and looking for some excellent free resources, e.g., books, tutorials, and courses, then you have come to the right place. In this article, I am going to share some of the best, free online Apache Spark courses for Java, Scala, and Python developers. If you don't know what is Apache Spark? And Why it's so crucial in the Big Data world, then let me give you a brief overview first. Apache Spark is another cluster computing framework like Hadoop, which is used to analyze a vast data set. Still, it's much faster as compared to Hadoop, which makes it ideal for today's high computing needs, like processing a massive amount of data.

Top 10 Programming Languages to Learn in 2021 [UPDATED]

Hello guys, finally 2020 is coming to an end, and 2021 is approaching fast. This is the time, most of us start making our goals like physical goals, educational goals, and financial goals. As a programmer, one of our goals is to learn new technologies and programming languages, but which languages should you learn? Since acquiring a programming language requires both time and patience, you should learn a language that is worth the effort, I mean., it can reward you a better job and career growth. In this article, I am going to share with you the top 10 programming languages you can learn in 2021 to get a job in your favorite companies like Google, Microsoft, and Facebook.

10 Examples of forEach() method in Java 8

From Java 8 onward, you can iterate over a List or any Collection without using any loop in Java. The new Stream class provides a forEach() method, which can be used to loop over all or selected elements of the list and map. The forEach() method provides several advantages over the traditional for loop e.g. you can execute it in parallel by just using a parallel Stream instead of regular stream. Since you are operating on stream, it also allows you to filter and map elements. Once you are done with filtering and mapping, you can use forEach() to operate over them. You can even use the method reference and lambda expression inside forEach() method, resulting in a more clear and concise code.

Top 10 Java 8 Tutorials, Classes, and Courses - Best of Lot [UPDATED]

It's a long time since Java 8 was released, and there are so many Java 8 tutorials are written by Oracle, bloggers, and other peoples, but which should you read? Which tutorials are worth your time? Actually, this question is asked to me by one of my reader called John, he was asking me about some good Java 8 tutorials, which he can read to start with. This encouraged me to take a look at some of the Java 8 tutorials available on the internet and form a list of the best.

Top 5 Spring Framework Books for Java developers (Includes Spring Security and Spring Boot) - Best of lot

Spring framework is one of the most famous structures in the Java world, which used to develop Java application, both core Java and web application. It is also one of the most job oriented skills for Java developer; hence many beginners and intermediate Java programmers try to learn the Spring framework on their own. Though there are some excellent Spring training courses available online, books are still the most popular and preferred way to learn Spring frameworks like Spring core, Spring Boot, Spring MVC, Spring Batch, or Spring Security.  I often receive queries for Spring book recommendations e.g., which Spring book is suitable for beginners, or which Spring book is good for intermediate and advanced developers, which book should I read to learn Spring boot, Spring Cloud, Spring Batch, or Spring security, etc.?

Top 5 Free Courses to learn PHP and MySQL in 2021 - Best of lot

If you want to build web applications quickly like overnight or over the weekend, then PHP and MySQL are the right choices and because of this power, they are also the best language for freelancing and startups where quick turnaround time is required. PHP and MySQL are incredibly powerful open source technologies that allow programmers and web developers to create functional websites and apps that go way beyond basic HTML. PHP is specially designed to generate interactive and dynamic websites and also known as the server-side scripting language, while MySQL is one of the leading relational databases along with Oracle and Microsoft SQL Server.

java.lang.ClassNotFoundException: org.Springframework.Web.Context.ContextLoaderListener [Solution]

Problem : You are getting java.lang.ClassNotFoundException : org.Springframework.Web.
Context.ContextLoaderListener in your Spring-based Java Web application.
Cause: This error comes when you are using the Spring MVC framework in your Java Web application and configured org.springframework.web.context.ContextLoaderListener as a listener in your deployment descriptor also known as web.xml, but the JAR which contains this class is not available in the web application's CLASSPATH.

Top 5 Cloud Computing Books for Beginners to Read in 2021

Hello guys, if you want to learn Cloud Computing in 2021 and looking for the best online resources then you have come to the right place. Earlier, I have shared the free cloud computing courses and today, I am going to share the best book to learn Cloud computing in 2021. These books are written by Cloud Computing experts and trusted by thousands of people who want to learn Cloud Computing and public cloud platforms like AWS, GCP, and Microsoft Azure. If you don't know, Cloud computing the field of using a network of remote servers which are powerful computers that work twenty-four hours in a data center somewhere in the world, and you can host your website, data, files on that computer and use it remotely.

3 Books and Courses to Learn RESTful Web Services using Spring and Java

Hello guys, if you know the Spring framework, then there is a good chance that you have heard about the classic Spring in Action book by Craig Walls. It's one of the best books to learn Spring, and many Java developers, including me, have learned Spring from that. But, even though the Spring in Action 5th Edition is one of the best books to learn Spring framework, it's just not enough to learn the intricacies of developing a modern, full-featured RESTful Web Service using Spring Framework. It does have a chapter on developing RESTful Web Services. It nicely explains concepts like @RestController, @ResponseBody, @ResponseStatus, HTTP message converters, content negotiation, but that barely touches the surface of developing a production-quality RESTFul Web Service.

Top 20 Hibernate Interview Questions with Answers for Java Programmers

Hibernate is one of the most popular persistent frameworks in the Java world. Hibernate offers an object to relational (ORM) solution which frees Java developers from writing tedious, hard to read, and cluttered JDBC code converting SQL columns into Object properties. Apart from freeing Java developers from writing JDBC and database interaction code, Hibernate also offers the out-of-box solution on caching, proxying, and lazy loading which drastically improves the performance of your Java Web application. Given its importance in the Java Web application development field, Hibernate has become one of the most sought-after skills and goes hand in hand with Spring framework. That's why Spring and Hibernate interview questions are also very popular in Java interviews, particularly for web development positions.

Top 5 Free Courses to Learn TypeScript in 2021 - Best of Lot

If you are interested in learning TypeScript or Angular, one of the popular JavaScript frameworks for developing front-end, which uses TypeScript, and looking for some resources like books, tutorials, and courses, then you have come to the right place. In this article, I am going to share some of the best, free TypeScript online courses you can use to learn this powerful programming language. For those who don't know TypeScript, it's a new dynamically typed programming language from Microsoft that augments JavaScript's programming syntax by adding some new features which help in object-oriented application development, particularly the introduction of Types.

How to Find Square Root of a Number in Java - Example Code

Java program for a square root or a number in Java
How to write a Java program to find the square root of a number is a common Java programming exercise that many institute use in there Java course along with Java program to print Fibonacci series and How to find Armstrong numbers in Java, which we have seen earlier.  Java program for square root is also a popular question during college semester exams and various programming tests. 

Fibonacci Series in Java Using Recursion

Fibonacci series in Java
Write a Java program to print the Fibonacci series up to a given number or create a simple Java program to calculate Fibonacci number is common Java questions on fresher interview and homework. Fibonacci series is also a popular topic on various programming exercises in schools and colleges. Fibonacci series is a series of natural numbers where the next number is equivalent to the sum of the previous two numbers like fn = fn-1 + fn-2. The first two numbers of the Fibonacci series are always 1, 1. In this Java program example for the Fibonacci series, we create a function to calculate Fibonacci number and then print those numbers on Java console.

How to test REST API from Command Line using cURL command in Linux

The curl or cURL command of Linux is a compelling and versatile command which allows you to send sophisticated HTTP request right from your Linux command line window. You can use the cURL command to test your RESTful Web Services by sending GET and POST requests, doing authentication, saving a cookie in the file, etc. The curl command is, in fact, the go-to tool for many Java and Spring developers working in web applications and consuming data from the secured RESTful Web Services. Still, you can also use it to test your simple REST Web APIs without security. I have used it many times to check if our Web service is up or not, or is there any error while accessing those services.

How to java.lang.NoClassDefFoundError: org/springframework/beans/factory/SmartInitializingSingleton in Spring Boot

Problem:
I was trying to run a HelloWorld program using Spring Boot when I got this error:

Exception in thread "main" java.lang.IllegalStateException: Could not evaluate condition on org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer due to internal class not found. This can happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:52)
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:92)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:174)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:136)

Spring HelloWorld Example in Java using Annotation and Autowiring

Spring framework has gone a couple of releases since I last share the Spring hello world example with XML configuration. In this article, I am going to explain to you how to create a Spring hello world example with Spring 4.2 release and by using Annotation for dependency injection and autowiring. So no more XML files to specify bean dependencies. It's a simple program that shows how you can use the Spring framework to create Services that are loosely coupled. The example will show you the basic concept of dependency injection by creating a simple Java application that greets the user. It's actually a little bit complex version of a simple Helloworld program but if you need decoupling and in-direction you need to accept some level of complexity. That's the price you need to pay to achieve the flexibility in your code.

5 Best Spring Professional Exam Certification Resources (VMware EDU-1202) - Guides, Courses, Books, and Tutorials

Ever since Pivotal has announced that Spring training is not mandatory for becoming a Certified Spring developer (now VMware EDU-1202), more and more experienced Java programmers who have been using Spring for years are preparing for this certification exam. This is obvious because the expensive Spring training, which cost around 32000 USD in the USA and most of the western nations and about 50,000 INR in India, was the biggest hurdle in getting Spring certified and becoming a certified Spring professional. 

Top 5 Free C++ Courses to Learn Programming Online - Best of Lot

Hello, guys, you might know that C++ is one of the most popular and powerful object-oriented programming languages, and if you want to do low-level stuff, then it's the best language to start with. Most of the complex software like Operating Systems, Database Management Systems, and Powerful trading systems, are written in C++. While many of us have learned to program by using C and C++, let me honest with you; learning C++ is challenging, especially if you are coming from Python or Ruby background. There are many areas that are tough to grasp like pointers and memory management, but you will learn them slowly, and that's where these free C++ courses will help you.

Dispatcher Servlet and Spring MVC Request Flow

One of the common interview questions in Spring MVC is, how does the DispatcherServlet process a request in Spring MVC? or What is the role of DispatcherServlet in the Spring MVC framework? This is an excellent question for any Java or Spring web developer because it exposed the candidate's knowledge about Spring MVC architecture and how its main components like Model, View, and Controller.   The answers to this question show how much you know about the Spring MVC framework and its working. 

Top 15 Spring Boot Interview Questions with Answers for Java/JEE Programmers

Hello guys, if you are preparing for your next Java interview and Job description mentioned about Spring framework, then you should also prepare some Spring Boot interview questions to avoid disappointment. The Spring Boot is now the standard way to use Spring framework for Java development and almost all the companies are moving from the traditional way of using Spring Framework to more modern Spring Boot way. Gone are the days, where questions like have you used Spring Boot was asked to the developer. Nowadays interview expects more knowledge of Spring Boot from candidates and there are reasons for it, which we'll explore in this article.

Top 5 Online Course to learn Java 9, 10, 11,12 and 13 in 2021 - Best of Lot

Hello guys, even though Java 15 is available now, many developers are still on Java 8 and not really caught up with changes in Java 9, 10, 11, 12, 13, or Java 14. If you are also in the same boat and want to start with Java 9 features, then you have come to the right place. In this article, I am going to share some of the best online courses to learn changes in Java 9, 10, 11 and later add more courses for Java 12, 13, 14, and 15. These JDK releases are packed with some powerful features like modules, API enhancements like factory methods for an immutable list, set, and map, some changes on stream API and optional class, new features on process API, etc. 

How to Reverse String in Java with or without StringBuffer Example

Reverse String in Java
There are many ways to reverse a given String in Java. For example, you can use rich Java API to quickly reverse the contents of any String object. Java library provides StringBuffer and StringBuilder class with the reverse() method which can be used to reverse String in Java. Since converting between String and StringBuffer or StringBuilder is very easy it's the easiest way available to reverse String in Java. But, in a coding interview, you may not be allowed to use the JDK API methods to solve this problem. That's why, writing a Java program to reverse String in Java without StringBuffer is one of the popular Java String interview questions, which requires you to reverse String by applying logic and by not using API methods.

Merge Sort in Java - Algorithm Example and Tutorial

The merge sort algorithm is a divide and conquers algorithm. In the divide and conquer paradigm, a problem is broken into smaller problems where each small problem still retains all the properties of the larger problem -- except its size. To solve the original problem, each piece is solved individually; then the pieces are merged back together. For example, imagine you have to sort an array of 200 elements using the bubble sort algorithm. Since selection sort takes O(n^2) time, it would take about 40,000-time units to sort the array. Now imagine splitting the array into ten equal pieces and sorting each piece individually still using selection sort. Now it would take 400-time units to sort each piece; for a grand total of 10*400 = 4000.

How to Rotate an Array to Left/Right by a Given Number in Java - Coding Problem

Hello guys, welcome to another post with another array-based coding problem. In the last article, we've learned about finding missing numbers in the array with duplicates, and today we'll solve the problem of rotating an array by left or right by a given number. For example, suppose an integer array {1, 2, 3} is given and it was asked to rate this array to the left by 3 then the result array will look like {2, 3, 1} because it was rotated twice on left. Similarly, if you are asked to rotate the same array twice by right then you'll get {1, 2, 3}, the same array is back. This is an interesting problem and it's quite easy to solve but I have seen many programmers struggle with this one as well. So, a little bit of practice and learning will not hurt.

How to find 2nd, 3rd or 4th element from end in a singly linked list in Java [Solved]

Hello guys, today, I am going to discuss one of the important linked list based coding problem form interviews - how to find the Kth element from the end? This question is also asked as to how do you find the 3rd element from the last of a singly linked list in one pass or write a Java program to find the 5th element form tail of a given linked list in one iteration. In this article, you will learn the programming technique so that you can solve any variant of this problem, I mean the Kth node from the tail problems and some linked list based challenges. The difficulty in this question is that you need to solve the problem in one iteration or one pass. This means you cannot traverse the linked list again. I mean you cannot go till the end then traverse back to the Kth element.

How to Find Repeated Characters in Given String with Count in Java? [Coding Problem Solved]

This is another interesting coding problem or programming exercise for beginner programmers. How do you find repeated or duplicate characters in a given String and their count? You can solve this coding problem in any programming language of your choice like Java, Python, Ruby, or even JavaScript. I'll explain the logic and solution which is easy to implement in the above programming languages and I'll provide code in Java, which is my favorite programming language.  In order to solve this problem, You need to first check if a String contains any duplicate characters or not, and then if it contains any duplicate letters then find out how many times they appear in the given input String.

50+ Java Coding and Programming Problems for Interviews

Hello guys, if you are learning to code and programming, or preparing for a programming job interview and looking for some practice material then you have come to the right place. Earlier, I have shared the best string, array, linked list, and binary tree coding problems and In this article, I am going to share some of the most common Java coding and programming problems for beginners. These are the problems, I have solved myself to learn to program and develop a coding sense and these are the ones which keep coming on Java coding interviews. By going through these coding problems you will not only learn Java but also prepare yourself for Java interviews. 

Top 5 Free R Programming Courses for Beginners - Best of Lot

More and more people are learning the R programming language to become a Data Scientist, one of the hottest and high-paying technical jobs on the planet. Though I am from Python camp when it comes to choosing between Python and R for Data Science, Machine Learning, and Artificial Intelligence, mainly because of the excellent libraries Python offers, I had tried R for a short time. If you are also in the same boat and want to try or learn R programming for Data Science and machine learning purposes and looking for some excellent free courses to start your journey, then you can take some ideas from this article.

Is Java a Better Programming Language to Learn Coding?

I often receive questions like which is the first programming language to learn first, Is Java the right programming language to start in 2020,  how good Java is as a first programming language, which is the best programming language for beginners, or shall I start with Java or Python. Well, the answer to all these questions is, Java is one of the most popular programming languages, and there are a lot of reasons to learn Java, starting with Job opportunities to leverage community support. In the context of beginning programming or choosing Java as the first language, my most significant reason is that it's simpler to learn

Top 10 Frontend Web Development Skills Beginners Should Learn in 2021

Hello guys, if you want to become a frontend developer and wondering which skills you should learn then you have come to the right place. In the past, I have shared The Complete Web Developer RoadMap which gave you a detailed overview of both frontend and backend skills, and today, I am going to list down the most essential frontend skills for programmers. These are the absolute must-have skill for a frontend developer and not only help you to find a frontend developer job but also help you to become a full-stack developer in the long run. 

5 Things You Can Gift to Programmers, Software Developers, and Tech Geeks

Hello guys, its that time of the year again when you start thinking about gifts for your programmer boyfriend, husband, colleagues, or your near dear ones. Even if selecting presents or gifts were not tough, if your friend happened to be a programmer, it becomes slightly tougher. You might have heard that Programmers are aloof, nerd, and tech freaks, well, you heard it right. Programmers prefer to be alone in their own world, but they also like gifts, and you got it right; they are a nerd, so they love books, gadgets, music, and something which helps them to learn something, like a Udemy, Educative, or PluralSight membership.

Top 5 Natural Language Processing (NLP) Courses to Learn in 2021 - Best of Lot

Hello guys, if you want to learn Natural Langauge Processing (NLP) and looking for the best online training courses then you have come to the right place. Earlier, I have shared the best courses to learn Data Science, Machine Learning, Tableauand Power BI for Data visualization and In this article, I'll share the best online courses you can take online to learn Natural Langauge Processing or NLP.  These are the best online courses from Udemy, Coursera, and Pluralsight, three of the most popular online learning platforms. They are created by experts and trusted by thousands of developers around the world and you can join them online to learn this in-demand skill from your home.

How to sort an Array in descending order in Java [Example]

Sorting an array is one of the common tasks in Programming and you have many algorithms to sort an array, like QuickSort, MergeSort which provides O(NLogN) time performance and Bucket Sort, Counting Sort, and Radix Sort algorithms which can even sort some array in O(N) time. But, you hardly need to code these algorithms by hand when it comes to writing real code. The Programming language you will use already has tried and tested implementation for those algorithms and that's what you will learn in this article. In Java Programming language, it's easy to sort an array, you just need to call the Arrays.sort() method with a Comparator which can sort the array in the order you want but it highly depends upon which type of object is stored in the array.

5 Free Azure Solution Architect Technologies (AZ -303/304, AZ-300/301) Courses to Crack Exam in 2021

Hello guys, if you are preparing for Azure Solution architect technologies certification with code AZ--303 and AZ-304 or its older version AZ-300 and AZ-301 and looking for free online courses to start your preparation then you have come to the right place. In the past, I have shared the best courses to pass Azure FundamentalsAzure Administrator, and Azure Architect certifications and today I am going to share free online courses to prepare for the AZ-303 exam. Since this exam is fairly new, released in June 2020, there are not many free AZ-303 and AZ-304 courses are available online but since the topics haven't changed drastically, you can still use the old AZ-300 and AZ-301 courses to start your preparation.

How to Remove an Element from an Array in Java? [Example Tutorial]

Hello guys, In the last article, you have learned how to reverse an array in place in Java, and today I have come back with another array-based coding interview question. It's also one of the frequently asked coding questions, not as popular as the previous one but still has been asked a lot of times on various Programming Job interviews, particularly to beginners. In this problem, you are asked to write a program to remove a given number from the given array. It may seem easy, but the trick is that because an array is a fixed data structure and you cannot change the length of the array once created. 

QuickSort Algorithm Example in Java using Recursion

The Quicksort algorithm is one of the very popular sorting algorithms in programming, often used to sort a large array of numbers. Though there is numerous algorithm available to sort a list of objects, including integer, string, and floating-point number, quicksort is best for general purpose. It's a divide and conquers algorithm, where we divide the given array with respect to a particular element, known as 'pivot' such that the lower partition of the array is less than the pivot and upper partition elements of the array are higher than the pivot.

How to Remove an Element from Array in Java with Example

There is no direct way to remove elements from an Array in Java. Though Array in Java objects, it doesn't provide any methods to add(), remove(), or search an element in Array. This is the reason Collection classes like ArrayList and HashSet are very popular. Thanks to Apache Commons Utils, You can use their ArrayUtils class to remove an element from the array more easily than by doing it yourself. One thing to remember is that Arrays are fixed size in Java, once you create an array you can not change their size, which means removing or deleting an item doesn't reduce the size of the array. This is, in fact, the main difference between Array and ArrayList in Java.

How Binary Search Algorithm Works? [Java Example without Recursion]

The binary search algorithm is one of the fundamental Computer Science Algorithms and used to search an element in a sorted input set. It's much faster than the linear search which scans each and every element and improves performance from O(n) to O(logN) for searching an element in the array. In order to perform the binary search, you need a sorted array, so you can either ask the user to enter the array in sorted order or you should sort the array before performing the binary search. It's also one of the popular algorithms on Programming Job interviews. The interviewer often asks candidates to implement binary search algorithms by hand in their favorite programming languages like Java, C++, Python. or JavaScript.

How to declare and Initialize two dimensional Array in Java with Example

An array of more than one dimension is known as a multi-dimensional array. Two of the most common examples of multi-dimensional arrays are two and three-dimensional arrays, known as 2D and 3D arrays, anything above is rare. I have never seen 4-dimensional arrays, even 3D arrays are not that common. Now the question comes when to use a multi-dimensional array? Any real-life example? Well, 2D arrays are very common on platform games like Super Mario Bros to represent screen or terrain; 2D arrays can also be used to represent structures like a spreadsheet, or to draw board games like Chess, which requires 8x8 board, Checkers and  Tic-Tac-Toe, which requires 3 rows and 3 columns.

How to Convert or Print Array as String in Java with Example

Array and String are very closely related, not just because String is a character array in most of the programming language but also with popularity - they are two of the most important data structure for programmers. Many times we need to convert an array to String or create an array from String, but unfortunately, there is no direct way of doing this in Java. Though you can convert an array to String by simply calling their toString() method, you will not get any meaningful value.  If you convert an Integer array to String, you will get something like I@4fee225 due to the default implementation of the toString() method from the java.lang.Object class. Here, I show the type of the array and content after @ is hash code value in hexadecimal.

How to compare two Arrays in Java to check if they are equal - [String & Integer Array Example]

Hello guys, one of the common Programming, the day-to-date task is to compare two arrays in Java and see if they are equal to each other or not. Of course, you can't compare a String array to an int array, which means two arrays are said to be equal if they are of the same type, has the same length, contains the same elements, and in the same order. Now, you can write your own method for checking array equality or take advantage of Java's rich Collection API. Similar to what you have seen while printing array values in Java, java.util.Arrays class provides convenient methods for comparing array values.

How to find an element in Array? Linear Search Algorithm in Java [Example tutorial]

In the last article about searching and sorting, you have learned the binary search algorithm and today I'll teach you another fundamental searching algorithm called Linear search. Linear search is nothing but iterating over the array and comparing each element with the target element to see if they are equal since we search the array sequential from start to end, this is also known as sequential search or linear search. It is very slow as compared to binary search because you have to compare each element with every other element and definitely not suitable for a large array. It's practically useful only in case of the small array up to 10 to 15 numbers. In the worst case, you need to check all elements to confirm if the target element exists in an array or not.

3 Ways to convert java.util.Date to java.time.LocalDate in Java 8 - Example, Tutorial

One of the great features of Java 8 is the new Date and Time API which is intended to fix existing issues related to mutability and thread-safety with existing java.util.Date class. But given java.util.Date is used very heavily across all the Java application, you will often end up with a situation where you need to convert java.uti.Date to java.time.LocalDate while working in Java 8. Unfortunately there is no toLocalDate() method in the java.util.Date class. Though, you can easily convert Date to LocalDate if you are familiar with how new and old API classes map to each other.

10 Examples to DateTimeFormatter in Java 8 to Parse and Format Date & Time

Parsing and formatting dates are other essential topics while working with date and time in Java. Even though old Date API had SimpleDateFormat and DateFormate class to support formatting of date and parsing texts, they were not simple, or should I say there were just simple in writing wrong code. You might know that SimpleDateFormat was not thread-safe and quite heavy to be used as a local variable. Thankfully, this has been sorted now with a new LocalDateTime class and DateTimeFormatter class, which has several inbuilt formats.

How to Convert String to LocalDateTime in Java 8 - Example Tutorial

Hello guys, today, I will talk about a common problem while working in a Java application, yes you guessed it right, I am talking about String to Date conversion in Java. I had discussed this before (see the Date to String) when Java 8 was not out, but with Java 8, I don't see any reason to use old date and time API, and hence I am writing this post to teach you how to convert String to Date in Java 8 or beyond. Suppose you have a date-time String "2016-03-04: 11:01:20" and you want to convert this into a LocalDateTime object of Java 8 new date and time API, how do you do that? Well, if you have worked previously with String and Date then you know that you can parse String to Date in Java.

10 Examples of Collectors + Stream in Java 8 - Grouping By, Partition By, Joining, and Counting

As the name suggests, the Collectors class is used to collect elements of a Stream into Collection. It acts as a bridge between Stream and Collection, and you can use it to convert a Stream into different types of collections like List, Set, Map. Btw, it not just limited to that, it even provides functionalities to join String, group by, partition by, and several other reduction operators to return a meaningful result. It's often used along with the collect() method of Stream class which accepts a Collectors. In this article, you will learn how to effectively use java.util.stream.Collectors in Java by following some hands-on examples.

How to Format Date to String in Java 8 [Example Tutorial]

One of the common programming tasks in Java is to change the date format of a given Date or String. For example, you have something like "2017-01-18 20:10:00" and you want to convert it that date into "2017-01-18", or you want to convert from dd-MM-YY to MM-dd-YY or to any other format of your choice and need, but a valid date format as per Java specification. How will you do that? Well, it's not that difficult. It's just a two-step process. In the first step, you need to parse String to create an equivalent date using the current format, and then once you got the date, you need to again convert it back to String using the new format. The same process is repeated in both Java 8 and before, only corresponding API and class changes.

Randam vs ThreadLocalRandom vs SecureRandom Example in Java

Hello guys, one of the common tasks for Java developers is to generate an array of random numbers, particularly in game development. For example, if you are coding for dice-based games like Ludo or Snake and Lader then you need to generate a random number from 1 to 6 to simulate dice behavior. The same goes for other dice-based games. There are many cases where you need to generate random numbers and an array of random numbers. In some cases, duplicates may be allowed while other duplicates are not permitted.  

6 Advanced Comparator and Comparable Examples in Java 8 for Sorting Objects

The JDK 8 release has completely changed the way you compare objects and sort them in Java. The new features of Java 8 language e.g. lambda expression and method reference has made it easier to implement both Comparator and Comparable interface, as you don't need Anonymous class for inline implementation. Now, you can create Comparators in just one line by using lambdas and method reference as we'll see in this article. Other features like providing default and static methods on interfaces have also made a huge difference when it comes to Comparator. They helped Java API designer to redesign and evolve existing interfaces, which wasn't possible earlier without breaking existing clients of those interfaces.

Java 8 compute() and computeIfPresent() Example - ConcurrentHashMap

The JDK 8 has added several useful methods in existing interfaces e.g. java.util.Map, java.util.Collection, and java.util.concurrent.ConcurrentMap. Thanks to default methods, the much-needed evolution of existing interfaces becomes possible. Out of many useful methods, one method which stands out to me is the compute() method, which allows you to update a value in ConcurrentHashMap atomically. As per Java documentation, The compute() function tries to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping). The entire function is performed atomically.

How to Convert a List into Map in Java 8 - Example Tutorial

One of the common tasks in Java programming is to convert a list to a map and I have written about this in the past and today we'll see how Java 8 makes this task easier. Btw, be it Java 7 or Java 8, you need to keep something in mind while converting a list to a map because they are two different data structures and have completely different properties. For example, the List interface in Java allows duplicate elements but keys in a Map must be unique, the value can be duplicated but a duplicate key may cause a problem in Java 8. This means a List with duplicate cannot be directly converted into Map without handling the duplicate values properly. 

Top 5 Design Patterns Books for Java Developers - Best of Lot

Design patterns are an essential topic for object-oriented programmers, like Java and C++ developers. It becomes even more important as your experience grows because everybody starts expecting a lot more from you in terms of writing quality code. I often receive emails from intermediate and senior Java developers about progressing to the next level, like how to become Tech Lead, Team Lead, or a software architect; knowledge of design patterns play an important role in taking more technical responsibility. While the GoF book is the bible for object-oriented design patterns, in my opinion, it is a bit too dry and academic.

How to sort HashMap by values in Java 8 [using Lambdas and Stream] - Example Tutorial

In the past, I have shown you how to sort a HashMap by values in Java, but that was using traditional techniques of the pre-Java 8 world. Now the time has changed and Java has evolved into a programming language that can also do functional programming. How can you, a Java Programmer take advantage of that fact to do your day to day task better like how do you sort a Map by values in Java using lambda expressions and Stream API. That's what you are going to learn in this article. It will serve two purposes, first, it will tell you a new way to sort a Map by values in Java, and, second and more important it will introduce you to essential Java 8 features like Lambda Expression and Streams, which every Java Programmer should learn.

10 Example of ps command in Linux

Hello guys, It's been a long time since I wrote about the Linux command in this blog. In my last article, I have shared free Linux courses for beginners which you many of you guys have liked, that's why I am writing another post on Linux, this time about the "ps" command.  If you have worked on a Linux machine then you are likely to be familiar with the "ps" command. The "ps" command is used to check the process status. It stands for "process statistics" and you can use the ps command to see all the processes and find things like PID which can be used to interact with the process. For example, you can kill a process by passing PID to kill command in Linux as shown here.  

Java Interface Example for Beginners

Hello guys, if you are wondering what is Java interface and how to do your user interface in Java then you have come to the right place. Earlier, I have written about the actual use of the interface in Java, and in this article, I will give you an example of an interface in Java. I will also explain what is an interface and how and where you should use it. An interface is nothing but a name. As Joshua Bloch advised in the Effective Java book, the interface is great for declaring type. So, if you want to declare your own type like Employee, Order, Listener, etc, you can use interface. 

2 Clean Code Examples in Java using Stream and Lambda Expressions

Hello guys, writing Clean Code in Java has always been my passion, more so after reading the Clean Code book by legendary author Uncle Bob Martin. I always look for ways to make my concise yet more readable but sometimes Java's verbose nature comes into the way. Thankfully after the introduction of powerful features like Lambda expression and Stream API, writing clean code in Java has become much easier. Streams enable the user to combine commands in some sort of pipeline just like we combine Linux commands using pipe and result in high-quality code which describes what you are doing instead of how to do things.

Can you Overload or Override main method in Java?

One of the common doubts among Java beginners while learning the overloading and overriding concept is, whether it's possible to overload main in Java? Can you override the main method in Java? How will JVM find if you change the signature of the main method as part of the method overloading? etc. These are a good question and show curiosity and application of knowledge of students, so if you are the tutor you must answer these questions. If you don't know the answer to this question, don't worry, just read this article till the end and you will find the answer yourself.  I have tried to explain in the simple word but if you still can't get it, feel free to comment and I will try to help you personally. 

What is Overloading, Overriding, Hiding, Shadowing and Obscuring in Java and Object-Oriented Programming?

Hello guys, today, I am going to explain a couple of fundamental object-oriented programming concepts in Java, like Overloading, Overriding, Hiding, Shadowing, and Obscuring. The first two are used in the context of a method in Java while the last three are used in the context of variables in Java. Two methods with the same name and same class but the different signature is known as overloading and the method is known as an overloaded method while a method with the same name and same signature but in parent and child class is known as overriding. On the other hand,  Hiding is related to overriding since the static and private method cannot be overridden, if you declare such methods with the same name and signature in parent and child class then the method in the child class will hide the method in the parent class.

How to reverse bits of an integer in Java? [LeetCode Solution]

Hello guys In this Java article, you will learn how to reverse bits of an integer in Java. This is one of the common coding problems which is often asked during phone round of technical interviews on companies like Amazon, Google, and Microsoft. If you have appeared in any programming interviews then there is a good chance that you might have already seen this problem before. If you know the solution then you are in a good place but if you don't know the solution then don't disappoint as many experienced Java developers also struggle to solve this problem.

Can You Run Java Program Without a Main Method? [Interview Question]

Hello guys, the first thing Java programmers learn is that they need a main method to run, but when they go to any Interview or college viva and ask can run a Java program without a main method, they surprised like hell. Well, there are actually different types of execution models available in Java; for example, Applets, which run on the browser don't have the main method. Instead, they have life-cycle methods like init(), start() and stop(), which controls their execution. Since Applet is a Java program, you can answer this question is Yes. Similarly, we have Servlet, which runs in a Servlet container, comes as bundled in a web server like Tomcat, or Jetty.

How to send Email in Java using Spring Framework - JavaMailSenderImpl Example

Hello guys, if you are looking for a Java Spring tutorial to send emails then you have come to the right place. Earlier, I have shared the free spring framework online courses, and today, I am going to share how to send Emails in Java application using Spring and JavaMailSenderImpl class which makes it really easy to send emails from Java application.  Email is an essential function of any enterprise Java application. Your application will need Email functionality to send reminders, bills, payments, confirmations, passwords, alerts, and several other kinds of system notifications.

Top 10 Spring MVC and REST Annotations with Examples for Java Programmers

Hello guys, welcome to my third article on exploring essential annotations from the Spring framework, the most popular framework for Java development. In the first article, I have shared some of the most useful Spring Framework annotations, which were based upon Core Spring functionalities like dependency injection, inversion of control, and configuration, and in the second article, you have learned about important Spring Cloud annotations like @EnableConfigServer, @EnableEurekaSever, and @EnableDiscoveryClient. Now that you know those essential Spring annotations it's time to move towards Spring MVC and REST, one of the most used parts of Spring Framework.

Top 5 Java EE Bad Practices Java Web Developers should Avoid

Hello guys, if you are working in Java EE and creating web application and enterprise application then you know that it's not as easy as it looks. You need to know some internal quirks so that your application can work properly in Production. Earlier, I have shared the free courses to learn full-stack Java development, and today, I am going to talk about some coding practice that you should avoid while creating Java web application or Java EE application. This will save you a lot of headaches when your application will go live and run in production. 

10 Essential JVM Options for a Java Production System

Hello guys, this is a brief guide of appropriate JVM options, which you will often see in production Java systems. As a Java developer, you should know what these JVM options mean, their importance, and how they affect your application. You will find that most of the JVM options are related to heap memory, garbage collection and to log some details, like heap dump, necessary for troubleshooting heap related issues like a memory leak or excessive memory consumption. It's Ok if you don't know these Java virtual machine options yet, but you should be familiar with them, and that's the objective of this article. Btw, how do you find the JVM options your application is using? Well, you can see the startup scripts through which your application is started.

Top 5 Books to learn Scrum, Sprint, and Agile in 2021 - Best of Lot

Hello guys, Are you a senior Java developer who wants to become a Scrum Master to advance in your career? Well, at this time, a person needs to wear many hats for job security. You not only have to perform your duty as a Software developer, I mean coding and debugging, but also need to support your application as Level 2 or Level 3 Support. You also need to wear project management or product development hat, which involves talking to stakeholders and clients. If this is not enough, you may need to play the role of Scrum master in your daily Scrum meeting and drive your Sprint review and Sprint planning meeting. To do all these, you must understand Agile methodologies and how the process works.

Top 5 Data Visualization Tools every Data Analyst Should Learn

Hello guys, If you are learning Data Visualization and looking for the best tool for the job then you have come to the right place. Earlier, I have shared the free Data Analysis courses and today, I am going to share the best Data Visualization tools for Data Analysts and Data Scientists to learn. Data Visualization is one of the most in-demand skills in today's data-centric world. More and more companies are tapping on their data to find opportunities and this is increasing demand for Data Analysts who can tell the story from their data. 

Top 5 Essential Machine Learning Algorithms Data Scientists Should Learn

Hello guys, you may know that Machine Learning and Artificial Intelligence have become more and more important in this increasingly digital world. They are now providing a competitive edge to businesses like NetFlix's Movie recommendations. If you have just started in this field and looking for what to learn then I am going to share 5 essential Machine learning algorithms you can learn as a beginner.  These essential algorithms form the basis of most common Machine learning projects and having a good knowledge of them will not only help you to understand the project and model quickly but also to change them as per your need.

How to remove duplicate elements from an unsorted Array in Java? [Solved]

This is one of the common technical interview questions which are asked to entry-level programmers and software engineers. There are also a lot of variants of how do you remove duplicates from an array in Java like sometime array is sorted, and other times it's not-sorted or unsorted. Sometimes, the Interviewer just spends more than half of the interview on this question by progressively making it more difficult by imposing new constraints like removing duplicate elements in place or without using any additional data structure, etc.

How to Reverse digits of an Integer in Java without converting to String - LeetCode Solution

Hello guys, LeetCode has a problem to reverse digits of an integer number without using any library method like the reverse() method of StringBuffer. In LeetCode, you can solve this problem with many different languages like Java, C, C++, C#, Python, Ruby, and even JavaScript. Btw, in the article, you will learn how to solve this problem in Java. Before approaching a solution let's first read the problem statement :

Reverse digits of an integer.

Example 1: x = 123, return 321
Example 2: x = -123, return -321

String Anagram Coding Problem Solution in Java - Amazon Programming Interview

Hello guys, if you are preparing for Coding interviews then you already know that String is one of the most popular topics. You will bound to get some string-based coding problems on interviews. If not, you have come to the right place becuase we'll look at one of the most popular String programming interview questions today,  how to check if two given string are Anagram of each other? Two String is said to be an anagram of each other, if they contain exactly the same characters but in a different order. For example "ARMY" and "MARY" is an anagram of each other because they contain the exact same characters 'A', 'R', 'M' and  'Y'.

How to solve Two Sum Array Problem in Java

Hello guys, if you have been solving data structure and algorithms problems or been through a couple of coding interviews then you might be familiar with the classical "Two Sum" problem. It's one of the classical coding problems of finding two numbers in a given array whose sum is equal to a given target number. It's a good problem to learn how array data structure works and programming basics like loops, conditionals, and operators. It's also good for developing your problem-solving skills and coding sense, which will help you in the long run. This is also a popular leetcode problem and commonly asked in coding interviews to both beginners and intermediate programmers.

Top 5 Amazing Gifts for Programmers, Coders, and Software Developers

If you are planning for a surprise gift to your programmer boyfriend and husband on this holiday season like Black Friday, on Christmas, or New Year, or maybe on his next birthday, but not sure what to gift, then you have come to the right place. In this article, I am going to share some of the best gifts ideas for programmers and developers, gift which every programmer wishes for. To be honest with you, buying a gift is easy, but finding the right gift is very tough. I have spent countless hours on the internet to find a perfect gift for one of my colleague's husband, and this article is a result of that research.

Top 10 REST API, Microservices, and RESTful Web Services Book for Java Web Developers

In recent years, REST has become the standard style for developing web services, also known as RESTful Web Services. These web services take advantage of REST principles, which leverages all goodness of HTTP to provide scalable and robust web services. As a Java Web developer, it's high time that you get familiar with the REST concepts and the REST style of developing web services in Java, also known as RESTful web services, and nothing is better than to start with a good book. I often receive a request about which book should I read to learn REST? Or what are some best books to learn to develop RESTful Web services in Java, etc.? In this article, I will suggest some books which will teach you both designing a REST API and developing RESTful web services in Java.

When to use PUT or POST in a RESTful Web Service?

Hello guys, if you are confused about whether to use PUT or POST for updating a resource using RESTful web service then you have come to the right place. In the past, I have shared the best RESTful web service books and courses and today, I am going to share some tips to choose between PUT and POST while designing your RESTful wb services. Btw, you are not alone, one of the most common confusion among web developers is the choice of PUT or POST HTTP method for creating and updating a resource while developing RESTful Web Services. Since both can be used to submit data, you can use either POST or PUT to create or update a resource.
 

Coursera's Data Science Specialization + Certification Review - Is it worth it?

Hello guys, if you are thinking to join Data Science Specialization by John Hopkins University on Coursera but thinking whether it's worth your time and money or not then you have come to the right place. Earlier, I have shared the best Coursera courses for Data ScienceCloud ComputingMachine Learning, Python Programming, and today, I will review one of the most popular Data Science specializations on Coursera, Data Science Specialization by John Hopkins University. While Coursera has many top-quality Data Science certifications, this is probably the most popular of them given its offered by the Johns Hopkins University of the USA. 

Recursive grep command example in Linux

Hello guys, one of the most common tasks while working in programming projects is finding files containing some specific text like you have your application deployed in the Linux server, and you are migrating your database from one server to another. Now, you want to file all config files and scripts which are referencing your old database using the hostname or IP address, so that you can replace them with an alias. Well, you should always use an alias to connect to the database or any other system, but sometimes it happens you have to use a hostname. Anyway, how do you find all those files containing hostname in your Linux machine? Well, the grep command is here to help you.

9 ways to Quit/Exit from Vim Editor in Linux Command Line?

Hello guys, if you are stuck inside VIM editor and looking for a way to come out then you have come to the right place. In the past, I have shared the free Linux courses and today, I am going to talk about Vim or VI editor, one of the most important tools for people working in Linux. You might not know but many developers struggle to get out of commands like Vim and telnet. I can say that becuase there was a time when I spend a good amount of time coming out from the telnet window.

Top 40 Advanced Java/J2EE Interview Questions Answers for Experienced - 3 to 5 Years

Hello guys, if you are going for a Java support engineer interview and looking for some frequently asked questions then you have come to the right place. I have shared many posts about Java interview questions in the past but nothing, particularly for the support engineer perspective. Since there are a lot of L1 and L2 support job exists in BFSI (Banking, Finance, and Insurance Industry) and they are also for the longer term, I decided to write this post. In this article, I will share questions to help with technical aspects like the essential skills you need to clear a support engineer interview.

Top 15 Frequently asked Linux and UNIX Interview Questions and Answers for Beginners and Experienced

UNIX and Linux Interview Questions and Answers
Hello guys, if you are preparing for technical interviews like Software developer or IT support and looking for some frequently asked Linux and UNIX interview questions then you have come to the right place. In the past, I have shared free Linux courses and today, I am going to share popular Linux and UNIX questions from technical interviews. You might already know that questions from various UNIX operating systems like Solaris, Linux, IBM AIX, or any other UNIX operating system are asked on different support and programming interviews and a good knowledge of essential UNIX concepts and commands goes a long way in cracking these interview as well as working efficiently in your day job. 

Top 10 RESTful Web Service Interview Questions for Java Developers

REST is an architectural style of developing web services that have become immensely popular in the last couple of years and consequently gained a lot of importance in core Java and Java EE interviews. If you are a Java web developer, then you are most likely to see a couple of questions from web services every time you go for a Java web developer interview. One of the most frequent ones is the difference between REST and SOAP web services, which I have recently answered there, but there are a lot many other good questions I have collected from friends and my readers, which I have not yet published. In this article, I am sharing those questions, mainly based on REST-style web services for your practice and preparation.

Top 18 Java Design Pattern Interview Questions Answers for Experienced

Design pattern interview question in Java
Hello guys, if you are preparing for Java interviews and looking for frequently asked design pattern interview questions then you have come to the right place. In the past, I have shared the best courses for Java interviews, and today, I am going to share popular design pattern questions from Java interviews. You can use these questions to both practices and check your knowledge about OOP design patterns. Both OOP and GOF design pattern interview questions are an integral part of any good list of core Java interview questions. Java is a popular Object-oriented programming language and has lots of design patterns and design principles, contributed by many developers and open-source frameworks.