Solid.js hat sich in den letzten Monaten zu meinem Lieblingsframework gemausert. Trotzdem gab es kürzlich ein kleines Drama bei meinem Update von Solid 1.8.x auf 1.9.x. Was ist passiert? [...] weiterlesen
Vor einiger Zeit haben wir bei TOPIC PRO unser altes AngularJS-Frontend gegen einen moderneren Stack ausgetauscht. Unsere Wahl fiel dabei auf Solid.js, ein Framework, das ich besonders schätze, weil es mir im Gegensatz zu Angular nicht vorschreibt, welches Module und Tools ich einsetzen darf. [...] weiterlesen
Kennst du das? Du musst spontan einen Vortrag halten, hast aber keine Ahnung über das Thema? [...] weiterlesen
Seit der großen Pandemie verbringen wir alle deutlich mehr Zeit vor der Kamera – sei es im Homeoffice, bei virtuellen Team-Besprechungen oder sogar bei Online-Events. Klar, direkte Kommunikation haben wir alle von klein auf gelernt – Kindergarten, Schule, Ausbildung. Aber das Kommunizieren über Video? Das kam quasi über Nacht. [...] weiterlesen
In letzter Zeit werde ich ständig gefragt: "Ihr macht doch was mit KI, oder? Könnt ihr nicht mal einen Chatbot bauen?" Die Idee klingt simpel [...] weiterlesen
In meinem SolidJS-Projekt wollte ich unsere firmeninterne Präferenz für Vite nutzen, was nahelegt, auch Vitest als Test-Framework zu verwenden. Das schien der naheliegende Schritt für Unit-Tests zu sein, und die Integration funktionierte anfangs auch ziemlich gut. Die Tests liefen reibungslos und waren leicht zu schreiben. Aber dann fing das eigentliche Drama an…
[...] weiterlesenIn der Kategorie Fuckup der Woche geht es heute um ein Beispiel, das zeigt, wie viel Zeit man in etwas scheinbar Simples wie eine Proxy-Konfiguration investieren kann – und warum das am Ende lehrreich war. [...] weiterlesen
Manchmal ist es ja einfach wie verhext. Du kaufst dir voller Vorfreude ein neues Gadget, in meinem Fall einen Raspberry Pi Zero 2 W. Dieses winzige technische Wunderwerk hatte ich mir geholt, um mal wieder ein bisschen zu tüfteln und nebenbei was Cooles damit zu bauen. Die Idee: Schnell das Raspberry OS Lite über den Imager von der offiziellen Raspberry Pi Seite draufklatschen und loslegen. Das war zumindest der Plan. [...] weiterlesen
Heute versuche ich mich inspiriert durch den wunderbaren Dr. Lukas Pustina und dem Thema Heimautomatisierung an einer Statusanzeige. Meine erste Idee war es sich ein E-Ink-Display zu kaufen und es mit dem Raspberry Pi zu verdrahten. [...] weiterlesen
Im Webentwicklungskontext sehe ich häufig, dass Entwickler Bibliotheken wie CSS- und JS-Dateien direkt in ihre Projekte kopieren und in Ordnern ablegen. Doch das ist ein veralteter Ansatz, der mehr Nachteile als Vorteile mit sich bringt. [...] weiterlesen
Nach einiger Zeit habe ich etwas Zeit gefunden diesen Blog aufzuräumen. Es hat sich einiges getan: [...] weiterlesen
Anfang diesen Jahres haben meine Kollegen Daniel Ebner und Bartholomäus Kaminski einen neuen Podcast gestartet. Dort unterhalten wir uns über Themen, die uns als Webentwickler beschäftigen. Dazu zählen unter anderem agile Prozesse und Methoden, Technologien aus dem Webumfeld und Arbeitsmethodik. Der Podcast erscheint jede Woche und ist über die üblichen Kanäle zu erreichen.
Ihr erreicht unser über unsere Landingpage:
[...] weiterlesenDiese Woche habe ich mein zweites Zertifikat der Linux Foundation erhalten [...] weiterlesen
Wenn man auf der Testing-Pyramide weiter nach oben wandert, stößt man auf Contract- oder Servicetests. Diese Art von Tests stellt sicher, dass das Frontend auch nach Änderungen oder einem Deployment weiterhin mit dem Backend oder den dazugehörigen Services funktioniert. [...] weiterlesen
Jedes Mal, wenn ich auf eine Person treffe, die sagt, sie würde in einem agilen Team nach Scrum arbeiten, stelle ich die Frage nach Planning 2. [...] weiterlesen
Dieser Artikel schließt an den vorherigen Artikel an. Nachdem ein lauffähiges Test-Setup erarbeitet wurde, folgen in diesem Tutorial weitere Testfälle. [...] weiterlesen
Meine Erfahrung der letzten Jahre zeigt, dass die größte Hürde beim Schreiben von Tests das Testingframework und das Setup sind. Die Clients der drei großen Frameworks React, Vue und Angular liefern diese defaultmäßig aus. In diesem Artikel zeige ich wie man sich ganz einfach und schnell ein Jest-Setup mit Typescript aufsetzt. Anschließend zeige ich auch einige Tests. [...] weiterlesen
Der letzte Artikel des Jahres 2021 zeigte, wie man eine einfache und kleine REST-API mit Koa baute. Dieses Backend werde ich heute verwenden, um die Adressbuch-Applikation daran anzubinden. [...] weiterlesen
Ein Thema wurde bisher nicht in unserem StencilJS Tutorial nicht behandelt: das Backend. [...] weiterlesen
Ein Thema, das mich in den letzten Wochen beschäftigt hat, war das Öffnen einer PDF im mobilen Safar-Browsers. [...] weiterlesen
Du möchtest die JSNAD Zertifizierung und brauchst ein paar Tipps? Dann bist du hier genau richtig. Ich habe diese Zertifizierung abgelegt und möchte hier meine Strategie erklären. [...] weiterlesen
Vor zwei Jahren habe ich für mein Team eine Möglichkeit zur Weiterbildung gesucht. Die Idee war es das Team auf einen Wissensstand zu bringen. Wie erreicht man, dass ein Team die Dokumentation studiert und dabei etwas lernt? Mit einer Zertifizierung. [...] weiterlesen
Heute zeige ich wie man ein Storybook Addon schreibt. Jedes Projekt ist individuell und einzigartig sind auch die Anforderungen. Storybook bietet einen breiten Katalog an Addons an. Ein tolles Feature, das das Entwicklungsteam anbietet, ist die Möglichkeit weitere Addons selber zu schreiben. [...] weiterlesen
In den letzten beiden Artikeln habe ich gezeigt wie man eine Komponentenbibliothek aufsetzt und wie man Storybook benutzt. Damit ist die Grundlage geschaffen. Was ist der nächste logische Schritt, wenn man einige (oder alle) Komponenten fertig hat? Richtig! Man möchte diese verwenden. Die Grundidee ist die Arbeitsteilung. Ein Team/Spezialist kümmert sich um die Komponentenbibliothek und stellt diese anderen Teams zur Verfügung. [...] weiterlesen
In meinem letzten Artikel habe ich Storybook vorgestellt. Heute möchte ich die Bedienung erklären. Es ist ein tolles Tool mit vielen Möglichkeiten, um eure Komponenten zu entwickeln, zu katalogisieren oder sogar zu testen. [...] weiterlesen
Heute zeige ich wie man mit Hilfe von StencilJS und Storybook eine wiederverwendbare Komponenten-Bibliothek aufbaut, die aus Web-Components besteht. Im ersten Teil setzen wir das Projekt auf und verbinden die StencilJS mit Storybook. Im nächsten Teil zeige ich dann wie man die Webcomponents installiert und benutzt. [...] weiterlesen
Aktuell arbeite ich an einer APP mit Flutter. Letzte Woche habe ich einen ersten Prototypen auf mein Handy überspielt. Stolz habe ich es jemanden gegeben, um zuzuschauen wie mit der APP interagiert wird. Nach drei Klicks wurde der Bildschirm rot. Crash. [...] weiterlesen
Eine Übersicht über meine StencilJS-Reihe [...] weiterlesen
Mit dem Wissen des letzten Artikels können wir uns dem eigentlichen Thema widmen: Tests schreiben. Das Framework ist installiert, der erste Test steht und nach dem Ausführen laufen die Browser los und testen die Anwendung. [...] weiterlesen
Mit den End2End-Tests sollte, meiner Meinung nach, sofort begonnen werden, sobald man die erste Seite gebaut hat. Wie der Name schon sagt wird das Zusammenspiel der Komponenten und die Anbindung an Schnittstellen getestet. [...] weiterlesen
Im vorherigen Artikel haben wir gelernt wie man einzelne Funktionen wegmockt. In einer Komponente befinden sich häufig auch viele importierte Fremdbibliotheken. Ich verlasse mich immer drauf, dass diese getestet sind und möchte diese auch nicht in meinen Tests erneut testen. In diesem Artikel zeige ich wie man damit umgeht. [...] weiterlesen
Dieser Artikel setzt auf dem letzten Artikel "StencilJS-Tutorial: Real World Unit Tests" auf und gibt weitere Einblicke und Beispiele zum Thema Jest-Testing innerhalb einer StencilJS-App. [...] weiterlesen
Nachdem wir im letzten Artikel die Grundlagen des Testing-Frameworks Jest gelernt haben, wenden wir dieses Wissen in unserem Beispielprojekt Adressbuch an. [...] weiterlesen
Jest ist DAS Javascript Testing-Framework. Wenn man mit Javascript/Typescript arbeitet, kommt man an diesem Schweizer-Taschenmesser des Testens nicht vorbei. Ich bin ein riesen Fan seitdem wir uns 2016 das erste mal begegnet sind. Ich habe davor mit diversen Test-Framework gearbeitet. [...] weiterlesen
Die bisherigen Tutorials haben jetzt alle nötigen Bausteine von StencilJS vorgestellt, die wir für unsere Adressbuch-Applikation benötigen. In diesem Artikel werden die diese nun verwendet, um ein funktionierendes Adressbuch zu bauen [...] weiterlesen
Die functional component oder stateless component stellt eine alternative Schreibweise für die StencilJS-Komponente dar. Die Komponente ist dadurch leichtgewichtiger. Aber man verzichtet auch an etwas Funktionalität. [...] weiterlesen
Der StencilJS-Store ist eine tolle Sache. Dabei handelt sich um einen sehr leichtgewichtigen State-Container ähnlich zu Redux, Redux-Zero oder dem guten alten $rootScope in AngularJS. [...] weiterlesen
Wir können eigene Komponenten erstellen und haben dazu das StencilJS-Starter-Projekt genutzt. Nun wollen wir etwas aufräumen und uns um das Thema Routing kümmern. [...] weiterlesen
Das Wissen um die Erstellung einer neuen Komponente wollen wir nun nutzen, um eine Tabelle umzusetzen. Wenn man sich die Scribbles anschaut, erkennt man sofort die Notwendigkeit einer Tabelle. Wir ignorieren an dieser Stelle, dass man es auch ohne HTML-Tabellen-Element umsetzen könnte. Schließlich wollen wir was lernen :-) [...] weiterlesen
Wir haben eine funktionsfähige Umgebung und können endlich mit der Entwicklung starten. [...] weiterlesen
Nachdem wir das StencilJS-Starter-Projekt aufgesetzt haben, fügen wir jetzt noch die nötigen Entwicklerwerkzeuge und ein CSS-Framework zum Projekt hinzu. Ziel dieser Werkzeuge ist ein einheitlicher und qualitativ-hochwertiger Code. [...] weiterlesen
In der Dokumentation von StencilJS wird erklärt wie man ein Projekt neu aufsetzt. [...] weiterlesen
StencilJS ist ein sehr gutes Framework mit dem man schnell robuste Webanwendungen bauen kann. Der Einstieg ist recht einfach, bzw. der Umstieg von zb. React macht es noch leichter. Der Grundgedanke ist leicht erklärt. Anstatt schwerfällige Runtimes/Kernbibliotheken mitauszuliefern, kompiliert StencilJS einfach den Webstandard Webcomponents, der in allen modernen Browsern out-of-the-box funktioniert. Weil diese Webcomponents, meiner Meinung nach, nicht schön zu programmieren sind, dient StencilJS als Luxuswerkzeug. [...] weiterlesen
Die Antwort auf diese Frage hat mich diese Woche viel Zeit gekostet. Um sicherzustellen, dass meine Webanwendung auch das macht was sie verspricht setze ich auf E2E Tests. Dieser Blackbox-Test benutzt einen Browser, gibt die URL meiner Webanwendung ein und klickt diese dann anhand der definierten Testfälle durch. Anschließend liest er Werte aus und vergleicht diese mit vorher definierten Werten. Im konkreten Fall sollte er eine Rechnung überprüfen. [...] weiterlesen
Vor kurzem habe ich erklärt wie man aus seiner App die SQlite-Datenbank exportiert. In diesem Artikel erkläre ich wie man diese importiert. Voraussetzung ist ein bestehendes Flutter-Projekt und ein SQlite-Datenbank im Download-Verzeichnis des Telefons. [...] weiterlesen
Jeder hat vermutlich schon einmal an einem Vorstellungsgespräch teilgenommen. Wer die Gelegenheit hatte, auf der anderen Seite des Tisches zu sitzen, wird die folgenden Tipps zu schätzen wissen. Viele von uns werden von ihrem Chef ins kalte Wasser geworfen. Er kommt vorbei und möchte, dass man sich zusammen einen Kandidaten anschaut – vielleicht sogar ohne HR und ohne Chef. Natürlich reicht die Arbeitserfahrung, um ein fachliches Gespräch zu führen – so denkt man zumindest. Doch dann beginnt das Chaos. Aus meiner Erfahrung habe ich einige Tipps zusammengestellt, um dieses Chaos zu vermeiden. So gehen sowohl der Kandidat als auch du als Interviewer mit einem guten Gefühl aus dem Gespräch. Ich konzentriere mich auf das Fachgespräch, nicht auf das HR-Gespräch. Im Idealfall ist man unter sich, also unter Softwareentwicklern. [...] weiterlesen
Eine der vielen Möglichkeiten, Daten in einer Flutter-App zu speichern, ist SQLite. SQLite bietet eine relationale Datenbank innerhalb der App, ohne externe Abhängigkeiten und ohne Datenverkehr über das Internet. [...] weiterlesen
Diese Woche bin ich über den Spread-Operator gestolpert und möchte diese Erfahrung teilen. [...] weiterlesen
In den letzten Jahren konnte ich in weit über hundert Vorstellungsgesprächen reichlich Erfahrung sammeln, sei es als Kandidat oder als technischer Fachkollege. Diese Erfahrung habe ich in folgende Punkte gepackt, die jedes Gespräch erfolgreicher machen. [...] weiterlesen
Wer 11nty mit Bulma als CSS-Framework nutzt und zusätzlich den Code-Highlighter PrismJS hinzufügt, könnte auf folgenden Darstellungsfehler stoßen: [...] weiterlesen
Wer in der Liste aller Posts zusätzlich den Inhalt anzeigen möchte, hat standardmäßig nur die Möglichkeit, den gesamten Inhalt anzuzeigen. Wenn man jedoch beispielsweise nur den ersten Satz eines Posts anzeigen möchte, muss dies noch über Eleventys JavaScript gelöst werden. [...] weiterlesen
Seit langer Zeit trage ich den Gedanken mit mir, einen Blog zu erstellen. Die Umsetzung dieses Projekts möchte ich direkt als ersten Blogbeitrag nutzen. [...] weiterlesen
Kategorien
Favoriten