Vorträge

RSS
Geändert am Mo, 24 Apr 2017 22:56 von RWeigelt Kategorisiert als Nicht kategorisiert

(Änderungen vorbehalten)

Sessions (60 Minuten)

Connecting local data and the cloud - Hybride Lösungen mit Microsoft Azure

Sebastian Achatz

"Die Cloud ist toll aber meine Daten gehören mir." Wer hat diesen Satz nicht schon von Kunden oder Arbeitskollegen gehört. Dabei muss sich beides nicht ausschließen. Microsoft Azure bietet viele Möglichkeiten für hybride Szenarien aus lokalen Daten und Services in der Cloud. Dieser Track zeigt anhand einiger Beispiele aus der Praxis wie das konkret aussehen kann.

(Level 200, 60 min)

Scaling to the sky - with Azure Functions

Sebastian Achatz

Diese Session gibt einen Überblick über Azure Functions und erläutert die Grundlagen von "Serverless Computing". Sie zeigt anhand von Beispielen aus dem "echten Leben" wie man eigene Anwendungen auf funktionaler Ebene quasi "grenzenlos" und zu einem Bruchteil der Kosten on-demand skalieren kann. "Serverless Computing" ist zu recht eines der kommenden großen Themenfelder und wird den Bereich rund um "verteiltes Rechnen" ganz neu definieren.

(Level 100, 60 min)

Exploring .NET’s memory management – a trip down memory lane

Maarten Balliauw

The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated. In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better. Expect profiling, Intermediate Language (IL), ClrMD and more!

(Level 300, 60 min)

Abo-Modelle für Software

Stefan Bamberg

Abo-Modelle erfreuen sich einer stark wachsenden Beliebtheit. Für den Softwareanbieter bieten sie eine regelmäßige Einnahmequelle. Für den Anwender vereinen sie einen kostengünstigen Einstieg mit flexibler Laufzeit und einer Aktualitätsgarantie.
Im B2C-Segment sind Abo-Modelle bereits seit Jahren etabliert. Virenscanner sind ein sehr einfaches Beispiel, aber auch Online-Spiele, Mitgliedschaften in Communities und Büro-Anwendungen kann man bereits seit Jahren abonnieren. Auch im B2B-Segment sind Abo-Modelle im stetigen Vormarsch.
Doch Abo-Modell ist nicht gleich Abo-Modell. Einige Anwendungsfälle beinhalten lediglich die Benutzung der Software. Nach Ablauf oder Kündigung des Abonnements erlischt das Recht zur Benutzung. Andere Anwendungsfälle beinhalten alle Produkte und Versionen, die innerhalb des Abonnements erschienen sind. Nach Ende des Abonnements besitzt der Anwender diese und kann sie weiterhin verwenden, ähnlich bei Zeitschriften oder Sammlungen. CodeMeter kann selbstverständlich beide Arten von Abonnements abbilden.
Der Vortrag zeigt, wie Sie einfach Abo-Modelle umsetzen können. Mittels einer eCommerce Lösung wie Cleverbridge oder eines ERP-Systems wie SAP kann auch die Abwicklung der Bezahlung automatisiert werden

(Level 200, 60 min)

Projekt Werner: Leben ermöglichen mit WPF und einer 3D-Kamera

Gregor Biswanger

Mein schwerbehinderter Bruder Werner ist Spastiker. Er sitzt im Rollstuhl und hat keine Kontrolle über seine Arme, und deutlich sprechen kann er auch nicht. Gefangen im eigenen Körper, ist es ihm nur extrem schwer möglich, mit anderen Menschen zu kommunizieren. Inspiriert von der Software für Stephen Hawking wurde die Open-Source-Software „Projekt Werner“ geboren. Dank dieser ist es schwerbehinderten Menschen möglich, mit Gesichtsgesten über den Computer zu kommunizieren.

Der Vortrag geht zum einen auf technische Details zu 3-D-Kameras und Eye Tracking ein. Zum anderen stellt er die modulare WPF-Architektur der Software vor, dank der zahlreiche Entwickler daran mitwirken können, was auch für andere Projekte mit größeren Teams interessant sein kann. Der Vortrag ist ideal für alle, die mit ihrem Können etwas Gutes vollbringen wollen

(Level 100, 60 min)

XAML Expertise – Top-XAML-Tipps aus den letzten fünf Jahren

Gregor Biswanger

Monat für Monat hat der Sprecher Top-XAML-Tipps aufgeschrieben und bei einem Fachmagazin publiziert. Insgesamt sind es bereits über 180 Top-Tipps für Einsteiger und Fortgeschrittene XAML-Entwickler. Der Vortrag zeigt davon die beliebtesten Tipps und Best Practices.

(Level 300, 60 min)

Von 0 auf 100 mit Git und Visual Studio

Tim Borowski

In einer knackigen Stunde werden sie die Befehle lernen, die Sie wirklich benötigen. Git ist zurzeit die angesagte Versionsverwaltung. Sie werden es nicht bereuen von TFSVC nach Git zu migrieren! Allerdings hat sie eine ganz eigene Philosophie, welche ich Ihnen vorstellen möchte. Dazu werden Sie die Verwendung sowohl im Visual Studio 2015 als auch in der Kommandozeile kennen lernen. Es erwartet Sie ein Crashkurs ohne viel Schnickschnack, griffig und mit nachvollziehbaren Beispielen.

(Level 100, 60 min)

Die Liga der außergewöhnlich kurzsichtigen Agile-Superleaders

