Mit IntelliCode bringt Microsoft künstliche Intelligenz nach Visual Studio und Visual Studio Code, mit dem Ziel die Entwicklerproduktivität zu erhöhen. IntelliCode erweitert Entwicklerflows mit KI-getriebenen Services und Tools, die aus
dem eigenen lokalem, sowie aus dem Code von tausenden Open Source-Projekten auf GitHub ständig dazulernen. Das Tooling versteht Code und sogar den Kontext und kann so intelligente Hilfen anbieten. Kontextuelles IntelliSense,
Code-Formatierung, sowie Regelableitungen für Code-Richtlinien sind nur ein paar Beispiele. Aktuell steht IntelliCode für C#, C++ und XAML zur Verfügung, in Visual Studio Code für Python, TypeScript/JavaScript und Java. Weitere Sprachen
sollen folgen.
In dieser Session wird IntelliCode im praktischen Einsatz gezeigt und dessen Möglichkeit erläutert. Wir zeigen ebenfalls, was hinter dem Tooling und der KI steckt und was da eigentlich im Hintergrund abläuft.
Robin Sedlaczek
C++ Test-driven Development (TDD) with CUTE and Cevelop
TDD ist nicht Testen. TDD bedeutet qualitativ hochwertige, automatisch getestete Software zu realisieren. Es besteht aus sehr kurzen Entwicklungszyklen von "red-bar" zur "green-bar" (alle Tests OK), die Software Test für Test wachsen lassen. Diese Zyklen beinhalten die Reflexion über existierenden Code und Tests und kontinuierliches Refactoring zur Verbesserung des Designs. Populäre Entwicklungsumgebungen (IDEs) für Sprachen wie Java oder C# bieten TDD Unterstützung, indem sie Coderahmen anhand nicht-kompilierender Testfälle automatisch generieren und Refactoring automatisieren. Die Studierenden und Mitarbeiter des IFS (Institute for Software ) waren vor über 10 Jahren die ersten, die vergleichbare Mechanismen für C++ in einer IDE entwickelt haben. Heute sind diese Features in der freien C++ IDE Cevelop des IFS gratis verfügbare. Man kann TDD auch ohne Werkzeugunterstützung praktizieren, aber eine IDE spart dabei Zeit und Nerven. Einer der Vorteile ist die Vorschau der Änderungen eines Refactorings, deren selektive Auswahl, falls zu viel vorgeschlagen wird und ein einfacher "Undo" Mechanismus, wenn doch einmal die Automatik fehlschlägt oder manuelle Änderungen problematisch waren. Der Vortrag zeigt die Grundlagen von Test-driven Development, hilft beim Einstieg ins Schreiben von Tests mit "ZOMBIES" und demonstriert TDD an einem einfachen Beispiel in C++ mit Hilfe von Cevelop und dem eingebauten CUTE (C++ Unit Testing Easier) Framework. Im Gegensatz zu anderen C++ Testframeworks, versucht CUTE den Einsatz von C-Makros so minimal wie möglich zu halten. Sie werden nur dort genutzt, wo--in Ermangelung von Reflection Mechanismen--die Macros __FILE__ und __LINE__ genutzt werden, um zu den fehlschlagenden Testfällen navigieren zu können. Code-Rahmen für fehlende Teile und für neue Testfälle, sowie der Code für die Registrierung der Testfälle werden automatisch auf Knopfdruck oder Mausklick generiert. Laufende Tests werden per "red bar"/"green bar" visualisiert und bei Fehlern können die Unterschiede zum erwarteten Ergebnis eines Tests angezeigt werden. Nach Änderungen kann man Tests auch selektiv wieder ausführen um rasches Feedback zu erhalten.
Peter Sommerlad
On Error Handling
Programming has been historically guided by instinct and/or unsubstantiated claims, and to a lower extent by evidence. This is still the case, even in the presence of a growing body of published research. Given that writing of software involves dealing with the intrinsic complexity of the problem-to-solve and with the messiness of the real world, it is quite often the case that error handling and the testing thereof is poorly done. Especially challenging is the use of exceptions, since there is no direct connection from the place of the detection to the point of handling the error. This talk will explore the various methods of error reporting and handling, discuss some of the findings from published papers and dissect the advantages and drawbacks of the various approaches. Its aim is to inform the audience of the importance of detecting and reporting the errors, as well as having a well-designed strategy for error handling.
Andrei Zlate-Podani
Ask me anything
Diskutieren Sie zusammen mit Steve Carroll, Marc Goodner, Christian Vorhemus und Christian Binder von Microsoft über brennende Fragen der Community oder stellen Sie Ihre Eigenen.
Stellen Sie Ihre Fragen auf
ask.fm
Regensburger Maidult
Abfahrt zur Regensburger Maidult. Gemütliches Zusammensitzen bei Livemusik, Essen und Trinken.
Konferenz Donnerstag 23.Mai
Keynote: Cross-platform C++ development is challenging - let tools help!
Writing high-quality error-free C++ code itself is a challenging task, let alone when having to juggle multiple platforms at the same time! In this session, we will talk about many challenges in
cross-platform C++ development and how tools can help: what options do I have if my production environment is different than my dev box? Can I be as productive when working with remote Linux machines?
Is there any good C++ editor that works consistently on all platforms I work on? How can I efficiently build and debug CMake projects, or even get IntelliSense? How can I easily find and acquire open
sourced libraries? Is there an easy way to write and run cross-platform tests? Come to see what Visual Studio 2017, Visual Studio Code, CMake, WSL, Vcpkg and more have to offer to make cross-platform
C++ development much easier in this demo-heavy talk.
Marc Goodner
Alles was .NET Entwickler über Machine Learning wissen müssen
Ob Erkennung von Beschädigungen an Geräten, Einordnung von IT-Supporttickets in Kategorien oder Extraktion von Wissen aus einer Menge an Dokumenten: Machine Learning ist gerade das Zauberwort, um Lösungen für bis vor kurzem gar nicht oder nur sehr schwer lösbare Probleme zu konstruieren. Die Einstiegshürden in das Gebiet waren bisweilen jedoch nicht zu unterschätzen, braucht es neben einem gewissen Domänenwissen auch ein grundlegendes Verständnis, wie Machine Learning funktioniert, wie Daten dafür aufbereitet werden müssen und wie Modelle erfolgreich trainiert werden können. In dieser Session werfen wir einen Blick auf den kompletten Data Science Lifecycle, von der Identifizierung des Problems, über das Training des Modells bis zum Deployment einer Web-API. Viele dieser Schritte lassen sich in C#/.NET durchführen, speziell ML.NET bietet als Framework einen guten Orientierungsrahmen. Abgerundet wird der Vortrag mit einem Exkurs in die Welt von Python und TensorFlow um auch hochgradig spezifische Probleme abdecken zu können.
Christian Vorhemus
Wie funktioniert eigentlich der .NET Garbage Collector?
Im .NET und .NET Core Bereich ist automatisches Memory Management ein Standardfeature der CLR. Doch wie arbeitet der Garbage Collector eigentlich intern und wie kann ich meinen Code so GC-freundlich gestalten, sodass ein Maximum an Performance erreicht wird? Basierend auf Konrad Korkosas neuestem Buch Pro .NET Memory Management werfen wir in diesem Talk einen genauer Blick auf Stack und Heap, die verschiedenen Phasen eines GC-Durchlaufs und verschiedene Einstellungsmöglichkeiten für den Garbage Collector.
Kenny Pflug
Azure DevOps Build an extension to provide functionality which is missing in DevOps
Sie erfahren, wie Sie eine Erweiterung erstellen, welche Schlüsselpunkte zu verwalten sind und wie Sie sie auf dem Marktplatz veröffentlichen. In dieser Session erfahren Sie, wie Sie Azure DevOps (Azure DevOps-Server früher Team Foundation Server) erweitern.
Christian Waha
WebAssembly: nativer Code im Browser - C++ goes Web
Eine C++ Anwendung im Web, integriert in einer Single Page Application (SPA) - das geht? Ja, mit WebAssembly (WASM). Nativer Code im Web hat sinnvolle Anwendungszwecke für die unterschiedlichsten Szenarien. Durch die Möglichkeit, existierenden C++-Code speziell kompiliert in den Webbrowser zu laden, können komplexe Algorithmen und Berechnungen - wie sie etwa in Bild- und Videoverarbeitung vorkommen - Cross-Plattform auf nahezu allen Endgeräten ausgeführt werden. In diesem Vortrag zeigt Ihnen Martina Kraus zunächst die Grundlagen von WebAssembly anhand eines kleinen C++-Hello-World-Beispiels. Im Anschluss widmet sie sich dann der Frage, wie man eine existierende C++-Anwendung in eine Angular-basierte SPA integrieren kann, um das Beste aus beiden Welten zu nutzen. Dabei sollen typische Designpatterns und evtl. notwendige Umbauarbeiten an bestehendem Code ebenso beleuchtet werden wie die WASM Toolchain, mit der man zum Ziel einer nativ-angereichten modernen Web-App kommt.
Martina Kraus
Sichere Daten in C++ Anwendungen
Die von Anwendungen verarbeiteten Daten sind unterschiedlichster Natur. Je nach Daten ist es erforderlich, das diese von der Anwendung geschützt werden. Eingegebene Kennwörter im Klartext in der Anwendung zu halten ist ebenso keine gute Idee wie zum Beispiel das Übertragen von unverschlüsselten Personendaten. Handelt es sich gar um unternehmenskritische Daten sollte zudem über eine Signatur der Daten nachgedacht werden, damit der Empfänger dieser weiß, dass die Daten korrekt sind. C++ Entwicklern bietet Windows mit seinem Cryptography API Next Generation, oder kurz seinem CNG API, Funktionen, mit denen Schlüssel erstellt, Daten ver- und entschlüsselt und Nachrichten signiert werden können. Lernen Sie CNG und seine Möglichkeiten kennen, um die von Ihren Anwendungen schützenswerten Daten zu schützen und eine sichere Übertragung dieser zu gewährleisten.
Matthias Wedemeyer
Ihre API im Wandel der Zeit
Wie sollte ein Web-Service eine API öffentlich zur Verfügung stellen und wie kann diese API im Laufe der Zeit überwacht, gepflegt und erweitert werden? Meistens stellt man sich diese Fragen erst, wenn der erste Meilenstein, die Veröffentlichung der ersten API Version, unter Stress geschafft ist. Dabei gibt es einige Problemstellungen, die man im Vorfeld zumindest einplanen sollten, um nicht später den wichtigen Zeitvorsprung vor der Konkurrenz durch Mehrarbeit zu verlieren.
Dieser Vortrag entstand aus der Entwicklung von Microsoft‘s Cognitive Services - Speech Services API.
Ralf Beckers
Threads lässt man nicht warten - The essentials of "async and await"
Diese Session erklärt die Hintergründe zu "async and await" und zeigt warum es Sinn macht "async and await" konsequent in Anwendungen umzusetzen. Sie gewährt einen tieferen Blick "hinter die Kulissen" und bringt anhand praxisnaher Beispiele die elementare Funktionsweise näher.
In der Session sind Grundkenntnisse zum Thema "async and await" von Vorteil aber nicht unbedingt nötig.
Sebastian Achatz
GraphQL – forget (the) REST?
Spoiler Alert: In dieser Session geht es NICHT um Graph-Datenbanken, auch wenn es der Name vermuten lassen könnte. Es geht um die flexible Abfragesprache GraphQL die u. a. von Facebook, GitHub und Shopify als Alternative zu RESTful Web Services eingesetzt wird.
Was ist GraphQL? Welche Vorteile ergeben sich durch dessen Verwendung? Wie kann man GraphQL server- bzw. client-seitig verwenden? Fragen über Fragen, die wir in dieser Session klären werden.
Du verwendest RESTful Web Services zum Bereitstellen von Daten für deine Anwendung? Du denkst: „Ja klar, was denn sonst?". Dann sollten wir uns gemeinsam mal GraphQL näher ansehen.
Du liebst REST? Sie hasst REST? Du befindest dich gefühlsmäßig irgendwo dazwischen? Wage den Blick über den Tellerrand! Und vielleicht verwendest auch du nach dieser Session GraphQL für deine nächste Anwendung.
Christian Schwendtner
New C++ Features for writing DSLs
C++ is not the best language for writing domain-specific languages (DSLs), but it does have a few tricks up its sleeves.
Expression templates have been the go-to approach for this for years, but writing them has always been a pain. The recent C++ versions have improved this situation significantly.
We'll demonstrate several new C++ features which make writing DSLs borderline fun.
Dr. Ivan Cukic
Sane and Safe C++
folgt in Kürze ...
Peter Sommerlad
High performance Coding mit .NET Core und C#
.NET Core bietet eine Menge Vorteile, und wenn man diese Vorteile auflistet steht „Performance" meistens ganz vorne. Das ist kein Zufall, sondern das Ergebnis von sehr viel Entwicklungsarbeit. Microsoft und die Community wollte .NET Core für ein „High Performance Framework" machen – und dieses Ziel wurde erreicht!
In diesem Vortrag werden wir hinter die Kulissen blicken um herauszufinden welche Technische Änderungen dazu geführt haben, dass .NET Core und ASP.NET Core deutlich schneller sind als das (klassische) .NET Framework und ASP.NET.
Es werden 3 wichtige Werkzeuge detailliert behandelt: 1) ArrayPool, 2) Span, 3) das „ref" Keyword in C# und dessen Implementierung in der CLR.
Zusätzlich werden wir konkrete Beispiele vergleichen und mit BenchmarkDotNet den Performance-Benefit dieser Tools messen.
Gergely Kalapos
Xamarin – Best Practices und Performance
Das Erstellen von Cross-Plattform-Apps ist mit Xamarin einfacher als je zu vor. Aber kennen Sie die Einschränkungen und Stolperfallen, wenn es um das Schreiben von performantem Code und schnelle Benutzeroberflächen für diverse Plattformen geht? Kennen Sie die Tools zur Analyse von Flaschenhälsen in der Laufzeit? In diesem Vortrag lasse ich Sie von meiner Erfahrung aus über 6 Jahren Xamarin-Entwicklung mit Xamarin.Android, Xamarin.iOS und Xamarin.Forms profitieren.
Dabei wird auf folgenden Themen besonders eingegangen:
1) Projektarchitektur und Struktur
2) User-Interfaces
3) Dos and Don'ts im Code
4) Profiler und native Tools zur Analyse von Laufzeitverhalten, Speichernutzung und App-Größe.
Sebastian Seidel
Hybride Infrastruktur - Site-To-Site zwischen Azure und On Premise
Wie kann unser Unternehmen den Sprung in die Cloud schaffen, ohne bestehende Investitionen zu gefährden oder die On Premise IT Infrastruktur einer kompletten Restrukturierung zu unterziehen. Zum Einen unterstützt Microsoft durch das Azure Hybrid Benefit Programm die bestehenden, gekauften Server Lizenzen mit einem Preisvorteil von bis zu 40% zu nutzen. Zum anderen bietet Azure einige technische, sichere Möglichkeiten um das On Premise Netzwerk mit der Cloud zu verbinden. In diesem Vortrag wird auch die schrittweise Erstellung eines VPN Gateways gezeigt, das für kleine und mittelständische Unternehmen wirtschaftlich und effektiv den Weg zu einer schlankeren und kostengünstigeren IT in der Cloud endet.
Iwe Kardum
C++ goes Web: REST mit C++
Bereits seit einiger Zeit gibt es das C++ REST SDK, welches Klassen sowohl für REST-Client als auch REST-Serveranwendungen zur Verfügung stellt. C++ Entwicklern wird hierüber eine komfortable Möglichkeit gegeben, Anwendungen nahtlos in ein Web-Environment einzufügen und das als Consumer und Provider. Lernen Sie das C++ REST SDK kennen und erfahren Sie, wie http Client- und auch http Serveranwendungen mit Hilfe dieses SDK erstellt werden. Und das mit den Mitteln und Möglichkeiten des aktuellen C++ Standards.
Matthias Wedemeyer
Visual Studio Code
In der Zeit, wo Cloud Native, Performance C++ Lösungen immer wichtiger sind, stoßen viele Möglichkeiten im Software Engineering an ihre Grenzen. Trotz der vielen neuen Technologien, die die Implementierung eigentlich erleichtern sollen, steigen Kosten und Komplexität. Anhand von Demos zeigen wir, wie mit Open Soure Editor - Visual Studio Code, C++ Entwickler multi-Plattform Applikationen entwickeln können und liefern on premise sowie on Cloud mit Mitteln und Möglichkeiten des aktuellen C++ Standard. Unabhängig von Ihrem Business Focus lernen Sie, wie Native Applikationen implementiert werden können, sowohl in der Cloud (nicht nur Azure) als auch On-Premise mit der gleichen Code-Basis. Lernen Sie auch wie DevOp Automation und Testing mit Docker Containers eine große Produktivität Vorteile bringen kann, durch ganze ALM Prozesse für Native Applikationen.
Cosmin Dumitru
Eigene Erweiterungen für Visual Studio entwickeln und anbieten
Viele Firmen oder Projekte haben Richtlinien die von einfachen Regeln wie z.B. der Namensgebung bis hin zum Verbot spezieller Algorithmen wie z.B. MD5 als Hashfunktion reichen. Entstehender Code muss typischerweise manuell in Codereviews überprüft werden, was wiederum gerade unter Zeitdruck oder bei vielen Änderungen sehr fehlerträchtig ist.
Mit der .Net Compiler Plattform und dem Visual Studio SDK lassen sich leicht Erweiterungen entwickeln, die neuen Code automatisch während der Entwicklung überprüfen, sowie den Programmierer dabei unterstützen die Tipparbeit zu verringern - und das maßgeschneidert für Ihre Umgebung
Ralf Beckers
Einstieg in Performanceoptimierung mit BenchmarkDotNet
Im heutigen Alltag ist es für Softwareentwickler nicht nur wichtig, gut strukturierten, leicht wartbaren Code zu schreiben, sondern auch auf dessen Performance zu achten. In diesem Talk sehen wir uns die Grundlagen der Performanceoptimierung an: dabei schauen wir uns genauere Memory und CPU Cache an und sehen an praktischen Beispielen, wie die Performance der Library Light.GuardClauses optimiert wurde. Insbesondere gehen wir auch auf das Tool BenchmarkDotNet ein, mit dem man Performancemessungen automatisieren kann.
Kenny Pflug
Modernisierung klassischer .NET Anwendungen
Über die Lebenszeit einer .Net Applikation sammeln sich schnell einige technischen Schulden an, die aus Zeit- oder Budget-Gründen nie behoben werden.
Dazu kommt, dass verwendete Technologien und Patterns gnadenlos veraltet sind. Irgendwann wird die Situation erreicht, dass praktisch niemand mehr eine solche Applikation erweitern oder ändern möchte. Wie geht man damit um?
Neu entwickeln ist nur selten eine Option. Diese Session geht auf einige Möglichkeiten ein, solchen Situationen Herr zu werden.
Roland König
Chat Bot mit Azure Bot Services erstellen
Was ist das Bot-Framework? Und was ist ein Bot? Das Bot-Framework gehört zum Azure Cloud-Angebot von Microsoft, mit einer Vielzahl von Lösungen. Das Bot-Framework gehört zu den Intelligence-Angeboten, zusammen mit den kognitiven Diensten von Microsoft und Cortana. Mit den Azure Bot Services erstellen Sie sehr einfach Programme, die menschliches Verhalten nachahmen können. In dieser Session erleben Sie die Geburt eines neuen Chat Bots und erfahren wie auch Sie in einfachen Schritten einem Chat Bot das Leben schenken können.
Iwe Kardum
Moderne Cloud Backends mit .NET Core und Actor Programming Model
In der Zeit in der Microservices, Cloud und Hybrid-Technologien immer wichtiger werden, wird es zunehmend schwieriger, die richtige Architektur und Technologie Wahl zu treffen. Unabhängig davon, welche Art der Anwendung Sie implementieren, ist es unverzichtbar eine Backend einzusetzen, welche vielen wechselnden Anforderungen immer Stand hält.
Dies ist eine Session über Actor Programming Model, eine mächtige Technologie, die ermöglicht verteilte Systeme einfacher umzusetzen.
Mit Hilfe von zahlreichen Demos lernen Sie in dieser Session über moderne verteilte Architektur und verschiedene Skalierungs Techniken wie Horizontal Scale, Functional Scale (bekannt als Microservices) und Partitionierung von States.
Diese Session fokussiert professionelle Software-Entwickler und -Architekten, die moderne Cloud fähige Backend Lösungen implementieren.
Technologien im Fokus: Akka.NET, Service Fabric, Docker, Azure Container Dienste und .NET Core.
Damir Dobric
Blazor – Reinkarnation von Silverlight?
Die Geschichte von Web Anwendungen ist voll überraschender Wendungen. Mit aspnet core 3 wird ein neue Art von SPA Einzug halten. C# am Server oder Client und HTML als Viewformat. Erinnert etwas an Silverlight und doch ganz anders. Werfen Sie einen ersten Blick auf Möglichkeiten und Limitierungen um die Weichen für zukünftige Projekte zu stellenys. Fertig ist das ganze ohnehin noch nicht.
Hannes Preishuber
Zeitplan
66 Minuten Sessions über aktuelle Trends und Entwicklungen mit den Visual Studio Experten
Workshops Freitag 24. Mai
-
C# & .NET Deluxe 2019
Und wieder ist ein Jahr vergangen und es hat sich wieder viel verändert mit der Zeit in der .NET Welt. Ein neues Visual Studio 2019, .NET Core 3.0, .NET 4.8 und C# 8.0. In diesem Workshop geht es darum, was sich geändert hat, wo wir als .NET Entwickler 2019 stehen. Dementsprechend wird wieder live programmiert, mit VS 2019 und beispielhaft erklärt was sich neu ergeben hat in den einzelnen Teilbereichen der .NET Entwicklung.
Christian Giesswein
-
Web App mit ASP.NET Core MVC
ASP.NET Core ist Microsofts neues Cross-Plattform-Framework für Web-Applikationen und -Services.
In diesem Workshop lernen Sie, wie sie eine vollständige ASP.NET Core Applikation aufsetzen, MVC und Web API nutzen und die neuen Razor Features einsetzen.
Themen:
• Configuration, Logging, Services & Dependency Injection
• ASP.NET Middlewares
• Auhorization & Autorization
• Localization & Globalization
• Controllers & View Models
• Actions, Filters and Formatters
• Razor Views mit Tag Helpers & View Components
• Deploying
Voraussetzungen:
• Kenntnisse in C# und Web-Basiswissen (HTTP, HTML, CSS, JavaScript)
• Computer Setup
• Für Mac: Visual Studio Code, JetBrains Raider oder Visual Studio for Mac & .NET Core 2.0
• Für Linux: Visual Studio Code oder JetBrains Raider & .NET Core 2.0
• Für Windows: Visual Studio Code, JetBrains Raider oder Visual Studio 2017 15.3 & .NET Core 2.0
Gregor Biswanger
Jetzt anmelden!
-
Web API Design - REST, OData und GraphQL
Dass eine moderne Softwarearchitektur Web APIs beinhaltet, steht außer Frage.
Auf HTTP und JSON einigt man sich schnell, dann wird es aber schwierig.
Wie gestaltet man die API im Detail?
Wie soll man umgehen mit Filtern, Blättern, Sortieren, Gruppieren, Aggregieren etc.?
Wie veröffentlicht man API-Metadaten?
In diesem Workshop widmen sich Rainer Stropek und Christian Schwendtner diesem Thema.
Es spielt in nahezu allen Entwicklungsprojekten eine Rolle, da schließlich die Web APIs das Userinterface für die Microservices sind.
Rainer und Christian zeigen, welche Antworten das REST-Architekturmuster im Vergleich zu OData und GraphQL haben.
Sie stellen am Beginn des Workshops die drei Ansätze gegenüber und diskutieren mit den Teilnehmerinnen und Teilnehmern Vor- und Nachteile sowie Tipps aus der Praxis.
Anschließend werden gemeinsam Beispiele auf Basis ASP.NET Core entwickelt.
Voraussetzungen:
• Basiskenntnisse über Web-Entwicklung sowie C# und .NET Core
Christian Schwendtner
Jetzt anmelden!
-
C++11/14/17 in Visual Studio 2019
Das neue Visual Studio 2019 ist Anfang April 2019 erschienen. Der C++-Compiler setzt den aktuellen C++-17 Standard vollständig um.
Die Fülle der Neuheiten seit C++11 ist überwältigend. Sie machen die Programmierung mit C++ einfacher, sicherer, eleganter und effizienter. Wir nehmen die neue Version von Visual Studio zum Anlass, in diesem Workshop einen kompakten Überblick über die C++-Neuerungen seit C++11 zu präsentieren. Themen wie Initialisiererlisten, override, constexpr, if constexpr, benutzerdefinierte Literale, Move-Semantik, Lambda-Ausdrücke, Smart Pointer, variadische Templates, Multithreading, parallele Algorithmen, Filesystem, Module (C++20) usw. werden umfassend dargestellt und an Beispielen illustriert.
Richard Kaiser
Jetzt anmelden!
-
.NET Architektur
Der Workshop bietet einen Überblick über verschiedene Architekturimplementierungen und deren Testbarkeit.
Themen:
• Service Layer
• Security
• MVC und MVVM
• Object Mapping
• Best Practices
• Modernisierung
Zielgruppe: langjährige .NET Entwickler
André Ruland
Jetzt anmelden!
-
ASP.NET Core für den Webforms Entwickler
In diesem Workshop lernen Sie die Lösungen von üblichen Anforderungen eines Web Entwicklers mit ASP.NET core und der Razor View Engine kennen.
Dabei legt der Referent als ausgewiesener ASP.NET Webforms Experte vor allem Wert auf die Analogien.
Verzichtet wird dagegen auf alles was theoretisch möglich ist, aber vor allem zum Einstieg unnötige Komplexität erzeugt.
So einfach wie möglich, so nah an Ihrer bisherigen Erfahrungen wie möglich, so viel wie nötig aus der neuen dotnet core Welt.
Am Ende können Sie mit Visual Studio eine gängige LOB Anwendung mit ähnlicher Produktivität wie zu Webforms Zeiten erstellen.
Hannes Preishuber
-
Modern Applications with PaaS and Serverless
Themen:
• Evolution of Compute Platform
• Docker Containers Overview
• .NET Core in containers
• Azure Container Registry
• Azure Container instances
• AppService Container
• Overview Orchestrators Overview (Overview Kubernetes, Service Fabric)
• Service Bus (Hybrid computation, Point to Point, Pub Sub, Competing Consumer scenarios)
• EventGrid
• Azure Functions
• Logic Apps
Damir Dobric
Jetzt anmelden!
-
Die IODA Architecture - Software verständlicher und testbarer strukturieren
Softwarearchitekturen werden an bekannten und beliebten Mustern angelegt. Diese Muster wandeln sich, um Softwarearchitektur noch leichter zu machen. Früher war MVC, dann war Schichtenmodell, heute ist Clean Architektur. Programmiersprachen entwickeln sich und werden besser, Frameworks ebenso, Architekturmuster auch. Sollte man denken.
Leider sind die Architekturmuster jedoch steckengeblieben. Sie haben zwei Schritte vorangemacht und das Entwicklerleben vereinfacht. Nun allerdings treten sie auf der Stelle oder erzeugen sogar mehr Komplexität, wo sie reduziert werden sollte.
Der Workshop arbeitet funktionale Abhängigkeiten als Kernproblem hinter den klassischen Architekturmustern heraus und stellt den Teilnehmern eine grundlegende Lösung vor - die dann von allen anhand einer Anwendung selbst implementiert wird.
Ralf Westphal
Jetzt anmelden!