Monday, December 31, 2018

Top 10 Pluralsight Courses For Java and Web Developers to Learn in 2019 - Best of Lot

Since last week, I have been sharing about my 2019 learning goals and what Java programmers should learn in 2019 but I haven't shared with you how will I learn those new technologies e.g. Git, Angular JS, React JS, Spark, and Machine learning etc. Well, there are many ways to learn a new technology or programming language, 10 of them I have shared in my earlier post about how to learn new technologies but two of the best ways to learn any new technology is by using online courses and reading books. I have been learning from books since my childhood but ever since I have tried learning from online courses, I found them more interactive and useful.

Sunday, December 30, 2018

5 Spring Framework Books Experienced Java Developers Should Read in 2019

The Spring framework has changed a lot in last a couple of years. 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 the 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.

Saturday, December 29, 2018

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

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 2019? 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.

How to Find Biggest Files and Directories in Linux to Free some Disk Space Quickly - find + du + sort + head command Example

Hello guys, 100% full disk space is a common problem and as a programmer or Linux user, you often need to free disk space by deleting biggest files and directories. In order to do that, you need to know some Linux find command examples to list and delete some biggest files and directories and that's what you will learn in this tutorial. As a Java developer, you also need to also support your application, most of which mostly run on Linux machines. Though production is monitored by the dedicated support teams and they receive regular alerts on the status of file system space, they often come running to you or the developer responsible about what to do when disk space is almost full or reaching 100%.

Top 5 Online Courses to Learn Web Development in 2019

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.

Friday, December 28, 2018

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

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.

Thursday, December 27, 2018

Top 5 Big Data and Apache Spark Courses for Java Developers to Learn Online in 2019

Slowing economy and the recent trend of job cuts in India and elsewhere have made many programmers anxious about their job security. I receive a lot of emails and Facebook chats about suggestions to improve IT skills to remain competitive and marketable. So, if you are in the same boat, you can learn Big Data and IT Automation to remain marketable. These two skills are in great demand and will generate a lot of jobs in future. I have suggested many Java developers around the world to learn Big Data Technologies e.g. Apache Spark to give their CV a new boost. Since it's not easy to learn a new technology and at a certain age, you feel a lot of restriction and resistance from both your body and mind. In order to overcome that I found a combination of books and online courses works great.

Top 5 TypeScript Courses to Learn for JavaScript Developers in 2019 - 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.

Wednesday, December 26, 2018

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

DevOps is really hot at this moment and there are many job opportunities lying for distinguished engineers and DevOps professionals. If you are an experienced Java programmer and want to become a DevOps engineer then you have come to the right place. In this article, I am going to share some of the best online training courses you can take to become a DevOps professional. The most important advantage of DevOps is that it helps you to deliver better software and provide more control over your environment and software development process with the help of modern tools and automation. That's the reason the demand for DevOps professionals is growing exponentially. It's also one of the high paying jobs along with Data Science and Machine learning specialists.

Top 5 Java and Web Development Frameworks Programmers Should 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 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.  In order to work in a team, you need to contribute in both backend and frontend, and that's where this knowledge helps. You might have also seen Job description where a company needs developers with Java + Angular or Java + React skill.

Tuesday, December 25, 2018

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

If you are a Programmer or a Computer Science graduate and thinking to learn Python in 2019 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 2019. 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 a default language for Data Science and Machine learning Projects and that's another reason why many experienced programmers are learning Python in 2019. It's also one of the top languages on my list of programming language to learn in 2019. But, for all its power and flexibility, Python is still a very simple language to learn and often touted as beginner's programming language.

Monday, December 24, 2018

10 Things Java Programmers Should Learn in 2019

It's 24th December now and only a few days have left in the year 2018. It's a good time to look back and retrospect what you have achieved in 2018 and what you could have done better. This will help you to create your goals for 2019. As a programmer, our biggest challenge is to keep ourselves up-to-date. Technology changes very fast and you will see a new version of programming language and framework coming to every couple of year. This year has plentiful changes with keeping up-to-date with new Java version every 6 months, Spring 5, Spring Security 5 and Spring Boot 2, it's probably the busiest year in terms of changes for Java developers.

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.

