Friday, May 31, 2019

Top 5 Courses to Learn Hadoop and BigData in 2019 - Best of Lot

If you are learning Big Data and want to explore Hadoop framework and looking for some awesome courses then you have come to the right place. In this article, I am going to share some of the best Hadoop courses to learn Hadoop in depth. In last a couple of articles, I have shared some Big Data and Apache Spark resources which are well received by my readers. After that, a couple of my reader emailed me and asked about some Hadoop resources e.g. books, tutorials, and courses, which they can use to learn Hadoop better. This is the first article in the series of Hadoop, I am going to share a lot more about Hadoop and some excellent resources in coming month e.g. books and tutorials. Btw, If you don't know, Hadoop is an open source distributed computing framework for analyzing Big data and it's been around for some time.

Top 5 Courses to learn iOS 12 and Swift 4 in 2019 and become an iOS Application Developer

Hello guys, Happy New Year. It's that time of the year when we all start making our goals for better health, improving ourselves and learn new things. Last Year, I focused mainly on Web Development side and spent time learning React, Angular, and Node JS but this year one of my goals is to explore the mobile world, particularly iOS and Android. At least that's a thought for now and I am not sure how long I can go given limited time I get to upgrade myself but I'll try my best. Btw, if you also have the same goal and want to become an iOS developer in 2019 then you should start your journey by learning iOS 12, the latest version of Apple's Operating system which runs on iPhone and iPad and Swift 4, Apple's programming language for creating iOS apps.

Thursday, May 30, 2019

Top 30 Eclipse Keyboard Shortcuts for Java Programmers

This tutorial is about 30 Eclipse keyboard shortcuts, this list is by no means complete and I will suggest you guys share eclipse shortcuts listed other than here to make this more useful. Eclipse is the most used Java development IDE and knowing these Eclipse shortcuts not only improve your productivity but also makes you more efficient. You will have more time for things you like to do. Using keyboard shortcuts also helps to impress colleagues and shows that you have a good hold on tools you used for Java Development. If you are a Java developer, who use Eclipse as your main IDE for all-purpose e.g. coding, development, and debugging, then I also suggest you take a look at Beginners Eclipse Java IDE Training Course, one of the best course to learn how to use Eclipse effectively from Java programmer's perspective.

Wednesday, May 29, 2019

5 Courses to Learn Software Architecture and become a Solution Architect for Experienced Programmers

Every Programmer wants to grow in their career but it's not easy and if you don't pay attention to your career, you will likely to stay in the same position for many years. The grown on initial few years is generally fast, but once you reach the barrier of 5 years, you need to decide which direction you want to move like - people management, product management or software architecture. For tech guys, who don't want to go on people and product management, the software architecture or solution architecture is the ultimate position, which is not surprising.

Top 20 Spring MVC Interview Questions and Answers for Java Programmers

The Spring MVC framework is one of the most popular Java frameworks for developing web applications. If you have been working in Java and the developing web-based application then there is a good chance that you have already used Spring MVC in your project. In the last decade, it has become the defacto framework for developing Java web application. Spring MVC is based on classic MVC (Model-View-Controller) design pattern but it is much more than that. It leverages, Spring framework's strength in terms of dependency injection and Inversion of control and promotes loosely coupled architecture, similar to the Spring framework itself. Because of its immense popularity and usefulness, most of the Java development job requires a good knowledge of Spring and Spring MVC.

Tuesday, May 28, 2019

Top 5 Courses to Learn to Coding and Programming in 2019

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.

How to Create a thread-safe ConcurrentHashSet in Java 8? Example

Until JDK 8, there was no way to create a large, thread-safe, ConcurrentHashSet in Java. The java.util.concurrent package doesn't even have a class called ConcurrentHashSet, but from JDK 8 onwards, you can use the newly added keySet(default value) and newKeySet() methods to create a ConcurrentHashSet backed by ConcurrentHashMap in Java. This is better than old tactical solutions like using a concurrent hash map with dummy value or using the set view of the map, where you cannot add new elements. The Set returned by keySet(defaultValue) and newKeySet() methods of JDK 8 is a proper set, where you can also add new elements along with performing other set operations e.g. contains(), remove() etc.

Monday, May 27, 2019

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.

What is the Use of DispatcherServlet in Spring MVC Framework?

