Vorträge

TypeScript für Fortgeschrittene

Level 300

Tobias Meier

TypeScript wird inzwischen von vielen Entwicklern als das bessere JavaScript bei der Entwicklung von JavaScript- und Angular-Anwendungen genutzt. Das Entwicklungsteam ist weiterhin sehr agil und veröffentlicht alle Monate eine neue Version mit zahlreichen neuen Features. Der Vortrag stellt neue und weniger bekannte Möglichkeiten von TypeScript vor, mit deren Nutzung die Produktivität bei der Entwicklung noch weiter gesteigert werden kann.

From Olá? To Olé! with Blazor

Level 300

Don Wibier

By now, the web has been bombarded with all kinds of Blazor information but still not sure if it is for you? Join technical evangelist Don Wibier and see how to get going with Blazor. Experience the power of C# running on the server – and in your browser! In this session, you’ll get a quick introduction on what Blazor is and next , we'll dive right in and start coding a Blazor app. We’ll go over several aspects like hosting models, dependency injection and data access, routing, editing and validation as well as using 3rd party controls and MVVM. Discover why this technology is awesome!

SAFE Stack: The Pit of Success for Functional Web Programming

Level 300

Isaac Abraham

The SAFE stack is an free, open-source, flexible end-to-end, functional-first stack for cloud-ready web applications that emphasizes type-safe programming. It allows you to develop web applications almost entirely in F#, without needing to compromise and shoehorn your codebase into an object-oriented framework or library, and without needing you to be an expert in CSS or HTML to create compelling, rich client-side web applications. This talk will demonstrate the value proposition behind the SAFE Stack, illustrating how we can develop unified client / server applications that take the best features of F# and apply them throughout the stack - such as type safety, succinctness, productivity and performance - whilst still integrating naturally with technologies and frameworks such as ASP .NET, JavaScript and React. You'll see how to create data driven server-side APIs quickly and easily, and then surface those APIs in a rich, responsive web application running in the browser, using a combination of .NET and JavaScript libraries and tools that come together beautifully. Lastly, we'll see how easily SAFE apps can be hosted on a cloud platform such as Microsoft Azure.

Mind the Gap

Level 200

Sebastian Achatz

In der heutigen Entwicklung von Softwareprodukten und Services trennt uns als Menschen oft mehr als uns verbindet. Es entstehen "Lücken", manchmal bewusst oder auch unbewusst, die es uns schwer machen erfolgreich und effektiv zu arbeiten. Dieser Talk geht auf einige dieser "Lücken" näher ein. Wie und warum sie entstehen und auch wie man sie wieder schließen kann.

Bitte alle einsteigen zur Kreuzfahrt mit Docker!

Level 100

Gregor Biswanger

Beschreibung Zum Thema Bereitstellung der eigenen Software, können wir dank Docker unsere Entwicklungsumgebung und Produktionsumgebung in einer wahnsinnigen Geschwindigkeit bereitstellen. In dieser Session zeigt Ihnen der Docker-Kapitän Gregor Biswanger neue Wege zum Thema Virtualisierung. Er beginnt mit der Anatomie von Docker und gibt wertvolle Tipps aus der Praxis. Sodass Ihnen der Einstieg mit Docker und Visual Studio 2019 leichter fällt. Ahoi, volle Fahrt voraus!

Wie nutze ich Machine Learning in meinen Web Apps mit TensorFlow.js?

Level 100

Sascha Dittmann

Machine Learning und Deep Learning eröffnen völlig neue Wege, um die eigene Software Architectur zu revolutionieren. Doch wie nutze ich diese Funktionalitäten in meinen JavaScript Anwendungen? Sascha Dittmann zeigt in dieser Session, wie man das kraftvolle TensorFlow Framework auch in seinen Applikationen nutzen kann. Er geht dabei auf die Grundlagen hinter Regressionen und Neuronalen Netzen ein und zeigt, wie sich diese mit TensorFlow.js in Web-, sowie NodeJS-Anwendungen trainieren und nutzen lassen.

Clean Code, Dirty Agile

