.NET: Die guten Teile - Von der CLR zur Community

Möchten Sie John Galloway (Executive Director der .NET Foundation), Pavel Yosifovich (Autor der legendären Windows Internals und neuer Kurse bei Pluralsight ) kennenlernen? Oder vielleicht mit Alex Thyssen - 12x MVP in der Kategorie Visual Studio? Oder trainieren Sie mit Conrad Cocos (Autor von Pro .NET Memory Management)? Jetzt haben Sie eine solche Gelegenheit.


Die größte Konferenz für .NET-Entwickler, DotNext 2019 Piter, findet vom 15. bis 16. Mai in St. Petersburg statt. Unter dem Schnitt wird eine strukturelle Überprüfung des Vorlesungsprogramms und ein paar Worte über das Training sein.


Eines Tages schrieb Douglas Crockford das Buch „JavaScript: The Good Parts“ und dies war der Beginn vieler Arbeiten, die sich der Hervorhebung des Besten in einer Vielzahl von Technologien widmeten. In diesem Hub werden wir über die vier besten Wissensabschnitte über das .NET-Ökosystem sprechen, die 2019 relevant sind.



Wie Sie wissen, beginnt die Arbeit an der Auswahl der Berichte in mehr als sechs Monaten. Hier ist unsere Raupe:



Während Sie sich auf diesem Weg bewegen, füllen sich die Felder auf der Seite des Konferenzprogramms ein wenig. Heute ist der 26. April, nur noch 19 Tage vor Beginn der Konferenz, und dies ist die Ziellinie. Die Referenten polieren die Berichte, die Organisatoren bereiten sich auf die Konferenz vor, die Teilnehmer kaufen Tickets.


Eine interessante Tatsache: Mitglieder des Programmkomitees schaffen es nicht nur, an ihrer Hauptaufgabe zu arbeiten und eine Konferenz abzuhalten - sie erfinden ihre eigenen Berichte und schreiben Bücher. Andrei Akinshin DreamWalker von JetBrains, ein Mann, der nicht vertreten sein muss, hat es geschafft, das Buch „Pro .NET Benchmarking“ parallel zur Vorbereitung der Konferenz fertigzustellen , zu der wir ihm herzlich gratulieren!


Schlüsselthemen


Die Struktur der Konferenz ist nicht statisch. Es ändert sich von Jahr zu Jahr und spiegelt die wichtigsten Trends in der Welt der .NET-Entwicklung wider. Sie können im Moment die nützlichsten Dinge lernen und mit den gefragtesten Rednern sprechen.


Im Frühjahr 2019 lautet die Liste der Hauptthemen wie folgt:


  • Trends - coole Übersichtsberichte zum Stand der .NET-Entwicklung im Allgemeinen;
  • Architektur - alles über gute Architektur;
  • Best Practices - bewährte Praktiken in verschiedenen Entwicklungsbereichen;
  • Interna sind der Mut verschiedener Technologien, vom Compiler bis zur Bibliothek.

Lassen Sie uns jede Kategorie einzeln behandeln.


In diesem Habropost werden nicht alle Berichte erzählt! Es ist eher eine Art schneller Überblick. Sie können sich das vollständige DotNext 2019 Piter-Programm ansehen . Ich rate Ihnen dringend, dies zu tun, denn egal wie viel Sie "halva" sagen, Ihr Mund wird nicht süß sein!


Alles unter der Haube ist der gleiche Hardcore, nur um viele zu Konferenzen zu kommen.


Pavel Yosifovich ist bekannt als Autor von Windows Internals, WPF Cookbook, Mastering Windows C ++ App Development und sechs Kursen bei Pluralsight. Wenn Sie auch an C ++ interessiert sind, spricht er auch darüber . Außerdem ist er ein bekannter Entwickler, Trainer und Redner, aber in dieser Rolle haben wir ihn praktisch nicht gesehen - er kommt fast nie in Russland vor. Es ist ein großer Stolz und viel Glück, dass Pavel zum zweiten Mal zu DotNext kommt. Das letzte Mal hat es ihm sehr gut gefallen. In seinem neuen Vortrag „Erstellen eigener Profilierungs- und Diagnosetools mit Event Tracing für Windows“ wird er darüber sprechen, wie ETW in seinen Dienst gestellt werden kann, und er wird Ihnen auch viele praktische Details geben.


