my blog. for you.

Reden wir über Digitales.

Ich bin selbständiger IT Berater und Unternehmer in der Internet und Software Branche. Ich beschäftige mich mit Design, Enterprise Applikationen, Web Apps und SaaS Produkten. Ich entwerfe und entwickle Business Lösungen und Anwendungen. Ich helfe Unternehmen in Sachen Software Qualität und Wissenstransfer, z.B. mit Angular und Spring Boot.

Why Do We Still Write CRUD Applications?

Leider ist der Eintrag nur auf English verfügbar.Probably every software developer - since the 1990s at least - has been there once, asking him- or herself: "Why do I have to write tedious, repetitive CRUD code time and time again?" Being good, virtuous programmers some of those developers did what software development in the end mostly is about: They tried to automate a cumbersome, repetitive process that like any repetitive process should be performed by machines rather than humans. Some have succeeded ... Read more

Using Netflix Zuul As a Reverse Proxy / API Gateway

Leider ist der Eintrag nur auf English verfügbar.Zuul, which like the service discovery tool Eureka and the fault tolerance library Hystrix is part of Netflix' cloud orchestration stack, is a reverse proxy / API gateway. A reverse proxy conceptually works like this: A reverse proxy allows you to route requests to a single domain to multiple backing services behind that proxy. This can be conducive in situations where you want to break up your application into several loosely-coupled components that externally, that is ... Read more

Should Web Apps Behave More Like UNIX Programs?

Leider ist der Eintrag nur auf English verfügbar.Recently, through various discussions about the nature of the web and web applications I came up with an intriguing (to me at least ...) idea: Web apps should behave like UNIX command-line tools. Please hear me out and let me elaborate. Probably the most widespread pattern in modern web app development is that of single-page applications (SPAs). Though that particular term isn't used as abundantly anymore as it used to be a few years ago the ... Read more

What Causes Over-engineering and How Can You Prevent It?

Leider ist der Eintrag nur auf English verfügbar.Last year software engineer Fagner Brack wrote an interesting and thoughtful article on "How To Accept Over-Engineering For What It Really Is" The article is very much worth the read in its entirety. There are a few key takeaways though I derived from it personally: I like the definition of over-engineering (quoted from Jeff Sternal) as "Code that solves problems you don’t have.". Fagner's conclusion is that what constitutes over-engineering depends on both context and the people ... Read more

Design Patterns: Event Sourcing and Command and Query Responsibility Segregation (CQRS)

Leider ist der Eintrag nur auf English verfügbar.Event Sourcing and Command and Query Responsibility Segregation (CQRS) are system design patterns that allow you to deal with event streams in a consistent manner. Common line-of-business applications typically are built using the MVC design pattern with the database tables representing the model tier in MVC as the single source of truth for the application state. Event-based systems are different - and inherently more complex - in that their single source of truth is the stream ... Read more

Interactive Flowcharts with code2flow

Leider ist der Eintrag nur auf English verfügbar.Visualisation often helps immensely when trying to understand complex systems and interactions. Visualising these systems and their behaviour can be a daunting task though: Covering each and every path a workflow or process might take can be quite arduous. In many cases it's not even possible to comprehensively describe a system that has not yet been implemented. Edge cases frequently only tend to surface once a software has been tried out under real conditions. Software in ... Read more

Matt Ranney @ GOTO 2016: What I Wish I Had Known Before Scaling Uber to 1000 Services

Leider ist der Eintrag nur auf English verfügbar.At the GOTO Chicago 2016 enterprise software conference Matt Ranney, chief systems architect at Uber and co-founder of Voxer gave a presentation on what they learned from adopting microservices on a massive scale at Uber: "To Keep up with Uber's growth, we've embraced microservices in a big way. This has led to an explosion of new services, crossing over 1,000 production services in early March 2016. Along the way we've learned a lot [ ... ... Read more

JSCity – Code Complexity Visualization For JavaScript Codebases

Leider ist der Eintrag nur auf English verfügbar.JSCity is a tool for visualising JavaScript source code complexity that uses the CodeCity metaphor. This approach makes use of the building blocks of modern cities for visualising the building blocks of software. Since in JavaScript functional programming is the predominant programming paradigm JSCity represents code artefacts like this: folders are districts files are sub-districts functions are buildings inner functions are represented as buildings on the top of their nested function / building This for example is the visualisation of ... Read more

Anti-patterns: Rewriting Software

Leider ist der Eintrag nur auf English verfügbar.It's one of those fallacious patterns in software development that though well-known to cause trouble without creating any significant benefit unfortunately ever seems to truly go away: The Software Rewrite. In general, software developers tend to not particularly like working on old - or legacy - code, especially if it's not been written by themselves or if they feel that due to aspects like time and budget constraints they didn't have the opportunity to get ... Read more

Internal, company-specific software frameworks are evil

Leider ist der Eintrag nur auf English verfügbar.OK, I'm exaggerating a little here, company-specific software frameworks aren't exactly evil as in the true definition of the word but who isn't fond of the occasional hyperbolic headline? What I'm trying get across is that most of the times, software frameworks developed within an organization specifically for solving that organization's business problems in a reusable, maintainable manner do more harm than good. Everybody who's been exposed to enterprise software development for longer than a very ... Read more
« Vorherige Seite