Level 300

Özgür Ergel

Der Grad der Wartbarkeit und Erweiterbarkeit eines Systems hat eine direkte Auswirkung auf allen Feedback-, Kommunikations- und Handlungsebenen einer Organisation. Schlechte Code-Qualität bedeutet eine lange Time-to-Market, sie verursacht schlechte Kundenzufriedenheit, Geldverschwendung und große Frustration in den Teams und in der ganzen Organisation. Aber Moment Mal! Waren solche Probleme nicht die Probleme von Wasserfall, also aus der Vergangenheit? Ist nicht mit SCRUM alles stets anders, besser und problemlos? Agile Prozessmodelle können erst durch geeignete Entwicklungsmethoden, die die Qualität eines Produktes gewährleisten, zu effizienten Entwicklungsmodellen werden. Daher ist es wichtig, ein geeignetes Umfeld zu haben, damit Clean Code und XP Techniken effizient eingesetzt werden können. Gute Code-Qualität braucht ein wahres, authentisch agiles Umfeld. Aber was genau bedeutet agile Softwareentwicklung? Wie ist es ursprünglich entstanden und evolviert? Und was können wir tun, damit sie sich nicht zu einem „Dirty Agile“ verwandelt?

gRPC für WCF Entwickler

Level 200

Sia Ghassemi

Mit DotNet 3.0 hat Microsoft das Windows Communitcation Framework eingeführt um DotNet Remoting endlich abzulösen. Leider ist mit DotNetCore WCF auf der strecke geblieben und auch wenn es bereits OpenSource Projekte die WCF in die DotNetCore Welt zu bringen, aber eine gänzlich andere Technologie scheint sich auf dem Vormarsch zu befinden und die Zukunft zu weisen. Google Remote Procedure Call, kurz gRPC findet immer mehr Zustimmung und selbst Microsoft hat gRPC mittlerweile als first class technology als teil von AspNetCore eingebunden. Ist es also nun Zeit WCF mit gRPC zuerstzen? In dieser Session werden wir uns gRPC genauer ansehen und die unterschiede zu WCF besprechen und anhand einer Demo veranschaulichen.

Volle Energie! Performanteren Code mit C# 8 und .NET Core

Level 300

Christian Giesswein

Durch einige Erweiterungen in der Sprache C# als auch mit neuen Typen die im .NET Standard 2.1 als auch in .NET Core 3 definiert sind, ist es für uns Entwickler wieder etwas komplexer geworden – neue Dinge die unsere Software beschleunigen können, vorausgesetzt es werden die richtigen Sprach Konstrukte korrekt eingesetzt. In dieser Session geht es darum, praxisnah an realistischen Beispielen das Maximum an Performance herauszuholen. Spaß & Performance garantiert!

.NET Core 3.x – Pluginsysteme mit AssemblyLoadContext

Level 300

Christian Giesswein

AppDomains waren so “.NET”… Mit .NET Core wurde das Konzept von AppDomains nicht übernommen, und auch das Assemblyhandling wurde überarbeitet. Es ist nun jedoch mit neuen API´s einfacher geworden mit den Assemblies umzugehen. In dieser Session wollen wir uns einmal ansehen, wie der neue AssemblyLoadContext funktioniert, welche Funktionalitäten sich dahinter verbergen, und vor allem, wie man damit ein eigenständiges Pluginsystem bauen kann.

LINQ und Lambdas sind nur der Anfang - Funktionale Programmierung in C#

Level 300

Martin Grotz

Die funktionale Programmierung hat einige Vorteile: Pure Funktionen ohne Seiteneffekte vereinfachen das Testen, unveränderliche Daten die Verwaltung des Systemzustands und Funktionen als Parameter machen Abhängigkeiten explizit. Mit der Nutzung von LINQ und Lambda-Funktionen ist der Einstieg in die funktionale Welt auch in C# einfach. Das ist aber nur der Anfang: Mit Bibliotheken wie LaYumba und LanguageExt können wir auch in C# fortgeschrittene Konzepte wie Funktoren und Monaden nutzen. Damit eröffnen sich uns auch die Möglichkeiten zur cleveren Verkettung von Abläufen mit dem "Railway Oriented Programming". Diese Konzepte werden im Rahmen des Vortrags eingeführt und ihr praktischer Einsatz in C# vorgestellt.