If you have worked with Spring MVC then you should know what is a DispatcherServlet? It's actually the heart of Spring MVC, precisely the C of MVC design pattern or Controller. Every single web request which is supposed to be processed by Spring MVC goes through DispatcherServlet. In general, its an implementation of Front Controller Pattern which provides a single point of entry in your application. It handles all incoming requests. It is also the bridge between Java and Spring. Btw, the DispatcherServlet is like any other Servlet is declared in the web.xml with a URL pattern but the only special thing is that the URL pattern for dispatcher servlet is enough to map every single web request to DispathcherServlert.

Sunday, May 26, 2019

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 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 key idea is 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.

Top 5 Node.js and Express JS online courses for Web Developers

There is no doubt that JavaScript is the #1 Programming language in the world and Node.js is one of the biggest reason for that. Initially, JavaScript was considered just a client-side scripting language but Node.js has changed all that by allowing developers to create dynamic web pages on the server side using JavaScript. It is also rated as the most popular framework of 2017 on StackOverflow Developers survey. The most important benefit of Node.js is that it allows you to build a full stack application based on just one language, JavaScript. This is especially useful for start-ups which put a lot of emphasis on being able to iterate early and often.

Saturday, May 25, 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.

3 Programming Languages Java Developers Should Learn in 2019

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

Friday, May 24, 2019

Difference between @Autowired and @Inject annotation in Spring?

What is the difference between @Autowired and @Inject annotation in Spring is one of the frequently asked Spring questions on Java interviews? Since everybody is now moved or moving to annotation-driven and Java configuration in Spring, this question has become even more important for prospective candidates looking for a Java web development job using Spring framework. The @Autowired annotation is used for auto-wiring in Spring framework. If you don't know, autowiring is a process on which Spring framework figure out dependencies of a Spring bean, instead of you, a developer, explicitly specifying them in the application context file. You can annotate fields and constructor using @Autowired to tell Spring framework to find dependencies for you.

What is the Role of InternalResourceViewResolver in Spring MVC? Interview Question

Earlier, I have explained to you about how Spring MVC works internally and how it process HTTP request coming to your web application. One of the important parts of that processing was view resolution, which is handled by the ViewResolver interface. In this article, you'll learn more about it by explaining the InternalResourceViewResolver class. The InternalResourceViewResolver is an implementation of ViewResolver in Spring MVC framework which resolves logical view name e.g. "hello" to internal physical resources e.g. Servlet and JSP files e.g. jsp files placed under WEB-INF folder. It is a subclass of UrlBasedViewResolver, which uses "prefix" and "suffix" to convert a logical view name returned from Spring controller to map to actual, physical views.

Thursday, May 23, 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.

10 Tips Improve Your Speed in Bash, and Linux Command Line

Have you ever amazed to see someone working very fast in UNIX, firing commands and doing things quickly? Yes, I have seen that a couple of times and I have always inspired to learn from those superstar developers. In this article or tutorial or whatever you call it, I have dedicated to sharing some UNIX command practices I follow to work fast, quick, or efficiently in Linux. I work for Financial services industry and my work involves development and support of online stock and futures trading application in Electronic trading, Derivatives etc. All our services run on Linux servers so it's very important for me to work efficiently and quickly in Linux machine and that's how I have learned these productivity tips in Linux.

Wednesday, May 22, 2019

Difference between Dependency Injection and Factory Design Pattern in Java Spring

Learning a Programming language like Java or Python is easy but writing production quality code is difficult. Coding is as much an art as much the Science behind it. In order to write good code, you need to carefully design your classes, their dependency and how to use that. This is important so that it can survive the constant change throughout his lifetime. If you have been coding for some time then you know that SOLID principles and Design Patterns help you to write better code. This is obvious because they are proven the solution of some common problems software developers face all around the world. But, knowing just the design pattern is not enough you also need to learn using the right design pattern in the right place.

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()

Tuesday, May 21, 2019

How to find all Checked checkboxes in jQuery? Example Tutorial

Hello guys, suppose you have multiple checkboxes in your HTML page and you want to retrieve all checkboxes which are checked? How will you do that in jQuery? Well, you can use the pseudo selector like :checked to get all checked checkboxes. This selector checks for the checked property of checkbox and returns only those checkboxes which have this property. For example, following jQuery selector will return all the checkboxes which are checked:

$('input[type=checkbox]:checked')

In this, we are first selecting all input elements where type is a checkbox and then adding: checked to filter only those which are checked.

10 Example of find command in UNIX and Linux