Sunday, December 23, 2018

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

Hello guys, if you are a computer science graduate or new into programming world, interested in learning SQL and looking for some awesome resources e.g. books, courses, and tutorials to start with then you have come to the right place. In past, I have shared some of the best SQL books and tutorials and today I am going to share some of the best SQL and database courses to learn and master this useful technology. If you don't know what is SQL and why should you learn it, let me give you a brief overview of SQL for everyone's benefit. SQL is a programming language to work with a database. You can use SQL to create database objects e.g. tables, stored procedure etc and also to store and retrieve data from the database.

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

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.

Saturday, December 22, 2018

Top 5 Free Microsoft SQL Server and T-SQL Courses to Learn Online for DBAs and Developers - Best of Lot

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 10 Gift Ideas for Programmers, Software Engineers, and IT Professionals

My friend circle has a lot of programmers and non-programmers and when it comes to buying gifts for birthdays, anniversary or holidays, I receive a lot of queries from my non-programmer family and friends about what to buy for a programmer? Well, buying a gift is easy but choosing or finding the right gift for someone is really really tough. I have had this experience when it comes to buying gifts for kids. I know they like toys but my wife told me to buy something more valuable, which not only keep them engaged but also provide value, help them in learning and they appreciate every time they use. That's a lot to cater in one gift, but that's the perfect gift, isn't it?

Friday, December 21, 2018

Top 10 Courses to Learn JavaScript in 2019 - Best of Lot

There is no doubt that JavaScript is the most popular programming language at this moment and it's also confirmed by StackOverFlow's 2018 Survey. You can build static websites, web applications, native mobile applications (yes you can do that too), desktop applications and even server-side application in JavaScript. It also makes you 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, December 2, 2018

How to fix invalid target release: 1.7, 1.8, 1.9, or 1.10 Error in Maven Build

If you are building your Java project using Maven, maybe in Eclipse or from the command prompt by running mvn install and your build is failing with an error like "invalid target release: 1.7" or "invalid target release: 1.8" then you have come to the right place. In this article, I'll show you the reason why this error occurs and how you can deal with these errors even with higher Java version like Java 9, 10 installed on your machine, or maybe with Java 11 in the coming month. The root cause of the problem is that you have specified a higher Java version in your pom.xml file for Maven compiler plugin then what Maven knows in your system, and that's why it's saying invalid target release.

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, December 1, 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.

Top 5 MySQL Courses for Programmers 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.

Friday, November 30, 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.

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.

Thursday, November 29, 2018

Spring Framework Certification FAQ - Frequently asked Questions Answers for Java Developers

If you are a Java developer, working in Spring framework and thinking to become a certified Spring professional but couldn't to do it in the past due to expensive mandatory training provided by Pivotal and its partners then there is a good news for you. From 10th May 2017, Pivotal made the Spring Core training optional for appearing to Spring certification exam, which means, now, it's not mandatory to take Spring training for Spring certifications (see here). Similar to Oracle's Java certifications, you can become a Pivotal certified Spring Professional by just buying the exam vouchers and scheduling your exam online using examlocal.com from anywhere in the world.

Wednesday, November 28, 2018

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.

Top 5 books to learn Agile and Scrum for Programmers - Best of lot, Must Read

When I started my career, it was all waterfall model. You try, fail, and then with every version you get an improved version of a software. I pretty much used to this model of software development until I was introduced to Agile development methodologies in my next company. I was confused about Agile as some people say its Scrum and Sprint, other ways its XP and Kanban etc. The confusion lasted for a long time because I was afraid of asking questions (afraid of being perceived as dumb and someone who wastes time on meetings) and only getting information in bits and pieces and I wasn't good at searching books at that time. From that experience, I learned that, when you have confusion and want to learn more about a new technology, nothing is better than a book or online training courses to start with.

Tuesday, November 27, 2018

Top 5 IntelliJ IDEA and Android Studio Courses for Java and Android Development - Best of Lot