What's hot and new with Xamarin

Level 300

Tobias Hoppenthaler

Alexander Berg

Es hat sich viel getan im Xamarin Universum. Mit Hot Reload und Hot Restart ist es möglich die Turnaround Time für Entwickler stark zu verkürzen, Shell macht es Xamarin Entwicklern einfacher eine App zu entwickeln und Visual ermöglicht, dass Applikationen endlich auch wie bei Flutter auf allen Plattformen gleich aussehen. Wie Ihr das für Eure App und Euren Entwicklungszyklus einsetzen könnte, zeigen wir Euch in diesem Talk.

Protect your code from hackers with Software Security development life cycle (S-SDLC)

Level 300

Gad J. Meir

You can no longer ignore the need to address security issues in the code development process. The newspapers report on new security breaches almost every day. The nightmare of every CEO is to wake up in the morning and discover that a vulnerability in software developed by the company is responsible for a major security breach in the company, or even worse, in one of its customer’s companies. The most important question from a liability point of view is what have you done in the development process of the software to avoid security issues and vulnerabilities. An inadequate answer to this question will cost the company a lot of money. That is why incorporating security in the development life cycle is so crucial. This problem is not new and the solution is not too complicated to implement. S-SDLC is an acronym to the process and steps that when incorporated properly into the development life cycle of the product, discover and avoid most of the security breaches and vulnerabilities, and give you some level of protection on liability when sued. In this one hour concentrated talk we will dive deeply into the security software development lifecycle. We will start from a very short introduction to the state of hacking and security today, continue with identifying points of risk and then we will deep dive into all the steps included in a typical S-SDLC process. We will cover the process, the procedures and the testing tools used in this domain. At the end of the talk, attendees will have the know-how on how to start incorporating S-SDLC in their company development process.

Analyzing bugs and performance issues in the field

Level 400

Gad J. Meir

In the field and at customers' sites (and in the QA environment) most of the tools used in development are not available and can’t be installed. Microsoft gives you many tools, some of them are built into the OS and the others can be used without installation. Those tools can be used in such environments to collect debugging and performance data without intervening with the IT operations. In this practical and demo-based talk, we will introduce and demo tools for the field like Debugging tools for windows, Dump analysis, Windows performance toolkit, some of the more advances SysInternals tools and many other tools and methods you can use to handle bugs and performance issues in customer's sites and in QA / test environments. The attendees are expected to have several years of experience in programming and debugging and basic knowledge of the Windows operating system internals.

Entity Framework Core 3.x mit Azure CosmosDB

Level 300

Thorsten Kansy

Ab der Version 3.0 unterstützt das Entity Framework Core die erste nicht relationale Datenbank in Form der Azure Cosmos DB. Kenntnisse und Erfahrungen mit diesem O/R-Mapper erleichtern also seitdem auch den Einsatz dieser NoSQL-Datenbank. Wie genau das funktioniert und welche Möglichkeiten dabei offenstehen, zeigt Thorsten Kansy in diesem Talk an Hand des aktuellen Stands der Technik.

Wie eine SQL Server Datenbank deployen?

Level 300

Thorsten Kansy

Jede Datenbank muss nach Erstellung oder Anpassungen irgendwann einmal auf dem Produktionssystem bereitgestellt werden. Dabei ist es unerheblich, ob die Datenbank von Hand, von Tools erstellt, bzw. angepasst wurde oder von der Migration des Entity Framework (Core) generiert wurde. Erfahren Sie in diesem Talk welche Möglichkeiten sich praktisch einsetzen lassen um genau die Änderungen an Daten und Struktur (und auch nur genau diese) bereitzustellen; sei es mit Skripten, Data-Tier Applications (DACPACs/ BACPACs) oder eigenen .NET (Core) Code.