The find command is one of the most versatile commands in UNIX and Linux and I used it a lot in my day to day work. I believe having a good knowledge of find command in UNIX and understanding of its different options and usage will increase your productivity a lot in UNIX based operating system e.g. Redhat Linux or Solaris. If you are a QA, support personnel, and your works involve lots of searching text on Linux machine or if you are a Java or C++ programmer and your code resides in UNIX, find command can greatly help you to look for any word inside your source file in the absence of an IDE. It is the alternative way of searching things in UNIX, grep is another Linux command which provides similar functionality like find but in my opinion later is much more powerful than grep in UNIX.

Monday, May 20, 2019

10 Unit Testing and Automation Tools and Libraries Java Programmers Should Learn

In last a couple of weeks, I have written some articles about what Java developer should learn in 2019 e.g. programming languages, libraries, and frameworks, but if you have just one thing to improve or learn then that must be your automation testing skills. Testing is one of the disciplines which separates professional developers with amateur ones. It's not about following TDD, BDD, or whatever testing methodologies but at the very minimum level, you must write code to test your code automatically. Many Java developers write unit tests and integration tests which automatically run during build time, mostly by using continuous integration tools like Jenkins or TeamCity.

Top 10 ConcurrentHashMap Questions from Java Interviews

The ConcurrentHashMap class part of concurrent collections package added on JDK 1.5 which contains utility classes like BlockingQueue, CopyOnWriteArrayList, CopyOnWriteArraySet etc. It is a replacement of synchronized hash-based map implementations e.g. Hashtable and synchronized HashMap. It implements Map and ConcurrentMap (a sub-interface of Map) interface which allows you to store key-value pairs. The class is similar to HashMap or Hashtable but it's more scalable and the right fit for concurrent Java application. Unlike Hashtable which achieves its thread-safety by compromising the scalability, ConcurrentHashMap uses advanced techniques e.g. dividing the map into segments to remain thread-safe and scalable at the same time.

Sunday, May 19, 2019

Top 5 Advanced SQL Books for Experienced Programmers - Best of lot, Must read

If you an experienced programmer and know how to write SQL queries and database fundamentals but want to take your SQL and database skills to the next level then you have a come to the right place. In this blog, I have shared a lot of free SQL books and courses you can use to start your SQL journey. This is also the second article about SQL books, In the first part, I have shared some of the best SQL books which are essential to learning SQL queries and fundamentals of database e.g. normalization, indexing, and other design stuff, if you haven't read it yet, I suggest to do it now. You will find some amazing book to start learning SQL. In this article, I am going to share some of the best books to learn advanced SQL programming, which can help you to write better SQL queries and understand how database process those queries.

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.

Saturday, May 18, 2019

Entuware or Whizlabs? Which Exam Simulator Should you Buy for Java Certifications (OCAJP, OCPJP, and Others)?

I often receive queries from Java certification aspirants about exam simulators like whether should I go for Whizlabs or Enthuware, which one is better? If I have to buy just one exam simulator, which one would you recommend, Whizlabs or Enthuware? I thought to answer all those questions in a blog post and here you go. To be honest with you both of them are really high-quality test simulators and whichever you buy, you will do well on actual exams. But, as a programmer, I really like to analyze the situation, I compare pros and cons of each of them before I buy one of them. Since I have used both of them in the past I am sure about that in quality, they are neck to neck there, but here are couple of things which you can consider before buying Java certification simulator from Whizlabs or Enthuware

10 Free Websites to Learn Git Online for Beginners

I have worked with a lot of source control systems like SVN, CVS, TFS, VSS, Mercury and I had always wondered, why so many source control systems? why not just one. It's one of the mandatory software tools for development and everyone needs a version control and code repository, there should be a standard solution. It seems Git and Github has solved that problem now. Now, Git is everywhere from open source to closed source, from small startups to big Investment banks but there was still legacy projects which were lying on SVN and CVS, but they are now also started moving towards it. Until last year, I was working on at least one project on SVN but now that has also moved to Git. This shows the dominance of Git and that's why it becomes extremely important for both new and experienced programmer to learn Git and Github.

Friday, May 17, 2019

10 Free Courses to learn Docker in 2019

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.

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.

Thursday, May 16, 2019

Java 9 Example - Factory Methods for Collection - Creating Unmodifiable List, Set, and Map

