Das Builder Pattern [Teil 2]

Im ersten Teil dieser Artikelserie wurden das Builder Pattern selbst und ein paar typische Anwendungsfälle beschrieben. Nun stelle ich hier einige Varianten für die Implementierung eines Builders und seiner einzelnen Funktionsaspekte vor. Manche davon wurden bereits kurz angesprochen und sollen jetzt genauer erläutert werden. Es wird jeweils mit einem kleinen Beispiel dargestellt, wie der Builder verwendet wird und welche Implementierung das ermöglicht. Weiterlesen

Sport bei inovex

Laufen, Radfahren, Schwimmen, CrossFit, Kickboxen, … die Liste der Sportarten, denen inovexler*innen in ihrer Freizeit nachgehen, ist lang. In diesem Artikel möchten wir euch einen Einblick geben, wie vielfältig die Interessen der Kolleg*innen sind, was sie motiviert und wie sich das auf den Arbeitsalltag auswirkt. Weiterlesen

Das Builder Pattern [Teil 1]

Vor einer Weile hatte ich die Gelegenheit festzustellen, wie hilfreich das Builder Pattern dabei ist, gleich mehrere Aspekte des Quelltextes umfangreicher (Java-) Systeme qualitativ zu verbessern. Daher möchte ich es in einer kleinen Serie von Artikeln etwas näher beleuchten. In diesem ersten Teil stelle ich das Builder Pattern vor und gehe auf ein paar typische Anwendungsfälle ein. Teil zwei zeigt dann einige Varianten in der Umsetzung und deren Rahmenbedingungen behandeln. Weiterlesen

Catch the inovex Tram [Gewinnspiel]

Juhu, es ist soweit: Seit wenigen Tagen fährt die inovex-Tram durch Karlsruhe (Linie 1 bis 6) – und wird dies auch noch ein ganzes Jahr lang tun. Grund genug, eine neue Verlosung zu starten, bei der ihr jeden Monat ein digitales Gadget gewinnen könnt. Lest weiter und erfahrt, wie das Spiel funktioniert und welcher Preis in der dritten Runde winkt. Weiterlesen

HBase and Phoenix on Azure: adventures in abstraction

One of my favourite essays by Joel Spolsky (he of Stack Overflow fame) is “The law of leaky abstractions”. In it he describes how the prevalence of layers of abstraction – be it coding languages or libraries or frameworks – have helped us accelerate our productivity. We don’t have to talk directly to a database engine because we can let our SQL do that for us; we don’t have to implement map reduce jobs in java anymore because we can use Hive; we don’t have to… well, you get the idea. Weiterlesen

Cloud Wars: Computation [Teil 3]

Um aus gesammelten Daten nützliche Informationen und einen Mehrwert zu gewinnen, ist in der Regel eine Aufbereitung notwendig. Die Methoden zur Verarbeitung lassen sich in Realtime und Batch Processing unterteilen. Erstere beziehen sich nur auf einen sehr aktuellen Ausschnitt der Daten und wurden bereits im Teil Collection and Storage bei den Streaming-Diensten vorgestellt. Die Batch-Verarbeitung bezieht meist einen größeren Datenausschnitt mit ein, also auch historische Daten, um neue Erkenntnisse oder Analysemodelle zu erhalten. Zur Verarbeitung großer Datenmengen stellen die Cloud Provider meist Tools aus dem Hadoop Big Data Ecosystem zur Verfügung. Weiterlesen

Storm in a Teacup

I wanted to call this blog article something like „Storm in a Nutshell“ but decided against it as

  1. there is probably a book by that name out there somewhere, and I wanted to avoid any unannounced visits in the dead of night from shady-looking types from the copyright police, and
  2. I really wanted to use a corny pun.

So think of a teacup as conceptually similar to a nutshell, but bigger.

On a recent project, we used Apache Storm as the real-time component of a complex, cloud-based environment used for fraud detection. In this article I would like to offer an introductory overview of storm, showing how to define a simple spout and bolt, as well as highlighting some of the issues that are important when building storm topologies. Weiterlesen