Analyse von Time Series Daten: Anomaly Detection, Outlier und mehr

Level 200

Kostja Klein

Diese Session widmet sich Time Series Daten und deren Analyse. Gerade im Internet of Things treten bei der Verarbeitung von Sensordaten immer wieder Zeitreihen auf. Signalwerte mit Zeitstempel werden erzeugt und müssen gespeichert und analysiert werden. Häufig sollen dabei frühzeitig Anomalien oder Outlier erkannt werden. In vielen Fällen reicht eine Analyse in der Cloud, aber in manchen Szenarien ist eine Erkennung bereits auf dem Edge Device sinnvoll. Die Microsoft Plattform bietet mit Time Series Insights, Azure Stream Analytics, IoT Hub, Azure IoT Edge und dem Anomaly Detector - einem neuen Cognitive Service - gleich mehrere Technologien für die Analyse von Zeitreihen bzw. Datenströmen. Wer die verschiedenen Möglichkeiten und Einsatzzwecke kennenlernen möchte, der ist hier richtig.

Kubernetes und Serverless - Knative mit .NET Core 3

Level 200

Mark Lechtermann

Wer hat schon Lust sich mit einem Orchestrator, Containern oder Skalierung zu beschäftigen? Wir Entwickler sicherlich nicht! Mit Knative brauchen wir uns in Zukunft damit vielleicht nicht mehr herumschlagen. Wir gucken uns gemeinsam die Komponente „Serving“ an und sparen mit down-to-zero auch noch Geld. Außerdem werden wir uns mit dem Thema Speicherverbrauch und Kaltstartzeiten beschäftigen.

Web Components als Frameworkersatz – das Frontend-Experiment

Level 200

Christian Liebel

Wenn ein Frontend im Web benötigt wird, ist die Wahl schnell auf die üblichen Verdächtigen eingegrenzt: Angular, React oder Blazor. Durch Web Components könnte sich das in Zukunft ändern. Christian Liebel von Thinktecture wagt einen Blick in die Glaskugel: Mit Web Components hat das Web ein Komponentenmodell erhalten, das kontinuierlich weiterentwickelt wird. Vielleicht braucht es in Zukunft nicht mehr für jeden Anwendungsfall zwingend ein schweres Framework. Anhand eines Experiments wird demonstriert, ob sich Frontends schon heute komplett mit Web Components statt Frameworks aufziehen lassen.

Terraform on Azure – Delivering Infrastructure as Code

Level 200

Daniel Neumann

In this session we focus on how to deliver Infrastructure as Code with Terraform on Azure. Beside a short introduction and comparison to Azure Resource Manager templates, we walk through Terraform from zero to hero. In the end we will have deployed an AKS cluster with Azure Monitor for containers, Azure AD and Azure Container Registry integration that is ready to use just with Terraform.

Azure Sparfuchs - Geld sparen in der Cloud

Level 200

Thomas Pentenrieder

Die Cloud stellt uns die Infrastruktur und Dienste für jegliche Arten von Workloads zur Verfügung. Es ist ein Kinderspiel, hunderte oder sogar tausende Euros in kürzester Zeit zu verbrennen. Doch es bietet auch die Möglichkeit, umfangreiche Anwendungen für kleines Geld bereitzustellen - oftmal sogar komplett kostenlos. "Microsofties hassen diesen Trick!" In dieser Session werden wir uns gemeinsam ansehen, welche Dienste in Azure besonders teuer werden können und welche günstigeren Alternativen zur Verfügung stehen. Dabei sehen wir wie wir von einer Cloud-Native-Herangehensweise profitieren können und welche Tools uns zur Verfügung stehen, um die Kontrolle über die monatliche Rechnung nicht zu verlieren.

Empower Cloud Governance with Azure Policy

Level 300

Gregor Reimling

