Top 10: beste Berichte DotNext 2017 Moskau

    Hi, Habr! Im April haben wir die besten Videos der DotNext 2017 Moskau offiziell veröffentlicht. Das Ergebnis war eine Playlist mit 25 Berichten . Erinnern Sie sich einfach an diese magische Playlist.


    Ich schaue jetzt die interessantesten Videos und lade zum Mitmachen ein! Um die Überprüfung der Konferenzbeiträge zu vereinfachen, warten Sie unter dem Schnitt auf kurze Notizen zu den zehn Berichten, die von den Besuchern des vorherigen DotNext die besten Noten erhalten haben. Wenn Sie von 25 Stücken nur wenige Berichte sehen können, können Sie aus dieser Liste wählen.


    Je niedriger die Liste ist, desto höher ist die Bewertung. Es gibt jedoch eine wichtige Klarstellung: Alle Berichte aus den Top Ten haben eine sehr, sehr hohe Bewertung, und ihre genaue Position hängt stark von den Feinheiten der Zählung ab. Wenn Sie beispielsweise ein weiches Quorum verwenden, wird der Bericht von Andrey Okinshin über Leistungstests den Bericht von Sasha Goldstein über Debugging und Profiling unter Linux überholen. Mit anderen Worten, alles sehen :-)


    Unter dem Schnitt gibt es ein Inhaltsverzeichnis für die einfache Navigation durch den Inhalt des Beitrags.




    Inhaltsverzeichnis




    Final Keyout: Löse mein Herz


    Dino Esposito, JetBrains



    Wenn Sie einer Person eine Aufgabe geben, müssen Sie überprüfen, ob sie sich nicht nur an Ihre Worte erinnert, sondern auch versteht, was als Nächstes zu tun ist. Was hast du aus unserem Gespräch gelernt? Was sind die ersten Schritte? Einfache und effektive Fragen.


    Diese Dino-Geschichte ist kein Standardbericht, sondern ein Abschlussschlüssel. So wie das Ziel des Eröffnungs-Keyouts darin besteht, die Richtung der Konferenz festzulegen, bestimmt das endgültige Keyout das zukünftige Leben des Teilnehmers. Was hast du von der Konferenz gemacht? Wie wirkt sich das auf dein Leben aus?


    In diesem Bericht rückt Dino mit einer Zeitmaschine um 30 Jahre in die Zukunft vor und fügt diesen Standardfragen eine weitere Tiefe hinzu. Wie kommen wir mit der Gegenwart in Verbindung, wenn wir aus der Zukunft zurückkehren?



    Dino sagt ein großes - für vierzig Minuten - und eine sehr vernünftige Prognose für die kommenden Jahre. Sowohl die Blockchain als auch die Bigdata und sogar die digitale Seele fallen hinein. Werden uns Roboter erobern? Spoiler: Am Ende werden alle sterben! (Ja, es ist ein richtiges Spiel im Gange).


    Aber hier möchte ich streiten. Die Diskussion über Reddit gefällt mir sehr gut: „Wie erobern Sie die Welt, wenn Sie sich 1990 mit all den gegenwärtigen Erinnerungen wiederfinden, aber im Körper des Kindes, das Sie einmal waren?“ Vladimir Guriev , eine kurze Antwort, kürzlich übersetzt was uns früher ein modernes Marketinglehrbuch gab ), aber es ist besser , das Original zu lesen . Wir als Ingenieure und Menschen, die sich mit der Entwicklung gewisser technischer Wunder der Verbesserung der Welt verschrieben haben, glauben leicht an einen Mann der Zukunft, der mit Stöcken und Seilen ein nukleares Raumschiff herstellen kann (wie heute, aber etwas besser). Aber wenn Sie in die Realität zurückkehren, dann machen normale dumme Leute (wie ich zum Beispiel) viel langweiliger und unangenehmer Dinge.


    Ich empfehle Ihnen, sich keyoout Dino anzusehen und selbstständig darüber zu entscheiden. Vielleicht schreibst du deine Geschichte in die Kommentare zu Habré? Was sind wir schlimmer als Reddit?



    ASP.NET Core: Angriffsverhütungsmechanismen 2.0


    Michail Scherbakov



    Der neue Teil des Berichts von Michael über die folgenden Verteidigungsarten:


    • Open Umleitungsschutz;
    • Datenschutz;
    • XSS-Schutz;
    • CSP-Setup;
    • Anti-Request-Fälschung;
    • CORS-Setup;
    • Verwendung von Cookies

    Der Bericht war das Ergebnis der Teilnahme von Michael am unbestimmten Microsoft Bug Bounty Program. Der erste Fehler, den er gefunden hatte, war der Schutz vor Open Redirect, der zu Beginn des Berichts in einer Minute angezeigt wird.


    Um das Thema in anderen Teilen des Berichts zu verstehen, werden wir über Änderungen an der Datenschutz-API informiert, wonach wir uns vierzig Minuten lang mit Sicherheit und Lücken beschäftigen. Versteht, wie die integrierten XSS- und CSRF-Schutzmechanismen funktionieren, welche Kryptografiefunktionen sofort verfügbar sind, wie die Sitzungsverwaltung organisiert ist und so weiter.


    Ich selbst interessiere mich für dieses Thema und schaue mir oft Sicherheitsberichte auf YouTube an. Das Schlimmste, was Sie als Zuschauer erwartet: zwei Stunden Nudyatin, 90% bestehend aus den Banalitäten der Form "Wenn Sie dumm sind, dann ist alles sehr schlecht", an dessen Ende Sie mit einer Nase in der Tastatur schlafen. Der Bericht von Misha ist günstig mit der Tatsache zu vergleichen, dass keine Zeit zum Schlafen bleibt: klar abgegrenzte Gedanken, reale Beispiele für Code, um sie zu veranschaulichen, falls Konzepte eingeführt werden - Folien mit Formulierungen und Links zu fortgeschrittenem Material.


    Solche Berichte sollten sofort eingesehen werden, da ich gelernt habe, meinen ersten Controller zu schreiben, nur um nicht viel Code vergeblich neu zu schreiben.


    Übrigens haben wir im Februar eine Abschrift des Berichts von Michael über Habré veröffentlicht. Wenn Sie keine Zeit zum Anschauen haben, können Sie immer lesen .



    Muster für Hochleistungs-C #: vom Algorithmus bis hin zu einfachen Techniken


    Federico Lois, Corvalius



    Die brutale Geschichte, wie man C # so grausam behandelt, dass es von sich selbst verschieden ist - aber es fängt an, sehr schnell und gut zu funktionieren.


    Aus Gründen der Gerechtigkeit gilt ungefähr jeder zweite Faden einer Aufführung auf Habré oder jede erste Diskussion über eine Dose Bier.


    Wir schreiben ja immer wieder Bewertungen zu Habr und haben schon lange das Wesentliche des Konzepts "Hardcore" für den russischen Entwickler verstanden. Hardcore und Performance sind Zwillinge. Wir reden über Leistung - wir meinen Hardcore, wir reden über Hardcore - wir meinen Leistung.


    Federico entwickelte seine eigene Skala:



    Dies ist ein Gespräch über Leistung, alles wie Sie möchten. Und sehr zynisch und verständlich. Es ist nicht leicht, mit dem Redner zu streiten, da er einer der Entwickler von RavenDB ist und sich alles auf Geschwindigkeit konzentriert. Es wird unangenehme Dinge über die Tatsache geben, dass Sie Try-Catch und LINQ nicht verwenden können, es wird etwa über das Eingeben, über das Pareto-Gesetz (in eine Checkliste verwandelt) - alles nur, um das System zu täuschen und eine erhebliche Beschleunigung zu erzielen.


    Das alles erinnert mich an dieses Video:



    Betreiber : Warten Sie eine Sekunde, lassen Sie mich die Höhe abnehmen. Na nafig! Hier auf diesem Dach springen Sie.
    Tracer : Fertig?
    Betreiber : Ja.
    Tracer : leise streut, springt, stößt leise das Dach des Gebäudes und die Axt geht in die Tiefe


    Das Erfordernis, diesen Code zu beschleunigen, scheint mir jetzt ein solcher „Glaubenssprung“ zu sein. Aber wenn Sie eines Tages springen müssen, ist es besser, diesen Bericht anzuschauen, als ihn nicht anzusehen (und wenn Sie zu faul sind, um sie anzusehen, lesen Sie unsere Übersetzung ).



    NUKE: Erstellen Sie Automatisierung für C # -Entwickler


    Matthias Koch, JetBrains



    NUKE ist eines der Projekte, an denen Mathias arbeitet. Dies ist ein solches Montageautomationssystem, bei dem alles über C # DSL beschrieben werden kann.


    Trotz der Tatsache, dass Sie die Baugruppe in der vertrauten Infrastruktur, in der IDE mit einer anständigen automatischen Vervollständigung beschreiben können, und nicht mit dem Klicken auf die Schaltflächen in Jenkins oder zum Beispiel die Bedingungen als Zeichenfolgen in MSBuild. Fast ein Fünftel des Berichts ist der Diskussion der Anwendbarkeit von Jenkins und Mbsilds gewidmet.


    Sehr cool, dass dieses Video gemeinfrei erscheint. Tatsache ist, dass ich eine langjährige persönliche Abneigung gegen Jenkins habe und jeder neue Mensch muss dieselbe Balalaika über die Ursachen und Schlussfolgerungen erneut erklären. Nun genügt es, einen Link zu diesem Video zu geben.


    Was den Hauptteil des Berichts angeht, handelt es sich hier um eine Menge praktisches Material darüber, was Nuke ist und wie man damit leben soll. Jetzt haben sie mehr als siebenhundert Commits und mehr als ein Dutzend Mitwirkende auf einer Githaba , daher kann dies wahrscheinlich bereits verwendet werden. Ein Bericht des Erstellers der Technologie kann beim Mastering am besten helfen.



    Künstliche Intelligenz und neuronale Netze für .NET-Entwickler


    Dmitry Soshnikov, Microsoft



    Ein sehr cooler Bericht, der die Grundlagen für die Programmierung neuronaler Netzwerke in C # für diejenigen schafft, die dies noch nicht konnten, aber wirklich wollen.


    Ich hatte eine Situation, in der Sie die Bilderkennung schnell aufnehmen müssen. Ich nahm die beliebten Kurse zu neuronalen Netzen auf und stellte fest, dass sie nicht auf meine Anfrage reagierten, sondern eher in der Allgemeinbildung tätig waren. Infolgedessen schrieben Freunde den Unterzeichner :-) Und dieser Bericht von Dmitriy ist ein Balsam für die Seele, denn er beantwortet alle tatsächlichen Anfragen der durchschnittlichen Person, woraufhin klar ist, was zu lesen ist und was zu verstehen ist.


    Zunächst gibt es eine kleine Einführung, was Microsoft macht und welche neuronalen Netzwerktechnologien sie haben. Dmitry hat ganz klar gesagt, dass er die Anzahl der Microsoft-Marketingfolien auf ein Minimum reduziert hat. Ich verstehe dieses Marketing-"Hey" jedoch nicht. Als ob es eine Wahl gibt.


    Weiter kurz erklärt, wie Satanisten Daten in ihrem Jupyter Notebook leben und dass Sie diese nicht installieren können und in die Cloud gelangen. Das Jupyter Notebook von Dmitriy begann gerade zum Zeitpunkt der Live-Codierung - meiner Meinung nach die beste Demonstration, warum C # benötigt wird, und es ist unmöglich, darüber nachzudenken.


    Ein wesentlicher Teil des Berichts ist eine Geschichte darüber, ob es schwierig ist, das alles selbst zu schreiben. Beispiele werden basierend auf der Erkennung von Zahlen in den Bildern gezeigt.



    Zuerst werden k nächstgelegene Nachbarn mit Ziehpunkten für die Zyklen beschrieben , was genau ist (94%), aber äußerst langsam - keine einzige k-NN-Demo hat bis zum Ende des Berichts funktioniert. Dann wird derselbe k-NN in Accord.NET codiert und funktioniert etwas schneller, aber nicht wirklich, da der Algorithmus derselbe ist. Das Merkmal von Accord.NET ist jedoch, dass es sich bereits um einen anständigen Code handelt und Sie den Klassifizierer schnell durch einen anderen ersetzen können. Dmitry ersetzte die Support-Vektor-Maschine , und alles beschleunigte sich stark (der Satz von 5.000 Bildern begann in wenigen Sekunden zu überlaufen, die Genauigkeit fiel beinahe nicht - 92%).


    Sie können jedoch noch steiler arbeiten und neuronale Netzwerke ziehen. In der Accord.NET-Demo wurde SVM durch ein neuronales Netzwerk ersetzt, fast ohne den Code zu ändern. Dies ist jedoch nicht notwendig, da es andere, coolere und schnellere Frameworks gibt. Dmitry sagte ein paar Worte zu TensorFlow und der Rest des Berichts sprach über das Microsoft Cognitive Toolkit (früher als CNTK bekannt). Nachdem wir viele Demos durchgesehen hatten, haben wir gesehen, dass das Ergebnis ultrapräzise Netzwerke (98%) mit komplexem, aber dennoch recht verständlichem Code ist.


    Nachdem ich diesen Bericht gesehen habe, kann ich jetzt nicht einfach so einschlafen. All diese Dinge sind in klarem Code geschrieben, und sie scheinen eine klare mathematische Basis zu haben, die ein Schüler verstehen kann, aber als Ergebnis wirken sie Wunder. Es ist ein Wunder, ein Foto einer Katze von einem Foto eines Hundes zu unterscheiden. Sie werden nie an einen Algorithmus dafür denken, und das neuronale Netz tut dies irgendwie direkt vor Ihren Augen.


    Was ist, wenn mein Gehirn nur ein Apparat ist, der sich einer Funktion annähert? Und das ganze Leben ist nur eine weitere Multiplikation von Matrizen mit einem kleinen nichtlinearen Teil, der mit einem relativ kleinen Code geschrieben werden kann ... Wie kann ich jetzt damit leben?


    ( der Link ist verfügbar, um den Bericht zu entschlüsseln)



    Akka Streams für bloße Sterbliche


    Vagif Abilov, Miles



    Dies ist ein Konzeptbericht über das Leben in der Welt der Bäche. Es gibt Beispiele dieser Art:



    Sie zeigen einen allmählich immer komplexer werdenden ganz bestimmten Code, Details werden besprochen. Die Hauptsache ist jedoch eine allgemeine Idee des Problems.


    Für Menschen, die sich nicht mit dem Thema beschäftigen, kann es den Anschein haben, dass Sie Akka-Streams verstehen müssen, um Akka-Streams zu verstehen und reaktiv zu verstehen. Vagif argumentiert, dass dies nicht ganz richtig ist, was die Last von der Seele nimmt und die Schwelle für das Betreten des Themas senkt.


    Für mich persönlich schien das gesamte Thema Streams (und es scheint so, dass es unmöglich ist, Berichten zu glauben, ohne es zu versuchen), eher gruselig zu sein, nur weil es direkt mit dem Thema funktionale Transformationen und Datenverwaltung außerhalb des üblichen Thread-Lock-Modells zusammenhängt. Ja, das Verwalten von Fäden und das Bauen von Strukturen aus alten Frameworks für sie ist eine abscheuliche Sache, die aber im Laufe der Jahre verständlich und abgehackt ist.


    Vagif erklärt für den Übergang zu den Schauspielern, deckt das Thema auf, dass die Akteure nicht versammelt sind (genauer gesagt, sie sind in dem Sinne versammelt, in dem die menschliche Gesellschaft versammelt ist), und bewegt sich zu Reactive Streams, um das Abstraktions- und Ausdrucksniveau noch weiter zu erhöhen.


    Auf dem Reactive Streams-Stack gibt es eine Reihe von Schnittstellen (Publisher, Abonnent, Abonnement, Prozessor). Es wird jedoch nicht erwartet, dass wir diese Schnittstellen manuell auflösen. Es gibt Bibliotheksentwickler, die das für uns tun werden - zum Beispiel in Akka Streams.


    Für mich war es eine Entdeckung, dass dynamisches Push / Pull in reaktiven Strömen aus der Box heraus ist, und es tut überhaupt nicht weh.


    Darüber hinaus schlägt der Autor keinen Fanatismus an und vergisst keine Alternativen (RX, TPL DataFlow, Orleans Streams), Gespräche über die Vor- und Nachteile. Der Mangel an Fanatismus ist ein großer Bonus im Vergleich zu der typischen Geschichte eines reaktiven Liebhabers, der an eine bestimmte Bibliothek gebunden ist.


    Im Allgemeinen verstand ich die Idee so: Wenn wir Mikrodienste und andere Multikomponentenarchitekturen verwenden, gibt es keinen Wald hinter den Bäumen, und Streaming ist ein Weg, um auf eine höhere Ebene zu gelangen und eine Vorstellung von dem Gesamtprozess zu bekommen. Um auf solche Schienen zu gehen, müssen Sie Akka-Streams nehmen, und alles wird in Schokolade sein.


    Möchten Sie sich zum Streamen motivieren? Wir müssen schauen.



    Der Metrix hat Sie ...


    Anatoly Kulakov, Paladyne Systems



    Viele Entwickler mögen es nicht, über die schrecklichen Dinge nachzudenken, die Benutzer mit ihren Anwendungen unternehmen. Wenn die Kollegen die Frage stellten, wie sie die Metriken anzeigen sollen, sagten sie oft ein heftiges Spiel über „Log-Logs“, „In MySQL suchen“ usw. und es war nicht einfach, sie dazu zu überreden, über die Frage nachzudenken.


    Dieser Bericht von Anatoly ist genau so ein Moment der Aufklärung. Es beginnt mit einer Erklärung der Unterschiede zwischen Überwachung und Protokollierung und einer detaillierten Motivierung. Unser vermeintlicher Amateurliebhaber taucht außerdem in konkrete Beispiele dafür ein, was getan werden muss.


    Wir müssen die Zeitreihe (worüber das theoretische Minimum gesagt wird - warum wir gebraucht werden, welche Vorteile es gibt und was das Wesentliche von Optimierungen ist) am Beispiel der bekannten InfluxDB-Datenbank (über die die Besonderheiten, Möglichkeiten und Nachteile analysiert werden). Und so weiter und so fort. Viele gute Inhalte, einschließlich Live-Demos mit Experimenten auf einer lokalen Grafana und einer Archivierungsanwendung, deren Leistungsdaten über BenchmarkDotNet erfasst werden.


    Wenn die Lese- und Schreibzeit für Sie nicht wichtig ist, wenn Sie keinen Durchsatz erzielen, wenn Sie nicht wissen, was Downsampling ist, wenn Sie keine speziellen Statistiken und Aggregationsfunktionen benötigen, wenn Sie alle Daten in einer Zeile mit Ihren Händen löschen möchten, wenn Sie nicht ruhen Daten und wissen sicher, dass Sie niemals hohe Lasten haben werden - Sie können weiterhin Metrikdaten in RDBMS speichern, Protokolle protokollieren und glücklich leben. Alle anderen müssen moderne Tools verwenden und diesen Bericht beobachten (oder das Protokoll lesen ).



    Leben, Freiheit und das Streben nach APIness: das Geheimnis glücklicher Codes


    Dylan Beattie, Scheinwerfer



    Dylan Beattie ist eine Person mit so vielen Arbeitsleistungen und interessanten Projekten, dass es einfacher ist, die vollständige Liste auf unserer Website zu lesen . Im Zusammenhang mit dem Bericht ist es interessant, dass Dylan ein Systemarchitekt ist, der gerade daran arbeitet, komplexe moderne verteilte Anwendungen zu erstellen und dementsprechend die richtige API für sie zu entwickeln. Nun, und natürlich kennt jeder, der DotNext-Partys besucht hat, ihn.


    Unabhängig davon, ob wir wissen oder nicht, jedes Mal, wenn wir neue Programme erstellen, erstellen wir eine Benutzererfahrung. Die Benutzer interagieren mit unserem Code - als Endbenutzer oder möglicherweise als Mitglieder des Entwicklungsteams. Oder vielleicht sind sie mobile Anwendungsentwickler, die Ihre API verwenden, oder ist es jemand, der nachts zur Lösung der aufgetretenen Probleme aufbrechen muss. Von außen mag dies wie ein völlig anderer Fall erscheinen, aber tatsächlich haben sie etwas gemeinsam. Dylan nennt dies das Wort " Entdeckbarkeit ".


    Von hier stammt dieser sehr philosophische und zugleich rein praktische Bericht. Zunächst gibt Dylan eine detaillierte Einführung in die Lernpsychologie und die verschiedenen Lernmodelle. Was denkst du, welche der Lernkurven ist besser?



    Als nächstes kommt die Geschichte, wie die Auffindbarkeit für den Endanwender des Systems gezeigt, und dann - was am wichtigsten ist - wie es auf den Code bezieht, Daten, API, und andere Dinge , die das Leben des Programmierers bilden. Schritt für Schritt auf allen Ebenen der Anwendung.


    Glauben Sie nicht, dass Autocompletion, Hypermedia oder fließende API das Leben verbessern? Wie wäre es mit schönen Dashboards, klaren Messwerten oder beispielsweise Protokollierungsstufen, die nicht nach Bedrohungsstufen, sondern nach Bedeutung benannt werden? Vielleicht verstehen Sie das alles, aber Sie wissen nicht, wie Sie Ihren Kollegen davon erzählen sollen, damit sie das alles endlich nutzen können? Dann müssen Sie sich diesen Bericht unbedingt ansehen (übrigens haben wir im Frühjahr bereits eine Übersetzung bei Habré veröffentlicht ).



    Keynout: Lassen Sie uns über Leistungstests sprechen


    Andrey Akinshin, JetBrains



    Andrei hatte eine sehr schwierige Aufgabe: über die Leistung zu berichten, aber gleichzeitig - im Format des Eröffnungs-Keyouts. Wie Sie wahrscheinlich wissen, hat Keyout mehrere Ziele. Das wichtigste Ziel ist es, den Geist und das Wesentliche dessen zu vermitteln, was auf der Konferenz passiert. Daraus folgt, dass ein solcher Bericht mehr oder weniger alles verstehen sollte. Auf der anderen Seite ist Leistung der zweite Name von Hardcore, das heißt, das Thema ist komplex und spezifisch.


    Kein Wunder, dass Andrei ständig seine höchsten Bewertungen erhält, er stieg aus. Es ist klar, dass die meisten Unternehmen die Leistung jetzt in keiner Weise testen oder sie bereits an lebenden Personen im Vertrieb testen. Es gibt keine kohärente Theorie, um diese Art von Problemen zu lösen. Daher ist es nicht notwendig, ein zahnbrechendes Material mitzuteilen. Benötigen Sie ein grundlegendes Verständnis des Themas.


    Der Bericht widmet sich 13 Leistungshinweisen. Ich werde nicht alle dreizehn erzählen, warum Spoiler produziert werden. Der erste Artikel befasst sich beispielsweise mit Quellen von Leistungsdaten. Wenn Sie beispielsweise eine Liste mit Leistungsanomalien haben, wird das Entfernen der kleinen Probleme, über die Andrei spricht, die Analyse von Leistungsproblemen vereinfachen (Probleme, die Sie noch nicht geschrieben haben, aber bald schreiben werden). Eine dieser Optionen, die "Anmerkung 6" gewidmet ist - Clustering am Beispiel von Betriebssystemen.



    Leistungstests sind interessant, aber schwierig. Darüber hinaus können und sollten Leistungstests durchgeführt werden. Meiner Meinung nach ist der Bericht insofern einzigartig, als hier eine Reihe von Dingen offenbart wird, die die Menschen gerne tun würden, aber entweder nicht tun oder lügen, was sie tun. Sehen Sie sich deshalb den Bericht von Andrey an, sammeln Sie Leistung, Reinheit und Leistungskultur, und Ihre Produkte werden dann extrem schnell, reaktionsschnell, geschmeidig und seidig.



    Debuggen und Profilieren von .NET Core-Apps unter Linux


    Sasha Goldshtein, Sela-Gruppe



    Sasha ist ein hervorragender Performance-Ingenieur, und es ist nicht überraschend, dass er an die Spitze der Bewertung gelangt ist. Ein weiterer Grund für den Sieg: Es ist sehr in Mode gekommen, dem Titel des Berichts nur aus hygienischen Gründen „.NET Core“ hinzuzufügen. Es gibt nicht so viele Geschichten, in denen .NET Core eine wichtige Rolle spielt, und dieser Bericht ist einer von ihnen. Oder eine andere Idee: Dies ist ein rein praktischer Bericht über die Verwendung von kostenlosen Tools, die sofort mit Betriebssystem und Laufzeit zusammenpassen. Das alles ist sehr praktisch und hat einen geringen Overhead - es wäre eine Schande, es nicht zu verstehen.


    Stellen Sie sich vor, Sie haben es geschafft, Ihre bevorzugte ASP.NET-Anwendung unter Linux oder sogar mit einer Konsolenschnittstelle auszuführen. Was weiter? Happy End? Oh nein. In der Tat müssen Sie mit Speicherverlusten, merkwürdigen Abstürzen, Leistungsproblemen und vielen anderen Problemen konfrontiert werden - und was tun, wenn dies alles in der Produktion geschieht? Unter Windows haben wir eine Reihe interessanter Tools, die unter Linux jedoch nicht funktionieren, und es gibt noch keine einfachen Alternativen. In diesem Bericht erläutert Sasha, wie das Debugging und Profiling von .NET Core-Anwendungen unter Linux jetzt aussieht. Wie führen Sie Untersuchungen durch perf, LTTNGverwenden Sie als Ersatz für Ereignisse ETW, wie Sie Spuren sammeln und verstehen LTTNGund vieles mehr. Sasha wird über Kerndeponien sprechen .und wie man mit Hilfe von lldbund für den .NET-Entwickler interessante Informationen erhält SOS.


    Kurz gesagt: Jeder, der sich für das Video entscheidet, wird eine unbehagliche Detektivreise durch die Wildnis unfertiger Hilfsprogramme und die spezielle Befehlszeilenmagie unternehmen. Mit einem Happy End (aber das ist nicht sicher).


    Wenn Sie sich für die Berichte aus der Liste interessieren, möchten wir Sie darauf aufmerksam machen: Wir haben bereits den nächsten DotNext angekündigt , und Sie könnten dort ebenso interessiert sein. Zur gleichen Zeit werden Tickets mit der Zeit immer teurer. Sie sollten also den Kauf eines Tickets nicht auf einen neuen DotNext verschieben, bevor Sie alle Berichte des vorherigen lesen!

    Jetzt auch beliebt: