AboutThis is a technology blog by Matthias Friedrich, a software developer and architect from Karlsruhe, Germany. more ...
Tagsandroid backup best practices books build systems c/c++ computer science databases deployment distributed systems django docker documentation google hadoop java java python libraries linux machine learning maven meta music musicbrainz networking opinion oracle process productivity python quality quick tips rcs scalability scheme scripting security server shell standards testing tools ubuntu web xml
Category Archives: best practices
In the old days, many Java APIs were fairly low level and pretty generic. You often had to explicitly select a concrete implementation, provide lots of parameters, and generally needed to know how things worked. This has changed in recent years – modern … Continue reading
I have followed the HTTP/2 specification process closely and I like how the new protocol improves web performance and makes old workarounds obsolete. One drawback of deploying HTTP/2 is that most browser vendors only implement it on top of TLS. Since … Continue reading
With the advent of reactive programming and frameworks like Netflix’ Hystrix, classic stability patterns like Nygard’s Circuit Breaker Pattern have entered mainstream software development. The circuit breaker is used inside your clients to cut the connection to a collaborating system … Continue reading
One of my pet peeves in programming is that few people use guard clauses. A guard clause is an almost trivial concept that greatly improves readability. Inside a method, handle your special cases right away and return immediately.
In my projects, I’ve always been the one who took care of infrastructure, standardization and quality assurance from the development perspective. The funny thing is that I’m no admin and no QA guy, so most of it wasn’t even my … Continue reading
There are many ways to store session data in web applications. They all differ in scalability, failover capabilities, and complexity. I’ll give you a quick rundown on the major themes.
Development environments and their configuration can become quite complex. It’s not unusual that a complete workstation setup takes half a day or more and requires extensive help from other project members. Using virtual machines for the runtime environment can help … Continue reading