Azure und die Services zu nutzen ist wirklich einfach, aber die Umgebung in einer definierten Struktur zu halten kann eine Herausforderung sein - hier kommt Azure Policies ins Spiel. Diese Session zeigt, warum Azure Policy für die Umgebung aus vielen Perspektiven wie Governance, Sicherheit, Compliance und mehr wichtig ist. Azure Policy ist ein wichtiger Service, um Richtlinien für die Cloud-Umgebung zu definieren und die Landschaft in einer definierten Struktur zu halten. In dieser Session gehen wir auf die Handhabung der Richtlinien, Unterschiede zwischen Zuweisungen und Definitionen, die Struktur hinter den Richtlinien, die Erstellung eigener Richtlinien uvm ein. Die Session zeigt Best Practices aus verschiedenen Cloud-Projekten zur Definition von Richtlinien um die Cloud Struktur in einem definierten Rahmen zu halten und nicht den Überblick zu verlieren.

UI Composition - die letzte Meile der Microservices

Level 300

Tobias Richling

Microservices sollen dazu dienen, einen bestimmten Geschäftsprozess mit all seinen technologischen Artefakten zu bündeln und mit einer expliziten Grenze zu versehen. Dazu geöhrt natürlich die Datenhaltung aber auch eine Schnittstelle über die Daten abgefragt und manipuliert werden können. Eben die klassischen Backend-Aufgaben. Wenn es um die UI geht, hört der Gedanke der Kapselung dann oft schnell auf. Das Frontend wird in Form einer monolithischen Webapplikation entwickelt, die alle Backend-Dienste verbindet. Dafür bentötigt sie viel Wissen über diese Dienste und ist eng an diese gekoppelt. Wäre es nicht besser auch die UI als Teil des Services zu sehen um sie zusammen mit der Backend-Logik weiter entwicklen zu können? Aber wie soll dann aus den Einzelteilen wieder eine zusammenhängende UI gebaut werden? Auf diese Fragen wird die Session eine Antwort geben, die von Server Side Composition über View Model Composition bis hin zu Client Side Composition mittels Web Components führt.

.NET 5.0 – das eine .NET, sie alle zu beherrschen

Level 300

Holger Schwichtenberg

Im November 2020 wird .NET 5.0 als gemeinsamer Nachfolger von .NET Framework, .NET Core, Mono und Xamarin erscheinen. Endlich gibt es dann eine einzige, plattformneutrale Runtime für alle Betriebssysteme von Windows, Linux und macOS bis iOS, Android und Tizen sowie alle Anwendungsarten von Desktop (WPF und Windows Forms), über Webserver (ASP.NET) und Webbrowser (Blazor) bis zu Apps (UWP, Xamarin) und Spielen (Unity). Auch .NET-basierte Cross-Platform-HTML-Apps sind für .NET 5.0 geplant. DOTNET DOKTOR Holger Schwichtenberg zeigt Ihnen die aktuelle Preview-Versionen von .NET Core 5.0, ASP.NET Core 5.0 und Entity Framework Core 5.0. Er erläutert auch die weiteren Pläne von Microsoft. Neben den neuen Features von .NET 5.0 geht es natürlich auch um die Frage, welche Funktionen aus den Vorgängerprodukten wegfallen und welche technischen Alternativen es dazu in .NET 5.0 gibt, wenn Sie Anwendungen auf .NET 5.0 migrieren wollen.

Automatisierte Oberflächentests für Mobile Apps mit Xamarin UI-Test

Level 200

Sebastian Seidel

Software zu testen wird oft als lästige Aufgabe angesehen, die niemand gerne macht. Je größer dann ein Projekt wird umso schwieriger wird ist es die Qualität aufrecht zu halten. Mit automatisierten Tests schafft man eine gute Basis um das Produkt nicht nur von guter Qualität zu halten sondern sie auch noch kontinuierlich zu verbessern. In diesem Vortrag wird am Beispiel einer Xamarin-Mobile-App der Einstieg in das Testing-Framework Xamarin UI-Test gezeigt. Dabei wird genauso auf Fallstricke eingegangen wie auf die sich bietenden Vorteile.

Nachhaltige SPA-Architekturen mit Domain-driven Design – Der Beginn einer wunderbaren Freundschaft?

Level 300