Christophe Nasarre ist eine erstaunliche Person, die neben mehr als 25 Jahren Erfahrung mit Microsoft-Technologien seit 1996 technischer Gutachter bei MSPress, Addison-Wesley und anderen Verlagen ist und an Büchern wie CLR via C # und den neuesten Ausgaben von Windows Internals arbeitet . Zusammen mit Kevin Gosse werden sie einen ausführlichen Vortrag über das Debuggen asynchroner Szenarien in .NET halten . Es gibt nichts Einfacheres als das Debuggen von asynchronem Code - wenn zwei WinDbg-Experten und andere Tools darüber sprechen.


Andrey Karpov arbeitet bei JetBrains, wo er an der Unterstützung der C # -Sprache für ReSharper- und Rider-Produkte beteiligt ist. Vor JetBrains war er an der Programmierung auf niedriger Ebene, der Erforschung des Windows-Kernels usw. beteiligt. Die C # -Sprache entwickelt sich weiterhin schnell. Die kommende Version bietet Unterstützung für asynchrone Iteratoren. Was ist das? Wofür ist das? Wie funktioniert es Sie können jetzt lernen, wie man asynchrone Streams verwendet, indem Sie den Vortrag „Ergib dich mir, weil ich auf dich warte“ besuchen.


Nikita Tsukanov hat erstaunliche Arbeitserfahrung. Er begann in Navigator mit der Entwicklung unter WinCE / Mobile auf C / C ++, machte einen VPN-Dienst mit einem plattformübergreifenden Client auf GTK #, dem Promarket-Marktplatz, den Mono für Nokia N900 unterhält, und stellte Tools für Chip-Tuning-Autos her, einen mobilen Messenger mit End2End -Verschlüsselung und ein paar Dinge. In seinem Vortrag „Plattformübergreifende objektorientierte Interaktion von C # und C ++“ wird eine Lösung für die bidirektionale transparente Interaktion zwischen C ++ und C # auf Schnittstellenebene vorgestellt, die sowohl C # -Klassen als auch C ++ - Klassen implementieren kann. Mit anderen Worten, Sie können die Schrecken von C ++ / CLI vergessen und eine Alternative in Betracht ziehen.


Evgeny Peshkov epeshk befasst sich mit der allgemeinen Infrastruktur bei Kontur und entwickelt eine Cloud-basierte Anwendungshosting-Plattform. Er interessiert sich für das interne Gerät von .NET und Windows und nutzt dieses Wissen in der Praxis. In dem neuen Bericht „Multithreading in .NET: Wenn die Leistung fehlt“ werden die Fehler und Probleme bei der Verwendung von Multithreading in .NET untersucht. Schauen wir uns einige Beispiele an, wenn die Verwendung von Tools aus der Standard-.NET-Bibliothek zu Leistungseinbußen führte, und sprechen wir über Lösungen, die auf bestimmte Aufgaben zugeschnitten sind und diese Mängel aufweisen.



Viele stehen Berichten über die ferne Zukunft skeptisch gegenüber, wenn Raumschiffe die Weiten von .NET pflügen. Glücklicherweise ist hier alles viel interessanter, da die Berichte von bekannten und angesehenen Personen in der Gemeinde erstellt werden, die es wert sind , angehört zu werden. In Feedback-Formularen wird häufig nach einer bestimmten Person gefragt - und das Programmkomitee versucht, diese Wünsche zu erfüllen.


Beispielsweise führt Dino Esposito zwei Berichte gleichzeitig durch: "ASP.NET Core 3.0: Stand der Technik" und "ASP.NET Blazor-Programmierung 101" . Erstens sind dies nur sehr beliebte Themen. Zweitens ist Dino eine Person, die mehr als 20 Bücher, weniger als 1000 Artikel, mehr als 500 Berichte auf Konferenzen usw. verfasst hat - einer der beliebtesten englischsprachigen .NET-Sprecher. Und drittens hat Dino in DotNext eine solide Geschichte geschrieben und seit 2014 jedes Jahr einen Bericht veröffentlicht, einschließlich der Eröffnungsrede des ersten Moskauer DotNext. Offensichtlich sollte er über ASP.NET Core 3.0 sprechen.