There is no doubt that IntelliJ IDEA is THE best IDE for Java development, even though Eclipse may still be probably used by more people because it's FREE, IntelliJ IDEA is the most feature rich and complete IDE. The Android Studio, which is the official IDE for Android development in Java is also based upon IntelliJ IDEA, which further cement its place as the IDE Java developer should learn. The only thing which stops me and many other Java developers to moving from IntelliJ IDEA in the past was the lack of resources. Since Eclipse was free from the start, there are tons of resources e.g. books, courses, and tutorials are available. There are also a lot of resources to learn productivity tips e.g. keyboard shortcuts and debugging techniques, but there were not many for Intelli IDEA.

How to Check/Uncheck CheckBoxes in a Page using jQuery? Example Tutorial

In the last couple of articles, I have shared a couple of useful jQuery tips like reloading web page and working with tag selectors. Today, I'll show you how to check or uncheck a particular checkbox using jQuery, one of the most popular JavaScript framework. jQuery provides CSS like selectors which can make this kind of task trivial. If you remember, in HTML a checkbox is checked if the "checked" attribute is present and its value is not false, otherwise, it's unchecked. By using jQuery function prop() you can dynamically add this attribute or if present we can change its value i.e. checked=true to make the checkbox checked and checked=false to mark the checkbox unchecked.

Monday, November 26, 2018

How to delete a key value pair from a HashMap during Iteration in Java - Example tutorial

Suppose you have a Map or Dictionaries like HashMap or Hashtable, which contains key-value pairs like books and their prices, and you want to delete all books whose prices are greater than 40 USD, how do you that in Java? This is one of the most common scenarios while developing Java application and many Java programmer, will say that they will iterate over Map and check each entry and then use the remove(Object key) or remove(Object key, Object value) methods from java.util.Map to delete any mapping where the value is greater than 40 USD. Though the approach is right, the answer is wrong.

Top 8 Python Libraries for Data Science, Machine Learning, and Artificial Intelligence

Hello guys, today I am going to talk about something which is not related to Java but a very interesting technology development which is happening around and you simply can't afford to miss out this opportunity. Yes, you guessed it right, I am talking about Machine learning, Artificial Intelligence, and deep learning. There is a good chance that you might have already heard about them and even started learning them. You may be either form Python camp or learning R programming for the sake of machine learning. When I started my journey of Machine learning and Data Science, I had to first make a choice about choosing the right programming language as both R and Python were doing great.

Sunday, November 25, 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.

Entuware or Whizlabs? Which Exam Simulator Should you Buy for Java 8 Certifications?

I often receive queries from Java certification aspirants about exam simulators e.g. 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 both of them are really high-quality test simulator 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 past I am sure about 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

Saturday, November 24, 2018

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.

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

Friday, November 23, 2018

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.

Thursday, November 22, 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.

Wednesday, November 21, 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, November 20, 2018

How to convert float to long or int data type in Java?

Yesterday one of the new joiner Java Trainee Engineer from our team came to me and asked about how do you I convert a float variable into long or int data type? He was storing some values coming from another system in the database and only wanted to store value before the decimal point e.g. he was getting "3.144" and he wants to convert it to "3" to store into database. The good thing was that API was returning a float primitive value and you don't need to convert a String to float etc. I asked him whether he needs routing or not, which he wasn't sure but it turns out that he didn't need that. I explained to him how to do that and that's what you will find in this article as well. In short, there are 3 ways to convert a float value into long or int in Java, but we will only focus on long data type part.

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.

Monday, November 19, 2018

How to find a Process Listening on a Specific Port in Linux? netstat and lsof command examples

In Linux, many times, you want to find out the PID of a process which is listening on a port e.g. if multiple tomcat servers are running on a host and you have to kill that process, but in order to kill that process you need the process id, how do you find the PID of the tomcat listening on port 8080? There are many Linux commands to find the process using a specific port, but I'll share what I use. I always use the netstat command with -p option, which displays process id of the process listening on a port. Btw, netstat is not the only command to find all processes using a particular port, you can also use the lsof command for the same purpose.

Sunday, November 18, 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.

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.

Saturday, November 17, 2018

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.

How to Schedule Spring Professional Certification Exam using Voucher Online - Step by Step Guide