Hello guys, this is my first article in Java 9 features on this blog and today you'll learn about my favorite feature "factory methods for collection", which is introduced as part of JEP 269. The JEP stands for JDK enhancement proposal. If you have worked in Groovy or Kotlin then you know that how easy is to create the list with elements using collection literals e.g. to create a list of 1, 2, 3 you can simply write val items = listOf(1, 2, 3). Unfortunately, Java doesn't support that yet but things have been improved with the factory methods for collection in JDK 9 and it's almost like that. JDK has added static factory methods like of() on to basic Collection interfaces which you can use to create a list of items.

Wednesday, May 15, 2019

10 Differences between StringBuffer and StringBuilder in Java

Both StringBuffer and StringBuilder are two important classes in Java which represents mutable String i.e. the String object, whose value can be changed. Since String is Immutable in Java, any change or operation on String object e.g. converting it to upper or lower case, adding character, removing a character, or getting a substring, all results in a new String object. This can put a lot of pressure on Garbage collector if your application generates lots of throws away String instances. To avoid this issue, Java designer presented initially StringBuffer class and later StringBuilder as mutable String. That's the main difference between String vs StringBuffer and StringBuilder and also one of the frequently asked Java questions for beginners.

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.

Tuesday, May 14, 2019

Can a Non Static Method Access a Static Variable/Method in Java?

"Can a non-static method access a static variable or call a static method" is one of the frequently asked questions on static modifier in Java, the answer is, Yes, a non-static method can access a static variable or call a static method in Java. There is no problem with that because of static members i.e. both static variable and static methods belongs to a class and can be called from anywhere, depending upon their access modifier. For example, if a static variable is private then it can only be accessed from the class itself, but you can access a public static variable from anywhere. Similarly, a private static method can be called from a non-static method of the same class but a public static method e.g. main() can be called from anywhere.

3 Ways to Learn Spring Core, Spring MVC, Spring Security, and Spring Boot Framework

If you are a Java developer and wants to learn Spring framework then you have come to the right place. In this article, I will share three ways to learn Spring framework, but before that let's understand what is a spring framework and why Java developers should learn Spring framework? Well, Spring is a framework which assists you to develop Java application by following some best practices, particularly the principle of dependency injection and inversion of control. As per this principle, instead of class asking for its dependency, the framework provides them at runtime.  Following these principles improves your code quality because it reduces coupling between different part of your applications e.g. between modules and classes, which makes them easier to test and develop.

Monday, May 13, 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 EXISTS clause in useful for writing sophisticated query but at the same time I have also seen that many programmers struggle to understand and use EXISTS and NOT EXISTS clause while writing SQL query.  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 a nice 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?

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.

Sunday, May 12, 2019

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

The String.intern() method can be used to deal with String duplication problem in Java. By carefully using the intern() method 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.

Saturday, May 11, 2019

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.

Friday, May 10, 2019

Top 10 Programming and Coding Interview Courses for Programmers

To be honest with you, getting your first job is never easy. It is, in fact, the hardest task and you need to put your best effort to find a job 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 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.

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.

Thursday, May 9, 2019

5 Courses to Learn Spring Framework in Depth in 2019

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.

Difference between @Component, @Service, @Controller, and @Repository in Spring

Before you learn the difference between @Component, @Service, @Controller, and @Repository annotations in Spring framework, it's important to understand the role of @Component annotation in Spring. During initial release of Spring, all beans are used to be declared in an XML file. For a large project, this quickly becomes a massive task and Spring guys recognize the problem rather quickly. In later versions, they provide annotation-based dependency injection and Java-based configuration. From Spring 2.5 annotation-based dependency injection was introduced, which automatically scans and register classes as Spring bean which is annotated using @Component annotation.

Top 20 Searching and Sorting Algorithms Interview Questions for Programmers

Hello All, If you are preparing for Programming job interviews or looking for a new job then you know that it's not an easy process. You got to be lucky to get the call and make to the first round of interview at any stage of your career but it is even more difficult at the beginner level when you are searching for your first job. That's why you can't just take your chance lightly. You got to be prepared to grab that chance and for that, you must know that is expected from you on the interview. What is asked, what topics should you prepare, etc? I have blogged a lot about what you can find helpful articles in this blog but to recap let me tell you that apart from data structure questions, System Design Questions, and Programming language specific questions like Java or Scala, most of the programming job interviews also ask algorithm based questions.

Wednesday, May 8, 2019

Top 5 Frameworks Java Programmers Can Learn in 2019

