Saturday, August 18, 2018

How to Crack Spring Core Professional v5.0 Certification - Latest Spring Certification for Java Programmers

Ever since Pivotal, the company behind Spring framework made the mandatory Spring training optional (see here), I have received many queries from experienced Java developers who are interested in doing Spring certifications. This move from Pivotal has suddenly made the Spring certification affordable for many experienced Java and Spring developers who were interested in Spring certification earlier but couldn't progress further due to expensive mandatory training. Since many of them are now preparing for Spring certifications e.g Spring Core 5 or Spring Professional 5 via self-study they are increasingly looking for good resources to prepare for the exam. I have received a lot of questions on preparation, books, mock exams, exam structure, passing marks and useful resources.

Top 5 Courses to Learn Python in 2018 - Best of Lot

If you are a Programmer or a Computer Science graduate and thinking to learn Python in 2018 then you have come to the right place. In this article, I am going to share some of the best online courses to learn Python in 2018. Python is one of the most popular programming languages and it's used in many domains e.g. Web development, Automation, Data Science, Machine learning etc. In recent years, Python has also become as a default language for Data Science and Machine learning Projects and that's another reason why many experienced programmers are learning Python in 2018. It's also one of the top languages on my list of programming language to learn in 2018. But, for all its power and flexibility, Python is still a very simple language to learn and often touted as beginner's programming language.

Top 5 Object Oriented Programming and Design Courses in Java - Best of Lot

There is no doubt that Object-oriented programming is a pillar of software development and also one of the reasons for a huge success of Java. A good knowledge of Object-oriented programming helps you to create better software. It also helps you to communicate your ideas better with your team and fellow programmers. Despite being such an important technology, it's difficult to find good programmers who understand OOP well. Many programmers just think that OOP is nothing more than Abstraction, Inheritance, Encapsulation, and Polymorphism, without truly understanding these concepts and mastering them.

Friday, August 17, 2018

Grokking Algorithms Book Review - Best Algorithms Book for Beginners

I have read many books on data structures and algorithms e.g. Introduction to Algorithms by Thomas H. Corman and Algorithm design manual by Steve S. Skiena, so when I come to know about this book, I thought, just another book on algorithms, but I was wrong. This is not just another book on algorithms but one of the most interesting books you will ever read on Algorithms and Data structure. Let's accept it, data structure and algorithms is interesting but at the same time they are very complex and hard to understand, especially, if not explained very well and that's where this book rocks. It explains things in very easy language and most importantly with a context, which helps to understand the topic better.

Thursday, August 16, 2018

Top 5 Java 8 Courses to Learn Online - Best of Lot

It's been more than 4 years since Java 8 was launched on the March 2014 and many of you already thinking that Java 8 now legacy version but there are still so many Java developers out there who don't know how to code using new language features of Java 8 like lambdas, stream, and method reference. It's high time for all those programmers to learn and master Java 8 before their skill become outdated. After that, we already have a couple more Java releases i.e. Java 9, Java 10, and Java 11 in the space of just 6 months apart but Java 8 is still the most used version, particularly when it comes to coding style.

Top 10 Popular Programming languages and their Inventors

There are many programming languages out there in the software world and they are still coming like Scala, Go, Closure etc, but the only handful of them have managed to survive to date. These are the ones who have contributed immensely to software development. Since programming language is a single most important thing in software development world, it's often discussed, criticized and improved over the years. Programmers and developers, who those programming languages are icons of the programming world and sometimes I feel sad when a guy using a programming language doesn't know, who is behind that.

Wednesday, August 15, 2018

20 Java and Programming Quotes to Motivate Yourself

I always have a strong interest in knowing great peoples of my field like software development and programming. Knowing about them, following them, and reading about them not only gives you immense knowledge but also the motivation ,you need to excel in whatever you are doing. It's the motivation, not knowledge that will propel your career. Knowledge is almost useless without motivation because just knowing is not enough, you need to apply that knowledge, and without motivation, you just can't do that. There are times when programmers also feeling tired and bored. These are the times when you spent hours constantly looking at the computer screen, clicking here and there, surfing the net without doing anything.

5 Programming Languages Every Software Engineer Should Learn

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

Tuesday, August 14, 2018

10 Example of lsof commands in UNIX and Linux

It's been a long time since I have written anything on UNIX or Linux, but today I'll talk about the lsof command, a utility command every system admin and developers love. The lsof command stands for list open file descriptors and as the name suggests, it is used to find open files by process. Since almost everything in UNIX are file, you can use lsof command to find an open regular file, a directory, a symbolic link, a block special file, an NFS mounted file, a socket stream, a shared library, a character special file, a regular pipe, a named pipe, an internet socket, a UNIX domain socket and many others. I have mostly used it to find all the files opened by a particular process, which I will show you in the coming section.

Monday, August 13, 2018

Top 5 Professional Email Writing Courses for Programmers and IT Professionals

One of my readers emailed me a couple of days ago and asked If I could suggest something to improve his email writing skills? He says that he is very good at work and programming but sucks on writing emails and because of that he never gets the visibility he deserved, resulting in no promotion or career growth. This sounds me a very common problem, especially among programmers whose native language is not English, and who have never attended any business or email writing course. In fact, it was a problem with me as well but I slowly picked it up though I am still far behind with many people I know who have excellent email communication skills.

Thursday, August 9, 2018

