On the right are the books of Pavel Yosifovich . He is known as the author of “Windows Internals”, “WPF Cookbook”, “Mastering Windows C ++ App Development” and five courses at Pluralsight. If you are also interested in C ++, Pavel recently posted a video on YouTube about the C ++ memory model. In addition, he is a well-known developer, trainer and speaker, but we hardly saw him in this role - he almost never happens in Russia. And so, Paul - on our DotNext. This is a great success and victory, that everything turned out and he will really come. In his new report, “Windows 10 internals for .NET developers” , he will tell about interesting internal features of Windows 10, how these features affect .NET-developers and how they can be put to use.
On the left is Jeffrey Richter's book. We have already done a detailed interview with him for Habr, if you really want to know what the person who sets the direction for Azure development thinks about, you go there. Jeffrey is the serial creator of classic books. Having gained popularity in the early 90s thanks to the book about programming Windows 3.1, he did not stop. The next big book, Programming Applications for Microsoft Windows, became a classic, later published as “Windows via C / C ++” and has been published in several editions. The same happened with "CLR via C #". People are still asking when the next reissue of “CLR via C #” will be (if you are also interested in it, come to the conference and ask yourself!). He is now a Partner Software Architect at Microsoft, working in the direction of Distributed Cloud Apps & Storage and dragging the entire platform along to the bright future. We strongly advise to go to his “Building responsive and scalable applications” , a report on the effective use of cloudy iron from a person who knows all about it.
As for Greg Young , he doesn't have any particularly high-profile books. He is “only” the inventor of the term CQRS, one of the most famous and iconic figures in this direction. As you probably already guess, in CQRS everything is absolutely not as simple and clear as it seems at first glance, and Greg is the same person with whom you can discuss all this. If you want to see what Greg says, he is instantly searched on YouTube , he once wrote on CodeBetter , and if you look at Amazon on CQRS, then he was entrusted to write an introduction to the book “Exploring CQRS and Event Sourcing” Splunk.
Well, let's go with the trump cards, have you ever wanted to write your .NET runtime? Did it work out? Chris Bacon turned out to make a pilot project DotNetAnywhere , really compatible runtime with support for things like multithreading, PInvoke, garbage collection, and so on. It was his project that was used to build the Blazor framework, which allows you to run .NET directly in a browser using WebAssembly technology. (By the way, Nikita Tsukanov made a report about Blazor, there is video on YouTube ). In general, on this DotNext there will be “So you want to create your own .NET runtime?” - a rather geeky and unusual report about writing runtime.
Span<T>
and Memory<T>
APIs have appeared, and now you can have access to unmanaged memory without doing meaningless copying into managed objects. In the course of the report, Rafael is going to bury himself in these APIs, show details on practically interesting examples like IoT, and that a mere mortal can do all this in his daily activities. Recently, ValueTask, task-like types and IValueTaskSource appeared in recent versions of the language. Many do not even know that these types exist, and most of those who know about their existence, do not understand why they are. Egor Grishechko in the report “ValueTask: what, why and why” will tell you what these new funds are, what they are for and when their use is justified, and when not.
We have already seen a report about our own .NET runtime. What about your own GC? Will we need to patch a horrible file the size of two megabytes of generic C ++ code? Fortunately, no. In .NET Core 2.1, a new feature has been added called Local GC, which allows you to completely replace the standard garbage collector with something handwritten or, on the contrary, use the standard collector outside the usual .NET environment. In the "Make your custom .NET GC -" whys "and" hows "report, Konrad Kokosa will introduce us to how this is all done. It will be interesting and useful mainly for those who want to get deeper into the memory management and behavior of GC. The main point of the report is not so much the fact that you came home from the conference and immediately transferred the product to a self-written something. Rather, it’s a cool inspirational report that broadens the boundaries of the possible. You do not have to do this, but now you have the opportunity to experiment. GC seems less and less an incomprehensible thing in itself and more and more falls into the hand as a convenient and obedient tool.
If the example of the best-selling game did not convince you, then definitely convince the Alexandre Mutel. This is the second speaker, with whom we will have a detailed interview for Habr. He works for Unity Technologies, a company that creates one of the most popular game engines, Unity . (By the way, they recently opened the C # part code for reading). Alexandre knows for sure that there is such a critical code that ordinary C # still can't handle. Therefore, they invented a special “burst” compiler: it turns a limited subset of C # into optimized native code using LLVM, which allows you to achieve performance comparable to C ++, and sometimes even faster. How to generate code better than RyuJIT? Which subset of C # makes sense to write superfast code? These and other questions will be addressed in the report “Behind the burst compiler, converting the .NET IL to highly optimized native code by using LLVM” - you definitely won't want to miss it!
I would like to finish the description of this category with something that you can instantly gain immediate benefit from. Apparently, System Metrics: Collect Pitfalls is great for this role. Evgeny Peshkov from Kontur company will tell you how to overcome metrics: how do they differ from each other, what to do with performance problems in
Process
and PerformanceCounter
, how Performance Counters are arranged inside and what follows from this and so on.
Eugene's previous report, “Special Exceptions in .NET”, took second place at the DotNext Piter 2018 conference. It discusses the features of each type of exception, for example, StackOverflowException
, ThreadAbortException
, AccessViolationException
and OutOfMemoryException
, which occur with errors at the operating system level or runtime.
One more thing echoes this report - “Pragmatic unit testing” Vladimir Horikov, a specialist of a different type, an expert in rescuing huge enterprise legacy projects. Yes, we do not like to talk about it, but sometimes the silliest things lead to the collapse of even the most durable projects built for eternity . One of the technical factors behind the long-term success of technology companies is the correct unit tests. We all know a lot of practices, but in the long run, not all practices are equally useful. This report is not for beginners - it is for those who can write tests and want to bring their understanding to a new level. By the way, Vladimir has an excellent blog in which he analyzes the most interesting architectural tasks. Pulp Fiction is highly recommended as a beginner junior for enlightenment, and hardened seniors for systematization.
In the section on good practices, I would like to mention another report - “How to survive under load: a fault-tolerant server, a smart client” by Igor Lukanin. Igor is a person who, as a representative of the Contour company, visited almost all of our recent conferences. Phillennium and I interviewed him repeatedly and quickly noticed that he was able to give a deep and accurate answer to a huge number of practical questions. It was possible not to prepare for the interview with Igor on purpose — we asked him any questions, and he answered almost everything. In addition to the main question: when will you come to our conference as a speaker? And so it happened. In the description of the report it is said simply: “You will learn from the report how to create such microservices and carry out load testing to make sure that they withstand the load.” There is no doubt that this will be the case, and it is worth a lot. After all, Contour's infrastructure is probably the largest .NET production in Russia. In any case, you can always ask additional questions to Igor in the discussion area.
Vagif Abilov ( VagifAbilov ) will arrive with a report "Life of actors in a cluster: why, when and how . " Vagif is a well-known speaker and member of the DotNext program committee. By the way, particularly high demands are made on the PC participant report - this should be an example of how to tell good architectural reports. This time there will be a powerful report on the actor model, Akka and the limits of their applicability. We will discuss the scaling and basic patterns of cluster solutions. It is clear that you can tell more, but it is difficult to do without spoilers. Just come to the report and find out all this by yourself. All decisions are not some kind of astronaut flight of thought, but are tested by the experience of the Norwegian Broadcasting Corporation (NRK).
People learn architecture from old books that were written for Java. The books are good, but they give a solution to the tasks of that time with the tools of that time. Time has changed, C # already looks more like a light Scala than Java, and there are few good new books.
In the report “Instant Engineering”, Maxim Arshinov will talk about the criteria for good code and bad code, how and with what to measure it. Will make an overview of typical tasks and approaches, analyze the pros and cons. In the end, it will give recommendations and best practices for web application design. Maxim - you guessed it, well-known habroavtor @marshinov . He is a co-founder of Kazan outsourcing company “Hightech Group” and besides doing business he teaches at the Graduate School of Information Technologies. That is, it is a report from a person who has been in the problem "from both sides of the barricade": from the side of learning new technologies, and from the use in real business.
And finally, the last report in this review. Alexey Merson with the report "Domain-driven design: a recipe for pragmatics" will reveal to us the essence of DDD. More precisely, who does not know - find out. Who knows - learns better. Rich personal experience allows Alexei to tell complex things in a simple and understandable language.
We remind you that DotNext 2018 Moscow will take place very soon - on November 22-23 at the Radisson Royal Moscow Congress Park. Tickets can still be purchased on the official conference website .
And our friends DevZen Podcast recently released a release from the PC DotNext, you can listen at your leisure.
Source: https://habr.com/ru/post/428624/
All Articles