Timothée Bourguignon

Leadership ist eine Aufgabe für Superhelden! Um Leute zu motivieren, zu begeistern und es möglich zu machen gemeinsam mehr als die Summe der einzelnen Personen zu sein, braucht man Superkräfte: Motivation, Delegation, Empowerment, Micro-Management, Information-Retention, Schutz usw. Manche dieser Superkräfte sind eher positiv, andere negativ geprägt - je nach Situation. Einsetzbar sind sie grundsätzlich immer... solange man weiß was man tut.

In diesem Vortrag werden wir einer Truppe außergewöhnlich kurzsichtiger Superhelden folgen, die solche Superkräfte rücksichtlos verwendet. Die Superkräfte helfen und Problemen können wirklich gelöst werden, aber gleichzeitig werden andere geschaffen; mit manch schlimmen Effekten. Jede Superkraft wird mit Erfahrungsberichten und Kampf-Narben präsentiert. Zuletzt werden verschiedene Ideen vorgeschlagen wie die Liga der außergewöhnlich kurzsichtigen Agile-Superleaders als Verbesserungsmittel in euren Teams verwendet werden könnte.

(Level 200, 60 min)

Der Parser-Generator ANTLR4

Fabian Deitelhoff

Die Grundlage für Programmiersprachen sind häufig sogenannte Grammatiken. Genau genommen kontextfreie Sprachen, die durch eine kontextfreie Grammatik definiert werden. Diese Sprachen zu analysieren, zu verarbeiten und zu transformieren ist seit Jahrzehnten festes Geschäft der Informatik.

Nun möchte nicht gleich jeder eine neue Programmiersprache definieren. Das ist in einer Vielzahl der Anwendungsfälle auch völlig übertrieben. Allerdings kann eine kontextfreie Grammatik noch viel mehr. Zum Beispiel das Eingabeformat einer Importdatei validieren oder die Einhaltung eines Kommunikationsprotokolls zwischen zwei verteilten Parteien. Und wenn es doch mal eine vollständige Programmiersprache sein soll, dann freut sich dein Kunde beim Customizing darüber, eine wohldefinierte Sprache verwenden zu können, anstelle von mit eval() und sonstigen Methoden evaluierten Snippets.

Diese Session gibt einen Überblick über den Parser-Generator ANTLR4, den Target-Frameworks und zeigt, wie mit wenig Aufwand eine formale Sprache zu C# überführt werden kann.

(Level 100, 60 min)

Hochskalierbare, Relationale Datenbanken in Microsoft Azure

Sascha Dittmann

Die meisten Softwareprojekte fangen mit einer einfachen relationalen Datenbank an. Doch was soll man machen, wenn die Anforderungen an die Datenbank wachsen? Was, wenn die Datenbankgröße und die Anzahl der gleichzeitigen Abfragen stetig wächst? Was, wenn aus einzelnen Datenbanken ein Data Warehouse entsteht? Sascha Dittmann zeigt in dieser Session wie solche und ähnliche Szenarien mit Microsoft Azure umsetzbar sind. Er stellt dabei Technologien wie Azure SQL Database Elastic Pools und Azure SQL Data Warehouse im Detail vor und gibt Beispiele aus der Praxis.

(Level 200, 60 min)

KISS, im Prinzip ganz einfach

Jan Fellien

Keep It Simple Stupid, dieses vielzitierte und oft missverstandene Prinzip der Clean Code Developer wird in seiner Wirkung all zu oft unterschätzt. Einfachheit ist gewünscht und gefordert. Sie spart Zeit und Nerven. Doch wo beginnt sie, wo wird aus Einfachheit Komplexität oder hat das am Ende gar nicht so viel damit zu tun?
Diesen und weiteren Fragen wird in diesem Talk nach gegangen und was das schönste ist, endlich kommen Lösungen auf den Tisch.

(Level 300, 60 min)

Wer braucht schon guten Code, wenn es Sch*** Code gibt?

Christian Giesswein

Erzählen Sie lieber niemanden, dass Sie in diese Session gehen. Nachdem sich jahrelange die verschiedensten Experten den Kopf zerbrochen haben, wie guter Code aussieht, drehen wir in dieser Session den Spieß um. Wenn es guten Code gibt, wie sieht denn so richtig, richtig „schlechter“ (bzw. Sch***) Code aus? Eine Session zum Schmunzeln, Lachen, ja auch Weinen, aber vor allem – „Oh,.. das habe ich auch schon mal gemacht“…

(Level 200, 60 min)

Lambdas, Func, Expressions => Wer braucht das?!

Christian Giesswein

Jeder Entwickler der mit LINQ schon in Berührung kam, kennt das ominöse Pfeilchen in seinem Code. Doch dennoch gibt es noch Entwickler die Berührungsängste vor solchen Ausdrücken haben und sich unsicher sind bei der Verwendung. Doch was steckt hinter solch einem Pfeilchen? Wofür kann ein Entwickler dieses Nutzen und was ist nun eine Expression bzw. LambdaExpression in der CLR? In 60 Minuten werden Sie aber gerade auf diesem Gebiet Meister, und selbst als Kenner fallen hier Details auf die für Sie neu sein werden.

(Level 300, 60 min)

Aktuelle Software-Client-Architekturen: Native, Hybrid oder Web mit SPA, AMP oder besser PWA?!?

Peter Hecker

"Heute schon ne' App gemacht? Ja? Was für Eine?". Genau, die Entscheidung für eine Software-Client-Architektur ist nicht einfach.