Top 5 TensorFlow and Machine Learning Courses for Programmers

If you are curious about Artificial intelligence, Data Science, and Machine learning then I am sure you have heard about TensorFlow, Google's machine learning API, which they have used to develop the RankBrain algorithm for Google Search. TensorFlow is one of the most popular machine learning API which allows you to automate several real-world tasks, for example, you can use it for image detection. In fact, a Japanese farmer turned programmer used it to detect the best quality Cucumber, which only his father and mother can do it with his years of experience. That's the power of machine learning, which is now available to everyone because of TensorFlow. If you have not read that story, I strongly suggest you read, in fact, that's one of the few stories which motivated me to learn more about machine learning.  You can find the link on further learning section of this article.

Wednesday, August 8, 2018

How to avoid deadlock in Java Threads?

How to avoid deadlock in Java? is one of the popular Java interview question and flavor of the season for multi-threading, asked mostly at a senior level with lots of follow up questions. Even though question looks very basic but most of the Java developers get stuck once you start going deep.

Interview questions start with "What is a deadlock?"
The answer is simple when two or more threads are waiting for each other to release the resource they need (lock) and get stuck for infinite time, the situation is called deadlock. It will only happen in case of multitasking or multi-threading.

Tuesday, August 7, 2018

Top 5 Hibernate Books for Java Developers - Best, Must read

Hibernate is one of the most popular, open source ORM (Object Relational Mapping) framework, which has now become a standard for developing persistence layer on Java enterprise application, along with JPA (Java Persistence API). I often receive requests to suggest which book is best to learn to hibernate or recommendation about some good books and training course on Spring and Hibernate. This motivates me to write this article about some of the best books on Hibernate currently available on the market. Earlier I have shared some of the must-read books on Spring framework for a Java developer, which is quite helpful for picking a book on Spring. Similar to Spring framework, experience in Hibernate is most sought after thing in Java JEE development roles.

Top 5 Free Java 8 and 9 Courses for Programmers - Best of Lot

Hello guys, if you are looking for some free resources e.g. books, tutorials and courses to learn and master new features introduced in Java 8 and Java 9 then you have come to the right place. In past, I have shared some of the best Java 8 tutorials and books and in this article, I am going to share some of the best, free Java 8 and Java 9 courses from Udemy and Pluarlsight with you. These courses are pretty similar to many paid courses you normally buy and many of these are made free by just promotional or educational purpose by their instructor. You can join these courses to learn JDK 8 and JDK 9 features in a couple of days.

Sunday, August 5, 2018

Top 5 React JS and Redux Courses to Learn Online - Best of Lot

If you are a JavaScript developer or someone passionate about web development and looking for some awesome courses to learn React or React JS, a popular JavaScript framework to develop component-based user interface then you have come to the right place. The Facebook's React library has taken the front-end development world by a storm. More and more people have started using React even in favor of Google's Angular, another popular front-end development framework. Well, I am not going into the classic debate of Angular vs React as both the framework has their own advantage and disadvantage but if you have chosen to learn React, you have made the right decision.

Saturday, August 4, 2018

Java 8 Certifications - Oracle Java SE 8 Programmer 1 (1Z0-808) - Latest OCAJP Exam

Today one of my readers asked about what is the latest OCPJP or SCJP exams available and is there a Java certification available for Java SE 9 and Java SE 10? This prompted me to browse through Oracle's certification website. During my casual browsing, I noticed that even though it's almost a year since Java SE 9 was released and 6 months since Java SE 10 was released the latest Java certification is still the Java  SE 8 certification. I know, you might be thinking about Java SE 11, which will come soon, but on the certification level, I don't see this happening. Anyway, I said great, as programmers are still digesting changes from Java 8 now have a chance to be certified the on latest Java 8.

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.

Sunday, July 29, 2018

Top 15 Java Multithreading, Concurrency Interview Questions Answers asked in Investment banks

Multi-threading and concurrency questions are an essential part of any Java interview. If you are going for any Java interview on any Investment bank e.g. Barclays, Citibank, Morgan Stanley etc for Cash Equities Front Office Java Developer position, you can expect a lot of multi-threading interview questions on your way. Multi-threading and concurrency are favorite topics on Investment banking interviews,  especially on electronic trading development jobs and they grill candidate on many tricky java thread interview questions. They just want to ensure that the guy has solid knowledge of multi-threading and concurrent programming in Java because most of them are in the business of performance which provides them a competitive advantage and it's hard to write correct and robust concurrent code.

Top 5 Java Performance Tuning Books for Experienced Programmers - Best of Lot, Must read

You might be thinking, why should a Java developer read a book on Performance tuning? When I first faced this question a long time back, I thought I will do it later, but I never got back to that for a long time. I realize my mistake of having a lack of knowledge on memory measurement, JVM tuning, and finding bottleneck only when I faced serious performance and scalability issues on our mission-critical, server-side financial application written in Java. It's true that when you really need it you learn most, but those times are not the best time to learn fundamentals, in fact, those times are to apply and correct your misunderstanding.

Saturday, July 28, 2018

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

Begin an 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 has just started programming or a graduate with 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 improve 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 program 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 TopCoder, or Project Euler, they fail miserably.

Friday, July 27, 2018

Does Oracle's Java Certifications like OCAJP, OCEJWCD, or OCPJP helps in Job and Career?

