Focus

development

Article

Mit Git die Vergangenheit manipulieren

Nachdem wir uns in der letzten Kolumne mit Grundlagen von Git auf der Kommandozeile beschäftigt haben, wollen wir uns nun einige erweiterte Konzepte, vor allem rund um die nachträgliche Manipulation der Historie, anschauen.

Article

Es muss nicht immer grafisch und klickbar sein

In dieser Kolumne geht es um Git. Genauer gesagt die Benutzung von Git auf der Kommandozeile. Neben Grundeinstellungen und vielen Kommandos wird hier und da auch ein Trick vorgestellt, um die Benutzung zu erleichtern.

Article

Unbekannte Besonderheiten von Java

Was? Das geht mit Java?

Blog Post

Injecting polyfills for missing JavaScript functions into WKWebView

Hybrid apps often use the WKWebView to display the web app part. Unfortunately there is no console output to being able to debug it. This blog post provides a guide on how to add polyfills to WKWebView with native code interaction. As a result you will be able to catch the console output of a webpage loaded in a WKWebView and print it to the Xcode debug console.

Blog Post

Architektur-Reviews remote durchführen

Software Reviews lassen sich dank moderner Arbeitsmittel remote durchführen und schaffen dabei auch neue Möglichkeiten.

Blog Post

An Introduction to TypeScript

for Backend Development (and Java Developers)

Article

Cloud native Java-Anwendungen mit Quarkus

Anfang März wurde meine Timeline auf Twitter mit Tweets über das neue Java-Framework Quarkus überrollt. Bei soviel erzeugter Aufmerksamkeit sollten wir uns doch einmal genauer ansehen, was daran so besonders ist und warum wir Quarkus einsetzen sollten.

Article

Gute UX entsteht im Team

“Wir machen die UX Designs und dann kann das entwickelt werden” -- solche und ähnliche Sätze hat sicherlich fast jeder von uns schon mal gehört oder sogar selber gesagt. In interdisziplinären Projektteams, in denen das Wort “User Experience” fällt, fühlen sich meist eine oder mehrere Personen für dieses Thema ausschließlich verantwortlich. Der Rest des Teams setzt um. Bedeutet User Experience aber nicht, eine ganzheitliche Lösung für den Benutzenden, den Menschen zu schaffen? Warum fühlen wir uns also nicht als gesamtes Team dafür verantwortlich?

Blog Post

How to add Swift functions as polyfills in JavaScriptCore

Article

Vielfältiges Git!

Normalfall im Entwicklungsalltag ist das git-Repository, das _ein_ Remote hat, _ein_ Arbeitsverzeichnis und _einen_ Baum von "Branches" (mit gemeinsamen Stamm `master`). In den meisten Fällen genügt das auch. Aber die Software selbst kann mehr: Sie hat keine Probleme damit, vom selben lokalen Repository aus mehrere entfernte Repository zu bespielen, mehrere Arbeitsverzeichnisse parallel zu verwalten oder intern einen Wald von nebeneinander stehenden Versionsbäumen. Diese Mehrfachheit ist gelegentlich nützlich. Der Artikel zeigt einige entsprechende Situationen auf und bequeme Wege, mit ihnen umzugehen.

Article

Die erste Java-Version mit Long-Term-Support seit Java 8

Mit Java 11 ist im September 2018 das erste Release, nach Java 8, mit Long-Term-Support erschienen. Neben den neuen Features und Änderungen geht es in diesem Artikel somit auch um das neue Support-Modell von Java. Und auch ein Blick in die nähere Zukunft von Java soll nicht fehlen.

Blog Post

Serverless - The Vendor Is Not Your Enemy

Serverless Entwicklung mit bekannten Pattern

Article

Designer sind vom Mars, Entwickler von der Venus

Digitale Produkte werden von Designern und Entwicklern sowie Architekten und Projektleitern Hand in Hand erarbeitet. Alle tragen gleichermaßen die Verantwortung für das Endergebnis. Und doch, oder deshalb, stellt die Zusammenarbeit oft eine Herausforderung dar. Über Farben lässt sich streiten, über Frameworks auch, im besten Fall agil und aufs Pixel genau. Ein empathischer Umgang miteinander erleichtert sicherlich den Arbeitsalltag, aber grundlegende Kenntnisse, die über den Tellerrand der eigenen Disziplin hinausgehen, können die Qualität eines Produkts direkt beeinflussen.