Moderne Anwendungen sollen auf verschiedenen Geräten mit unterschiedlichen Betriebssystemen laufen. Eine „Ein-Plattform-Strategie“ ist nicht mehr die Lösung, oder?

Der Vortrag zeigt die aktuellen technischen Möglichkeiten, um moderne Software-Client-Architekturen aufzubauen und präsentiert auch die Vor- und Nachteile dieser Ansätze.

And the winner is...

(Level 200, 60 min)

Vom 'Big Ball of Mud' zu unabhängigen Services

Marc Helbing | Johannes Karoff

Wenn Softwaresysteme und Entwicklerteams größer werden, wird ein monolithisches System schnell problematisch. Scrum-Teams sollten Software unabhängig voneinander entwickeln, testen und ausrollen können.

In diesem Vortrag behandeln wir verschiedene Arten, große Softwaresysteme zu strukturieren und in voneinander unabhängige Services zu unterteilen. Dabei diskutieren wir den Einsatz von APIs gegenüber Messaging, die Versionierung, Anforderungen an die Datenbankschemamigration sowie Testmethoden anhand eines realen Beispiels. Schauen Sie vorbei, wenn Sie mehr darüber herausfinden wollen, wie große Teams gemeinsam an einem großen Softwaresystem arbeiten und gleichzeitig kurze Releasezyklen realisieren können. Beachten Sie, wie wir an dieser Stelle den Begriff Microservice vermieden haben.

(Level 300, 60 min)

Azure DevTest Labs

Julia Jauß

Mit den Azure DevTest Labs lassen sich in kürzester Zeit komplexe Testumgebungen in Azure anlegen. Wie kann ich die DevTest Labs nutzen und welche Möglichkeiten habe ich? Wie lege ich die DevTest Labs mittels Azure Resource Manager Templates (ARM) an? Und wie behalte ich Kontrolle über meine Kosten? Anhand einiger Demos wird gezeigt, wie man die DevTest Labs für sich optimal nutzen kann.

(Level 300, 60 min)

SQL Server 2014+: Locks verstehen und Problem aufspüren

Thorsten Kansy

In jeder SQL Server Datenbank kommt es zu unzähligen Locks auf Ressourcen unterschiedlichster Art, damit (meist) ein reibungsloser Paraellelbetrieb möglich wird. Diese Session stellt die Funktionsweisen von Locks dar und zeigt Mittel stichhalte Analyse zubereiten, wenn’s mal nicht so reibungslos läuft- d.h. feststellen welcher Prozess welchen andere Prozesse blockiert

(Level 300, 60 min)

Data Platform für die Cloud

Constantin "Kostja" Klein

Daten stehen im Zentrum fast aller Anwendungen und im Cloud-Zeitalter gibt es nicht nur neue Regeln für Software - Stichwort Apps - sondern auch für die benötigten Technologien und Services einer Data Platform, die die Basis für diese modernen Anwendungen sein soll.

Kein Wunder also, dass sich kaum ein anderer Bereich in Microsoft Azure so schnell verändert wie die Cloud Data Platform. Und dabei geht es keinesfalls nur um “SQL Server in the cloud”. Ganz im Gegenteil. Im Bereich “Data & Storage” hat sich DocumentDB als NoSQL-Dokumentendatenbankdienst hinzugesellt. Neue Angebote wie Azure Data Lake haben das Licht der Welt erblickt und speziell der “Analytics” Bereich wartet mit Machine Learning, Stream Analytics, Data Factory und nicht zuletzt Event Hubs mit zahlreichen interessanten neuen Services auf.

Gewinnen Sie in dieser Session einen Überblick über die Plattform und lernen Sie mögliche Einsatzszenarien kennen, damit Sie für Ihre nächsten Datenherausforderungen gewappnet sind.

(Level 200, 60 min)

Lokale Datenhaltung in Xamarin-Apps

André Krämer

In den meisten Apps besteht die Notwendigkeit, Daten lokal zu speichern. Dies fängt bei kleinen Datenmengen, wie zum Beispiel Authentication Tokens, an und endet bei größeren Datenmengen, wie beispielsweise offline erfassten Daten, oder gecachten Antworten eines Web-API-Aufrufs. In diesem Vortrag lernen Sie welche Optionen Sie zur lokalen Datenhaltung haben. Sie werden dabei nicht nur erfahren, wo Sie Ihre Daten auf dem Gerät speichern können, sondern anhand praxisnaher Beispiele auch lernen, wann sich ein textbasiertes Format wie JSON oder XML anbietet und wann Sie besser zu einer lokalen Datenbank wie SQLite greifen. Abgerundet wird der Vortrag mit einer Diskussion über den aktuellen Stand der Implementierung des Entity Framework Core auf der Xamarin

(Level 300, 60 min)

TFS ohne Aufwand in der Cloud nutzen - taugt das was?

Neno Loje

Microsoft bietet den Team Foundation Server (TFS) nun auch fix und fertig in der Cloud an, gehostet auf Webservern in Westeuropa, bei null Installationsaufwand und kaum Admin-Aufwand. Und fünf Benutzer sind gratis sowie alle MSDN-Abonnenten und Stakeholder. Klingt doch soweit verlockend, finden Sie nicht auch? Der Vortrag zeigt, was der TFS in der Cloud kann, und zeigt Vorteile und Schwächen der Lösung auf sowie Best Practices, wenn Sie sich für den Weg in die Cloud entscheiden. Bringen Sie gerne Ihre Fragen mit!

