.NET: The Good Parts - Du CLR à la communauté

Vous voulez rencontrer John Galloway (directeur exécutif de la Fondation .NET), Pavel Yosifovich (auteur du légendaire Windows Internals et des nouveaux cours de Pluralsight )? Ou peut-être avec Alex Thyssen - MVP 12x dans la catégorie Visual Studio? Ou suivre une formation avec Conrad Cocos (auteur de Pro .NET Memory Management)? Maintenant, vous avez une telle opportunité.


La plus grande conférence pour les développeurs .NET, DotNext 2019 Piter, se tiendra du 15 au 16 mai à Saint-Pétersbourg. Sous la coupe sera un examen structurel du programme de cours et quelques mots sur la formation.


Une fois que Douglas Crockford a écrit le livre «JavaScript: The Good Parts» , cela a marqué le début de nombreux travaux consacrés à mettre en évidence le meilleur dans une variété de technologies. Dans ce hub, nous parlerons des quatre meilleures sections de connaissances sur l'écosystème .NET qui sont pertinentes en 2019.



Comme vous le savez, le travail de sélection des rapports commence dans plus de six mois. Voici notre chenille:



Au fur et à mesure que vous avancez dans cette voie, les cases de la page du programme de la conférence se remplissent un peu. Aujourd'hui est le 26 avril, il ne reste que 19 jours avant le début de la conférence, et c'est la ligne d'arrivée. Les conférenciers peaufinent les rapports avec éclat, les organisateurs se préparent pour la conférence, les participants achètent des billets.


Un fait intéressant: les membres du comité du programme parviennent non seulement à travailler à leur poste principal et à organiser une conférence - ils inventent leurs propres rapports et écrivent des livres. Andrei Akinshin DreamWalker de JetBrains, un homme qui n'a pas besoin d'être représenté, a réussi à terminer le livre «Pro ​​.NET Benchmarking» en parallèle avec la préparation de la conférence, avec laquelle nous le félicitons chaleureusement!


Sujets clés


La structure de la conférence n'est pas statique. Il change d'année en année, reflétant les tendances les plus importantes dans le monde du développement .NET. Vous pouvez apprendre les choses les plus utiles en ce moment et parler avec les orateurs les plus recherchés.


Au printemps 2019, la liste des principaux thèmes est la suivante:


  • Tendances - rapports de présentation sympas sur l'état du développement .NET en général;
  • Architecture - tout sur la bonne architecture;
  • Meilleures pratiques - bonnes pratiques dans divers domaines de développement;
  • Les internes sont le cœur de diverses technologies, des compilateurs aux bibliothèques.

Traitons chaque catégorie individuellement.


Dans ce habropost, tous les rapports ne sont pas racontés! Il s'agit plutôt d'une sorte d'aperçu rapide. Vous pouvez vous-même consulter le programme complet DotNext 2019 Piter . Je vous conseille fortement de le faire, car peu importe combien vous dites «halva», votre bouche ne sera pas douce!


Tout sous le capot est le même hardcore, seulement pour le plaisir dont beaucoup viennent généralement à des conférences.


Pavel Yosifovich est connu comme l'auteur de Windows Internals, WPF Cookbook, Mastering Windows C ++ App Development et de six cours à Pluralsight. Si vous êtes également intéressé par le C ++, il en parle également . De plus, il est un développeur, formateur et conférencier bien connu, mais dans ce rôle, nous ne l'avons pratiquement pas vu - il n'arrive presque jamais en Russie. C'est une grande fierté et bonne chance que Pavel vienne chez DotNext pour la deuxième fois. La fois précédente, il avait vraiment aimé ça. Dans sa nouvelle conférence «Construire vos propres outils de profilage et de diagnostic avec Event Tracing pour Windows» , il vous expliquera comment mettre ETW à son service, et il vous donnera également de nombreux détails pratiques.


Christophe Nasarre est une personne incroyable qui, en plus de plus de 25 ans de travail avec les technologies Microsoft, a été réviseur technique chez MSPress, Addison-Wesley et d'autres éditeurs depuis 1996, travaillant sur des livres comme CLR via C # et les dernières éditions de Windows Internals . Avec Kevin Gosse, ils donneront une conférence puissante sur le débogage des scénarios asynchrones dans .NET . Il n'y a rien de plus simple que de déboguer du code asynchrone - lorsque deux professionnels de WinDbg et d'autres outils en parlent.