Hello guys, if you are a Java developer and wondering which web development frameworks you should learn in 2019 then you have come to the right place. In this article, I am going to share the top 5 frameworks Java developers can learn to keep pace with modern day development. This article includes backend frameworks like Spring and Spring Boot as well as front-end frameworks like Angular 2+ and React JS. You might be wondering, why Java developer needs to learn Angular or JavaScript framework but the truth is that you need those to work in the real world. For example, you work in an application where backend is written in Java but front-end is written using Angular or React JS

Tuesday, May 7, 2019

How to declare and initialize a List (ArrayList and LinkedList) with values in Java - Arrays.asList() Example

Hello guys, today, I am going to share with you a useful tip to initialize a List like ArrayList or LinkedList with values, which will help you a lot while writing unit tests and prototypes. Initializing a list while declaring is very convenient for quick use, but unfortunately, Java doesn't provide any programming constructs like collection literals of Scala, but there is a trick which you can use to declare and initialize a List at the same time. This trick is also known as initializing List with values. I have used this trick a lot while declaring list for unit testing and writing demo programs to understand an API etc and today I'll you'll also learn that.

Top 22 Spring Interview Questions Answers for Java JEE Developers

Spring framework interview questions are on the rise on Java EE and core Java interviews Spring, which is obvious given Spring is the best framework available for Java application development and now Spring IOC container and Spring MVC framework are used as a de-facto framework for all new Java development. Because of its popularity,  interview questions from spring framework are top on any list of Core Java Interview questions. I thought to put together some spring interview questions and answers which have appeared on many Java and J2EE interviews and useful for practicing before appearing on any Java Job interview. I first wrote this article a long back and even its content is still relevant I thought to update it, especially after finishing my list of Spring Boot Interview Questions recently.

Monday, May 6, 2019

5 Free Game Development Courses to Learn Unity, Corona, and LibGDX

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!

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.

Sunday, May 5, 2019

Java vs Python - Which Programming Language Should You Learn First?

Java and Python are two of the most popular and powerful programming language of the present time. Beginner programmer often get confused, one of the most frequently asked questions is should I learn Java or Python? Is Python is a good programming language to start with? Which programming language would you recommend for beginners to learn first etc? Since I am a Java developer, my opinion is biased, I will always suggest you start with Java and then learn Python, but if you ask this question to a Python developer, you might get just opposite answer. I have well documented my reasons as for Why Java is the best Programming language and Why a programmer should learn Java. One of the most important reasons you would see in that blog post is a strong Java community, which will help you though out your Java career.

3 Best Spring Security Online Training Courses for Java Developers

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

Saturday, May 4, 2019

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.

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

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

Friday, May 3, 2019

Top 5 Free Courses to Learn Scala Programming in 2019 - Best of Lot

Scala is a powerful object-oriented and functional programming language which has been long touted as the successor to Java or to replace Java. Well, that didn't happen in last few years but Scala has certainly made a lot of progress and established itself as a scalable programming language for big things. If you are a social media user and know Twitter then let me tell you that they are using Scala, which proves that Scala has all the tools you need to build a high-performance scalable application like Twitter, and Twitter is not the only company which is using Scala. If you look a the Scala's website, you will find that IBM, Goldman Sachs, Verizon, and SAP are using Scala to solve their problems.

Thursday, May 2, 2019

Maven - 10 Things Java developer should know

The Apache Maven is an essential tool for Java developers. It makes their life easy by allowing them to create a Java project faster by using a standard directory structure. It also helps them to download project dependency automatically. Not only that, but Maven also download transitive dependencies which relieve Java developers from the big headache of keep check of different versions of dependent libraries. For example, if your application is dependent on Spring framework but Spring is dependent on Log4j then you also need to download the correct version of Log4j JAR files for Spring MVC framework, Maven does this automatically for you.

Wednesday, May 1, 2019

5 Free Courses to Learn Microsoft SQL Server and T-SQL Online for Programmers and DBAs

Hello guys, welcome to my blog. The Microsoft SQL Server is not just one of the popular database solution but also one of the most complicated software offerings from Microsoft. It requires you to have a foundation in networks, databases, and programming. This wide range of skills is often difficult to obtain without rigorous learning and years of hands-on experience. Since it's difficult to learn and master the demand of expert SQL Server DBAs and Programmers are always high, particularly on banking sectors. I know many of my friends in London and all around the world become SQL Server DBAs after starting as a programmer just to work on those big banks and earn very high salaries.

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.

Top 5 HTML 5 and CSS 3 Courses for Web Developers - 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 Hyper Text 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. Same goes with CSS, the stylish part of your web. It is as old as HTML but improved a lot.