(Level 200, 60 min)

1 Firma. 45 Mitarbeiter in 15 Zeitzonen. So funktioniert erfolgreiches Remote Working

Daniel Marbach

Bist du nicht im Büro so hast du nicht gearbeitet. Punkt, Aus, Ende Schluss! So tönt es aus den Management Etagen in vielen Unternehmen. International denkt man anders. Als Solution Architect für Particular Software Ltd. habe ich das Glück für eine Unternehmung zu arbeiten, die auf der ganzen Welt zerstreut ist. Zusammen mit 45 anderen «Particles» in 15 Zeitzonen bauen wir ein Softwareprodukt für verteilte Systeme für über 1000 Kunden weltweit. Ich zeige euch wie wir als zerstreute Firma unseren Arbeitsalltag gestalten und die Herausforderungen des Remote Workings meistern. Komm vorbei, ich zeige dir warum aus meiner Sicht Remote Working die Zukunft ist.

(Level 200, 60 min)

Codebasen zu async/await refaktorisieren

Daniel Marbach

Deine Geschäfts- und Infrastrukturlogik wird sich Richtung asynchroner Quellcode entwickeln. Große Codebasen zu async/await zu refaktorisieren, erscheint einen monumentalen Aufwand zu beinhalten. Das muss nicht sein!

In diesem Vortrag wird ein Vierphasen-Prozess vorgestellt, mit dem bestehender Quellcode um async/await erweitert werden kann. In der „Identifikations“-Phase werden die Komponenten klassifiziert, welche von async/await profitieren. In der „Entdeckungs“-Phase werden Hindernisse auf dem Weg zu async/await identifiziert. In der „Hindernis“-Phase wird gezeigt, wie Teile des Codes redesigned werden können, um die Hindernisse zu entfernen. In der „Bringe alles zusammen“-Phase wird der Quellcode refaktorisiert, der von Asynchronität profitiert. Alles in kleinen Schritten, ohne Big Bang. Der Vortrag ist ein Abenteuer mit async/await und eine Motivation für die Kraft von asynchronem Quellcode für die cloudbasierten APIs von heute und morgen.

(Level 300, 60 min)

Jekyll, Markdown & co. - wir bauen uns eine Projekt Dokumentation

Robert Mühsig

Dokumentieren ist nicht des Entwicklers Lieblingsthema, jedoch für die Langlebigkeit eines Projekts unerlässlich. Nutzt man Tools die Entwickler jedoch mögen, kann es die Dokumentationsbereitschaft enorm steigern. In diesem Talk möchte ich daher eine Einführung in Jekyll und Markdown geben und auch Dokumentationswerkzeuge aus dem Microsoft Technologieumfeld zeigen.

(Level 100, 60 min)

Web Performance-Optimierung

Hannes Preishuber

Websites werden immer langsamer und Benutzer immer ungeduldiger - vereinfacht gesprochen. Also: Was kann man tun, wo kann man optimieren? Wir starten mit Metriken, analysieren Architekturen und schließen mit Browser-Interna.

(Level 300, 60 min)

Testing untestable code using BDD

Omer Raviv

Ever had someone tell you that your feature is broken, even though all your Unit Tests were green? Has that made you wonder about the ROI for all that time you spent writing the tests?

Truth be told, there are projects that are harder to test than others, or even impossible altogether... Does that mean that you should not write automated tests and instead rely on manual QA, or are there cases where the significant investments in testing are worthwhile after all?

In OzCode we’ve used BDD to write strong, robust yet readable tests that thoroughly exercise features end-to-end, without succumbing to writing brittle UI-testing code, nor rationalizing it away as "too hard".

In this session, I’ll explain our test automation strategy and how we’ve harnessed the power of BDDfy, an open source library, to write beautiful, maintainable and concise tests. In short, BDDfy makes testing great again.

(Level 200, 60 min)

Sag mir was du kannst - RESTful API Dokumentation mit Swagger & Co.

Tobias Richling

Auf den Prinzipien von REST basierende APIs sind mittlerweile weit verbreitet. Gerade im Bezug auf die Einhaltung der REST-Forderungen, der Verwendung von standardisierten Datenformaten und der Dokumentation weisen jedoch viele APIs zum Teil erheblichen Lücken auf. Grund genug, sich über einen methodischen Ansatz von Entwurf, Dokumentation und Implementierung von REST-APIs Gedanken zu machen.

Hier kommen Frameworks ins Spiel, die einen ganzheitlichen Ansatz zur Gestaltung des gesamten Lebenszyklus einens APIs bieten wollen. Namhafte Vertreter dieser Gattung sind zum Beispiel Swagger, RAML oder API-Blueprint. Allesamt handelt es sich um Spezifikationsformate, mit denen ein RESTful-API beschrieben und dokumentiert werden kann. Die Idee ist neben einer Dokumentation auch automatisch Artefakte für die Implementierung und das Testen der Dienste abzuleiten zu können.

In der Session wird der Entwurfsprozess eines API am Beispiel von Swagger aufgezeigt. Ausgehend von der Beschreibung eines API soll gezeigt werden, wie man aus dieser Beschreibung einen Mock-Server zum Testen des API aufsetzen kann. Außerdem soll aus der Beschreibung eine rudimentäre Implementierung des Dienstes in APS.NET Core Web Api sowie eines Clients abgeleitet werden.

