Finally another technology tutorial! This time I want to talk about creating a WebSocket Service with Spring Boot 2 (without the usage of STOMP). If you don’t know about STOMP, nevermind - we will create a solution working with plain WebSockets supported by all modern browsers. In order to verify our setup, we also will create a minimal Web Frontend. This Frontend will consume the events sent via our WebSocket implementation. The full code can be found on GitHub, in case you need a quick reference or just want to copy parts over. What will we implement? When I first... [Read More]
You Are Not Your Kubernetes ...
... you're not how much code you have in repositories, you're not the follower count of your GitHub Profile, you're not the size of your Hadoop Cluster, you're not your fucking Tensorflow.
Best Java Books in 2019
Introduction to Java Programming and Data Structures Head First Java Think Java Clean Code Pragmatic Programmer Effective Java Refactoring Java Concurrency in Practice Test Driven Head First Design Patterns Release It! Kotlin in Action Spring in Action Spring Boot in Action Cloud Native Java Spring Microservices in Action Learning Spring Boot 2.0 Personally, I am always on the hunt for good programming books. Books are an opinionated topic, therefore I am quite sure some people would disagree with this selection. Nonetheless let’s have a look at my opinionated selection of the best Java books in 2019. You might realize that... [Read More]
Random Number Generation with Java
Random Numbers are really important. Without them there would be no Internet how we know it! This article will explain in detail how generating Random Numbers in Java works. It will introduce different technics to create Random Numbers and also cover different scenarios with ready-to-use code. Let’s first start with the basics. Generating Random Numbers with Java: Java provides at least fours ways of properly creating random numbers. 1. Using Math.random Method The most basic way of generating Random Numbers in Java is to use the Math.random() method. It doesn’t take any parameter and simply returns a number which is... [Read More]
Jumping Ship for Career Progression.
Having a look at my LinkedIn Network, I realized there are a few ways of growing your Software Engineering Career. I am trying to keep my personal opinion out of the middle part and only get involved in the end of the article. Working for a Single Company There are plenty of people who only have worked for a single company. Maybe my network is a bit biased, since it contains a lot of people who not have finished their first 5 years. Most of them stayed in the same role or added/removed a prefix from their title (e.g. Senior,... [Read More]
You are not Google. You are not Netflix.
You are also not Spotify, Amazon, Apple, Microsoft, Facebook or one of several other big tech companies I could mention here. If I have excluded anybody reading this - I am sorry.Maybe you will still enjoy the read. For everyone else: This article is probably for you. To give you all some context: I am a Backend Engineer on a team that is developing an iOS/Android App which is live in around 40 countries. Currently, we are only responsible for the EMEA (Europe, the Middle East, and Africa) region. Why am I even writing this? I am trying to digest... [Read More]
Monolith vs Microservices
Over the years I read a lot of articles and stories about the differences between Microservices Architectures and Monolithic Architecture (Monoliths). Today I am about to tell you my own version. What is a Monolith i.e. a monolithic architecture? A monolithic application, let’s call it a Monolith, is an application delivered via a single deployment unit. Examples could be an application delivered as single WAR or a Node application with a single entrypoint. Example: Let’s make an example: A classic online shop. Our business boundaries are ORDERS, ITEMS, CUSTOMERS, SHIPPING and PAYMENT. Provided ways of interacting with the service are:... [Read More]
8 Lessons learned starting a Developer Blog
1. Find your purpose What is your reason to start a blog? Did you read on Reddit, Hackernews or another site that you need one as developer in order to be relevant? Are blogging developers getting paid better? Or do you want to showcase your latest work somwhere? Another thing you can do on a personal blog is to build an audience and get into selling courses or guides. Whatever it is - be aware of it and act accordingly. You want to build tutorials? Cool - write good ones and publish them. You want to build a portfolio of... [Read More]
10 Rules to live by as a Developer
1. It is about the people! Software needs to solve people’s problems. What really separates good from great developers is mostly their way of communicating with others and thinking in problems. 2. Make friends and be someone you would to have as a co-worker - Be positive! You are probably spending more time with your co-workers than with your loved ones. Make sure to make the best out of it, make friends at work and you will see that work is much more bearable. Also it is a lot more fun! Try to be the best version of yourself. Even... [Read More]
Spring Boot Integration Testing Done The Right Way
This article will be about writing proper Integration Tests with Spring Boot 2. In my opinion Integration Tests should be as similar as possible to the production environment. Due to this, an embedded H2 is not cutting it. I sat on this exact problem when bootstrapping our latest project at work. In the past, we just went with the embedded H2 and were quite happy. The only complaints we had: Sometimes we used a syntax which was working on H2 but not on our Production MariaDB instance. Mostly it was about creating indexes and tables within Flyway. Since our current... [Read More]