Being the author of a Java blog and a certified Java programmer, I receive lots of questions about the usefulness of Java certifications like SCJP, now known as OCJP or OCPJP. Questions like, does getting a Java Certification helps to land a job, or does certified Java developer earn more or gets better offers, are quite common to Java developers, especially freshers. In this post, I will try to answer a few of these question based on my own experience as a Java blogger and a certified Java developer. Well, I did my first Java Certification, SCJP (Sun Certification for Java Programmers) along back when SCJP 1.4 was hot and after scoring 100% on that I did two more Java certifications i.e. my SCWCD (Sun Certification for Web Component Developer) and SCMAD (Sun Certified Mobile Application Developer). 

Thursday, July 26, 2018

How to do Pagination in Oracle Database - SQL Query With Example

Many time we need SQL query which returns data page by page i.e. 30 or 40 records at a time, which can be specified as page size. In fact, Database pagination is a common requirement of Java web developers, especially dealing with the largest data sets.  In this article, we will see how to query Oracle 10g database for pagination or how to retrieve data using paging from Oracle. Many Java programmer also uses display tag for paging in JSP which supports both internal and external paging. In case of internal paging, all data is loaded into memory in one shot and display tag handles pagination based upon page size but it only suitable for small data where you can afford those many objects in memory.

Top 5 Best Java 8 Tutorials, Courses, and Books

It's been quite some time since the Java 8 was released but Java community is still buzzing with functional programming and lambda expression. Many developers, programmers, and bloggers have already shared lots of really good tutorial to learn lambda expressions, probably the biggest thing in Java world after Generic was introduced in Java 5. While the term "lambda expression" may sound abstract and academic, Java 8 Lambdas can have a big impact on how you program every day. Java 8 has not only introduced Lambda expressions but also Stream API, Functional interfaces, new Date and Time API and default methods, which has completely changed the way you write your Java code. As a professional Java developer, you will have to learn Java 8 one day, and it's better to do sooner than later.

Wednesday, July 25, 2018

2 Books to Prepare Oracle Java Certification Exams - OCA and OCP Java SE 6,7, 8 OCPJP 8

There was a time when Sun Certification was very hot and programmers feel proud of being Sun Certified Java Professional(SCJP). After Oracle took over Sun in early 2010, it changed names of all the examination from SCJP to OCPJP or OCJP, and now OCA and OCP for Java SE 7 and Java SE 8. I see there is a lot of confusion among certification nowadays, but essentially they are of the same level at previous SCJP. Since Java gets new language feature with every new release, subsequently a new certification title is introduced. I am not agreed with upgrading your Java certification with every release, it doesn't make much sense to me, but many programmers prefer to get certified and keep it updated.

10 Object Oriented Design Principles Java Programmer should know

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 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, to create the clean and modular design. I have regularly seen Java programmers and developers of various experience level, who either don't hear about these OOP and SOLID design principle, or simply doesn't know what benefits a particular design principle offers, or how to apply these design principle in coding. 

Tuesday, July 24, 2018

10 Tips To Work Fast and Improve Productivity in Bash, UNIX and Linux

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.

Monday, July 23, 2018

Spring Security Concurrent Session Control Example Tutorial - How to Limit Number of User Session in Java JEE Web Application

If you don't know, Spring security can limit the number of sessions a user can have in a Java web application. If you are developing a web application especially a secure web application in Java JEE then you must have come up with the requirement similar to many online banking portals have like only one session per user at a time or no concurrent session per user. If the user tries to open a new session then either an alert is shown or his previous session is closed. Even though you can also implement this functionality without using spring security but with Spring security, its just piece of cake with coffee :).  You just need to add a couple of lines of XML in your spring security configuration file and you are done. In order to implement this functionality, you can use the <concurrency-control> tag.

Sunday, July 22, 2018

How to setup JNDI Database Connection pool in Tomcat - Spring Tutorial Example

Setting the JNDI Database Connection pool in Spring and Tomcat is pretty easy. Tomcat server documentation gives enough information on how to setup connection pool in Tomcat 5, 6 or 7. Here we will use Tomcat 7 along with spring framework for creating a connection pool in Tomcat server and accessing them in Spring using JNDI code. In our last article, we have seen how to setup database connection pool in Spring for core Java application which doesn't run on a web server or application server and doesn't have managed J2EE container. but if you are developing a web application than its better to use server managed connection pool and access them using JNDI. Spring configuration will be generic and just based on JNDI name of Datasource so it will work on any J2EE Server e.g. Glassfish, WebLogic, JBoss or WebSphere until JNDI name is same. 

Saturday, July 21, 2018

Why become a Certified Java Programmer? Does Oracle Certified Professional Earn more?

I have seen many Java programmers in doubt whether to go for Java certifications or not? Whether getting Java certified will help them to earn a better salary? or after becoming Java certified from Oracle will help them to get a Job. In this article, we will see what are the benefits of getting Java certified. I know higher income, better Job prospects, and a better chance of promotion is at the top of the benefits of becoming a certified Java professional, but this certification provides much more value than that. Apart from all those tangible benefits, the most important thing is that you learn Java better which help you everywhere like in your day job as well as on interviews.

Friday, July 20, 2018

2 Ways to Setup LDAP Active Directory Authentication in Java - Spring Security Example Tutorial