Abgerundet wird das ganze durch einen Ausblick auf die beiden anderen Spezifikationsformate RAML und API-Blueprint, die sich beide einer gewissen Beliebtheit erfreuen. Jedes Format hat seine eigenen Stärken und Schwächen die herausgestellt werden sollen, so dass der Zuhörer später in der Lage ist, für seine Anforderungen das passende Framework auszuwählen.

(Level 200, 60 min)

Welten verbinden: der Datenfluss von Entity Framework über ASP.NET WebAPI bis in den Browser mit Angular

Holger Schwichtenberg

In Zeiten von serverseitigem Databinding und modellgetriebenen Views war es einfach, Daten anzuzeigen und in Formularen zur Veränderung anzubieten. In modernen AJAX-Webanwendungen mit ASP.NET WebAPIs und Angular ist hier mehr zu tun. Webexperte Dr. Holger Schwichtenberg zeigt in diesem Vortrag auf, wie man dennoch möglichst effizient stark datengetriebene CRUD-Szenarien implementieren kann. Neben Entity Framework, ASP.NET WebAPI, RESTier und der aktuellen Version von Angular kommen dabei auch TypeScript und diverse Tools zum Einsatz.

(Level 300, 60 min)

Angular ist kein Web-Framework

Julian Steiner

... Angular ist eine Plattform. Durch die konsequente DOM-Abstraktion im neuen Angular, wird es ermöglicht Angular auch für die Entwicklung von Desktop-Applikationen, nativen Mobil-Apps oder sogar für die Programmierung von Microcontrollern zu nutzen. In diesem Vortrag wird von einer in TypeScript entwickelten Angular-Webanwendung eine native Mobil-App und eine Internet-of-Things-Applikation abgeleitet, welche ebenfalls in TypeScript und Angular implementiert sind. Es wird ferner gezeigt wie man Code zwischen diesen Implementierungen teilen kann und wie man seine Architektur gestalten sollte, damit ein solches Code-Sharing möglich ist. Durch die Vielzahl an Technologien wird es eine unterhaltsame und eher "geekige" Session. Der spielerische Charakter der Session eignet sich aber hervorragend, um die Philosophie hinter Angular in der Tiefe zu verstehen und Best Practices für die Architektur von Angular-Anwendungen kennenzulernen.

(Level 200, 60 min)

Authentifizierung und Autorisierung mit Angular

Manfred Steyer

Die wenigsten Anwendungen kommen ohne Authentifizierung und Autorisierung aus. Damit Benutzer nicht für jede Anwendung ein eigenes Passwort pflegen müssen, gilt es bestehende Identity-Lösungen zu berücksichtigen. Im Web-Umfeld sind das Dienste, wie Facebook oder Twitter und Enterprise-Anwendungen müssen meist Verzeichnisdienst, wie Active Directory, einbinden. Diese Session zeigt, wie Sie diese Anforderung in Ihren Angular-Anwendungen umsetzen können. Dazu geht sie auf die populären Standards OAuth 2 und OpenId Connect ein und zeigt, wie diese mit Angular und dem neuen Router genutzt werden können.

(Level 300, 60 min)

Durch die Schallmauer: Hochperformante Single Page Applications am Beispiel Angular

Manfred Steyer

Gerade bei großen Unternehmensanwendungen spielt Performance eine besondere Rolle. In dieser Session erfahren Sie am Beispiel einer Angular-Anwendung, mit welchen Maßnahmen Sie bei der Entwicklung von Single Page Applications dieses Architekturziel erreichen können. Dabei werden zunächst die Themen Ahead-of-Time-Compilation sowie Tree Shaking besprochen. Anschließend erfahren Sie, wie die Wahl der eingesetzten Datenstrukturen – darunter Immutables und Observables – die Datenbindungsperformance drastisch beeinflussen können. Zusätzlich wird auf die Themen Lazy Laoding und Preloading eingegangen und serverside Rendering sowie Service Worker beleuchtet.

(Level 300, 60 min)

Docker Container im Microsoft Universum

Rainer Stropek

Linux-VMs mit Docker in Azure, die neuen Azure Container Services (ACS), Docker auf Windows - Microsoft hat die durch Docker populär gewordene Containertechnologie lieb gewonnen. In dieser Session gibt Rainer Stropek, langjähriger Azure MVP und Microsoft Regional Director, einen Überblick über den aktuellen Stand der Dinge in Sachen Docker-Container im Microsoft-Universum. Er erklärt, wie man auf seiner Windows-Maschine Docker lokal einsetzen kann, geht auf die Unterstützung von Docker in Azure ein und zeigt anhand von Demos Windows Server Container in Verbindung mit Docker.

(Level 300, 60 min)

Application Monitoring mit Application Insights

Rainer Stropek

Application Insights verspricht Monitoring ohne viel Code schreiben oder Server aufsetzen zu müssen. Klingt zu gut um wahr zu sein? In dieser Session stellt Rainer Stropek, langjähriger Azure MVP und MS Regional Director, Application Insights vor. Er zeigt, wie man die Plattform in .NET und JavaScript einbaut und mit Hilfe der APIs erweitert. Anschließend demonstriert er, wie man die gesammelten Daten auswertet, in Dashboards darstellt und darauf basierende Alerts aufsetzt.

(Level 200, 60 min)

The Art of XAML Styling

David C. Thömmes

