Callbacks und Promises sind euch nicht elegant genug? Ihr wollt einfach nur in Reihe verschiedene Funktionen aufrufen, aber die an sich genialen Callbacks zwingen euch dazu mehr Code als nötig zu schreiben? Vor kurzem habe ich Promises als eine Lösung für die sequentielle Verarbeitung asynchronen Funktionen in Javascript (vor allem auch NodeJS) vorgestellt. Nun…

weiterlesen

Mit NodeJS haben nun nicht mehr nur Frotend-Entwickler mit dem  Callback-Klammer-Chaos tief-verschachtelter Funktionsaufrufe in Javascript zu kämpfen. Heute schauen wir uns Möglichkeiten an strukturierten und lesbaren Javascript Code (insbesondere in NodeJS)  zu schreiben. Damit wir auch etwas Anschauungsmaterial haben nehmen wir an, wir haben eine NodeJS-Anwendung geschrieben, die auf Anforderung überprüft, ob…

weiterlesen

Vor kurzem hat Microsoft Windows 10 IoT Core unter anderem auch für das Raspberry Pi 2 veröffentlicht. Ob sich Windows hier durchsetzen wird sei dahingestellt - ich begrüße jedenfalls, dass es nun ein weiteres Betriebssystem für das RPI2 gibt, für das Entwickelt werden kann. Heute zeige ich euch, wie Ihr in wenigen Schritten euer Pi einrichtet und eine Beispielanwendung…

weiterlesen

Im letzten Artikel zu Behaviour-Driven-Development haben wir 2 Libraries kennengelernt, die BDD in Java unterstützen. Heute möchte ich mich vom eher traditionellen Java wegbewegen und euch ein BDD Testing-Framework für NodeJS vorstellen. Vows ist nicht nur von Grund auf ausgelegt um asynchrone…

weiterlesen

Node-JS Anwendungen mit PM2 managen

Heute pausieren wir unsere BDD-Serie, um einen Blick auf Node-JS zu werfen. Node-JS ist eine tolle Sprache um Webservices und andere inhärent asynchrone Anwendungen schnell umzusetzen. So ist der eigene URL-Shortener, Bilder-Minifier, oder die eigene Shoutbox schnell umgesetzt. Für komplexere Dienste verweisen Node-Entwickler gerne auf die Unix-Philosophy "Do One Thing and Do It Well" - Gestalte…

weiterlesen

Nachdem im ersten Teil BDD mit Cucumber hervorgehoben wurde wenden wir uns nun dem schreiben von Tests zu. Testbarer Code ist eine Kunst die mit Erfahrung reift. Dennoch gibt es Hilfsmittel, die das Schreiben von testbaren Code erleichtern. Heute schauen wir uns zwei Konzepte und die dazu gehörigen Frameworks an. Angenommen wir…

weiterlesen

Behaviour-Driven-Development (kurz BDD, zu deutsch verhaltensgetriebene Softwareentwicklung) ist wie auch testgetriebene Entwicklung eine Technik der agilen Programmierung. In dieser mehrteiligen Reihe möchte ich euch Methoden und Werkzeuge vorstellen, um BDD als Teil projektbezogener Softwareentwicklung umzusetzen. BDD setzt sich hierbei aus den folgenden Elementen zusammen: Einbeziehung der…

weiterlesen

Heute stelle ich euch eine Alternative zu Apache Maven vor. Wer Maven nicht kennt und vorzugsweise Java-Projekte noch mit ant oder von Hand kompiliert: Es lohnt sich Maven kurz anzulesen. Wer Maven schon kennt und gerne nutzt: Werft einen Blick auf Gradle! Gradle punktet in meinen Augen besonders durch Lesbare Konfiguration starke…

weiterlesen

Wer kennt nicht die Klassiker wie Space Invaders, Pong oder auch Tetris? Oft kopiert finden wir sie in Versionen für unsere Handys oder PCs und sogar Taschenrechner wieder. Heute wollen wir aber einen etwas anderen Weg einschlagen. Was ist…

weiterlesen

Ob nun für Konfigurationsdateien, Daten die importiert werden sollen oder als leicht verständliche Schnittstelle für das eigentliche Programm - oft ist es wünschenswert anstelle einer generischen Lösung (XML, JSON, CSV, ...) eine direkt auf das Problem zugeschnittene, also domänenspezifische Sprache (DSL) zu verwenden. Heute stelle ich kurz und knapp Parser Generierung mit Scala vor, einer funktionalen und objektorientierten Sprache die…

weiterlesen