The LDAP authentication is one of the most popular authentication mechanism around the world for enterprise application and Active directory (an LDAP implementation by Microsoft for Windows) is another widely used LDAP server. In many projects, we need to authenticate against active directory using LDAP by credentials provided in the login screen. Sometimes this simple task gets tricky because of various issues faced during implementation and integration and no standard way of doing LDAP authentication in a Java web application. Even though Java provides LDAP support but in this article, I will mostly talk about spring security because of it's my preferred Java framework for authentication, authorization, and security related stuff.

Thursday, July 19, 2018

Top 9 Java Programming Books - Best of lot, Must Read

These top Java programming books are some of the good books to learn Java and I would say some of them are simply best Java books ever published. Whenever a programmer starts learning Java programming language, the first question he asks is "Which book should I refer to learn Java?", or "What is the best book to learn Java for beginners?" or "Can you tell me some good books to learn Java?" .That itself says how important Java books are for programmers especially beginners.  Despite having so many free resources available in Java like tutorials, tips, blogs and code examples, Java books have their own place because of two reasons:
  • They are written by programmers who are authority in subject
  • They cover the subject with more details and explanation.

Monday, July 16, 2018

Amazon Prime Day 2018 - Great Opportunity to Buy Books and Gadgets for Programmers

Many of my friends and colleagues used to wait until November to buy books, gadgets, and other computer items to get the huge discount offered on Black Friday deals, but you don't need to. Amazon is bringing Black Friday to the summer with their annual Prime Day offers. The Amazon Prime day is nothing but a one-day (precisely one and half day) shopping extravaganza, where you will get huge discounts on thousands of Amazon products including books, games, gadgets, and other computer and electronics items. So, if you are looking to buy a new laptop, a new smartphone or want to track your fitness, you can buy Fitbit and other such gadgets at a much cheaper price on Amazon prime day.

Is "Java Concurrency in Practice" still valid in the era of Java 8 and 10?

One of my reader Shobhit asked this question on my blog post about 12 must-reads advanced Java books for intermediate programmers - part1. I really like the question and thought that many Java programmers might have the same doubt whenever someone recommends them to read Java Concurrency in Practice. When this book came first in 2006, Java world was still not sure of about new concurrency changes made in Java 1.5, I think the first big attempt to improve Java's built-in support for multi-threading and concurrency. Many Java programmers were even not aware of new tools introduced in the API e.g. CountDownLatch, CyclicBarrier, ConcurrentHashMap and much more. The book offered them the seamless introduction of those tools and how they can use them to write high-performance concurrent Java applications.

Thursday, July 5, 2018

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 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 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, July 4, 2018

Top 30 Java Phone Interview Questions Answers for Freshers, 1 to 2 Years Experienced

In this article, I am sharing 30 core Java technical questions, from screening and phone round of interviews. In telephonic interviews, questions are short, fact-based and Interviewer expects some keyword in answers. Accordingly, I have given very short answers to these question, only main points; just to make this as revision post. I am expecting every Java programmer to know answers to all these Java technical questions if he has more than 4 to 5 years experience. it's only freshers and junior developers who need to do a bit of research to understand topics well. I have tried to include all classical and hugely popular, frequently asked questions from different topics like String, multi-threading, collection, design pattern, object-oriented design, garbage collection, generics and advanced Java concurrency questions. Since core Java interviewer's normally don't ask questions on JSP, Servlets, and other JEE technologies, I have not included them in this list.

Do you Need to Pass OCAJP before taking OCPJP - Java Certification for SE 8 (1Z0-808 and 1Z0-809)

Even though we are now waiting for Java 11, the latest Java certification you can do is Java SE 8 Programmer 1 and 2, also known as OCAJP 8 and OCPJP 8 with exam code 1Z0-808 and 1Z0-809. Even though Oracle split Java certification into 2 after acquiring Sun Microsystem on 2010, there is still confusion among Java developers whether they need to pass just one OCAJP exam, or both OCAJP and OCPJP exam to become a certified Java developer. Well, The short answer is Yes, if you want to become a Java certified engineer than you need to pass both OCAJP and OCPJP but the long answer depends upon your situation e.g. whether you hold any previous Java certification or not, which we'll discuss in the second section.

Tuesday, July 3, 2018

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 help with development of microservices in Java. 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 management, but it does require a thoughtful design and think through ability.

Monday, July 2, 2018

Top 5 Courses to Learn TypeScript in 2018 - Best of Lot

Hello guys, if you are thinking to learn TypeScript and looking for some awesome resources like books, courses, and tutorials then you have come to the right place. In my last article, I have shared some of the best Angular framework tutorials and courses and today, I am going to share some of the best TypeScript online course you can join to learn it by yourself. Many programmers and web developers are learning TypeScript because of its powerful syntax and advanced OOP features and more importantly to developer Angular based application. Since the Angular team has chosen TypeScript as the official language for Angular development, it's important to know TypeScript if you want to make full use of Angular but that's not the only reason you should learn TypeScript.

Which Programming Books Would You Buy if 100$ is Given to Spend?

Hello Guys, it's time to take a hypothetical question in Javarevisited. I love books and I have so many in my library and on my phone but this time, I am asking for your recommendations. Which programming book, would you love to buy, if you are given 100$ to spend? I know, when it comes to buying, people want to the worth of their money, and that's why I am posting this question to you guys. Suppose you are looking some books in a bookstore and suddenly salesman comes and say, at this particular minute, we are giving you 100$ FREE to buy any programming book. Now you just have 10 minutes to complete your purchase and take away those awesome Java books absolutely for FREE, what are the books you are going to buy?