Mit der Einführung der deklarativen Programmierung per XAML hat Microsoft einen wahren Meilenstein des modernen User Interface Engineering abgeliefert! Egal ob WPF oder UWP - gerade mit Styles und Control Templates kann jedes beliebige Control in seinem visuellen Auftreten völlig frei angepasst werden. Mit fortgeschrittenen Techniken wie Attached Properties ergeben sich in der Kombination unglaubliche Möglichkeiten. Dabei zählt jeder Pixel sowie jede Kante und ebenso Konsistenz, Performance und Struktur. David zeigt Ihnen in einem Mix aus Präsentation und Live-Coding einen Einblick in die Arbeit eines professionellen UI Engineers und was es bedeutet Controls mit XAML zu stylen. Verpassen Sie diese Gelegenheit nicht und werfen Sie auch einen Blick in das Thema User Experience Design!

(Level 200, 60 min)

Vom Bildschirm in die Notaufnahme

Dennis Traub

25 Jahre in der Software-Industrie haben Dennis an die Grenzen seiner Leistungsfähigkeit gebracht. Sein nervlicher Zusammenbruch kam unerwartet, und war in Wirklichkeit doch längst abzusehen.

Aber er war auch dringend nötig. Denn so konnte Dennis schließlich erkennen, dass er schon ein halbes Leben lang nicht mehr auf sich selbst geachtet hat, sondern nur noch auf das, was er glaubte, das andere von ihm erwarten.

Seit seinem Burnout verbringt Dennis wesentlich mehr Zeit mit den Dingen, die ihm wirklich wichtig sind. Dazu gehört neben seiner Freizeit und seiner Familie auch, über seine Erfahrungen zu sprechen. Und über das negative Selbstbild, das so viele von uns plagt.

Gleichzeitig spricht er jedoch darüber, wie wir trotz all der Anforderungen, nämlich alles immer noch besser, noch schneller, noch perfekter machen zu müssen, zu uns selbst zurückfinden, wie wir ab und zu den Kopf wieder freibekommen für das, was uns wirklich wichtig ist.

(Level 100, 60 min)





Lightning Talks (20 Minuten)

downr - ASP.NET Core basierte Blog Engine

Benjamin Abt

Statische Webseiten und Blogs erfreuen sich einer großen Beliebtheit. Sie bieten bei einem minimalen Aufwand und bei minimalen Kosten einen so hohen Nutzen, dass auch Microsoft auf statische Content-Generatoren wie Jekyll und GitHub Pages zurück greift.

Mit downr gibt es nun auch im .NET Core-Umfeld einen hybriden Content-Generator.

In diesem Lighting Talk möchte ich anhand einer Live-Demo zeigen, wie einfach und schnell ein eigener ASP.NET Core und .NET Core basierter Blog mit statischen Inhalten aufzusetzen ist.

(Level 200, 20 min)

Rider – A powerful cross-platform .NET IDE

Maarten Balliauw

Rider is a new cross-platform .NET IDE from JetBrains. In this talk we’ll see what it is, what it does and how you can use it to be productive and efficient with it.

(Level 200, 20 min)

Lizenzierung leicht gemacht mit CodeMeter

Stefan Bamberg

Jeder Softwareentwickler kennt die Herausforderung. Wie kann ich meine Applikation verkaufen ohne zu viel Aufwand in einen selbstentwickelten Lizenzierungsmechanismus zu stecken? Dabei ist die Integration in die Software nur die eine Seite. Zusätzlich muss einerseits flexible Lizenzmodelle abdecken können andererseits den ganzen Mechanismus aber auch so schützen, dass er nicht gehackt werden kann. Und wie kommen die Lizenzen eigentlich nachher zum Endkunden? Ein kurzer Exkurs in die Welt der Softwarelizenzierung.

(Level 100, 20 min)

Webentwicklung mit Visual Studio Code - Tipps und Tricks

Daniel Beckmann

Visual Studio ist ein leichtgewichtiger und performanter Code Editor, der seine Stärken vor allem in Webprojekten ausspielt. Der plattformunabhängige Open-Source Editor unterstützt hierfür eine Vielzahl an Sprachen, wie C#, PHP, Java, Ruby, JavaScript, TypeScript, CoffeeScript, HTML, CSS und viele mehr. VSCode unterstützt IntelliSense und bietet neben einem eingebauten Debugger auch eine Git-Integration. Durch eine große Auswahl an Extensions hat man zudem die Möglichkeit, den Editor sehr leicht auf die eigenen Bedürfnisse anzupassen. Dieser Vortrag bietet eine Einführung in die Webentwicklung mit dem Editor und stellt die hierfür wichtigsten Funktionen, sowie nützliche Tipps und Tricks vor.

(Level 100, 20 min)

Ein Einblick in das Windows Subsystem For Linux

Tim Borowski

Das Windows Subsystem For Linux ist gerade in aller Munde und es macht Spaß damit zu arbeiten. Aber was habe ich davon? Wie funktioniert es und was ist der Unterschied zu einer klassischen VM? Nach 15 Minuten werden Sie damit arbeiten können und wissen, wo Sie was finden. Wir werden mit Windows Forms ein Programm für Linux schreiben und es im WSL auf einem Windows-Rechner über Mono ausführen.

(Level 100, 20 min)

IoT mit dem Wlan Chip ESP8266

Philipp Geitz-Manstein (mit Jannik Weyrich)

Internet of Things und Home Automation sind die großen Themen des Jahres. Der Mikrocontroller ESP8266 bietet mit seiner Wlan Schnittstelle einen günstigen und einfachen Einstieg in diese Themen. Wir möchten euch diesen Vorstellen und eine praktische Einführung geben, damit ihr eure eigenen Projekte starten könnt.

