📜 ⬆️ ⬇️

Control, change, delete: top 10 reports DotNext 2018 Moscow



Hi, Habr! Today, for .NET developers, we have a traditional post in the footsteps of DotNext 2018 Moscow: we share the ten best reports of the conference (according to its visitors). Under the cut - their videos, as well as short descriptions and links to presentations.

Reports are in ascending rating, and the most liked by the audience closer to the end. But the variation of the rating within dozens of small, so that meticulous to compare the place is not necessary - it is better to look at all on topics of interest! And the topics here are different - the architecture and performance are affected, and “how it all actually works inside.”



So you want to create your own .NET runtime?


Speaker: Chris Bacon
Location: 10



The first material from our selection is well suited for "warm-up."

This is the “hardcore for fun” report about runtime writing, in which Chris Bacon from Google speaks in simple words about complex things, for example, about optimizations inside .NET Core. The story will be interesting at least by parsing the CLR internals, debugging tricks and secrets of how to work with different compilers. As Chris himself says: “It can be a pretty useless exercise and knowledge, but it helps a lot to lift the veil of magic from what you use every day.”



Windows 10 internals for .NET developers


Speaker: Pavel Yosifovich
Location: 9
Presentation of the report



Pavel Yosifovich, co-author of the book Windows Internals, dives headlong into the Windows internal device and in a simple and accessible way tells how .NET developers can use the components of the system for their own benefit.

He lists the Windows APIs on the shelves, explaining how the system has changed against the background of universal web, clouds and virtualization, how changes are related to modern programming and how to maximize productivity by spending a little time under the hood of Windows.



From monolith to microservices: history and practice


Speaker: Konstantin Gustov
Location: 8
Presentation of the report



Listening about someone else's pain is always interesting. Konstantin tells the story of one long refactoring, which will be useful to anyone who has either encountered or will soon face the transition to microservice architecture.

Very informative report explaining the motivation and the reasons for each decision. Everything is laid out on the shelves, and students can easily use part of life hacking and in their projects, or give the story of Konstantin to the leadership as a successful example.

Listeners separately noted that the report has many features of the transfer of old legacy-systems to the new reality. And what to learn about the possible difficulties, pros and cons of the transition on the example of such a large project is also useful for complacency: are we doing everything right?



Boosting memory management in interoperability scenarios


Speaker: Raffaele Rialdi
Location: 7
Presentation of the report



In short: this is a low-level background report on how to properly manage memory in order to increase project performance. But everything is not so simple: historically, the possibilities of .NET for working with unmanaged memory were very limited and were accompanied by meaningless copying into managed objects, and their use was unsafe. But recently, new APIs and functions have appeared that significantly change business.

If you wanted to know what is happening with .NET, where it is going, what is new and what to do with it - this report is for you. Listeners note a lot of new tools that they haven’t previously talked about publicly, for example, about reasonable scenarios for using Span and Pipeline, and Raphael not only shows them, but also demonstrates in detail the approaches to how to correctly apply new tools in practice.



Building responsive and scalable applications


Speaker: Jeffrey Richter
Location: 6
Presentation of the report



The report about the effective use of cloudy iron in some viewers caused regret “I wanted something more poignant, I already know all this” - but I still got to the top. Such is the scale of the personality of Jeffrey Richter: he, like no one else, is able to optimize not only software, but also the brains of .NET developers, setting them up in the right way.

So, if you already know the voiced information, the report still makes sense to look: both for the sake of Richter, and in order to remind yourself once again about productivity and resource consumption. After all, even formally knowing about something, you can forget about it in pursuit of new technologies.



Yield and async-await: how it all works inside and how to use it


Speaker: Ivan Dashkevich
Location: 5
Presentation of the report



Ivan talks about how the ICFP IT competition made him very non-standard approach to using yield and disassemble the internal device async-await, and understand whether it can be used at all on the example of a specific task.

In addition to analyzing the contest, Ivan offers several ideas on how to transfer the solution from the competition to real projects, developed “cooperative multitasking on async / await” instead of a yield return, which allows you to create a high-level workflow and task controller from the queue on the basis of the asynchronous method.



Domain-driven design: a recipe for pragmatics


Speaker: Alexey Merson
Location: 4
Presentation of the report



An easy and accessible introduction to DDD for those who want to understand why it is needed, why everyone is talking about it, and how to approach it. At the same time, an important and ridiculous report that makes you delve into the topic or streamline the existing knowledge in your head. Who does not know - will know. Who knows - learns better.



Instant design


Speaker: Maxim Arshinov
Location: 3

Presentation of the report



60 minutes of concentrated analysis of how to design applications with lots of examples. Students note deep immersion, clear and simple presentation, very strong and detailed examples in each chapter of the story.

And besides this, the report of Max has high applicability: almost everything from the story can be immediately put into practice and get suitable results. Perfectly paired with the report “From monolith to microservices” and gives an idea of ​​what criteria define good and bad code, and how to measure them.



Optimization inside .NET Core


Speaker: Egor Bogatov
Location: 2
Presentation of the report



Ultra-useful and modern, according to the listeners, a report on the subtleties of optimization and the generation of SIMD from a high-level code. Although simple, but not at all trivial examples from the personal experience of Egor, who works directly with Mono. NET Core and sees everything from inside Microsoft. Without tediousness, water and rethinking of old ideas in a new way.

The report consists of many interesting micro-optimizations applied in .NET Core by both developers and the community. But Egor pays special attention to the new API for processor SIMD instructions, such as SSE and AVX. This API will make you feel smarter than JIT, and manually vectorize your code without resorting to low-level languages.

Do not be afraid of hardcore and assembler, Yegor is worth listening, watching and remembering!



Keynout: Ctrl-Alt-Del: learning to love legacy code


Speaker: Dylan Beattie
Location: 1
Presentation of the report



The world works on obsolete code. One may argue about the benefits of F # and serverless, but in reality you often have to deal with very different things. And what should we do with “code that is too scary to touch, and too profitable to simply delete”? Control (Ctrl), Modify (Alt) and Delete (Del). This performance ended the conference, so there is no “.NET-hardcore” in it - but at the same time, the audience liked it even more than hardcore ones.

DotNext regular viewers are well aware of Dylan Beattie and appreciate his ability to combine serious thinking with an exciting show. And here he also has a very suitable experience. At first, he worked for many years in one company, watching how the code changed over time and how newcomers came across it - and then moved to another company and turned out to be such a “newcomer” who needed to understand the code of someone else's code. How efficient is it to go into work with a code base, if “just reading it” doesn’t be enough life?

If you like these reports, you will also like them at the next DotNext (May 15-16, Petersburg): the format of the conference will be the same. And when you attend the conference in person, you can not only hear the reports, but also ask the speakers in the discussion area, take part in special discussions, communicate with other participants.

Now, several speakers are already known about DotNext 2019 Piter (for example, John Galloway from the .NET Foundation), and the full program will appear later - but over time, tickets are getting more expensive, so it’s more profitable to purchase them as soon as possible. All relevant information is published on the conference website .

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