Dmitry Nesteruk Mezastel , das viele in der .NET-Community von St. Petersburg bereits kennen, wird über das Neueste in C # 8 sprechen. Übrigens hat Dmitry 2014 den allerersten Bericht über den allerersten DotNext in St. Petersburg gemacht - und hier ist er wieder bei uns! Und Nico Vermeir wird über die Zukunft der Desktop-Entwicklung sprechen, während Wesley Cabus im Gegenteil über Chaostests sprechen wird. Im Allgemeinen sind dies die Themen, die jetzt in der Community aktiv diskutiert werden, und deshalb sind sie in das Programm aufgenommen worden.


Separat möchte ich über John Galloway sagen. John ist Executive Director der .NET Foundation, technischer Evangelist bei Microsoft, Co-Autor von Professional ASP.NET MVC und bekannte Tutorials wie der MVC Music Store , ein renommierter Redner und Podcast. Viele Leute kennen die .NET Foundation bereits, aber sie verstehen nicht genau, was sie wirklich ist und warum sie überhaupt davon wissen. John wird all diese Fragen offenlegen und Ihnen sagen, wie Sie daran teilnehmen können.



In der Architektur geht es darum, wie Sie Ihre Systeme organisieren, welche Elemente Sie auswählen und wie sie sich verhalten und interagieren sollen. So bauen Sie große aus kleinen Subsystemen zusammen. Wie man den richtigen Architekturstil wählt, der die Entwicklung leitet, wie man ihn beschreibt und vermittelt und so weiter.


Architekturberichte werden vom Programmkomitee besonders streng geprüft. Wenn sich ein solcher Bericht auf die in einem Projekt entwickelten Praktiken bezieht, sollte es sich um ein wirklich erfolgreiches technologisches Projekt handeln. Der Redner sollte nicht nur das Thema kennen, sondern auch die komplexesten abstrakten Dinge in kürzester Zeit (Stunde für den Bericht) verständlich erklären. Im Allgemeinen sollten dies Informationen sein, denen man vertrauen kann, und nicht etwas, das von der Decke genommen wird. Der Hauptunterschied zum Beispiel zur Kategorie Trends besteht darin, dass architektonische Effekte heute oder morgen keine Auswirkungen haben, und genau die Prinzipien zu betrachten, die zum Zeitpunkt des Besuchs solcher Berichte getestet wurden.


Hier ist zum Beispiel der Bericht von Vagif Abilov VagifAbilov zu erwähnen . Wagif hat für die norwegische Firma Miles gearbeitet und seine Programmiererfahrung umfasst etwa drei Jahrzehnte. Jetzt beschäftigt er sich mit der Entwicklung von Systemen in F # und C #, spricht häufig auf Konferenzen, nimmt an Open Source-Projekten teil und unterstützt Simple.OData.Client. Sein Bericht „Leben nach Geschäftsobjekten (Geständnis des PLO-Veteranen)“ sollte für alle von Interesse sein, die sich für Domain-Modellierung und F # interessieren. Vor einigen Jahren wechselte das Team von Vagif, das es satt hatte, Datenstrukturen, Thread-Synchronisation und umständliche Geschäftsobjekte zu mutieren, zu F #. In diesem Bericht werden sowohl die Erwartungen an einen solchen Übergang als auch der neue Ansatz zur Domänenmodellierung erörtert, den sie beherrschen. Wir werden uns separat mit Geschäftsobjekten befassen - genauer gesagt mit ihrer Abwesenheit - und wie sie erfolgreich ersetzt werden können. Da solche Themen oft kontrovers sind, haben wir beschlossen, die Diskussion direkt während des Vagif-Berichts zu beginnen, sie interaktiv zu gestalten und einen anderen populären Redner, Maxim Arshinov , Marshinov , einzuladen .