Sunday, July 1, 2018

10 Reasons to Learn Java Programming Language and Why Java is Best

Java is one of the best programming language created ever, and I am not saying this because I am a passionate Java developer, but Java has proved it in last 20 years. Two decades is a big time for any Programming language, and Java has gained strength every passing day. Though there are times, when Java development slows down, but Java has responded well. Earlier with groundbreaking changes in the form of Enum, Generics, and Autoboxing in Java 5, performance improvement with Java 6, and Google's choice of language for Android apps development keeps Java as a front-line programming language.

Saturday, June 30, 2018

Top 8 Free Java Programming Books, EBooks and PDF for Beginners and Experienced Programmers

Who doesn't like free stuff? Well, I do like and many Java programmers like me simply love free Java books, eBooks, and PDFs. Fortunately, the Internet is full of free books and eBooks but unfortunately, many of them are of not good quality. Most of the eBooks which are freely available either are sample chapters of popular Java programming books or they are simply old and out-of-date. In my last article, I have shared a lot of such books and the feedback was that most of them, even though they are good in the past, have simply not up to the mark. The search goes on and while browsing the net a couple of days back I hit the Jackpot when I found these free Java books from OReilly.

Friday, June 29, 2018

Google Dart Hello World Example - A Java Like Programming Language to Create Web, Android, and iOS Applications

Google Datt is a general-purpose programming language from Google and used to build web applications, mobile applications, and the Internet of Things (IOT).  It's most popular application is in Flutter framework, which is Google's mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. If you haven't tried it yet then it's a good time to try it and see how much it offers to a programmer and whether it is suitable language to replace JavaScript or not. As a Java Programmer, my first impression of Google dart is great. It looks quite familiar with Java my favorite programming language and this motivates me to write this hello-world example in Google Dart and execute it, run it and see how it works.

5 Best Courses to learn Angular Framework in 2018

If you are a JavaScript 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 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.

Thursday, June 28, 2018

How to Map a Network Drive to Windows Machine - net use Command Example

Mapping network drive in Windows 10 or other versions of Windows operating system e.g. Windows 7  or Windows 8 is much easier and faster by using the command line than by doing it on Windows Explorer. If you have been working in Windows environment with a bunch of Windows Server 2016 or 2012  servers and your job requires frequent access, copy or paste from the local machine to those remote machines than mapping them as a network drive is the best option. You can use mapped network drive as any other folder which makes the job of copy paste very simple. Though windows provide multiple ways to map a network drive, I prefer to use command line i.e. "net use" command to map my windows network drives.

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

Java and Python are two of 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 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 strong Java community, which will help you though out your Java career.

Monday, June 25, 2018

Top 6 Courses to Learn Spring Framework for Java Programmers - 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.

How to parse JSON with date field in Java - Jackson @JsonDeserialize Annotation Example

I have read many articles on parsing JSON in Java and most of them give examples where properties are either String or int, there are very few examples, where you will see the JSON string contains a date field and that's one important thing to learn. It's easy to parse JSON in Java using Jackson or Gson with just integer and string field but you need to do a little more work if your JSON contains a date field because everything in JSON is String but Java is a type based programming language, where Date is a type.

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

Sunday, June 24, 2018

Top 5 Free Java Courses for Beginners to Learn Online - Best of Lot

We all love free resources, don't you? There was a time when I buy a lot of books when I was preparing for my engineering entrance exam but I only ended up buying books not reading them. Afte that I changed my habit to first try to read a book on loan or trying free resource and only buying when I really need. When I started my programming journey, mostly I learn from free resources e.g. free courses and books and there I developed the passion to collect free resources as well.  I agree that paid resources are often better than free resources e.g. books and courses but if you are just starting your journey, it's the free resource which you should try first. Once you have some background and interest, you should consider buying a proper book or courses for comprehensive learning.

Friday, June 22, 2018

Top 5 Java Multithreading and Concurrency Courses for Experienced Programmers - Best Of Lot

If you are a Java developer and looking for some awesome resources e.g. books and courses to improve your multi-threading and concurrency skills in Java then you have come to the right place. In the past, I have shared books and tutorials on Java Concurrency and Multithreading and in this article, I am going to talk about some of the best free and paid course to learn multi-threading and concurrency in Java. You can join these free courses to improve your understanding of Java Concurrency and Multithreading. It's one of the most important skills for Java developers as almost all the companies who interviews Java developers pay particular attention to his knowledge and experience in this area.

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

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 e.g. 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.

Top 5 Selenium Webdriver with Java Courses for Testers and Developers to Learn Online

The days of manual testing is limited as more and more companies are shifting towards automation testing. This means all manual testing QAs needs to learn new test automation skills e.g. Selenium, Cucumber, JUnit, and TestNG to give their career a boost. If you are manual testers or non-programming testers interested in learning test automation, or a freshers/graduates who want to kick start their career in automating testing then you have come to the right place. In this article, I am going to share some of the best courses to learn Selenium Webdriver with Java and other automation testing technology e.g. JUnit, Cucumber etc.

Wednesday, June 20, 2018

How to write a C like Sizeof function in Java