Manfred Steyer

Single Page Applications erhalten heutzutage immer mehr Kompetenzen. Daraus ergeben sich nicht nur eine gesteigerte Benutzerfreundlichkeit, sondern auch komplexere Client-Architekturen. Diese Session zeigt, wie sich diese gesteigerte Komplexität mit Ideen aus der Welt von Domain-driven Design bewältigen lässt. Zunächst lernen Sie die Möglichkeiten zur Umsetzung Ihres strategischen kennen und erfahren, was Monorepos aber auch Microfrontends mit den Themen Ubiquitous Language, Bounded Context und Context Mapping auf sich haben. Dabei erfahren Sie auch, wie sich Ihre Architekturvorgaben mit Nx kontrollieren und erzwingen lassen. Außerdem betrachten wir die Themen Zustandsmanagement und Fassaden vor dem Hintergrund Ihres taktischen Designs. Am Ende haben Sie einen neuen Blick auf bewährte Konzepte aus Domain Driven Design und wissen, wie Sie damit Ihre Client-Architekturen nachhaltig und wartbar gestalten können.

Die Zukunft von Angular mit Ivy

Level 400

Manfred Steyer

Mit Ivy assoziiert man in erster Linie kleinere Bundles und somit eine bessere Performance. Ivy hat allerdings viel mehr zu bieten und bietet mit vielen schlauen Konzepten das Fundament für einige heiß erwartete künftige Features. Hier erfahren Sie, wie sich das Potential von Ivy auf Ihre künftige Architektur auswirken kann. Dazu besprochen wir anhand einer Fallstudie eine mögliche Zukunft ohne NgModules, die Nutzung dynamischer Komponenten bzw. Higher Order Components, Zone-less Change Detection sowie neue Möglichkeiten für Lazy Loading und Plugin-Systemen. Am Ende wissen Sie, welches Potential in Ivy schlummert und wie Sie sich schon heute darauf vorbereiten können.

Dinge, die ich als Junior-Entwickler gerne früher gelernt hätte

Level 100

Roland Weigelt

Als Berufseinsteiger geht man mit großer Begeisterung an die Dinge heran, arbeitet sich schnell in neue Technologien ein und erwirbt im Laufe der Zeit ein Gespür für gute Architekturen. Und doch merkt man, dass der Vorsprung von deutlich erfahreneren Kollegen nicht alleine auf dem Wissen über APIs, Frameworks und Patterns beruht. Es die Art und Weise, mit Problemstellungen umzugehen, abstrakt und doch pragmatisch zu denken und nicht zuletzt, die richtigen Fragen zu stellen. Roland Weigelt vermittelt in seinem Vortrag in kompakter Form Erfahrungswerte, Herangehensweisen und eine generelle "Denke", die Rationalität und Emotionalität miteinander kombiniert. Stets mit dem Ziel, den Zuhörern das praktische Handwerkszeug an die Hand zu geben, vielleicht bereits im nächsten Meeting neue Impulse setzen zu können. Was sind Grundbegriffe aus Produkt-Design und User Experience, die ich als Entwickler nicht nur kennen, sondern wirklich verstehen sollte? Inwiefern hat z.B. Empathie weniger mit Mitleid, sondern eher mit Koordinatentransformationen zu tun? Wann gilt in der agilen Entwicklung statt YAGNI vielleicht doch auch manchmal DOGBITE? Und, weil Merkwürdiges eben merk-würdig ist: Was kann man von Indiana Jones über Problemlösungen lernen? Welchen Einfluss haben Rallye-Streifen auf die Geschwindigkeit von Sportwagen? Wie können die hypothetischen Eigenschaften außerirdischer Lebensformen die UIs von Business-Anwendungen verbessern?

Einführung in Maschinelles Lernen mit C#

Level 100

Sascha Dittmann