Article

Java-Bibliotheken für den Einsatz in Tests

In den meisten Projekten entfällt ein nicht gerade kleiner Anteil des Codes auf Tests. Für diesen Testcode sollten dieselben Regeln wie für Produktivcode gelten. Neben dem Achten auf Verständlichkeit und Wartbarkeit gehört auch das Erschaffen von Abstraktionen und das Vermeiden des Not-invented-here-Syndroms durch den Einsatz von passenden Bibliotheken dazu. Dieser Artikel stellt sechs Bibliotheken vor, die sich im Einsatz als praktisch und hilfreich erwiesen haben.

Blog Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

Blog Post

Multiple Worktrees aus einem lokalen git-Repo.

Ein lokales Git-Repository auf der eigenen Festplatte kann bequem mehrere Worktrees parallel bedienen. Dieses praktische Git-Feature ist relativ unbekannt. Hier stellen wir es vor.

Article

Einsatz von Containern zum Testen

Container setzen sich beim Betrieb von Anwendungen immer mehr durch. Doch auch abseits davon helfen diese bei der Entwicklung und dem Testen von Anwendungen. Dieser Artikel zeigt, wie mithilfe der Java Bibliothek Testcontainers Container innerhalb von JUnit Tests verwendet werden können.

Link

Podcast-Folge mit Joy Clark zum Thema Clojure

Article

Java 10 – Evolution statt Revolution

Gerade erst ist Java 9 erschienen, da steht auch schon das nächste Release, Java 10, an. Dieser Artikel betrachtet die Neuerungen von Java 10 und wagt einen kurzen Blick in die Zukunft.

Blog Post

Proof of Existence via HTTPS

Übliche “Proof of existence” - Konzepte nutzen die Blockchain von Kryptowährungen. Das geht auch einfacher und billiger.

Blog Post

Carbon dioxide monitoring with Rust, InfluxDB and Grafana

Article

Health-Checks in Java-Anwendungen

Health-Checks sind für den Betrieb von Anwendungen heute, insbesondere wenn sie als Container in einem Cluster deployt werden, unerlässlich. Dieser Artikel zeigt, wieso Health-Checks so wichtig sind, welche Details beachtet werden sollten und wie Health-Checks in Java mit drei gängigen Bibliotheken umgesetzt werden können.

Blog Post

Logging mit Docker und Elasticsearch

Wenn eine Anwendung als Microservices oder Self-contained Systems in Docker-Containern läuft, stellt sich die Frage, wie auf die Log-Einträge der Anwendung zugegriffen wird. Die Antwort lautet in der Regel: “Elasticsearch”. Aber wie kommen die Logs in Elasticsearch?

Blog Post

Tags für Docker Images ohne Registry

Article

Jepsen – verteilte Systeme testen

An verteilten Systemen kommt heute kein Entwickler mehr vorbei. Selbst wenn man keines baut, setzt man häufig Komponenten ein, die ein verteiltes System sind. Hierzu gehören vor allem viele Vertreter von neueren Datenbanken. Dieser Artikel zeigt, wie man diese mit Jepsen testen kann.

Link

Conway’s Law & die ewige Suche nach der „richtigen“ Architektur

Article

Command Line Interfaces in Java

Auf Kommando

Link

Java 9 Release: „Für mich sind die Erweiterungen der bestehenden APIs die wichtigsten Features“

Blog Post

Elm in the wild: A Sandwich Delivery Game

New languages often look shiny and cool in their playground examples. But bringing them out into the wild and having to code more than just the examples in the tutorials, often reveals the true value of these new languages. So, in order to evaluate the shininess of Elm, a language compiled to JavaScript and used for building web front ends, we decided to use it for a scoped project: We programmed the Sandwich Delivery Game for the “Smart City” exhibition in Basel, Switzerland.

Article

Logging und Metriken in verteilten Systemen

Den Überblick behalten

Article

Tooling für JavaScript-Frontends

Nahezu jede Webanwendung besitzt einen Anteil an JavaScript im Frontend. Im Vergleich zu früher haben sich jedoch viele Dinge geändert. So sind heute zahlreiche Tools üblich, die den Entwickler unterstützen. Dieser Artikel gibt einen Überblick über aktuell genutzte Entwicklungswerkzeuge für die Entwicklung von JavaScript-Frontends.

