Skip to main content
swissICT Booster  |  M&F Academy  |  M&F Events   |  +41 44 747 44 44  | 
6 Minuten Lesezeit (1243 Worte)

Highlights vom .NET Day Switzerland 2022

Am 30. August 2022 fand nach einer langen Corona-Pause endlich wieder der .NET Day Switzerland statt. Viele unserer Entwickler:innen wollten sich das nicht entgehen lassen und tauschten ihren Arbeitsplatz gegen die Kinosäle im Sihlcity aus. Alles in allem war es eine spannende Konferenz mit interessanten Referenten und Referentinnen rund um .NET, .NET Core, C#, Blazor, Azure und vielem mehr. Die persönlichen Highlights unserer beiden Trainees Stefan Lochau und Linard Furck möchten wir euch nicht vorenthalten:

KEYNOTE: THE HISTORY OF .NET

Richard Campbell (bekannt aus seinem Podcast .NET Rocks!) durfte als erster Keynote-Referent auf die geschichtliche Entwicklung vom .NET-Ökosystem zurückblicken. Er hat treffend ausgeführt, aus welchem Hintergrund die Entscheidungen bei Microsoft getroffen wurden, die zum heutigen .NET-Ökosystem geführt haben. Richard hat gezeigt, wie Internet Explorer zu ECMA-Spezifikationen geführt hat, das iPad und WPF zusammenhängen und wie Windows Vista den Codenamen Longhorn erhalten hat.

Mitzunehmen gab es hier vor allem die Einsicht, wieso .NET so ist, wie wir es im 2022 lieben und nutzen.

 

BUILDING AN AUTH MICROSERVICE WITH ASP.NET CORE IDENTITY AND DUENDE IDENTITYSERVER

Miroslav Popovic hat gezeigt, wie er einige der Grundsätze, welche die M&F Trainees im WebApp Security Workshop (siehe Blogbeitrag WebApp Security) gelernt haben, mit einem modernen .NET-Techstack in einem Authentifizierungs- und Autorisierungs-Server implementiert hat. Mit praktischen Tipps wie die verschiedenen Token-Typen erstellt und verwaltet werden und Beispielclients in verschiedenen Formen, hat er vorgestellt, wie das System funktioniert. Der Code dafür hat er in einem GitHub-Repository veröffentlicht.

Wie immer wenn Security betroffen ist, hat Miroslav auch wieder hervorgehoben, dass man die Grundfunktionalität lieber Libraries überlässt, die von Sicherheits-Experten erstellt und vielfach getestet wurden.

 

KUBERNETES IN AZURE FOR .NET DEVELOPERS - ZERO TO HERO

Das Container-Orchestrierungs-Tool Kubernetes ist aus dem Cloud-Kontext nicht mehr wegzudenken. Die jährliche Umfrage der Cloud Native Computing Foundation aus dem Jahr 2021 ergab, dass 96% der befragten Firmen entweder gerade dabei sind, auf Kubernetes umzusteigen oder im Moment in dessen Evaluationsphase sind. Gleichzeitig wird jedoch dessen Komplexität als Nummer 1 Problem angesehen. Annie Talvasto gab uns in ihrem Vortrag eine Einführung in Kubernetes. Nach einer kurzen Übersicht der Grundlagen stellte sie dessen Vorteile vor. Beispielsweise dass man mit Kubernetes jede Applikation, jedes OS, in jeder Programmiersprache, überall deployen kann. Zuletzt stellte sie die vier praktischen Erweiterungen für Kubernetes vor:

  • Helm (Package Manager)
  • Linkerd (Service Mesh)
  • Keda (Event-Driven Autoscaling)
  • Flux (GitOps)

Interessant waren für mich vor allem die verschiedene Erweiterung, welche ich sicher gut in meinem derzeitigen Projekt einsetzen kann.

 

EVOLUTION OF A TOOLCHAIN

Adam Ralph zeigte auf, wie sich Toolchains vom einfachen RUN-Kommando in BASIC zu den heutigen Kompilations-Werkzeugen in .NET entwickelt haben. Damit ist er aber selbst noch nicht ganz zufrieden. Im Anschluss demonstrierte er live auf der Bühne seine Unix-mässigen Utility-Nugets bullseye und simple-exec.

Adam hat einen guten Use-Case für die Unix-Utility-Mentalität gezeigt: Toolchains funktionieren sehr gut, wenn sie aus vielen kleinen Programmen zusammengesetzt sind, die sehr wenige Dinge sehr gut umsetzen.

 

MOVING 17 YEARS OF LEGACY CODE TO THE CLOUD - PORTING HANSELMAN.COM TO AZURE

Scott Hanselman erzählt die Geschichte, wie seine Websites 17 Jahre auf “drehendem Rost” in einem Computer unter einem Bürotisch gelegen haben und nicht wie angenommen auf einer verwalteten VM mit regelmässigen Backups. Er geht darauf ein, wie er seinen Content in die Cloud migriert hat und erklärt, wie sich die Entkoppelung von Software und Hardware darauf auswirkt, wie er neue Software-Entwickler in das Programmieren einführt. Eine Aufzeichnung des fast gleichen Beitrags kann auf YouTube nachgeschaut werden.

Mein persönliches Learning aus dem Vortrag: Die Verantwortung, dass ein deploytes System langfristig stabil läuft, liegt auch beim Entwickler, kann aber mit Nutzung der Cloud einfach ausgelagert werden.

 