So, you have been preparing for Spring certification for quite a sometime and now you feel you are ready to take the exam and it's time to buy the Spring certification voucher and schedule your exam. In this article, I'll show you how to buy the Spring certification voucher online. But, before purchasing a voucher, I would like to remind you that Spring certification voucher is only valid for 90 days, after that it will expire. So, it's best to buy the voucher only if you are ready for the exam i.e. you have gone through several Spring Mock tests and practice tests given in Spring study guides and you are consistently scoring over 80% on them.

Friday, November 16, 2018

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.

Thursday, November 15, 2018

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.

Wednesday, November 14, 2018

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.

Tuesday, November 13, 2018

Top 5 Soft Skill and Career Development books and Courses for Programmers

Most of the software developers, programmers, and coders spend a considerable amount of their time and energy on learning technologies which get obsolete in few years e.g. a new framework or a new programming language but they neglect something more important e.g. soft skills. Unlike technical stuff, soft skills will not only serve you good in your job and career but also in your life and it won't get obsolete as quickly as the new web application development framework you have just learned. Similarly, most of us put a lot of effort to get a job but after that, we don't put much effort to grow on that job, the result is many programmers and software developer stuck in their career.

Monday, November 12, 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.

5 Must Read Books to become Software Architect or Solution Architect

I receive a lot of queries from senior Java developers, who aspire to become software architect or solution architect e.g. what can they do to become a software architect? Which books, resources, or certifications can help? and general queries like how much experience you need to become software architect etc. In the past, I have been suggesting them individually about some books to read to expand their knowledge base and look at the software from architecture and design perspective and this article is a compilation of many of such suggestions. Since a lot of books can confuse, I have only select 5 best and must-read books from software architect perspective.

Friday, November 9, 2018

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.

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.

Thursday, November 8, 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.

Sunday, November 4, 2018

How to Remove Leading/Trailing White Space from a String in SQL Server? LTRIM, RTRIM Example

Unlike Java, Microsoft SQL Server 2008, 2012, 2014,  and even the latest version don't have a built-in trim() function, which can remove both leading and trailing space from the given String. But, SQL Server does have two built-in functions LTRIM() and RTRIM() to remove leading and trailing space. The LTRIM() function removes space from the left side of String so you can use it to get rid of leading space, while RTRIM() removes white-space from the right side of String so you can use it to delete trailing space. You can even combine these two methods to create your own TRIM() method in SQL SERVER e.g. LTRIM(RTRIM(column)) will act as a TRIM() method because it removes both leading and trailing space.

Saturday, November 3, 2018

The best Course to Learn Spring Security 5 for Experienced Java Developers

If you are a Java Spring developer and working with Spring Security then you may be familiar with the "Learn Spring Security" course by Eugen Paraschiv of Baeldung.com. It is one of the most advanced and comprehensive courses on Spring Security and the best part of this course is that Eugen always keeps it up-to-date with new Spring Security release. Now that version Spring Security 5 is out - he has updated his course to use new features of Spring Security 5. Btw, there is some really cool new functionality coming in Spring Security 5 for the reactive programming model, and many other improvements and new features. But, the most important one is the release of OAuth2.

Friday, November 2, 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, November 1, 2018

Top 5 Free Agile Courses for Programmers and Software Engineers - Best of Lot

Technology is changing at a rapid pace and market conditions, tough competition, and time-to-market are some of the biggest concerns for today's organizations, especially for technology companies. In order to adapt this fast-changing environment, most of the companies are now using the Agile model of development, testing, and project management. This enables the organizations to efficiently cope with changes and deliver faster and that's why for a programmer or an IT professional, a solid knowledge of Agile methodologies and framework is important. It doesn't matter whether you know the Waterfall model of development or not but it does matter whether you have worked in an Agile environment or not. In order to educate programmers about Agile, I have shared some of the books to learn Agile in past and today I am going to share some of the free online Agile courses you can take to learn Agile methodologies at your own pace.

Wednesday, October 31, 2018

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.

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.

Tuesday, October 30, 2018

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

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

Monday, October 29, 2018

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, October 28, 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.

How to enable/disable an element using jQuery and JavaScript? Example

