Bonjour, Habr! Nous avons publié des séquences vidéo des rapports de la conférence DotNext 2018 Piter. Le résultat est une
playlist de 26 vidéos! Dans notre sélection sous la coupe sera dix, mais seulement les meilleurs, qui ont reçu les meilleures notes du public. Si vous avez la force de regarder tous les rapports de la playlist - nous ne sommes que satisfaits.
Traditionnellement, plus le rapport sur la liste est bas, plus sa note est élevée. Mais il est très important de comprendre: tous les rapports ont approximativement les mêmes notes, environ 4,36-4,49 points, et l'emplacement peut facilement changer, cela vaut la peine de changer un peu la méthode de calcul. Par exemple, le deuxième rapport avec une note de 4,48 a plusieurs fois plus d'avis que le meilleur rapport avec une note de 4,49. En général, vous devez tout regarder.
Sous la coupe, toutes les vidéos sont réparties avec une table des matières en fonction du contenu du message, des présentations et des courtes descriptions.

Connectivité de microservice sur HTTP / 2
Conférencier: Evgeny Zhirov
Emplacement: 10
Évaluation: 4,36 ± 0,06
Présentation du rapportLe rapport d'Evgeny Zhirov ouvre notre meilleure histoire de détective sur la productivité. Vous trouverez une courte et compréhensible excursion dans la création et le développement de HTTP et HTTP / 2, révélant les failles fatales de HTTP et la solution héroïque aux problèmes associés à la tentative de basculer vers HTTP / 2 dans le nouveau service.
Eugene raconte une histoire fascinante de Fail sur les fuites de mémoire non gérées, les constantes magiques, la surprise «101 request», la réparation de CoreFX et d'autres problèmes intéressants. Tout développeur de microservices pour .NET et ses collègues travaillant avec les services HTTP de test de charge peuvent rencontrer n'importe lequel de ces problèmes.
Bien sûr, en plus des fichiers, Eugene a également trouvé de sérieux avantages dans HTTP / 2: accélérer le chargement des pages et optimiser l'interaction des microservices dans un système distribué.
Arbres d'expression de développement d'entreprise
Conférencier: Maxim Arshinov
Emplacement: 9
Évaluation: 4,37 ± 0,05
Présentation du rapportL'histoire d'un refactoring. Souvent, nous ne comprenons pas comment la technologie fonctionne «sous le capot». La plupart des développeurs utilisent des arborescences d'expression uniquement pour les expressions lambda dans LINQ. Mais travailler sur un projet avec un grand environnement d'information a forcé Maxim à pénétrer le code et à comprendre comment les arborescences d'expression aident à vivre heureux et à optimiser les processus.
Dans le rapport, Maxim présente des techniques avancées pour travailler avec des arborescences d'expression: élimine la duplication de code dans LINQ, traite de la métaprogrammation, de la génération et de la transpilation de code et automatise les tests à l'aide de l'arborescence d'expression. L'histoire montre clairement que les arbres d'expression peuvent et doivent être utilisés, et les pièges rencontrés peuvent bien être contournés.
Et oui, si vous n'aimez pas écrire beaucoup de code, l'arborescence d'expression est votre choix.
Extensions réactives (Rx) 101
Conférencier: Tamir Dresher
Emplacement: 8
Évaluation: 4,38 ± 0,12
Présentation du rapportLes applications réactives sont conçues pour gérer les événements asynchrones. Ils améliorent la réactivité, la tolérance aux pannes et la résilience du code. Reactive Extensions (Rx) est une bibliothèque qui résume les sources d'événements et fournit des outils pour les gérer via Reactive.
Dans le rapport, Tamir présente des exemples de code simples qui vous aideront à entrer dans le champ Rx, à comprendre les principales fonctionnalités et approches. Après avoir écouté le rapport, vous pouvez utiliser les extensions réactives suffisamment efficacement pour expérimenter et commencer le travail préparatoire en production.
Avec Rx, filtrer les événements, compiler les sources d'événements et les transformer devient plus facile que d'utiliser des paradigmes et des outils conventionnels. Mais cela nécessite un changement de mentalité: vous devez considérer votre application comme un hub de messages, et l'application doit comprendre comment réagir à ces messages. Tamir explique et montre tout. Regardez et expérimentez!
Fonctionnement des conteneurs
Conférencière: Sasha Goldshtein
Emplacement: 7
Évaluation: 4,39 ± 0,06
Présentation du rapportParmi les tendances de battage médiatique modernes, les conteneurs sont à égalité avec l'apprentissage automatique et la blockchain. Mais peu de gens les comprennent assez bien pour parler facilement et clairement de ce qu'il faut faire avec les conteneurs.
Et dans ce rapport, les conteneurs sont présentés tels qu'ils sont réellement: des processus ordinaires avec un certain isolement, un quota de ressources bricolant avec un sandbox de sécurité.
C'est une chose intéressante et utile que vous devez comprendre si vous voulez continuer à travailler et être pertinent dans votre domaine au cours des prochaines années. Les conteneurs sont votre ami et camarade, et Sasha deviendra votre guide pour ce monde.
Il explique comment les espaces de noms isolent les conteneurs les uns des autres, comment partager les ressources entre eux, ce qu'est la limitation et comment tout ce qui précède peut être connecté avec le runtime .NET. Dans le rapport, Sasha partagera un secret sur la façon d'écrire une petite application sur .NET Core, qui ne transportera pas un demi-gigaoctet de bibliothèques d'espace utilisateur et d'autres utilitaires d'Ubuntu.
Xamarin est non seulement nocif, mais également bénéfique
Conférencier: Dmitry Moiseev
Emplacement: 6
Évaluation: 4,40 ± 0,14
Présentation du rapportIl y a deux ans, Xamarin était un produit problématique: un IDE cassé, une vitesse lente, des problèmes de code multiplateforme et une liaison aux fonctionnalités natives de la plate-forme. Les programmeurs se souviennent en particulier de Xamarin.Forms (et se souviennent même maintenant s'ils écrivent toujours sous Windows Phone).
Qu'est-ce qui a changé en deux ans? Le rapport de Dmitry, qui occupait la sixième place dans notre notation, y est consacré. Dmitry sur l'exemple de l'application mobile Kontur. Elba explique comment utiliser Xamarin maintenant, afin que, d'une part, ce ne soit pas atrocement douloureux, et d'autre part, que les versions sur Android et iOS puissent être publiées simultanément, quelle que soit la complexité de l'application.
Le rapport est simple, ne nécessite pas de connaissance approfondie des langues et convient aux débutants qui commencent tout juste à développer pour les plates-formes mobiles (Xamarin peut prendre leur vie au sérieux), et aux spécialistes formés qui souhaitent utiliser un code commun et se déployer rapidement.
Dmitry observe à juste titre que sous deux plates-formes, tout doit être fait séparément - interfaces, implémentation de fonctionnalités, correction de bugs, tests. Et Xamarin est un excellent gain de temps. Peut-être que quelqu'un a déjà besoin de réécrire l'application pour Xamarin, mais il ne le saura pas sans avoir écouté le rapport. Ne le manquez pas!
Métal rayé
Conférencier: Federico Lois
Emplacement: 5
Évaluation: 4,41 ± 0,10
Présentation du rapport"Si quelqu'un vous dit que vous NE POUVEZ PAS écrire de code rapide en C #, vous connaissez la réponse." Rapport très solide, très élégant et plutôt hardcore pour les ingénieurs sur les microoptimisations dans les applications hautes performances, qui a pris la cinquième place.
Federico montrera comment travailler avec les éléments intrinsèques matériels ajoutés dans CoreCLR 2.1, et que faire si vous devez atteindre 50 000 requêtes par seconde pour l'enregistrement sur un serveur membre - les micro-optimisations dans le moteur de stockage RavenDB vNext deviendront une bouée de sauvetage.
Le rapport se concentre sur des exemples concrets des goulots d'étranglement les plus difficiles dans des situations critiques et sur la façon de faire fonctionner le code rapidement et de ne pas ralentir sa fiabilité.
Vous osez plonger dans la jungle hardcore de l'architecture des processeurs et découvrir leur effet sur les caches? Prêt à écouter le poizing et le prefetch et ça ne vous fait pas peur? Ouvrez plutôt un rapport, versez quelque chose de chaud et découvrez que personne ne vous l'a encore dit.
Création de microservices avec .NET Core et Docker
Conférencier: Edwin van Wijk
Emplacement: 4
Évaluation: 4,45 ± 0,08
Présentation du rapportUne brève introduction avec une base théorique d'Edwin van Wijk sur les microservices et retransmettre le code et les fous de la programmation, car le rapport contient 20% des slides et 80% du code!
En fait, tout n'est pas si effrayant. Edwin parle d'une nouvelle façon de créer des applications .NET qui fonctionnent bien avec les nuages et les conteneurs - .NET Core. La plupart des discussions portent sur l'utilisation de .NET Core pour créer des applications basées sur des services conteneurisés.
Edwin - Microsoft MVP dans la catégorie Visual Studio and Development Technologies et sur les microservices et les subtilités de leur utilisation, presque personne ne peut le dire de manière plus complète et objective: avec des exemples, une interaction avec différents conteneurs et un tas de littérature à la fin du rapport. Tous les développeurs .NET - doivent voir.
Keynote: Advanced Space Technology
Conférencier: Vitaly Egorov
Emplacement: 3
Évaluation: 4,45 ± 0,07
Les trois gagnants ouvrent avec un rapport très inhabituel. On pourrait supposer qu'à la troisième place se trouve une sorte de hardcore effrayant, dont le sang est froid.
Mais en fait, ce n'est pas du tout .NET, mais de l'espace! Le rapport n'est lu par personne, mais par
Zelenyikot, connu
dans le monde
entier . Au moment de la publication de cet article, son karma est de 1379,2, le nombre d'abonnés est de 1750.
Le discours de clôture, c'est-à-dire le dernier rapport de la conférence, est une chose très spécifique. D'une part, certains des participants commencent déjà à s'endormir à cause d'une surcharge d'informations. D'un autre côté, pour tous les autres, ce rapport restera dans les mémoires mieux que les autres, restera dans le cerveau et ne sera pas oublié avant la prochaine conférence. Dans le discours de clôture, il est utile de résumer certains résultats idéologiques de la conférence et de tracer la voie pour l'avenir.
Alors, rencontrez le discours de clôture de Vitaly Yegorov sur les technologies en astronautique qui se développent en ce moment, comment elles aident à maîtriser l'espace et quel avenir romantique (et peut-être pas si) nous attend tous dans la prochaine décennie.
Vitaliy explique quels moteurs existent, pourquoi Musk a choisi la technologie à base de méthane, et ce dont personne d'autre que Elon Musk ne parle.
Dans le rapport, Vitaly a abordé le sujet des ultra-petits satellites, qui dansent autour de la Terre et en prennent des photos, malgré le fait qu'il existe de nombreuses façons de commercialiser des photographies d'une part, et d'autre part, personne ne les utilise encore.
Vitaliy parle du coût d'un litre d'eau sur l'ISS, de la production de satellites et de la possibilité de se connecter à l'Internet «spatial» aussi facilement qu'à un point WiFi. Et les satellites peuvent desservir d'autres satellites. Pouvez-vous imaginer ce qui commencera lorsque des dizaines de milliers de ces véhicules seront lancés en orbite?
Le rapport est un incontournable pour quiconque est au moins un peu intéressé par l'espace ou veut avoir une idée de base de ce qui se passe dans cette industrie. Et il se passe beaucoup de choses!
Exceptions spéciales dans .NET
Conférencier: Evgeny Peshkov
Place: 2
Évaluation: 4,48 ± 0,07
Présentation du rapportSi nous prenons en compte le nombre de téléspectateurs, le rapport d'Eugène deviendra le leader de notre sélection - 150 avis de plus ont été collectés pour ce rapport que le gagnant. Cela signifie déjà automatiquement que tout le monde doit voir le rapport sans exception.
Soit dit en passant, le rapport est consacré aux exceptions. Lors du développement d'applications .NET, vous pouvez rencontrer des exceptions spéciales étranges qui diffèrent considérablement de celles que connaissent les développeurs .NET.
De plus, dans chaque version du framework, dans chaque système d'exploitation, ces erreurs peuvent être différentes! Eugene dans le rapport considère les fonctionnalités de chaque type d'exceptions, par exemple, StackOverflowException, ThreadAbortException, AccessViolationException, OutOfMemoryException, qui se produisent lorsque des erreurs se produisent au niveau du système d'exploitation ou de l'exécution.
De telles erreurs peuvent entraîner la chute de l'ensemble du processus. Que faire à ce sujet? Comprenez, plongez dans les tripes de la plate-forme .NET, comprenez la différence entre les versions et les implémentations de la plate-forme, et modifiez également le comportement standard de l'exécution à un niveau bas. Bien sûr, les exceptions ne sont pas aussi simples qu'elles le paraissent, et toutes ne sont pas traitées de la même manière. Chacun a besoin d'une approche spéciale et à différents niveaux d'abstraction.
Cela peut sembler effrayant, mais en réalité, tout est assez simple - il est possible et nécessaire d'intervenir dans le processus de gestion des exceptions. Le niveau d '«entrée» dans le rapport est faible, tout développeur peut l'écouter et trouver quelque chose d'utile pour lui-même.
Pièges de la cryptographie de haut niveau
Conférencier: Stan Drapkin
Emplacement: 1
Évaluation: 4,49 ± 0,11
Présentation du rapport«High Level Cryptography Traps» par Stan Drapkin est le joyau de DotNext 2018 et le meilleur discours de conférence. Il s'agit d'une suite logique des rapports sur la cryptographie des conférences DotNext précédentes, qui parlaient de problèmes de cryptographie de bas niveau.
Maintenant, Stan a préparé le rapport le plus simple et le plus important selon lequel la cryptographie présente un niveau élevé d'embûches, de difficultés et de problèmes autant qu'un niveau bas.
À partir du rapport, vous découvrirez à quoi devrait ressembler la bibliothèque cryptographique de haut niveau correcte, comment utiliser l'API de haut niveau et ne pas tomber dans des pièges qui ne sont pas aussi simples qu'ils le semblent à première vue.
Une partie avancée de la discussion porte sur la cryptographie .NET à clé publique et la bonne approche pour l'utilisation de diverses méthodes de cryptographie: où et ce qui est le mieux utilisé.
Et s'il vous semble que cela peut être ennuyeux - Stan prouve que même des sujets de sécurité complexes peuvent être révélés vivants, simples et facilement accessibles à tous. Il est recommandé de consulter le rapport même pour ceux qui sont loin de la cryptographie, mais qui veulent en savoir un peu plus sur la sécurité.
Si vous êtes intéressé par ces rapports, veuillez noter: DotNext 2018 Moscou se tiendra cet automne, du 22 au 23 novembre. Cette fois, Jeffrey Richter et Greg Young prennent la parole à la conférence. Les informations les plus à jour sur le programme peuvent toujours être consultées sur le site Web, vous pouvez également y acheter des billets - et leur prix augmente progressivement, alors vous devriez penser maintenant.