Thursday, March 21, 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.

Friday, March 15, 2019

Top 5 Online Courses to Learn to Code With No Programming Experience- Best of Lot

Programming and/or Coding is one of the important skills for today's technical world and awareness of coding is growing every passing day. In my time, about 20 years back, I only learned to code when I entered into engineering college to pursue Computer Science and Engineering degree, but things have changed a lot since then. Nowadays, even kids have started learning to code, even my daughter can code and much better than what I can do even in college. More accessible computing gadgets like iPad, iPhone, Smartphone and Laptops has truly changed the environment and made Coding or Programming more accessible.

Thursday, March 14, 2019

5 Websites to Learn SQL Online for FREE

The SQL is one of the most important skills for any programmer be it a Java, C++, Python, JavaScript, or Ruby developer. Almost 95% of the Java applications use a relational database in their back-end and almost all web applications use the database. In recent years, one of the most common way to learn any programming skill is online, at your comfort of the office or home and SQL is no different. Learning SQL online has another advantage of a quick head start because you don't need to install a database and create tables to write some SELECT queries. The installation and setup is definitely a tough part for beginners and I have gone through that pain every time I have to learn a new database.

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.

Wednesday, March 13, 2019

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.

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.

Tuesday, March 12, 2019

How to Reverse a linked list in Java Using Recursion and Iteration (Loop) - Example

This is one of the class coding problems from Programming job interviews. It may seem easy to reverse a linked list but when you go around doing the actual task, it's not that easy, especially for first-timers. There are a couple of algorithms exists to reverse a singly linked list in Java like you can use the three-pointers approach or solve this problem using a Stack, or simply using Recursion without the external stack. As I had pointed out on the earlier post about linked list, that reversing a linked list is one of the most popular linked list based data structure interview question. This means, you just can't afford to prepare this one, before going for any programming interview. Despite being so common, It's not easy to solve this problem on the fly.

Top 5 Hibernate and JPA Courses for Java Developers to Learn Online

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.

Monday, March 11, 2019

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.

Top 5 Programming Languages Programmer Should 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 goes 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.

Sunday, March 10, 2019

5 Best books for OCAJP8 Exam 1Z0-808 - Java 8 Certification

It's been more than a couple of years since Java SE 8 was launched on 17th March 2014 and OCAJP 8 exam went live. You might know that in order to become a Java SE 8 certified developer you need to pass two examples, the OCAJP8 (Exam 1Z0-808) and OCPJP8 (Exam 1Z0-809). The first one is called associate level certification and the second one is called professional level certification. When OCAJP8 first comes, there were not enough good books to prepare this exam and many candidates rely heavily on Java 8 books, online courses, and professional exam simulators like Whizlabs and Enthuware, but if you are going to appear for the OCAJP8 exam now, there are no such problems. In this article, you will find some of the best books to prepare for OCAJP8 exams.

Top 5 NoSQL Database Programmers Should Learn in 2019

Though it's not mandatory for a Java or Web developers to learn NoSQL database the world is moving in that direction and both Java and Web developer should be familiar with NoSQL databases. If you are wondering what is NoSQL database means then here is a quick overview. A NoSQL database refers to non SQL, non-relational or not only SQL) that provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases. With Spring 5 introducing Web-Flux a new non-blocking web framework, the use of NoSQL database will only grow, but the big question is which NoSQL database to start with?

Saturday, March 9, 2019

Bucket Sort in Java with Example - How Algorithm Works

In recent years, one of the questions I have increasingly seen in programming job interviews is about constant time sorting algorithms like do you know any O(n) sorting algorithm? how do they work? When I first encountered this question, I had no idea whether we can sort in constant time because even some of the fastest sorting algorithms like QuickSort or MergeSort takes O(N log N) time for sorting on their average case. After some research, mainly by going through the classic CLRS book and this DS and Algorithms course by Tim Buchalka and Goran Lochert on Udemy, I come to know that there indeed are some constant time or linear time sorting algorithms like bucket sort, counting sort, and radix sort, which can sort an array in O(n) time but they work with only a special set of input.

Friday, March 8, 2019

Top 5 Course to learn Apache Maven for Java Developers

The Apache Maven or commonly known as just "Maven" is an important tool for Java Programmers. It allows you to build your project, manage dependencies, generate documentation and lot more. I can vouch for Maven's usefulness because I have come from the pre-Maven world of Software development, where you need to manage all the JAR files required by your project. It may seem easy to you that just download the JAR file but it's not so easy in practice.  For example, you added a new library in your project say Spring framework which also needs log4j but you thought log4j is already there so you didn't do anything, only to realize that your application is not starting anymore and throwing long and convoluted errors. This can happen because of version mismatch like Spring needed a higher version of log4j than available in your project.

5 Tips to Prepare for Oracle Java Certifications (OCAJP and OCPJP)

Hello All, today, I am going to share some useful tips to prepare for Oracle's Java certifications like OCAJP and OCPJP, both associate and programmer level certification. These certifications are great for both mastering Java language as well as getting recognition for your skill which not only improves your chances of getting a Java development job but also helps you in your career growth. Though you need a bit of Java experience or knowledge to pass the exam. If you are completely new to Java then you need to first go through a comprehensive course like The Complete Java MasterClass on Udemy and learn how to program in Java, because getting certified without knowing how to program in Java is of no use.