If you have just started learning Java and came from C background then you might have noticed some difference between Java and C programming language e.g. String is an object in Java and not a NULL terminated character array. Similarly, there is is no sizeof() operator in Java. All primitive values have predefined size e.g. int is 4 bytes, char is 2 byte, short is 2 byte, long and float is 8 byte and so on. But if you are missing sizeOf operator then why not let's make it a coding task? If you are Ok, then your next task is to write a method in Java, which can behave like sizeOf() operator/function of C and returns size in bytes for each numeric primitive types i.e. all primitive types except boolean.

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.

Top 5 Spring Boot Courses to Learn Online for Java Developers in 2018

Hello guys, if you are interested in learning Spring Boot and looking for some awesome 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 is Spring Boot and it's benefits and why you should learn it.

Monday, June 18, 2018

3 Best Practices Java Programmers 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 Free Git Courses for Programmers to Learn Online - Best of Lot

One of my goals in 2018 is to learn and master Git and I have been searching some good tutorials and courses to start with. The Internet is full of git tutorials and a simple Google search will leave you thousands of tutorials but the big question mark is where do you start? It's easy to pick a tutorial or a blog post if you have some background about what is Git, what it does? and how to use it but if you don't have much background then you need a course which can tell you all the information from the ground up. I personally like learning from a book or an online course before moving to blog posts as they were often well structured. When you search for Git courses in popular online course websites e.g. Udemy, Pluralsight or Coursera, you will find some good courses e.g. Git Complete: The Definitive Guide on Udemy and Git Fundamentals from Pluralsight which will teach you everything about Git step by step. These are excellent resources to start with Git.

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 DAO design pattern, you can simply use 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. Instead of you loading and saving data to/from the database and then populating objects, Hibernate just give you a readymade object and also takes care of updating data when the state of object changes. Btw, this is just one benefit of using Hibernate, another one is that it provides inbuilt caching.

Sunday, June 17, 2018

Top 5 Online Courses to Learn Web Development in 2018

Udemy is running their flash sale this weekend, where they are offering all the courses in just $10.99 and I have been spending a lot of time going through their website to buy some of the top quality courses in this sale. If you look at the price, its nothing, if you escape snakes for 1 day you can buy a course in Udemy to learn and the best part of this is that you get the lifetime access of course. So you can use it whenever you get time, maybe this week, this month, or sometime later. I love learning and for the most part of my life, I learned by reading books but ever since I come across online courses on Udemy and Pluarlsight, I have spent most of my time learning through online courses. They are the best way to start with the new technology and get yourself up and running in no time.

Saturday, June 16, 2018

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. This means you don't to declare that bean using the <bean> tag and inject the dependency, it will be done automatically by Spring. This functionality was enabled and disabled using <context:component-scan> tag.

10 Tools Every Software Developer/Programmer should know

Every trade has their tools and software development is no different. A good programmer or software developer generally know their tools better than others and also have access to more powerful and advanced tools than a average programmer, but there are certain tools which you expect every software developer should know and this list is all about such tools. In this list, I am going to share 10 essential tools, which I believe every programmer or software developer should know and know well.

Friday, June 15, 2018

Top 5 Free Data Structure and Algorithm Courses for Java and C Programmers

Data Structure and Algorithm is one of the essential topics for programmers, both to get a job and do well on Job. A good knowledge of data structure and algorithm is the foundation of writing good code. If you are familiar with essential data structures e.g. array, string, linked list, tree, map and advanced data structure e.g. tries, AVL trees etc and know when to use which data structure and compute the CPU and memory cost of your code in terms  Even though you don't need to write your own array, linked list or hashtable, given every major programming SKD provides them e.g. JDK or C++ STL library, you will need to understand them so that you can use them in right place. Using a right data structure can drastically improve the performance of an algorithm.

Top 10 Angular Tutorials and Courses for Web Developers - Best of Lot

Hello guys, if you are interested in learning the Angular framework, one of the best and most popular JavaScript frameworks for developing component-based Web GUI 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 resources e.g. books, tutorials, and courses to learn the Angular framework, formerly known as Angular JS and now famous as Angular 2. It's backed by Google, hence you should not worry about it being out-dated and lose relevance in a couple of years. Any investment you made in learning Angular will pay you rich dividends in coming years.

Tuesday, June 12, 2018

How Http Basic Authentication works in Spring Security?

In the last article, you have learned how to enable Http basic authentication in Spring security based Java application and now we'll go one step further to understand how exactly http basic authentication works in Spring security. If you remember, when you use HTTP Basic for authentication purpose the client e.g. browser or a rest client sends login credentials in http request header. The header is aptly named as "Authorization" and it contains based 64 encoded string which is created by concatenating username and password using a colon. For example, if the username is "johnsmith" and password is "JOHN3214" then they will be concatenated as "johnsmith:JOHN3214" before encoded using base 64 encoding algorithms.

Top 5 Courses to Learn Shell Scripting in Linux and UNIX Online - Best of Lot

A huge 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 is shell scripting 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 which allows you to automate boring and repeating task and that's the way programmers should work. They should not be repeating stuff, instead should be investing that time to create a script or program which can automate that task.

Saturday, June 9, 2018

10 All-Time Great Books for Java Programmers - Best of Lot, Must Read