Link

Continuous Delivery im Expertencheck, Teil 2

Link

Continuous Delivery im Expertencheck

Article

Docker Compose – Komplette Systeme mit Docker managen

Der Einstieg in Docker ist einfach. Schnell hat man gelernt, mit Dockerfiles Images zu erzeugen und die ersten Container laufen bereits. Dann wird es wirklich spannend. Wie manage ich mehrere Container, die zusammen eine ganze Umgebung bilden? Dieser Artikel liefert Ihnen die Antwort auf diese Frage.

Blog Post

The Power of the HTML Form

The HTML form is a powerful tool for telling a server what you want to do. But does everybody know how it works? With the multifarious JavaScript frameworks currently available today, software developers in the industry today often do not know how to create a web application without JavaScript. Is there an alternative? The web has been around for ages. What did people do before JavaScript?

Blog Post

Serverless

Mehr als ein Hype?

Blog Post

Implementierung einer einfachen Zustandsmaschine (state machine) in Java

Eine simple Zustandsmaschine (state machine) in Java

Article

Lokale Datenanalyse mit Data Frames

Der Wunsch, aus Geschäftsdaten Erkenntnisse gewinnen zu wollen, ist in der Breite der Unternehmen angekommen. Häufig werden dabei technologische Aspekte wie Machine-Learning-Algorithmen und Cluster-Lösungen als Schlüssel betrachtet, um viele Fragen quasi automatisch zu beantworten. Doch muss es für einen Einstieg in dieses Thema immer direkt ein Big-Data-Framework oder ein Cluster für Machine Learning sein? Dieser Artikel zeigt Ihnen, wie Sie ganz einfach lokal auf Ihrem Rechner die ersten Schritte im Data-Science-Umfeld gehen können und dabei einen Überblick über die Vorgehensweise erhalten.

Link

The Empathic Programmer

Article

Vault

Eigentlich ist man sich einig, dass durch immer größere und komplexere Netze und Systemlandschaften das Thema “Sicherheit” nicht einfach durch die eine grosse Perimeter-Firewall erledigt ist. Trotzdem fehlt es häufig an Infrastruktur, die dabei unterstützt zum Beispiel mit Zugangsdaten automatisiert und sicher umzugehen. Vault unterstützt hier als “a tool for managing secrets” dieses Problem anzugehen.

Article

Wo bist du?

HashiCorp hat mit Consul eine inzwischen fest etablierte Service-Discovery-Lösung geschaffen. Ein Konsul ist ein entsandter Beamter, der in einem fremden Staat die Interessen der eigenen Bevölkerung wahrt und den Handel fördert. Betrachtet man eine Microservice-Landschaft als fremdes Land und die Einwohner als einzelne Services, die sich austauschen, kann man mit etwas Wohlwollen die Namensgebung nachvollziehen. Einen Überblick über Einsatzzweck, Features und Aufbau bietet dieser Artikel.

Article

Horden von Zombies

Wenn es um die Wurst geht

Article

Features in Java 9