BLAZOR UNIT TESTING - HOW TO WRITE UNIT TESTS FOR YOUR BLAZOR COMPONENTS

Steven Giesel präsentierte, wie man mit der bUnit-Library (GitHub-Repository) die Darstellung von Blazor-Komponenten ohne den grossen Aufwand von Integrations- oder Systemtests überprüfen kann. In den Beispielen analysieren die Unit-Tests das DOM auf semantische Unterschiede zu erwarteten Werten und kann dabei auch Attribute oder HTML-Elemente ignorieren. Er geht auch auf die Limitationen ein, die die Abwesenheit eines vollen Browsers zum Rendern hat, führt aber auch aus, wie bUnit den Blazor-Component-Lifecycle emuliert.

bUnit ist eine gute Möglichkeit, die Testabdeckung nahe an der Entwicklung auch auf UI-Komponenten von Blazor-Apps auszuweiten.

 

FROM REST TO GRAPHQL

Mihaela-Roxana Ghidersa hielt einen Vortrag zum Thema GraphQL. Nach einer kurzen Einführung in die Grundlagen von GraphQL behandelte sie die Unterschiede zu einer RESTful API. Dabei betonte sie, dass man sich von einem schwarz/weissen Ansatz nach dem Motto «REST oder GraphQL» lösen müsse. Stattdessen sollten neue Technologien wie GraphQL als Möglichkeiten und Erweiterungen des bestehenden gesehen werden und nicht als Ersatz. Die Frage, ob es sinnvoll ist eine bestehende REST API durch GraphQL zu ersetzen, muss wohl überlegt sein und sei nicht immer notwendig.

 

.NET - DEVELOPING FOR LINUX ON THE CLOUD WITH A WINDOWS MACHINE

In Scott Hanselman’s zweitem Beitrag erklärt er neben dem Titel-Thema erst wie er Prompts und Konsolen benutzt (und was überhaupt der Unterschied ist). Dann geht er darauf ein, wie wir mit WSL ein (beinahe) vollwertiges Linux unter Windows 11 benutzen können und wie sich dieses integriert und was einige der Vorteile sind. Auch dieser Talk wurde fast gleich bei NDC Porto aufgezeichnet und ist auf YouTube als VoD verfügbar.

Scott hat einen guten “Pitch” gegeben, auf die neuen Werkzeuge (Windows Terminal und WSL unter Windows 11) zu wechseln, auch wenn die alten (wie conhost.exe, cygwin und Windows-Only Apps) aufgrund von Kompatibilität uns auch weiter erhalten bleiben.

 

LET’S BUILD A FORM SCANNER WITH NOTEBOOKS AND OPENCV

Alexander Kayed zeigte, wie man mithilfe von OpenCV und C# Jupyter Notebooks einen einfachen Formscanner entwickeln kann, welcher aus einer Fotografie Formularfelder extrahiert und die Daten in ein JSON überführt. Schritt für Schritt führte er uns durch den dazu notwendigen Code. Interessant war für mich, dass nicht immer Machine Learning Algorithmen verwendet werden müssen, sondern je nach Problemstellung bewährte Computer Vision Ansätze die einfachere Lösung bieten. Auf seinem GitHub-Repository veröffentlicht er alle Notebooks, mit denen man die einzelnen Schritte nachvollziehen kann.

 

KEYNOTE: DOOM POSTMORTEM: A YEAR THAT CHANGED AN INDUSTRY

John Romero, der Vater des “first person shooter”-Genres, hielt bei Popcorn und Getränken die abschliessende Keynote des .NET Days 2022. In diesem erzählte er die Geschichte, wie DOOM, das Spiel das für immer FPS-Spiele definiert, entstanden ist. In entspanntem Tonfall berichtete er, wie die Software mit einer komplett neuen Engine und neuem Computer in die Entwicklung gestartet ist. Trotz mehreren Umzügen, einem 3-wöchigen Entwicklungs-Stopp (um die Hardware der SNES zu lernen und dann Wolfenstein 3D auf die Nintendo-Konsole zu portieren) und einem Belegschaftswechsel konnte das Spiel fertiggestellt werden. Zum Schluss berichtete er darüber, wie das Spiel in mehreren Versuchen über FTP deployed wurde. Die enorme Entwicklungsgeschwindigkeit war laut John Romero vor allem auf die extrem kleinen, schnellen Iterationen zurück zu führen. Er hat diesen Vortrag ähnlich auch schon einmal gehalten. Eine Aufzeichnung findet sich wiederum auf YouTube.

 

Fazit Stefan

Die informativen Vorträge, das gut abgerundete Programm und die gesamthaft gute Stimmung am .NET Day 2022 haben daraus einen unvergesslichen Tag gemacht, dessen Erkenntnissen ich für immer nutzen kann. Dabei haben mir die Vorträge von Scott Hanselman am besten gefallen, die laut ihm “entucational” sein sollen und laut mir auch sind.

 

Fazit Linard

Der .NET Day Switzerland war ein sehr spannender und lehrreicher Tag. Neben vielen anderen interessanten Vorträgen war für mich sicher der Vortrag von Annie Talvasto mit der Einführung in Kubernetes ein Highlight. Einen Teil des dort Gelernten kann ich gut in meinem derzeitigen Projekt einsetzen.

0
Dos & Don’ts bei der Jobsuche
WebApp Security: Grundlagen, die man kennen sollte

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Montag, 29. April 2024

Sicherheitscode (Captcha)