(Level 200, 20 min)

Bildererkennung für Apps mit OpenCV / EmguCV für Xamarin

Marian Grzesik

Inhalt:
  • EmguCV / OpenCV - kurze Einführung
  • Überblick über die Möglichkeiten der Bibliothek
  • Erfahrungsbericht
  • Beispiel

(Level 100, 20 min)

Continuous Integration mit TeamCity

Ralf Hoffmann

Continuous Integration, also automatische Builds, Tests und evtl. auch Deployment sind für moderne (nicht nur agile) Software Entwicklung ein Muss!

Team City ist ein Continuous Integration Tool von Jet Brains. Speziell für .Net Projekte hat es bereits "out of the box" einen großen Funktionsumfang, der durch eine Vielzahl an Plugins noch erweitert werden kann. Und das Beste: Für kleinere Installationen ist es sogar umsonst.

In diesem Vortrag wird das Tool mit seinen wichtigsten Features kurz vorgestellt.

(Level 100, 20 min)

MahApps & Co

Jan Karger

Open Source hat durch Microsoft noch einmal einen Schub bekommen. In diesem Lightning Talk möchte ich über meine Open Source Aktivitäten und Projekte sprechen und zeigen was mit WPF noch alles möglich ist.

  • MahApps.Metro
  • MahApps.Metro.IconPacks
  • GongSolutions.WPF.DragDrop
  • ControlzEx

(Level 300, 20 min)

OpenID Connect Cookiesharing zwischen ASP.NET und ASP.NET Core

Ralf Karle

Gelegentlich ist es nötig, das Authentifizierungscookie zwischen einer ASP.NET und einer ASP.NET Core Anwendung zu teilen. Ralf Karle gibt eine kurze Anleitung, wie man das bewerkstelligt.

(Level 300, 20 min)

Lucene - die Volltext-Suchmaschine

Jörg Kessenich

Apache Lucene ist eine hoch performante Library für die Textsuche, die in vielen bekannten Produkten eingesetzt wird. Dieser Kurzvortrag soll folgende Fragen beantworten:
  • Was ist Apache Lucene und wie funktioniert die Suche?
  • Wie kann man Lucene.net in eigenen Projekten einsetzen?
  • Wie kann man die Suchmaschine für Datenobjekte verwenden?
  • Lucene Search mit Luke debuggen (eventuell, je nach Zeit)
  • Referenzen, Links und Bücher

(Level 200, 20 min)

Übergreifende SSO-Lösung mit Azure AD B2C

Stefan Kießig

Mit zunehmender Nutzung von Cloud-, Webtechnologien und mobilen Apps wird eine Single-Sign-On-Funktion immer interessanter für Unternehmen. Eine vereinheitlichte Zugangskontrolle schafft großen Mehrwert für User und Unternehmen.

Die Anforderungen dabei sind kundenseitig eigentlich immer klar: Ein durchgehend stabiles SSO über alle Plattformen, so einfach wie möglich in der Nutzung, Wartung und Betrieb, zudem skalierbar, performant, sicher und natürlich kosteneffizient. Doch wie genau kommt man zu so einer Lösung? Mittels Azure Active Directory B2C.

In dieser Session erklärt Stefan Kießig, wie mit Azure Active Directory B2C eine übergreifende SSO Lösung aufgebaut und an die spezifischen Bedürfnisse angepasst werden kann. Auf ein Branding der SignUp- und SignIn-Page wird ebenso eingegangen. Natürlich gibt’s in dieser Session auch viele praktische Beispiele (inkl. Code) und eine Demo, um das Ganze zu veranschaulichen.

(Level 300, 60 min)

Hot, Hotter, Hottest

Constantin "Kostja" Klein

Inzwischen könnte man meinen persönlichen Raketenflug durch die heißen Themen des Jahres schon als Tradition der dotnet Cologne bezeichnen.

Auch in diesem Jahr möchte ich mit Euch über die Tops, Flops und Hypes der Branche diskutieren. Das Ziel ist eine hoffentlich kurzweilige und sehr interaktive Session, in der ich meine persönliche Liste an heißen Themen aus den Vorjahren wieder aufgreife und, ergänzt um einige neue Trends, mit Euch reflektiere. Und natürlich werde ich darstellen welche dieser Themen ich für wirklich relevant halte und warum.

(Level 100, 20 min)

Lust auf Cake? Man nehme etwas C# und fertig gebaut ist die Solution!

Robert Mühsig

Der Code ist in C# geschrieben - warum dann nicht auch das Build Script zum Bauen nutzen? Software "richtig" zu bauen erfordert meist etwas mehr zutun als im Visual Studio auf "Build" zu klicken. In dem Talk möchte ich ein Einstieg in die Welt von Cake (C# Make) geben und zeigen wie ihr es in euren .NET Projekten einsetzen könnt.

(Level 100, 20 min)

Lohnt sich .NET Core, ASP.NET Core, EF Core?

Holger Schwichtenberg

Microsoft hat das .NET Framework inklusive ASP.NET und dem Entity Framework noch einmal von Grunde auf neu implementiert. Wir haben jetzt Plattformunabhängigkeit, viel Modularität und ein paar neue Features. Was ist anders und was bedeutet das für uns? Wie weit ist die Entwicklung der Core-Produkte? Für welche Softwareentwicklungsprojekte lohnt es sich, jetzt auf die Core-Produkte zu setzen oder sogar bestehende Projekte umzustellen? DOTNET-DOKTOR Holger Schwichtenberg geht auf diese Fragen in seinem Kurzvortrag ein.

