Never write a for loop again

Spiral staircase
Spiral staircase
Photo by Dan Freeman on Unsplash.

Streams are one of the most significant features to come out of Java 8. To find out why they are useful, you will need to understand what a stream is in Java.

A stream is a sequence of data that allows for a special type of processing on all or just some of the data. We can create streams or transform existing structures into streams. Streams can be a replacement for looping because they allow for the processing of a sequence of data (similarly to a loop).

Let’s look at an example.

We want to create a list of random…

A few must-know use cases of Spring Boot’s

Coffee mug on table
Coffee mug on table
Photo by Danielle MacInnes on Unsplash.

It is the default property file (resource) that is automatically recognized by the application. Yes, it is possible to have multiple property files within a single application. By default, this file is located in the main/resources directory of the project.

Essentially, is a key-value repository resource that is widely used for configuration properties and runtime variables. Those are the most common uses of the file. However, as a key-value storage resource, it can also function similarly to how a dictionary does in Python or JavaScript.

In this article, I will demonstrate two ways of using

Generators in Python are more than just an alternative to lists

Wind mills
Wind mills
Photo by Karsten Würth on Unsplash.

A generator is a construct in Python that allows for lazy or ad hoc loading of a stream of data. They can work like a list and be looped over, but generators have the ability to maintain state.

Yes, I know this will mean nothing to you without an example, so let’s get right into it with the code snippets below:

Making Your Jars from the Command Line

“Jars of Clay” by ricky_artigas is licensed under CC BY 2.0

JAR. JAva aRchive. This is a file format that allows you to package your Java code into a single file format. This file format can be be used for storage or it can be runnable. Runnable meaning, with the click of a button it will launch your application (just like those icons on your desktop).

Having a JAR file provides a simple way for us to package our code. It comes inbuilt with compression to reduce the size of code and makes it easier to transfer code across mediums due to the file being a smaller singular one.

JARs can…

Merge multiple PDF files with a simple script

Code on a laptop
Code on a laptop
Photo by Christopher Gower on Unsplash.

Is it just me? I like to try cool, fun stuff in Python. One of the most useful programs I have ever written is a PDF merger. The inspiration came as a result of needing to combine several PDFs together all at once without overriding any existing PDF resource.

Let’s Do It Ourselves!

To make our life easier, I will be using the PyPDF2 library. The GIF below exhibits the process of installing the library using the pip install PyPDF2 command. The PyPDF2 library handles all the intricacies of merging the PDF files. …

Explore the Feign client and other useful libraries

Code on a laptop
Code on a laptop
Photo by Goran Ivos on Unsplash.

Have you ever had the trouble of making an HTTP request to several different Application Programming Interfaces (APIs)? Wouldn’t it be easier to combine only what you need from these different APIs into a single API?

Creating a middleware can solve this issue. A software application middleware allows us to have a single customized source of data. One of the major benefits of having a middleware is that it connects many different products and services together in a shared system. So, what exactly is a middleware? According to Microsoft Azure, a middleware is a software operating as a hidden translation…

Learning How to Run Java using Only the Command Line

Photo by Marissa Anderson with required license for use

I don’t know if it’s how I was taught Java but my go-to method of running it is through the terminal. I enjoy the “hacker vibe” you get from being able to just use the keys on your keyboard to control the execution of a program.

In this article, I will be sharing how you can run your Java programs inside the command line.


  • Java — This must be installed and should be set as an environment variable.

Note: This demonstration will be done on a windows machine.

Running Your Programs In The Terminal

Running your Java programs from the command line gives an appreciation to…

Building an API in Spring that connects to a MariaDB database

A person standing in a foggy field.
A person standing in a foggy field.
Photo by Jakub Kriz on Unsplash

Spring is a framework that allows you to create enterprise-level applications. The problem arose where it took many configurations to get an initial application up. This is where Spring Boot came along.

“Spring Boot allows you to abstract (hide) these configurations. So you can get a preconfigured template application.” — From part 1 of this series

Here in this article, you’ll be shown how to create a Rest API in Spring Boot. This API will be a CRUD (create, read, update, delete) application that connects to a SQL database — in this case, a MariaDB database.

If you’re new to…

The basics of API development in Spring Boot

Spring Boot programming language logo
Spring Boot programming language logo
Image credit: Sprint Boot

The world of back-end frameworks is much more uncommon than that of front-end frameworks. You always hear about JavaScript and its flavors such as React, Vue, and Angular (cough cough). On YouTube, the number of front-end videos multiplies by the second, and for a lot of people including myself, the first back-end language we might hear about is PHP. It took me a while to realize that Python can do similar things to Flask and Django. But again, I did not see these flooding my notifications like JavaScript and general Python and Java languages.

When browsing job descriptions, especially for…

Jordan Williams

Enjoys creating software that make tasks simpler. Always trying to gain new knowledge and expertise.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store