Thursday, October 31, 2019

When to use intern() method of String in Java?

The String.intern() method can be used to deal with the String duplication problem in Java. By carefully using the intern() means you can save a lot of heap memory consumed by duplicate String objects. A String object is said to be duplicate if it contains the same content as another string but occupied different memory location e.g. str1 != str2 but str1.equals(str2) is true. Since String object consumes a large amount of heap memory in average Java application, it makes sense to use the intern() method to reduce duplication and take advantage of String pool feature provided by Java. You can use intern() method to intern a String object and store them into String pool for further reuse.

Top 5 Courses to learn Artificial Intelligence in 2019 - Best of Lot

If you are not living under the rock, then you might have heard AI or Artificial Intelligence quite often in the last few years. It's not that Artificial Intelligence is a brand new thing, it's been around for years, but in the last few years it has really peaking up. Artificial Intelligence is impacting every aspect of life just like Electricity did at the start of the 19th Century and IT did a couple of decades ago. More and more companies are trying to solve real-world problems using AI like self-driving cars and many startups using AI in educational and training applications to train children better. My first experience with AI was when IBM's Deep Blue beats Garry Kasparov in chess.

Wednesday, October 30, 2019

How to use EXISTS Clause in SQL? A Real World SQL Query Example using EXISTS

Hello Guys, you might have heard about how useful the EXISTS clause is helpful in writing sophisticated queries. Still, at the same time, I have also seen that many programmers struggle to understand and use EXISTS and NOT EXISTS clause while writing SQL queries.  If you are one of them, then you have come to the right place. Today you will learn how to use the EXISTS clause in SQL by picking up a real-world example and an excellent SQL exercise from the LeetCode. Suppose that a website contains two tables, the Customers table, and the Orders table. Can you write an SQL query to find all customers who have never ordered anything?

Top 5 Data Structures and Algorithms Courses and Classes for Beginners [Python + Java + JavaScript]

Data Structures and Algorithms are one of the most essential topics for programmers. The best thing about them is that they never get out-of-date, and any investment you made in terms of time and money will pay rich dividends for a long time. I have also found that people good at algorithms and data structures are often a better programmer than others. They tend to improve your programming skill and coding sense, and that's the main reason I suggest all kinds of programmers, from junior to senior to spend some time revising, refreshing, and honing your data structure and algorithm skills. Most of us first heard about them in school and colleges but didn't understand at that time. At least I can say that to me. I first heard about the array and linked list of my engineering college.

Tuesday, October 29, 2019

Top 5 Books to Learn Data Science and Machine Learning with Python - Best of Lot

While there are many online courses to learn Python for Machine learning and Data science, books are still the best way to for in-depth learning and significantly improving your knowledge. Python is a universal language that is used by both data engineers and data scientists and probably the most popular programming language, as well. All the Data Scientists I have spoken, and many in my friend circle just love Python, mainly because it can automate all the tedious operational work that data engineers need to do. To make the deal even sweeter, Python also has algorithms, analytics, and data visualization libraries like Metaplotlib, which is an essential data scientist.

Top 5 Courses to learn ASP .NET in 2019 - Best of Lot

Many people won't agree, but ASP .NET is one of the most popular technology, and many developers are working on ASP .NET around the world. Being a Java developer, I got limited exposure to ASP .NET, particularly in my college days, but I have many friends who are working in .NET and doing great for themselves. There was always some comparison between Java/JEE and ASP .NET and other .NET technologies, but to be honest, both are great. It all depends on which technology you are working, and that is decided mostly by architects in your company rather than yourself. It was totally by luck that I landed on Java world, and my friends landed in the .NET world, but we both have done work on another side.

The 2019 Frontend and Backend Developer RoadMap

Hello Guys, Happy New Year, 2019. I am sure you all have already made your goals by now and thinking about how to achieve those goals. If one of your goals is to learn to code or to become a Web Developer in 2019, then I have something significant to share with you, the 2019 Web Developer RoadMap. This is an excellent illustration of how to become a web developer in 2019 and guide you on how you can learn and master Web Development in 2019. It's a collection of different paths to learning front-end, back-end, and all other things a Web developer should know.  You will not just know about web development but about essential programming stuff which is necessary for all kinds of programmers.

