About

Avatar von Maximilian Berghoff
  • Reactive Javascript mit RxJs

    Auf Listen oder einfachen Array ist man es inzwischen schon gewohnt: Anstelle von einfachen Schleifen, bedient man sich hier lieber einem Iterator, oder verfällt ganz und gar dem Funktionalen Ansatz. Aber warum eigentlich? Gerade der funktionale Ansatz liefert eine einheitliches Interface wie man mit Collections umgeht. Den selben Effekt erreiche ich aber auch mit Iteratoren.…

  • Excel-Dateien mit Javascript im Frontend erstellen

    Für viele Anwendungen ist der Export nach Excel ein wichtiges Feature. Zum Erstellen von Excel-Dateien mit PHP auf Serverseite gibt es Lösungen wie libxl oder PHPExcel, doch geht das auch per Javascript nur im Frontend? Ja, wie im Artikel gezeigt wird.

  • Wie man in Ext JS 5 ein Grid mit eigener Funktionalität erweitert

    Eine der Standardkomponenten in Ext JS ist das Grid. Es stellt Daten in einer Tabellenform dar und bietet von Haus aus schon viele Funktionen, wie z.B. Filtern, Sortieren und Inline Editing. Manchmal sind diese Funktionen aber nicht genug und man möchte sein Grid um spezielle Features erweitern.

  • Automatisierung der Frontend-Entwicklung mit Grunt

    Automatisierung der Frontend-Entwicklung mit Grunt

    Die Automatisierung von bestimmten Workflows, d.h. von fundamentalen und immer wiederkehrenden Arbeitsschritten, ist in der Softwareentwicklung ein alter Hut. Testläufe und komplette Buildprozesse wiederholt manuell durchzuführen würde nicht nur viel Zeit in Anspruch nehmen, sondern wäre vor allem auch viel fehleranfälliger als automatisierte Verfahren. Auch in der Webentwicklung werden mittlerweile Workflows wie das Kompilieren von…

  • AngularJS Tipps: Message-Bus für eine AngularJS-App und das Publish-Subscribe Pattern

    Mit diesem Artikel setze ich die Reihe AngularJS Tipps fort und beschäftige mich hier noch einmal mit der Frage, wie in einer AngularJS-App Kommunikation und Datenaustausch stattfinden kann. Allerdings liegt der Schwerpunkt in diesem Fall auf Applikationen mit konsequent modularer Struktur. Teil I der Reihe handelte von der Kommunikation zwischen AngularJS-Controllern und Teil II der Reihe vom grundlegenden Aufbau…

  • AngularJS Tipps: Modularer Aufbau einer AngularJS-Applikation

    In diesem zweiten Teil der Reihe AngularJS Tipps geht es um den grundlegenden Aufbau einer AngularJS Web-Applikation. In Abgrenzung zu bekannten Beispielen, zeige ich ein einfaches, aber praxisnahes Muster für eine modulare Struktur einer AngularJS-App. Im vorangegangenen ersten Teil der Reihe beschäftigte ich mich mit der Kommunikation zwischen AngularJS-Controllern. Der Artikel richtet sich an Leser die bereits Erfahrungen…

  • AngularJS Tipps: Controller-Kommunikation, Datenaustausch per Routing, AJAX-Error-Handling

    Dieser Artikel ist der erste Teil der Reihe „AngularJS Tipps“. Er beschäftigt sich mit drei Problemstellungen zu denen Best-Practise-Tipps gegeben werden sollen: (1) Kommunikation zwischen Controllern via Services, (2) Datenaustausch zwischen Controllern per Routing und AJAX-Errors an einer zentralen Stelle einer Web-App abfangen. Alle diese Themen drehen sich um die Frage, wie sich eher unabhängige Teile…

  • Playing around with fragment shaders in WebGL

    Playing around with fragment shaders in WebGL

    WebGL is a graphics library for web browsers, based on a version of OpenGL for embedded devices, OpenGL ES. The library allows for customized real-time 3d graphics rendering in modern browsers, including the use of shaders. There is a variety of scenarios in which you would want to make use of such a library. Consider,…

  • node.js – Debugging in PHPStorm auf der VM

    node.js – Debugging in PHPStorm auf der VM

    Bei Mayflower ist es üblich, dass dem Entwicklerteam für jedes Projekt eine virtuelle Maschine zum Entwickeln zur Verfügung steht. Im einem unserer letzten Projekte hatten wir einen größeren Service auf Basis von Node.js zu erstellen. Dabei stellte sich heraus, dass das Debugging von JavaScript unter Node.js eine echte Herausforderung ist. Wie wir dennoch in unserem Setup mit…