Passend zum Schwerpunktthema "Java – die Neunte" dreht sich auch diese Kolumne um Neuigkeiten, die uns mit Java 9 zur Verfügung gestellt werden. Da sich den großen neuen Themen wie Jigsaw, JShell und HTTP/2 [in diesem Heft](http://www.sigs-datacom.de/fachzeitschriften/javaspektrum/archiv/artikelansicht/ausgabe-titel/Java-die-Neunte.html) eigene Artikel widmen, stelle ich Ihnen ein paar der vielen weiteren, jedoch deutlich kleineren Neuerungen vor. Freuen Sie sich also auf ein buntes Sammelsurium.

Article

Zwei Jahre nach dem Tod der Java Application Server

Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

Article

Consumer-Driven Contracts – Testen von Schnittstellen innerhalb einer Microservices-Architektur

Pacta sunt servanda

Link

Continuous Architecture Blog: Was ist ein Festpreisprojekt wert?

Article

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.

Link

When Option is not good enough

Link

Codepancake Spotlight 51: Introducing senior consultant Silvia

Blog Post

Horizontal automation – a waste of time.

Automation of server administration tasks is a waste of time.

Blog Post

Web Scraping

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.

Podcast

Redis in der Praxis

Überblick und praktischer Einsatz des schnellen Datenstruktur-Servers

Blog Post

iOS: Writing to Core Data in your Today extension

Link

JAX TV: Technologie-Trends jenseits von Java

Blog Post

Auto Layout in iOS: How to avoid the common mistake

Creating and adding new views using Auto Layout often results in missing views when running the app because the flag that determines whether a view’s autoresizing mask is translated into Auto Layout constraints has not been turned off for each new view. This blog post provides a solution on how to never run into this situation again.

News

W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

Blog Post

Play 2.4 with Guice and MyBatis

The Play Framework is getting more popular and Version 2.4 finally includes Dependency Injection as the default mechanism to access central resources instead of singletons. This blog post explores what is necessary to combine MyBatis with Play using its default DI Framework: Guice. Batteries (code sample) included!

News

Informatica Feminale 2015 in Bremen und Furtwangen

Blog Post

Reliable Web Clients

Article

Bessere Web-Apps mit HTML5-APIs

Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

Podcast

Erlang/OTP

Eine Programmiersprache für non-stop laufende Systeme

Blog Post

Declarative HTTP API Testing with gabbi

Article

Batch-Computing in Java

Auch heute noch gibt es Bedarf für die wohl älteste Form der elektronischen Datenverarbeitung. Dass Batch immer noch relevant ist, zeigt der junge JSR 352 für Batch-Verarbeitung in Java EE 7. In diesem Beitrag diskutieren wir verschiedene Fragestellungen, die im Zusammenhang mit der Modernisierung bestehender und Umsetzung neuer Batch-Prozesse auftreten, und gehen auf Strategien und Technologieauswahl ein, die bei der Implementierung von Batch in der JVM auftreten können.

Link

Put your writes where your master is

News

Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

Blog Post

A day full of Clojure - organizing the first German ClojureBridge workshop

During the last years a lot of initiatives focusing on increasing diversity in IT and getting kids into IT have emerged. Last weekend the first German ClojureBridge workshop took place in Solingen. Another small but important step towards a diverse IT world.

Blog Post

Per request debugging with Log4j 2 filters

Customers quite regularly call on me to support them when an application is not behaving as expected. On a development machine there are a lot of ways and utilities to analyse the situation. But troubleshooting the erroneous application behaviour in production environments quite often limits your tool belt to a minimum.

Podcast

Twelve-Factor App: Web-Applikationen auf die neue Art

Ein Ansatz für skalierbare, portable und leicht deploybare Web-Applikationen in der Cloud

Article

Rails gegen Grails

Das Angebot an Webframeworks ist üppig, allerdings durch natürliche Selektion und veränderte Ansprüche kleiner als noch vor ein paar Jahren. Die Optionen verringern sich, wenn eine dynamisch typisierte JVM-Sprache zum Einsatz kommen soll.

Blog Post

Using Vector Assets on iOS

Vector graphics provide numerous advantages, especially when developing for mobile devices in a constantly expanding array of different screen sizes and pixel ratios.

Blog Post

Functional Validation in Scala

Blog Post

Docker images for developers

Docker seems to be all the rage lately. There are docker talks at every conference, hosting Docker containers has become a hosting option with most if not all PaaS providers, and there is hardly a technology left that is not supposed to run better and more flexibly if you wrap it in a Docker container. Well, except maybe for enterprise-level DBMSs, but you can’t have them all. This post provides an example how Docker can be used at the start of the software lifecycle, during development.

Blog Post

Play Anwendungen mit Docker & AWS Beanstalk in die Cloud bringen

Für skalierbare Webanwendungen bietet sich die Kombination aus zustandslosen, requestbasierten Webframeworks und einem automatisch skalierendem Cloud Deployment an. In diesem Post betrachten wir konkret Play in Kombination mit Amazons Elastic Beanstalk und Docker.

Blog Post

Frontend Dependency-Management in Rails

Blog Post

Frontend Dependency-Management mit Bower

Paket Management hat sich in so ziemlich jedem populären Ökosystem der Softwareentwicklung in irgendeiner Form breit gemacht. Und das nicht zu Unrecht: In den seltensten Fällen wird in einem Software-Projekt bei null angefangen. Ob Frameworks oder kleinere Bibliotheken, ein Software-Projekt besteht in der Regel aus vielen einzelnen Bausteinen, die zu einem größeren Ganzen zusammen gesetzt werden. Die Abhängigkeiten von Bausteinen zu Anderen lassen sich bis zu einem bestimmten Grad zwar manuell verwalten, mit zunehmender Größe eines Projekts ist dies auf lange Sicht aber weder praktikabel noch wartbar. Genau an dieser Stelle helfen Dependency-Management Tools dabei Bausteine neu hinzuzufügen, bestehende zu aktualisieren oder deren Abhängigkeiten aufzulösen.

Blog Post

Eureka Provisionierung mit AWS CloudFormation

In einer Microservice-Architektur muss dafür gesorgt werden, dass die einzelnen Services miteinander kommunizieren können. Eine Möglichkeit hierfür ist der Einsatz einer Service Registry. In diesem Post betrachten wir wie man mit Hilfe von AWS CloudFormation Eureka als ausfallsichere Service Registry in der Amazon Cloud provisioniert.

Link

Interview zum Thema Microservices mit Clojure

Article

Logging konsolidieren und Performance gewinnen

Apache Log4j 2.0 ist eine Neuimplementierung von Log4j zeichnet sich vor allem durch einen höheren Durchsatz -- dank asynchronem I/O -- aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Da drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4J 1, commons-logging oder Ähnliches verwenden.

News

microxchg 2015 - Die Microservices Konferenz in Berlin mit innoQ-Beteiligung

Article

Von Markdown zu Published

Wie mit Markdown und LaTeX ein Buch entsteht

Article

Ruby on Rails wird zehn Jahre alt

Das Webframework Ruby on Rails feiert sein zehnjähriges Bestehen. Dazu erscheint nun mit Rails 4.2 das zweite Minor-Release in diesem Jahr. Es bringt iterative Verbesserungen und einige neue Features mit.

Podcast

Ruby on Rails

Das Full-Stack-Web-Framework

Article

Grenzenlose Freiheit?

Polyglotte Programmierung mit Clojure

Article

Attribut-basiertes Testen mit Scala

Das Testen eines Software-Systems ist eine alltägliche Aufgabe mit dem Ziel, dessen Konformität bezüglich einer Spezifikation nachzuweisen. Die grüne Ampel der Testumgebung ist in vielen Projekten das Fieberthermometer, welches die Normaltemperatur des Systems verkündet oder zu Warnungen bei Überschreitung führt. Doch können wir diesem Messgerät trauen? Das Attribut-basiertes Testen ist ein Werkzeug aus der Welt der funktionalen Entwicklung, welches uns helfen kann die Zuversicht in unsere Systeme zu erhöhen.

Article

Ceylon auf der JVM und node.js

Ceylon ist da! Eine neue Programmiersprache die sowohl im Java- als auch im JavaScript-Ökosystem zu hause ist. Ceylon möchte mit Klarheit, Modularisierung und einem ausgefeilten Metamodell punkten. Anvisiert ist der Einsatz in großen Softwareprojekten. In diesem Artikel werfen wir einen Blick in die Konzepte und schauen uns die Sprache an, welche vor kurzem das Licht der Welt erblickt hat.

Article

Die Renaissance von Erlang

99,9999999% Verfügbarkeit über 20 Jahre

Podcast

Vom Dasein eines Apache Software Foundation-Mitglieds

Software für die ganze Welt

Article

Domain-Driven Design in Clojure

In diesem Artikel setzen wir die Prinzipien des Domain-driven Designs mit Clojure um. Wir stellen die Domäne Rating als Beispiel vor und demonstrieren strategisches sowie taktisches DDD. Wir zeigen, wie sich das Domänenmodell in Clojure implementieren lässt.

Podcast

Sicherheit von IT-Systemen

Allgemeine Aspekte der IT-Sicherheit und der Web-Sicherheit im Speziellen

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Article

Endlich viel erben?

Im Fahrwasser der Lambda-Funktionen werden in Java 8 Default-Methoden eingeführt, um Interfaces aus dem JDK abwärtskompatibel um neue Methoden zu erweitern. Hier schließen wir an den Artikel von Christian Robert (Default-Methoden in Java 8, JavaSPEKTRUM 03/2013) an. Wir klären bis zu welchem Grad Mehrfacherbung in Java einzieht und wie wir die Möglichkeiten und das Risiko für bestehende Systeme einschätzen.

Link

Developing Modular JavaScript Components

Podcast

Play!

Das Full Stack Web-Framework auf der JVM

Podcast

Modern Batch

Zeitgemäße Architekturen zur Massendatenverarbeitung

Podcast

Scala

Was die objektorientierte, funktionale JVM-Sprache in der Praxis bringt

Podcast

Clojure

Ein pragmatisches Lisp auf der JVM

Article

Micro-Cloud mit Cloud Foundry

In dieser Ausgabe stellen wir mit Cloud Foundry einen Plattformdienst vor, mit dem Java-Anwendungen in der Cloud betrieben werden können. Die Plattform stellt Java-Anwendungen eine virtuelle Umgebung mit Ressourcen zur Verfügung. Wir haben Cloud Foundry für diese Kolumne gewählt, weil es die Cloud-Plattform auf den eigenen Rechner holt. Dadurch wird die Cloud- Entwicklung netzunabhängig.

Article

Rubies are forever

Ruby 2.0 als Geschenk zum 20. Geburtstag

Article

Apache Buildr

Die Automatisierung der Buildprozesse ist eine feine und wichtige Sache. In der Regel freut man sich, wenn ein Projekt Apache Maven verwendet und man dank der Konvention das Projekt sofort bauen kann. Doch mit der Zeit stellt sich in der Regel Ernüchterung ein. Der Build schlägt plötzlich fehl, weil ein Artefakt nicht mehr in den bekannten Repositories gefunden werden kann, die Ergebnisse sind nicht exakt reproduzierbar oder für eine kleine Erweiterung des Prozesses müssen erst aufwendig Plug-ins entwickelt und verteilt werden. Muss das so sein? Apache Buildr hat sich zu einer mächtigen Alternative entwickelt, in dem es den deklarativen Ansatz von Maven mit dem imperativen einer Skriptsprache kombiniert.

Article

Java-Programme mit Clojure würzen

Für jeden, der einen Lisp-Dialekt auf der JVM verwenden will, ist Clojure eine naheliegende Wahl. Es verbindet die Ausdruckskraft von Lisp mit der Vielzahl von bestehenden Java-Bibliotheken. Was zur Integration von Clojure mit Java gehört und wie sich die Mächtigkeit von Clojure auswirkt, wollen wir am Beispiel der Clojure-Bibliothek Incanter betrachten.

Article

Webanwendungen mit dem Play!-Framework

Wie man in Java Webanwendungen bauen sollte

Article

Domain Specific Languages

In den letzten Jahren hat es sich eingebürgert, bei domänenspezifischen Sprachen zwei Varianten zu unterscheiden: interne und externe. Dabei gewinnen interne DSLs insbesondere durch die steigende Popularität dynamischer Sprachen zunehmend an Bedeutung.

Article

„Infrastructure as Code“ mit Chef

Im Rahmen der DevOps-Bewegung setzt sich die Erkenntnis durch, dass das Konfigurieren von Servern ähnlich wie das Entwickeln von Software behandelt werden sollte. Testbare, wiederholt ausführbare Programme ersetzen die manuelle Konfiguration. Dieser Artikel zeigt am Beispiel Chef, wie dieses Paradigma umgesetzt wird.

Article

Clojure — in der Praxis?

Programmiersprachen und ihre Rolle für die Anwendungsentwicklung

Article

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

NoSQL ist derzeit in aller Munde, obwohl manche Konzepte und Technologien schon seit Jahrzehnten bestehen. Der Begriff umspannt inzwischen derart viele Datenbank-Kategorien und -Produkte, dass es oft zu Verwirrungen und falschen Annahmen über den geeigneten Einsatz kommt. Dieser Artikel betrachtet anhand konkreter Beispielszenarien die Kriterien, die bei der Entscheidung für ein klassisches relationales Datenbanksystem oder eine der NoSQL-Varianten eine Rolle spielen.

Link

Fantastische Formulare - Formulare endlich einfach

Link

Die Java Persistence API