VPC with one public subnet and one private subnet

In this article I will show how to create the following setup: a VPC with two subnets: a private and a public one the public subnet will contain the Internet facing stuff, for example a web server the private subnet will contain the stuff that should not be accessible from Internet, for example, a database …

How are Java 9 sets created by the factory method Set.of randomized

Convenient factory methods for creating collections of objects is one of the nice feature that Java 9 brings. Here is how you would create a set: Running this code a couple of times will show how every single run will create a different output. The Java 9 sets created by the newly added factory methods …

Downloading an AWS Glacier archive, step by step

Glacier is the low-cost cloud storage solution offered by Amazon. Files uploaded to AWS Glacier are called archives and archives are organized in vaults. If you want to upload a file to AWS Glacier, first you need to create a vault and then you can upload files in that vault. Vaults have names which are pretty …

Scala Pattern Matching, from a Java developer perspective. Part 2.

This is the second part of a series of articles about pattern matching in Scala. In the first part we’ve covered literal pattern matching, matching against different data types and matching on case classes. We’ve decompiled (in Java) the byte code created by Scala just to have a better understanding of the things that happen …

Scala Pattern Matching, from a Java developer perspective. Part 1.

Pattern matching is one of the most used Scala feature. Try to open a random Scala file and there are great chances to find a couple of match blocks. From a Java developer perspective, pattern matching may look like a switch statement, but it is much, much more powerful than that. Syntactically, a Scala match …

The first piece of code I’ve ever written

I am pretty sure that the first computer I have ever touched was a Ice-Felix HC 91, a ZX Spectrum clone made in Romania. It was 1993 and my school was equipped with some computers, most of them being HC 91. The first couple of classes were about learning the keyboard which seemed rather complicated, …

Three lessons I’ve learned about code testing

Can you imagine nowadays a non trivial software system with no automate testing, with no unit tests, integration tests or GUI tests? Have you ever worked on such a system? For sure, I have. Hundreds of thousands of lines of code with ZERO test coverage, this was the system I worked on years ago. Adding …

Strategy Pattern, 5 examples from Java core

Strategy pattern is one of the well known behavioral patterns, yet people (at Java interviews in my city) find it difficult to name some example from Java SE although most of them know how to define the pattern and most are able to give some random examples. Strategy pattern is used all over the place in Java and I will …