If you are a Java programmer and wondering what to read to improve your knowledge of Java and become a better Java developer then you have come to the right place. In this article, I am going to share some of the best Java books ever written. In fact, this is my list of all time great Java books. They have withstood the test of time and emerges as more and more popular years after years. It doesn't matter if you read them in 2018 or reading them in 2019, you are always going to learn a lot and that's why I call them all time great books.

Friday, June 8, 2018

10 Tools Used by Java Programming Developer in Day to day life

Every trade has their tools, and Java programming is no exception. In fact, good knowledge of tools and mastery of using them, saves a lot of time in design, development, testing, debugging, and troubleshooting any production issue. In order to become a good developer, you must know right tools for right jobs. A developer without tools and tricks are like a toothless lion, hence it's very important that you devote some time to learning tools required for your day to day job. Many developers think that learning an IDE like Eclipse, NetBeans or IntelliJ is enough, but that's just the start of the process. No doubt that IDEs are the most important tool ever created for programmers but they are not the solution for everything.

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.

Wednesday, June 6, 2018

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

Many programmers are moving towards Data Science and Machine learning hoping for better pay and career opportunity and there is a reason for it. Data Scientist has 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 you 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.

10 Reasons to Learn Python in 2018

If you are a regular reader of this blog then you may be wondering that 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 University 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 rise of Python as a major programming language.

Saturday, June 2, 2018

Does Standard Column Width of 80 On Coding Make Sense in 2018?

One of the oldest coding practice is to keep line width 80, and many of us follow it blindly but have you ever thought why we have this practice in first place? I believe it was to make your code more readable in the age of small monitors so that whole content can fit in the screen, or it might have originated from the age of punch card, which was used to be 80 column wide. This sounds reasonable when we think about those old days but do you think this rule makes sense in 2018? We are now living in the age where most of the developers have got large monitors, which can show up-to 180 characters, doesn't this is wastage of precious monitor space? It also makes your code unnecessary long, then it actually is.

Binary Search in Java without Recursion - Iterative algorithm

This week’s task is to implement 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. Depending on which it is the algorithm then starts over but only searching the top or a bottom subset of the array's elements. If the input is not located within the array the algorithm will usually output a unique value indicating this.

Monday, May 28, 2018

Top 5 Java Programming Courses for Beginners to Learn Online - Best of Lot

If you are a computer science graduate or someone who wants to learn Java and looking for some awesome resources e.g. books, tutorials, and online courses then you have come to the right place. In the past, I have shared some great books and tutorials to learn Java and in this article, I am going to share some of the best Java courses beginners can join to learn Java. One of the main problems with learning Java is to keep pace with increasing number of releases. For example, Java 8 was released in 2014 which completely changed how Java is written and now within last 6 month, we have two major Java releases in form of Java 9 and Java 10. But the good thing is that core of Java is still same and all its releases are backward compatible.

Friday, May 25, 2018

The @SpringBootApplication Annotation Example in Java + Spring Boot

Hello guys, today, we'll learn about the @SpringBootApplication annotation, one of the most important annotations from popular Spring Boot framework, which has changed the way Java developers use Spring framework for writing Java applications. In this article, I'll explain you the meaning of @SpringBootApplication and it's used in a simple Spring Boot application. We use @SpringBootApplication annotation on our Application or Main class to enable a host of features e.g. Java-based Spring configuration, component scanning, and in particular for enabling Spring Boot's auto-configuration feature.

Monday, May 21, 2018

3 Ways to convert String to Boolean in Java? Examples

You can convert a String object to Boolean object or boolean primitive by using the Boolean.valueOf() and Boolean.parseBoolean() method. The steps are similar rot converting to String to other data types e.g. String to Integer and String to Long. You can use valueOf() method to convert String to Boolean object and parseBoolean() method to convert given String to boolean primitive value. Internally, valueOf() also uses parseBoolean() for parsing String but on top of that it also provides caching e.g. it can return Boolean.TRUE and Boolean.FALSE cached value for "true" and "false" string.  In fact, the Boolean.TRUE is returned only when String is equal to true ignoring case e.g. "True", "true", "TRUE" will evaluate into boolean true, hence Boolean.TRUE will be returned. For string like "Yes", Boolean.FALSE will be returned. We'll discuss the rules of String to boolean conversion in next section.

Saturday, May 19, 2018

Java 8 filter + map + collect + Stream Example

Hello guys, many of my readers emailed me to write a post about 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 better understanding of my readers and fellow Java developers.

The map() function is a method in Stream class which represent a functional programming concept. In simple words, the map() is used to transform one object into other by applying a function.

Thursday, May 17, 2018

Top 5 SQL and Database Courses to Learn Online - 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.

Sunday, May 13, 2018

Top 5 MySQL Courses to learn Online - Best Of Lost

Hello guys, if you are interested in learning SQL with MySQL database and looking for some awesome resources e.g. books, tutorials and online courses then you have come to the right place. In past, I have shared some useful books and tutorials and in this article, I am going to talk about some of the best MySQL online courses from Udemy and Pluarlsight which you can join to learn SQL and MySQL from the comfort of your office or home. In last a couple of years, you might have heard the statement that everybody should learn to code, which is great. Coding is now like reading, writing and speaking skill and in today's Information technology-centric world it is must have and there is no better way to start coding than learning SQL, the most popular programming language.

Tuesday, May 8, 2018

10 Tips to Become a Better Java Developer in 2018

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 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, April 27, 2018