Andrey Karpov travaille chez JetBrains, où il est impliqué dans le support du langage C # dans les produits ReSharper et Rider. Avant JetBrains, il était impliqué dans la programmation de bas niveau, la recherche sur le noyau Windows, etc. Le langage C # continue de se développer rapidement. La prochaine version ajoute la prise en charge des itérateurs asynchrones. Qu'est ce que c'est À quoi ça sert? Comment ça marche? Vous pouvez maintenant apprendre à utiliser les flux asynchrones en visitant la conférence «Rendez-moi, car j'attends» .


Nikita Tsukanov a une expérience de travail incroyable. Il a commencé dans Navigator avec le développement sous WinCE / Mobile sur C / C ++, a fait un service VPN avec un client multiplateforme sur GTK #, le marché Promarket, la maintenance Mono pour Nokia N900, fait des outils pour le réglage des voitures, un messager mobile avec End2End -le cryptage, et un tas de choses. Son exposé «Interaction multiplateforme orientée objet de C # et C ++» présentera une solution pour une interaction transparente bidirectionnelle entre C ++ et C # au niveau de l'interface, qui peut implémenter à la fois des classes C # et des classes C ++. En d'autres termes, vous pouvez oublier les horreurs de C ++ / CLI et envisager une alternative.


Evgeny Peshkov epeshk s'occupe de l'infrastructure générale de Kontur, développe une plate-forme d'hébergement d'applications basée sur le cloud. Il s'intéresse au périphérique interne de .NET et Windows et utilise ces connaissances dans la pratique. Dans le nouveau rapport, «Multithreading dans .NET: lorsque les performances sont insuffisantes», nous examinons les erreurs et les problèmes liés à l'utilisation du multithreading dans .NET. Examinons quelques exemples lorsque l'utilisation d'outils de la bibliothèque .NET standard a conduit à des baisses de performances et parlons de solutions adaptées à des tâches spécifiques et dépourvues de ces lacunes.



Beaucoup sont sceptiques quant aux rapports sur l'avenir lointain lorsque les engins spatiaux laboureront les étendues de .NET. Heureusement, tout est beaucoup plus intéressant ici, car les rapports sont menés par des personnes bien connues et respectées de la communauté qui valent la peine d'être écoutées. Dans les formulaires de rétroaction, les gens demandent souvent qu'une personne spécifique vienne - et le comité de programme essaie de répondre à ces désirs.


Par exemple, Dino Esposito réalisera deux rapports à la fois - «ASP.NET Core 3.0: état de l'art» et «Programmation ASP.NET Blazor 101» . Tout d'abord, ce ne sont que des sujets très populaires. Deuxièmement, Dino est une personne qui a écrit plus de 20 livres, moins de 1000 articles, fait plus de 500 rapports lors de conférences, etc. - l'un des locuteurs anglophones .NET les plus populaires. Et troisièmement, Dino a fait une histoire solide dans DotNext, faisant un rapport chaque année depuis 2014, y compris le discours d'ouverture du premier Moscou DotNext. Évidemment, il devrait parler d'ASP.NET Core 3.0.


Dmitry Nesteruk mezastel , que beaucoup de la communauté de St. Petersburg .NET connaissent déjà, parlera des dernières nouveautés en C # 8 . Soit dit en passant, en 2014, Dmitry a fait le tout premier rapport du tout premier DotNext à Saint-Pétersbourg - et le voici de nouveau avec nous! Et Nico Vermeir parlera de l'avenir du développement des ordinateurs de bureau , tandis que Wesley Cabus, au contraire, parlera des tests du chaos . En général, ce sont les sujets qui sont maintenant activement discutés dans la communauté, et c'est pourquoi ils sont entrés dans le programme.


Séparément, je veux parler de John Galloway. John est directeur exécutif de la .NET Foundation, évangéliste technique chez Microsoft, co-auteur de Professional ASP.NET MVC, et des tutoriels bien connus comme le MVC Music Store , un conférencier de renom et un podcast. Beaucoup de gens connaissent déjà la .NET Foundation, mais ils ne comprennent pas exactement ce que c'est vraiment et pourquoi même le savent. John vous dévoilera toutes ces questions et vous expliquera comment vous pouvez y participer.



L'architecture concerne l'organisation de vos systèmes, les éléments à choisir et la manière dont ils doivent se comporter et interagir. Comment assembler les grands à partir de petits sous-systèmes. Comment choisir le bon style architectural qui guidera le développement, comment le décrire et le transmettre, etc.