Wenn Ihr Projekt kein erstklassiges Vermächtnis ist, hat es höchstwahrscheinlich ein modisches Architekturkonzept. Zum Beispiel CQRS. Oder DDD. Oder vielleicht Schauspieler Model? Es macht jedoch keinen Unterschied - alle sind irgendwie mit der Welt der funktionalen Programmierung verbunden. Darüber wird uns Roman Nevolin Nevoroman in einem Bericht alles mit dem Spruch „Warum ist Ihre Architektur funktionsfähig und wie man damit lebt ? “ Erzählen.


Damit Sie nicht glauben, dass dies eine Art Treffen von Funktionären und F # -Listen ist, müssen Sie die Berichte erwähnen, die die Diskussion über das klassische Dilemma von Mikrodiensten und Monolithen entwickeln. Sean Farmar von Particular Software (NServiceBus-Entwickler) zeigt in seinem Bericht " Erfolgreiches Zerlegen Ihres Monolithen" nicht nur, wie man einen Monolithen sägt, sondern auch, wie man die DDD- und SOA-Prinzipien verwendet, um einen einfachen vertikalen Schnitt zu simulieren. Das Thema DDD wird von Konstantin Gustov in seinem Bericht „DDD in Microservices: Komplexität versus Komplexität“ fortgesetzt.



Best Practices sind eine Möglichkeit, erfolgreiche praktische Erfahrungen zu formulieren. Wenn es einen optimalen Weg gibt, um das Ziel zu erreichen, kann es möglicherweise an anderen Stellen angewendet werden. Der Begriff „Best Practice“ wurde 1914 von Frederick Winslow Taylor , einem amerikanischen Ingenieur, dem Begründer der wissenschaftlichen Organisation für Arbeit und Management, geprägt. „Unter der Vielzahl von Methoden und Werkzeugen, die zu jedem Zeitpunkt eines jeden Prozesses verwendet werden, gibt es immer eine Methode und ein Werkzeug, die schneller und besser funktionieren als andere . Seitdem sind mehr als hundert Jahre vergangen. Die Menschheit hat eine weitere großartige Entdeckung gemacht - Programmierkonferenzen, der beste Weg, um Best Practices zu entdecken!


Unter Berichten dieser Art gibt es traditionell viele einfache Einführungsberichte und angewandte Berichte. Das Wichtigste dabei ist, eine rein praktische Idee klar zu vermitteln, damit Sie in ein paar Tagen zur Arbeit kommen und mit der Anwendung beginnen können. In der Wildnis der architektonischen Astronautik gehen sie normalerweise nicht tief, dafür gibt es eine andere Reihe von Themen.


Wen möchten Sie als Redner in dieser Kategorie sehen? Beginnen wir mit Alex Thissen. Er programmiert seit Ende der 90er Jahre, hat als führender Entwickler in verschiedenen Unternehmen (von kleinen Startups bis zu großen Unternehmen) gearbeitet und lehrt nun Anwendungsentwickler, Microsoft-Technologien zu verwenden, Architekten, um moderne verteilte Anwendungen zu entwerfen und zu erstellen, und entwickelt Spiele in ihrer Freizeit. Sein Bericht "Ich fühle mich nicht so gut ... Integrieren von Integritätsprüfungen in Ihre .NET Core-Lösungen" fällt erwartungsgemäß in die Kategorie "Smoothie" und spricht über eine ganz bestimmte Sache: Integritätsendpunkte in ASP.NET Core 2.2. Wie man sie einbettet, was sie im Allgemeinen sind, was mit externen Abhängigkeiten wie Datenbanken und HTTP-Endpunkten passiert. Und schließlich, wie man alles auf einem Cluster containerisierter Software verwendet.


Aber Dmitry Ivanov von JetBrains hat einen schwereren Bericht. "Asynchrone Programmierung in .NET: Best Practices" handelt von einem wunden Punkt. Deadlocks und Flüge mit dem Aufkommen von Async / Warten warteten nirgendwo - sie gruben sich tiefer und wurden schwieriger zu diagnostizieren. Die richtigen und falschen Muster zum Schreiben von asynchronem Code werden von niemandem, sondern vom technischen Experten JetBrains Rider und dem Entwickler des ReSharper-Kernels (Datenstrukturen, Caches, Multithreading) mitgeteilt.


