Saturday, February 24, 2018

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.

Monday, February 19, 2018

What is SecurityContext and SecurityContextHolder in Spring Security?

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

Sunday, February 18, 2018

How to fix Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory in Java

This error means your code or any external library you are using in your application is using the SLF4J library, an open source logging library, but it is not able to find the required JAR file e.g. slf4j-api-1.7.2.jar hence it's throwing Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory. If you look at the error, you will see that it's saying it is not able to find the class org/slf4j/LoggerFactory or org.slf4j.LoggerFactory. The package name indicates that it's part of SLF4j, hence you need SLF4j JAR files e.g. slf4j-api-1.7.2.jar in your application's classpath. So, go ahead and download the JAR file from SLFj website or from Maven Central repository and restart your application.

Tuesday, February 13, 2018

10 Free Docker Container Courses for Developers to Learn Online

I have been answering a lot of questions about what programmers should learn in 2018 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.

Monday, February 12, 2018

Top 5 Java Design Pattern Courses for Experienced Java Developers

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

Thursday, February 8, 2018

Top 20 Spring REST Interview Questions Answers for Java Programmers to Prepare Well in 2018

Hello guys, I have been sharing some REST with Spring tutorials from last a couple of weeks and today, I am going to share some of the frequently asked Spring and REST interview questions to Java developers applying for Web developer roles. Since Spring Framework is the most popular and the standard framework for developing Java web application and RESTful Web Services, a good knowledge of Spring core and Spring MVC is expected from any senior Java developer, but if the job description mention about REST and Web Services, you also need to be aware of how to develop RESTful Web Services using Spring Framework. From Spring 3.1, the framework has been enhanced a lot to support many features needed for RESTFul API out-of-the-box e..g HTTPMessageConverter can convert your HTTP response to JSON or XML by just detecting relevant library in classpath e.g. Jackson and JAXB.

Friday, February 2, 2018

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.