Geschrieben von Thomas Kruse
am 10. April 2020
Die durch das neuartige Corona-Virus SARS-CoV-2 ausgelöste Krankheit COVID-19 und die durch die Pandemie veränderten Lebensumstände stellen vieles auf den Kopf.
Remote-Arbeiten, Digitalisierung und potentieller struktureller Wandel sind alles Themen, die den Technologiesektor tangieren, und somit auch viele unserer Kunden.
Die ganz persönlichen Lebensumstände betrifft das bisher einzige Mittel, um mit der Bedrohung umzugehen:
Social Distancing.
Oft stellt sich die Frage, ob das wirklich so viel bringt gegen das Corona Virus.
Wir haben eine kleine Anwendung erstellt, mit der sich jeder selbst ein Bild machen kann: Den Corona Virus Simulator.
Es gibt zwar bereits einige Anwendungen dieser Art, auf denen wir auch mit unseren Beispiel aufbauen wollen, doch das besondere in dieser Version:
Man kann sich einen direkten Vergleich von zwei Populationen anzeigen lassen, und damit die direkten Auswirkungen verschiedener Parameter gegenüberstellen.
Wir simulieren, was in der echten Welt nicht möglich ist:
Nämlich gleichzeitig den Effekt von Social Distancing und weiteren Parametern und parallel dazu zum Vergleich die Entwicklung ohne Social Distancing.
Figure 1. Screenshot der Corona-Simulator-App
Geschrieben von Thomas Kruse
am 9. April 2020
Single Board Computer (SBC) wie der Raspberry Pi oder die ODROID-Serie eignen sich sehr gut als stromsparende und hinreichend performante Maschinen für Container-Hosting mit Docker oder Kubernetes.
In dem Artikel "Kubernetes auf Odroid N2" wurde die Einrichtung von Kubernetes auf ODROID N2 mit Arch Linux ARM beschrieben.
Der von Hardkernel, dem Hersteller der ODROIDs, bereitgestellte Kernel basiert auf einem alten Stand und wurde durch zusätzliche Treiber und Patches für den ODROID N2 kompatibel gemacht.
Leider bringt der verwendete Kernel einige Nachteile mit sich:
So gibt es zum Teil Abstürze und Instabilitäten.
Der Prometheus Node-Exporter führt zu einem sofortigen Absturz, so dass an Metrikmonitoring gar nicht zu denken ist. (Hier scheint das Problem in der dynamischen Taktung zu liegen cpufreq_cpu_get
, taucht im Stacktrace stets auf.)
Abhilfe schafft der sogenannte Mainline-Kernel.
Das ist ein nicht gepatchter Kernel und kann seit Linux 5.5 prinzipiell verwendet werden, da die Unterstützung der verwendeten Hardwarekomponenten des ODROID N2 in diesem enthalten ist.
Geschrieben von Karsten Sitterberg
am 8. April 2020
Im vorhergehenden Artikel wurde der Einsatz von GitHub Actions beschrieben, um eine Angular Anwendungen auf GitHub zu testen und zu bauen.
Das Thema Deployment wurde dabei aufgrund der Vielzahl an Varianten nicht weiter behandelt.
In diesem Beitrag wird nun erklärt, wie die ebenfalls von GitHub bereitgestellte Plattform zum Hosting von statischen Seiten, GitHub Pages, genutzt werden kann, um darauf eine Angular Anwendung bereitzustellen.
Der große Vorteil von clientseitigen Frameworks kommt dabei voll zur Geltung:
Es wird lediglich ein simpler Webserver benötigt, der die HTML, JavaScript und CSS Dateien ausliefert.
Serverseitige Logik wird für das Angular Frontend an sich nicht benötigt.
Geschrieben von Karsten Sitterberg
am 31. März 2020
GitHub Actions ermöglichen es, Reaktionen auszulösen, wenn in einem GitHub Repository Ereignisse eintreten.
Damit lässt sich beispielsweise Generierung von Dokumentation, oder Build und Test von Programmcode umsetzen, ohne einen zusätzlichen CI-Server zu benötigen.
Anders als viele andere CI Lösungen, wie beispielsweise GitLab-CI, setzt GitHub Actions dabei auf vordefinierte Umgebungen und nicht auf Container.
Allerdings lassen sich neben den in den Umgebungen vorhandenen Standardwerkzeugen auch zusätzliche Actions hinzunehmen.
Bei Actions handelt es sich um wiederverwendbare Code-Bausteine.
Außer von GitHub oder dem eigenen Repository können Actions auch auf einem Marketplace von Drittanbietern, z.B. als Docker-Image, bereitgestellt werden.
Als Umgebungen stehen bei GitHub derzeit Linux, Windows und MacOS zur Verfügung.
Das Ergebnis von GitHub Actions können dann Aktionen unter Verwendung der GitHub API sein.
Außerdem können auch Docker-Images erstellt und anschließend in eine Registry gepushed werden.
Wie GitHub Actions genutzt werden können, um eine Angular-Anwendung zu testen und zu bauen, stellen wir in diesem Beitrag vor.
Geschrieben von Thomas Kruse
am 31. Januar 2020
Jib eignet sich sehr gut, um Docker Images mit Maven oder Gradle zu erzeugen, ohne dass dazu ein Docker Daemon verwendet werden muss.
Im Gegensatz zu Docker unterstützt Jib derzeit noch keine Multi-Arch Images.
Damit ist ein automatischer Build für die jeweilige Plattform nicht möglich, was sich zum Beispiel auf einem Raspberry Pi, ODROID oder anderen Maschinen auf Basis der ARM Architektur bemerkbar macht.
Mit einer kleinen Konfigurationsanpassung ist es jedoch möglich, passende Images zu erzeugen.
Geschrieben von Thomas Kruse
am 28. Januar 2020
Bei der PHP Usergroup Münster stellte Thomas Kruse vor, welche Optionen gRPC für die Entwicklung und Integration von Microservices bietet.
Geschrieben von Thomas Kruse
am 16. Januar 2020
Wie können moderne APIs unter Berücksichtigung von Web Anwendungen definiert und implementiert werden?
Diese Frage stellt sich vor allem bei Microservice Architekturen, wenn viele unterschiedliche Dienste miteinander integriert werden.
Als eine Option stellte Thomas Kruse bei dem Meetup "Frontend Freunde" vor, wie dies auf Basis von gRPC umgesetzt werden kann und welche Implikationen sich ergeben.
Geschrieben von Thomas Kruse
am 14. Januar 2020
Zum Thema Web Accessibility, also barrierefreie Anwendungen, präsentierte Karsten Sitterberg bei dem Meetup "Frontend Freunde", welche Möglichkeiten sich auch bei modernen Frontend Anwendungen mit Angular, Vue und React ergeben.
Geschrieben von Karsten Sitterberg
am 6. Januar 2020
Nachdem in diesem Beitrag zu SVG Animationen die Grundlagen von SVG Animationen erläutert wurden, geht es in diesem Beitrag darum, wie SVG Animationen mit Angular umgesetzt werden können.
Geschrieben von Karsten Sitterberg
am 2. Januar 2020
Dieser zweiteilige Beitrag behandelt Animationen von SVG Komponenten im Kontext einer Angular Anwendung.
Die Grundlagen von SVG Komponenten in Angular wurden in diesem Artikel erläutert, in diesem Artikel werden die Grundlagen für Animationen vermittelt.
Vorweg ein paar Worte zum Thema SVG Elementen:
Ebenso wie normale HTML-Elemente können SVG-Elemente in Angular Komponenten eingebunden werden.
Wenn komplexere SVG-Grafiken per Angular anzubinden sind, bietet es sich an, die Grafik als eigene Angular-Komponente auszulegen, in der die SVG-Datei als templateUrl
referenziert wird.
Damit müssen die einzelnen SVG-Elemente nicht in eine andere Template-Datei hineinkopiert werden.
Dadurch wird es später gegebenenfalls einfacher, die SVG-Grafik zu ersetzen, etwa wenn vom Grafiker eine aktualisierte Version geliefert wird.
Der geschickte Umgang mit dem Thema Binding bleibt einem anderen Beitrag vorbehalten.
Soll eine SVG-Grafik lediglich wie ein normales Bild angezeigt werden, dass heißt sie kommt ohne dynamisches Binding aus, so kann die SVG-Grafik auch einfach per <img>
-Tag eingebunden werden.