Monday, October 28, 2019

Top 5 Courses to learn JVM Internals, Memory Management and Performance Tuning in Java

For a senior Java developer, it's essential to know how JVM works and how to troubleshoot issues with respect to memory, most notably memory leaks in Java applications and servers like Tomcat. You might be thinking, how come memory leaks in Java? Isn't memory is managed by JVM and Garbage collector? Well, that's true, but poor coding or just a bit of carelessness can cause memory leaks in Java. If you don't know about how to configure JVM, troubleshoot memory-related problems on the heap, and stack, you will struggle at a higher level. That's why it's essential for experienced Java developers to spend some time learning these advanced skills as their experience grows.

10 Reasons to Learn Python Programming Language in 2019

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.

Sunday, October 27, 2019

Top 5 HTML 5 and CSS 3 Courses for Beginners for Project based, hands-on Learning - Best of Lot

Hello guys, if you are learning Web Development or thinking about becoming a Web Developer, then you have come to the right place. Earlier, I have shared the 2019 Web Developer RoadMap, and today, I'll talk about HTML and CSS and share some useful resources to learn them in depth. There are three pillars of Web Development, HTML, CSS, and JavaScript. HTML provides structure, CSS provides the style and JavaScript provides the interactiveness. The HTML stands for HyperText Markup Langauge, and it's one of the oldest technology I know. I first come to know about HTML in my college day, good 20 years back, when we are happy to see a list of heading in different colors. HTML has come a long way since then with HTML 5 bringing some of the cool features. The same goes for CSS, the stylish part of your web. It is as old as HTML but improved a lot.

What is the best Book to Learn Java for C and C++ Programmer?

In the last 2 decades, many Java programmers started programming with C and C++, but the situation is changed now, you have more choices like you can choose Python, or you can even start with Java. It seems Academia prefers Python in the USA and Java in India, but there are still many programmers who know C and C++ and want to learn Java for one or other reasons. I often receive emails from my readers about book recommendation, and recently, a couple of them asked me to suggest the best Java books for C and C++ programmers. I can relate those beginners to myself because I have also gone through the same phase, but those days, the university textbooks are our only source to learn new things. We didn't have broadband, and unlimited access to the Internet and eBooks was not popular at that time, but things have changed.

Saturday, October 26, 2019

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

DevOps is really hot at this moment and there are many job opportunities 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 important 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.

Top 5 Books to Learn Python in 2019 - Best of Lot

Whether you are an AI expert or a Computer Science student, you will come across Python Programming language sooner or later in your career. Starting its journey in 1991, Python has now captured the Programming world. Started as just a scripting solution for trivial stuff, Python is now everywhere. With its excellent libraries and frameworks, Python is driving Data Science, Web Development, Machine Learning, Server Side development, Automation, and General Programming stuff, and that's why it makes sense to Learn Python. Unlike some programming languages like Java or C++ which is good for server-side and complex programs but not suitable for simple things, because of its awesome libraries and vibrant community, you can do almost everything using Python from object-oriented programming to writing simple scripts.

Friday, October 25, 2019

10 Object-Oriented (OOP) Design Principles Java Programmer Should Learn in 2019

The Object-Oriented Design Principles are the core of OOP programming, but I have seen most of the Java programmers chasing design patterns like Singleton pattern, Decorator pattern, or Observer pattern, and not putting enough attention on learning Object-oriented analysis and design. It's important to learn the basics of Object-oriented programming like Abstraction, Encapsulation, Polymorphism, and Inheritance. But, at the same time, it's equally important to know object-oriented design principles. They will help you to create a clean and modular design, which would be easy to test, debug, and maintain in the future.

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

Hello guys, if you are a computer science graduate or new into programming world, interested in learning SQL and looking for some awesome resources e.g. books, courses, and tutorials to start with then you have come to the right place. In 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 is SQL and why should you 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 e.g. tables, stored procedure etc and also to store and retrieve data from the database.

Thursday, October 24, 2019

Best Online Learning Platform for Programmers - Codecademy and Pluralsight Review

As a programmer, the most important thing is to keep yourself up-to-date. If you don't your skills will become obsoleate and you may not be Marketable. Being an author of a Java blog and editor of a Medium publication, I receive a lot of queries from Programmers and Developers. Many of my readers ask me about advice like which books to learn to code, which is the best site to learn to code? Where should I go for preparing coding interviews and much more? One of the questions which keep coming to me was about Pluralsight and Codecademy? like which site is better to learn new tech skills and level up your current skill? This is a very important question because learning is an essential part of professional programmers' careers. If you don't learn new things or upgrade yourself, you will leave behind in your job and career.

Top 5 Spring Cloud Courses for Java Developers to Learn Online - Best Of Lot

Hello guys, if you are learning Spring Cloud for developing cloud-based Java application and looking for some good resources to start with e.g. online courses and books then you have come to the right place. In this article, I am going to share some of the best courses to learn Spring Cloud and develop a cloud-based application in Java. One of the common question when it comes to learning a new technology is how to start? I was a big fan of books earlier but nowadays I personally like to start with an online course to learn things.  It works better because you gain a lot from the instructor's experience and you also have a chance to ask questions to the instructor.

Wednesday, October 23, 2019

10 Tips to Become a Better Java Developer in 2019

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.

Udemy vs Pluralsight Review - Which is better to Learn to Code and Programming?

Hello guys, how are you doing? I am again back with answering one of the familiar doubts among online learners, Pluralsight, or Udemy? Which are the better websites for learning code and leveling up your programming skills? As a Java blogger and editor of a Medium publication, I often receive questions like this from my readers. Earlier I have answered questions like Pluralsight vs. CodeCademy and Udemy vs. CodeCademy but never explained about Pluralsight vs. Udemy, which many of my readers have been asking from a long time. Since Pluralsight and Udemy are two of the most popular online learning platforms and me also spend considerable time every day on each of them, I felt to write my review of Udemy and Pluralsight and explains pros and cons of both Udemy and Pluralsight so that you can make an informed decision when it comes to learning tech skills online.

Tuesday, October 22, 2019

Top 5 Programming Languages Beginners Can Learn in 2019