Les rapports d'architecture font l'objet d'un examen particulièrement rigoureux par le comité de programme. Si un tel rapport fait référence aux pratiques développées dans un projet, il doit s'agir d'un projet technologique véritablement réussi. L'orateur doit non seulement connaître le sujet, mais aussi expliquer intelligiblement même les choses abstraites les plus complexes en un minimum de temps (heure pour le rapport). En général, il doit s'agir d'informations fiables, et non de quelque chose provenant du plafond. La principale différence, par exemple, avec la catégorie Tendances est que les effets architecturaux n'affecteront pas aujourd'hui ou demain, et c'est précisément pour examiner les principes qui ont été testés par le temps que nous visitons de tels rapports.


Ici, il est nécessaire de mentionner, par exemple, le rapport de Vagif Abilov VagifAbilov . Wagif a travaillé pour la société norvégienne Miles et son expérience en programmation s'étend sur environ trois décennies. Maintenant, il est engagé dans le développement de systèmes en F # et C #, parle souvent lors de conférences, participe à des projets open source et prend en charge Simple.OData.Client. Son rapport «La vie après les objets métier (confession du vétéran de l'OLP)» devrait intéresser tous ceux qui aiment la modélisation de domaine et F #. Il y a quelques années, fatiguée de la mutation des structures de données, de la synchronisation des threads et des objets métier encombrants, l'équipe de Vagif est passée à l'utilisation de F #. Ce rapport discutera à la fois des attentes d'une telle transition et de la nouvelle approche de la modélisation de domaine qu'ils maîtrisent. Nous écouterons séparément les objets métier - plus précisément, leur absence - et comment les remplacer avec succès. Étant donné que ces sujets sont souvent controversés, nous avons décidé d’entamer la discussion dès le rapport de Vagif, en le rendant interactif et en invitant un autre orateur populaire, Maxim Arshinov, marshinov .


Si votre projet n'est pas un héritage de premier ordre, alors il a très probablement une sorte de concept architectural à la mode. CQRS, par exemple. Ou DDD. Ou peut-être modèle d'acteur? Cependant, cela ne fait aucune différence - tous sont en quelque sorte connectés au monde de la programmation fonctionnelle. À ce sujet, Roman Nevolin nevoroman nous dira tout dans un rapport avec le dicton "Pourquoi votre architecture est-elle fonctionnelle et comment vivre avec ? "


Pour que vous ne pensiez pas qu'il s'agit d'une sorte de rassemblement de fonctionnaires et de listes F #, il est nécessaire de mentionner des rapports qui développent une discussion sur le dilemme classique des microservices et des monolithes. Sean Farmar de Particular Software (développeurs NServiceBus) dans son rapport Décomposer avec succès votre monolithe montrera non seulement comment scier un monolithe, mais aussi comment utiliser les principes DDD et SOA pour simuler une coupe verticale simple. Le sujet du DDD sera poursuivi par Konstantin Gustov dans son rapport «DDD dans les microservices: complexité contre complexité» .



Les meilleures pratiques sont un moyen de formuler des expériences pratiques réussies. S'il existe un moyen optimal d'atteindre l'objectif, alors peut-être qu'il peut être appliqué à d'autres endroits. Le terme «meilleure pratique» a été inventé en 1914 par Frederick Winslow Taylor , un ingénieur américain, fondateur de l'organisation scientifique du travail et de la direction. «Parmi toute la variété de méthodes et d'outils utilisés à chaque instant de chaque processus, il y a toujours une méthode et un outil qui fonctionnent plus rapidement et mieux que les autres . » Plus de cent ans se sont écoulés depuis lors, l'humanité a fait encore une autre grande découverte - les conférences de programmation, la meilleure façon de découvrir les meilleures pratiques!


Parmi les rapports de ce type, il existe traditionnellement de nombreux rapports d'introduction simples et des rapports appliqués. La chose la plus importante en eux est de transmettre clairement une idée purement pratique afin que vous puissiez venir travailler dans quelques jours et commencer à l'appliquer. Dans la nature sauvage de l'astronautique architecturale, ils ne vont généralement pas en profondeur, pour cela il y a un ensemble différent de sujets.


