SlideShare ist ein Scribd-Unternehmen logo
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Robin Sedlaczek
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
 CTO der Fairmas GmbH in Berlin
 Community Leader DNUG Berlin
 Blogger / .NET Code Geek
 Sprecher
 MSDN Moderator
 Freier Autor
(Entwickler.de, Heise, DotNetPro, Informatik aktuell)
 Open Source
(SharpGL, Roslyn, FxCopAnalyzers, Force Feedback)
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
01 | Überblick
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
DIE COMPILER-BLACKBOX
 Compiler sind klassisch gesehen Blackboxes
 Geschlossene Softwarekomponenten
 Übersetzen Quellcode in etwas Ausführbares (Binärdateien)
Compiler
/// <summary>
/// This is the base class for all
/// shaders (vertex and fragment). It
/// offers functionality which is core
/// to all shaders, such as file
/// loading and binding.
/// </summary>
public class Shader
{
public void Create(OpenGL gl, uint shaderType,
string source)
{
// Create the OpenGL shader object.
shaderObject = gl.CreateShader(shaderType);
// Set the shader source.
gl.ShaderSource(shaderObject, source);
// Compile the shader object.
gl.CompileShader(shaderObject);
// Now that we've compiled the shader, check
// it's compilation status. If it's not
// compiled properly, we're going to throw
// an exception.
if (GetCompileStatus(gl) == false)
{
throw new ShaderCompilationException(
string.Format(
"Failed to compile shader {0}.",
shaderObject), GetInfoLog(gl));
}
}
Code File
1 1 0 0 1
0 1 1
1 1 0 1 0
1 1 1
0 1 1 1 1 0 0 1
1 0 1 0 1
1 1 0 0 1 0 1 1
0 1 1 1 0 1
1 1 0 1 0 0 0 1
1 0 1 0 1
0 1 1 1 1 0 0 1
1 0 1 0 1
1 1 0 0 1 0 1 1
0 1 1 0 1
1 0 1 0 1
Binary File
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
DAS PROBLEM MIT DER BLACKBOX
 tiefes Verständnis des Codes während Übersetzung
 Wissen, dass von IDEs und Werkzeugen genutzt werden könnte
 Problem: Wissen steht nach Kompilierung nicht mehr zur Verfügung
 Devs/Toolhersteller müssen ggf. Code selbst analysieren
Compiler
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
LÖSUNG DES PROBLEMS
 Aufbrechen der Blackbox
 Bereitstellung einer API-Schicht über dem Compiler
 Bereitstellung der Compiler-Ergebnisse über Objektmodelle
Phase 1 Phase 2 Phase 3 Phase 4
Blackbox wird zur Plattform:
.NET Compiler Platform
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
VORTEILE/NUTZEN
 Zugriff auf Compiler-Wissen zu jeder Zeit
 Code-bezogenen Aufgaben in eigenen Anwendungen
 Metaprogrammierung
 Codetransformation und Codegenerierung
 Interaktivität (VS Immediate Window, C# Script, REPL)
 Einbettung C#/VB in DSLs
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
OPEN SOURCE
 Roslyn ist Open Source!
https://github.com/dotnet/roslyn
 Verwaltet von der .NET Foundation
http://www.dotnetfoundation.org/projects
 Einblicke und Debugging des Codes
 Mitwirkung der Community
 Fork für eigene Zwecke
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
VISUAL STUDIO
 VS 2015: umfassender Umbau der IDE; Editor- und Sprachfeatures
basieren nun auf Roslyn
 .NET Compiler Platform SDK als VS-Extension verfügbar
 3 Projektvorlagen (Analyzer, Refactoring, Stand-Alone)
 Syntax Visualizer
 Visual Studio 2015 SDK vorausgesetzt
 Compiler/Workspace-APIs als NuGet-Packages verfügbar
 Scripting-API als NuGet-Package verfügbar
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Real World Example | Semantic Versioning
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
SEMANTISCHE VERSIONIERUNG
v1
v2
v3
v4
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
SEMVER.ORG
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
VERFOLGEN VON API-ÄNDERUNGEN
 öffentliche APIs in separater Datei
 API-Änderungen durch Compiler prüfen lassen
 API-Änderung nicht in Definition  Kompilierfehler
 Code-Fix hilft
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
VERFOLGEN VON API-ÄNDERUNGEN
 Nutzen
 Änderungen und Erweiterungen von APIs werden durch Compiler und Tooling kontrolliert
 Dokumentation von API-Änderungen out-of-the-box
 Prozesssicherheit, da Prozess automatisch ist
 API-Liste kann im Review verwendet werden
 Inkompatible API-Änderungen können sofort erkannt werden
 Versionsvergleiche von Code-Dateien nicht mehr nötig
 Visual Studio Extension
 Roslyn.Diagnostics.Analyzers
 Analyzer und Code-Fix via NuGet verfügbar: https://www.nuget.org/packages/Microsoft.Net.RoslynDiagnostics/
(Microsoft.Net.RoslynDiagnostics)
 Quellcode ist Open Source auf GitHub: https://github.com/dotnet/roslyn-analyzers
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
02 | Visual Studio Extensibility
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Real World Example | Critical Code
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
CRITICAL CODE
 Verwendung von kritischen Code visuell hervorheben
 kritischen Code markieren
 z.B. mit Marker-Interface
oder Attributen
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
CRITICAL CODE
 Nutzen
 Kritischer Code und seine Anwendung wird sichtbar
 Entwickler wird sensibilisiert im Umgang mit kritischen Code,
 Fehler und falscher Umgang können so reduziert werden
 In Code-Reviews kann gezielt kritischer Code unter die Lupe genommen werden, ohne diesen lange zu suchen
 Visual Studio Extension
 WaveDev.SensitiveCodeMarker von Robin Sedlaczek
 Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/WaveDev.SensitiveCodeMarker
 Demoprojekt auf GitHub: https://github.com/robinsedlaczek/WaveDev.RoomsReservationSystemDemo
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Real World Example | Alive
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
 Funktionsausführung direkt im Code-Editor
 Eingabe von Funktionsparametern via Popup
 Ergebnis und lokale Zustände werden direkt angezeigt
 direkt Anpassung lokaler Parameter möglich
ALIVE
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
ALIVE
 Nutzen
 Code-Ausführung ohne Anwendungsstart und Debugger
 Laufzeitverhalten von Code kann im Code-Editor direkt durchgespielt und analysiert werden
 Kontextwechsel zwischen Kodieren und Programmausführung fällt weg
 Ohne Kontextwechsel kann der Entwickler konzentrierter am Code arbeiten
 Ursache und Wirkung rücken dichter zusammen
 Direktes Feedback: Auswirkungen des Codes sind direkt am Entstehungsort sichtbar – im Editor
 Steigerung der Effizienz
 Reduktion von Entwicklungszeiten
 Visual Studio Extension
 ALIVE von Code Connect (http://blog.comealive.io/Three-Months-of-Alive/)
 CodeConnect gehört nun zu Microsoft (http://blog.comealive.io/Code-Connect-Joins-Microsoft/)
 Extension ist momentan leider nicht über die Visual Studio Gallery verfügbar!
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Real World Example | Application Scripting
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
 eigene Anwendung Script-fähig machen
 C# als Script-Sprache verwenden
 Roslyn bietet dafür die C# Scripting API
Fallbeispiel ModelR
 Kollaboratives 3D Modelling Tool
 Client-Server-Anwendung (basierend auf SignalR)
 Integriertes Scripting mit der C# Scripting API
 Script-Editor mit Syntax Highlighting
 Ausgabe von Kompilierfehlern
 Live Script Execution beim Tippen
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
 Script erlaubt direkten Zugriff auf Anwendungsobjekte
 es können aber auch eigene Objekte erzeugt werden
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
 Nutzen für Benutzer
 Flexibilität – Anwendung kann in sich erweitert werden, ohne Neukompilierung durch den Benutzer
 Erweiterbarkeit – Anwendung kann von allen Benutzer beliebig erweitert werden
 Effektivität – komplexe wiederkehrende Prozesse können vom Benutzer automatisiert werden
 Anpassbarkeit – ein Nutzer kann sich die Anwendung nach seinen Vorstellungen/Vorgaben anpassen
 Nutzen für Entwickler
 Beliebige APIs können dem Scripting zur Verfügung gestellt werden
 APIs sind dann zur Anwendungslaufzeit verfügbar und können dort ausprobiert werden
 Kontextwechsel zwischen Kodieren und Programmausführung fällt weg
 Code kann dort geschrieben werden, wo er seine Auswirkung hat
 Direktes Feedback der Auswirkungen sichtbar
 Steigerung der Effizienz
 Reduktion von Entwicklungskosten
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
 Fallbeispiel ModelR
 WaveDev.ModelR von Robin Sedlaczek
 Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/ModelR
 Clonen, Kompilieren, Ausführen: WaveDev.ModelR.Server zuerst starten, danach WaveDev.ModelR
 4 vordefinierte ModelR-Benutzer: Robin (PW: robin), Sarah (PW: sarah), Jan (PW: jan), Sebastian (PW: sebastian)
 Script-Kontext über globale Eigenschaft „ModelR“ bereitgestellt
 Über den Script-Kontext kann auf die Anwendungsobjekte zugegriffen werden (Users, SceneObjects)
 Neue Objekte werden aus Script ausgelesen und automatisch in die Szene übernommen
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Real World Example | Force Feedback Programming
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
FORCE FEEDBACK PROGRAMMING
 Force Feedback Programming erzwingt sauberen (Clean) Code
 Sauberkeit muss zuerst sichtbar gemacht werden
 Anwendung von Metriken (z.B. Anzahl Zeilen von Methoden)
 Ergebnisse werden direkt im Code visualisiert
 Entwickler erhält damit direktes Feedback zur Code-Qualität
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
FORCE FEEDBACK PROGRAMMING
Wer nicht hören will, muss fühlen! Es wird
anstrengend, wenn man versucht,
unsauberen Code zu erweitern…
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
FORCE FEEDBACK PROGRAMMING
 Nutzen
 Unterstützung bei dem Vorhaben, Clean Code zu schreiben
 Direktes Feedback zur Code-Qualität – genau dort, wo der Code entsteht (in-time, in-place)
 Entwickler werden gezwungen darüber nachzudenken, was sauberer Code ist
 Erschwertes Tippen zwingt den Entwickler, mehr sauberen Code zu schreiben
 Trainingswerkzeug für Einsteiger, Auszubildende und Junior-Entwickler
 Sauberer Code erhöht die Wartbarkeit und Erweiterbarkeit
 Steigerung der Entwicklereffizienz
 Reduktion von Entwicklungskosten
 Visual Studio Extension
 Force Feedback Programming von Ralf Westphal und Robin Sedlaczek
 Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/ForceFeedbackProgramming
 Extension via Visual Studio Gallery verfügbar: https://visualstudiogallery.msdn.microsoft.com/d909888c-fdf0-492c-bfd9-
6596e56530a8
RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
Roslyn – Produktivitätssteigernder Einsatz eines
offenen Compilers
„Seid kreativ!“
RobinSedlaczek.wordpress.com
RobinSedlaczek
RobinSedlaczek@live.de

Weitere ähnliche Inhalte

Was ist angesagt?

#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
Robin Sedlaczek
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
André Krämer
 
Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018
André Krämer
 
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenBASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
Robin Sedlaczek
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
Robin Sedlaczek
 
Workshop: Besseres C#
Workshop: Besseres C#Workshop: Besseres C#
Workshop: Besseres C#
Rainer Stropek
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
Robin Sedlaczek
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch Immutables
Robin Sedlaczek
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen
Ralf Eggert
 
Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3
Ralf Eggert
 
App server4rp gd - German
App server4rp gd - GermanApp server4rp gd - German
App server4rp gd - German
COMMON Europe
 

Was ist angesagt? (12)

#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 
Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018
 
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenBASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
 
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
Workshop: Besseres C#
Workshop: Besseres C#Workshop: Besseres C#
Workshop: Besseres C#
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch Immutables
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen
 
Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3
 
App server4rp gd - German
App server4rp gd - GermanApp server4rp gd - German
App server4rp gd - German
 

Andere mochten auch

.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript
Manfred Steyer
 
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pcSa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
Paula Cuayla
 
Angular 2: Routing
Angular 2: RoutingAngular 2: Routing
Angular 2: Routing
Manfred Steyer
 
Warbler Points and Rewards
Warbler Points and RewardsWarbler Points and Rewards
Warbler Points and Rewards
Mark Dunlap
 
Trabajo individual cuayla quispe paula
Trabajo  individual cuayla quispe paulaTrabajo  individual cuayla quispe paula
Trabajo individual cuayla quispe paula
Paula Cuayla
 
Editing the Photo Shoot
Editing the Photo ShootEditing the Photo Shoot
Editing the Photo Shoot
Daleisio
 
Layouts for magazines
Layouts for magazinesLayouts for magazines
Layouts for magazines
Daleisio
 
Rapunzel y sus invitados
Rapunzel y sus invitadosRapunzel y sus invitados
Rapunzel y sus invitados
Paulina García
 
Evaluation
EvaluationEvaluation
Evaluation
paula ravutia
 
AngularJS
AngularJSAngularJS
Возврат посетителей на сайт
Возврат посетителей на сайтВозврат посетителей на сайт
Возврат посетителей на сайт
smakkon
 
Яндекс Директ на поиске
Яндекс Директ на поискеЯндекс Директ на поиске
Яндекс Директ на поиске
smakkon
 
Подключение Веб Аналитики
Подключение Веб АналитикиПодключение Веб Аналитики
Подключение Веб Аналитики
smakkon
 
Elämänlaatu 2040 - Seuranta 2015
Elämänlaatu 2040 - Seuranta 2015Elämänlaatu 2040 - Seuranta 2015
Elämänlaatu 2040 - Seuranta 2015
Jakobstad Region Development Company Concordia
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
Nico Orschel
 

Andere mochten auch (15)

.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript
 
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pcSa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
Sa073 ii secundaria-paula cuayla _setiembre_ windows y la pc
 
Angular 2: Routing
Angular 2: RoutingAngular 2: Routing
Angular 2: Routing
 
Warbler Points and Rewards
Warbler Points and RewardsWarbler Points and Rewards
Warbler Points and Rewards
 
Trabajo individual cuayla quispe paula
Trabajo  individual cuayla quispe paulaTrabajo  individual cuayla quispe paula
Trabajo individual cuayla quispe paula
 
Editing the Photo Shoot
Editing the Photo ShootEditing the Photo Shoot
Editing the Photo Shoot
 
Layouts for magazines
Layouts for magazinesLayouts for magazines
Layouts for magazines
 
Rapunzel y sus invitados
Rapunzel y sus invitadosRapunzel y sus invitados
Rapunzel y sus invitados
 
Evaluation
EvaluationEvaluation
Evaluation
 
AngularJS
AngularJSAngularJS
AngularJS
 
Возврат посетителей на сайт
Возврат посетителей на сайтВозврат посетителей на сайт
Возврат посетителей на сайт
 
Яндекс Директ на поиске
Яндекс Директ на поискеЯндекс Директ на поиске
Яндекс Директ на поиске
 
Подключение Веб Аналитики
Подключение Веб АналитикиПодключение Веб Аналитики
Подключение Веб Аналитики
 
Elämänlaatu 2040 - Seuranta 2015
Elämänlaatu 2040 - Seuranta 2015Elämänlaatu 2040 - Seuranta 2015
Elämänlaatu 2040 - Seuranta 2015
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
 

Ähnlich wie BASTA! 2016 - Roslyn & Visual Studio Extensions

Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
Robin Sedlaczek
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
DNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net StandardDNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net Standard
Robin Sedlaczek
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein RichtungskompassDeveloper Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Robin Sedlaczek
 
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkBASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
Robin Sedlaczek
 
Clean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptxClean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptx
kaftanenko
 
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Robin Sedlaczek
 
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellMagdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Robin Sedlaczek
 
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
Robin Sedlaczek
 
Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklung
bhoeck
 
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
Gordon Breuer
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
Ulrich Krause
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
Christian Giesswein
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Gregor Biswanger
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
Peter Rozek
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
Ulrich Krause
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
DNUG e.V.
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Gregor Biswanger
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
argency
 

Ähnlich wie BASTA! 2016 - Roslyn & Visual Studio Extensions (20)

Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
DNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net StandardDNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net Standard
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein RichtungskompassDeveloper Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
 
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkBASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
 
Clean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptxClean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptx
 
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
 
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellMagdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
 
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
 
Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklung
 
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 

Mehr von Robin Sedlaczek

Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
Robin Sedlaczek
 
Azure Hybrid Connections
Azure Hybrid ConnectionsAzure Hybrid Connections
Azure Hybrid Connections
Robin Sedlaczek
 
.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard
Robin Sedlaczek
 
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
Robin Sedlaczek
 
#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces
Robin Sedlaczek
 
Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?
Robin Sedlaczek
 
Code Reviews - Best Practices
Code Reviews - Best PracticesCode Reviews - Best Practices
Code Reviews - Best Practices
Robin Sedlaczek
 

Mehr von Robin Sedlaczek (7)

Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
 
Azure Hybrid Connections
Azure Hybrid ConnectionsAzure Hybrid Connections
Azure Hybrid Connections
 
.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard
 
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
 
#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces
 
Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?
 
Code Reviews - Best Practices
Code Reviews - Best PracticesCode Reviews - Best Practices
Code Reviews - Best Practices
 

BASTA! 2016 - Roslyn & Visual Studio Extensions

Hinweis der Redaktion

  1. 1
  2. 3
  3. 10
  4. 15
  5. 17
  6. 20
  7. 23
  8. 28
  9. 32