Top 5 Java and JavaScript Frameworks to Learn in 2018 - Best of Lot

Hello guys, if you are a Java developer and wondering which Java frameworks you should learn in 2018 then you have come to the right place. In this article, I am going to share top 5 Java frameworks developers can learn to keep pace with modern day development. This is the second part of my article on what should Java programmer learn this year. In the first part, 10 Things Java developer should learn where I have focused on essential upgrades like Java 8, Java 9, Spring 5 etc, but in this article, I'll talk about some of the best Java frameworks you should learn to give your career a boost. Technology changes really fast, in just a couple of years what was the hottest technology or framework of 2014 is no longer used anymore and as a programmer and application developer, our biggest challenge is to keep pace with the technology.

Thursday, April 26, 2018

How to Find Multiple Missing Integers in Given Array With Duplicates in Java?

It's been a long time since I have discussed any coding or algorithm interview questions, so I thought to revisit one of the most popular array based coding problem of finding missing numbers in given array. You might have heard or seen this problem before on your programming job interview but there are a lot of different versions of increasing difficulty levels which interviewer normally use to confuse candidate and further test their ability to adapt to frequent changes. In the past I have demonstrated how to find the missing number in a sorted array as well on the unsorted integer array in Java using BitSet (see here), but, with just one missing number and without any duplicates.

Wednesday, April 25, 2018

Top 10 Java and Web Development Courses to Learn in 2018

Hello guys, I am sure you all have made your goals and resolutions for this year e.g. what to learn in 2018. If you haven't then check out my post 10 Things Java programmer should learn in 2018 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 2018 are to learn JDK 9, 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 JDK 9 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.

Sunday, April 22, 2018

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 instructor's experience and you also have a chance to ask questions to the instructor.

Thursday, April 19, 2018

Does Pivotal' Spring Certification helps in Job and Career? 5 Reasons to Become a Certified Spring Developer

One of the frequently asked question among Java and Spring developer is whether Spring certification is valuable? or does Spring Certification help you in Job and Career? These questions are not very different from what Java developer ask about Oracle's Java certification (see here). The short answer to these question is Yes, Spring Certifications are very valuable and it not only provides Industry recognition for your knowledge, experience, and skill but also set you apart from the millions of Java and Spring developer who are not certified. Of course, as with any certification, the most valuable part, apart from recognition is the learning process and this is true for Spring certifications as well.

Wednesday, April 18, 2018

Top 5 Apache Kafka Courses to learn Online - Best of Lot

Hello guys, you might have heard about Apache Kafka, the next generation, Big Data messaging system which is handling billions of messages per day on companies like LinkedIn, Uber, Airbnb, Twitter etc. In past, I have shared some awesome courses on Big Data, Spark, and Hadoop and many of my readers requested me to share similar suggestions for Apache Kafka. If you are interested in Apache Kafka and looking for some awesome courses to learn online then you have come to the right place. In this article, I am going to share some of the best Apache Kafka courses to learn online. If you know about Big Data then there is a good chance that you have also heard about Apache Kafka, the software which handles data feed for any organization. It's a distributed streaming platform developed by Apache foundation for building real-time data pipelines.

Saturday, April 14, 2018

Top 5 Hadoop Courses to Learn Online - 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.

Wednesday, April 11, 2018

How to Crack Java Programming Interviews in 2018? Topics, Books, and Questions

Java Interviews are a little bit different than traditional programming interviews on tech giants and product based companies like Google, Amazon, Microsoft, or Facebook. First, even though it has questions from Data Structure and Algorithms e.g. String or Array, you can still manage to clear Java interviews if you are not an expert on them. The questions are a little bit easier and more practical than those companies. Another very important thing about Java interviews are questions based upon Java programming language and JDK API. Since Java is also an Object oriented programming language, you will find lots of OOP questions there. Since Java is primarily used as application programming language, the focus is aligned accordingly with questions mostly focusing on API, Java concepts, and design patterns.

Monday, April 9, 2018

5 Spring Framework Books Experienced Java Developers Should Read in 2018

The Spring framework has changed a lot in last a couple of years. In 2017 and 2018 itself, we have seen major releases for Spring, Spring Boot, and Spring Security. These new releases introduced several exciting features to meet the latest software development trends e.g. reactive programming, support for Kotlin for developing Spring application, Spring WebFlux - a new framework to develop non-blocking and reactive web application,  and many more. Since software world is changing and most of the development is happening on Cloud with Microservice architecture leading the way, it's high time that experienced Java developers should upgrade themselves.

Friday, April 6, 2018

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.

Thursday, April 5, 2018

Top 5 Java 8 Certifications Courses to Prepare OCAJP (1Z0-808) Exam Online

If you are preparing for Oracle Certified Java SE 8 Associate exam, also known as OCAJP 8 and OCPJP 8 with exam codes 1Z0-808 and looking for a decent online course to kick start with your preparation then you have come to the right place. In this article, I will share some of the best online courses to prepare for Java SE 8 certifications. Btw, first of all, configurations to make the right decision. If you are a Java developer then certifying for your skill will not only distinguish you from millions of other non-certified Java programmers but also improve your knowledge and understanding of Java SE 8. If you are looking for a job then this can help you to get a better job and if you are looking for a career growth e.g. to become senior Java developer, these certifications can help you to get a promotion.