Qui aimeriez-vous voir comme conférencier dans cette catégorie? Commençons par Alex Thissen. Il programme depuis la fin des années 90, a travaillé comme développeur de premier plan dans diverses entreprises (des petites startups aux grandes entreprises) et enseigne maintenant aux développeurs d'applications à utiliser les technologies Microsoft, aux architectes pour concevoir et construire des applications distribuées modernes et développe des jeux pendant leur temps libre. Son rapport «Je ne me sens pas si bien ... Intégrer les contrôles de santé dans vos solutions .NET Core», comme prévu, tombe dans la catégorie des smoothies et parle d'une chose très spécifique: les points de terminaison de santé dans ASP.NET Core 2.2. Comment les intégrer, ce qu'ils sont en général, ce qui arrive aux dépendances externes comme les bases de données et les points de terminaison HTTP. Et enfin, comment tout utiliser sur un cluster de logiciels conteneurisés.


Mais Dmitry Ivanov de JetBrains a un rapport plus lourd. «Programmation asynchrone dans .NET: Meilleures pratiques» est une histoire sur un point sensible. Les impasses et les vols avec l'avènement de l'async / attente n'ont disparu nulle part - ils ont creusé plus profondément et sont devenus plus difficiles à diagnostiquer. Les modèles corrects et incorrects pour écrire du code asynchrone ne seront révélés par personne, mais par l'expert technique JetBrains Rider et le développeur du noyau ReSharper (structures de données, caches, multithreading).


Mentionnant brièvement les autres intervenants, l'architecte d'Info Support Edwin van Wijk avec «Comment maîtriser votre système de microservices à l'aide d'un maillage de service» - une histoire sur la façon d'implémenter un maillage pour vos microservices et de construire des choses de base comme le routage , disjoncteurs et ainsi de suite. Roberto Freato nous expliquera comment simplifier la vie en se cachant derrière la passerelle API, mais pas écrire les vélos dans le rapport «Passerelle API simplifiée avec Ocelot et les conteneurs» , et Matthias Koch , le développeur du système d'assemblage NUKE moderne, en parlera .



Le 17 mai, juste après le programme principal de la conférence, une formation Konrad Kokosa aura lieu. Cela durera de 10 à 18 heures.


Il s'agit d'une formation dont presque tous les développeurs .NET peuvent bénéficier. Il commence par des concepts de base sur le runtime .NET, puis passe par un tas d'aspects de la gestion de la mémoire. Un développeur expérimenté et un débutant pourront obtenir beaucoup de la formation. Même un développeur très avancé a quelque chose à y apprendre!


Conrad est l'auteur de Pro .NET Memory Management. Depuis plus d'une douzaine d'années, il continue de travailler sur les problèmes de performances et d'architecture dans le monde .NET, notamment l'accélération des applications Web. Performance et diagnostic des applications .NET - c'est la spécialisation de ses formations. Conrad a reçu MVP dans la catégorie Visual Studio et outils de développement et est co-fondateur de https://dotnetos.org .


L'objectif est qu'à la suite de la formation, les participants aient une idée beaucoup plus approfondie de la gestion automatique de la mémoire dans le runtime .NET (à la fois dans le Framework et dans le Core). Cela vous permettra d'écrire du code qui prend en compte le travail avec la mémoire et de diagnostiquer divers problèmes connexes. De plus, ici, nous apprendrons non seulement l'application directe des choses, mais aussi comment et pourquoi elles ont été mises en œuvre de cette manière, et non d'une autre manière. Par exemple, abordons les détails de l'implémentation du garbage collector. Cela permettra de résoudre facilement un large éventail d'autres problèmes qui dépassent le cadre des sujets de formation.


Prochaines étapes


Je vous rappelle que la conférence DotNext 2019 Piter se tiendra du 15 au 16 mai à Saint-Pétersbourg. Vous pouvez vous familiariser avec le programme sur le site officiel .


Vous pouvez y acheter des billets .


Notez qu'il existe différents types de billets - par exemple, des réductions sont accordées aux étudiants, aux étudiants diplômés et aux enseignants. Il existe des billets en ligne spéciaux pour ceux qui, pour une raison quelconque, ne pourront pas arriver en direct (de toute évidence, ces participants à une émission en ligne payante recevront également toutes les vidéos de la conférence).


Il est important qu'à partir du 1er mai, le prix des billets augmente. Depuis Early Bird en décembre 2018, ils ont grandi petit à petit. Il reste moins d'un mois avant la conférence et le 1er mai, les prix seront définitifs. Si vous avez fermement décidé d'y aller, cela n'a aucun sens de tirer, vous devez le prendre maintenant.


Bonnes vacances de mai à venir et rendez-vous au DotNext 2019 Piter!

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


All Articles