Der Architekt des Info-Supports, Edwin van Wijk, erwähnte kurz die anderen Redner mit „Wie Sie Ihr Microservices-System mithilfe eines Service-Meshs in den Griff bekommen“ - eine Geschichte darüber, wie Sie ein Mesh für Ihre Microservices implementieren und grundlegende Dinge wie Routing erstellen , Leistungsschalter und so weiter. Roberto Freato wird uns erklären , wie man das Leben vereinfacht, indem man sich hinter dem API-Gateway versteckt, aber keine Fahrräder in den Bericht „API-Gateway leicht gemacht mit Ocelot und Containern“ schreibt, und Matthias Koch , der Entwickler des modernen NUKE-Montagesystems, wird darüber sprechen .



Am 17. Mai, direkt nach dem Hauptkonferenzprogramm, findet das Konrad Kokosa-Training statt. Es wird 10 bis 18 Stunden dauern.


Dies ist eine Schulung, von der fast jeder .NET-Entwickler profitieren kann. Es beginnt mit grundlegenden Konzepten zur .NET-Laufzeit und geht dann auf eine Reihe von Aspekten der Speicherverwaltung ein. Sowohl ein erfahrener Entwickler als auch ein Anfänger können viel aus dem Training herausholen. Auch ein sehr fortgeschrittener Entwickler hat dort etwas zu lernen!


Conrad ist der Autor von Pro .NET Memory Management. Seit über einem Dutzend Jahren beschäftigt er sich weiterhin mit Leistungs- und Architekturproblemen in der .NET-Welt, einschließlich der Beschleunigung von Webanwendungen. Leistung und Diagnose von .NET-Anwendungen - das ist die Spezialisierung seiner Schulungen. Conrad erhielt MVP in der Kategorie Visual Studio und Development Tools und ist Mitbegründer von https://dotnetos.org .


Das Ziel ist, dass die Teilnehmer durch die Schulung eine viel tiefere Vorstellung von der automatischen Speicherverwaltung in der .NET-Laufzeit erhalten (sowohl im Framework als auch im Core). Auf diese Weise können Sie Code schreiben, der die Arbeit mit dem Speicher berücksichtigt, und verschiedene damit verbundene Probleme diagnostizieren. Darüber hinaus lernen wir hier nicht nur die direkte Anwendung der Dinge kennen, sondern auch, wie und warum sie auf diese Weise und nicht auf andere Weise implementiert wurden. Lassen Sie uns zum Beispiel die Details der Garbage Collector-Implementierung ansprechen. Dies erleichtert die Lösung einer Vielzahl anderer Probleme, die über den Umfang der Schulungsthemen hinausgehen.


Nächste Schritte


Ich erinnere Sie daran, dass die DotNext 2019 Piter-Konferenz vom 15. bis 16. Mai in St. Petersburg stattfinden wird. Sie können sich auf der offiziellen Website mit dem Programm vertraut machen.


Dort können Sie Tickets kaufen .


Beachten Sie, dass es verschiedene Arten von Tickets gibt. Beispielsweise erhalten Studenten, Doktoranden und Lehrer Ermäßigungen. Es gibt spezielle Online-Tickets für diejenigen, die aus irgendeinem Grund nicht live anreisen können (offensichtlich erhalten solche Teilnehmer einer bezahlten Online-Sendung auch das gesamte Video von der Konferenz).


Es ist wichtig, dass ab dem 1. Mai die Ticketpreise steigen. Seit Early Bird im Dezember 2018 sind sie nach und nach gewachsen. Noch weniger als ein Monat bis zur Konferenz, und am 1. Mai sind die Preise endgültig. Wenn Sie sich entschieden haben zu gehen, dann macht es keinen Sinn zu ziehen, Sie müssen es jetzt nehmen.


Wir wünschen Ihnen einen schönen Urlaub im Mai und bis zum DotNext 2019 Piter!

Source: https://habr.com/ru/post/de449510/


All Articles