Auch wenn die meisten Lösungen für Maschinelles Lernen auf Python und R basieren, gibt es doch immer mehr Möglichkeiten diese auch mit .NET umzusetzen. Beispielsweise wurden gängige Frameworks, wie beispielsweise TensorFlow und Keras, bereits in die .NET-Welt portiert. Zusätzlich runden Frameworks wie ML.NET und Infer.NET den Baukasten hierbei ab. In dieser sehr Demo-lastigen Session, gibt Sascha Dittmann einen Einblick in diese Frameworks. Es werden dabei verschiedene ML-Modelle erstellt und in Applikationen eingebettet. Er erklärt außerdem die Hintergründe zu den verwendeten Algorithmen.

WinUI 3 – native UI Framework für Windows 10

Level 300

Marian Grzesik

Es gab schon viele UI Frameworks für Windows wie Windows Forms, WPF, UWP. Was sie gemeinsam haben, ist ihre Inkompatibilität. Weit verbreitetes WPF Framework basiert auf veraltetem Win32, UWP stammt noch vom Windows Phone und war nicht besonders bei Entwickler beliebt. Mit WinUI 3.0 sollte ein neues UI Framework die Probleme der alten UI Frameworks beseitigen und eine neue, einheitliche Schnittstelle bieten. Das Framework erlaubt ebenfalls eine Erweiterung der alten Frameworks um die neuesten Eigenschaften von Windows 10, Xbox, HoloLens und SurfaceHub zu nutzen. Während der Präsentation erfährt ihr den aktuellen Stand des Frameworks, es gibt viele Beispiele und ein Erfahrungsbericht.

Electron.NET – Crashkurs und neue Features

Level 400

Gregor Biswanger

Der Desktop ist tot, lang lebe der Desktop! Mit Electron.NET können Sie in ASP.NET Core - Cross-Plattform Desktop Software entwickeln. Nach über zwei Jahren und zahlreichen Git-Pull-Requests, sind zahlreiche neue Features dazugestoßen. Gregor Biswanger einer der Gründer von Electron.NET, zeigt in seiner Session eine kleine Einführung und demonstriert die neuen Features im Detail.

Auf in neue Welten - Migration von Self-Host Web-API 2 zu .NET Core 3.1

Level 300

Sebastian Schickentanz

.NET Core ist neu und sexy. Aber es gibt aktuell immer noch eine Vielzahl von Anwendungen, welche im „alten“ .NET Framework implementiert sind. Möchte man aber mit .NET Core arbeiten, bleibt einem nicht viel übrig als eine Migration anzugehen. Anhand eines Beispiels aus der Praxis soll gezeigt werden, wo die kleinen und großen Fallstricke bei einer Migration von Web-API 2 lauern. Dabei geht es nicht nur um die direkte Migration, sondern auch um Ansätze für Komponenten, die nicht migriert werden sollen oder können.

Rettet den Mars Rover - Units of Measure in F#

Level 100

Martin Grotz

Maßeinheiten durcheinandergebracht? Das kann auch mal einen Mars Rover kosten. Meter erwartet, aber Fuß bekommen? Um den Faktor drei verrechnen wird schon nicht so schlimm sein... Aber können wir das nicht besser machen? Klar können wir das, denn in der .NET-Welt gibt es ja F#: Da sind "Units of Measure" fest in die Sprache integriert - und weil deren Prüfung vom Compiler erledigt wird, bekommen wir die zusätzliche Sicherheit sogar ohne Runtime-Performance-Kosten!

Red-Hot, denn Hot ist nicht genug

Level 100

Kostja Klein

Bereits zum 7. Mal möchte ich mit Euch in meiner Lunch-Session der Frage nachgehen, welche aktuellen Hypes und Megatrends wir als IT-ler und Entwickler nicht ignorieren sollten und warum. Zusätzlich werde ich ein paar Gedanken darüber teilen, mit welchen Themen ich mich als Arbeitnehmer in unserer Branche beschäftigen würde, um auch künftige Anforderungen zu erfüllen. Ich freue mich, wenn Ihr in einer hoffentlich kurzweiligen Session darüber mit mir diskutiert.

Code Reviews als Pinkelwettbewerb

Level 300

Özgür Ergel