Sometimes we need to enable and disable input elements like text box, radio buttons, or checkboxes, but every time you make a change you need to reload the HTML? The question is, how can we do it dynamically without loading the page? Well, we can use JavaScript, particularly jQuery to do this. An element can be disabled in HTML by setting disable property to true and enabled again by setting disabled=false. By using jQuery, you can grab the element you want to enable or disable and change this property by using the prop() or attr() function, depending upon the version of jQuery you are using.

Saturday, October 27, 2018

What is the role of InternalResourceViewResolver in Spring MVC?

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.

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.

Friday, October 26, 2018

How to implement 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.

Tuesday, October 23, 2018

How to do group by in Excel - COINTIF function example

The Microsoft Excel is one of the best tools to analyze data and I think every programmer should be familiar with this tool. There are a couple of genuine reasons for why I am asking you to learn and master Excel. Since most of us work in Windows and Excel is almost always available, knowing how you can use it for your data analysis and reporting can really make a difference. Managers, Directors, Clients, and People at a higher level just love reports and once your experience grows, your responsibility also grows and you need to create many reports or work on Excel sheet generated by others. It automatically becomes part of your life, especially if you are progressing on project management space.

Saturday, October 20, 2018

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

Hello guys and ladies, 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 a to-the-point reply and some keywords in answers. Accordingly, I have given very short answers of all these questions, only the main points; just to make this a revision post and not the main source for preparation. For thorough preparation, my master list of 140+ Java questions is a better one to start with. I am also 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.

Friday, October 19, 2018

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.

Differences between @RequestParam and @PathVariable annotations in Spring MVC?

The Spring MVC framework, one of the most popular frameworks for developing a web application in Java world also provides several useful annotations to extract data from the incoming request and mapping the request to controller e.g. @RequestMapping, @RequestParam, and @PathVariable. Even though both @RequestParam and @ParthVariable is used to extract values from the HTTP request, there is a subtle difference between them, which makes them a useful question from an interview and spring certification point of view. We'll examine the subtle difference between @RequestParam and @PathVaraible in this article. As the name suggests @RequestParam is used to get the request parameters from URL, also known as query parameters, while @PathVariable extracts values from URI.

Tuesday, October 16, 2018

How to Sort a HashMap by Values in Ascending and Descending Order in Java 8 - Example Tutorial

In the last article, I have shown you how to sort a Map in Java 8 by keys and today, I'll teach you how to sort a Map by values using Java 8 features e.g. lambda expression, method reference, streams, and new methods added into the java.util.Comparator and Map.Entry classes. In order to sort any Map e.g. HashMap, Hashtable, LinkedHashMap, TreemMap, or even ConcurrentHashMap, you can first get set of entries by using the entrySet() method and then you can get the stream by calling the stream() method. The entrySet()  method returns a Set which inherit the stream() method from the java.util.Collection class. Once you got the stream, you can just call the sorted() method which can sort all Map.Entry objects available in Stream using a Comparator.

Sunday, October 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.

Friday, October 12, 2018

How to use jQuery Class and Id Selector to find DOM elements

One of the best things about jQuery is there selectors, which gives the jQuery enormous power to find and select DOM elements so easily. If you are coming from JavaScript background then you might love those classical methods to find DOM elements like getElementById() and getElementByName(). They have served very well in the old days of JavaScript coding,  but once you start using jQuery selector, which is quite similar to CSS selector, I am sure you will forget them. Searching and finding HTML elements using jQuery selectors are natural, intuitive and super easy and that's why I love them.

Wednesday, October 10, 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.

Monday, October 8, 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.

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.

Friday, October 5, 2018

How to deal with ConcurrentModificationException in Java? Beware while removing elements from ArrayList in loop

One of the common problem while removing elements from an ArrayList in Java is the ConcurrentModificationException. If you use classical for loop with the index or enhanced for loop and try to remove an element from the ArrayList using remove() method, you will get the ConcurrentModificationException but if you use Iterator's remove method or ListIterator's remove() method, then you won't get this error and be able to remove the element. It's an unwritten rule in Java that while looping through the list, you should not add() or remove() elements until the collection supports fail-safe Iterator e.g. CopyOnWriteArrayList, which operate on a copy of list rather than the original list.

Wednesday, October 3, 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.

