Blog & Artikel

Blog-Post

ROCA vs. SPA

Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

Artikel

AWS Lambda

Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services für die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz für Ihre Anwendung lohnt.

Blog-Post

What’s in a Name: Bimodale IT

Was bedeutet „IT der zwei Geschwindigkeiten“?

Artikel

Web Components mit Polymer

Die vom W3C standardisierten Web Components erleichtern die komponentenbasierte Entwicklung von Benutzungsoberflächen für Webanwendungen. 2013 hat Google die Open-Source-Bibliothek Polymer initiiert, die Entwicklern beim Einsatz von Web Components Unterstützung an die Hand gibt. Mit der Vorstellung von Version 1.0 dieses Frameworks stellt sich die Frage, ob Polymer nun produktionsreif ist und in realen Projekte eingesetzt werden kann. Im ersten Teil der Serie stellen wir die Version 1.x vor und prüfen die Möglichkeit der Nutzung für Geschäftsanwendungen.

Artikel

Buildumgebung in Gefahr!

Wer für eine Anwendung Verantwortung trägt, kennt den Alptraum, dass ein Angreifer Schadfunktionalität hinein schmuggeln könnte. Um diesen Alptraum zu verhindern, härten wir Anwendungen gegenüber feindseliger Interaktion, schützen Produktionsumgebungen und schotten sie ab. Aber Angreifer können auch versuchen, „über Bande zu spielen” und in eine Anwendung einzubrechen, indem sie ihre Buildumgebung manipulieren.

Blog-Post

Error Handling in Go

Rob Pike Reinvented Monads

Blog-Post

Web Scraping mit PhantomJS-CEF

In Anlehnung an den Blogbeitrag von Martin Weck zu Beginn des Jahres, stellt Gastautor Andreas Knuth in diesem Artikel mit PhantomJS-CEF ein weiteres Tool vor, mit dem sich effizientes Web Scraping betreiben lässt.

Blog-Post

Solving the wrong problems

Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

Blog-Post

Eindrücke des Texteditors Atom

Artikel

Java-Web-Frameworks von innen?

Web-Frameworks für Java gibt es nun bereits seit fast 20 Jahren. Diese nehmen dem Anwendungsentwickler eine Menge Arbeit ab und sorgen dafür, dass dieser sich nicht auf Infrastruktur konzentrieren muss, sondern die Anwendungslogik im Vordergrund steht. Doch was genau tut so ein Web-Framework eigentlich? Dieser Artikel zeigt, was heutige Web-Frameworks leisten und wo diese sich dann doch in Nuancen unterscheiden.

Blog-Post

What’s in a Name: Transparency

The term transparent denotes something translucent, where light can shine through. It is, for example, used in context of economics (transparent markets), meaning markets where much is known by many, and nothing is hidden. Sometimes geeks tend to inverse this meaning, saying transparency where they mean opaqueness. This post illustrates that your favorite XY-framework by no means makes XY transparent for developers.

Blog-Post

Objektorientierung mit Go

Blog-Post

Die Sprache Go

Go ist eine kompilierbare Programmiersprache mit starker und statischer Typisierung. Mit den Adjektiven imperativ, objektorientiert und modular lässt sich Go gut beschreiben. Im ersten Blogpost zu diesem Thema werden wichtige Grundlagen vorgestellt.

Blog-Post

Transclusion in self-contained systems

Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems' content in the DOM of a web page.

Artikel

Microservices - Agilität durch Modularisierung

Blog-Post

Triple Booting a Mac

Installing a triple-boot environment on a Macbook Pro is not as straight-forward as one might think or read on the internet. This guide explains how to install Windows 10 and Linux (Ubuntu) alongside with OSX and share data via a common partition. As an add-on, I explain how to access the raw partitions to boot the foreign OS not only natively but also in a virtual machine.

Blog-Post

Transklusion in Self-Contained Systems

Frontend-Integration im Web ist ein riesiges Themengebiet. Dieser Post befasst sich mit dem Teilaspekt der Transklusion „fremder” Inhalte in den DOM einer anderen Seite.

Artikel

Ein Domänenmodell für das SmartHome

Auf dem Weg von DIY zu LOTCOI

Blog-Post

Konsumieren asynchroner HTTP-APIs mit Java 8

Es ist heutzutage nicht unüblich, für eine eigene Anwendung auf externe Services zurückzugreifen. Manchmal dauern diese Anfragen einige Sekunden, in denen die Anwendung auf das Ergebnis warten muss. Vorteilhafter wäre hier eine asynchrone Kommunikation mit dem Service, sodass die Anwendung parallel noch andere Dinge tun kann. Mit der Einführung von Completable Futures in Java 8 lässt sich eine elegante Lösung für diese Kommunikation mit asynchronen HTTP-APIs umsetzen. Statt Ewigkeiten auf die Fertigstellung langläufiger Anfragen warten zu müssen, kann über das Future zum gewünschten Zeitpunkt auf das Ergebnis zugegriffen werden, wenn es möglicherweise bereits fertig berechnet ist. Ein Problem stellt jedoch die Entscheidung darüber dar, wann das Future als komplett bewertet werden kann. In diesem Blogpost wird dieses Problem sowie ein Lösungsweg betrachtet und anhand eines Beispiels praxisnah beschrieben.

Blog-Post

Why RESTful communication between microservices can be perfectly fine

Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

Blog-Post

Horizontal automation – a waste of time.

Blog-Post

Web Scraping

This blog post provides examples how to implement web scraping using HtmlUnit, Selenium or jaunt and compares them.

Blog-Post

git pull gotchas

The ever-so-convenient git pull isn’t really all that convenient all that often. This piece explains why not, and what to do instead.

Blog-Post

Eclipse Smarthome, UI und so

Wie rendert man ein Zuhause?

Blog-Post

Kriterien zur Bewertung von ROCA Komponenten

Mal angenommen, jemand wollte ROCA machen. Wie müssten dann JavaScript-Komponenten aussehen, die zu diesem Zweck benutzbar wären?