How to write horrible Java

How to write horrible Java

I feel horrible today. I am sick- my throat hurts, my head is not working as it should. Hence, I decided I will tell you how to write horrible Java code. If you are tired of all these beautiful patterns and best practices and you want to write something insane- read on. Maybe you like horror stories but in code- this may appeal to you! If you are looking for advice on how to write good code- look elsewhere! Check my review of “Effective Java“ and take it from there. Nothing nice is waiting for you in the following paragraphs… But if you are insisting on reading… ...

May 13, 2018 · 5 min · Bartosz Jedrzejewski
Effective Java Microservices require Effective Java

Effective Java Microservices require Effective Java

Writing good software requires using the right tools. Choosing the right frameworks, libraries and designing smart systems. With all that to learn and worry about, it is easy to forget about another very important thing: using your programming language wisely. In this article, I want to introduce you to *“Effective Java”*by Joshua Bloch. Effective Java– back to “basics” With the JVM ecosystem moving faster than ever, it is easy for us to forget that writing good software is more than using frameworks correctly. ...

May 9, 2018 · 4 min · Bartosz Jedrzejewski
E4developer Newsletter - May 2018 - Number 3

E4developer Newsletter - May 2018 - Number 3

In the last month, I spent a lot of time writing about Reactive Spring Boot. I believe that Reactive Microservices are only going to grow in popularity, so I really recommend you to get to know them! Beyond that, you can see some other interesting technologies like Javalin and Spring Data being showcased. These can help you with making your microservices architecture even more robust and easy to work with. ...

May 7, 2018 · 2 min · Bartosz Jedrzejewski
Spring Data - Microservices Data Companion

Spring Data - Microservices Data Companion

Spring Data is one of the flagship projects of the Spring ecosystem. If you need to work with data- be it SQL, non-SQL, using map-reduce or other, Spring Data most likely has you covered. In this article, I will introduce the Spring Data project and explain how it makes writing microservices easier. Working with data is at the core of software development. This data can be in different forms: Relational / SQL Database NoSQL Database Graph Databases (like Neo4j) LDAP records Distributed cache technologies (Redis) Other technologies and variations of the above How great would it be to have a single technology that you could rely on when dealing with any of the above? Well, it is your lucky day- Spring Data can help you with all these and more! ...

May 5, 2018 · 6 min · Bartosz Jedrzejewski
Quick setup for Spring Cloud Data Flow with Docker Compose

Quick setup for Spring Cloud Data Flow with Docker Compose

Spring Cloud Data Flow requires quite a few dependencies in order to run it. In this blog post, I will show you Docker Compose tool and how it can be used to make that setup easy. I have written an introduction to Spring Cloud Data Flow where in order to run the Data Flow server, you need to have 3 other Docker containers running. This is not that bad, but imagine if you had to have more dependencies? Or if you want to have that process easily replicable? Sharing that setup with other developers on the team? You can see that it would be good to have a better way of doing this… ...

May 2, 2018 · 3 min · Bartosz Jedrzejewski
Spring’s WebFlux / Reactor Parallelism and Backpressure

Spring’s WebFlux / Reactor Parallelism and Backpressure

Spring Boot 2.0 (and Spring 5) introduced WebFlux as a way to build reactive Microservices. WebFlux is built using Reactor, which introduces completely new ideas to Spring Boot parallelism. Backpressure, Schedulers, and Parallel Flux are a few concepts that we will look at closer in order to understand how to make the most of our reactive services. I have recently written articles on Getting Started with WebFlux and Concurrency in Spring Boot . One thing that I did not explore enough in these articles were the concurrency implications of building a WebFlux based reactive microservice. ...

April 28, 2018 · 7 min · Bartosz Jedrzejewski
Java WebSockets made simple with Javalin

Java WebSockets made simple with Javalin

WebSockets is a technology that enables establishing an interactive connection between the front-end and the service. Being an advanced web technology, it may appear intimidating. In this blog post, I will show you how to easily build a WebSockets enabled service with Java and Javalin. A quick intro to WebSockets WebSockets are a relatively new (2011), but a well-supported communication protocol. At the time of writing every major browser supports them. ...

April 26, 2018 · 5 min · Bartosz Jedrzejewski
How to stay up to date with Java and Tech? Use Twitter!

How to stay up to date with Java and Tech? Use Twitter!

Java, Microservices, other JVM languages… Programming, best practices, architecture… Libraries, frameworks, methodologies… I could go on for a while here. Being a passionate and up to date Software Developer is a challenge. How do you stay up to date with all this? I will let you on a well-known secret- use Twitter! Read on to find out what can Twitter help you with and how I use it to stay up to date. ...

April 22, 2018 · 7 min · Bartosz Jedrzejewski
Microservices - the Architecture of Choices

Microservices - the Architecture of Choices

One thing that differentiates microservices architecture from more traditional, monolithic development styles is the number of choices that have to be made. Which frameworks (if any) are you going to use? How to deal with configuration, orchestration or choreography etc. It may feel overwhelming. In this article, I will give you some advice on how to approach this Architecture of Choices with confidence and success. I enjoy having multiple choices and making decisions about the architecture. For some people and projects, this is a scary thing. It does not have to be. With the advice presented here, you can take back control and feel positive about the choices that you get to make. ...

April 18, 2018 · 5 min · Bartosz Jedrzejewski
WebFlux and servicing client requests - how does it work?

WebFlux and servicing client requests - how does it work?

I have previously written about Getting Reactive with Spring Boot 2.0 and Reactor , where I have given an introduction to reactive programming in Spring Boot. In this article, I will further explore WebFlux and the ways it impacts servicing client requests- what happens when you return a Flux<>? Simple Flux When you write a Controller that returns a list of numbers from your function, you get a list of numbers when you call it. How does it work when you return a Flux like that?: ...

April 14, 2018 · 5 min · Bartosz Jedrzejewski