Book Review - Clean Architecture by Uncle Bob Martin - Must read for Programmers

Hello Guys, today, I am very excited to talk about a new book (Clean Architecture: A Craftsman's Guide to Software Structure and Design) from one of my favorite author of programming books, you guessed it right, Uncle Bob. The same Uncle Bob (aka Robert Martin) who brought you the Clean Code and Clean Coder has been at it again. It's been a long time since I last read an Uncle Bob and somehow I wasn't aware of this book. It comes to me as a surprise yesterday when one of the colleagues mentioned it and I didn't take time to realize that I need to buy and read this book. I just cursed myself that why I didn't know about this book before, it is still new but given I love to read his books, it's just a miss for me.

Friday, September 28, 2018

Top 4 Books to learn Oracle PL/SQL Programming - Best, Must Read

In last summer, I had to work on a Java project which was using Oracle database at their backend. The project was a mix of Java code with Oracle PL/SQL stored procedures, where Stored procedures were quite big and complex to read. I had not worked on Oracle for a couple of years and almost forget whatever I knew before. So, to revise, update and re-learn and I looked over some of the books and online courses like The Complete Oracle SQL Certification Course which helped me a lot. In my quest to revise and re-learn Oracle SQL, I also find lots of their used books on Oracle PL/SQL which are both interesting to read as well as provides a great wealth of information to any programmer.

Thursday, September 27, 2018

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.

Wednesday, September 26, 2018

How to Remove all Unused imports in a Java file - Eclipse Shortcut

How to remove all unused imports in Eclipse
Eclipse IDE gives warning "The import XXX is never used" whenever it detects unused import in a Java source file and shows a yellow underline. Though unused import in Java file does not create any harm, it's unnecessary increase length and size of Java source file and if you have too many unused imports in your Java source file, those yellow underline and Eclipse warning affect readability and working. In my last post on Eclipse, we have seen some Java debugging tips on Eclipse and in this post, we will see Eclipse shortcut to remove all unused imports in Eclipse. There are many options to tackle this problem e.g. you can collapse import section of code in Eclipse or you can altogether remove all unused imports from Java file, and we'll see them in this short tutorial.

How to find Length of String in SQL Server? LEN() Function Example

One of the most common task while writing SQL queries or stored procedure is to find the length of String. Since most of the columns are VARCHAR, you often need to find the length before taking any action. In Java, you can find the length of String by using the length() method but how about SQL Server? How will you find the length of String in Microsoft SQL Server in general and Microsoft SQL Server 2016 in particular? Well, you can use the LEN() function to find the length of a String value in SQL Server, for example, LEN(emp_name) will give you the length of values stored in the column emp_name. This method exists from SQL Server 2008 onwards which means you can use this function in SQL Server 2012, 2014, 2016 and latest version of Microsoft SQL Server i.e. SQL Server 2017.

Tuesday, September 25, 2018

How to Solve UnrecognizedPropertyException: Unrecognized field, not marked as ignorable - JSON Parsing Error using Jackson

While parsing JSON string received from one of our RESTful web services, I was getting this error "Exception in thread "main" com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "person" (class Hello$Person), not marked as ignorable". After some research, I found that this is one of the common error while parsing JSON document using Jackson open source library in Java application. The error messages say that it is not able to find a suitable property name called "person" in our case, let's first take a look at the JSON we are trying to parse, the class we are using to represent the JSON document and the error message itself.

Error Message:
Exception in thread "main" com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "person" (class Hello$Person), not marked as ignorable (4 known properties: , "id", "city", "name", "phone"])

Sunday, September 23, 2018

Top 5 Database design and Modelling Books for Programmers and DBAs of All level

The database design and modeling are one of those topics which rarely gets the attention they deserve, especially at the start of the project, but once things have gone out of hand then everybody talks about that. Comments like - this database are designed poorly, it is not performing well, you cannot add a new column easily etc becomes very common. The most problem with database design is that it is mainly done by application developers e.g. Java or C++ developer who knows SQL but they are not the expert of how to design tables and schema. The Database admins or DBAs know database and SQL better than application programmers but they focus on the admin part of the database rather on application part e.g. designing tables and relations between them, which is left to the application developer.