(Level 100, 20 min)

Windows 10 IoT Core

Jens Siebert

Dieser Lightning Talk soll einen kurzen Überblick zu Windows 10 IoT Core geben und die folgenden Fragen beantworten:
  • Was ist eigentlich dieses "Windows 10 IoT Core"?
  • Wie unterscheidet es sich zum herkömmlichen Windows 10?
  • Welche Möglichkeiten bietet es?
  • Wie entwickelt man Software für Windows 10 IoT Core?

(Level 100, 20 min)

Von Code-Sharing zu Xamarin Forms, ein Erfahrungsbericht

Jürgen Ströhmer

Eine (mobile) App, mehrere Plattformen, wie geht das ?

Angefangen habe ich mit gemeinsamen Source Code und bedingter Kompilierung in Windows Phone und Windows Desktop Projekten. Deutlich einfacher war dann Xamarin mit portablen Class Librarys für Model und View Model. Mit Xamarin Forms ist es jetzt auch möglich, die View's zu teilen, aber natürlich gibt es auch dabei Probleme.

In diesem Talk gebe ich einen Eindruck aus der Praxis, mit vielen Problemen aber keiner perfekten Lösung.

(Level 100, 20 min)

Bash Shell auf Windows

Rainer Stropek

Windows 10 hat eine native Bash Shell eingebaut, wusstest du das? Damit lassen sich native, Linux-basierende Entwicklungstools ohne VM oder externen Linux-Rechner wunderbar in den Entwicklungsalltag auf einem Windows 10-Rechner einbinden. In der Session erklärt Rainer, wie die Bash Shell unter Windows 10 funktioniert, zeigt die Anwendung anhand einiger Beispiele und geht auch auf ihre Grenzen ein.

(Level 200, 20 min)

Windows Holographic: Next Level UX für die Industrie

David C. Thömmes

Wirft man heute einen Blick auf die Benutzeroberflächen der dargebotenen Industrielösungen, erkennt auch der Laie einen massiven Nachholbedarf. Während viele Industriehersteller den Mehrwert einer ansprechenden und gut nutzbaren Benutzeroberfläche verschlafen, beflügeln bereits neue technische Errungenschaften, wie beispielsweise die HoloLens, die Erwartungshaltung der Nutzer. David gibt Ihnen einen spannenden Einblick in die Welt des Holographic Computing, der Mixed Reality sowie den dazugehörigen Designprozess. Die HoloLens bietet weit mehr als nur Augmented Reality und stellt für den Industriesektor eine unglaubliche Innovation dar. Werfen Sie einen Blick über den Tellerrand und erhalten Sie neue Impulse!

(Level 100, 20 min)

Feingranulare Komponenten per NuGet - Eine Herausforderung?

Kristof Unterweger

Komponentenbasierte Entwicklung ist ein Schlagwort das mehr Wiederverwendbarkeit und damit eine höhere Produktivität verspricht. Wie sieht das in der Praxis aus? Entwickler stehen erstmal vor neuen Problemen: Verteiltes Entwickeln, Verwaltung von Abhängigkeiten sowie neue Tools und Konzepte sind ungewohnte Herausforderungen, gerade bei feingranularen Komponenten.

Dieser Vortrag zeigt einige Ansätze, wie man mit diesen Herausforderungen umgehen kann. NuGet bildet die Basis, aber darauf aufbauend kommt ein hoher Grad von Automatisierung zum Einsatz. Das Ziel dabei ist, dass das Entwickeln von Komponenten möglichst dem Entwickeln direkt in der Anwendung ähnelt und typische Fehlerquellen so weit es geht ausgeschlossen werden.

(Level 300, 20 min)

Spaß, Verwirrung, Furcht und Basketball - User Experience unter Stress

Roland Weigelt

Ein UX-Spezialist mit Hintergrund als Software-Entwickler, der eine selbstgeschriebene Software im realen Einsatz bedient - was kann da schon groß schiefgehen? Eine Menge! Roland Weigelt spricht in seinem Vortrag aus eigener Erfahrung darüber, wie Stress und Nervosität beeinflussen, wie man eine Software sieht und erlebt.

Anhand von konkreten Beispielen berichtet er über Tunnelblick, schädliches Nachdenken und was passiert, wenn technische Details in die Bedienoberfläche durchsickern. Die Software kommt bei den Heimspielen des Basketball-Bundesligisten Telekom Baskets Bonn in der Veranstaltungstechnik zum Einsatz, die gewonnenen Erkenntnisse gelten universell.

(Level 100, 20 min)

Geheimnisse sichern mit Azure KeyVault

Albert Weinert

Azure KeyVault ist ein Dienst von Microsoft Azure, mit dem man sicher Geheimnisse wie Kennwörter, Zertifikate speichern kann. Dies verhindert unter anderem, dass Kennwörter in der Konfiguration liegen und ermöglicht Szenarien wie Key Rotation.

Dieser Lightning Talk gibt einen Überblick über die Möglichkeiten des Azure KeyVault, wie man ihn im Betrieb über Skripte mit Geheimnissen "füttert" und diese ihm später in der Anwendung wieder entlockt.

(Level 200, 20 min)

dotnet Cologne - die Community-Konferenz der .NET User Groups aus Bonn und Köln

!! | -- | ++ | ^^