Qualitätssicherung ist in der Softwareentwicklung unbedingt erforderlich und ist Bestandteil jedes ordentlichen Entwicklungsprozesses. Ein Code Review ist nur eine von vielen Maßnahmen zur Qualitätssicherung der Softwareentwicklung. Ein Code Review ist eine systematische Untersuchung von Quellcode mit dem Ziel, Fehler und Mängel im Code zu finden und die Qualität des Codes und damit Gesamtqualität einer Software zu verbessern. Mit Hilfe eines Code Review können Fehler früher gefunden und behoben werden. Zudem kann mittels Diskussion über Code, Struktur und Styling ein besseres gemeinsames Verständnis geschafft werden. Indem über Code gesprochen wird, ergeben sich automatisch Regeln und Konventionen. Der Code kann dadurch konsistenter werden und damit wird auch eine Einarbeitung leichter. Wir steigern im Endeffekt unsere Produktivität und erhöhen durch höhere Code-Qualität, die Wartbarkeit und Änderbarkeit des Codes. Darüber hinaus werden Entwickler in jedem Code Review in den Dialog gehen und eine lösungsorientierte Teamkultur üben, um konstruktiv mit Konflikten umgehen zu können. Die Art und Weise wie Entwickler in den Dialog gehen und wie sie mit einander kommunizieren ist entscheidend, ob ein Code Review Erfolg hat oder nicht. Wie Sie auch erkennen, Code Reviews haben nicht nur einen positiven Effekt auf die Gesamt-Qualität der Software, sondern auf den gesamten Entwicklungsprozess und auch auf das Team. Natürlich, wenn es richtig bzw. zweckdienend gemacht wird. Ein zweckdienendes Mindset und Bewusstsein für soziale und psychologische Aspekte können uns dabei helfen, das wahre Potenzial von Code Reviews auszuschöpfen. Ansonsten wird ein Code Review nicht mehr als ein Pinkelwettbewerb bleiben und wertvolle Zeit und Energie verschwenden. Ich bin der Meinung, dass die sozialen Aspekte bei einem Code Review zu dem Erfolg oder Misserfolg eines Code Reviews erheblich beitragen. Daher finde ich wichtig, gemeinsam die Grundregen explizit zu halten und eine Sensibilisierung dafür zu schaffen. In diesem Vortrag möchte ich soziale Aspekte, die die Effektivität eines Code Reviews beeinflussen, aufzeigen und hilfreiche Hinweise geben, um Ihr Code Review angenehmer und effektiver zu gestalten.

Kubernetes tools for your day-to-day AKS operations

Level 300

Daniel Neumann

We cover several different Kubernetes tools like kubectx, ksniff, and Octant, just to name a few, in this session that you should know about and that help you in your daily life.

Natural born habits

Level 200

Sebastian Achatz

Sie arbeiten in einem Team und haben von Begriffen wie "Social Loafing" und "Risky Shift" noch nichts gehört. Dann sind Sie hier "goldrichtig". Diese Session geht (teils humoristisch) auf einige unsere menschlichen Verhaltensmuster und Angewohnheiten ein und wie sich auf uns und unser Team in dem wir arbeiten auswirken.

Vue.js 3 im Jahr 2020, das andere JavaScript Framework

Level 200

Albert Weinert

Vue.js gehört neben Angular und React zu den großen 3 JavaScript Frontend Frameworks. Albert erklärt in diesem Vortrag die Eigenschaften von VueJS, wozu es alles eingesetzt werden kann, wie man es testet, wie man damit entwickelt. Es wird die neueste Version 3 vorgestellt mit dem Stand der Vue.js Ökosystem in 2020. Von der Community zu UI Libraries über Server Side und Static Rendering bis hin zu mobilen Anwendungen und Storefronts. Am Ende wirst Du wissen ob Vue.js ein Framework ist mit dem du Dich beschäftigen solltest oder nicht, was die unterschiede zu React und Angular sind. Auch wirst Du wissen was es neues in Vue.js 3 gibt und womit man sich rund um Vue.js weiterbringen kann.

Vorträge der vergangenen Veranstaltungen