
Bonjour, Habr! Aujourd'hui, pour les développeurs .NET, nous avons un post traditionnel sur les traces de DotNext 2018 Moscou: nous partageons les dix meilleurs reportages de la conférence (selon ses visiteurs). Under the cut - leurs vidéos, ainsi que de courtes descriptions et des liens vers des présentations.
Les rapports sont de plus en plus appréciés et les plus appréciés par le public vers la fin. Mais la dispersion de la note dans les dizaines est petite, donc comparer méticuleusement les lieux n'en vaut pas la peine - il vaut mieux tout voir sur des sujets d'intérêt! Et les sujets ici sont différents - l'architecture et les performances sont affectées, et «comment tout cela fonctionne vraiment à l'intérieur».
Vous souhaitez donc créer votre propre runtime .NET?
Conférencier:
Chris BaconEmplacement: 10
Le premier matériau de notre sélection est bien adapté pour un échauffement.
Il s'agit d'un rapport «hardcore for fun» sur l'écriture d'un runtime dans lequel Google Chris Bacon parle en termes simples de choses complexes, par exemple, des optimisations à l'intérieur de .NET Core. L'histoire sera intéressante au moins en analysant les composants internes du CLR, les techniques de débogage et les secrets de la façon de travailler avec divers compilateurs. Comme Chris le dit lui-même: «Cela peut être une activité et des connaissances plutôt inutiles, mais cela aide à retirer le rideau de magie de ce que vous utilisez tous les jours.
Internes de Windows 10 pour les développeurs .NET
Conférencier:
Pavel YosifovichEmplacement: 9
Présentation du rapportCo-auteur du livre Windows Internals, Pavel Yosifovich plonge tête baissée dans le périphérique interne de Windows et, sous une forme simple et accessible, explique comment les développeurs .NET peuvent utiliser les composants du système à leur propre avantage.
Il présente les API Windows sur les étagères, expliquant comment le système a changé dans le contexte du Web mondial, des nuages et de la virtualisation, comment les changements sont liés à la programmation moderne et comment maximiser les performances en passant un peu de temps sous le capot de Windows.
Du monolithe au microservices: histoire et pratique
Conférencier:
Konstantin GustovEmplacement: 8
Présentation du rapportEntendre parler de la douleur de quelqu'un d'autre est toujours intéressant. Konstantin raconte l'histoire d'une longue refactorisation, qui sera utile à tous ceux qui ont fait face ou seraient bientôt confrontés à la transition vers l'architecture de microservices.
Un rapport très instructif expliquant la motivation et les raisons de chaque décision prise. Tout est disposé sur des étagères, et les étudiants peuvent facilement utiliser une partie des hacks de la vie dans leurs projets, ou citer l'histoire de Konstantin au leadership comme exemple réussi.
Les auditeurs ont noté séparément que le rapport présente de nombreuses caractéristiques du transfert d'anciens systèmes hérités à une nouvelle réalité. Et que savoir sur les difficultés, les avantages et les inconvénients possibles de la transition sur l'exemple d'un projet aussi important est également utile pour la complaisance: faisons-nous tout bien?
Stimuler la gestion de la mémoire dans les scénarios d'interopérabilité
Conférencier:
Raffaele RialdiEmplacement: 7
Présentation du rapportEn bref: il s'agit d'un rapport avec un arrière-plan de bas niveau sur la façon de gérer correctement la mémoire afin d'augmenter la productivité du projet. Mais tout n'est pas si simple: historiquement, les capacités de .NET pour travailler avec de la mémoire non managée étaient très limitées et s'accompagnaient d'une copie insensée vers des objets gérés, et leur utilisation n'était pas sûre. Mais récemment, de nouvelles API et fonctions ont considérablement changé la donne.
Si vous vouliez savoir ce qui se passe avec .NET en ce moment, où il se déplace, ce qui est nouveau et quoi en faire, ce rapport est pour vous. Les étudiants notent de nombreux nouveaux outils qui n'ont pas été discutés publiquement auparavant, par exemple, sur des scénarios raisonnables pour utiliser Span et Pipeline, et Rafael non seulement les montre, mais montre également en détail les approches pour appliquer correctement les nouveaux outils dans la pratique.
Création d'applications réactives et évolutives
Conférencier:
Jeffrey RichterEmplacement: 6
Présentation du rapportLe rapport sur l'utilisation efficace du fer nuageux chez certains téléspectateurs était regrettable "Je voulais quelque chose de plus difficile, je sais déjà tout" - mais j'ai quand même atteint le sommet. Telle est l’ampleur de la personnalité de Jeffrey Richter: il sait optimiser non seulement les logiciels, mais aussi le cerveau des développeurs .NET, en les réglant de la bonne manière.
Donc, si vous connaissez déjà les informations exprimées, le rapport a toujours du sens à voir: à la fois pour Richter et pour vous rappeler une fois de plus la productivité et la consommation des ressources. Après tout, même en sachant formellement quelque chose, vous pouvez l'oublier à la recherche de nouvelles technologies.
Rendement et asynchrone: comment tout cela fonctionne en interne et comment l'utiliser
Conférencier:
Ivan DashkevichEmplacement: 5
Présentation du rapportIvan explique comment la concurrence informatique de l'ICFP l'a amené à aborder de manière très conventionnelle l'utilisation du rendement et à démonter le périphérique interne en attente d'asynchronisation, et à comprendre si cela peut être utilisé comme exemple d'une tâche spécifique.
En plus d'analyser le concours, Ivan propose plusieurs idées sur la façon de transférer la solution de la concurrence vers des projets réels, a développé un «multitâche coopératif sur async / attente» au lieu de rendement, ce qui vous permet de créer un flux de travail de haut niveau et un contrôleur de tâches à partir de la file d'attente sur la base de la méthode asynchrone.
Conception basée sur le domaine: une recette pour un pragmatique
Conférencier:
Alexey MersonEmplacement: 4
Présentation du rapportUne introduction simple et abordable au DDD pour ceux qui veulent comprendre pourquoi cela est nécessaire, pourquoi tout le monde en parle et comment l'aborder. Dans le même temps, un rapport important et amusant, qui oblige à se plonger dans le sujet ou à organiser les connaissances existantes dans la tête. Qui ne sait pas - saura. Qui sait - sait mieux.
Conception instantanée
Conférencier:
Maxim ArshinovEmplacement: 3
Présentation du rapport60 minutes d'analyse concentrée sur la conception d'applications avec des tonnes d'exemples. Les auditeurs notent une immersion profonde, une présentation claire et simple, des exemples très forts et détaillés dans chaque chapitre de l'histoire.
Et en plus de cela, le rapport de Max a une grande applicabilité: presque tout de l'histoire peut être immédiatement mis en pratique et obtenir de bons résultats. Il va bien avec le rapport «Du monolithe aux microservices» et donne une idée des critères qui déterminent un bon et un mauvais code, et comment les mesurer.
Optimisations dans .NET Core
Conférencier:
Egor BogatovPlace: 2
Présentation du rapportUltra-utile et moderne, selon les auditeurs, un reportage sur les subtilités de l'optimisation et la génération de SIMD à partir d'un code de haut niveau. Bien que des exemples simples, mais pas du tout triviaux de l'expérience personnelle de Yegor, qui travaille directement avec Mono .NET Core et voit tout de l'intérieur de Microsoft. Sans ennuyer, arroser et repenser les vieilles idées d'une manière nouvelle.
Le rapport se compose de nombreuses micro-optimisations intéressantes appliquées dans .NET Core par les développeurs et la communauté. Mais Yegor accorde une attention particulière à la nouvelle API aux instructions du processeur SIMD, telles que SSE et AVX. Cette API vous permettra de vous sentir plus intelligent que JIT et de vectoriser manuellement votre code sans recourir à des langages de bas niveau.
N'ayez pas peur du hardcore et de l'assembleur, Egor mérite d'être écouté, regardé et mémorisé!
Keynote: Ctrl-Alt-Del: apprendre à aimer le code hérité
Conférencier:
Dylan BeattieEmplacement: 1
Présentation du rapportLe monde utilise un code obsolète. Vous pouvez parler des avantages de F # et sans serveur autant que vous le souhaitez, mais en réalité, vous devez souvent faire face à des choses complètement différentes. Et que faisons-nous avec "un code trop effrayant au toucher et trop rentable pour le supprimer"? Contrôlez (Ctrl), changez (Alt) et supprimez (Suppr). Cette performance a conclu la conférence, donc il n'y a pas de hardcore .NET dedans - mais le public l'a aimé encore plus hardcore.
Les téléspectateurs réguliers de DotNext connaissent très bien Dylan Beatty et apprécient sa capacité à combiner une réflexion sérieuse avec un spectacle fascinant. Et ici, il a également une expérience très appropriée. Tout d'abord, il a travaillé pendant de nombreuses années dans une entreprise, en observant comment le code a changé au fil du temps et comment les nouveaux arrivants l'ont découvert - puis il a déménagé dans une autre entreprise et s'est avéré être un tel «nouvel arrivant» qui devait comprendre la percée du code de quelqu'un d'autre. Quelle est la manière la plus efficace de se lancer dans le travail avec la base de code si "la lire" ne suffit pas?
Si vous avez aimé ces reportages, alors vous l'aimerez lors du prochain DotNext (15-16 mai, Pétersbourg): le format de la conférence sera le même. Et lorsque vous assistez à la conférence en personne, vous pouvez non seulement entendre des rapports, mais aussi demander à des orateurs dans la zone de discussion, participer à des discussions spéciales et discuter avec d'autres participants.
Maintenant, plusieurs conférenciers sont déjà connus au sujet de DotNext 2019 Piter (par exemple, John Galloway de la .NET Foundation), et le programme complet apparaîtra plus tard - mais avec le temps, les billets deviennent plus chers, il est donc plus rentable de les acheter dès que possible. Toutes les informations pertinentes sont publiées sur le site Web de la conférence.