10 Technology Jobs for Programmers and Computer Science Engineers to Earn Better Salary

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

Thursday, March 7, 2019

6 Books to Learn and Master Programming and Coding - Must Read

Coding is an integral part of Programming and we all somehow learned to code by following examples here and there. Yes, I am talking about both self-taught programmer and Computer Science Graduates. You can learn Coding easily if you are dedicated, but what is more difficult is to write good code. You can easily find programmers in Java, C++, Ruby or Python, but finding programmers, who are also a good coder is very difficult. Some universities have a good curriculum and practical classes to teach coding better than others, but most of these great coders are self-taught Programmers, who learned by reading books, joining online courses and doing things by their own.

10 Things Every Programmer or Computer Science Engineer Should Learn

If you have been programming for some time and looking to learn to programme then you might be thinking about what makes a good programmer? What a computer science graduate can do to prepare for a career in software development and programming? What are the things expected of a junior developer are some of the common questions I receive from many students on Facebook and Emails who follows me. These are mostly college students who now have access to a wealth of information thanks to the internet and eager to learn things in advance to prepare for their programming job interviews.

Wednesday, March 6, 2019

Spring Hello World Example in Java using Dependency Injection and XML Configuration

Hello All, In this Spring framework tutorial, you will learn how to write the hello world example in the Spring framework. This should be your first tutorial to start learning Spring framework, as it gets the ball rolling. While coding and running this example, you learn a lot about Spring framework, Spring XSD files, necessary JAR files, and more importantly how Spring framework works. This HelloWorld program in Spring framework is an extension of the classical Java hello world program, which you might have seen earlier. This program is written using the Dependency Injection design pattern by using the Spring Framework's IOC container.  Even though now you can configure Spring dependency using annotations and Java configuration, this example uses a traditional XML way to configure dependencies.

Top 5 Online Courses to Learn Web Development in 2019

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.

Tuesday, March 5, 2019

How to deal with java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet in Spring Application

The java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet error comes when you deploy a Spring MVC application into Tomcat or Jetty and Servlet container not able to found this class, which usually found in the spring-webmvc.jar file. The DispatcherServlet is the core of Spring MVC framework, it implements the FrontController pattern and intercept all HTTP requests sent to your Web application and subsequently route it to correct controller based upon URL mapping.

A Better way to write SQL queries for Programmers

There is no doubt that writing code is more art than science, every coder cannot write beautiful code which is both readable and maintainable, even with experience. In general, coding improves with experience when you learn the art of coding e.g. favoring composition over inheritance or coding for interface than implementation, but only a few developers able to master these techniques.  Same applies to SQL queries. The way you structure your query, the way you write it goes a long way to communicate your intent to the fellow developer. When I see SQL queries on emails from multiple developers, I can see the stark difference in their writing style.

Monday, March 4, 2019

Top 5 React Native Online Courses for Programmers and Mobile Developers - Best of Lot

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

3 Coding Tips Java Developers can Learn From Spring Framework

There is no doubt that Spring Framework is one of the most popular Java frameworks and makes it really easy to create real-world, enterprise-grade Java applications easy by providing features like dependency injection and inversion of control. But, to be honest, Spring is much more than just another DI and IOC framework. It goes one more level to simplify many of Java APIs e.g. JDBC, JMS, Java Mail etc by providing a useful layer of abstraction. It's much more easy to work with JDBC with Spring's JdbcTempalte and other utility class. They remove most of the friction Java developer faces with respect to executing SQL statement and processing ResultSet to get the Java object they want.

Sunday, March 3, 2019

5 Free Game Development Courses (Unity, Corona, and LibGDX) for Programmers

If you are a programmer with a passion for game development or computer science graduate who wants to become a Game developer for console, Android or iOS device and looking for some good courses to start with then you have come to the right place. In this article, I am going to share some of the best Game Development courses which are completely free using Unity, Corona, and LibGDX, three of the most popular game engines for Programmers and Game Developers. While LibGDX is Java-based and Unity is C# based but probably the most popular game engine at this moment. Unity Game engine is both powerful and free, which makes it ideal to use it for game development. If you don't know Unity is the same software used to create Pokemon Go and many other best selling mobile games!

Saturday, March 2, 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 2018 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.

Difference between @RestController and @Controller Annotation in Spring MVC and REST

The @RestController annotation in Spring MVC is nothing but a combination of @Controller and @ResponseBody annotation. It was added into Spring 4.0 to make the development of RESTful Web Services in Spring framework easier. If you are familiar with the REST web services you know that the fundamental difference between a web application and a REST API is that the response from a web application is generally view (HTML + CSS + JavaScript)  because they are intended for human viewers while REST API just return data in form of JSON or XML because most of the REST clients are programs. This difference is also obvious in the @Controller and @RestController annotation.

Friday, March 1, 2019

Top 10 Java and Web Development Online Courses for Programmers

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 good 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, just $10.99, even for a course whose original price is $200.