I have read somewhere that programmer should learn a new programming language every year ( I think it's code complete, not sure, though), but if you cannot do so, I suggest to at least learn following five programming languages to do well in your career. Everybody loves polyglot programmer and an all-rounder who is versatile enough to write a quick script and can also write complex Java programs. In fact, it's almost mandatory for a senior developer to learn more than one language. Interviewers are giving more attention to an engineer who has good experience with multiple languages, e.g., C++ and Java go quite well, so is Python and Java. I personally like Software Engineers who have strong experience in either C++ or Java and can write scripts in Groovy, Perl or Python.

Monday, October 21, 2019

Top 5 RESTful Web Services with Spring and Java Courses for Experienced Developers

In the last article, I have shared some courses to learn Microservice development with Spring framework and today, I'll talk about RESTful web service developments. The REST API and RESTful Web Services needs no introduction, it's everywhere now and driving a new internet revolution. Most of the software development in the web space now also involves REST APIs. Gone are the days where the only interface for a web application was the browser, now most of them support REST APIs, which allows them to be accessible on any device e.g. mobile devices, tablets, apple watch and any other digital gadgets. It doesn't matter whether you are working for software giants like Amazon, Facebook or Google or working with startups like Uber or Netflix, REST APIs are everywhere.

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

Begin the author of a Java blog, 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. Like many other things in the world, to improve coding, you need to code, code, and code - and to develop programming, you need to write a program, and that's where many of these programmers fail. In 90% cases, they simply don't write enough programs to develop programming logic and code sense and, if without too much experience at data structures and algorithms, if they attempt problems given on sites like LeetCode, HackerEarth, TopCoder or Project Euler, they fail miserably.

Sunday, October 20, 2019

How to implement Command Design Pattern in Java with Example

Hello guys, it's been a long since I have shared a Java design pattern tutorial. I did share some courses to learn design patterns but haven't really talked about a particular design pattern in depth. So, today, we'll learn one of the important design pattern, which is often overlooked by Java developers. Yes, I am talking about the Command Pattern which can help you write flexible, loosely coupled code for implementing actions and events in your application. In simple words, the command design pattern is used to separate a request for an action from the object which actually performs the action. This decoupling between Invoker and Receiver object provides a uniform way to perform different types of actions. This decoupling is achieved using a Command object, which is usually an interface with methods like execute()

10 Java and Web Development Courses from Udemy - Best of Lot

Hello guys, I am sure you all have made your goals and resolutions for this year, e.g., what to learn in 2019. If you haven't, then check out my post 10 Things Java programmer should learn in 2019 for some ideas. If you have already made your goal, then it is time to think about how you are going to achieve it. For example, my top 3 goals in 2019 are to learn Java 11, Spring 5, and Spring Security 5, but how am I going to learn them? Well, I like books and online courses, and that's why I have been searching for some excellent courses on Java 11 and Spring 5. Luckily there are some available in Udemy, and the best part is that they are currently running a New Year Sale event where every single course is priced just $10, Yes you heard it right, only $10.99, even for a course whose original price is $200.

Saturday, October 19, 2019

Top 5 Free Kubernetes courses for DevOps Engineers and Java Programmers

Hello guys, DevOps is becoming an essential skill in today's Programming and Software Development world and Kubernetes is an important concept and tool for DevOps Engineer. It takes container-based deployment to another level and allows you to manage it on the scale. You can use Kubernetes to scale your container environment or let Kubernetes do all the work for you by leveraging its auto-scaling feature. Many DevOps beginners think that Docker and Kubernetes are the same but they are not. Docker provides a container to deploy your application and commands to interact with those but container but Kubernetes is actually a container management technology, which decides how many containers are needed and deal with other management aspects.

How to Remove a Key, Value, or Entry from an HashMap in Java 8 - Example Tutorial

In the last article, I have shown how to remove key/value pairs from a map in Java based upon some conditions like remove all entries where values are greater than some values. I have told you that you must use the Iterator's remove() method for removing mapping while iteration to avoid ConcurrentModificationException, but that's not required anymore in Java 8. From JDK 8 onwards, you can selectively remove mapping without iterating over Map. The JDK 8 API has added several new methods to existing interfaces e.g. java.util.Collection, java.util.Map, Comparator etc because the interface can now contain concrete methods in form of static and default methods.

Friday, October 18, 2019

Top 5 Data Science and Machine Learning Courses to Learn Online - Best of Lot

Many programmers and Computer Science graduates are moving towards Data Science and Machine learning hoping for better pay and career opportunity and there is a reason for it. Data Scientist and Machine Learning Specialist have been ranked the number one job on Glassdoor for last a couple of years and the average salary of a data scientist is over $120,000 in the United States according to Indeed. Data Science is not only a rewarding career in terms of money but also it provides the opportunity to solve some of the world's most interesting problems.  IMHO, that's the main motivation many good programmers are moving towards Data Science, Machine Learning, and Artificial Intelligence.

Difference between StringJoiner vs String.join in Java 8 with Examples

Joining multiple String literals or object into one is a common programming requirement and you will often find situations where you need to convert a list of String or a Collection of String into a CSV String for your application. For a long time, JDK API has no way to join multiple String literals or objects together, which forces programmers to write hacks like looping through all String objects and manually joining them using String concatenation to create the final, joined String. Even though this approach worked, it was filled with errors and hacks like you need to be careful not to add delimiter before the first element and after the last element, which often caused issues, particularly in case of beginners and junior Java developers.

Thursday, October 17, 2019

Top 5 Courses to Learn Linux Shell scripting (bash, ksh, csh)Online - Best of Lot

A massive chunk of a developer's time is wasted in trying to repeat tasks and commands, especially when it comes to working with a bunch of UNIX or Linux machines, and a good knowledge of shell scripting can free you from such mundane task and give time to do some interesting stuff. If you don't know what shell scripting is then let me tell you is nothing but a program written using shell built-ins, and Linux commands to automate things, e.g. checking if a host is reachable or finding and deleting large files which are older than certain days or archiving them into another machine. Basically, it's a tool that allows you to automate the boring and repeating task, and that's the way programmers should work. They should not be repeating stuff; instead, they should be investing that time to create a script or program which can automate that task.

Top 2 Books for OCPJP8 Certification - Java 8 1Z0-809, 810, 813 Exam

This is the second part of the best books for Java 8 certifications. Since you need to pass two exams, OCAJP8 and OCPJP8, to become a Java SE 8 certified developer, I have shared some of the best OCAJP8 books in the last article. In this article, I will tell you more about the second exam, OCPJP8, and suggest the best books to prepare OCPJP8. This exam is known as a professional level exam, and it's more stringent than the associate level exam. The OCPJP8 stands for Oracle Certified Professional Java Programmer. The exam code for this certification is 1Z0-809.

Wednesday, October 16, 2019

Top 5 Courses to Learn Spring Framework in Depth in 2019 - Best of Lot

Spring Framework is a very important 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 Spring framework. Now, the question comes, what is the best way to learn Spring framework? Is there any online courses out there which are focused on Spring? What are some good books and resources for learning Spring? These questions are very common among Java developers and I often see them on forums, online chat channel 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.

What is a Functional interface in Java 8? @Functional Annotation Examples Tutorial

The Functional interface is one of the most important concepts of Java 8 which actually powers lambda expression but many developers don't put enough effort to understand it and spend time learning lambda expression and Stream API without first understanding the role of functional interface in Java 8. Unless you know what is a functional interface and how lambda is related to it, you can't use powerful features of Java 8 like Lambda expression and Stream API. Without knowledge of functional interface, you won't be able to understand where you can use a lambda in the code but also you will struggle to write lambda expression the method is expecting, hence, it's important to have a good understanding of functional interface in Java 8.

Tuesday, October 15, 2019

Top 5 Frontend Web Development Courses for Beginners - Best of the Lot

Frontend development is one of the critical skill for web developers as there is a lot of demand for programmers with excellent front-end development skills. If you've never experienced client-side web development, learning the plethora of front-end technologies can be difficult, but with proper guidance and choosing the right courses, you can achieve your target. The one thing which I want to tell you that a good knowledge of HTML, CSS, and JavaScript is a must for any front-end developer. Even though we are living in the era of frameworks and libraries, but knowledge of these fundamental technologies cannot be undermined.

How to Convert a Lambda Expression to Method Reference in Java 8?

If you have been coding in Java 8 then you may know that using method reference in place of lambda expression makes your code more readable, hence it is advised to replace lambda expression with method reference wherever possible. But, the big question is, how do you find whether you can replace a lambda with method reference? Yes, it's not that easy, especially if you have been using Java 8 only for a couple of months and struggling to get the functional programming concepts and idioms sorted in your head. Sometimes, IDEs like IntelliJ IDEA and Eclipse does offer some hints to convert lambda expression to method reference but it does make sense to learn the logic behind it, otherwise, it won't make sense.

Monday, October 14, 2019

Top 5 Spring Microservices Courses with Spring Boot and Spring Cloud

Microservices is the new buzz word in software development word and everybody is talking about it, but it's been in practice for quite some time especially in form of RESTful web services. The idea of Microservices is simple, breaking a big monolithic application which contains everything from UI to service layer to database into small chunks of applications which are loosely coupled and can work on their own. For example, in a company like Uber, you could have several applications providing different services e.g. discovering when a driver is online or a passenger is searching for a cab, finding a route, traffic and handling payments. These small applications are known as Microservices.

Top 5 Books and Courses to Crack Oracle's Java SE 11 Certification | OCAJP 11 1Z0-815 and OCPJP 11 1Z0-816, 1Z0-817

Hello guys, if you are preparing for the OCAJP 11 (1Z0-815)  or OCPJP 11 (1z0-816) exam and looking for some advice on preparation then you have come to the right place. The Java SE 11 Certification is one of the toughest of Java certification at the developer level. It's much harder than OCAJP 8, it's predecessor, and some of the programmers who have attempted it calling it even harder than the professional-level certification like OCPJP 8. In order to crack Java SE 11 certification, you need to prepare hard, but, at the same time, you also need to know which areas you should focus on. What topics should you spend more time on and which books and courses can help you to learn those essential topics?

Sunday, October 13, 2019

Top 5 Online Courses to Learn Web Development in 2019 - Best of Lot

Hello guys, if you are wanted to learn Web Development this year and thinking that it's too late to make that goal than let me tell you it's never too late. In this article, I am going to share some of the best Web Development courses you can take to learn online by yourself. If you are a regular reader of this blog then you might know that earlier I have shared about The 2019 Web Developer RoadMap which outlines how you can become a Modern Web Developer everybody wants to hire. In that post, I have explained how you can learn everything about Programming and Web Development from scratch and with no coding experience.

Top 5 books to learn Spring Boot and Spring Cloud for Java Developers - Best of Lot

Hello guys, if you are a Java developer and want to learn Spring Boot and Spring Cloud frameworks and looking for some of the best books and courses, then you have come to the right place. In the past, I have shared some of the best Spring Boot and Spring Cloud courses, and today I am going to talk about some of the best books to learn Spring Boot and Spring Cloud, but before that let's try to understand what is Microservice and how Spring Boot and Spring Cloud helps with development of microservices in Java. In simple words, Microservices is nothing but an extension of RESTful web services with the fundamental idea to break up your code into small, distributed, and independent services for better scalability and management, but it does require thoughtful design and think through ability.

Saturday, October 12, 2019

Top 10 Courses to Learn JavaScript in 2019 - 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 application in JavaScript. It also makes you a hundred time more employer as there are tons of web development jobs out there. Because of that ore and more developers are learning JavaScript to become a web developer.

The OCAJP 1Z0-808 - Best Books and Mock Exams for Java 8 OCA Certification

From the last couple of months, I have been helping a few developers to prepare for Java 8 associate certification with exam code 1Z0-808, also known as OCAJP 8. From my experience, both for preparing for Sun certification and helping other developers to get Java certified, I can say that two keys to be successful in Oracle Java SE certification are choosing an excellent study guide/course and buying one or two top quality mock exam simulators. When I say success, it doesn't mean just passing the exam but scoring above 90% because passing score 65% is not very difficult to achieve and anybody can pass OCAJP 8 by just a couple of month of practice but to score 90% and above is not that easy, you need to prepare and prepare hard.

Friday, October 11, 2019

Top 10 Courses to Crack Coding Interviews in 2019 - Must Join 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 books to Learn Object Oriented Programming - Must Read, Best of Lot

The OOP or Object Oriented Programming is one of the most popular programming paradigms which helps you to organize code in the real-world system. It's a tool that allows you to write sophisticated software by thinking in terms of objects and relationships. Unlike its predecessor procedural Programming paradigm, which is implemented most notably by C, which solves the problem and complete task by writing code for computers, the OOP style of programming allows you to think in terms of real-world objects which have both state and behavior. You can view anything as objects and then find their state and behaviors, this will help you to simulate that object in code.

Thursday, October 10, 2019

The 2019 Java Developer RoadMap

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.

Wednesday, October 9, 2019

How to implement Binary Search in Java without Recursion - Iterative algorithm

This week’s task is to implement a binary search in Java, you need to write both iterative and recursive binary search algorithm. In computer science, a binary search or half-interval search is a divide and conquer algorithm which locates the position of an item in a sorted array. Binary search works by comparing an input value to the middle element of the array. The comparison determines whether the element equals the input, less than the input or greater. When the element being compared to equals the input the search stops and typically returns the position of the element. If the element is not equal to the input then a comparison is made to determine whether the input is less than or greater than the element.

5 Free Data Structure and Algorithms Books in Java Programming

In the last article, I have shared some of the best data structure and algorithms books for programmers, but those were not free. After that article, I received some feedback about how about sharing free data structure and algorithm books? Fair enough, everybody loves free eBooks, courses and PDFs, don't you? In the past, I have shared a list of free Java programming books, so I had some idea. I did some more research on the internet and checked my collection as well. Fortunately, there are a couple of good Data Structure and Algorithm books which are available for free as a PDF download or for online reading, which is what I am going to share with you all today.

Tuesday, October 8, 2019

Top 5 Coursera Professional Certificates to Start your Career in IT

If you are thinking of a career in IT but lack a Computer Science degree or a Professional degree than you don't need to disappoint. Coursera's professional certificates can give you all the knowledge and credential to start a career in Information Technology. If you don't know, Coursera launched Professional Certificates recently which can help you get job-ready for an in-demand career field in less than a year. You can earn a career credential, apply your knowledge to hands-on projects that showcase your skills for employers, and get access to career support resources.

Top 5 Spring and Hibernate Training Courses for Java JEE Programmers

Spring and Hibernate are two of the hottest and most in-demand web frameworks in Java world and also two of the most essential skill for any Java programmer to get a Job in web development space. The Spring framework is in around from 2004 and established itself as the leading framework to develop Java applications both in core Java and web development area. The Spring framework comes with a lot of modules to support a different kind of developments e.g Spring Security to address the security requirements of most web and enterprise Java applications. It supports single sign-on, LDAP authentication, Role-based access control, and much more such essential features. Spring also supports the development of REST services which is no become a standard way to provide web services.

How to find the 3rd (kth) Node from end or tail in a linked list in Java

Hello guys, the problem to find the 3rd element from the end in a singly linked list or Kth node from the tail is one of the tricky but frequently asked linked list problems in Programming job interviews. I know you can easily solve this problem by moving from tail to head or in the reverse direction but the main challenge here is to solve the problem in just one pass. That means, you can not traverse the linked list again and you cannot traverse backward because it's a singly linked list. So what do you think? Isn't this problem challenging? Well, I did struggle when I saw this problem very first time but once you understand the logic and some tricks to solve a linked list based problem like Recursion then it would be easy for you, and that's what you will learn in this article.

Monday, October 7, 2019

Top 5 courses to learn Spring Boot in 2019 for Java Developers - Best of Lot

Hello guys, if you are interested in learning Spring Boot and looking for some excellent resources, e.g. books, tutorials, and online courses to start with, then you have come to the right place. Earlier I have shared some great books to learn Spring Framework, including Spring Boot (see), and today, I'll share some of the best online Spring Boot courses you can join to learn Spring Boot by yourself. In the past, I was a big fan of learning from a book, but online courses have changed that completely. Now I prefer to start with an online course, e.g. Spring Boot Essentials, and then move on to a book like Spring Boot in Action for more comprehensive learning. Anyway, before going through those Spring Boot courses, let's first revise what Spring Boot is, and it's benefits and why you should learn it.

Top 20 String Algorithm Questions from Coding Interviews

In this article, we are going to see top 20 String based coding interview question and their solution to help programmers better prepare for interviews. The string is one of the most important data structure and available in almost every programming language like Java, C, C++, Python, Perl, and Ruby. Though there implement differ the essence remains same like String is NULL terminated character array in C but String is an object in Java, again backed by character array. The string is also available on weekly typed languages like Python and Perl.  This is why you will always find some String based coding question on programming interview.

Sunday, October 6, 2019

Top 5 Courses to learn Hibernate and JPA in 2019

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 which 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.

2 Ways to Check if a String is Rotation of Other in Java - Algorithms

Write a program to check if one String is a rotation of another String is a common coding problem you will find on programming job interviews.  A String is said to be a rotation of another String, if it has the same length, contains the same characters, and they were rotated around one of the characters. For example,  String"bcda" is a rotation of "abcd" but "bdca" is not a rotation of String "abcd". One of the simplest solutions to this interesting problem is first to check if two String has the same length, if not then one String cannot be the rotation of another. If they are of the same length then just create another String by concatenating first String with itself, now check if second String is a substring of this concatenated String or not, if yes, the second String is a rotation of first.

Saturday, October 5, 2019

Top 5 Core Java Books for Beginners - Learn Best of Lot

Hello guys, I have shared a lot of books related to Java and related technologies in the past, like books and online courses to learn Spring, Hibernate, JVM internals, and Performance tuning, Multi-threading, and Concurrency, Design patterns, Data structure, and Algorithms, etc., but I haven't shared books for core Java books for beginners yet. Even though I have mentioned a couple of popular titles every now and then, I really didn't have a complete compilation of essential core Java books for beginners. Since Java is one of the most popular programming languages and very useful for getting a job as a Software developer, it has become a choice of programming language to start learning coding and application development, it makes sense to start well with core Java.

Top 10 Free Courses to learn Docker in 2019 - Best of Lot

I have been answering a lot of questions about what programmers should learn in 2019 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 is Docker 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 software is developed by a small team of onshore people.

Friday, October 4, 2019

Can you Learn Web Development in the 40s?

Yesterday, I was speaking to one of my friend who was not from the programming background but working as a teacher in a college of Engineering and Technology in the countryside of India. He just turned 40 and he is also the father of two wonderful kids. He has been teaching Maths to B.Tech students on a private engineer college for the last 15 years. He is earning Ok but he always wanted to explore the world and he now realizes that a Programming job can provide him that opportunity, so he contacted me to find out whether it's too late for a Programming career.  He is keen to learn Web development, particularly using latest technologies like Angular, React, Vue.js, and Node.js but he is worried that it might be just too late for him to become a Web developer or work in a software development company.

Top 5 Books to learn REST and RESTful WebServices for Java Programmers

The REST framework has now become the standard way to develop Web Services on the Internet. It's no more SOAP, who used to rule the world for the last two decades. The SOAP and XML went very well together in the past decade but it seems now REST and JSON have overtaken then and doing even better, thanks to the rise of JavaScript for both frontend and backend development. Since Java is also one of the most popular languages to develop backend services, there is a lot of demand for Java developers who know web services and can implement and expose existing SOAP-based services into REST style, light-weight web services.

Thursday, October 3, 2019

Top 5 Courses to learn Pandas for Data Analysis with Python in 2019

Pandas is one of the most potent and popular Python libraries for Data Analysis. It's also one of the favorite tools for Data Scientist because it helps them in cleaning, transformation, manipulation, and analysis of Data. To be honest, data in the real world is messy, and before you can start with your analysis, you need to clean and transform the data in the format you want. A tool or library like Pandas really helps there. That's why it's essential to learn about Pandas while doing Data Analysis with Python. It's even more critical if you are in the field of Data Science and Data Analysis. If you know Paands, well and good, but if you don't nevermind, as I am going to share some of the best online courses to learn Pandas and Data Analysis with Python in 2019.

Top 5 Online Courses to Learn Java 9 in 2019 - Best of Lot

The year of 2017 was the year of releases for Java developer. With versions of JDK 9, Spring 5, Spring Boot 2.0, and Spring Security 5.0, there was so much to learn for Java developers and all at once, but like many others, I didn't make a good process, and I am looking to turn it around in 2018. One of my top priority goals for New Year to learn new features of Java 9 as quickly as possible to write more about it. It's also important for you to learn Java 9 quickly to improve your career prospects.

Wednesday, October 2, 2019

How to become a better Java Programmer?

First of all, wish you very happy new year guys. It's that time of year when we start afresh, make plans, set goals and make resolutions for the new year. Being a Java developer and author of a Java blog, I frequently receive a  lot of request from Java programmers from all over the world about how they can improve themselves? How they can become a better Java developer and do well in their job and career. In the past, I have shared my 10 tips to become a better programmer and every tip on that article still holds true but given it's a new year. I have decided to jot down some new resolutions for Java programmers to improve themselves, enhance their knowledge on Java Programming and increase their value for future career growth.

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

If you are a Web developer or someone who wants to learn Angular for web development and looking for some awesome resources e.g. 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 is Angular 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 which allows you to build a modern-day big e-commerce web application as well as a single page web application which runs on a browser.

Tuesday, October 1, 2019

How to use filter + map + collect + Stream in Java? Example Tutorial

Hello guys, many of my readers emailed me to write a post about the map and filter function of Java 8 because they found it difficult to understand and use. Even though I have previously blogged about both map() and filter(), I am writing this post again to explain the concept in more layman's language for a better understanding of my readers and fellow Java developers. The map() function is a method in Stream class which represents a functional programming concept. In simple words, the map() is used to transform one object into another by applying a function.

Top 6 Free Courses to Learn Database and SQL for Beginners - Best of Lot

Hello guys, we are already in the first week of New year and everyone is talking about their goals to improve them as a better person, a better programmer, or get better health. If you have also made your goal and one of them is to improve your SQL skill then you have come to the right place because I am going to share some of the free courses to learn and master SQL this year. As you already know, SQL is one of the essential skill and much more important than any fancy library or framework you are thinking to learn.  If you ask me which two skill every programmer should have, I would say SQL and UNIX, these two have survived for a long time and will survive for many coming decades. SQL is also very interesting, once you get a hang of it, you would love to write queries and analyzing the performance of your queries.