Mutation Testing mit Stryker
Ihr schreibt Unit-Tests im Team? Natürlich tut ihr das! Aber sind die Tests auch ausreichend? Coverage-Tools haben darauf eine Antwort.
Leider sind Coverage-Analysen aber oft unzureichend. Selbst Test-Suites mit 100% code-coverage übersehen oft Fehler. Manche Test-Suites bringen in der Praxis nur wenig Mehrwert.
Mit Mutation Testing könnt ihr die Qualität eurer Tests selbst prüfen! Stryker stellt eure Tests auf den Prüfstand. Ihr erhaltet eine realistischere Aussage, wie gut eure Suite tatsächlich Fehler finden kann und erfahrt, wie ihr sie verbessert. Das Werkzeug lässt sich mit wenig Aufwand in Projekt und Pipeline zu integrieren und sorgt schnell für Ergebnisse!
Einstieg in die Funktionale Programmierung mit TypeScript und Remeda
Oft assozieren Entwicklerinnen und Entwickler Funktionale Programmierung mit komplizierten akademischen Begriffen. Das muss aber nicht sein!
In diesem Talk lernt ihr, wie ihr mit einfachen Mitteln große Effekte erzielen könnt. Ein paar Kniffe aus der Funktionalen Programmierung genügen schon: Der Code wird lesbarer und nerviges Debugging erheblich reduziert.
JavaScript und TypeScript bieten dazu einige Bibliotheken an, die den Einstieg erheblich erleichtern. Insbesondere Remeda kommt mit modernen TypeScript-Support und stellt eine gut Wahl dar.
CSS Speed Run — von hop zu top an einem Tag
Seien wir mal ehrlich: Die meisten von uns hatten nie die Zeit sich intensiv mit den grundlegenden Konzepten und Ideen von CSS zu beschäftigen — warum auch? Es gibt doch so tolle Bibliotheken wie Tailwind, Bootstrap oder Material Design, die uns vorgaukeln als wären sie die Lösung aller gestalterischen Probleme im Frontend. Nur was nützt einem das ausgefuchstes Werkzeug mit zwei linken CSS Händen?
Schluss damit, wir trainieren deine CSS Fertigkeiten mit einem Speed Run durch die wichtigsten Konzepte der Cascading Style Sheets. Dieser Workshop wird dir deinen Arbeitsalltag auf vielerlei Ebenen erleichtern: Sei es, dass du die CSS Hacks von StackOverflow endlich verstehst, du dieses eine Feature — für das deine Bibliothek keine Lösung hat — endlich selbst lösen kannst oder du grundsätzlich endlich Ausrufe- statt Fragezeichen beim Thema CSS im Kopf hast.
Auf folgende Themen kannst du dich freuen
- Selektoren und Kombinatoren
— Box-Modell & Box-Sizing
— Die CSS Kaskade
— Normal Document Flow and Display Types
— Pseudo-Elements and Pseudo-Classes
— CSS Custom Properties
— Flexbox
— Die Grundlagen des CSS Grid
— Transitions & Animationen
Ein Klagelied über falsche Vorstellungen und verschwendetes Potential — feat. MC Fachkräftemangel
Egal ob Arbeitgeber oder Arbeitnehmer, jeder von uns ist direkt oder indirekt vom Thema Fachkräftemangel in der IT betroffen. Bei Unternehmen stagniert das Wachstum, bei Entwickler:innen laufen die Postfächer durch Jobvermittler auf Business Plattformen über. Eine nicht gerade erfreuliche Situation für alle also. Doch wie ist die Branche in die Situation gekommen und noch viel wichtiger wie kommt sie dort wieder heraus? Wieso kommen bisherige Ausbildungswege quantitativ und auch qualitativ an ihre Grenzen? Welche Möglichkeiten der Fachkräfte Qualifikation neuer Fachkräfte gibt es und welche Potenziale werden noch wenig ausgeschöpft und wieso?
Auf all diese Fragen und noch viel mehr werden Nico und Joe, auf Basis ihrer jahrelangen Erfahrung in der Erwachsenenfortbildung, Antworten liefern.
Einstieg in das Testing von VueJS Applikationen
Das Einführen von neuen Technologien bringt meist einen ganzen Zoo an neuen Tools und Herausforderungen mit sich. Daher muss priorisiert werden und oftmals fallen Themen wie Testing hinten über. Dabei ist das Thema Testing so essenziell wichtig, um Fehler frühzeitig zu erkennen und Ärger und Stress zu ersparen. Aber gerade in modernen Frontend-Architekturen auf Basis von VueJS oder React, ist oft die Frage, was sollte ich testen und vor allem wie stelle ich das am besten an?
In diesem Workshop bietet dir Joe die Möglichkeit eine Einführung in das Thema Testing für VueJS zu erhalten und Einblicke in folgende Lerninhalte zu erhalten:
Next, Nest, Nuxt… Nust?
By the time this talk is over, someone will have invented a new JS framework. Thankfully it’s probably not gained much popularity yet. In the meantime, Express.js is no longer the framework with the highest satisfaction rate, Next.js and frameworks recently took the top spots in the latest StateOfJS survey.
In this session we’ll compare the big frameworks of today, check out their features, what they are missing and consider their different use-cases. By the end of the talk, there might be a new framework, but at least you’ll know when and where to use the existing ones.
Reflection in TypeScript
Typen sind zur Laufzeit weg. Das lernen wir schon von Tag 1 an, wenn wir uns mit TypeScript beschäftigen. Je nach Hintergrund ist diese Einschränkung sehr schmerzhaft, gerade wenn wir aus Ökosystemen wie der C# oder der Java-Welt kommen, wo Bibliotheken, die auf Reflection basieren gang und gäbe sind.
Im Laufe der Zeit hat die TypeScript-Community dennoch viele Wege gefunden, wie wir Konstrukte zwischen der Typ- und der Werte-Welt hin und her transportieren können. Begleitet mich auf einer Reise durch die Zeit und lernt mit mir, wozu TypeScript noch alles fähig sein kann.
Zero-dependency Web Components
Web Components sind als wiederverwertbare UI-Komponenten in aller Munde, doch wie wiederverwertbar, stabil und wartungsfreundlich ist etwas, dessen innerer Aufbau von Frameworks und Libraries abhängt? Genau gar nicht!
Die Gute Nachricht lautet: Es geht auch – wenn nicht gar besser – ohne Frameworks und Libraries! Dieser Workshop weist Ihnen den Weg heraus aus dem Dependency-Gulasch moderner Webentwicklung und hin zu Zero-Dependency Web Components, gebaut mit puren Webstandards.
Neben argumentativem Rüstzeug gegen den Dependency-Wahn versorgt sie dieser Workshop mit dem theoretischen und praktischen Wissen rund um Standard-basiertes Web-Component-Design. Lernen Sie nicht nur alle relevanten Browser-APIs rund um Web Components kennen, sondern erfahren Sie auch, wie Sie Komponenten gestalten können, die in Sachen API und Robustheit nativen HTML-Elementen in nichts nachstehen. Von API-Basics bis zu HTML-Element-Design-Philosophie bleibt kein Aspekt von Zero-Dependency Web Components unbeleuchtet.
Type-Level Fizzbuzz
Ein neuer Tag, ein neues Bewerbungsgespräch und mal wieder die selbe Aufgabe: Implementieren Sie FizzBuzz!
Anstatt in einer typischen Programmiersprache die Regeln rund um Zahlen, Schleifen, Bedingungen und Modulo-Operationen zu implementieren, können wir uns auch einfach mal ein Späßchen gönnen: Wie würde euer Gegenüber wohl reagieren, wenn ihr FizzBuzz nur mit TypeScript-Generics, also komplett auf Typ-Ebene implementiert?
Was zunächst als Spaß beginnt, wird schnell zur fortgeschrittenen Übung rund um das mächtige Typsystem von TypeScript, bei der wir Funktionen wie bedingte Typen, rekursive Typen, Tupel-Typen und viele weitere geschickt kombinieren müssen.
TypeScript-Typannotationen als Programmiersprache
TypeScript-Typannotationen sind eine eigene Programmiersprache! Typen sind Werte, Generics sind Funktionsparameter und TypeScript als Ganzes ist nicht nur ein wenig zusätzliche Syntax, sondern eine komplette in JavaScript eingebettete DSL, die zu verstehen sich lohnt. TypeScript-Typen nicht nur zu schreiben, sondern richtiggehend zu programmieren ist eine Superkraft, in die dieser Talk Sie einweiht! Mit nur wenig Umdenken und ein paar eher unbekannten TypeScript-Features können auch Sie komplexe Typ-Beziehungsgeflechte aus wenigen basalen Regeln herleiten. Dieser Talk führt durch die Programmierung eines Message-Bus-Systems und verwendet dabei fortgeschrittene TypeScript-Features wie Mapped Types, Discriminated Unions und Conditional Types, um den Message Bus mit wenigen, aber smarten Typ-Definitionen typesafe zu machen. Dabei lernen wir Typannotationen als eigene Programmiersprache kennen und bekommen eine gänzliche neue Perspektive auf den Umgang mit TypeScript-Typen eröffnet.