Angular, Javascript

PrimeNG Table update erzwingen bei gefiltertem Datenset

PrimeNG Table ist ein sehr umfangreiches Grid um Daten in Tabellenform anzuzeigen. Sie bietet viele Möglichkeiten wie Filter, Suche, Inline-Edit usw.

Bei unserer Anwendung (wir verwenden primeng 7.0.3) trat jedoch ein kleines Problem auf, wenn man Daten gefiltert hat (z.B. wie hier) und in dieser gefilterten Ansicht nur eine Zeile aktualisiert. Diese Aktualisierung wird von der Tabelle nicht erkannt und es bleiben die alten Daten angezeigt.

Weiterlesen ›
Java

Allgemeiner Exception-Handler für Spring REST Controller

Hat man eine REST API mit den Spring REST Controllern aufgebaut, kann es sinnvoll sein, die Fehlerbehandlung an einer zentralen Stelle abzuhandeln. So kann man beispielsweise bei einer aufgetretenen Exception diese in einem definierten JSON-Format an die Clients zurückliefern

Weiterlesen ›
Angular, Javascript

Angular-Service zum Abspielen von Sound-Dateien mit howler

Um in Angular Sound-Dateien auf einer Webseite abzuspielen, kann man die howler-Bibliothek verwenden. Diese verwendet die Web Audio API und als Fallback HTML5 Audio.

Weiterlesen ›
Blockchain

Solidity Tutorial: Erstellung eines Smart-Contracts

Solidity ist eine objektorientierte Programmiersprache zur Entwicklung von Smart Contracts im Ethereum Netzwerk. Die Sprache ist an Javascript angelehnt und wurde im August 2014 von Gavin Wood ausgearbeitet. Später übernahm die Ethereum-Foundation die Weiterentwicklung. Ich möchte mir in diesem und den folgenden Posts ansehen, was ein Smart Contract überhaupt ist und wie wir einen einfachen entwickeln und in die Ethereum Blockchain deployen können.

Weiterlesen ›

Allgemein, Blockchain

Einführung in das IPFS (InterPlanetary File System)

Was ist IPFS bzw. wie funktioniert IPFS?

IPFS ist ein Protokoll und ein Netzwerk um ein verteiltes Dateisystem zu bilden, welches auf P2P (peer-to-peer) Methoden beruht und einige der Schwachpunkte des derzeitigen Internets eliminieren möchte. Dabei verwendet es einige schon vorhandene Technologien wie z.B. Git, Blockchain oder BitTorrent und vereint diese zu einem Gesamtkonzept, welches es ermöglicht, Dateien dezentral im Internet zu speichern und wiederzufinden. Dateien können hierbei, im Gegensatz zu Torrents welche einen speziellen Client benötigen, direkt im Browser abgerufen werden. Weiterlesen ›

Allgemein

Script-Einbindung über den Google Tag Manager

Viele Webseiten verwenden für die Zugriffsanalyse Tools wie z.B. Analytics und haben auch noch andere Scripts von Google oder anderer Anbieter eingebunden. Für jede Einbindung muß der Quelltext der Seite angepaßt werden. Sollen zusätzlich z.B. Ereignisse getrackt werden, entsteht hier weiterer Aufwand. Hier kann ein Tag Manager große Hilfe bieten:

Weiterlesen ›

Delphi

Mit einem Rest-Client in Delphi ein Rest-Service verwenden

Um in Delphi einen Rest-Service zu konsumieren, gibt es hier eine sehr gute Bibliothek von Fabricio Colombo auf github. Diese sollte ab Delphi 7 funktionieren und lässt sich sehr gut in eigene Projekte einbauen. Hier eine Anleitung wie der RestClient verwendet werden kann:

Weiterlesen ›

Java

Integrationstest für Datenbankzugriffe mit automatischem Rollback in Java EE

Das gleiche Verhalten wie im vorigen Beitrag mit Spring beschrieben, kann auch in Java EE durchgeführt werden: Vor jeder Testmethode starten wir eine Transaktion, nach Beendigung der Testmethode machen wir ein Rollback um die Daten wieder auf den vorherigen Zustand zurückzustellen.

Weiterlesen ›

Allgemein, Java

Integrationstest für Datenbankzugriffe mit automatischem Rollback in Spring

Um die Datenbank-Schicht einer Anwendung zu testen, bietet das Spring Test-Framework Transaktionen für die Test-Klassen an. Dies ermöglicht es, die Anforderung zu erfüllen dass die einzelnen Test-Methoden voneinander unabhängig sind.

Weiterlesen ›

Delphi

Umstellung unseres Delphi Unit-Tests auf DUnitX

In dem letzten Beitrag haben wir uns angesehen, wie man Unit-Tests in Delphi mit DUnit erstellt. Da DUnit aber mittlerweile nicht mehr weiterentwickelt wird, schreiben wir unseren Testcode nun um und verwenden stattdessen das DUnitX-Framework.

Weiterlesen ›