Hello, Habr! In May, our big .NET conference was held, where there was a place for hardcore, and trends, and architecture, and just good practices.
And now we share the best reports (according to the audience of the conference), of which you:
- find out why (most likely) you are writing functional code without even knowing it;
- Immerse yourself in asynchronous programming;
- hear in an accessible form about the deserialization vulnerabilities;
- Get comprehensive information about the dramatic changes that C # 8 brought with non-nullable reference types;
- want to buy a Raspberry Pi;
- learn about the "real" cost of the code.
There is a nuance: this time a special situation arose with the leader report. Firstly, it is not dedicated to .NET, and secondly, we can’t share its video recording (according to the conditions of the performance). To compensate for this, we added 11th place to the post - so under the cut you can still see videos of 10 excellent reports about .NET development. Go!
All reports are in increasing rating, but the differences between the ratings are extremely minimal - even in tenth place the report received more than 4.1 points, which does not happen every conference. In addition, the order partly depends on which formula to calculate (whether to consider the number of reviews). In general, the main thing is that there are no bad performances here - you can safely watch everything.
Debugging asynchronous scenarios in .NET
Speaker: Kevin Gosse, Christophe Nasarre
“Even if there weren’t a single report besides this, the konf would have already passed in vain,” write the listeners of this pair of speeches about debugging asynchronous code.
Two fanatics (in a good sense) of technology, using practical examples, talk about how anything can go wrong in async / await, even if you think that you know everything about it - and together they analyze the main templates that may not work correctly.
I don't feel so well ... Integrating health checks in your .NET Core solutions
Speaker: Alex Thissen
Location: 10Report presentation
Smoothies report on health endpoints in ASP.NET Core 2.2: how to embed them, what they are, what happens with external dependencies like databases and HTTP endpoints, and how to use all this on a cluster of containerized software.
Tisen's report is notable for its proximity to production, and its sample solutions go “deeper” than MSDN examples and can be easily applied to real-life projects.
Deserialization vulns: past, present, and future
Speaker: Mikhail Shcherbakov
Security experts are always piece goods. And such that deep and relevant, and the hall did not fall asleep - and so at all in the afternoon with fire. Michael puts the topic of vulnerabilities in deserializers on the shelves and shares best practices on how to write deserialization safely.
From the report you will learn about the most important types of attacks on the deserialization process, vulnerable .NET serializers, what tools can be used to search for vulnerabilities and what payloads are known for .NET applications.
The work of the tools, by the way, is illustrated by examples of vulnerabilities that Mikhail found in Microsoft products during his participation in bug bounty.
Async programming in .NET: best practices
Speaker: Dmitry Ivanov
Dmitry's report on the painful: the advent of async / await in C # led to a review of how programmers began to write simple and correct parallel code - asynchronous programming not only did not fix many problems with threads, but also brought many. And the deadlocks and flights did not disappear after the appearance of async, but it became much more difficult to determine them.
Dmitry talks about the right and wrong patterns for writing asynchronous code and the intricacies of working with async / await, which you might not know about.
.NET multithreading: when performance is in short supply
Speaker: Evgeny Peshkov
Location: 7Report presentation
For the first time, Eugene spoke at DotNext in 2017 and immediately got to the first lines of the ratings: even if there is debate about the usefulness of studying the guts, but for the Contour infrastructure team, where Eugene works, hardcore is life and life is hardcore.
In the report, he talks about the features of working with multithreading in .NET, gracefully combining the theory with practical cases that Zhenya's team solved. You will hear about bugs and problems using multithreading, and see examples of when the standard .NET library tools lead to performance drops (and ways to solve this).
How to get a grip on your microservices system using a service mesh
Speaker: Edwin van Wijk
Location: 6Report presentation
A serious report from the leader of the DotNext ratings on how to properly build the infrastructure for microservices. In his story - the implementation of the mesh for microservices, routing, circuit-breakers and other important aspects.
Edwin will introduce how to implement intelligent routing, fault tolerance, conduct A / B testing and monitoring of the microservice infrastructure, as well as secure it. To do this, he uses Istio, an open source solution that you will also be introduced to through a talk.
Keynote: The cost of code
Speaker: Dylan Beattie
Closing the program was a keynote from Dylan Beatty, who, like a magician, pulled out pieces of a mosaic from a hat in the form of memes, code, news, facts. And then, when you least expect it - op! Magic! The puzzle is added to the Big Philosophical Thought.
In this talk, Dylan Beatty takes a fresh look at the cost of code that programmers send daily to production. What is the real value of the code base for organizations, society, the environment? How can we help our teams and users understand these costs? And what can we do to reduce them? A good “unloading” story that will help break between hardcore presentations.
Raspberry PI and .NET Core on Linux: the fast track to IoT
Speaker: Raffaele Rialdi
Location: 4Report presentation
Usually, after such reports, Malinki sales begin to grow. Rialdi is very accessible, with live examples tells how the new .NET Core features for Linux and ARM help to quickly and easily create an IoT application.
The report focuses on issues related to real-time data processing, architecture design and process processing, and as a real example, viewers will see the implementation of the built-in H264 codec for streaming video from an ASP.NET Core application to browsers.
What's New in C # 8
Speaker: Dmitry Nesteruk
A comprehensive story about all the cardinal and interesting features of the new, and quite epochal C # release. One of the main features of C # 8 is the emergence of non-nullable reference types, which significantly change the C # paradigm. Dmitry’s story, including how they can be used and why they should be used in their developments.
Many will be able to use the report as an “entrance ticket” to the new release, since each change is explained by live examples and a description of all kinds of rakes.
Why is your architecture functional and how to live with it
Speaker: Roman Nevolin
An easy and complete report by Roman with traditional jokes and trolling by the speaker on the heyday of the functional paradigm in C # and the benefits (and again the rake) that every "accomplice" should know about.
In addition, Roman tells why, even if “OOP only and forever” is written on your T-shirt, you probably write a functional code every day, although you don’t even know about it - and how this understanding will help you improve the code.
Correctly written animals
Speaker: Sergey Abdulmanov
And the report highly appreciated by the audience was milfgard
's story about the biological principles of cybernetics - how birds act according to the simplest scripts, snakes “assembled” a set of high-precision sensors, and “hacked” hunting dogs.
And although this report will remain exclusive for those who attended the conference personally, you can partially find out its contents: Sergey previously published two posts on Habré, which largely overlap with his speech. This is an analysis of the
technological structure of the snake and a story
about the life of saigas. Enjoy reading!
If the reports from the post are interesting to you, you should pay attention to two more things. Firstly, we posted a full playlist
on YouTube: you will not find Abdulmanov’s report in it, but there are as many as 27 others.
And secondly, the next DotNext
has already been announced: it will be held in Moscow on November 6-7
. Now on his website descriptions of eight reports are
. As you can see from this post, sometimes some videos do not get on the Internet, remaining exclusive. So, if you see something interesting in the program, the most reliable method is to visit it personally!