BOB Konferenz am 24.2.2017 in Berlin

BOB 2017

Die Vorbereitungen für die BOB 2017 sind abgeschlossen: Am Freitag, 24.2.2017 findet die dritte Iteration in Berlin statt. Wieder gibt es jede Menge Vorträge und Tutorials über das Beste, was die Softwareentwicklung zu bieten hat. Das Programm folgt dem bewährten Format und besteht insgesamt aus vier Tracks: zwei Tracks mit insgesamt 14 Vorträgen und zwei Tracks mit acht Tutorials. Die Online-Registrierung läuft; bis zum 23.1. gibt es noch Frühbucherrabatt.

Weiterlesen...

Spezifikation von Clojure-Datentypen mit clojure.spec

Clojure ist eine dynamische Programmiersprache, was unter anderem bedeutet, dass auch die Datentypen erst dynamisch zur Laufzeit feststehen. Clojure kennt zwar sogenannte type hints, die sollen aber dem Compiler helfen, effizienteren Code zu generien und sind nicht dafür da, Typeigenschaften von Datenstrukturen zu erzwingen. Die clojure-spec-Bibliothek füllt diese Lücke: Damit ist es möglich, die Struktur der Daten als Programmcode zu spezifizieren und so die zur Laufzeit vorhandenen Daten zu validieren. Das führt zu weniger unerwartetem Verhalten während der Programmlaufzeit und im Fehlerfall zu besseren Fehlermeldungen. Zusätzlich ist sogar möglich, Daten aus der Spezifikation zu generieren, zum Beispiel für randomisiertes Testen.

Dieser Artikel gibt eine Einführung in clojure.spec.

Weiterlesen...

Eine Haskell-Bibliothek für große Hashes

Im heutigen Artikel möchten wir die Haskell-Bibliothek large-hashable vorstellen, die es ermöglicht, von beliebigen Haskell-Datentypen große Hashes z. B. mittels MD5 oder SHA512 zu berechnen. Wir haben diese Bibliothek im Rahmen unseres Produkts Checkpad MED entwickelt, um effizient feststellen zu können, ob sich das Ergebnis einer Berechnung möglicherweise geändert hat. In diesem Artikel zeigen wir zum einen wie man die Bibliothek benutzt, zum anderen beleuchten wir exemplarisch einen wichtigen Implementierungsaspekt, nämlich die Integration von C-Code in Haskell.

Weiterlesen...